Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / lld / test / COFF / pdb-invalid-func-type.yaml
blob219dd424c718aff9d8496a5e2536e54ac73d0ffb
1 # This test has an S_GPROC32_ID symbol with an invalid type index. Make sure we
2 # keep the record, or we'll have unbalanced scopes, which is bad. This situation
3 # can arise when we can't find the type server PDB.
5 # RUN: yaml2obj %s -o %t.obj
6 # RUN: lld-link %t.obj -out:%t.exe -debug -pdb:%t.pdb -nodefaultlib -entry:main
7 # RUN: llvm-pdbutil dump -symbols %t.pdb | FileCheck %s
9 # CHECK: Mod 0000 | `{{.*}}pdb-invalid-func-type.yaml.tmp.obj`:
10 # CHECK:      4 | S_GPROC32 [size = 44] `main`
11 # CHECK:          parent = 0, end = 80, addr = 0001:0000, code size = 3
12 # CHECK:     48 | S_FRAMEPROC [size = 32]
13 # CHECK:     80 | S_END [size = 4]
15 --- !COFF
16 header:
17   Machine:         IMAGE_FILE_MACHINE_AMD64
18   Characteristics: [  ]
19 sections:
20   - Name:            '.debug$S'
21     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
22     Alignment:       1
23     Subsections:
24       - !Symbols
25         Records:
26           - Kind:            S_GPROC32_ID
27             ProcSym:
28               CodeSize:        3
29               DbgStart:        0
30               DbgEnd:          2
31               # Corrupt function type!
32               FunctionType:    4101
33               Flags:           [  ]
34               DisplayName:     main
35           - Kind:            S_FRAMEPROC
36             FrameProcSym:
37               TotalFrameBytes: 0
38               PaddingFrameBytes: 0
39               OffsetToPadding: 0
40               BytesOfCalleeSavedRegisters: 0
41               OffsetOfExceptionHandler: 0
42               SectionIdOfExceptionHandler: 0
43               Flags:           [ AsynchronousExceptionHandling, OptimizedForSpeed ]
44           - Kind:            S_PROC_ID_END
45             ScopeEndSym:
46       - !Lines
47         CodeSize:        3
48         Flags:           [  ]
49         RelocOffset:     0
50         RelocSegment:    0
51         Blocks:
52           - FileName:        'c:\src\llvm-project\build\t.c'
53             Lines:
54               - Offset:          0
55                 LineStart:       1
56                 IsStatement:     true
57                 EndDelta:        0
58             Columns:
59       - !FileChecksums
60         Checksums:
61           - FileName:        'c:\src\llvm-project\build\t.c'
62             Kind:            MD5
63             Checksum:        270A878DCC1B845655B162F56C4F5020
64       - !StringTable
65         Strings:
66           - 'c:\src\llvm-project\build\t.c'
67     Relocations:
68       - VirtualAddress:  44
69         SymbolName:      main
70         Type:            IMAGE_REL_AMD64_SECREL
71       - VirtualAddress:  48
72         SymbolName:      main
73         Type:            IMAGE_REL_AMD64_SECTION
74       - VirtualAddress:  100
75         SymbolName:      main
76         Type:            IMAGE_REL_AMD64_SECREL
77       - VirtualAddress:  104
78         SymbolName:      main
79         Type:            IMAGE_REL_AMD64_SECTION
80   - Name:            '.debug$T'
81     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
82     Alignment:       1
83     Types:
84       - Kind:            LF_ARGLIST
85         ArgList:
86           ArgIndices:      [ 0 ]
87       - Kind:            LF_PROCEDURE
88         Procedure:
89           ReturnType:      116
90           CallConv:        NearC
91           Options:         [ None ]
92           ParameterCount:  0
93           ArgumentList:    4096
94       - Kind:            LF_FUNC_ID
95         FuncId:
96           ParentScope:     0
97           FunctionType:    4097
98           Name:            main
99   - Name:            '.text$mn'
100     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
101     Alignment:       16
102     SectionData:     33C0C3
103 symbols:
104   - Name:            '.debug$S'
105     Value:           0
106     SectionNumber:   1
107     SimpleType:      IMAGE_SYM_TYPE_NULL
108     ComplexType:     IMAGE_SYM_DTYPE_NULL
109     StorageClass:    IMAGE_SYM_CLASS_STATIC
110     SectionDefinition:
111       Length:          328
112       NumberOfRelocations: 4
113       NumberOfLinenumbers: 0
114       CheckSum:        0
115       Number:          0
116   - Name:            '.debug$T'
117     Value:           0
118     SectionNumber:   2
119     SimpleType:      IMAGE_SYM_TYPE_NULL
120     ComplexType:     IMAGE_SYM_DTYPE_NULL
121     StorageClass:    IMAGE_SYM_CLASS_STATIC
122     SectionDefinition:
123       Length:          564
124       NumberOfRelocations: 0
125       NumberOfLinenumbers: 0
126       CheckSum:        0
127       Number:          0
128   - Name:            '.text$mn'
129     Value:           0
130     SectionNumber:   3
131     SimpleType:      IMAGE_SYM_TYPE_NULL
132     ComplexType:     IMAGE_SYM_DTYPE_NULL
133     StorageClass:    IMAGE_SYM_CLASS_STATIC
134     SectionDefinition:
135       Length:          3
136       NumberOfRelocations: 0
137       NumberOfLinenumbers: 0
138       CheckSum:        4021952397
139       Number:          0
140   - Name:            main
141     Value:           0
142     SectionNumber:   3
143     SimpleType:      IMAGE_SYM_TYPE_NULL
144     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
145     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL