1 // Test host codegen. 2 // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple powerpc64le-unknown-unknown -fopenmp-targets=powerpc64le-ibm-linux-gnu -emit-llvm %s -o - | FileCheck %s --check-prefix CHECK --check-prefix CHECK-64 3 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple powerpc64le-unknown-unknown -fopenmp-targets=powerpc64le-ibm-linux-gnu -emit-pch -o %t %s 4 // RUN: %clang_cc1 -fopenmp -x c++ -triple powerpc64le-unknown-unknown -fopenmp-targets=powerpc64le-ibm-linux-gnu -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s --check-prefix CHECK --check-prefix CHECK-64 5 6 // expected-no-diagnostics 7 #ifndef HEADER 8 #define HEADER 9 10 int global; 11 extern int global; 12 13 // CHECK: define {{.*}}[[FOO:@.+]]( 14 int foo(int n) { 15 int a = 0; 16 float b[10]; 17 double cn[5][n]; 18 19 #pragma omp target nowait depend(in: global) depend(out: a, b, cn[4]) 20 { 21 } 22 23 // CHECK: call i8* @__kmpc_omp_target_task_alloc({{.*}}, i64 -1) 24 25 #pragma omp target device(1) nowait depend(in: global) depend(out: a, b, cn[4]) 26 { 27 } 28 29 // CHECK: call i8* @__kmpc_omp_target_task_alloc({{.*}}, i64 1) 30 31 return a; 32 } 33 34 #endif 35