On Mon, 9 Jan 2012, Xinliang David Li wrote:

> It looks non-ambiguous to me.

The new proposed version or the old?

Richard.

> David
> 
> On Mon, Jan 9, 2012 at 1:05 AM, Richard Guenther <rguent...@suse.de> wrote:
> >
> > Since GCC 4.4 applying the malloc attribute to realloc-like
> > functions does not work under the documented constraints because
> > the contents of the memory pointed to are not properly transfered
> > from the realloc argument (or treated as pointing to anything,
> > like 4.3 behaved).
> >
> > The following adjusts documentation to reflect implementation
> > reality (we do have an implementation detail that treats the
> > memory blob returned for non-builtins as pointing to any global
> > variable, but that is neither documented nor do I plan to do
> > so - I presume it is to allow allocation + initialization
> > routines to be marked with malloc, but even that area looks
> > susceptible to misinterpretation to me).
> >
> > Any comments?
> >
> > Thanks,
> > Richard.
> >
> > 2012-01-09  Richard Guenther  <rguent...@suse.de>
> >
> >        * doc/extend.texi (malloc attribute): Adjust according to
> >        implementation.
> >
> > Index: gcc/doc/extend.texi
> > ===================================================================
> > --- gcc/doc/extend.texi (revision 183001)
> > +++ gcc/doc/extend.texi (working copy)
> > @@ -2771,13 +2771,12 @@ efficient @code{jal} instruction.
> >  @cindex @code{malloc} attribute
> >  The @code{malloc} attribute is used to tell the compiler that a function
> >  may be treated as if any non-@code{NULL} pointer it returns cannot
> > -alias any other pointer valid when the function returns.
> > +alias any other pointer valid when the function returns and that the memory
> > +has undefined content.
> >  This will often improve optimization.
> >  Standard functions with this property include @code{malloc} and
> > -@code{calloc}.  @code{realloc}-like functions have this property as
> > -long as the old pointer is never referred to (including comparing it
> > -to the new pointer) after the function returns a non-@code{NULL}
> > -value.
> > +@code{calloc}.  @code{realloc}-like functions do not have this
> > +property as the memory pointed to does not have undefined content.
> >
> >  @item mips16/nomips16
> >  @cindex @code{mips16} attribute
> 
> 

-- 
Richard Guenther <rguent...@suse.de>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer

Reply via email to