hanchenye-llvm-project/clang/lib/Frontend
John McCall 2408e32096 Make the InjectedClassNameType the canonical type of the current instantiation
of a class template or class template partial specialization.  That is to
say, in
  template <class T> class A { ... };
or
  template <class T> class B<const T*> { ... };
make 'A<T>' and 'B<const T*>' sugar for the corresponding InjectedClassNameType
when written inside the appropriate context.  This allows us to track the
current instantiation appropriately even inside AST routines.  It also allows
us to compute a DeclContext for a type much more efficiently, at some extra
cost every time we write a template specialization (which can be optimized,
but I've left it simple in this patch).

llvm-svn: 102407
2010-04-27 00:57:59 +00:00
..
ASTConsumers.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
ASTMerge.cpp Make Diagnostic reference-counted, which is simpler than juggling 2010-04-05 23:52:57 +00:00
ASTUnit.cpp Fix -Wcast-qual warnings. 2010-04-19 16:39:44 +00:00
AnalysisConsumer.cpp Add raw_ostream operators to NamedDecl for convenience. Switch over all users of getNameAsString on a stream. 2010-04-17 09:33:03 +00:00
CMakeLists.txt Update CMake makefiles 2010-02-25 04:52:01 +00:00
CacheTokens.cpp push some source location information down through the compiler, 2010-04-20 20:35:58 +00:00
CodeGenAction.cpp Fix -Wcast-qual warnings. 2010-04-19 16:39:44 +00:00
CompilerInstance.cpp Once we've emitted a fatal diagnostic, keep counting errors but with a 2010-04-14 22:19:45 +00:00
CompilerInvocation.cpp NeXT: Clean up dispatch method policy selection. 2010-04-24 17:56:46 +00:00
DeclXML.cpp Improve XML output for C++ classes, from Olaf Krzikalla! 2010-03-08 18:51:03 +00:00
DependencyFile.cpp PPCallbacks: Add hook for reaching the end of the main file, and fix DependencyFile to not do work in its destructor. 2010-03-23 05:09:10 +00:00
DiagChecker.cpp Kill a few more random stderr uses. 2009-12-03 09:14:02 +00:00
DocumentXML.cpp First part of changes to eliminate problems with cv-qualifiers and 2009-11-16 21:35:15 +00:00
FixItRewriter.cpp Switch this to new API. 2010-04-24 22:31:36 +00:00
FrontendAction.cpp Make Diagnostic reference-counted, which is simpler than juggling 2010-04-05 23:52:57 +00:00
FrontendActions.cpp Teach clang -fixit to modify files in-place, or -fixit=suffix to create new 2010-04-24 01:30:46 +00:00
FrontendOptions.cpp recognize .hpp as c++ (needed for ./configure'ing boost) 2009-11-17 15:36:35 +00:00
GeneratePCH.cpp Remove VISIBILITY_HIDDEN from anonymous namespaces in libFrontend. 2009-11-28 10:07:24 +00:00
HTMLDiagnostics.cpp Reinstate my CodeModificationHint -> FixItHint renaming patch, without 2010-03-31 17:46:05 +00:00
HTMLPrint.cpp Fix for PR4642: move work in HTMLPrinter out of the destructor. 2009-12-12 03:36:52 +00:00
InitHeaderSearch.cpp add GNU C++ include paths for Fedora 11,12 x86_64, 2010-04-23 15:55:20 +00:00
InitPreprocessor.cpp fix PR6936: don't generate line marker directives when preprocessing 2010-04-26 22:08:10 +00:00
LangStandards.cpp rename llvm::llvm_report_error -> llvm::report_fatal_error 2010-04-07 22:58:06 +00:00
Makefile Allow users to set CPPFLAGS and CXXFLAGS on the make command line. 2010-03-12 22:55:16 +00:00
PCHReader.cpp More work toward implementing 2010-04-23 17:41:07 +00:00
PCHReaderDecl.cpp Recommit r102215, this time being more careful to only set the "principal 2010-04-24 01:30:58 +00:00
PCHReaderStmt.cpp Make the static type of the exception variable in an Objective-C 2010-04-26 16:46:50 +00:00
PCHWriter.cpp Make the InjectedClassNameType the canonical type of the current instantiation 2010-04-27 00:57:59 +00:00
PCHWriterDecl.cpp Keep track of the actual storage specifier written on a variable or 2010-04-19 22:54:31 +00:00
PCHWriterStmt.cpp Improve the AST representation of Objective-C @try/@catch/@finally 2010-04-23 22:50:49 +00:00
PlistDiagnostics.cpp Move BugReporter.h, PathDiagnostic.h, and BugType.h to 'include/Checker/BugReporter' 2010-01-25 17:10:22 +00:00
PrintParserCallbacks.cpp Update prototypes. 2010-04-24 08:26:17 +00:00
PrintPreprocessedOutput.cpp push some source location information down through the compiler, 2010-04-20 20:35:58 +00:00
RewriteMacros.cpp push some source location information down through the compiler, 2010-04-20 20:35:58 +00:00
RewriteObjC.cpp Introduce Type::isStructureOrClassType(), which does the obvious 2010-04-26 21:31:17 +00:00
RewriteTest.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
StmtXML.cpp Use the llvm coding convention for indentation for switch. 2010-01-20 02:03:14 +00:00
TextDiagnosticBuffer.cpp Add TextDiagnosticBuffer::FlushDiagnostics, for forwarding the buffered diagnostics to a different diagnostics engine. 2009-11-30 08:41:34 +00:00
TextDiagnosticPrinter.cpp change FullSourceLoc to have a *const* SourceManager&, eliminating 2010-04-20 20:49:23 +00:00
TypeXML.cpp Use the llvm coding convention for indentation for switch. 2010-01-20 02:03:14 +00:00
VerifyDiagnosticsClient.cpp Fix PR5633 by making the preprocessor handle the case where we can 2009-11-30 04:18:44 +00:00
Warnings.cpp Introduce a limit on the depth of the template instantiation backtrace 2010-04-20 07:18:24 +00:00