summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseExprCXX.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-10-08 02:39:23 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2010-10-08 02:39:23 +0000
commitb5c7c5139281ea8435afd7385527b1801ef21c41 (patch)
tree3dddbcc7aea6d909f43424d8ad328aed3afe7753 /clang/lib/Parse/ParseExprCXX.cpp
parentd4e9c3b43a0c446378e1c5175e800a16a3e7c1f5 (diff)
downloadbcm5719-llvm-b5c7c5139281ea8435afd7385527b1801ef21c41.tar.gz
bcm5719-llvm-b5c7c5139281ea8435afd7385527b1801ef21c41.zip
When we encounter a '==' in a context expecting a '=', assume the user made a typo:
t.c:1:7: error: invalid '==' at end of declaration; did you mean '='? int x == 0; ^~ = Implements rdar://8488464. llvm-svn: 116035
Diffstat (limited to 'clang/lib/Parse/ParseExprCXX.cpp')
-rw-r--r--clang/lib/Parse/ParseExprCXX.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Parse/ParseExprCXX.cpp b/clang/lib/Parse/ParseExprCXX.cpp
index e8b921b8f7f..77cb4492f67 100644
--- a/clang/lib/Parse/ParseExprCXX.cpp
+++ b/clang/lib/Parse/ParseExprCXX.cpp
@@ -821,9 +821,10 @@ bool Parser::ParseCXXCondition(ExprResult &ExprOut,
DeclaratorInfo);
DeclOut = Dcl.get();
ExprOut = ExprError();
-
+
// '=' assignment-expression
- if (Tok.is(tok::equal)) {
+ if (isTokenEqualOrMistypedEqualEqual(
+ diag::err_invalid_equalequal_after_declarator)) {
SourceLocation EqualLoc = ConsumeToken();
ExprResult AssignExpr(ParseAssignmentExpression());
if (!AssignExpr.isInvalid())
OpenPOWER on IntegriCloud