1# RUN: yaml2obj < %s > %t.obj
2# RUN: yaml2obj %p/Inputs/generic.yaml > %t2.obj
3
4# RUN: lld-link /out:%t.exe /debug /entry:main %t.obj %t2.obj /nodefaultlib
5# RUN: llvm-pdbutil dump --types --type-data %t.pdb | FileCheck %s
6# RUN: lld-link /out:%t.exe /debug:ghash /entry:main %t.obj %t2.obj /nodefaultlib
7# RUN: llvm-pdbutil dump --types --type-data %t.pdb | FileCheck %s
8
9# CHECK: 0000: 12000810 03000000 00000000 00000000 0000F2F1
10
11--- !COFF
12header:
13  Machine:         IMAGE_FILE_MACHINE_AMD64
14  Characteristics: []
15sections:
16  - Name:            '.debug$T'
17    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
18    Alignment:       1
19    # It is important to keep the 'SectionData' since the .OBJ is reconstructed from it,
20    # and that triggers an alignement bug in the output .PDB.
21    SectionData:     '040000001000081003000000000000000000000000000600011200000000'
22    Types:
23      - Kind:            LF_PROCEDURE
24        Procedure:
25          ReturnType:      3
26          CallConv:        NearC
27          Options:         [ None ]
28          ParameterCount:  0
29          ArgumentList:    0
30      - Kind:            LF_ARGLIST
31        ArgList:
32          ArgIndices:      [  ]
33symbols:
34  - Name:            '.debug$T'
35    Value:           0
36    SectionNumber:   1
37    SimpleType:      IMAGE_SYM_TYPE_NULL
38    ComplexType:     IMAGE_SYM_DTYPE_NULL
39    StorageClass:    IMAGE_SYM_CLASS_STATIC
40    SectionDefinition:
41      Length:          30
42      NumberOfRelocations: 0
43      NumberOfLinenumbers: 0
44      CheckSum:        0
45      Number:          0
46...
47