This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C++ PATCH for c++/88136, -Wdeprecated-copy too noisy

On Sat, 8 Dec 2018 at 19:53, Jason Merrill <> wrote:
> The documented policy for -Wall is,
>      This enables all the warnings about constructions that some users
>      consider questionable, and that are easy to avoid (or modify to
>      prevent the warning), even in conjunction with macros.
> ...
>      Note that some warning flags are not implied by '-Wall'.  Some of
>      them warn about constructions that users generally do not consider
>      questionable, but which occasionally you might wish to check for;
>      others warn about constructions that are necessary or hard to avoid
>      in some cases, and there is no simple way to modify the code to
>      suppress the warning.
> It seems to me that this warning qualifies for -Wall under these
> guidelines.  Providing a copy constructor without a matching
> assignment operator is definitely suspect; the false positive only
> comes in because, as you say, there was no good reason to provide the
> copy constructor for Private.  And it's easy to avoid the warning by
> declaring a defaulted assignment operator, if ABI concerns preclude
> removing the constructor.
> New compiler releases will usually include new warnings that require
> some code modification to accommodate.  Why is this one particularly
> problematic?

I don't think it's any more problematic than any other warning that
introduces new errors for fools that build with -Wall and -Werror.
But considering that those errors are false positives, and that
turning them off will in some cases require writing boiler-plate
(defaulted assignments), I would merely prefer having another release
round to get fixes for my codebase out in the wild.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]