From d9eb6c7cf55f88b28bdc6edad2eb45d0d52dfa1a Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Thu, 2 Sep 2021 16:23:36 -0400 Subject: [PATCH] [libc++abi] Remove workarounds for missing -Wno-exceptions on older GCCs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97675 has now been resolved in GCC 11, so we can remove those workarounds. Differential Revision: https://reviews.llvm.org/D109188 --- libcxxabi/test/catch_class_03.pass.cpp | 16 ++++------------ libcxxabi/test/catch_class_04.pass.cpp | 16 ++++------------ libcxxabi/test/catch_ptr.pass.cpp | 16 ++++------------ libcxxabi/test/catch_ptr_02.pass.cpp | 16 ++++------------ libcxxabi/test/inherited_exception.pass.cpp | 16 ++++------------ 5 files changed, 20 insertions(+), 60 deletions(-) diff --git a/libcxxabi/test/catch_class_03.pass.cpp b/libcxxabi/test/catch_class_03.pass.cpp index 0d00c74..aab2570 100644 --- a/libcxxabi/test/catch_class_03.pass.cpp +++ b/libcxxabi/test/catch_class_03.pass.cpp @@ -14,23 +14,15 @@ // UNSUPPORTED: no-exceptions -// FIXME: GCC doesn't allow turning off the warning for exceptions being caught -// by earlier handlers, which this test is exercising. We have to disable -// warnings altogether to remove the error. -// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97675. -// ADDITIONAL_COMPILE_FLAGS: -Wno-error +// Compilers emit warnings about exceptions of type 'Child' being caught by +// an earlier handler of type 'Base'. Congrats, you've just diagnosed the +// behavior under test. +// ADDITIONAL_COMPILE_FLAGS: -Wno-exceptions #include #include #include -// Clang emits warnings about exceptions of type 'Child' being caught by -// an earlier handler of type 'Base'. Congrats clang, you've just -// diagnosed the behavior under test. -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wexceptions" -#endif - struct B { static int count; diff --git a/libcxxabi/test/catch_class_04.pass.cpp b/libcxxabi/test/catch_class_04.pass.cpp index 7946963..c6ed656 100644 --- a/libcxxabi/test/catch_class_04.pass.cpp +++ b/libcxxabi/test/catch_class_04.pass.cpp @@ -14,23 +14,15 @@ // UNSUPPORTED: no-exceptions -// FIXME: GCC doesn't allow turning off the warning for exceptions being caught -// by earlier handlers, which this test is exercising. We have to disable -// warnings altogether to remove the error. -// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97675. -// ADDITIONAL_COMPILE_FLAGS: -Wno-error +// Compilers emit warnings about exceptions of type 'Child' being caught by +// an earlier handler of type 'Base'. Congrats, you've just diagnosed the +// behavior under test. +// ADDITIONAL_COMPILE_FLAGS: -Wno-exceptions #include #include #include -// Clang emits warnings about exceptions of type 'Child' being caught by -// an earlier handler of type 'Base'. Congrats clang, you've just -// diagnosed the behavior under test. -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wexceptions" -#endif - struct B { static int count; diff --git a/libcxxabi/test/catch_ptr.pass.cpp b/libcxxabi/test/catch_ptr.pass.cpp index 7fac517d..2285aaf 100644 --- a/libcxxabi/test/catch_ptr.pass.cpp +++ b/libcxxabi/test/catch_ptr.pass.cpp @@ -14,23 +14,15 @@ // UNSUPPORTED: no-exceptions -// FIXME: GCC doesn't allow turning off the warning for exceptions being caught -// by earlier handlers, which this test is exercising. We have to disable -// warnings altogether to remove the error. -// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97675. -// ADDITIONAL_COMPILE_FLAGS: -Wno-error +// Compilers emit warnings about exceptions of type 'Child' being caught by +// an earlier handler of type 'Base'. Congrats, you've just diagnosed the +// behavior under test. +// ADDITIONAL_COMPILE_FLAGS: -Wno-exceptions #include #include #include -// Clang emits warnings about exceptions of type 'Child' being caught by -// an earlier handler of type 'Base'. Congrats clang, you've just -// diagnosed the behavior under test. -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wexceptions" -#endif - struct B { static int count; diff --git a/libcxxabi/test/catch_ptr_02.pass.cpp b/libcxxabi/test/catch_ptr_02.pass.cpp index b849559..41f0c78 100644 --- a/libcxxabi/test/catch_ptr_02.pass.cpp +++ b/libcxxabi/test/catch_ptr_02.pass.cpp @@ -8,24 +8,16 @@ // UNSUPPORTED: no-exceptions -// FIXME: GCC doesn't allow turning off the warning for exceptions being caught -// by earlier handlers, which this test is exercising. We have to disable -// warnings altogether to remove the error. -// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97675. -// ADDITIONAL_COMPILE_FLAGS: -Wno-error +// Compilers emit warnings about exceptions of type 'Child' being caught by +// an earlier handler of type 'Base'. Congrats, you've just diagnosed the +// behavior under test. +// ADDITIONAL_COMPILE_FLAGS: -Wno-exceptions // The fix for PR17222 made it in the dylib for macOS 10.10 // XFAIL: use_system_cxx_lib && target={{.+}}-apple-macosx10.9 #include -// Clang emits warnings about exceptions of type 'Child' being caught by -// an earlier handler of type 'Base'. Congrats clang, you've just -// diagnosed the behavior under test. -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wexceptions" -#endif - #if __cplusplus < 201103L #define DISABLE_NULLPTR_TESTS #endif diff --git a/libcxxabi/test/inherited_exception.pass.cpp b/libcxxabi/test/inherited_exception.pass.cpp index ab3fc07..0be1d84 100644 --- a/libcxxabi/test/inherited_exception.pass.cpp +++ b/libcxxabi/test/inherited_exception.pass.cpp @@ -26,18 +26,10 @@ // UNSUPPORTED: no-exceptions -// FIXME: GCC doesn't allow turning off the warning for exceptions being caught -// by earlier handlers, which this test is exercising. We have to disable -// warnings altogether to remove the error. -// See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97675. -// ADDITIONAL_COMPILE_FLAGS: -Wno-error - -// Clang emits warnings about exceptions of type 'Child' being caught by -// an earlier handler of type 'Base'. Congrats clang, you've just -// diagnosed the behavior under test. -#if defined(__clang__) -#pragma clang diagnostic ignored "-Wexceptions" -#endif +// Compilers emit warnings about exceptions of type 'Child' being caught by +// an earlier handler of type 'Base'. Congrats, you've just diagnosed the +// behavior under test. +// ADDITIONAL_COMPILE_FLAGS: -Wno-exceptions #include -- 2.7.4