diff options
| author | Paul Robinson <paul_robinson@playstation.sony.com> | 2015-06-26 00:36:50 +0000 |
|---|---|---|
| committer | Paul Robinson <paul_robinson@playstation.sony.com> | 2015-06-26 00:36:50 +0000 |
| commit | 889d722e876ccaf684ef07be65c1d6673640b904 (patch) | |
| tree | 82dcf3c8a31331aca65e6a9b40d4e8c5b9f1e9bf | |
| parent | 7c6d6491dd21893d0819ebdcb7b3b5d495c2f7c0 (diff) | |
| download | bcm5719-llvm-889d722e876ccaf684ef07be65c1d6673640b904.tar.gz bcm5719-llvm-889d722e876ccaf684ef07be65c1d6673640b904.zip | |
FileCheck-ize test and make sure more things don't happen.
Attribute 'nodebug' means no llvm.dbg.* intrinsics, no !dbg
annotations, and no DISubprogram for the function.
Differential Revision: http://reviews.llvm.org/D10747
llvm-svn: 240747
| -rw-r--r-- | clang/test/CodeGen/attr-nodebug.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/clang/test/CodeGen/attr-nodebug.c b/clang/test/CodeGen/attr-nodebug.c index 66caa2b38fa..07a4aa35a89 100644 --- a/clang/test/CodeGen/attr-nodebug.c +++ b/clang/test/CodeGen/attr-nodebug.c @@ -1,12 +1,32 @@ -// RUN: %clang_cc1 -g -emit-llvm -o %t %s -// RUN: not grep 'call void @llvm.dbg.func.start' %t +// RUN: %clang_cc1 -g -emit-llvm -o - %s | FileCheck %s void t1() __attribute__((nodebug)); void t1() { int a = 10; - a++; } +void t2() +{ + int b = 10; + b++; +} + +// With nodebug, IR should have no llvm.dbg.* calls, or !dbg annotations. +// CHECK-LABEL: @t1 +// CHECK-NOT: dbg +// CHECK: } + +// For sanity, check those things do occur normally. +// CHECK-LABEL: @t2 +// CHECK: call{{.*}}llvm.dbg +// CHECK: !dbg +// CHECK: } + +// We should see a function description for t2 but not t1. +// CHECK-NOT: DISubprogram(name: "t1" +// CHECK: DISubprogram(name: "t2" +// CHECK-NOT: DISubprogram(name: "t1" + |

