In <stdlib.h> from glibc, there are /* Re-allocate the previously allocated block in PTR, making the new block SIZE bytes long. */ extern void *realloc (void *__ptr, size_t __size) __THROW __attribute_malloc__ __attribute_warn_unused_result__;
However, when a function is marked as mallloc-like, gcc assumes it will return an address which can alias something else. In case like #include <stdlib.h> int *p; p = malloc (4); *p = 0; p = realloc (p, 4); *p = 1; will have VOPs that do not prevent re-ordering of the two stores. fixincludes should remove __attribute_malloc__ from realloc. -- Summary: Fixincludes should fix realloc in <stdlib.h> in glibc Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32771