[libcxx] r333325 - Add nonnull; use it for atomics
JF Bastien via cfe-commits
cfe-commits at lists.llvm.org
Tue May 29 13:45:01 PDT 2018
Hi Marshall,
I’ve been thinking about this, and I propose we proceed the following way:
Add a new warning to clang, -Wnonnull-attribute (modulo name bikeshed), which is part of the nonnull group and on by default. That warning specifically controls warnings generated by usage of the nonnull attribute in code.
Wait a week or two so out-of-sync clang / libc++ codebases can catch up.
Un-revert r333351, adding the nonnull attributes to non-member atomic functions.
That should address the concern you raised because library users can now silence the warning. In this case I think it’s fine to have the warning on by default because:
It’s hard to trigger, you need to directly pass null to the functions, copying a null into the function won’t warn.
The warning has zero false-positives. The code will definitely segfault when you call it.
What do you think?
Thanks,
JF
> On May 26, 2018, at 12:50 PM, JF Bastien via cfe-commits <cfe-commits at lists.llvm.org> wrote:
>
>
>
>> On May 26, 2018, at 12:36 PM, Marshall Clow <mclow.lists at gmail.com <mailto:mclow.lists at gmail.com>> wrote:
>>
>>
>>
>> On Fri, May 25, 2018 at 4:43 PM, JF Bastien via cfe-commits <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>> wrote:
>> Author: jfb
>> Date: Fri May 25 16:43:53 2018
>> New Revision: 333325
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=333325&view=rev <http://llvm.org/viewvc/llvm-project?rev=333325&view=rev>
>> Log:
>> Add nonnull; use it for atomics
>>
>>
>> JF - please revert this patch.
>
> r333351
>
>> Let's have a discussion about how to implement this so that it is more friendly to people with installed code bases.
>> [ We've had *extremely* loud responses to unilaterally adding warnings - especially ones that can't be easily disabled - to the libc++ code base in the past. ]
>
> Ha! Interesting point which I hadn’t considered. I guess the clang warning can be controlled, but this one cannot? Agreed that’s suboptimal and we should figure out a way to make them controllable.
>
>
>> Also, please include both myself and EricWF on all libc++ reviews.
>
> Sorry, will do. I assumed you’d all have Herald auto-add if you wanted to be on a patch :-)
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180529/6022afa4/attachment.html>
More information about the cfe-commits
mailing list