1*0a6a1f1dSLionel Sambuc // no PCH 2*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -fopenmp=libiomp5 -emit-llvm -include %s -include %s %s -o - | FileCheck %s 3*0a6a1f1dSLionel Sambuc // with PCH 4*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -fopenmp=libiomp5 -emit-llvm -chain-include %s -chain-include %s %s -o - | FileCheck %s 5*0a6a1f1dSLionel Sambuc #if !defined(PASS1) 6*0a6a1f1dSLionel Sambuc #define PASS1 7*0a6a1f1dSLionel Sambuc 8*0a6a1f1dSLionel Sambuc extern "C" int* malloc (int size); 9*0a6a1f1dSLionel Sambuc int *a = malloc(20); 10*0a6a1f1dSLionel Sambuc 11*0a6a1f1dSLionel Sambuc #elif !defined(PASS2) 12*0a6a1f1dSLionel Sambuc #define PASS2 13*0a6a1f1dSLionel Sambuc 14*0a6a1f1dSLionel Sambuc #pragma omp threadprivate(a) 15*0a6a1f1dSLionel Sambuc 16*0a6a1f1dSLionel Sambuc #else 17*0a6a1f1dSLionel Sambuc 18*0a6a1f1dSLionel Sambuc // CHECK: call {{.*}} @__kmpc_threadprivate_register( 19*0a6a1f1dSLionel Sambuc 20*0a6a1f1dSLionel Sambuc // CHECK-LABEL: foo foo()21*0a6a1f1dSLionel Sambucint foo() { 22*0a6a1f1dSLionel Sambuc return *a; 23*0a6a1f1dSLionel Sambuc // CHECK: call {{.*}} @__kmpc_global_thread_num( 24*0a6a1f1dSLionel Sambuc // CHECK: call {{.*}} @__kmpc_threadprivate_cached( 25*0a6a1f1dSLionel Sambuc } 26*0a6a1f1dSLionel Sambuc #endif 27