xref: /llvm-project/llvm/test/tools/llvm-readobj/COFF/codeview-merging-anon.test (revision dbf520f617440d62ca46f64cdc41159945911902)
1*dbf520f6SGeorgii Rymar# Test what happens when the first type record (0x1000) is a LF_FIELDLIST
2*dbf520f6SGeorgii Rymar# record.
3*dbf520f6SGeorgii Rymar
4*dbf520f6SGeorgii Rymar# Steps to regenerate input:
5*dbf520f6SGeorgii Rymar# $ cat t.c
6*dbf520f6SGeorgii Rymar# struct { int x; } o;
7*dbf520f6SGeorgii Rymar# $ cl -Z7 t.c
8*dbf520f6SGeorgii Rymar
9*dbf520f6SGeorgii RymarRUN: llvm-readobj --codeview %S/Inputs/codeview-merging-anon.obj | FileCheck %s
10*dbf520f6SGeorgii RymarRUN: llvm-readobj --codeview-merged-types %S/Inputs/codeview-merging-anon.obj | FileCheck %s
11*dbf520f6SGeorgii Rymar
12*dbf520f6SGeorgii RymarCHECK-LABEL:  FieldList (0x1000) {
13*dbf520f6SGeorgii RymarCHECK-NEXT:     TypeLeafKind: LF_FIELDLIST (0x1203)
14*dbf520f6SGeorgii RymarCHECK-NEXT:     DataMember {
15*dbf520f6SGeorgii RymarCHECK-NEXT:       TypeLeafKind: LF_MEMBER (0x150D)
16*dbf520f6SGeorgii RymarCHECK-NEXT:       AccessSpecifier: Public (0x3)
17*dbf520f6SGeorgii RymarCHECK-NEXT:       Type: int (0x74)
18*dbf520f6SGeorgii RymarCHECK-NEXT:       FieldOffset: 0x0
19*dbf520f6SGeorgii RymarCHECK-NEXT:       Name: x
20*dbf520f6SGeorgii RymarCHECK-NEXT:     }
21*dbf520f6SGeorgii RymarCHECK-NEXT:   }
22*dbf520f6SGeorgii RymarCHECK-LABEL:  Struct (0x1001) {
23*dbf520f6SGeorgii RymarCHECK:          TypeLeafKind: LF_STRUCTURE (0x1505)
24*dbf520f6SGeorgii RymarCHECK:          MemberCount: 1
25*dbf520f6SGeorgii RymarCHECK:          FieldList: <field list> (0x1000)
26*dbf520f6SGeorgii RymarCHECK:          Name: <unnamed-tag>
27*dbf520f6SGeorgii RymarCHECK:          LinkageName: .?AU<unnamed-tag>@@
28*dbf520f6SGeorgii RymarCHECK:        }
29*dbf520f6SGeorgii RymarCHECK-LABEL:  StringId
30