blob: 5ac777b267ab844f349c908771d36b487d3b0bb4 [file] [log] [blame]
Xinliang David Li3106d9a2016-01-28 18:25:53 +00001// Make sure instrumentation data from available_externally functions doesn't
2// get thrown out and are emitted with the expected linkage.
Rong Xu9837ef52016-02-04 18:39:09 +00003// RUN: %clang_cc1 -O2 -triple x86_64-apple-macosx10.9 -main-file-name c-linkage-available_externally.c %s -o - -emit-llvm -fprofile-instrument=clang | FileCheck %s
Duncan P. N. Exon Smith7c414512014-03-20 22:50:08 +00004
Xinliang David Liddbdb1e2015-12-15 00:33:12 +00005// CHECK: @__profc_foo = linkonce_odr hidden global [1 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
Vedant Kumarf1ccf722016-10-11 21:56:05 +00006// CHECK: @__profd_foo = linkonce_odr hidden global {{.*}} i64* getelementptr inbounds ([1 x i64], [1 x i64]* @__profc_foo, i32 0, i32 0){{.*}}, section "__DATA,__llvm_prf_data,regular,live_support", align 8
Duncan P. N. Exon Smith7c414512014-03-20 22:50:08 +00007inline int foo(void) { return 1; }
8
9int main(void) {
10 return foo();
11}