summaryrefslogtreecommitdiffstats
path: root/clang/test/OpenMP/openmp_check.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2018-02-16 18:36:44 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2018-02-16 18:36:44 +0000
commit96dae81d7fe7570f97d8fbe03c02e145173f801c (patch)
tree1caa8ac5978d8d350fe3429c2acadba676947b3a /clang/test/OpenMP/openmp_check.cpp
parent79bd39db8098b4092b83931b1ee2cb58dc30499c (diff)
downloadbcm5719-llvm-96dae81d7fe7570f97d8fbe03c02e145173f801c.tar.gz
bcm5719-llvm-96dae81d7fe7570f97d8fbe03c02e145173f801c.zip
[OPENMP] Fix parsing of the directives with inner directives.
The parsing may lead to compiler hanging because of the incorrect processing of inner OpenMP pragmas. llvm-svn: 325369
Diffstat (limited to 'clang/test/OpenMP/openmp_check.cpp')
-rw-r--r--clang/test/OpenMP/openmp_check.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/test/OpenMP/openmp_check.cpp b/clang/test/OpenMP/openmp_check.cpp
index 14820485c0a..cd4706b57e4 100644
--- a/clang/test/OpenMP/openmp_check.cpp
+++ b/clang/test/OpenMP/openmp_check.cpp
@@ -7,7 +7,11 @@
// RUN: %clang_cc1 -verify -fopenmp-simd -ferror-limit 100 -std=c++11 %s
// SIMD-ONLY0-NOT: {{__kmpc|__tgt}}
+#define p _Pragma("omp parallel")
+
int nested(int a) {
+#pragma omp parallel p // expected-error {{unexpected OpenMP directive}}
+ ++a;
#pragma omp parallel
++a;
@@ -16,8 +20,6 @@ int nested(int a) {
// expected-warning@-2 {{'auto' type specifier is a C++11 extension}}
// expected-error@-3 {{expected expression}}
// expected-error@-4 {{expected ';' at end of declaration}}
-#else
- // expected-no-diagnostics
#endif
#pragma omp parallel
OpenPOWER on IntegriCloud