It looks non-ambiguous to me. 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