summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-10-12 17:39:59 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-10-12 17:39:59 +0000
commit5c2021bf2a6ecfd4b8b04b4e3d9c9de9e07ae021 (patch)
tree9ba1d9aabb91e16dc7eee0b660123d257bc75769
parent3f7e7c061c9ef9c3452c25da2ac7ea1bb4079509 (diff)
downloadbcm5719-llvm-5c2021bf2a6ecfd4b8b04b4e3d9c9de9e07ae021.tar.gz
bcm5719-llvm-5c2021bf2a6ecfd4b8b04b4e3d9c9de9e07ae021.zip
Handle a "#pragma options align" inside a class.
llvm-svn: 165810
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp5
-rw-r--r--clang/test/Parser/pragma-options.cpp5
2 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp
index 7e1e8ce10e4..e656a6bd766 100644
--- a/clang/lib/Parse/ParseDeclCXX.cpp
+++ b/clang/lib/Parse/ParseDeclCXX.cpp
@@ -2372,6 +2372,11 @@ void Parser::ParseCXXMemberSpecification(SourceLocation RecordLoc,
continue;
}
+ if (Tok.is(tok::annot_pragma_align)) {
+ HandlePragmaAlign();
+ continue;
+ }
+
AccessSpecifier AS = getAccessSpecifierIfPresent();
if (AS != AS_none) {
// Current token is a C++ access specifier.
diff --git a/clang/test/Parser/pragma-options.cpp b/clang/test/Parser/pragma-options.cpp
new file mode 100644
index 00000000000..152aacb8fd1
--- /dev/null
+++ b/clang/test/Parser/pragma-options.cpp
@@ -0,0 +1,5 @@
+// RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -verify %s
+
+class C {
+#pragma options align=natural
+};
OpenPOWER on IntegriCloud