[cfe-commits] [patch] warn on missing [super finalize] call
Ted Kremenek
kremenek at apple.com
Mon Aug 29 11:25:46 PDT 2011
To put it more clearly: you *can't* use ARC with GC, and -finalize is very specific to GC. If and when we support a hybrid ARC/GC mode, that would be properly supported in the LangOptions. One shouldn't suggest calling [super finalize] in ARC because that doesn't make any sense.
On Aug 28, 2011, at 3:34 PM, Nico Weber wrote:
> On Sun, Aug 28, 2011 at 6:58 PM, Fariborz Jahanian <fjahanian at apple.com> wrote:
>> LGTM. I am not sure though that this warning, like the other one, makes any sense in arc mode.
>> You may want to turn it off in arc mode.
>
> My reasoning was: If one enables both arc and garbage collection
> (which doesn't make much sense), then the compiler will automatically
> insert retain/release calls (arc) which are noops (gc). Getting
> finalize right in this mode is still important. (But I guess not many
> will use arc with gc, so it doesn't matter much either way.)
>
> Nico
>
>>
>> - Fariborz
>>
>>
>> On Aug 28, 2011, at 2:58 AM, Nico Weber wrote:
>>
>>> Hi,
>>>
>>> the attached patch makes clang warn on missing [super finalize] calls.
>>> The warning uses the same logic as gcc (
>>> http://codesearch.google.com/#N01oSP8jpDo/gcc/objc/objc-act.c , search
>>> for "should_call_super_finalize" in that file). This is half of
>>> PR10661.
>>>
>>> This follows Fariborz' advice from
>>> http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20110822/045443.html
>>> . I added OMF_finalize to a few switch statements, mostly to fix
>>> "unhandled value in switch" warnings – I tried to add it so that it
>>> didn't change the previous semantics.
>>>
>>> Ok?
>>>
>>> Nico
>>> <clang-missing-finalize.patch>_______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
>>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list