summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ObjectYAML/MachOYAML.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/ObjectYAML/MachOYAML.cpp')
-rw-r--r--llvm/lib/ObjectYAML/MachOYAML.cpp34
1 files changed, 4 insertions, 30 deletions
diff --git a/llvm/lib/ObjectYAML/MachOYAML.cpp b/llvm/lib/ObjectYAML/MachOYAML.cpp
index 60ed53f7d1e..2faefca432e 100644
--- a/llvm/lib/ObjectYAML/MachOYAML.cpp
+++ b/llvm/lib/ObjectYAML/MachOYAML.cpp
@@ -96,33 +96,6 @@ void MappingTraits<MachOYAML::Object>::mapping(IO &IO,
IO.setContext(nullptr);
}
-template <typename StructType>
-void mapLoadCommandData(IO &IO, MachOYAML::LoadCommand &LoadCommand) {}
-
-template <>
-void mapLoadCommandData<MachO::segment_command>(
- IO &IO, MachOYAML::LoadCommand &LoadCommand) {
- IO.mapOptional("Sections", LoadCommand.Sections);
-}
-
-template <>
-void mapLoadCommandData<MachO::segment_command_64>(
- IO &IO, MachOYAML::LoadCommand &LoadCommand) {
- IO.mapOptional("Sections", LoadCommand.Sections);
-}
-
-template <>
-void mapLoadCommandData<MachO::dylib_command>(
- IO &IO, MachOYAML::LoadCommand &LoadCommand) {
- IO.mapOptional("PayloadString", LoadCommand.PayloadString);
-}
-
-template <>
-void mapLoadCommandData<MachO::dylinker_command>(
- IO &IO, MachOYAML::LoadCommand &LoadCommand) {
- IO.mapOptional("PayloadString", LoadCommand.PayloadString);
-}
-
void MappingTraits<MachOYAML::LoadCommand>::mapping(
IO &IO, MachOYAML::LoadCommand &LoadCommand) {
IO.mapRequired(
@@ -133,14 +106,15 @@ void MappingTraits<MachOYAML::LoadCommand>::mapping(
case MachO::LCName: \
MappingTraits<MachO::LCStruct>::mapping(IO, \
LoadCommand.Data.LCStruct##_data); \
- mapLoadCommandData<MachO::LCStruct>(IO, LoadCommand); \
break;
switch (LoadCommand.Data.load_command_data.cmd) {
#include "llvm/Support/MachO.def"
}
- IO.mapOptional("PayloadBytes", LoadCommand.PayloadBytes);
- IO.mapOptional("ZeroPadBytes", LoadCommand.ZeroPadBytes, 0ull);
+ if (LoadCommand.Data.load_command_data.cmd == MachO::LC_SEGMENT ||
+ LoadCommand.Data.load_command_data.cmd == MachO::LC_SEGMENT_64) {
+ IO.mapOptional("Sections", LoadCommand.Sections);
+ }
}
void MappingTraits<MachO::dyld_info_command>::mapping(
OpenPOWER on IntegriCloud