diff options
| author | Marshall Clow <mclow.lists@gmail.com> | 2014-05-29 01:10:28 +0000 |
|---|---|---|
| committer | Marshall Clow <mclow.lists@gmail.com> | 2014-05-29 01:10:28 +0000 |
| commit | 2de60eb2138604f54bc2f3465d85a080140b6def (patch) | |
| tree | 6f69a769573836f5dd394979fb8ddcea7740ace4 /libcxx/test | |
| parent | 1f647502586b7c611721f7a86b2aca75a798f400 (diff) | |
| download | bcm5719-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.cpp | 23 |
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 } |

