[libc++] Remove a few GCC workarounds that aren't needed anymore (#156290)
This commit is contained in:
parent
c6286b30bd
commit
4dbfde6b69
@ -34,8 +34,6 @@ static_assert(!has_indirect_result<int, int*>); // int isn't invocable
|
||||
|
||||
// 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<int (&)(Holder<
|
||||
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
|
||||
|
||||
@ -52,10 +52,7 @@ struct VirtualCountedBase {
|
||||
|
||||
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() {
|
||||
|
||||
@ -117,12 +117,9 @@ int main(int, char**)
|
||||
|
||||
// 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), "");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user