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 ...

Reply via email to