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

Reply via email to