40 lines · plain
1int main(int argc, char** argv) {2 #pragma omp TGT1_DIRECTIVE3 {4#ifdef LOOP_DIRECTIVE5 #pragma omp LOOP_DIRECTIVE6 for (int i = 0; i < argc; ++i)7#endif8 {9#ifdef BODY_DIRECTIVE10 #pragma omp BODY_DIRECTIVE11 {12 }13#endif14 }15 }16 17#ifdef TGT2_DIRECTIVE18#pragma omp TGT2_DIRECTIVE19 {20#ifdef LOOP_DIRECTIVE21 #pragma omp LOOP_DIRECTIVE22 for (int i = 0; i < argc; ++i)23#endif24 {25#ifdef BODY_DIRECTIVE26 #pragma omp BODY_DIRECTIVE27 {28 }29#endif30 }31 }32#endif33}34 35// Check for an empty kernel (IR level)36// FIRST: define weak_odr {{.*}} void @__omp_offloading_{{.*}}_main{{.*}}37 38// Check for two empty kernels (IR level)39// SECOND: define weak_odr {{.*}} void @__omp_offloading_{{.*}}_main{{.*}}40