mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-04 03:17:51 +00:00
[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
This commit is contained in:
parent
9b666b1681
commit
10551df9a9
@ -1406,10 +1406,17 @@ TypeIndex CodeViewDebug::lowerCompleteTypeClass(const DICompositeType *Ty) {
|
||||
getFullyQualifiedName(Ty->getScope().resolve(), Ty->getName());
|
||||
|
||||
uint64_t SizeInBytes = Ty->getSizeInBits() / 8;
|
||||
return TypeTable.writeClass(ClassRecord(
|
||||
|
||||
TypeIndex ClassTI = TypeTable.writeClass(ClassRecord(
|
||||
Kind, FieldCount, CO, HfaKind::None, WindowsRTClassKind::None, FieldTI,
|
||||
TypeIndex(), VShapeTI, SizeInBytes, FullName, Ty->getIdentifier()));
|
||||
// FIXME: Make an LF_UDT_SRC_LINE record.
|
||||
|
||||
TypeTable.writeUdtSourceLine(UdtSourceLineRecord(
|
||||
ClassTI, TypeTable.writeStringId(StringIdRecord(
|
||||
TypeIndex(0x0), getFullFilepath(Ty->getFile()))),
|
||||
Ty->getLine()));
|
||||
|
||||
return ClassTI;
|
||||
}
|
||||
|
||||
TypeIndex CodeViewDebug::lowerTypeUnion(const DICompositeType *Ty) {
|
||||
@ -1433,10 +1440,17 @@ TypeIndex CodeViewDebug::lowerCompleteTypeUnion(const DICompositeType *Ty) {
|
||||
uint64_t SizeInBytes = Ty->getSizeInBits() / 8;
|
||||
std::string FullName =
|
||||
getFullyQualifiedName(Ty->getScope().resolve(), Ty->getName());
|
||||
return TypeTable.writeUnion(UnionRecord(FieldCount, CO, HfaKind::None,
|
||||
FieldTI, SizeInBytes, FullName,
|
||||
Ty->getIdentifier()));
|
||||
// FIXME: Make an LF_UDT_SRC_LINE record.
|
||||
|
||||
TypeIndex UnionTI = TypeTable.writeUnion(
|
||||
UnionRecord(FieldCount, CO, HfaKind::None, FieldTI, SizeInBytes, FullName,
|
||||
Ty->getIdentifier()));
|
||||
|
||||
TypeTable.writeUdtSourceLine(UdtSourceLineRecord(
|
||||
UnionTI, TypeTable.writeStringId(StringIdRecord(
|
||||
TypeIndex(0x0), getFullFilepath(Ty->getFile()))),
|
||||
Ty->getLine()));
|
||||
|
||||
return UnionTI;
|
||||
}
|
||||
|
||||
std::tuple<TypeIndex, TypeIndex, unsigned>
|
||||
|
@ -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)
|
||||
|
@ -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: }
|
||||
|
@ -76,31 +76,27 @@
|
||||
; 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: TypeLeafKind: LF_PROCEDURE (0x1008)
|
||||
; CHECK: ReturnType: void (0x3)
|
||||
; CHECK: CallingConvention: NearC (0x0)
|
||||
; CHECK: FunctionOptions [ (0x0)
|
||||
; CHECK: ]
|
||||
; CHECK: NumParameters: 0
|
||||
; CHECK: ArgListType: () (0x1002)
|
||||
; CHECK: }
|
||||
; CHECK: FuncId (0x1008) {
|
||||
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
|
||||
; CHECK: ParentScope: 0x0
|
||||
; CHECK: FunctionType: void () (0x1007)
|
||||
; CHECK: Name: cdeclcc
|
||||
; CHECK: }
|
||||
; CHECK: Procedure (0x1009) {
|
||||
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
|
||||
; CHECK: ReturnType: void (0x3)
|
||||
; CHECK: CallingConvention: NearFast (0x4)
|
||||
; CHECK: CallingConvention: NearC (0x0)
|
||||
; CHECK: FunctionOptions [ (0x0)
|
||||
; CHECK: ]
|
||||
; CHECK: NumParameters: 0
|
||||
@ -110,12 +106,12 @@
|
||||
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
|
||||
; CHECK: ParentScope: 0x0
|
||||
; CHECK: FunctionType: void () (0x1009)
|
||||
; CHECK: Name: fastcallcc
|
||||
; CHECK: Name: cdeclcc
|
||||
; CHECK: }
|
||||
; CHECK: Procedure (0x100B) {
|
||||
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
|
||||
; CHECK: ReturnType: void (0x3)
|
||||
; CHECK: CallingConvention: NearStdCall (0x7)
|
||||
; CHECK: CallingConvention: NearFast (0x4)
|
||||
; CHECK: FunctionOptions [ (0x0)
|
||||
; CHECK: ]
|
||||
; CHECK: NumParameters: 0
|
||||
@ -125,12 +121,12 @@
|
||||
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
|
||||
; CHECK: ParentScope: 0x0
|
||||
; CHECK: FunctionType: void () (0x100B)
|
||||
; CHECK: Name: stdcallcc
|
||||
; CHECK: Name: fastcallcc
|
||||
; CHECK: }
|
||||
; CHECK: Procedure (0x100D) {
|
||||
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
|
||||
; CHECK: ReturnType: void (0x3)
|
||||
; CHECK: CallingConvention: NearVector (0x18)
|
||||
; CHECK: CallingConvention: NearStdCall (0x7)
|
||||
; CHECK: FunctionOptions [ (0x0)
|
||||
; CHECK: ]
|
||||
; CHECK: NumParameters: 0
|
||||
@ -140,6 +136,21 @@
|
||||
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
|
||||
; CHECK: ParentScope: 0x0
|
||||
; CHECK: FunctionType: void () (0x100D)
|
||||
; CHECK: Name: stdcallcc
|
||||
; CHECK: }
|
||||
; CHECK: Procedure (0x100F) {
|
||||
; CHECK: TypeLeafKind: LF_PROCEDURE (0x1008)
|
||||
; CHECK: ReturnType: void (0x3)
|
||||
; CHECK: CallingConvention: NearVector (0x18)
|
||||
; CHECK: FunctionOptions [ (0x0)
|
||||
; CHECK: ]
|
||||
; CHECK: NumParameters: 0
|
||||
; CHECK: ArgListType: () (0x1002)
|
||||
; CHECK: }
|
||||
; CHECK: FuncId (0x1010) {
|
||||
; CHECK: TypeLeafKind: LF_FUNC_ID (0x1601)
|
||||
; CHECK: ParentScope: 0x0
|
||||
; CHECK: FunctionType: void () (0x100F)
|
||||
; CHECK: Name: vectorcallcc
|
||||
; CHECK: }
|
||||
; CHECK: ]
|
||||
|
@ -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: Struct (0x100D) {
|
||||
; 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 (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: ]
|
||||
|
@ -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: ]
|
||||
|
||||
|
||||
|
@ -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'
|
||||
|
Loading…
x
Reference in New Issue
Block a user