r190806 - Add some missing ProhibitAttributes calls to some declaration-like #pragmas.
Richard Smith
richard-llvm at metafoo.co.uk
Mon Sep 16 14:17:45 PDT 2013
Author: rsmith
Date: Mon Sep 16 16:17:44 2013
New Revision: 190806
URL: http://llvm.org/viewvc/llvm-project?rev=190806&view=rev
Log:
Add some missing ProhibitAttributes calls to some declaration-like #pragmas.
Modified:
cfe/trunk/lib/Parse/ParseStmt.cpp
cfe/trunk/test/OpenMP/parallel_messages.cpp
cfe/trunk/test/SemaCXX/captured-statements.cpp
Modified: cfe/trunk/lib/Parse/ParseStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseStmt.cpp?rev=190806&r1=190805&r2=190806&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseStmt.cpp (original)
+++ cfe/trunk/lib/Parse/ParseStmt.cpp Mon Sep 16 16:17:44 2013
@@ -303,9 +303,11 @@ Retry:
return StmtEmpty();
case tok::annot_pragma_captured:
+ ProhibitAttributes(Attrs);
return HandlePragmaCaptured();
case tok::annot_pragma_openmp:
+ ProhibitAttributes(Attrs);
return ParseOpenMPDeclarativeOrExecutableDirective();
}
Modified: cfe/trunk/test/OpenMP/parallel_messages.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_messages.cpp?rev=190806&r1=190805&r2=190806&view=diff
==============================================================================
--- cfe/trunk/test/OpenMP/parallel_messages.cpp (original)
+++ cfe/trunk/test/OpenMP/parallel_messages.cpp Mon Sep 16 16:17:44 2013
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -o - %s
+// RUN: %clang_cc1 -verify -fopenmp -ferror-limit 100 -std=c++11 -o - %s
void foo() {
}
@@ -44,6 +44,10 @@ int main(int argc, char **argv) {
return 1; // expected-error {{cannot return from OpenMP region}}
}
+ [[]] // expected-error {{an attribute list cannot appear here}}
+ #pragma omp parallel
+ for (int n = 0; n < 100; ++n) {}
+
return 0;
}
Modified: cfe/trunk/test/SemaCXX/captured-statements.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/captured-statements.cpp?rev=190806&r1=190805&r2=190806&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/captured-statements.cpp (original)
+++ cfe/trunk/test/SemaCXX/captured-statements.cpp Mon Sep 16 16:17:44 2013
@@ -164,3 +164,10 @@ void test_capture_variadic() {
(void)captured_sum(1, 2, 3); // OK
(void)captured_sum(1, 2, 3, 4, 5); // OK
}
+
+void test_capture_with_attributes() {
+ [[]] // expected-error {{an attribute list cannot appear here}}
+ #pragma clang __debug captured
+ {
+ }
+}
More information about the cfe-commits
mailing list