xref: /llvm-project/llvm/test/tools/llvm-readobj/COFF/codeview-merging-unsorted.test (revision dbf520f617440d62ca46f64cdc41159945911902)
1*dbf520f6SGeorgii Rymar; RUN: llvm-readobj --codeview %S/Inputs/codeview-unsorted.obj | FileCheck %s
2*dbf520f6SGeorgii Rymar; RUN: llvm-readobj --codeview-merged-types %S/Inputs/codeview-unsorted.obj | FileCheck %s --check-prefix=MERGED
3*dbf520f6SGeorgii Rymar
4*dbf520f6SGeorgii Rymar; The input type stream has records that refer to later type indices in the same
5*dbf520f6SGeorgii Rymar; stream:
6*dbf520f6SGeorgii Rymar
7*dbf520f6SGeorgii Rymar; CHECK: Pointer (0x1000)
8*dbf520f6SGeorgii Rymar; CHECK: Struct (0x1001)
9*dbf520f6SGeorgii Rymar; CHECK:   FieldList: {{.*}} (0x1002)
10*dbf520f6SGeorgii Rymar; CHECK: FieldList (0x1002)
11*dbf520f6SGeorgii Rymar; CHECK: Pointer (0x1003)
12*dbf520f6SGeorgii Rymar; CHECK: Procedure (0x1004)
13*dbf520f6SGeorgii Rymar; CHECK:   ArgListType: {{.*}} (0x1005)
14*dbf520f6SGeorgii Rymar; CHECK: ArgList (0x1005)
15*dbf520f6SGeorgii Rymar
16*dbf520f6SGeorgii Rymar; MERGED: Pointer (0x1000)
17*dbf520f6SGeorgii Rymar; MERGED: FieldList (0x1001)
18*dbf520f6SGeorgii Rymar; MERGED: Struct (0x1002)
19*dbf520f6SGeorgii Rymar; MERGED:   FieldList: {{.*}} (0x1001)
20*dbf520f6SGeorgii Rymar; MERGED: Pointer (0x1003)
21*dbf520f6SGeorgii Rymar; MERGED: ArgList (0x1004)
22*dbf520f6SGeorgii Rymar; MERGED: Procedure (0x1005)
23*dbf520f6SGeorgii Rymar; MERGED:   ArgListType: {{.*}} (0x1004)
24*dbf520f6SGeorgii Rymar
25*dbf520f6SGeorgii Rymar
26*dbf520f6SGeorgii Rymar; To reproduce codeview-unsorted.obj:
27*dbf520f6SGeorgii Rymar; $ cat codeview-unsorted.asm
28*dbf520f6SGeorgii Rymar;       .model  flat, C
29*dbf520f6SGeorgii Rymar;       .code
30*dbf520f6SGeorgii Rymar; PBYTE TYPEDEF PTR BYTE
31*dbf520f6SGeorgii Rymar; foo_list STRUCT
32*dbf520f6SGeorgii Rymar;       next PBYTE ?
33*dbf520f6SGeorgii Rymar;       data dd ?
34*dbf520f6SGeorgii Rymar; foo_list ENDS
35*dbf520f6SGeorgii Rymar;       public  foo
36*dbf520f6SGeorgii Rymar; foo proc dst:ptr foo_list
37*dbf520f6SGeorgii Rymar;       ret
38*dbf520f6SGeorgii Rymar; foo   endp
39*dbf520f6SGeorgii Rymar;       end
40*dbf520f6SGeorgii Rymar; $ ml -c -Zi codeview-unsorted.asm
41