From fa5edc5a365d29200aff819bb94bd147e412ba29 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Thu, 4 Jun 2015 22:49:55 +0000 Subject: [Object, MachO] Fixup for r239075: use union to store mach_header and mach_header_64. llvm-svn: 239110 --- llvm/lib/Object/MachOObjectFile.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'llvm/lib/Object/MachOObjectFile.cpp') diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp index dc7c56c98ac..075d959be1d 100644 --- a/llvm/lib/Object/MachOObjectFile.cpp +++ b/llvm/lib/Object/MachOObjectFile.cpp @@ -234,10 +234,7 @@ MachOObjectFile::MachOObjectFile(MemoryBufferRef Object, bool IsLittleEndian, 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(&this->Header64), - EC); + parseHeader(this, Header, EC); if (EC) return; @@ -1251,7 +1248,6 @@ unsigned MachOObjectFile::getArch() const { 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 @@ MachOObjectFile::getDice(DataRefImpl Rel) const { } 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(&this->Header64); + return Header; } const MachO::mach_header_64 &MachOObjectFile::getHeader64() const { -- cgit v1.2.3