llvm-project/clang/lib
Douglas Gregor 9167f8bbd5 Introduce a new representation for template template
parameters. Rather than storing them as either declarations (for the
non-dependent case) or expressions (for the dependent case), we now
(always) store them as TemplateNames. 

The primary change here is to add a new kind of TemplateArgument,
which stores a TemplateName. However, making that change ripples to
every switch on a TemplateArgument's kind, also affecting
TemplateArgumentLocInfo/TemplateArgumentLoc, default template
arguments for template template parameters, type-checking of template
template arguments, etc.

This change is light on testing. It should fix several pre-existing
problems with template template parameters, such as:
  - the inability to use dependent template names as template template
  arguments
  - template template parameter default arguments cannot be
  instantiation

However, there are enough pieces missing that more implementation is
required before we can adequately test template template parameters. 

llvm-svn: 86777
2009-11-11 01:00:40 +00:00
..
AST Introduce a new representation for template template 2009-11-11 01:00:40 +00:00
Analysis Ignore parentheses when check the type of the expr. 2009-11-10 08:33:44 +00:00
Basic teach the various targets what native integer types they have. 2009-11-07 18:59:41 +00:00
CodeGen Stub out most of the VTT building code. WIP. 2009-11-11 00:35:07 +00:00
Driver Fix for FreeBSD toolchain in regards to CPP, Credit to Roman Divacky. 2009-11-08 10:13:36 +00:00
Frontend Introduce a new representation for template template 2009-11-11 01:00:40 +00:00
Headers A simple reordering of the definitions in stdint.h and 2009-11-04 23:03:18 +00:00
Index Preserve type source information in sizeof/alignof expressions, and pass it 2009-11-04 07:28:41 +00:00
Lex Add Diagnostic::Report method for reporting diagnostics without a location. 2009-11-10 23:55:23 +00:00
Parse Introduce a new representation for template template 2009-11-11 01:00:40 +00:00
Rewrite Make html::{SyntaxHighlight,HighlightMacros} take a const Preprocessor. 2009-11-05 01:54:02 +00:00
Sema Introduce a new representation for template template 2009-11-11 01:00:40 +00:00
CMakeLists.txt Introduce the 'Index' library. 2009-07-05 22:22:19 +00:00
Makefile Introduce the 'Index' library. 2009-07-05 22:22:19 +00:00