of course your new version. thanks,
David On Tue, Jan 10, 2012 at 1:31 AM, Richard Guenther <rguent...@suse.de> wrote: > 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