Index: test/std/utilities/variant/variant.get/get_index.pass.cpp =================================================================== --- test/std/utilities/variant/variant.get/get_index.pass.cpp +++ test/std/utilities/variant/variant.get/get_index.pass.cpp @@ -43,8 +43,8 @@ { using V = std::variant; constexpr V v(42); -#ifndef __clang__ // Avoid https://bugs.llvm.org/show_bug.cgi?id=15481 - ASSERT_NOEXCEPT(std::get<0>(v)); +#if !defined(__GNUC__) || defined(__clang__) || __GNUC__ >= 9 // Avoid https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87603 + ASSERT_NOT_NOEXCEPT(std::get<0>(v)); #endif ASSERT_SAME_TYPE(decltype(std::get<0>(v)), const int &); static_assert(std::get<0>(v) == 42, ""); @@ -59,8 +59,8 @@ { using V = std::variant; constexpr V v(42l); -#ifndef __clang__ // Avoid https://bugs.llvm.org/show_bug.cgi?id=15481 - ASSERT_NOEXCEPT(std::get<1>(v)); +#if !defined(__GNUC__) || defined(__clang__) || __GNUC__ >= 9 // Avoid https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87603 + ASSERT_NOT_NOEXCEPT(std::get<0>(v)); #endif ASSERT_SAME_TYPE(decltype(std::get<1>(v)), const long &); static_assert(std::get<1>(v) == 42, ""); Index: test/std/utilities/variant/variant.get/get_type.pass.cpp =================================================================== --- test/std/utilities/variant/variant.get/get_type.pass.cpp +++ test/std/utilities/variant/variant.get/get_type.pass.cpp @@ -37,8 +37,8 @@ { using V = std::variant; constexpr V v(42); -#ifndef __clang__ // Avoid https://bugs.llvm.org/show_bug.cgi?id=15481 - ASSERT_NOEXCEPT(std::get(v)); +#if !defined(__GNUC__) || defined(__clang__) || __GNUC__ >= 9 // Avoid https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87603 + ASSERT_NOT_NOEXCEPT(std::get(v)); #endif ASSERT_SAME_TYPE(decltype(std::get<0>(v)), const int &); static_assert(std::get(v) == 42, ""); @@ -53,8 +53,8 @@ { using V = std::variant; constexpr V v(42l); -#ifndef __clang__ // Avoid https://bugs.llvm.org/show_bug.cgi?id=15481 - ASSERT_NOEXCEPT(std::get(v)); +#if !defined(__GNUC__) || defined(__clang__) || __GNUC__ >= 9 // Avoid https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87603 + ASSERT_NOT_NOEXCEPT(std::get(v)); #endif ASSERT_SAME_TYPE(decltype(std::get(v)), const long &); static_assert(std::get(v) == 42, "");