mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-27 07:19:03 -04:00

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. llvm-svn: 177475
31 lines
1.1 KiB
C
31 lines
1.1 KiB
C
// 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>
|
|
|
|
int test1(int a) {
|
|
switch (a % 2) {
|
|
case 0:
|
|
++a;
|
|
case 1:
|
|
a /= 2;
|
|
}
|
|
return 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]]
|
|
|
|
// CHECK: attributes [[NRZ]] = { {{.*}}noredzone{{.*}} }
|