summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2014-01-09 20:12:12 +0000
committerAaron Ballman <aaron@aaronballman.com>2014-01-09 20:12:12 +0000
commit7c1fcf8b2cabd683beac967cbedc187d19c23487 (patch)
tree7fb628a1975c2066d6b717f042f1ab4e993980d7
parentcd56deb6bf6ce6fa192b3ef255fa2cc1e538ed7e (diff)
downloadbcm5719-llvm-7c1fcf8b2cabd683beac967cbedc187d19c23487.tar.gz
bcm5719-llvm-7c1fcf8b2cabd683beac967cbedc187d19c23487.zip
Attempting to appease the build bots on systems with ansi escape sequences.
llvm-svn: 198887
-rw-r--r--clang/lib/Parse/ParseDecl.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/clang/lib/Parse/ParseDecl.cpp b/clang/lib/Parse/ParseDecl.cpp
index 0ed245f942d..411edcc6d70 100644
--- a/clang/lib/Parse/ParseDecl.cpp
+++ b/clang/lib/Parse/ParseDecl.cpp
@@ -292,13 +292,8 @@ void Parser::ParseGNUAttributeArgs(IdentifierInfo *AttrName,
// Ignore the left paren location for now.
ConsumeParen();
- OwningPtr<EnterExpressionEvaluationContext> Unevaluated;
ArgsVector ArgExprs;
- if (attributeParsedArgsUnevaluated(*AttrName))
- Unevaluated.reset(new EnterExpressionEvaluationContext(Actions,
- Sema::Unevaluated));
-
if (Tok.is(tok::identifier)) {
// If this attribute wants an 'identifier' argument, make it so.
bool IsIdentifierArg = attributeHasIdentifierArg(*AttrName);
@@ -322,6 +317,11 @@ void Parser::ParseGNUAttributeArgs(IdentifierInfo *AttrName,
// Parse the non-empty comma-separated list of expressions.
do {
+ OwningPtr<EnterExpressionEvaluationContext> Unevaluated;
+ if (attributeParsedArgsUnevaluated(*AttrName))
+ Unevaluated.reset(new EnterExpressionEvaluationContext(Actions,
+ Sema::Unevaluated));
+
ExprResult ArgExpr(ParseAssignmentExpression());
if (ArgExpr.isInvalid()) {
SkipUntil(tok::r_paren, StopAtSemi);
@@ -338,6 +338,9 @@ void Parser::ParseGNUAttributeArgs(IdentifierInfo *AttrName,
Attrs.addNew(AttrName, SourceRange(AttrLoc, RParen), ScopeName, ScopeLoc,
ArgExprs.data(), ArgExprs.size(), Syntax);
}
+
+ if (EndLoc)
+ *EndLoc = RParen;
}
/// \brief Parses a single argument for a declspec, including the
OpenPOWER on IntegriCloud