summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseStmt.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-01-17 18:58:44 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-01-17 18:58:44 +0000
commitee56962cc1cb0a8f421b4749e52f6a9dcc4d958c (patch)
tree4ff995c7df053ada59dabd28c358cd9f5d83c260 /clang/lib/Parse/ParseStmt.cpp
parent834c373e3fdf8d5d0199c6e10e924fdbf94c8366 (diff)
downloadbcm5719-llvm-ee56962cc1cb0a8f421b4749e52f6a9dcc4d958c.tar.gz
bcm5719-llvm-ee56962cc1cb0a8f421b4749e52f6a9dcc4d958c.zip
Convert "#pragma unused(...)" into tokens for the parser.
This allows us to cache a "#pragma unused" that occurs inside an inline C++ member function. Fixes rdar://8829590&8770988. llvm-svn: 123666
Diffstat (limited to 'clang/lib/Parse/ParseStmt.cpp')
-rw-r--r--clang/lib/Parse/ParseStmt.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseStmt.cpp b/clang/lib/Parse/ParseStmt.cpp
index b1d40d2a5c1..113b2661b0f 100644
--- a/clang/lib/Parse/ParseStmt.cpp
+++ b/clang/lib/Parse/ParseStmt.cpp
@@ -465,6 +465,12 @@ StmtResult Parser::ParseCompoundStatementBody(bool isStmtExpr) {
StmtVector Stmts(Actions);
while (Tok.isNot(tok::r_brace) && Tok.isNot(tok::eof)) {
+
+ if (Tok.is(tok::annot_pragma_unused)) {
+ HandlePragmaUnused();
+ continue;
+ }
+
StmtResult R;
if (Tok.isNot(tok::kw___extension__)) {
R = ParseStatementOrDeclaration(Stmts, false);
OpenPOWER on IntegriCloud