summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-12-16 05:48:46 +0000
committerAnders Carlsson <andersca@mac.com>2009-12-16 05:48:46 +0000
commitb7e93e268f358a5150dc5a7e85e91fd1b4d7021c (patch)
tree07b429220f92d8595a85ea118e93c45efc5be4e0 /clang/test/CodeGenCXX/mangle.cpp
parent686b8458f4657d4d8fdb7a927285d8aa352b42c6 (diff)
downloadbcm5719-llvm-b7e93e268f358a5150dc5a7e85e91fd1b4d7021c.tar.gz
bcm5719-llvm-b7e93e268f358a5150dc5a7e85e91fd1b4d7021c.zip
Mangle CXXOperatorCallExprs, fixes PR5796.
llvm-svn: 91507
Diffstat (limited to 'clang/test/CodeGenCXX/mangle.cpp')
-rw-r--r--clang/test/CodeGenCXX/mangle.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle.cpp b/clang/test/CodeGenCXX/mangle.cpp
index ede7e3ddaf0..090a3f17eef 100644
--- a/clang/test/CodeGenCXX/mangle.cpp
+++ b/clang/test/CodeGenCXX/mangle.cpp
@@ -229,6 +229,22 @@ template void ft8<int>();
// CHECK: @_Z3ft8IPvEN11__enable_ifIXsr11__is_scalarIT_E7__valueEvE6__typeEv
template void ft8<void*>();
+// PR5796
+namespace PR5796 {
+template<typename> struct __is_scalar {
+ enum { __value = 0 };
+};
+
+template<bool, typename> struct __enable_if {};
+template<typename T> struct __enable_if<true, T> { typedef T __type; };
+template<typename T>
+
+// CHECK: define linkonce_odr void @_ZN6PR57968__fill_aIiEENS_11__enable_ifIXntsrNS_11__is_scalarIT_EE7__valueEvE6__typeEv
+typename __enable_if<!__is_scalar<T>::__value, void>::__type __fill_a() { };
+
+void f() { __fill_a<int>(); }
+}
+
namespace Expressions {
// Unary operators.
OpenPOWER on IntegriCloud