PATCH: fix building invalid IR lowering initializer list

Nick Lewycky nlewycky at google.com
Mon Mar 16 17:19:45 PDT 2015


On 16 March 2015 at 16:19, Richard Smith <richard at metafoo.co.uk> wrote:

> On Mon, Mar 16, 2015 at 4:00 PM, Nick Lewycky <nlewycky at google.com> wrote:
>
>> The attached patch fixes a case where we produce an invalid store where
>> the value type is not the same as the pointee type of the pointer. This
>> occurs when lowering to a global variable because the GV must have the type
>> of a pointer to its initializer, yet the initializer is not quite the same
>> that we use for the value. Fix it up by adding a cast.
>>
>> Ben, I've cc'd you because I think this is a regression from your r231564.
>>
>> Please review!
>>
>
> Do the SD_Thread and SD_Static cases need the same handling? It looks like
> both of those cases can also return a Value with the wrong Type.
>

They do! Patch attached.

Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150316/eb08c1b7/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clang-init_list_glbl_type-2.patch
Type: text/x-patch
Size: 2558 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150316/eb08c1b7/attachment.bin>


More information about the cfe-commits mailing list