summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Bieneman <beanz@apple.com>2016-06-06 21:18:43 +0000
committerChris Bieneman <beanz@apple.com>2016-06-06 21:18:43 +0000
commit468208a1de96a2be1d69e0030eb6c9efc1ffc30c (patch)
treeb30d4e8f15fd29bde49cf05783f1bc28e8bc2513
parent25e8b05d031f2e1fd2c9420a7cdafdcdbf1563ff (diff)
downloadbcm5719-llvm-468208a1de96a2be1d69e0030eb6c9efc1ffc30c.tar.gz
bcm5719-llvm-468208a1de96a2be1d69e0030eb6c9efc1ffc30c.zip
[yaml2obj] Get rid of MachO header union
This is based on post-commit feedback from Sean Silva. llvm-svn: 271942
-rw-r--r--llvm/tools/yaml2obj/yaml2macho.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/llvm/tools/yaml2obj/yaml2macho.cpp b/llvm/tools/yaml2obj/yaml2macho.cpp
index e08a3f2b9f9..510f7609b75 100644
--- a/llvm/tools/yaml2obj/yaml2macho.cpp
+++ b/llvm/tools/yaml2obj/yaml2macho.cpp
@@ -31,8 +31,7 @@ public:
MachOWriter(MachOYAML::Object &Obj) : Obj(Obj), is64Bit(true), fileStart(0) {
is64Bit = Obj.Header.magic == MachO::MH_MAGIC_64 ||
Obj.Header.magic == MachO::MH_CIGAM_64;
- memset(reinterpret_cast<void *>(&Header64), 0,
- sizeof(MachO::mach_header_64));
+ memset(reinterpret_cast<void *>(&Header), 0, sizeof(MachO::mach_header_64));
assert((is64Bit || Obj.Header.reserved == 0xDEADBEEFu) &&
"32-bit MachO has reserved in header");
assert((!is64Bit || Obj.Header.reserved != 0xDEADBEEFu) &&
@@ -64,10 +63,7 @@ private:
bool is64Bit;
uint64_t fileStart;
- union {
- MachO::mach_header_64 Header64;
- MachO::mach_header Header;
- };
+ MachO::mach_header_64 Header;
};
Error MachOWriter::writeMachO(raw_ostream &OS) {
@@ -89,12 +85,11 @@ Error MachOWriter::writeHeader(raw_ostream &OS) {
Header.ncmds = Obj.Header.ncmds;
Header.sizeofcmds = Obj.Header.sizeofcmds;
Header.flags = Obj.Header.flags;
- Header64.reserved = Obj.Header.reserved;
+ Header.reserved = Obj.Header.reserved;
- if (is64Bit)
- OS.write((const char *)&Header64, sizeof(MachO::mach_header_64));
- else
- OS.write((const char *)&Header, sizeof(MachO::mach_header));
+ auto header_size =
+ is64Bit ? sizeof(MachO::mach_header_64) : sizeof(MachO::mach_header);
+ OS.write((const char *)&Header, header_size);
return Error::success();
}
OpenPOWER on IntegriCloud