summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/mangle-ms-templates.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2013-03-20 22:29:42 +0000
committerReid Kleckner <reid@kleckner.net>2013-03-20 22:29:42 +0000
commitff430f6af32468d3b09b66266aef03818230c35f (patch)
treef3dafde7ded4def8b6a3334e6be6b6765615b82f /test/CodeGenCXX/mangle-ms-templates.cpp
parentaa5573364b79bf4d85380aaec59cae2eeefcb322 (diff)
[ms-cxxabi] Mangle function pointer template arguments correctly
Reviewers: rjmccall CC: timurrrr, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D554 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177589 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle-ms-templates.cpp')
-rw-r--r--test/CodeGenCXX/mangle-ms-templates.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/CodeGenCXX/mangle-ms-templates.cpp b/test/CodeGenCXX/mangle-ms-templates.cpp
index e16fe936bc..d0e8af4888 100644
--- a/test/CodeGenCXX/mangle-ms-templates.cpp
+++ b/test/CodeGenCXX/mangle-ms-templates.cpp
@@ -78,3 +78,16 @@ namespace space {
void use() {
space::foo(42);
}
+
+// PR13455
+typedef void (*FunctionPointer)(void);
+
+template <FunctionPointer function>
+void FunctionPointerTemplate() {
+ function();
+}
+
+void spam() {
+ FunctionPointerTemplate<spam>();
+// CHECK: "\01??$FunctionPointerTemplate@$1?spam@@YAXXZ@@YAXXZ"
+}