Can realloc be marked as a mallloc-like function?

Janne Blomqvist blomqvist.janne@gmail.com
Sun Jul 15 07:18:00 GMT 2007


On 7/14/07, H.J. Lu <hjl@lucon.org> 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
> > <http://gcc.gnu.org/ml/gcc/2004-01/msg00005.html>.  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?

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.

-- 
Janne Blomqvist



More information about the Gcc mailing list