summaryrefslogtreecommitdiffstats
path: root/libcxx
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-12-02 22:30:52 +0000
committerEric Fiselier <eric@efcs.ca>2016-12-02 22:30:52 +0000
commit13b6cc4b088d7373bc501a45ea897b2742a53673 (patch)
tree5112c5cee1d3ddc3686bc0c07164f7f6a1dd6d3d /libcxx
parent366bb54f8138cb82803df75f18cfc8943f5e1b75 (diff)
downloadbcm5719-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.cpp6
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.
OpenPOWER on IntegriCloud