1 | // Check that the profiling counters and data we create have the linkage we expect |
2 | // RUN: %clang_cc1 -triple x86_64-apple-macosx10.9 -main-file-name c-linkage.c %s -o - -emit-llvm -fprofile-instrument=clang | FileCheck %s |
3 | |
4 | // CHECK: @__profc_foo = private global |
5 | // CHECK: @__profd_foo = private global |
6 | // CHECK: @__profc_foo_weak = weak hidden global |
7 | // CHECK: @__profd_foo_weak = weak hidden global |
8 | // CHECK: @__profc_main = private global |
9 | // CHECK: @__profd_main = private global |
10 | // CHECK: @__profc_c_linkage.c_foo_internal = private global |
11 | // CHECK: @__profd_c_linkage.c_foo_internal = private global |
12 | |
13 | void foo(void) { } |
14 | |
15 | void foo_weak(void) __attribute__((weak)); |
16 | void foo_weak(void) { if (0){} if (0){} if (0){} if (0){} } |
17 | |
18 | static void foo_internal(void); |
19 | int main(void) { |
20 | foo(); |
21 | foo_internal(); |
22 | foo_weak(); |
23 | return 0; |
24 | } |
25 | |
26 | static void foo_internal(void) { if (0){} if (0){} } |
27 | |