Don't print default values for NumberOfAuxSymbols and AuxiliaryData.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183293 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/Object/YAML.h b/include/llvm/Object/YAML.h
index 44d387b..304454b 100644
--- a/include/llvm/Object/YAML.h
+++ b/include/llvm/Object/YAML.h
@@ -41,6 +41,13 @@
     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;
+  }
 };
 
 }
diff --git a/lib/Object/COFFYAML.cpp b/lib/Object/COFFYAML.cpp
index 6e8dad4..e3c2a45 100644
--- a/lib/Object/COFFYAML.cpp
+++ b/lib/Object/COFFYAML.cpp
@@ -255,8 +255,9 @@
   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) {
diff --git a/test/Object/obj2yaml.test b/test/Object/obj2yaml.test
index 5c145e8..6c87268 100644
--- a/test/Object/obj2yaml.test
+++ b/test/Object/obj2yaml.test
@@ -150,3 +150,4 @@
 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