r205024 - Objective-C. revert r204965. This will make

Nico Weber thakis at chromium.org
Tue Apr 1 18:14:38 PDT 2014


On Fri, Mar 28, 2014 at 3:38 PM, Ted Kremenek <kremenek at apple.com> wrote:

> Hi Nico,
>
> The discussion was in person, in a hallway.  We don’t discuss everything
> over email.  :)  I do agree that there should have been a bit more
> information here on the intended design.
>
> The idea for the fixit is to provide a way for a user to silence the
> warning when they “know what they are doing”.  I suggested:
>
>   @selector((…))
>
> notice the double ‘((‘.  Essentially it matches the idiom provided by
> -Wparenthesis.
>
>
What do you think?
>

Maybe it shouldn't warn on selectors from system headers?


>
> Cheers,
> Ted
>
> On Mar 28, 2014, at 11:59 AM, Nico Weber <thakis at chromium.org> wrote:
>
> Can you share the idea for the fix-it? And maybe this shouldn't be on by
> default until the fix-it is implemented?
>
> As is, this will warn if someone writes @selector(length) and includes
> Cocoa, which doesn't seem very unlikely – and warning on that without a
> workaround doesn't seem useful.
>
> (Also, it'd be nice if the discussion was on-list.)
>
>
> On Fri, Mar 28, 2014 at 11:22 AM, Fariborz Jahanian <fjahanian at apple.com>wrote:
>
>> Author: fjahanian
>> Date: Fri Mar 28 13:22:16 2014
>> New Revision: 205024
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=205024&view=rev
>> Log:
>> Objective-C. revert r204965. This will make
>> -Wselector-type-mismatch default again. After
>> internal discussions, we think that in most cases
>> it has helped our developers find hard to detect
>> undefined behaviors. We are going to provide a syntax
>> (and fix-it) to suppress the warning in remaining of
>> false positive cases.
>>
>> Modified:
>>     cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>>     cfe/trunk/test/SemaObjC/selector-1.m
>>
>> Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=205024&r1=205023&r2=205024&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
>> +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Fri Mar 28
>> 13:22:16 2014
>> @@ -907,7 +907,7 @@ def warn_unimplemented_protocol_method :
>>  def warning_multiple_selectors: Warning<
>>    "several methods with selector %0 of mismatched types are found "
>>    "for the @selector expression">,
>> -  InGroup<SelectorTypeMismatch>, DefaultIgnore;
>> +  InGroup<SelectorTypeMismatch>;
>>  // C++ declarations
>>  def err_static_assert_expression_is_not_constant : Error<
>>    "static_assert expression is not an integral constant expression">;
>>
>> Modified: cfe/trunk/test/SemaObjC/selector-1.m
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/selector-1.m?rev=205024&r1=205023&r2=205024&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/test/SemaObjC/selector-1.m (original)
>> +++ cfe/trunk/test/SemaObjC/selector-1.m Fri Mar 28 13:22:16 2014
>> @@ -1,4 +1,4 @@
>> -// RUN: %clang_cc1 -Wselector-type-mismatch -verify %s
>> +// RUN: %clang_cc1 -verify %s
>>
>>  @interface I
>>  - (id) compare: (char) arg1; // expected-note {{method 'compare:'
>> declared here}}
>>
>>
>> _______________________________________________
>> 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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140401/204b0aba/attachment.html>


More information about the cfe-commits mailing list