CXX11 patch to warn if 'override' is missing on overriding virtual function

David Blaikie dblaikie at gmail.com
Wed Sep 24 16:16:41 PDT 2014


On Wed, Sep 24, 2014 at 3:57 PM, jahanian <fjahanian at apple.com> wrote:

> Hi all,
>
> We have an enhancement request  from our users to provide
> warning if ‘override’ control is missing. This warning is off by default
> as it will
> be noisy (but it will show itself with -Weverything).
> Is such a patch useful enough to go into the trunk? Also, comment on the
> patch is appreciated.
> I will provide ‘fixit’ later if this is a worthwhile patch.
>

While I rather like the idea of such a warning, the usual bar has been a
strong aversion to adding off-by-default warnings. I think the theoretical
future might be building warnings like this into clang-tidy, then providing
some plugin-like option to enable certain clang-tidy warnings in your
normal builds.

(because I was curious, I went back & found some choice quotes from Doug
Gregor on warnings like this (this is what he told me, years ago, when I
proposed adding a warning for null pointers that aren't nullptr*):

"Off-by-default warnings are not a mechanism to subvert our normal
processes for vetting awarning. In general, we should avoid off-by-default
warnings: if it's not good enough to turn on by default, why do we have it
at all? The vast majority of users will never see an off-by-default warning
."
"A compiler is not a style checker, nor should it ever be."
"Warnings are intended to find potential problems in the source code. Style
migration is the domain of separate tools.")

(& cc'ing Doug in case there's something about this that's different/things
have changed over the years)

* today, I'd probably be able to get that in on the basis of compatibility
with GCC's -Wzero-as-null-pointer-constant


>
> - Fariborz
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140924/1992ece7/attachment.html>


More information about the cfe-commits mailing list