[Object, MachO] Fixup for r239075: use union to store mach_header and mach_header_64.
llvm-svn: 239110
diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp
index dc7c56c..075d959 100644
--- a/llvm/lib/Object/MachOObjectFile.cpp
+++ b/llvm/lib/Object/MachOObjectFile.cpp
@@ -234,10 +234,7 @@
if (is64Bit())
parseHeader(this, Header64, EC);
else
- // First fields of MachO::mach_header_64 are the same as
- // in MachO::mach_header.
- parseHeader(this, *reinterpret_cast<MachO::mach_header *>(&this->Header64),
- EC);
+ parseHeader(this, Header, EC);
if (EC)
return;
@@ -1251,7 +1248,6 @@
Triple MachOObjectFile::getArch(const char **McpuDefault,
Triple *ThumbTriple) const {
- const auto &Header = getHeader();
*ThumbTriple = getThumbArch(Header.cputype, Header.cpusubtype, McpuDefault);
return getArch(Header.cputype, Header.cpusubtype, McpuDefault);
}
@@ -2186,9 +2182,7 @@
}
const MachO::mach_header &MachOObjectFile::getHeader() const {
- // First fields of MachO::mach_header_64 are the same as
- // in MachO::mach_header.
- return *reinterpret_cast<const MachO::mach_header *>(&this->Header64);
+ return Header;
}
const MachO::mach_header_64 &MachOObjectFile::getHeader64() const {