Don't print default values for NumberOfAuxSymbols and AuxiliaryData.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 5 Jun 2013 03:20:13 +0000 (03:20 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 5 Jun 2013 03:20:13 +0000 (03:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183293 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Object/YAML.h
lib/Object/COFFYAML.cpp
test/Object/obj2yaml.test

index 44d387b84eb24ac231f7f83fe72cdaed3b990d02..304454bd73439c039b44ab4e8dc50bfc1e7257ea 100644 (file)
@@ -41,6 +41,13 @@ public:
     assert(isBinary);
     return Data;
   }
+  bool operator==(const BinaryRef &Ref) {
+    // Special case for default constructed BinaryRef.
+    if (Ref.Data.empty() && Data.empty())
+      return true;
+
+    return Ref.isBinary == isBinary && Ref.Data == Data;
+  }
 };
 
 }
index 6e8dad41f9a788ada6f92c28b48f65922461c7df..e3c2a45977c136498751257bbd21f7f1d6f98862 100644 (file)
@@ -255,8 +255,9 @@ void MappingTraits<COFFYAML::Symbol>::mapping(IO &IO, COFFYAML::Symbol &S) {
   IO.mapRequired("SimpleType", S.SimpleType);
   IO.mapRequired("ComplexType", S.ComplexType);
   IO.mapRequired("StorageClass", NS->StorageClass);
-  IO.mapOptional("NumberOfAuxSymbols", S.Header.NumberOfAuxSymbols);
-  IO.mapOptional("AuxiliaryData", S.AuxiliaryData);
+  IO.mapOptional("NumberOfAuxSymbols", S.Header.NumberOfAuxSymbols,
+                 (uint8_t) 0);
+  IO.mapOptional("AuxiliaryData", S.AuxiliaryData, object::yaml::BinaryRef());
 }
 
 void MappingTraits<COFFYAML::Section>::mapping(IO &IO, COFFYAML::Section &Sec) {
index 5c145e87d5d21bf5280a22aa210ec7059ef712ee..6c87268801f383aeaa8dde4241f8993739d89611 100644 (file)
@@ -150,3 +150,4 @@ COFF-X86-64-NEXT:     SectionNumber: 0
 COFF-X86-64-NEXT:     SimpleType: IMAGE_SYM_TYPE_NULL
 COFF-X86-64-NEXT:     ComplexType: IMAGE_SYM_DTYPE_NULL
 COFF-X86-64-NEXT:     StorageClass: IMAGE_SYM_CLASS_EXTERNAL
+COFF-X86-64-NOT:      NumberOfAuxSymbols