https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78902

--- Comment #8 from rguenther at suse dot de <rguenther at suse dot de> ---
On December 22, 2016 5:36:56 PM GMT+01:00, "msebor at gcc dot gnu.org"
<gcc-bugzi...@gcc.gnu.org> wrote:
>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78902
>
>Martin Sebor <msebor at gcc dot gnu.org> changed:
>
>           What    |Removed                     |Added
>----------------------------------------------------------------------------
>              CC|                            |msebor at gcc dot gnu.org
>
>--- Comment #6 from Martin Sebor <msebor at gcc dot gnu.org> ---
>Warning on malloc with an unused return value sounds like a good idea
>to me (in
>fact, it seems that all allocation functions to be declared with
>warn_unused_result; i.e., all those declared with attribute
>alloc_size).
>
>I also think warning on malloc(0) can be useful.  GCC 7 has
>-Walloc-zero that
>warns on all zero-size allocations.  Unfortunately, it's not in -Wall
>or
>-Wextra and has to be explicitly enabled.
>
>Unconditionally turning malloc(0) into NULL wouldn't be safe since the
>call is
>allowed to return a unique non-null pointer and there are
>implementations
>(e.g., Glibc) that do return one.  But doing that under an option might
>be
>useful on targets where the system malloc returns null (though it could
>break
>with superimposition).
>
>I'm not sure that eliminating calls to malloc whose return value is
>unused is a
>safe optimization.  Malloc can be superimposed and the replacement
>version
>might have important side-effects that the optimization would prevent.

Given we remove malloc/free pairs it might be OK I think.

Reply via email to