// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fopenmp \ // RUN: -fsyntax-only -verify %s // RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fopenmp \ // RUN: -ast-print %s | FileCheck %s // RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fopenmp \ // RUN: -emit-pch -o %t %s // RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fopenmp \ // RUN: -include-pch %t -ast-print %s | FileCheck %s // expected-no-diagnostics #ifndef HEADER #define HEADER //CHECK: template void templ_foo(T t) { //CHECK: T j, z; //CHECK: #pragma omp teams loop collapse(C) reduction(+: z) lastprivate(j) bind(thread) num_teams(C + 2) //CHECK: for (T i = 0; i < t; ++i) //CHECK: for (j = 0; j < t; ++j) //CHECK: z += i + j; //CHECK: } //CHECK: template<> void templ_foo(int t) { //CHECK: int j, z; //CHECK: #pragma omp teams loop collapse(2) reduction(+: z) lastprivate(j) bind(thread) num_teams(2 + 2) //CHECK: for (int i = 0; i < t; ++i) //CHECK: for (j = 0; j < t; ++j) //CHECK: z += i + j; //CHECK: } template void templ_foo(T t) { T j,z; #pragma omp teams loop collapse(C) reduction(+:z) lastprivate(j) bind(thread) num_teams(C+2) for (T i = 0; i(8); } #endif // HEADER