summaryrefslogtreecommitdiffstats
path: root/clang/test/Parser/DelayedTemplateParsing.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Support the use of "=delete" and "=default" with delayed templateDouglas Gregor2012-06-281-1/+12
| | | | | | parsing. Fixes <rdar://problem/11700604>. llvm-svn: 159380
* In -fdelayed-template-parsing mode, reenter every scope when late parsing a ↵Francois Pichet2012-02-221-0/+27
| | | | | | | | | | templated function; (Not just the template parameter scope as previously). Also enter the scope stack in the correct order. Otherwise this breaks some invariant during name lookup especially when dealing with shadowed declaration Fix PR11931. llvm-svn: 151140
* Enable delayed template parsing for friend functions declared at template ↵Francois Pichet2011-11-181-0/+4
| | | | | | class scope. llvm-svn: 144980
* [microsoft] Fix a bug in -fdelayed-template-parsing mode where we were not ↵Francois Pichet2011-09-221-2/+21
| | | | | | | | | | reentering the delayed function context correctly. The problem was that all template params were reintroduced inside the same scope. So if we had a situation where we had 2 template params with the same name at different scope then clang would generate an error about ambiguous name. The solution is to create a new ParseScope(Scope::TemplateParamScope) for each template scope that we want to reenter. (from the outmost to the innermost scope) This fixes some errors when parsing MFC code with clang. llvm-svn: 140344
* Remove hard coded dos line endings, let subversion translate them onChandler Carruth2011-04-251-42/+42
| | | | | | | | update. Despite the diff, nothing but line endings changed here. llvm-svn: 130121
* Correctly emit a diagnostic for multiple templated function definitions in ↵Francois Pichet2011-04-221-3/+14
| | | | | | -flate-template-parsing mode. llvm-svn: 130030
* Add -fdelayed-template-parsing option. Using this option all templated ↵Francois Pichet2011-04-221-0/+31
function definitions are parsed at the end of the translation unit only if it is required by an actual instantiation. As such all the symbols of the TU are available during name lookup. Using this flag is necessary for compatibility with Microsoft template code. This also provides some parsing speed improvement. llvm-svn: 130022
OpenPOWER on IntegriCloud