# RUN: yaml2obj %s > %t.obj

# RUN: rm -f %t.dll %t.pdb
# RUN: lld-link /debug /pdbaltpath:test1.pdb /dll /out:%t.dll /entry:DllMain %t.obj
# RUN: llvm-readobj -coff-debug-directory %t.dll > %t.1.txt
# RUN: lld-link /debug /pdbaltpath:test2.pdb /dll /out:%t.dll /entry:DllMain %t.obj
# RUN: llvm-readobj -coff-debug-directory %t.dll > %t.2.txt
# RUN: cat %t.1.txt %t.2.txt | FileCheck %s

# RUN: rm -f %t.dll %t.pdb
# RUN: lld-link /debug /pdb:%t1.pdb /dll /out:%t.dll /entry:DllMain %t.obj
# RUN: llvm-readobj -coff-debug-directory %t.dll > %t.3.txt
# RUN: lld-link /debug /pdb:%t2.pdb /dll /out:%t.dll /entry:DllMain %t.obj
# RUN: llvm-readobj -coff-debug-directory %t.dll > %t.4.txt
# RUN: cat %t.3.txt %t.4.txt | FileCheck %s

# CHECK: File: [[FILE:.*]].dll
# CHECK: DebugDirectory [
# CHECK:   DebugEntry {
# CHECK:     Characteristics: 0x0
# CHECK:     TimeDateStamp: 
# CHECK:     MajorVersion: 0x0
# CHECK:     MinorVersion: 0x0
# CHECK:     Type: CodeView (0x2)
# CHECK:     SizeOfData: 0x{{[^0]}}
# CHECK:     AddressOfRawData: 0x{{[^0]}}
# CHECK:     PointerToRawData: 0x{{[^0]}}
# CHECK:     PDBInfo {
# CHECK:       PDBSignature: 0x53445352
# CHECK:       PDBGUID: [[GUID:\(([A-Za-z0-9]{2} ?){16}\)]]
# CHECK:       PDBAge: 1
# CHECK:       PDBFileName: {{.*}}1.pdb
# CHECK:     }
# CHECK:   }
# CHECK: ]
# CHECK: File: [[FILE]].dll
# CHECK: DebugDirectory [
# CHECK:   DebugEntry {
# CHECK:     Characteristics: 0x0
# CHECK:     TimeDateStamp: 
# CHECK:     MajorVersion: 0x0
# CHECK:     MinorVersion: 0x0
# CHECK:     Type: CodeView (0x2)
# CHECK:     SizeOfData: 0x{{[^0]}}
# CHECK:     AddressOfRawData: 0x{{[^0]}}
# CHECK:     PointerToRawData: 0x{{[^0]}}
# CHECK:     PDBInfo {
# CHECK:       PDBSignature: 0x53445352
# CHECK:       PDBGUID: [[GUID]]
# CHECK:       PDBAge: 2
# CHECK:       PDBFileName: {{.*}}2.pdb
# CHECK:     }
# CHECK:   }
# CHECK: ]

--- !COFF
header:
  Machine:         IMAGE_FILE_MACHINE_I386
  Characteristics: [  ]
sections:
  - Name:            .text
    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
    Alignment:       4
    SectionData:     31C0C3
  - Name:            .data
    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
    Alignment:       4
    SectionData:     ''
  - Name:            .bss
    Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
    Alignment:       4
    SectionData:     ''
symbols:
  - Name:            .text
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          3
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        3963538403
      Number:          1
  - Name:            .data
    Value:           0
    SectionNumber:   2
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          0
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          2
  - Name:            .bss
    Value:           0
    SectionNumber:   3
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
    SectionDefinition:
      Length:          0
      NumberOfRelocations: 0
      NumberOfLinenumbers: 0
      CheckSum:        0
      Number:          3
  - Name:            '@feat.00'
    Value:           1
    SectionNumber:   -1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_NULL
    StorageClass:    IMAGE_SYM_CLASS_STATIC
  - Name:            _DllMain
    Value:           0
    SectionNumber:   1
    SimpleType:      IMAGE_SYM_TYPE_NULL
    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
...
