summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseExpr.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-01-05 01:24:05 +0000
committerChris Lattner <sabre@nondot.org>2009-01-05 01:24:05 +0000
commitb5134c05b9cfe1d82f3aaa6a098012acca607678 (patch)
tree6af29f6718d8a7520c882c819ee76478cdd494b6 /clang/lib/Parse/ParseExpr.cpp
parentd8cd7b6c3431a8dcbf13457730cf10a7ed4118a4 (diff)
downloadbcm5719-llvm-b5134c05b9cfe1d82f3aaa6a098012acca607678.tar.gz
bcm5719-llvm-b5134c05b9cfe1d82f3aaa6a098012acca607678.zip
TryAnnotateTypeOrScopeToken and TryAnnotateCXXScopeToken can
only be called when they might be needed now, so make them assert that their current token is :: or identifier. llvm-svn: 61662
Diffstat (limited to 'clang/lib/Parse/ParseExpr.cpp')
-rw-r--r--clang/lib/Parse/ParseExpr.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseExpr.cpp b/clang/lib/Parse/ParseExpr.cpp
index 8770bc28641..80e25ee6cb6 100644
--- a/clang/lib/Parse/ParseExpr.cpp
+++ b/clang/lib/Parse/ParseExpr.cpp
@@ -637,7 +637,8 @@ Parser::OwningExprResult Parser::ParseCastExpression(bool isUnaryExpression) {
return ParseCXXDeleteExpression(true, ColonColonTok.getLocation());
// Turn the qualified name into a annot_qualtypename or annot_cxxscope if
// it would be valid.
- if (TryAnnotateTypeOrScopeToken(&ColonColonTok)) {
+ if ((Tok.is(tok::identifier) || Tok.is(tok::coloncolon)) &&
+ TryAnnotateTypeOrScopeToken(&ColonColonTok)) {
// If so, retry (tail recurse).
return ParseCastExpression(isUnaryExpression);
}
OpenPOWER on IntegriCloud