summaryrefslogtreecommitdiffstats
path: root/libcxx/test
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2014-05-29 01:10:28 +0000
committerMarshall Clow <mclow.lists@gmail.com>2014-05-29 01:10:28 +0000
commit2de60eb2138604f54bc2f3465d85a080140b6def (patch)
tree6f69a769573836f5dd394979fb8ddcea7740ace4 /libcxx/test
parent1f647502586b7c611721f7a86b2aca75a798f400 (diff)
downloadbcm5719-llvm-2de60eb2138604f54bc2f3465d85a080140b6def.tar.gz
bcm5719-llvm-2de60eb2138604f54bc2f3465d85a080140b6def.zip
Fix a problem exposed by r208825, which caused bind (and other bits of libc++) to stop working. And tests
llvm-svn: 209785
Diffstat (limited to 'libcxx/test')
-rw-r--r--libcxx/test/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/libcxx/test/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp b/libcxx/test/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp
index dc317c55e28..c5638702d8f 100644
--- a/libcxx/test/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp
+++ b/libcxx/test/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp
@@ -52,4 +52,27 @@ int main()
test_member_function_pointer<void (Class::*)()>();
test_member_function_pointer<void (Class::*)(int)>();
test_member_function_pointer<void (Class::*)(int, char)>();
+
+ test_member_function_pointer<void (Class::*)() const>();
+ test_member_function_pointer<void (Class::*)(int) const>();
+ test_member_function_pointer<void (Class::*)(int, char) const>();
+
+ test_member_function_pointer<void (Class::*)() volatile>();
+ test_member_function_pointer<void (Class::*)(int) volatile>();
+ test_member_function_pointer<void (Class::*)(int, char) volatile>();
+
+#if __cplusplus >= 201103L
+// reference qualifiers on functions are a C++11 extension
+ test_member_function_pointer<void (Class::*)() &&>();
+ test_member_function_pointer<void (Class::*)(int) &&>();
+ test_member_function_pointer<void (Class::*)(int, char) &&>();
+
+ test_member_function_pointer<void (Class::*)() &>();
+ test_member_function_pointer<void (Class::*)(int) &>();
+ test_member_function_pointer<void (Class::*)(int, char) &>();
+
+ test_member_function_pointer<void (Class::*)() volatile &&>();
+ test_member_function_pointer<void (Class::*)(int) volatile &&>();
+ test_member_function_pointer<void (Class::*)(int, char) volatile &&>();
+#endif
}
OpenPOWER on IntegriCloud