summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/mangle-template.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2012-01-06 05:06:35 +0000
committerJohn McCall <rjmccall@apple.com>2012-01-06 05:06:35 +0000
commit092beef87b367e62f96c0057118ba540777de452 (patch)
treefe8a67a5373c590bb1a6f475cc0f76c1c53a281a /test/CodeGenCXX/mangle-template.cpp
parent1a5d35539a16f3b2eb2426f3f23a8376b190741c (diff)
Fix the mangling of class template arguments in a particular
dependent case. Thanks to Jason Merrill for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147653 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle-template.cpp')
-rw-r--r--test/CodeGenCXX/mangle-template.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/CodeGenCXX/mangle-template.cpp b/test/CodeGenCXX/mangle-template.cpp
index f95e152154..1eb6a451c1 100644
--- a/test/CodeGenCXX/mangle-template.cpp
+++ b/test/CodeGenCXX/mangle-template.cpp
@@ -144,3 +144,12 @@ namespace test10 {
f(i, d);
}
}
+
+// Report from Jason Merrill on cxx-abi-dev, 2012.01.04.
+namespace test11 {
+ int cmp(char a, char b);
+ template <typename T, int (*cmp)(T, T)> struct A {};
+ template <typename T> void f(A<T,cmp> &) {}
+ template void f<char>(A<char,cmp> &);
+ // CHECK: @_ZN6test111fIcEEvRNS_1AIT_L_ZNS_3cmpEccEEE(
+}