summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle-subst.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-09-17 00:43:46 +0000
committerAnders Carlsson <andersca@mac.com>2009-09-17 00:43:46 +0000
commitfeb60501a830bf2625ffeffdc09be831d741a95f (patch)
tree2198f37247efbc644ad37a27eb69a4e1d3238575 /clang/test/CodeGenCXX/mangle-subst.cpp
parentdb7ec04fed05dbc3eaa243cdb7ea222d8b6581a9 (diff)
downloadbcm5719-llvm-feb60501a830bf2625ffeffdc09be831d741a95f.tar.gz
bcm5719-llvm-feb60501a830bf2625ffeffdc09be831d741a95f.zip
Add basic substitution to the C++ mangler. It currently only looks at types.
llvm-svn: 82102
Diffstat (limited to 'clang/test/CodeGenCXX/mangle-subst.cpp')
-rw-r--r--clang/test/CodeGenCXX/mangle-subst.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle-subst.cpp b/clang/test/CodeGenCXX/mangle-subst.cpp
new file mode 100644
index 00000000000..fc7304807d4
--- /dev/null
+++ b/clang/test/CodeGenCXX/mangle-subst.cpp
@@ -0,0 +1,20 @@
+// RUN: clang-cc -emit-llvm %s -o %t -triple=x86_64-apple-darwin9 &&
+
+struct X {};
+
+// RUN: grep "define void @_Z1f1XS_" %t | count 1 &&
+void f(X, X) { }
+
+// RUN: grep "define void @_Z1fR1XS0_" %t | count 1 &&
+void f(X&, X&) { }
+
+// RUN: grep "define void @_Z1fRK1XS1_" %t | count 1 &&
+void f(const X&, const X&) { }
+
+typedef void T();
+struct S {};
+
+// RUN: grep "define void @_Z1fPFvvEM1SFvvE" %t | count 1 &&
+void f(T*, T (S::*)) {}
+
+// RUN: true
OpenPOWER on IntegriCloud