On Mon, 12 May 2025 at 16:13, Jason Merrill <ja...@redhat.com> wrote: > > On 5/9/25 1:31 PM, Jonathan Wakely wrote: > > On Fri, 9 May 2025 at 18:13, Jonathan Wakely <jwak...@redhat.com> wrote: > >> > >> On Fri, 9 May 2025 at 11:19, Jonathan Wakely <jwak...@redhat.com> wrote: > >>> > >>> On Thu, 8 May 2025 at 20:56, Jason Merrill <ja...@redhat.com> wrote: > >>>> > >>>> Tested x86_64-pc-linux-gnu. Does this make sense for trunk? > >>> > >>> Yes, it looks useful. I'm going to test it with my "very -std and -m32 > >>> and old-string ABI" test settings to be sure it doesn't cause any > >>> problems. > >> > >> There are a few failures when using GLIBCXX_TESTSUITE_STDS=20 to run > >> tests as C++20 or later: > >> > >> FAIL: experimental/net/internet/resolver/ops/lookup.cc -std=gnu++23 > >> (test for excess errors) > >> Excess errors: > >> /tmp/build/x86_64-pc-linux-gnu/libstdc++-v3/include/experimental/internet:2100: > >> warning: offset of > >> 'std::experimental::net::v1::ip::basic_resolver<std::experimental::net::v1::ip::tcp>::_M_ctx' > >> for '-std=c++20' and up changes in '-fabi-version=21' (GCC 16) [-Wabi] > > > > We have code like this in the networking TS headers: > > > > struct Base { > > protected: > > Base() = default; > > ~Base() = default; > > }; > > > > struct Derived : Base { > > void* ptr; > > }; > > > > Is the warning wrong? > > Hmm, it seems to be: sizeof(Derived) isn't affected by -std=c++20 before > the fix, I guess the warning doesn't handle empty bases properly.
Thanks for the fix, I'll rerun the tests.