зеркало из https://github.com/microsoft/clang-1.git
Eliminate backend dependency in CFE testcase.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176901 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
4c1adcc50d
Коммит
5ca58a0aca
|
@ -1,8 +1,8 @@
|
|||
// RUN: %clang_cc1 -g -emit-obj -o %t %s
|
||||
// RUN: llvm-dwarfdump %t | FileCheck %s
|
||||
// In the attached test case a post-r166236 clang coalesces two
|
||||
// instances of an inlined function in a way that makes it appear as
|
||||
// if the function was only inlined once.
|
||||
// RUN: %clang_cc1 -g -emit-llvm -o - %s | FileCheck %s
|
||||
|
||||
// Make sure that clang outputs distinct debug info for a function
|
||||
// that is inlined twice on the same line. Otherwise it would appear
|
||||
// as if the function was only inlined once.
|
||||
|
||||
#define INLINE inline __attribute__((always_inline))
|
||||
|
||||
|
@ -55,12 +55,27 @@ main(int argc, char const *argv[])
|
|||
return 0;
|
||||
}
|
||||
|
||||
// CHECK: DW_TAG_inlined_subroutine
|
||||
// CHECK: DW_TAG_inlined_subroutine
|
||||
// CHECK: DW_TAG_inlined_subroutine
|
||||
// CHECK: DW_TAG_inlined_subroutine
|
||||
// CHECK-NOT: DW_TAG_inlined_subroutine
|
||||
// CHECK: DW_AT_call_line {{.*}} (0x2a)
|
||||
// CHECK: DW_TAG_inlined_subroutine
|
||||
// CHECK-NOT: DW_TAG_inlined_subroutine
|
||||
// CHECK: DW_AT_call_line {{.*}} (0x2a)
|
||||
// CHECK: define i32 @_Z3fooii(i32 %i, i32 %j)
|
||||
// i
|
||||
// CHECK: call void @llvm.dbg.declare
|
||||
// j
|
||||
// CHECK: call void @llvm.dbg.declare
|
||||
// x
|
||||
// CHECK: call void @llvm.dbg.declare
|
||||
// y
|
||||
// CHECK: call void @llvm.dbg.declare
|
||||
// result
|
||||
// CHECK: call void @llvm.dbg.declare
|
||||
|
||||
// CHECK: call void @llvm.dbg.declare(metadata !{i32* %{{.*}}}, metadata ![[A_MD:[0-9]+]]), !dbg ![[A_DI:[0-9]+]]
|
||||
// CHECK: call void @llvm.dbg.declare(metadata !{i32* %{{.*}}}, metadata ![[B_MD:[0-9]+]]), !dbg ![[B_DI:[0-9]+]]
|
||||
// result
|
||||
// CHECK: call void @llvm.dbg.declare
|
||||
|
||||
// We want to see a distinct !dbg node.
|
||||
// CHECK-NOT: call void @llvm.dbg.declare(metadata !{i32* %{{.*}}}, metadata ![[A_MD]]), !dbg ![[A_DI]]
|
||||
// CHECK: call void @llvm.dbg.declare(metadata !{i32* %{{.*}}}, metadata ![[A_MD]]), !dbg !{{.*}}
|
||||
// CHECK-NOT: call void @llvm.dbg.declare(metadata !{i32* %{{.*}}}, metadata ![[B_MD]]), !dbg ![[B_DI]]
|
||||
// CHECK: call void @llvm.dbg.declare(metadata !{i32* %{{.*}}}, metadata ![[B_MD]]), !dbg !{{.*}}
|
||||
// result
|
||||
// CHECK: call void @llvm.dbg.declare
|
||||
|
|
Загрузка…
Ссылка в новой задаче