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

Argyrios Kyrtzidis kyrtzidis at apple.com
Wed Sep 24 16:42:35 PDT 2014


This isn’t a style checker, this is to make sure you are not overriding something by accident.

It needs to be off-by-default due to the vast amount of C++ code that exists out there, but we can have it enabled when you create a new project.

> On Sep 24, 2014, at 4:16 PM, David Blaikie <dblaikie at gmail.com> wrote:
> 
> 
> 
> On Wed, Sep 24, 2014 at 3:57 PM, jahanian <fjahanian at apple.com <mailto: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 <mailto:cfe-commits at cs.uiuc.edu>
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits>
> 
> 
> _______________________________________________
> 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/34d216f7/attachment.html>


More information about the cfe-commits mailing list