aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/mangle.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-09-18 02:42:01 +0000
committerAnders Carlsson <andersca@mac.com>2009-09-18 02:42:01 +0000
commit7624f219388f2434a4988ba2508a6ca7b57ba1c3 (patch)
tree6d33ffbe67e7a21d9aa3b781618c7aed4d71c7d5 /test/CodeGenCXX/mangle.cpp
parent1c1afc4ed3ec30fc99e172220c8bb74a13b117b0 (diff)
Handle mangling of TemplateSpecializationType.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82189 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle.cpp')
-rw-r--r--test/CodeGenCXX/mangle.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/test/CodeGenCXX/mangle.cpp b/test/CodeGenCXX/mangle.cpp
index 98db0845c7..8d302248a1 100644
--- a/test/CodeGenCXX/mangle.cpp
+++ b/test/CodeGenCXX/mangle.cpp
@@ -92,15 +92,24 @@ template<typename T, typename U> void ft1(U u, T t) { }
template<typename T> void ft2(T t, void (*)(T), void (*)(T)) { }
+template<typename T, typename U = S1<T> > struct S4 { };
+template<typename T> void ft3(S4<T>*) { }
+
+void g() {
+ ft2<int>(0);
+}
+extern "C++" {
+ // CHECK: @_Z1hv
+ void h() { }
+}
+
void g() {
// CHECK: @_Z3ft1IidEvT0_T_
ft1<int, double>(1, 0);
// CHECK: @_Z3ft2IcEvT_PFvS0_ES2_
ft2<char>(1, 0, 0);
-}
-
-extern "C++" {
- // CHECK: @_Z1hv
- void h() { }
+
+ // CHECK: @_Z3ft3IiEvP2S4IT_2S1IS1_EE
+ ft3<int>(0);
}