diff options
author | Anders Carlsson <andersca@mac.com> | 2009-09-27 01:06:07 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-09-27 01:06:07 +0000 |
commit | 9bf787ad1f137c610f7773110ea9252cfec9ea5e (patch) | |
tree | c8721c1d57471ddd55425672881b75ab681b0903 /clang/test/CodeGenCXX/mangle-subst.cpp | |
parent | 84a1eeb7edbf66e52cb83c1956ad39fbf5ed10fa (diff) | |
download | bcm5719-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.cpp | 15 |
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); |