1 // RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 %s 2 // RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -std=c++98 %s 3 // RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -std=c++11 %s 4 5 int nested(int a) { 6 #pragma omp parallel 7 ++a; 8 9 auto F = [&]() { 10 #if __cplusplus <= 199711L 11 // expected-warning@-2 {{'auto' type specifier is a C++11 extension}} 12 // expected-error@-3 {{expected expression}} 13 // expected-error@-4 {{expected ';' at end of declaration}} 14 #else 15 // expected-no-diagnostics 16 #endif 17 18 #pragma omp parallel 19 { 20 #pragma omp target 21 ++a; 22 } 23 }; 24 F(); 25 #if __cplusplus <= 199711L 26 // expected-error@-2 {{C++ requires a type specifier for all declarations}} 27 #endif 28 return a; 29 #if __cplusplus <= 199711L 30 // expected-error@-2 {{expected unqualified-id}} 31 #endif 32 } 33 #if __cplusplus <= 199711L 34 // expected-error@-2 {{extraneous closing brace ('}')}} 35 #endif 36