diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-03-31 18:38:02 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-03-31 18:38:02 +0000 |
commit | aa59489b18f2520264e6427cda4caf440d6b00b3 (patch) | |
tree | c5dad7d0e8e9e86874fb4b38ac0f0d88e0b50a37 /clang/lib/AST/TemplateName.cpp | |
parent | eccc5967bfdfd2fed96c34f52ec2e346a072dc48 (diff) | |
download | bcm5719-llvm-aa59489b18f2520264e6427cda4caf440d6b00b3.tar.gz bcm5719-llvm-aa59489b18f2520264e6427cda4caf440d6b00b3.zip |
Implement template instantiation for template names, including both
template template parameters and dependent template names. For
example, the oft-mentioned
typename MetaFun::template apply<T1, T2>::type
can now be instantiated, with the appropriate name lookup for "apply".
llvm-svn: 68128
Diffstat (limited to 'clang/lib/AST/TemplateName.cpp')
-rw-r--r-- | clang/lib/AST/TemplateName.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/AST/TemplateName.cpp b/clang/lib/AST/TemplateName.cpp index 4e54fe49559..3659e2350de 100644 --- a/clang/lib/AST/TemplateName.cpp +++ b/clang/lib/AST/TemplateName.cpp @@ -14,6 +14,7 @@ #include "clang/AST/DeclTemplate.h" #include "clang/AST/NestedNameSpecifier.h" #include "llvm/Support/raw_ostream.h" +#include <stdio.h> using namespace clang; @@ -52,3 +53,12 @@ void TemplateName::Print(llvm::raw_ostream &OS) const { OS << DTN->getName()->getName(); } } + +void TemplateName::Dump() const { + std::string Result; + { + llvm::raw_string_ostream OS(Result); + Print(OS); + } + fprintf(stderr, "%s", Result.c_str()); +} |