diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-01-17 18:58:44 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-01-17 18:58:44 +0000 |
commit | ee56962cc1cb0a8f421b4749e52f6a9dcc4d958c (patch) | |
tree | 4ff995c7df053ada59dabd28c358cd9f5d83c260 /clang/lib/Parse/ParseStmt.cpp | |
parent | 834c373e3fdf8d5d0199c6e10e924fdbf94c8366 (diff) | |
download | bcm5719-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.cpp | 6 |
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); |