clang-1/lib/Frontend
Douglas Gregor 788cd06cf8 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. 



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-11 01:00:40 +00:00
..
ASTConsumers.cpp Audit the code for places where it is assumed that every base specifier refers to a RecordType. Add assertions or conditions as appropriate. This fixes another crash in the Apache stdlib vector. 2009-10-25 17:03:50 +00:00
ASTUnit.cpp StringRefify some PCH interfaces. 2009-11-11 00:52:11 +00:00
AnalysisConsumer.cpp Add a checker for CWE-467: Use of sizeof() on a Pointer Type. 2009-11-08 13:10:34 +00:00
Backend.cpp Localize -disable-llvm-optzns handling to BackendConsumer::CreatePasses. 2009-11-10 17:50:53 +00:00
CMakeLists.txt Fixup windows include paths. Patch by John Thompson. 2009-10-12 20:50:45 +00:00
CacheTokens.cpp PR5218: Replace IdentifierInfo::getName with StringRef version, now that clients 2009-10-18 21:17:35 +00:00
DeclXML.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
DependencyFile.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
DiagChecker.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
DocumentXML.cpp Refactor the representation of qualifiers to bring ExtQualType out of the 2009-09-24 19:53:00 +00:00
FixItRewriter.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
GeneratePCH.cpp Add support for a chain of stat caches in the FileManager, rather than 2009-10-16 18:18:30 +00:00
HTMLDiagnostics.cpp Convert CreateAnalysisConsumer and friends to just take a const Preprocessor&, and simplify. 2009-11-05 02:41:58 +00:00
HTMLPrint.cpp Kill PreprocessorFactory, which was both morally repugnant and totally unused. 2009-11-04 23:56:25 +00:00
InitHeaderSearch.cpp Privatize InitHeaderSearch, this functionality is only exposed via 2009-11-09 23:02:47 +00:00
InitPreprocessor.cpp PreprocessorOptions: Get rid of unnecessary 'isPTH' flag for include entries. 2009-11-10 23:53:43 +00:00
Makefile Installation of Clang libraries and headers, from Axel Naumann! 2009-10-08 22:15:31 +00:00
ManagerRegistry.cpp Rename lib/Driver (etc) to lib/Frontend in prep for the *actual* 2009-03-02 06:16:29 +00:00
PCHReader.cpp Introduce a new representation for template template 2009-11-11 01:00:40 +00:00
PCHReaderDecl.cpp Add support for cdecl attribute. (As far as I know, it doesn't affect CodeGen 2009-11-09 18:38:53 +00:00
PCHReaderStmt.cpp Preserve type source information in sizeof/alignof expressions, and pass it 2009-11-04 07:28:41 +00:00
PCHWriter.cpp Introduce a new representation for template template 2009-11-11 01:00:40 +00:00
PCHWriterDecl.cpp Rename FunctionDecl::isInline/setInline to 2009-10-27 21:01:01 +00:00
PCHWriterStmt.cpp Preserve type source information in sizeof/alignof expressions, and pass it 2009-11-04 07:28:41 +00:00
PlistDiagnostics.cpp Convert CreateAnalysisConsumer and friends to just take a const Preprocessor&, and simplify. 2009-11-05 02:41:58 +00:00
PrintParserCallbacks.cpp Update prototype. 2009-09-11 06:34:14 +00:00
PrintPreprocessedOutput.cpp Fix buffer overflow in PrintMacroDefinition() by inverting the check to see if the target buffer needs to be resized. Fixes <rdar://problem/7255377>. 2009-11-03 06:18:05 +00:00
RewriteBlocks.cpp Change all the Type::getAsFoo() methods to specializations of Type::getAs(). 2009-09-21 23:43:11 +00:00
RewriteMacros.cpp PR5218: Replace IdentifierInfo::getName with StringRef version, now that clients 2009-10-18 21:17:35 +00:00
RewriteObjC.cpp Preserve type source information in sizeof/alignof expressions, and pass it 2009-11-04 07:28:41 +00:00
RewriteTest.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
StmtXML.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
TextDiagnosticBuffer.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
TextDiagnosticPrinter.cpp Replace DiagnosticClient::setLangOptions with {Begin,End}SourceFile, and clarify 2009-11-05 02:42:12 +00:00
TypeXML.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
Warnings.cpp Add Diagnostic::Report method for reporting diagnostics without a location. 2009-11-10 23:55:23 +00:00