[cfe-dev] [PATCH] Clang Static Analyzer support for temporary destructors

Alex McCarthy alexmc at google.com
Mon Mar 31 20:29:48 PDT 2014


And here's a second patch, to be applied after the first, that fixes the
crash while processing c++11 initializer lists. Thanks for explaining the
intent of makeZeroElementRegion: I'm not sure why the FIXME I removed was
there in the first place, but this seems like a much better fix than the
one I had before.

-Alex


On Mon, Mar 31, 2014 at 8:03 PM, Alex McCarthy <alexmc at google.com> wrote:

> Here's a new version of the simple patch. nullptr tests are gone, and I've
> uncommented tests that generate incorrect warnings. As discussed, I've left
> a few tests commented out because they trigger crashes or asserts: I think
> having the tests there but commented out serves as a cheap/poor form of
> documentation of the current state of these bugs in clang, and it should
> make upcoming patches that contain fixes smaller and easier to read. Let me
> know if you'd like me to remove those too.
>
> Since I don't have clang/llvm commit access, are you able to commit this
> on my behalf once this looks good to oyu?
>
> Thanks!
>
> -Alex
>
>
> On Mon, Mar 31, 2014 at 3:47 PM, Jordan Rose <jordan_rose at apple.com>wrote:
>
>>
>> On Mar 31, 2014, at 10:40, Alex McCarthy <alexmc at google.com> wrote:
>>
>> > Thanks for your advice, Jordan.
>> >
>> > I've split the NORETURN printing changes to CFG.cpp and the new test
>> additions into a separate patch (attached). Hopefully this should be a safe
>> no-op from a behavior perspective: debug output changes slightly, and the
>> new test cases more accurately reflects current clang behavior. Does this
>> look safe to commit?
>>
>> Rather than commenting out tests, I'd prefer you put them in with the
>> "wrong" expected-warnings, and then put a FIXME next to the warnings.
>> Commented-out tests become dead tests all too easily.
>>
>> I would drop the tests from nullptr.cpp. That file's for testing nullptr
>> and nullptr_t specifically, not null pointers in general, and the new tests
>> don't actually test any new behavior if we already believe that nullptr
>> properly converts to a null pointer value.
>>
>> Jordan
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140331/840dc454/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fix-crash-while-processing-C-11-initializer-lists.patch
Type: application/octet-stream
Size: 1635 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140331/840dc454/attachment.obj>


More information about the cfe-dev mailing list