summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/Parser.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-11-04 00:56:37 +0000
committerDouglas Gregor <dgregor@apple.com>2009-11-04 00:56:37 +0000
commit71395fa1d5f3dac15f4930143c481292ec715cb3 (patch)
treeb29aec6089ef8728412eeaa15b96e50870db11fd /clang/lib/Parse/Parser.cpp
parent71609a28742370150b2c97dcc9d9e670779d74d7 (diff)
downloadbcm5719-llvm-71395fa1d5f3dac15f4930143c481292ec715cb3.tar.gz
bcm5719-llvm-71395fa1d5f3dac15f4930143c481292ec715cb3.zip
Implement support for parsing dependent template-ids that refer to
overloaded operators, e.g., p->template operator+<T>() llvm-svn: 85989
Diffstat (limited to 'clang/lib/Parse/Parser.cpp')
-rw-r--r--clang/lib/Parse/Parser.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp
index d1baa91b65a..6836c307d32 100644
--- a/clang/lib/Parse/Parser.cpp
+++ b/clang/lib/Parse/Parser.cpp
@@ -940,13 +940,16 @@ bool Parser::TryAnnotateTypeOrScopeToken(bool EnteringContext) {
if (TemplateNameKind TNK
= Actions.isTemplateName(CurScope, SS, TemplateName,
/*ObjectType=*/0, EnteringContext,
- Template))
- if (AnnotateTemplateIdToken(Template, TNK, &SS)) {
+ Template)) {
+ // Consume the identifier.
+ ConsumeToken();
+ if (AnnotateTemplateIdToken(Template, TNK, &SS, TemplateName)) {
// If an unrecoverable error occurred, we need to return true here,
// because the token stream is in a damaged state. We may not return
// a valid identifier.
return Tok.isNot(tok::identifier);
}
+ }
}
// The current token, which is either an identifier or a
OpenPOWER on IntegriCloud