aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/code-coverage.c
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2013-03-20 02:14:38 +0000
committerNick Lewycky <nicholas@mxc.ca>2013-03-20 02:14:38 +0000
commit83c546afef39d6b7be69f3f399804ebf037c4022 (patch)
treedf4b1bc63b3b5948e393659b415771a792ba96b7 /test/CodeGen/code-coverage.c
parentc96cd7a07a68f74fec35297cc1f2a3d2171fdcdb (diff)
The flag "-coverage-function-names-in-data" is actually backwards -- we do
emit function names in .gcda files by default, and the flag turns that off! Rename the flag to make it match what it actually does. This keeps the default format compatible with gcc 4.2. Also add a test for this flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177475 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/code-coverage.c')
-rw-r--r--test/CodeGen/code-coverage.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/CodeGen/code-coverage.c b/test/CodeGen/code-coverage.c
index 2c5aa6b227..1b87d649dd 100644
--- a/test/CodeGen/code-coverage.c
+++ b/test/CodeGen/code-coverage.c
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 -emit-llvm -disable-red-zone -femit-coverage-data %s -o - | FileCheck %s
+// RUN: %clang_cc1 -emit-llvm -disable-red-zone -femit-coverage-data -coverage-no-function-names-in-data %s -o - | FileCheck %s --check-prefix WITHOUTNAMES
// <rdar://problem/12843084>
@@ -15,7 +16,14 @@ int test1(int a) {
// Check that the noredzone flag is set on the generated functions.
// CHECK: void @__llvm_gcov_indirect_counter_increment(i32* %{{.*}}, i64** %{{.*}}) unnamed_addr [[NRZ:#[0-9]+]]
+
+// Inside llvm_gcov_writeout, check that -coverage-no-function-names-in-data
+// passes null as the function name.
// CHECK: void @__llvm_gcov_writeout() unnamed_addr [[NRZ]]
+// CHECK: call void @llvm_gcda_emit_function({{.*}}, i8* getelementptr {{.*}}, {{.*}})
+// WITHOUTNAMES: void @__llvm_gcov_writeout() unnamed_addr
+// WITHOUTNAMES: call void @llvm_gcda_emit_function({{.*}}, i8* null, {{.*}})
+
// CHECK: void @__llvm_gcov_flush() unnamed_addr [[NRZ]]
// CHECK: void @__llvm_gcov_init() unnamed_addr [[NRZ]]