1 | // RUN: %clang_cc1 -debug-info-kind=standalone -std=c++11 -triple x86_64-darwin -emit-llvm -o - %s | FileCheck %s |
2 | |
3 | struct A { |
4 | A(int, ...); |
5 | }; |
6 | struct B : A { |
7 | using A::A; |
8 | }; |
9 | |
10 | A::A(int i, ...) {} |
11 | // CHECK: define void @{{.*}}foo |
12 | // CHECK-NOT: ret void |
13 | // CHECK: call void @llvm.dbg.declare |
14 | // CHECK-NOT: ret void |
15 | // CHECK: call void @llvm.dbg.declare(metadata %{{.*}}** %{{[^,]+}}, |
16 | // CHECK-SAME: metadata ![[THIS:[0-9]+]], metadata !DIExpression()), !dbg ![[LOC:[0-9]+]] |
17 | // CHECK: ret void, !dbg ![[NOINL:[0-9]+]] |
18 | // CHECK: ![[FOO:.*]] = distinct !DISubprogram(name: "foo" |
19 | // CHECK-DAG: ![[A:.*]] = distinct !DISubprogram(name: "A", linkageName: "_ZN1BCI11AEiz" |
20 | void foo() { |
21 | // CHECK-DAG: ![[LOC]] = !DILocation(line: 0, scope: ![[A]], inlinedAt: ![[INL:[0-9]+]]) |
22 | // CHECK-DAG: ![[INL]] = !DILocation(line: [[@LINE+1]], scope: ![[FOO]]) |
23 | B b(0); |
24 | // CHECK: ![[NOINL]] = !DILocation(line: [[@LINE+1]], scope: !{{[0-9]+}}) |
25 | } |
26 | |