https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91127
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic
Status|UNCONFIRMED |NEW
Last reconfirmed| |2019-07-10
CC| |msebor at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I hate hate hate the fact that the nonnull attribute counts implicit arguments.
The 'this' pointer must always be nonnull, so there's no benefit to including
it, and other implicit arguments (like the int here for an in-charge
constructor?) just complicate things and require users to understand details of
a leaky abstraction.
This bug should just be fixed to ignore the int, but counting the 'this'
pointer can't be fixed without introducing a new attribute with sensible
behaviour for member functions and constructors.
</rant>
I'll let Martin comment on whether changing handle_nonnull_attribute from
giving an error to a warning was intended.