On Mon, 9 Dec 2024 at 17:44, Jonathan Wakely <jwak...@redhat.com> wrote: > > On Mon, 9 Dec 2024 at 17:43, Jonathan Wakely <jwak...@redhat.com> wrote: > > > > On Mon, 9 Dec 2024 at 13:49, Jonathan Wakely wrote: > > > > > > On 09/12/24 13:22 +0100, Giuseppe D'Angelo wrote: > > > >Hello, > > > > > > > >This ports some misc test away from is_trivial. > > > > > > This is fine, thanks. > > > > I'm seeing a number of FAILures not fixed by this patch: > > > > FAIL: experimental/iterator/requirements.cc -std=gnu++26 (test for > > excess errors) > > FAIL: experimental/memory/observer_ptr/typedefs.cc -std=gnu++26 (test > > for excess errors) > > FAIL: experimental/memory/shared_ptr/observers/bool_conv.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/move_ctor.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/array/neg.cc -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/assign/assign.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/shared_ptr/observers/operators.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/pointer_ctor.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cast/cast.cc -std=gnu++26 (test > > for excess errors) > > FAIL: experimental/memory/shared_ptr/observers/owner_before.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/comparison/comparison.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/observers/use_count.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/observer_ptr/assignment/assign.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/torture.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/alias_ctor.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/observer_ptr/cons/cons.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/alloc_ctor.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/observer_ptr/hash/hash.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/observer_ptr/make_observer.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/copy_ctor.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/shared_ptr/dest/dest.cc -std=gnu++26 (test > > for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/copy_ctor_neg.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/observer_ptr/relops/relops.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/memory/shared_ptr/modifiers/reset.cc -std=gnu++26 > > (test for excess errors) > > FAIL: experimental/iterator/make_ostream_joiner.cc -std=gnu++26 (test > > for excess errors) > > FAIL: experimental/memory/shared_ptr/cons/default_ctor.cc > > -std=gnu++26 (test for excess errors) > > FAIL: experimental/memory/observer_ptr/requirements.cc -std=gnu++26 > > (test for excess errors) > > > > (and counting ...) > > I guess you need to test with: > > GLIBCXX_TESTSUITE_STD=23 make check > > to run everything with -std=gnu++26
And the fix is probably just: --- a/libstdc++-v3/include/experimental/type_traits +++ b/libstdc++-v3/include/experimental/type_traits @@ -121,8 +121,11 @@ template <typename _Tp> constexpr bool is_const_v = is_const<_Tp>::value; template <typename _Tp> constexpr bool is_volatile_v = is_volatile<_Tp>::value; +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" template <typename _Tp> constexpr bool is_trivial_v = is_trivial<_Tp>::value; +#pragma GCC diagnostic pop template <typename _Tp> constexpr bool is_trivially_copyable_v = is_trivially_copyable<_Tp>::value; template <typename _Tp> I'll check this ...