diff options
| author | Eric Fiselier <eric@efcs.ca> | 2016-12-02 22:30:52 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2016-12-02 22:30:52 +0000 |
| commit | 13b6cc4b088d7373bc501a45ea897b2742a53673 (patch) | |
| tree | 5112c5cee1d3ddc3686bc0c07164f7f6a1dd6d3d /libcxx | |
| parent | 366bb54f8138cb82803df75f18cfc8943f5e1b75 (diff) | |
| download | bcm5719-llvm-13b6cc4b088d7373bc501a45ea897b2742a53673.tar.gz bcm5719-llvm-13b6cc4b088d7373bc501a45ea897b2742a53673.zip | |
Work around a bug in Clang's implementation of noexcept function types
llvm-svn: 288544
Diffstat (limited to 'libcxx')
| -rw-r--r-- | libcxx/test/std/utilities/meta/meta.rel/is_nothrow_callable.pass.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_callable.pass.cpp b/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_callable.pass.cpp index eefa6d1f22b..a7dee5ca4c2 100644 --- a/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_callable.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.rel/is_nothrow_callable.pass.cpp @@ -54,7 +54,11 @@ constexpr bool throws_callable() { void test_noexcept_function_pointers() { struct Dummy { void foo() noexcept {} static void bar() noexcept {} }; -#if !defined(__cpp_noexcept_function_type) + +// FIXME(EricWF): Remove the __clang__ workaround. As of 2/12/2016 Clang has +// a bug where calling a noexcept function pointer is not noexcept. +// See https://llvm.org/bugs/show_bug.cgi?id=31244 +#if !defined(__cpp_noexcept_function_type) || defined(__clang__) { // Check that PMF's and function pointers *work*. is_nothrow_callable will always // return false because 'noexcept' is not part of the function type. |

