diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2014-05-23 10:11:03 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-05-23 10:11:03 +0000 |
commit | ee526ea745a1bfce9524180e05857df14dfd1eae (patch) | |
tree | 164c14173384077c10ad3af500426be2a8e5259e /gcc | |
parent | 803e4cbb22f6a09c02443e4ca9c7949e49e08e77 (diff) | |
download | gcc-ee526ea745a1bfce9524180e05857df14dfd1eae.zip gcc-ee526ea745a1bfce9524180e05857df14dfd1eae.tar.gz gcc-ee526ea745a1bfce9524180e05857df14dfd1eae.tar.bz2 |
re PR other/56955 (documentation for attribute malloc contradicts itself)
2014-05-22 Paul Eggert <eggert@cs.ucla.edu>
PR other/56955
* doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc))
documentation; the old documentation didn't clearly state the
constraints on the contents of the pointed-to storage.
From-SVN: r210848
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/doc/extend.texi | 18 |
2 files changed, 17 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bada331..aedf2d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-05-23 Paul Eggert <eggert@cs.ucla.edu> + + PR other/56955 + * doc/extend.texi (Function Attributes): Fix __attribute__ ((malloc)) + documentation; the old documentation didn't clearly state the + constraints on the contents of the pointed-to storage. + 2014-05-23 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org> Fix bootstrap error on ia64 diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 28eb8ae..c54ed67 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -3207,14 +3207,16 @@ efficient @code{jal} instruction. @item malloc @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 and that the memory -has undefined content. -This often improves optimization. -Standard functions with this property include @code{malloc} and -@code{calloc}. @code{realloc}-like functions do not have this -property as the memory pointed to does not have undefined content. +This tells the compiler that a function is @code{malloc}-like, i.e., +that the pointer @var{P} returned by the function cannot alias any +other pointer valid when the function returns, and moreover no +pointers to valid objects occur in any storage addressed by @var{P}. + +Using this attribute can improve optimization. Functions like +@code{malloc} and @code{calloc} have this property because they return +a pointer to uninitialized or zeroed-out storage. However, functions +like @code{realloc} do not have this property, as they can return a +pointer to storage containing pointers. @item mips16/nomips16 @cindex @code{mips16} attribute |