On Sun, Jul 15, 2007 at 10:17:56AM +0300, Janne Blomqvist wrote: > On 7/14/07, H.J. Lu <[EMAIL PROTECTED]> 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?
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. H.J.