1*67e74705SXin Li // Check that the profiling counters and data we create have the linkage we expect 2*67e74705SXin Li // 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*67e74705SXin Li 4*67e74705SXin Li // CHECK: @__profc_foo = private global 5*67e74705SXin Li // CHECK: @__profd_foo = private global 6*67e74705SXin Li // CHECK: @__profc_foo_weak = weak hidden global 7*67e74705SXin Li // CHECK: @__profd_foo_weak = weak hidden global 8*67e74705SXin Li // CHECK: @__profc_main = private global 9*67e74705SXin Li // CHECK: @__profd_main = private global 10*67e74705SXin Li // CHECK: @__profc_c_linkage.c_foo_internal = private global 11*67e74705SXin Li // CHECK: @__profd_c_linkage.c_foo_internal = private global 12*67e74705SXin Li foo(void)13*67e74705SXin Livoid foo(void) { } 14*67e74705SXin Li 15*67e74705SXin Li void foo_weak(void) __attribute__((weak)); foo_weak(void)16*67e74705SXin Livoid foo_weak(void) { if (0){} if (0){} if (0){} if (0){} } 17*67e74705SXin Li 18*67e74705SXin Li static void foo_internal(void); main(void)19*67e74705SXin Liint main(void) { 20*67e74705SXin Li foo(); 21*67e74705SXin Li foo_internal(); 22*67e74705SXin Li foo_weak(); 23*67e74705SXin Li return 0; 24*67e74705SXin Li } 25*67e74705SXin Li foo_internal(void)26*67e74705SXin Listatic void foo_internal(void) { if (0){} if (0){} } 27