summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/TemplateName.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-03-31 18:38:02 +0000
committerDouglas Gregor <dgregor@apple.com>2009-03-31 18:38:02 +0000
commitaa59489b18f2520264e6427cda4caf440d6b00b3 (patch)
treec5dad7d0e8e9e86874fb4b38ac0f0d88e0b50a37 /clang/lib/AST/TemplateName.cpp
parenteccc5967bfdfd2fed96c34f52ec2e346a072dc48 (diff)
downloadbcm5719-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.cpp10
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());
+}
OpenPOWER on IntegriCloud