# RUN: yaml2obj %s > %t.obj

# RUN: rm -f %t.dll %t.pdb
# RUN: lld-link /debug /pdbaltpath:test.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:test.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 --check-prefix TWOPDBS %s

# RUN: rm -f %t.dll %t.pdb
# RUN: lld-link /Brepro /dll /out:%t.dll /entry:DllMain %t.obj
# RUN: llvm-readobj -coff-debug-directory %t.dll | FileCheck --check-prefix REPRO %s

# RUN: rm -f %t.dll %t.pdb
# RUN: lld-link /Brepro /debug /dll /out:%t.dll /entry:DllMain %t.obj
# RUN: llvm-readobj -coff-debug-directory %t.dll | FileCheck --check-prefix REPRODEBUG %s

# RUN: rm -f %t.dll %t.pdb
# RUN: lld-link /lldmingw /debug:dwarf /dll /out:%t.dll /entry:DllMain %t.obj
# RUN: llvm-readobj -coff-debug-directory %t.dll | FileCheck --check-prefix MINGW %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: {{.*}}.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: 1
# CHECK:       PDBFileName: {{.*}}.pdb
# CHECK:     }
# CHECK:   }
# CHECK: ]

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

# REPRO: File: {{.*}}.dll
# REPRO: DebugDirectory [
# REPRO:   DebugEntry {
# REPRO:     Characteristics: 0x0
# REPRO:     TimeDateStamp: 
# REPRO:     MajorVersion: 0x0
# REPRO:     MinorVersion: 0x0
# REPRO:     Type: Repro (0x10)
# REPRO:     SizeOfData: 0x0
# REPRO:     AddressOfRawData: 0x0
# REPRO:     PointerToRawData: 0x0
# REPRO:   }
# REPRO: ]

# REPRODEBUG: File: {{.*}}.dll
# REPRODEBUG: DebugDirectory [
# REPRODEBUG:   DebugEntry {
# REPRODEBUG:     Characteristics: 0x0
# REPRODEBUG:     TimeDateStamp: 
# REPRODEBUG:     MajorVersion: 0x0
# REPRODEBUG:     MinorVersion: 0x0
# REPRODEBUG:     Type: CodeView (0x2)
# REPRODEBUG:     SizeOfData: 0x{{[^0]}}
# REPRODEBUG:     AddressOfRawData: 0x{{[^0]}}
# REPRODEBUG:     PointerToRawData: 0x{{[^0]}}
# REPRODEBUG:     PDBInfo {
# REPRODEBUG:       PDBSignature: 0x53445352
# REPRODEBUG:       PDBGUID: 
# REPRODEBUG:       PDBAge: 1
# REPRODEBUG:       PDBFileName:
# REPRODEBUG:     }
# REPRODEBUG:   }
# REPRODEBUG:   DebugEntry {
# REPRODEBUG:     Characteristics: 0x0
# REPRODEBUG:     TimeDateStamp: 
# REPRODEBUG:     MajorVersion: 0x0
# REPRODEBUG:     MinorVersion: 0x0
# REPRODEBUG:     Type: Repro (0x10)
# REPRODEBUG:     SizeOfData: 0x0
# REPRODEBUG:     AddressOfRawData: 0x0
# REPRODEBUG:     PointerToRawData: 0x0
# REPRODEBUG:   }
# REPRODEBUG: ]

# MINGW: File: {{.*}}.dll
# MINGW: DebugDirectory [
# MINGW:   DebugEntry {
# MINGW:     Characteristics: 0x0
# MINGW:     TimeDateStamp:
# MINGW:     MajorVersion: 0x0
# MINGW:     MinorVersion: 0x0
# MINGW:     Type: CodeView (0x2)
# MINGW:     SizeOfData: 0x{{[^0]}}
# MINGW:     AddressOfRawData: 0x{{[^0]}}
# MINGW:     PointerToRawData: 0x{{[^0]}}
# MINGW:     PDBInfo {
# MINGW:       PDBSignature: 0x53445352
# MINGW:       PDBGUID: [[GUID:\(([A-Za-z0-9]{2} ?){16}\)]]
# MINGW:       PDBAge: 1
# MINGW:       PDBFileName:
# MINGW:     }
# MINGW:   }
# MINGW: ]
--- !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
...
