33 lines · cpp
1// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 %s2// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -std=c++98 %s3// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -std=c++11 %s4 5// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 %s6// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++98 %s7// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++11 %s8// SIMD-ONLY0-NOT: {{__kmpc|__tgt}}9 10#define p _Pragma("omp parallel")11 12int nested(int a) {13#pragma omp parallel p // expected-error {{unexpected OpenMP directive}}14 ++a;15#pragma omp parallel16 ++a;17 18 auto F = [&]() {19#if __cplusplus <= 199711L20 // expected-warning@-2 {{'auto' type specifier is a C++11 extension}}21 // expected-warning@-3 {{lambdas are a C++11 extension}}22#endif23 24#pragma omp parallel25 {26#pragma omp target27 ++a;28 }29 };30 F();31 return a;32}33