
The testsuite will automatically select C++20 for these tests now, and removing the hardcoded -std option allows them to be tested for C++23 and C++26 as well. libstdc++-v3/ChangeLog: * testsuite/20_util/allocator/105975.cc: Remove dg-options -std=gnu++2a. * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. * testsuite/20_util/allocator/requirements/constexpr.cc: Likewise. * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: Likewise. * testsuite/20_util/allocator_traits/header-2.cc: Likewise. * testsuite/20_util/allocator_traits/header.cc: Likewise. * testsuite/20_util/allocator_traits/members/92878_92947.cc: Likewise. * testsuite/20_util/any/assign/92878_92947.cc: Likewise. * testsuite/20_util/any/cons/92878_92947.cc: Likewise. * testsuite/20_util/assume_aligned/1.cc: Likewise. * testsuite/20_util/assume_aligned/2_neg.cc: Likewise. * testsuite/20_util/assume_aligned/3.cc: Likewise. * testsuite/20_util/assume_aligned/97132.cc: Likewise. * testsuite/20_util/bind/constexpr.cc: Likewise. * testsuite/20_util/bitset/operations/96303.cc: Likewise. * testsuite/20_util/common_reference/100894.cc: Likewise. * testsuite/20_util/common_reference/requirements/alias_decl.cc: Likewise. * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/common_reference/requirements/typedefs.cc: Likewise. * testsuite/20_util/duration/comparison_operators/three_way.cc: Likewise. * testsuite/20_util/exchange/constexpr.cc: Likewise. * testsuite/20_util/exchange/noexcept.cc: Likewise. * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise. * testsuite/20_util/from_chars/compare.cc: Likewise. * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. * testsuite/20_util/function_objects/bind_front/107784.cc: Likewise. * testsuite/20_util/function_objects/bind_front/111327.cc: Likewise. * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. * testsuite/20_util/function_objects/bind_front/97101.cc: Likewise. * testsuite/20_util/function_objects/bind_front/constexpr.cc: Likewise. * testsuite/20_util/function_objects/constexpr_searcher.cc: Likewise. * testsuite/20_util/function_objects/identity/1.cc: Likewise. * testsuite/20_util/function_objects/invoke/constexpr.cc: Likewise. * testsuite/20_util/function_objects/mem_fn/constexpr.cc: Likewise. * testsuite/20_util/function_objects/not_fn/constexpr.cc: Likewise. * testsuite/20_util/integer_comparisons/1.cc: Likewise. * testsuite/20_util/integer_comparisons/2.cc: Likewise. * testsuite/20_util/integer_comparisons/equal.cc: Likewise. * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise. * testsuite/20_util/integer_comparisons/greater.cc: Likewise. * testsuite/20_util/integer_comparisons/greater_equal.cc: Likewise. * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: Likewise. * testsuite/20_util/integer_comparisons/greater_neg.cc: Likewise. * testsuite/20_util/integer_comparisons/in_range.cc: Likewise. * testsuite/20_util/integer_comparisons/in_range_neg.cc: Likewise. * testsuite/20_util/integer_comparisons/less.cc: Likewise. * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise. * testsuite/20_util/integer_comparisons/less_equal_neg.cc: Likewise. * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise. * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise. * testsuite/20_util/integer_comparisons/not_equal_neg.cc: Likewise. * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_bounded_array/value.cc: Likewise. * testsuite/20_util/is_constant_evaluated/1.cc: Likewise. * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise. * testsuite/20_util/is_constructible/92878_92947.cc: Likewise. * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: Likewise. * testsuite/20_util/is_layout_compatible/value.cc: Likewise. * testsuite/20_util/is_layout_compatible/version.cc: Likewise. * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: Likewise. * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise. * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise. * testsuite/20_util/is_pointer_interconvertible/value.cc: Likewise. * testsuite/20_util/is_pointer_interconvertible/version.cc: Likewise. * testsuite/20_util/is_pointer_interconvertible/with_class.cc: Likewise. * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_unbounded_array/value.cc: Likewise. * testsuite/20_util/optional/assignment/92878_92947.cc: Likewise. * testsuite/20_util/optional/cons/92878_92947.cc: Likewise. * testsuite/20_util/optional/constexpr/assign.cc: Likewise. * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise. * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise. * testsuite/20_util/optional/constexpr/swap.cc: Likewise. * testsuite/20_util/optional/relops/96269.cc: Likewise. * testsuite/20_util/optional/relops/three_way.cc: Likewise. * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: Likewise. * testsuite/20_util/pair/cons/92878_92947.cc: Likewise. * testsuite/20_util/pair/constexpr_assign.cc: Likewise. * testsuite/20_util/pair/constexpr_swap.cc: Likewise. * testsuite/20_util/pair/requirements/structural.cc: Likewise. * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: Likewise. * testsuite/20_util/polymorphic_allocator/allocate_object.cc: Likewise. * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: Likewise. * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise. * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise. * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise. * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: Likewise. * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/remove_cvref/value.cc: Likewise. * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: Likewise. * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: Likewise. * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. * testsuite/20_util/shared_ptr/creation/92878_92947.cc: Likewise. * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. * testsuite/20_util/time_point/4.cc: Likewise. * testsuite/20_util/time_point/comparison_operators/three_way.cc: Likewise. * testsuite/20_util/to_address/1.cc: Likewise. * testsuite/20_util/to_address/1_neg.cc: Likewise. * testsuite/20_util/to_address/debug.cc: Likewise. * testsuite/20_util/to_address/lwg3545.cc: Likewise. * testsuite/20_util/to_chars/compare.cc: Likewise. * testsuite/20_util/tuple/comparison_operators/three_way.cc: Likewise. * testsuite/20_util/tuple/cons/102270.cc: Likewise. * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: Likewise. * testsuite/20_util/tuple/constexpr_swap.cc: Likewise. * testsuite/20_util/type_identity/requirements/alias_decl.cc: Likewise. * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/type_identity/requirements/typedefs.cc: Likewise. * testsuite/20_util/typeindex/comparison_operators_c++20.cc: Likewise. * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: Likewise. * testsuite/20_util/unique_ptr/creation/92878_92947.cc: Likewise. * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Likewise. * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: Likewise. * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise. * testsuite/20_util/unwrap_reference/1.cc: Likewise. * testsuite/20_util/unwrap_reference/2.cc: Likewise. * testsuite/20_util/unwrap_reference/3.cc: Likewise. * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise. * testsuite/20_util/uses_allocator/make_obj.cc: Likewise. * testsuite/20_util/uses_allocator/uninitialized_construct.cc: Likewise. * testsuite/20_util/variant/92878_92947.cc: Likewise. * testsuite/20_util/variant/95915.cc: Likewise. * testsuite/20_util/variant/constexpr.cc: Likewise. * testsuite/20_util/variant/relops/three_way.cc: Likewise. * testsuite/20_util/variant/visit_neg.cc: Likewise. * testsuite/20_util/variant/visit_r.cc: Likewise. * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
8 lines
241 B
C++
8 lines
241 B
C++
// { dg-do compile { target c++20 } }
|
|
// PR libstdc++/100894 - common_reference implementation seems to be wrong
|
|
|
|
#include <type_traits>
|
|
|
|
struct A {};
|
|
struct B { B(A); };
|
|
static_assert( std::is_same_v<std::common_reference_t<A&, B&&>, B> );
|