diff --git a/lib/Object/COFFYAML.cpp b/lib/Object/COFFYAML.cpp index d05576fc49d..49c5ddaee0a 100644 --- a/lib/Object/COFFYAML.cpp +++ b/lib/Object/COFFYAML.cpp @@ -38,6 +38,7 @@ void ScalarEnumerationTraits::enumeration( void ScalarEnumerationTraits::enumeration( IO &IO, COFFYAML::WeakExternalCharacteristics &Value) { + IO.enumCase(Value, "0", 0); ECase(IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY); ECase(IMAGE_WEAK_EXTERN_SEARCH_LIBRARY); ECase(IMAGE_WEAK_EXTERN_SEARCH_ALIAS); diff --git a/test/Object/Inputs/COFF/weak-external.yaml b/test/Object/Inputs/COFF/weak-external.yaml new file mode 100644 index 00000000000..064b44a4a38 --- /dev/null +++ b/test/Object/Inputs/COFF/weak-external.yaml @@ -0,0 +1,43 @@ +--- +header: + Machine: IMAGE_FILE_MACHINE_I386 + Characteristics: [ IMAGE_FILE_LINE_NUMS_STRIPPED, IMAGE_FILE_32BIT_MACHINE ] +sections: + - Name: .text + Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] + Alignment: 4 + SectionData: 5589E583E4F0E800000000B800000000C9C39090 + Relocations: + - VirtualAddress: 7 + SymbolName: ___main + Type: IMAGE_REL_I386_REL32 +symbols: + - Name: .file + Value: 0 + SectionNumber: 65534 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_FILE + File: 'file' + - Name: .text + Value: 0 + SectionNumber: 1 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_STATIC + SectionDefinition: + Length: 18 + NumberOfRelocations: 1 + NumberOfLinenumbers: 0 + CheckSum: 0 + Number: 0 + - Name: ___main + Value: 0 + SectionNumber: 0 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_FUNCTION + StorageClass: IMAGE_SYM_CLASS_EXTERNAL + WeakExternal: + TagIndex: 0 + Characteristics: 0 +... diff --git a/test/Object/obj2yaml-coff-weak-external.test b/test/Object/obj2yaml-coff-weak-external.test new file mode 100644 index 00000000000..4ecdc1bf6f5 --- /dev/null +++ b/test/Object/obj2yaml-coff-weak-external.test @@ -0,0 +1,3 @@ +RUN: yaml2obj %p/Inputs/COFF/weak-external.yaml | obj2yaml | FileCheck %s --check-prefix COFF-I386 + +COFF-I386: Characteristics: 0