diff options
Diffstat (limited to 'clang/test/OpenMP/for_loop_messages.cpp')
| -rw-r--r-- | clang/test/OpenMP/for_loop_messages.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/clang/test/OpenMP/for_loop_messages.cpp b/clang/test/OpenMP/for_loop_messages.cpp index e62ec07acc04..5f6f9c9a3fbc 100644 --- a/clang/test/OpenMP/for_loop_messages.cpp +++ b/clang/test/OpenMP/for_loop_messages.cpp @@ -1,8 +1,8 @@ -// RUN: %clang_cc1 -fsyntax-only -fopenmp -fopenmp-version=45 -x c++ -std=c++11 -fexceptions -fcxx-exceptions -verify=expected,omp4 %s -Wuninitialized -// RUN: %clang_cc1 -fsyntax-only -fopenmp -x c++ -std=c++11 -fexceptions -fcxx-exceptions -verify=expected,omp5 %s -Wuninitialized +// RUN: %clang_cc1 -fsyntax-only -fopenmp -fopenmp-version=45 -x c++ -std=c++11 -fexceptions -fcxx-exceptions -fnamed-loops -verify=expected,omp4 %s -Wuninitialized +// RUN: %clang_cc1 -fsyntax-only -fopenmp -x c++ -std=c++11 -fexceptions -fcxx-exceptions -fnamed-loops -verify=expected,omp5 %s -Wuninitialized -// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -fopenmp-version=45 -x c++ -std=c++11 -fexceptions -fcxx-exceptions -verify=expected,omp4 %s -Wuninitialized -// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -x c++ -std=c++11 -fexceptions -fcxx-exceptions -verify=expected,omp5 %s -Wuninitialized +// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -fopenmp-version=45 -x c++ -std=c++11 -fexceptions -fcxx-exceptions -fnamed-loops -verify=expected,omp4 %s -Wuninitialized +// RUN: %clang_cc1 -fsyntax-only -fopenmp-simd -x c++ -std=c++11 -fexceptions -fcxx-exceptions -fnamed-loops -verify=expected,omp5 %s -Wuninitialized class S { int a; @@ -842,3 +842,22 @@ void test_static_data_member() { }; } } + +void test_labeled_break() { +#pragma omp parallel +#pragma omp for + a: // expected-error {{statement after '#pragma omp for' must be a for loop}} + for (int i = 0; i < 16; ++i) { + break a; // expected-error {{'break' statement cannot be used in OpenMP for loop}} + continue a; + } + + b: while (1) { +#pragma omp parallel +#pragma omp for + for (int i = 0; i < 16; ++i) { + break b; // expected-error {{'break' label does not name an enclosing loop or 'switch'}} + continue b; // expected-error {{'continue' label does not name an enclosing loop}} + } + } +} |
