Skip to content

Commit 601ba74

Browse files
committed
Add one more debug info test.
1 parent 1da73b5 commit 601ba74

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

test/llvm/dbg.d

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,13 @@ struct S {
2828
}
2929
}
3030

31+
uint foo(S s, A a, B b) {
32+
return s.foo() + a.foo() + b.foo();
33+
// CHECK: _D3dbg3fooFMS3dbg1SC3dbg1AC3dbg1BZk({{.*}} !dbg [[FOO:![a-z0-9\.]+]] {
34+
// CHECK: tail call i32 {{%[a-z0-9\.]+}}(ptr nonnull %arg.a), !dbg [[DEBUGLOC0:![a-z0-9\.]+]]
35+
// CHECK: tail call i32 {{%[a-z0-9\.]+}}(ptr nonnull %arg.b), !dbg [[DEBUGLOC1:![a-z0-9\.]+]]
36+
}
37+
3138
// CHECK: !llvm.dbg.cu = !{[[CU:![a-z0-9\.]+]]}
3239

3340
// CHECK-DAG: [[VOID:![a-z0-9\.]+]] = !DIBasicType(name: "void")
@@ -58,11 +65,18 @@ struct S {
5865
// CHECK-DAG: [[B_REF:![a-z0-9\.]+]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[B]])
5966
// CHECK-DAG: [[B_FOO_TYPE_ELEMENTS:![a-z0-9\.]+]] = !{[[UINT]], [[B_REF]]}
6067
// CHECK-DAG: [[B_FOO_TYPE:![a-z0-9\.]+]] = !DISubroutineType(types: [[B_FOO_TYPE_ELEMENTS]])
61-
// CHECK-DAG: [[B_FOO:![a-z0-9\.]+]] = distinct !DISubprogram(name: "foo", linkageName: "_D3dbg1B3fooFC3dbg1BZk", scope: [[B]], file: [[FILE]], line: 18, type: [[B_FOO_TYPE]], spFlags: DISPFlagDefinition, unit: [[CU]])
68+
// CHECK-DAG: [[B_FOO]] = distinct !DISubprogram(name: "foo", linkageName: "_D3dbg1B3fooFC3dbg1BZk", scope: [[B]], file: [[FILE]], line: 18, type: [[B_FOO_TYPE]], spFlags: DISPFlagDefinition, unit: [[CU]])
6269

6370
// CHECK-DAG: [[S_FIELDS:![a-z0-9\.]+]] = !{}
6471
// CHECK-DAG: [[S:![a-z0-9\.]+]] = !DICompositeType(tag: DW_TAG_structure_type, name: "S", scope: [[MODULE]], file: [[FILE]], line: 24, align: 8, elements: [[S_FIELDS]], identifier: "S3dbg1S")
6572
// CHECK-DAG: [[S_REF:![a-z0-9\.]+]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[S]])
6673
// CHECK-DAG: [[S_FOO_TYPE_ELEMENTS:![a-z0-9\.]+]] = !{[[UINT]], [[S_REF]]}
6774
// CHECK-DAG: [[S_FOO_TYPE:![a-z0-9\.]+]] = !DISubroutineType(types: [[S_FOO_TYPE_ELEMENTS]])
68-
// CHECK-DAG: [[S_FOO:![a-z0-9\.]+]] = distinct !DISubprogram(name: "foo", linkageName: "_D3dbg1S3fooFKS3dbg1SZk", scope: [[S]], file: [[FILE]], line: 25, type: !28, spFlags: DISPFlagDefinition, unit: [[CU]])
75+
// CHECK-DAG: [[S_FOO]] = distinct !DISubprogram(name: "foo", linkageName: "_D3dbg1S3fooFKS3dbg1SZk", scope: [[S]], file: [[FILE]], line: 25, type: [[S_FOO_TYPE]], spFlags: DISPFlagDefinition, unit: [[CU]])
76+
77+
// CHECK-DAG: [[FOO_TYPE_ELEMENTS:![a-z0-9\.]+]] = !{[[UINT]], [[S]], [[A_REF]], [[B_REF]]}
78+
// CHECK-DAG: [[FOO_TYPE:![a-z0-9\.]+]] = !DISubroutineType(types: [[FOO_TYPE_ELEMENTS]])
79+
// CHECK-DAG: [[FOO]] = distinct !DISubprogram(name: "foo", linkageName: "_D3dbg3fooFMS3dbg1SC3dbg1AC3dbg1BZk", scope: [[MODULE]], file: [[FILE]], line: 31, type: [[FOO_TYPE]], spFlags: DISPFlagDefinition, unit: [[CU]])
80+
81+
// CHECK-DAG: [[DEBUGLOC0]] = !DILocation(line: 32, column: 18, scope: [[FOO]])
82+
// CHECK-DAG: [[DEBUGLOC1]] = !DILocation(line: 32, column: 28, scope: [[FOO]])

0 commit comments

Comments
 (0)