Can realloc be marked as a mallloc-like function?

Janne Blomqvist
Sun Jul 15 21:38:00 GMT 2007

H.J. Lu wrote:
> On Sun, Jul 15, 2007 at 10:17:56AM +0300, Janne Blomqvist wrote:
>> On 7/14/07, H.J. Lu <> wrote:
>>> On Sat, Jul 14, 2007 at 06:03:33PM +0200, Tobias Schlüter wrote:
>>>> H.J. Lu wrote:
>>>>> It looks like gcc assumes a functon marked with DECL_IS_MALLOC won't
>>>>> return an address which can alias something else. But it isn't true
>>>>> for realloc. Now, the qestions are
>>>>> 1. Can gcc make such an assumption?
>>>>> 2. Can realloc be marked as DECL_IS_MALLOC.
>>>>> BTW, glibc also marks realloc with __attribute_malloc__.
>>>> There was an absurdely long thread on this topic starting at
>>>> <>.  I didn't dig through
>>>> it to find the answer.
>>> Now, we have a real testcase to show the problem. How do we solve
>>> it?
>> I assigned the bug to myself, since I caused it. However, as the
>> regression is not seen on x86, I suppose there is only so much I can
>> do.  HJL, can you confirm that indeed removing only the DECL_IS_MALLOC
>> of internal_realloc fixes the issue on IA-64?
> Yes.
>> When I get back home tonight I'll take a look at the trees created by
>> array_constructor_6 and see if we do something obviously stupid, i.e.
>> can the frontend be fixed in some other way so that we can still keep
>> internal_realloc marked with DECL_IS_MALLOC.
> You can compare the ia64 alias dumps to see the difference between
> before and after the DECL_IS_MALLOC change.

I removed DECL_IS_MALLOC from internal_realloc, committed 126662 as 
obvious, and closed PR 32748.

Janne Blomqvist

More information about the Gcc mailing list