[libc++] Remove a few GCC workarounds that aren't needed anymore (#156290)
diff --git a/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp b/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp index 1dfdc60..e999b20 100644 --- a/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp +++ b/libcxx/test/std/iterators/iterator.requirements/indirectcallable/indirectinvocable/indirect_result_t.compile.pass.cpp
@@ -34,8 +34,6 @@ // Test ADL-proofing (P2538R1) #if TEST_STD_VER >= 26 || defined(_LIBCPP_VERSION) -// TODO: Enable this on GCC once this bug is fixed: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111419 -#ifndef TEST_COMPILER_GCC struct Incomplete; template<class T> struct Holder { T t; }; static_assert(std::same_as<std::indirect_result_t<int (&)(int), int*>, int>); @@ -45,4 +43,3 @@ static_assert(std::same_as<std::indirect_result_t<Holder<Incomplete>&(&)(Holder<Incomplete>*), Holder<Incomplete>**>, Holder<Incomplete>&>); static_assert(std::same_as<std::indirect_result_t<Holder<Incomplete>*(&)(Holder<Incomplete>*), Holder<Incomplete>**>, Holder<Incomplete>*>); #endif -#endif
diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp index 36b3aa8..86e0828 100644 --- a/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp +++ b/libcxx/test/std/utilities/memory/specialized.algorithms/specialized.destroy/ranges_destroy_at.pass.cpp
@@ -52,10 +52,7 @@ struct VirtualCountedDerived : VirtualCountedBase { constexpr VirtualCountedDerived(int& count_ref) : VirtualCountedBase(count_ref) {} - - // Without a definition, GCC gives an error when the destructor is invoked in a constexpr context (see - // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93413). - constexpr ~VirtualCountedDerived() override {} + constexpr ~VirtualCountedDerived() override = default; }; constexpr bool test() {
diff --git a/libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp b/libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp index b96c9b1..804650f 100644 --- a/libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
@@ -117,12 +117,9 @@ // Non-referencable function type static_assert((!std::is_convertible<ConstFunction, Function>::value), ""); -// TODO(LLVM-19): Re-enable this once we switch to GCC 14. This is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109680 -#ifndef TEST_COMPILER_GCC static_assert((!std::is_convertible<ConstFunction, Function*>::value), ""); static_assert((!std::is_convertible<ConstFunction, Function&>::value), ""); static_assert((!std::is_convertible<ConstFunction, Function&&>::value), ""); -#endif static_assert((!std::is_convertible<Function*, ConstFunction>::value), ""); static_assert((!std::is_convertible<Function&, ConstFunction>::value), ""); static_assert((!std::is_convertible<ConstFunction, ConstFunction>::value), "");