summaryrefslogtreecommitdiffstats
path: root/clang/test/Parser/cxx-template-argument.cpp
Commit message (Collapse)AuthorAgeFilesLines
* PR18793: If we try to EnterTokenStream when our current lexer is a cachingRichard Smith2014-09-231-0/+5
| | | | | | | | | lexer, add the token buffer underneath the caching lexer where possible and push the tokens directly into the caching lexer otherwise. We previously put the lexer into a corrupted state where we could not guarantee to provide the tokens in the right order and would sometimes assert. llvm-svn: 218333
* Fix PR17637: incorrect calculation of template parameter depthFaisal Vali2013-12-041-0/+1
| | | | | | In delayed template parsing mode, adjust the template depth counter for each template parameter list associated with an out of line member template specialization. llvm-svn: 196351
* Avoid spurious error messages if parent template class cannot be instantiatedSerge Pavlov2013-08-101-0/+63
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D924 llvm-svn: 188133
* PR5066: If a declarator cannot have an identifier, and cannot possibly beRichard Smith2013-07-111-1/+1
| | | | | | | | | followed by an identifier, then diagnose an identifier as being a bogus part of the declarator instead of tripping over it. Improves diagnostics for cases like std::vector<const int *p> my_vec; llvm-svn: 186061
* PR41111, PR5925, PR13210: Teach tentative parsing to annotate identifiers andRichard Smith2012-08-181-0/+17
| | | | | | | | | | | | | | | | | nested names as id-expressions, using the annot_primary_expr annotation, where possible. This removes some redundant lookups, and also allows us to typo-correct within tentative parsing, and to carry on disambiguating past an identifier which we can determine will fail lookup as both a type and as a non-type, allowing us to disambiguate more declarations (and thus offer improved error recovery for such cases). This also introduces to the parser the notion of a tentatively-declared name, which is an identifier which we *might* have seen a declaration for in a tentative parse (but only if we end up disambiguating the tokens as a declaration). This is necessary to correctly disambiguate cases where a variable is used within its own initializer. llvm-svn: 162159
* Extend the error recovery for a template-argument-list terminated by '>>' toRichard Smith2012-06-181-0/+15
| | | | | | | | | also deal with '>>>' (in CUDA), '>=', and '>>='. Fix the FixItHints logic to deal with cases where the token is followed by an adjacent '=', '==', '>=', '>>=', or '>>>' token, where a naive fix-it would result in a differing token stream on a re-lex. llvm-svn: 158652
* When we're inside a functional cast, '>' is an operator. Fixes PR8912.Douglas Gregor2011-01-111-0/+3
| | | | llvm-svn: 123201
* Fix an assertion-on-error during tentative constructor parsing byJohn McCall2010-02-261-1/+1
| | | | | | | | | | propagating error conditions out of the various annotate-me-a-snowflake routines. Generally (but not universally) removes redundant diagnostics as well as, you know, not crashing on bad code. On the other hand, I have just signed myself up to fix fiddly parser errors for the next week. Again. llvm-svn: 97221
* Make sure to give an error for template argument lists followed by junk.Eli Friedman2009-12-271-0/+9
llvm-svn: 92177
OpenPOWER on IntegriCloud