This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: [PATCH gcc/fortran] get rid of gfc_free
Jakub Jelinek wrote:
> On Tue, Mar 15, 2011 at 11:02:38AM +0100, Jim Meyering wrote:
>> > Instead of "please let us know", maybe recommend using
>> > __builtin_expect instead? E.g. something like
>> >
>> > if (__builtin_expect (ptr != NULL, 0))
>> > free (ptr);
>>
>> Good idea. Thanks.
>> Though how about avoiding the double negative?
>>
>> if (__builtin_expect (ptr == NULL, 1))
>> free (ptr);
>
> What double negative? if (__builtin_expect (ptr != NULL, 0)) free (ptr);
> is certainly correct, the latter is wrong, it will leak memory.
> It will call free only if ptr is NULL, i.e. do a useless free (NULL),
> if it is non-NULL, it will not do anything.
> You could do
> if (!__builtin_expect (ptr == NULL, 1))
> free (ptr);
> but that doesn't seem to be nicer or clearer than
> if (__builtin_expect (ptr != NULL, 0))
> free (ptr);
Thanks for the quick correction.
I've fixed it locally, too.