aboutsummaryrefslogtreecommitdiff
path: root/test/DebugInfo
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2016-06-22 21:22:13 +0000
committerHans Wennborg <hans@hanshq.net>2016-06-22 21:22:13 +0000
commit10551df9a991367fea91167af7ba776b1a59bb57 (patch)
treefe924083854a12afe5026ef9dc5c20693ff6c661 /test/DebugInfo
parent9b666b16816dad647849fb1a453d64a4306265df (diff)
[codeview] Write LF_UDT_SRC_LINE records (PR28251)
Differential Revision: http://reviews.llvm.org/D21621 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273495 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/DebugInfo')
-rw-r--r--test/DebugInfo/COFF/defer-complete-type.ll25
-rw-r--r--test/DebugInfo/COFF/types-basic.ll31
-rw-r--r--test/DebugInfo/COFF/types-calling-conv.ll37
-rw-r--r--test/DebugInfo/COFF/types-data-members.ll100
-rw-r--r--test/DebugInfo/COFF/types-non-virtual-methods.ll66
-rw-r--r--test/DebugInfo/COFF/types-recursive-struct.ll23
6 files changed, 198 insertions, 84 deletions
diff --git a/test/DebugInfo/COFF/defer-complete-type.ll b/test/DebugInfo/COFF/defer-complete-type.ll
index d3ec61842b4..828082508f1 100644
--- a/test/DebugInfo/COFF/defer-complete-type.ll
+++ b/test/DebugInfo/COFF/defer-complete-type.ll
@@ -103,7 +103,18 @@
; CHECK: Name: A
; CHECK: LinkageName: .?AUA@@
; CHECK: }
-; CHECK: FieldList (0x1008) {
+; CHECK: StringId (0x1008) {
+; CHECK: TypeLeafKind: LF_STRING_ID (0x1605)
+; CHECK: Id: 0x0
+; CHECK: StringData: D:\src\llvm\build\t.cpp
+; CHECK: }
+; CHECK: UdtSourceLine (0x1009) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: A (0x1007)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1008)
+; CHECK: LineNumber: 2
+; CHECK: }
+; CHECK: FieldList (0x100A) {
; CHECK: TypeLeafKind: LF_FIELDLIST (0x1203)
; CHECK: DataMember {
; CHECK: AccessSpecifier: Public (0x3)
@@ -112,20 +123,26 @@
; CHECK: Name: b
; CHECK: }
; CHECK: }
-; CHECK: Struct (0x1009) {
+; CHECK: Struct (0x100B) {
; CHECK: TypeLeafKind: LF_STRUCTURE (0x1505)
; CHECK: MemberCount: 1
; CHECK: Properties [ (0x200)
; CHECK: HasUniqueName (0x200)
; CHECK: ]
-; CHECK: FieldList: <field list> (0x1008)
+; CHECK: FieldList: <field list> (0x100A)
; CHECK: DerivedFrom: 0x0
; CHECK: VShape: 0x0
; CHECK: SizeOf: 4
; CHECK: Name: B
; CHECK: LinkageName: .?AUB@@
; CHECK: }
-; CHECK: FuncId (0x100A) {
+; CHECK: UdtSourceLine (0x100C) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: B (0x100B)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1008)
+; CHECK: LineNumber: 1
+; CHECK: }
+; CHECK: FuncId (0x100D) {
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
; CHECK: ParentScope: 0x0
; CHECK: FunctionType: int (A*) (0x1003)
diff --git a/test/DebugInfo/COFF/types-basic.ll b/test/DebugInfo/COFF/types-basic.ll
index b5c241b7ab1..d3ae7041c51 100644
--- a/test/DebugInfo/COFF/types-basic.ll
+++ b/test/DebugInfo/COFF/types-basic.ll
@@ -156,7 +156,18 @@
; CHECK: SizeOf: 4
; CHECK: Name: A
; CHECK: }
-; CHECK: Pointer (0x100C) {
+; CHECK: StringId (0x100C) {
+; CHECK: TypeLeafKind: LF_STRING_ID (0x1605)
+; CHECK: Id: 0x0
+; CHECK: StringData: D:\src\llvm\build\t.cpp
+; CHECK: }
+; CHECK: UdtSourceLine (0x100D) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: A (0x100B)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x100C)
+; CHECK: LineNumber: 1
+; CHECK: }
+; CHECK: Pointer (0x100E) {
; CHECK: TypeLeafKind: LF_POINTER (0x1002)
; CHECK: PointeeType: void A::() (0x1009)
; CHECK: PointerAttributes: 0x1006C
@@ -169,16 +180,16 @@
; CHECK: ClassType: A (0x1005)
; CHECK: Representation: GeneralFunction (0x8)
; CHECK: }
-; CHECK: Modifier (0x100D) {
+; CHECK: Modifier (0x100F) {
; CHECK: TypeLeafKind: LF_MODIFIER (0x1001)
; CHECK: ModifiedType: void (0x3)
; CHECK: Modifiers [ (0x1)
; CHECK: Const (0x1)
; CHECK: ]
; CHECK: }
-; CHECK: Pointer (0x100E) {
+; CHECK: Pointer (0x1010) {
; CHECK: TypeLeafKind: LF_POINTER (0x1002)
-; CHECK: PointeeType: const void (0x100D)
+; CHECK: PointeeType: const void (0x100F)
; CHECK: PointerAttributes: 0x1000C
; CHECK: PtrType: Near64 (0xC)
; CHECK: PtrMode: Pointer (0x0)
@@ -187,7 +198,7 @@
; CHECK: IsVolatile: 0
; CHECK: IsUnaligned: 0
; CHECK: }
-; CHECK: Procedure (0x100F) {
+; CHECK: Procedure (0x1011) {
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
; CHECK: ReturnType: void (0x3)
; CHECK: CallingConvention: NearC (0x0)
@@ -196,10 +207,10 @@
; CHECK: NumParameters: 0
; CHECK: ArgListType: () (0x1008)
; CHECK: }
-; CHECK: FuncId (0x1010) {
+; CHECK: FuncId (0x1012) {
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
; CHECK: ParentScope: 0x0
-; CHECK: FunctionType: void () (0x100F)
+; CHECK: FunctionType: void () (0x1011)
; CHECK: Name: CharTypes
; CHECK: }
; CHECK: ]
@@ -260,7 +271,7 @@
; CHECK: VarName: v4
; CHECK: }
; CHECK: Local {
-; CHECK: Type: void A::() A::* (0x100C)
+; CHECK: Type: void A::() A::* (0x100E)
; CHECK: VarName: v5
; CHECK: }
; CHECK: Local {
@@ -280,7 +291,7 @@
; CHECK: VarName: l4
; CHECK: }
; CHECK: Local {
-; CHECK: Type: const void* (0x100E)
+; CHECK: Type: const void* (0x1010)
; CHECK: VarName: v6
; CHECK: }
; CHECK: ProcEnd {
@@ -288,7 +299,7 @@
; CHECK: ]
; CHECK: Subsection [
; CHECK: ProcStart {
-; CHECK: Type: CharTypes (0x1010)
+; CHECK: Type: CharTypes (0x1012)
; CHECK: DisplayName: CharTypes
; CHECK: LinkageName: ?CharTypes@@YAXXZ
; CHECK: }
diff --git a/test/DebugInfo/COFF/types-calling-conv.ll b/test/DebugInfo/COFF/types-calling-conv.ll
index 3a8f6beac93..3b0fb07cc79 100644
--- a/test/DebugInfo/COFF/types-calling-conv.ll
+++ b/test/DebugInfo/COFF/types-calling-conv.ll
@@ -76,13 +76,24 @@
; CHECK: SizeOf: 1
; CHECK: Name: A
; CHECK: }
-; CHECK: MemberFuncId (0x1006) {
+; CHECK: StringId (0x1006) {
+; CHECK: TypeLeafKind: LF_STRING_ID (0x1605)
+; CHECK: Id: 0x0
+; CHECK: StringData: D:\src\llvm\build\t.cpp
+; CHECK: }
+; CHECK: UdtSourceLine (0x1007) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: A (0x1005)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1006)
+; CHECK: LineNumber: 1
+; CHECK: }
+; CHECK: MemberFuncId (0x1008) {
; CHECK: TypeLeafKind: LF_MFUNC_ID (0x1602)
; CHECK: ClassType: A (0x1000)
; CHECK: FunctionType: void A::() (0x1003)
; CHECK: Name: A::thiscallcc
; CHECK: }
-; CHECK: Procedure (0x1007) {
+; CHECK: Procedure (0x1009) {
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
; CHECK: ReturnType: void (0x3)
; CHECK: CallingConvention: NearC (0x0)
@@ -91,13 +102,13 @@
; CHECK: NumParameters: 0
; CHECK: ArgListType: () (0x1002)
; CHECK: }
-; CHECK: FuncId (0x1008) {
+; CHECK: FuncId (0x100A) {
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
; CHECK: ParentScope: 0x0
-; CHECK: FunctionType: void () (0x1007)
+; CHECK: FunctionType: void () (0x1009)
; CHECK: Name: cdeclcc
; CHECK: }
-; CHECK: Procedure (0x1009) {
+; CHECK: Procedure (0x100B) {
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
; CHECK: ReturnType: void (0x3)
; CHECK: CallingConvention: NearFast (0x4)
@@ -106,13 +117,13 @@
; CHECK: NumParameters: 0
; CHECK: ArgListType: () (0x1002)
; CHECK: }
-; CHECK: FuncId (0x100A) {
+; CHECK: FuncId (0x100C) {
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
; CHECK: ParentScope: 0x0
-; CHECK: FunctionType: void () (0x1009)
+; CHECK: FunctionType: void () (0x100B)
; CHECK: Name: fastcallcc
; CHECK: }
-; CHECK: Procedure (0x100B) {
+; CHECK: Procedure (0x100D) {
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
; CHECK: ReturnType: void (0x3)
; CHECK: CallingConvention: NearStdCall (0x7)
@@ -121,13 +132,13 @@
; CHECK: NumParameters: 0
; CHECK: ArgListType: () (0x1002)
; CHECK: }
-; CHECK: FuncId (0x100C) {
+; CHECK: FuncId (0x100E) {
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
; CHECK: ParentScope: 0x0
-; CHECK: FunctionType: void () (0x100B)
+; CHECK: FunctionType: void () (0x100D)
; CHECK: Name: stdcallcc
; CHECK: }
-; CHECK: Procedure (0x100D) {
+; CHECK: Procedure (0x100F) {
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
; CHECK: ReturnType: void (0x3)
; CHECK: CallingConvention: NearVector (0x18)
@@ -136,10 +147,10 @@
; CHECK: NumParameters: 0
; CHECK: ArgListType: () (0x1002)
; CHECK: }
-; CHECK: FuncId (0x100E) {
+; CHECK: FuncId (0x1010) {
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
; CHECK: ParentScope: 0x0
-; CHECK: FunctionType: void () (0x100D)
+; CHECK: FunctionType: void () (0x100F)
; CHECK: Name: vectorcallcc
; CHECK: }
; CHECK: ]
diff --git a/test/DebugInfo/COFF/types-data-members.ll b/test/DebugInfo/COFF/types-data-members.ll
index ba3ef7bb2e5..2f1b1928123 100644
--- a/test/DebugInfo/COFF/types-data-members.ll
+++ b/test/DebugInfo/COFF/types-data-members.ll
@@ -120,7 +120,18 @@
; CHECK: Name: Struct
; CHECK: LinkageName: .?AUStruct@@
; CHECK: }
-; CHECK: Union (0x1007) {
+; CHECK: StringId (0x1007) {
+; CHECK: TypeLeafKind: LF_STRING_ID (0x1605)
+; CHECK: Id: 0x0
+; CHECK: StringData: D:\src\llvm\build\t.cpp
+; CHECK: }
+; CHECK: UdtSourceLine (0x1008) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: Struct (0x1006)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1007)
+; CHECK: LineNumber: 1
+; CHECK: }
+; CHECK: Union (0x1009) {
; CHECK: TypeLeafKind: LF_UNION (0x1506)
; CHECK: MemberCount: 0
; CHECK: Properties [ (0x280)
@@ -132,7 +143,7 @@
; CHECK: Name: Union
; CHECK: LinkageName: .?ATUnion@@
; CHECK: }
-; CHECK: FieldList (0x1008) {
+; CHECK: FieldList (0x100A) {
; CHECK: TypeLeafKind: LF_FIELDLIST (0x1203)
; CHECK: DataMember {
; CHECK: AccessSpecifier: Public (0x3)
@@ -147,18 +158,24 @@
; CHECK: Name: b
; CHECK: }
; CHECK: }
-; CHECK: Union (0x1009) {
+; CHECK: Union (0x100B) {
; CHECK: TypeLeafKind: LF_UNION (0x1506)
; CHECK: MemberCount: 2
; CHECK: Properties [ (0x200)
; CHECK: HasUniqueName (0x200)
; CHECK: ]
-; CHECK: FieldList: <field list> (0x1008)
+; CHECK: FieldList: <field list> (0x100A)
; CHECK: SizeOf: 4
; CHECK: Name: Union
; CHECK: LinkageName: .?ATUnion@@
; CHECK: }
-; CHECK: Class (0x100A) {
+; CHECK: UdtSourceLine (0x100C) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: Union (0x100B)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1007)
+; CHECK: LineNumber: 7
+; CHECK: }
+; CHECK: Class (0x100D) {
; CHECK: TypeLeafKind: LF_CLASS (0x1504)
; CHECK: MemberCount: 0
; CHECK: Properties [ (0x280)
@@ -170,8 +187,9 @@
; CHECK: VShape: 0x0
; CHECK: SizeOf: 0
; CHECK: Name: Class
+; CHECK: LinkageName: .?AVClass@@
; CHECK: }
-; CHECK: FieldList (0x100B) {
+; CHECK: FieldList (0x100E) {
; CHECK: TypeLeafKind: LF_FIELDLIST (0x1203)
; CHECK: DataMember {
; CHECK: AccessSpecifier: Public (0x3)
@@ -192,19 +210,26 @@
; CHECK: Name: prot
; CHECK: }
; CHECK: }
-; CHECK: Class (0x100C) {
+; CHECK: Class (0x100F) {
; CHECK: TypeLeafKind: LF_CLASS (0x1504)
; CHECK: MemberCount: 3
; CHECK: Properties [ (0x200)
; CHECK: HasUniqueName (0x200)
; CHECK: ]
-; CHECK: FieldList: <field list> (0x100B)
+; CHECK: FieldList: <field list> (0x100E)
; CHECK: DerivedFrom: 0x0
; CHECK: VShape: 0x0
; CHECK: SizeOf: 12
; CHECK: Name: Class
+; CHECK: LinkageName: .?AVClass@@
+; CHECK: }
+; CHECK: UdtSourceLine (0x1010) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: Class (0x100F)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1007)
+; CHECK: LineNumber: 11
; CHECK: }
-; CHECK: Struct (0x100D) {
+; CHECK: Struct (0x1011) {
; CHECK: TypeLeafKind: LF_STRUCTURE (0x1505)
; CHECK: MemberCount: 0
; CHECK: Properties [ (0x280)
@@ -218,7 +243,7 @@
; CHECK: Name: DerivedClass
; CHECK: LinkageName: .?AUDerivedClass@@
; CHECK: }
-; CHECK: Procedure (0x100E) {
+; CHECK: Procedure (0x1012) {
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
; CHECK: ReturnType: int (0x74)
; CHECK: CallingConvention: NearC (0x0)
@@ -227,9 +252,9 @@
; CHECK: NumParameters: 0
; CHECK: ArgListType: () (0x1000)
; CHECK: }
-; CHECK: Pointer (0x100F) {
+; CHECK: Pointer (0x1013) {
; CHECK: TypeLeafKind: LF_POINTER (0x1002)
-; CHECK: PointeeType: int () (0x100E)
+; CHECK: PointeeType: int () (0x1012)
; CHECK: PointerAttributes: 0x1000C
; CHECK: PtrType: Near64 (0xC)
; CHECK: PtrMode: Pointer (0x0)
@@ -237,10 +262,11 @@
; CHECK: IsConst: 0
; CHECK: IsVolatile: 0
; CHECK: IsUnaligned: 0
+; CHECK: SizeOf: 8
; CHECK: }
-; CHECK: Pointer (0x1010) {
+; CHECK: Pointer (0x1014) {
; CHECK: TypeLeafKind: LF_POINTER (0x1002)
-; CHECK: PointeeType: int ()* (0x100F)
+; CHECK: PointeeType: int ()* (0x1013)
; CHECK: PointerAttributes: 0x1000C
; CHECK: PtrType: Near64 (0xC)
; CHECK: PtrMode: Pointer (0x0)
@@ -248,12 +274,13 @@
; CHECK: IsConst: 0
; CHECK: IsVolatile: 0
; CHECK: IsUnaligned: 0
+; CHECK: SizeOf: 8
; CHECK: }
-; CHECK: FieldList (0x1011) {
+; CHECK: FieldList (0x1015) {
; CHECK: TypeLeafKind: LF_FIELDLIST (0x1203)
; CHECK: DataMember {
; CHECK: AccessSpecifier: Public (0x3)
-; CHECK: Type: int ()** (0x1010)
+; CHECK: Type: int ()** (0x1014)
; CHECK: FieldOffset: 0x0
; CHECK: Name: _vptr$DerivedClass
; CHECK: }
@@ -264,20 +291,26 @@
; CHECK: Name: d
; CHECK: }
; CHECK: }
-; CHECK: Struct (0x1012) {
+; CHECK: Struct (0x1016) {
; CHECK: TypeLeafKind: LF_STRUCTURE (0x1505)
; CHECK: MemberCount: 2
; CHECK: Properties [ (0x200)
; CHECK: HasUniqueName (0x200)
; CHECK: ]
-; CHECK: FieldList: <field list> (0x1011)
+; CHECK: FieldList: <field list> (0x1015)
; CHECK: DerivedFrom: 0x0
; CHECK: VShape: 0x0
; CHECK: SizeOf: 48
; CHECK: Name: DerivedClass
; CHECK: LinkageName: .?AUDerivedClass@@
; CHECK: }
-; CHECK: Struct (0x1013) {
+; CHECK: UdtSourceLine (0x1017) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: DerivedClass (0x1016)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1007)
+; CHECK: LineNumber: 20
+; CHECK: }
+; CHECK: Struct (0x1018) {
; CHECK: TypeLeafKind: LF_STRUCTURE (0x1505)
; CHECK: MemberCount: 0
; CHECK: Properties [ (0x280)
@@ -291,7 +324,7 @@
; CHECK: Name: Class::Nested
; CHECK: LinkageName: .?AUNested@Class@@
; CHECK: }
-; CHECK: FieldList (0x1014) {
+; CHECK: FieldList (0x1019) {
; CHECK: TypeLeafKind: LF_FIELDLIST (0x1203)
; CHECK: DataMember {
; CHECK: AccessSpecifier: Public (0x3)
@@ -300,22 +333,28 @@
; CHECK: Name: n
; CHECK: }
; CHECK: }
-; CHECK: Struct (0x1015) {
+; CHECK: Struct (0x101A) {
; CHECK: TypeLeafKind: LF_STRUCTURE (0x1505)
; CHECK: MemberCount: 1
; CHECK: Properties [ (0x200)
; CHECK: HasUniqueName (0x200)
; CHECK: ]
-; CHECK: FieldList: <field list> (0x1014)
+; CHECK: FieldList: <field list> (0x1019)
; CHECK: DerivedFrom: 0x0
; CHECK: VShape: 0x0
; CHECK: SizeOf: 4
; CHECK: Name: Class::Nested
; CHECK: LinkageName: .?AUNested@Class@@
; CHECK: }
-; CHECK: Pointer (0x1016) {
+; CHECK: UdtSourceLine (0x101B) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: Class::Nested (0x101A)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1007)
+; CHECK: LineNumber: 23
+; CHECK: }
+; CHECK: Pointer (0x101C) {
; CHECK: TypeLeafKind: LF_POINTER (0x1002)
-; CHECK: PointeeType: DerivedClass (0x100D)
+; CHECK: PointeeType: DerivedClass (0x1011)
; CHECK: PointerAttributes: 0x1000C
; CHECK: PtrType: Near64 (0xC)
; CHECK: PtrMode: Pointer (0x0)
@@ -323,12 +362,13 @@
; CHECK: IsConst: 0
; CHECK: IsVolatile: 0
; CHECK: IsUnaligned: 0
+; CHECK: SizeOf: 8
; CHECK: }
-; CHECK: MemberFunction (0x1017) {
+; CHECK: MemberFunction (0x101D) {
; CHECK: TypeLeafKind: LF_MFUNCTION (0x1009)
; CHECK: ReturnType: void (0x3)
-; CHECK: ClassType: DerivedClass (0x100D)
-; CHECK: ThisType: DerivedClass* (0x1016)
+; CHECK: ClassType: DerivedClass (0x1011)
+; CHECK: ThisType: DerivedClass* (0x101C)
; CHECK: CallingConvention: NearC (0x0)
; CHECK: FunctionOptions [ (0x0)
; CHECK: ]
@@ -336,10 +376,10 @@
; CHECK: ArgListType: () (0x1000)
; CHECK: ThisAdjustment: 0
; CHECK: }
-; CHECK: FuncId (0x1018) {
+; CHECK: MemberFuncId (0x101E) {
; CHECK: TypeLeafKind: LF_MFUNC_ID (0x1602)
-; CHECK: ClassType: DerivedClass (0x100D)
-; CHECK: FunctionType: void DerivedClass::() (0x1017)
+; CHECK: ClassType: DerivedClass (0x1011)
+; CHECK: FunctionType: void DerivedClass::() (0x101D)
; CHECK: Name: DerivedClass::DerivedClass
; CHECK: }
; CHECK: ]
diff --git a/test/DebugInfo/COFF/types-non-virtual-methods.ll b/test/DebugInfo/COFF/types-non-virtual-methods.ll
index f4d3b5431bc..97ec8e7d59f 100644
--- a/test/DebugInfo/COFF/types-non-virtual-methods.ll
+++ b/test/DebugInfo/COFF/types-non-virtual-methods.ll
@@ -118,7 +118,18 @@
; CHECK: SizeOf: 1
; CHECK: Name: A
; CHECK: }
-; CHECK: Class (0x1008) {
+; CHECK: StringId (0x1008) {
+; CHECK: TypeLeafKind: LF_STRING_ID (0x1605)
+; CHECK: Id: 0x0
+; CHECK: StringData: \t.cpp
+; CHECK: }
+; CHECK: UdtSourceLine (0x1009) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: A (0x1007)
+; CHECK: SourceFile: \t.cpp (0x1008)
+; CHECK: LineNumber: 1
+; CHECK: }
+; CHECK: Class (0x100A) {
; CHECK: TypeLeafKind: LF_CLASS (0x1504)
; CHECK: MemberCount: 0
; CHECK: Properties [ (0x80)
@@ -130,9 +141,9 @@
; CHECK: SizeOf: 0
; CHECK: Name: B
; CHECK: }
-; CHECK: Pointer (0x1009) {
+; CHECK: Pointer (0x100B) {
; CHECK: TypeLeafKind: LF_POINTER (0x1002)
-; CHECK: PointeeType: B (0x1008)
+; CHECK: PointeeType: B (0x100A)
; CHECK: PointerAttributes: 0x800A
; CHECK: PtrType: Near32 (0xA)
; CHECK: PtrMode: Pointer (0x0)
@@ -140,12 +151,13 @@
; CHECK: IsConst: 0
; CHECK: IsVolatile: 0
; CHECK: IsUnaligned: 0
+; CHECK: SizeOf: 4
; CHECK: }
-; CHECK: MemberFunction (0x100A) {
+; CHECK: MemberFunction (0x100C) {
; CHECK: TypeLeafKind: LF_MFUNCTION (0x1009)
; CHECK: ReturnType: void (0x3)
-; CHECK: ClassType: B (0x1008)
-; CHECK: ThisType: B* (0x1009)
+; CHECK: ClassType: B (0x100A)
+; CHECK: ThisType: B* (0x100B)
; CHECK: CallingConvention: ThisCall (0xB)
; CHECK: FunctionOptions [ (0x0)
; CHECK: ]
@@ -153,79 +165,85 @@
; CHECK: ArgListType: () (0x1000)
; CHECK: ThisAdjustment: 0
; CHECK: }
-; CHECK: ArgList (0x100B) {
+; CHECK: ArgList (0x100D) {
; CHECK: TypeLeafKind: LF_ARGLIST (0x1201)
; CHECK: NumArgs: 1
; CHECK: Arguments [
; CHECK: ArgType: float (0x40)
; CHECK: ]
; CHECK: }
-; CHECK: MemberFunction (0x100C) {
+; CHECK: MemberFunction (0x100E) {
; CHECK: TypeLeafKind: LF_MFUNCTION (0x1009)
; CHECK: ReturnType: void (0x3)
-; CHECK: ClassType: B (0x1008)
-; CHECK: ThisType: B* (0x1009)
+; CHECK: ClassType: B (0x100A)
+; CHECK: ThisType: B* (0x100B)
; CHECK: CallingConvention: ThisCall (0xB)
; CHECK: FunctionOptions [ (0x0)
; CHECK: ]
; CHECK: NumParameters: 1
-; CHECK: ArgListType: (float) (0x100B)
+; CHECK: ArgListType: (float) (0x100D)
; CHECK: ThisAdjustment: 0
; CHECK: }
-; CHECK: ArgList (0x100D) {
+; CHECK: ArgList (0x100F) {
; CHECK: TypeLeafKind: LF_ARGLIST (0x1201)
; CHECK: NumArgs: 1
; CHECK: Arguments [
; CHECK: ArgType: int (0x74)
; CHECK: ]
; CHECK: }
-; CHECK: MemberFunction (0x100E) {
+; CHECK: MemberFunction (0x1010) {
; CHECK: TypeLeafKind: LF_MFUNCTION (0x1009)
; CHECK: ReturnType: void (0x3)
-; CHECK: ClassType: B (0x1008)
-; CHECK: ThisType: B* (0x1009)
+; CHECK: ClassType: B (0x100A)
+; CHECK: ThisType: B* (0x100B)
; CHECK: CallingConvention: ThisCall (0xB)
; CHECK: FunctionOptions [ (0x0)
; CHECK: ]
; CHECK: NumParameters: 1
-; CHECK: ArgListType: (int) (0x100D)
+; CHECK: ArgListType: (int) (0x100F)
; CHECK: ThisAdjustment: 0
; CHECK: }
-; CHECK: MethodOverloadList (0x100F) {
+; CHECK: MethodOverloadList (0x1011) {
; CHECK: TypeLeafKind: LF_METHODLIST (0x1206)
; CHECK: Method [
; CHECK: AccessSpecifier: Public (0x3)
-; CHECK: Type: void B::(float) (0x100C)
+; CHECK: Type: void B::(float) (0x100E)
; CHECK: ]
; CHECK: Method [
; CHECK: AccessSpecifier: Public (0x3)
-; CHECK: Type: void B::(int) (0x100E)
+; CHECK: Type: void B::(int) (0x1010)
; CHECK: ]
; CHECK: }
-; CHECK: FieldList (0x1010) {
+; CHECK: FieldList (0x1012) {
; CHECK: TypeLeafKind: LF_FIELDLIST (0x1203)
; CHECK: OneMethod {
; CHECK: AccessSpecifier: Private (0x1)
-; CHECK: Type: void B::() (0x100A)
+; CHECK: Type: void B::() (0x100C)
; CHECK: Name: B::f_default_private
; CHECK: }
; CHECK: OverloadedMethod {
; CHECK: MethodCount: 0x2
-; CHECK: MethodListIndex: 0x100F
+; CHECK: MethodListIndex: 0x1011
; CHECK: Name: B::f
; CHECK: }
; CHECK: }
-; CHECK: Class (0x1011) {
+; CHECK: Class (0x1013) {
; CHECK: TypeLeafKind: LF_CLASS (0x1504)
; CHECK: MemberCount: 3
; CHECK: Properties [ (0x0)
; CHECK: ]
-; CHECK: FieldList: <field list> (0x1010)
+; CHECK: FieldList: <field list> (0x1012)
; CHECK: DerivedFrom: 0x0
; CHECK: VShape: 0x0
; CHECK: SizeOf: 1
; CHECK: Name: B
; CHECK: }
+; CHECK: UdtSourceLine (0x1014) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: B (0x1013)
+; CHECK: SourceFile: \t.cpp (0x1008)
+; CHECK: LineNumber: 11
+; CHECK: }
; CHECK: ]
diff --git a/test/DebugInfo/COFF/types-recursive-struct.ll b/test/DebugInfo/COFF/types-recursive-struct.ll
index 88bab35e20f..6727eda754c 100644
--- a/test/DebugInfo/COFF/types-recursive-struct.ll
+++ b/test/DebugInfo/COFF/types-recursive-struct.ll
@@ -97,7 +97,18 @@
; CHECK: SizeOf: 8
; CHECK: Name: A
; CHECK: }
-; CHECK: FieldList (0x1008) {
+; CHECK: StringId (0x1008) {
+; CHECK: TypeLeafKind: LF_STRING_ID (0x1605)
+; CHECK: Id: 0x0
+; CHECK: StringData: D:\src\llvm\build\t.cpp
+; CHECK: }
+; CHECK: UdtSourceLine (0x1009) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: A (0x1007)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1008)
+; CHECK: LineNumber: 2
+; CHECK: }
+; CHECK: FieldList (0x100A) {
; CHECK: TypeLeafKind: LF_FIELDLIST (0x1203)
; CHECK: DataMember {
; CHECK: AccessSpecifier: Public (0x3)
@@ -106,17 +117,23 @@
; CHECK: Name: a
; CHECK: }
; CHECK: }
-; CHECK: Struct (0x1009) {
+; CHECK: Struct (0x100B) {
; CHECK: TypeLeafKind: LF_STRUCTURE (0x1505)
; CHECK: MemberCount: 1
; CHECK: Properties [ (0x0)
; CHECK: ]
-; CHECK: FieldList: <field list> (0x1008)
+; CHECK: FieldList: <field list> (0x100A)
; CHECK: DerivedFrom: 0x0
; CHECK: VShape: 0x0
; CHECK: SizeOf: 8
; CHECK: Name: B
; CHECK: }
+; CHECK: UdtSourceLine (0x100C) {
+; CHECK: TypeLeafKind: LF_UDT_SRC_LINE (0x1606)
+; CHECK: UDT: B (0x100B)
+; CHECK: SourceFile: D:\src\llvm\build\t.cpp (0x1008)
+; CHECK: LineNumber: 3
+; CHECK: }
; CHECK: ]
; ModuleID = 't.cpp'