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

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


On Wed, Sep 24, 2014 at 4:42 PM, Argyrios Kyrtzidis <kyrtzidis at apple.com>
wrote:

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

For context, I took those quotations from a thread about a warning for
"using a null pointer other than nullptr" which seems pretty analogous to
this warning. "Use this feature because it might help you find bugs" but I
think Doug was basically saying that the guideline to use a particular
feature is a stylistic one, even if that style then leads to finding bugs.


>
> 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> 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
>>
>>
> _______________________________________________
> 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/c47cb561/attachment.html>


More information about the cfe-commits mailing list