[PATCH] libstdc++: remove an ignored qualifier on function return type

Krystian Kuźniarek krystian.kuzniarek@gmail.com
Fri Aug 28 06:55:04 GMT 2020


> So then you need to produce a changelog entry by hand.
I had this problem on some old Ubuntu 18.04. Anyway, here's new ChangeLog:

    libstdc++-v3/ChangeLog:

            * include/std/variant: Fix -Wignored-qualifiers
            in system headers.


>That doesn't test this header at all.
It does but indirectly. What I meant by manual test was:
${GCC_GIT} -E contains_only_stdcpp_include.cpp > preprocessed.cpp
${GCC_GIT} -Wall -Wextra -pedantic -fsyntax-only preprocessed.cpp
By manipulating GCC_GIT variable to trunk GCC and patched GCC, I checked if
the warning is gone.

>What about the libstdc++ testsuite?
I hope you mean calling make bootstrap and make check. If that's ok, I
confirm it works on Manjaro and Ubuntu 18.04 with gcc10 and gcc8
respectively.

>I don't remember exactly why I put it there, but I seem to recall it
>was necessary.
I don't know your reasons but I can only tell that this patch seems to
compile and work just fine.

On Mon, 24 Aug 2020 at 13:38, Jonathan Wakely <jwakely@redhat.com> wrote:

> On 24/08/20 13:26 +0200, Krystian Kuźniarek via Libstdc++ wrote:
> >Hi,
> >
> >First of all, sorry, I must have sent it as quoted-printable so spaces and
> >tabs are preserved.
> >
> >A description of the problem/bug and how your patch addresses it:
> >I've got a small patch for -Wignored-qualifiers in system headers.
> >
> >Testcases:
> >N/A, it's only a warning.
> >
> >ChangeLog:
> >Sorry, contrib/mklog.py didn't quite work for me.
> >For some reason after instruction in line 129: "diff = PatchSet(data)" my
> >"diff" variable is always empty.
>
> So then you need to produce a changelog entry by hand.
>
> >Bootstrapping and testing:
> >Tested that manually by recompling GCC, unfolding all headers with
> >`#include <stdc++.h>` and compiling what's been included by it.
>
> That doesn't test this header at all.
>
> What about the libstdc++ testsuite?
>
> >The patch itself:
> >
> >diff --git a/libstdc++-v3/include/std/variant
> b/libstdc++-v3/include/std/variant
> >index eb3d6779205..e8fcb57a401 100644
> >--- a/libstdc++-v3/include/std/variant
> >+++ b/libstdc++-v3/include/std/variant
> >@@ -808,7 +808,7 @@ namespace __variant
> >       { using element_type = _Tp; };
> >
> >       template <typename... _Args>
> >-      struct __untag_result<const void(*)(_Args...)>
> >+      struct __untag_result<void(*)(_Args...)>
>
> I don't remember exactly why I put it there, but I seem to recall it
> was necessary.
>
>
> >       : false_type
> >       { using element_type = void(*)(_Args...); };
> >
> >
> >
> >Best regards,
> >Krystian
> >
>
>


More information about the Gcc-patches mailing list