From 96dae81d7fe7570f97d8fbe03c02e145173f801c Mon Sep 17 00:00:00 2001 From: Alexey Bataev Date: Fri, 16 Feb 2018 18:36:44 +0000 Subject: [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 --- clang/test/OpenMP/openmp_check.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'clang/test') 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 -- cgit v1.2.3