diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-11-04 00:56:37 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-11-04 00:56:37 +0000 |
commit | ca1bdd7c269a2390d43c040a60511edd017ee130 (patch) | |
tree | 3310f54698515fedd46cc4c59468b2ea7bcd1759 /lib/Parse/Parser.cpp | |
parent | d0fe5366d4040545d5f72c547ae54e2c21e4cb68 (diff) |
Implement support for parsing dependent template-ids that refer to
overloaded operators, e.g.,
p->template operator+<T>()
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85989 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/Parser.cpp')
-rw-r--r-- | lib/Parse/Parser.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp index d1baa91b65..6836c307d3 100644 --- a/lib/Parse/Parser.cpp +++ b/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 |