[PATCH] Disallow clang from assigning a diagnostic to ID zero

David Majnemer david.majnemer at gmail.com
Sat Jul 20 00:18:54 PDT 2013


Applied in r186760.


On Fri, Jul 19, 2013 at 4:10 PM, Argyrios Kyrtzidis <akyrtzi at gmail.com>wrote:

> LGTM.
>
> On Jul 17, 2013, at 6:52 PM, David Majnemer <david.majnemer at gmail.com>
> wrote:
>
> Updated version of the patch, just made it a little cleaner.
>
>
> CC'ing Argyrios Kyrtzidis as he, from svn history, seems to know the area.
>
>
> On Tue, Jul 2, 2013 at 2:57 PM, Richard Smith <richard at metafoo.co.uk>
> wrote:
>
>> LGTM, but I'd like someone who knows this area better than I do to look
>> at it.
>>
>> --- lib/Basic/DiagnosticIDs.cpp (revision 184534)
>> +++ lib/Basic/DiagnosticIDs.cpp (working copy)
>> @@ -82,11 +84,9 @@
>>  #include "clang/Basic/DiagnosticSemaKinds.inc"
>>  #include "clang/Basic/DiagnosticAnalysisKinds.inc"
>>  #undef DIAG
>> -  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
>>  };
>>
>> Are you sure nothing is using this to find the end of the table?
>>
>> On Tue, Jul 2, 2013 at 2:45 PM, David Majnemer <david.majnemer at gmail.com>
>> wrote:
>> > Ping
>> >
>> >
>> > On Fri, Jun 21, 2013 at 3:42 AM, David Majnemer <
>> david.majnemer at gmail.com>
>> > wrote:
>> >>
>> >> The fallout of r184401 made it apparent that clang uses diagnostic ID
>> zero
>> >> as a sentinel value while *also* assigning it to an actual diagnostic,
>> >> err_attribute_not_type_attr.
>> >>
>> >> The attached patch should do two things:
>> >> * Ensure that we don't give away ID 0
>> >> * Make sure that we will assert if we attempt to use ID 0
>> >>
>> >> --
>> >> David Majnemer
>> >
>> >
>>
>
> <diag0.diff>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130720/356fc78f/attachment.html>


More information about the cfe-commits mailing list