diff options
author | DeLesley Hutchins <delesley@google.com> | 2013-02-07 19:01:07 +0000 |
---|---|---|
committer | DeLesley Hutchins <delesley@google.com> | 2013-02-07 19:01:07 +0000 |
commit | eb849c6bd5cd39369ba7078c03447b371d73db71 (patch) | |
tree | a372084c34c8d61140ccd12da1a55b9d7e7c95bb /clang/lib | |
parent | 37fea69391468fac9ba32ac6c717c25eb0f670d1 (diff) | |
download | bcm5719-llvm-eb849c6bd5cd39369ba7078c03447b371d73db71.tar.gz bcm5719-llvm-eb849c6bd5cd39369ba7078c03447b371d73db71.zip |
Thread safety analysis: make sure that expressions in attributes are parsed
in an unevaluated context.
llvm-svn: 174644
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Parse/ParseDecl.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp index 8e24a14d0b9..14fd581ddcb 100644 --- a/clang/lib/Parse/ParseDecl.cpp +++ b/clang/lib/Parse/ParseDecl.cpp @@ -1023,6 +1023,7 @@ void Parser::ParseThreadSafetyAttribute(IdentifierInfo &AttrName, // now parse the list of expressions while (Tok.isNot(tok::r_paren)) { + EnterExpressionEvaluationContext Unevaluated(Actions, Sema::Unevaluated); ExprResult ArgExpr(ParseAssignmentExpression()); if (ArgExpr.isInvalid()) { ArgExprsOk = false; |