summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle-subst.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-09-27 01:06:07 +0000
committerAnders Carlsson <andersca@mac.com>2009-09-27 01:06:07 +0000
commit9bf787ad1f137c610f7773110ea9252cfec9ea5e (patch)
treec8721c1d57471ddd55425672881b75ab681b0903 /clang/test/CodeGenCXX/mangle-subst.cpp
parent84a1eeb7edbf66e52cb83c1956ad39fbf5ed10fa (diff)
downloadbcm5719-llvm-9bf787ad1f137c610f7773110ea9252cfec9ea5e.tar.gz
bcm5719-llvm-9bf787ad1f137c610f7773110ea9252cfec9ea5e.zip
Look for substitutions when mangling TypenameTypes.
llvm-svn: 82885
Diffstat (limited to 'clang/test/CodeGenCXX/mangle-subst.cpp')
-rw-r--r--clang/test/CodeGenCXX/mangle-subst.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle-subst.cpp b/clang/test/CodeGenCXX/mangle-subst.cpp
index 2ff375e711c..cda6df58ea2 100644
--- a/clang/test/CodeGenCXX/mangle-subst.cpp
+++ b/clang/test/CodeGenCXX/mangle-subst.cpp
@@ -31,3 +31,18 @@ struct C {
// CHECK: define void @_Z1fN1C1DERS_PS_S1_(
void f(C::D, C&, C*, C&) { }
+
+template<typename T>
+struct V {
+ typedef int U;
+};
+
+template <typename T> void f1(typename V<T>::U, V<T>) { }
+
+// CHECK: @_Z2f1IiEvN1VIT_E1UES2_
+template void f1<int>(int, V<int>);
+
+template <typename T> void f2(V<T>, typename V<T>::U) { }
+
+// CHECK: @_Z2f2IiEv1VIT_ENS2_1UE
+template void f2<int>(V<int>, int);
OpenPOWER on IntegriCloud