summaryrefslogtreecommitdiffstats
path: root/clang/include/clang/Parse/Template.h
Commit message (Collapse)AuthorAgeFilesLines
* Another step in the process of making the parser depend on Sema:John McCall2010-08-201-171/+0
| | | | | | | | | - move DeclSpec &c into the Sema library - move ParseAST into the Parse library Reflect this change in a thousand different includes. Reflect this change in the link orders. llvm-svn: 111667
* Start removing the use of smart pointers from the Parse/SemaDouglas Gregor2010-07-251-12/+0
| | | | | | | | interaction, by effectively defaulting to DISABLE_SMART_POINTERS. We're embracing the model where all AST nodes are ASTContext-allocated and live as long as the ASTContext lives. llvm-svn: 109374
* Implement C++ DR481, which clarifies that the scope of templateDouglas Gregor2010-07-011-1/+1
| | | | | | | | | | | | | | | | | parameters starts at the end of the template-parameter rather than at the point where the template parameter name is encounted. For example, given: typedef unsigned char T; template<typename T = T> struct X0 { }; The "T" in the default argument refers to the typedef of "unsigned char", rather than referring to the newly-introduced template type parameter 'T'. Addresses <rdar://problem/8122812>. llvm-svn: 107354
* Add newline at EOF.Benjamin Kramer2009-11-101-1/+1
| | | | llvm-svn: 86720
* Improve parsing of template arguments to lay the foundation forDouglas Gregor2009-11-101-0/+183
handling template template parameters properly. This refactoring: - Parses template template arguments as id-expressions, representing the result of the parse as a template name (Action::TemplateTy) rather than as an expression (lame!). - Represents all parsed template arguments via a new parser-specific type, ParsedTemplateArgument, which stores the kind of template argument (type, non-type, template) along with all of the source information about the template argument. This replaces an ad hoc set of 3 vectors (one for a void*, which was either a type or an expression; one for a bit telling whether the first was a type or an expression; and one for a single source location pointing at the template argument). - Moves TemplateIdAnnotation into the new Parse/Template.h. It never belonged in the Basic library anyway. llvm-svn: 86708
OpenPOWER on IntegriCloud