On Sun, Sep 1, 2013 at 2:15 PM, Nick Lewycky <[email protected]> wrote:

> On 15 August 2013 15:08, Eli Friedman <[email protected]> wrote:
>
>> On Mon, Jul 29, 2013 at 2:30 PM, Richard Smith <[email protected]>wrote:
>>
>>> On Mon, Jul 29, 2013 at 2:00 PM, Eli Friedman <[email protected]>wrote:
>>>
>>>> On Mon, Jul 29, 2013 at 1:14 PM, Richard Smith
>>>> <[email protected]> wrote:
>>>> > Author: rsmith
>>>> > Date: Mon Jul 29 15:14:16 2013
>>>> > New Revision: 187374
>>>> >
>>>> > URL: http://llvm.org/viewvc/llvm-project?rev=187374&view=rev
>>>> > Log:
>>>> > PR16715: Fix assert in verifier: only mark call to 'operator new' as
>>>> 'builtin' if
>>>> > corresponding 'operator new' was actually emitted as a function
>>>> marked 'nobuiltin'.
>>>>
>>>> There's a similar bug involving LTO; consider the following:
>>>>
>>>> a.cpp:
>>>> using size_t = decltype(sizeof(0));
>>>> void *operator new(size_t) __attribute__((alias("something")));
>>>>
>>>> b.cpp:
>>>> int *pr16715 = new int;
>>>>
>>>> If I link these two together with llvm-link, I get exactly the same
>>>> error.
>>>>
>>>> Overall, this seems like a very fragile constraint; maybe we can relax
>>>> it somehow?
>>>
>>>
>>> It would seem reasonable to me for the verifier to allow the 'builtin'
>>> attribute on calls to functions declared without 'nobuiltin'. Patch
>>> attached.
>>>
>>
>> Ping.
>>
>
> Ping?
>
> I just hit this exact problem, the proposed patch seems right to me.
> Please commit?
>

Thanks, committed in r190233. Sorry for the delay.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to