<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><div><blockquote type="cite" class="clean_bq" style="color: rgb(0, 0, 0); font-family: Helvetica, Arial; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">+def ObjCMultipleMethodName : DiagGroup<"objc-multiple-method-names">; </blockquote></div><p>Name vs names looks inconsistent, isn’t it?</p><div><br class="Apple-interchange-newline"></div></div> <div id="bloop_sign_1418968156462955008" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">-- <br>AlexDenisov</div><div style="font-family:helvetica,arial;font-size:13px">Software Engineer, <a href="https://github.com/AlexDenisov">https://github.com/AlexDenisov</a></div></div> <br><p style="color:#000;">On 19 Dec 2014 at 05:49:06, Fariborz Jahanian (<a href="mailto:fjahanian@apple.com">fjahanian@apple.com</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>Author: fjahanian
<br>Date: Thu Dec 18 13:41:11 2014
<br>New Revision: 224536
<br>
<br>URL: http://llvm.org/viewvc/llvm-project?rev=224536&view=rev
<br>Log:
<br>Objective-C. Provide group name for warning
<br>on multiple selector names found during lookup.
<br>rdar://19265296
<br>
<br>Modified:
<br>    cfe/trunk/include/clang/Basic/DiagnosticGroups.td
<br>    cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
<br>    cfe/trunk/test/Misc/warning-flags.c
<br>    cfe/trunk/test/SemaObjC/method-lookup-3.m
<br>
<br>Modified: cfe/trunk/include/clang/Basic/DiagnosticGroups.td
<br>URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticGroups.td?rev=224536&r1=224535&r2=224536&view=diff
<br>==============================================================================
<br>--- cfe/trunk/include/clang/Basic/DiagnosticGroups.td (original)
<br>+++ cfe/trunk/include/clang/Basic/DiagnosticGroups.td Thu Dec 18 13:41:11 2014
<br>@@ -274,6 +274,7 @@ def ObjCInvalidIBOutletProperty : DiagGr
<br> def ObjCRootClass : DiagGroup<"objc-root-class">;
<br> def ObjCPointerIntrospectPerformSelector : DiagGroup<"deprecated-objc-pointer-introspection-performSelector">;
<br> def ObjCPointerIntrospect : DiagGroup<"deprecated-objc-pointer-introspection", [ObjCPointerIntrospectPerformSelector]>;
<br>+def ObjCMultipleMethodName : DiagGroup<"objc-multiple-method-names">;
<br> def DeprecatedObjCIsaUsage : DiagGroup<"deprecated-objc-isa-usage">;
<br> def ExplicitInitializeCall : DiagGroup<"explicit-initialize-call">;
<br> def Packed : DiagGroup<"packed">;
<br>
<br>Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td
<br>URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=224536&r1=224535&r2=224536&view=diff
<br>==============================================================================
<br>--- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)
<br>+++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Thu Dec 18 13:41:11 2014
<br>@@ -721,7 +721,8 @@ def warn_implements_nscopying : Warning<
<br> "default assign attribute on property %0 which implements "
<br> "NSCopying protocol is not appropriate with -fobjc-gc[-only]">;
<br>  
<br>-def warn_multiple_method_decl : Warning<"multiple methods named %0 found">;
<br>+def warn_multiple_method_decl : Warning<"multiple methods named %0 found">,
<br>+  InGroup<ObjCMultipleMethodName>;
<br> def warn_strict_multiple_method_decl : Warning<
<br>   "multiple methods named %0 found">, InGroup<StrictSelector>, DefaultIgnore;
<br> def warn_accessor_property_type_mismatch : Warning<
<br>
<br>Modified: cfe/trunk/test/Misc/warning-flags.c
<br>URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Misc/warning-flags.c?rev=224536&r1=224535&r2=224536&view=diff
<br>==============================================================================
<br>--- cfe/trunk/test/Misc/warning-flags.c (original)
<br>+++ cfe/trunk/test/Misc/warning-flags.c Thu Dec 18 13:41:11 2014
<br>@@ -18,7 +18,7 @@ This test serves two purposes:
<br>  
<br> The list of warnings below should NEVER grow.  It should gradually shrink to 0.
<br>  
<br>-CHECK: Warnings without flags (97):
<br>+CHECK: Warnings without flags (96):
<br> CHECK-NEXT:   ext_excess_initializers
<br> CHECK-NEXT:   ext_excess_initializers_in_char_array_initializer
<br> CHECK-NEXT:   ext_expected_semi_decl_list
<br>@@ -89,7 +89,6 @@ CHECK-NEXT:   warn_missing_dependent_tem
<br> CHECK-NEXT:   warn_missing_exception_specification
<br> CHECK-NEXT:   warn_missing_whitespace_after_macro_name
<br> CHECK-NEXT:   warn_mt_message
<br>-CHECK-NEXT:   warn_multiple_method_decl
<br> CHECK-NEXT:   warn_no_constructor_for_refconst
<br> CHECK-NEXT:   warn_not_compound_assign
<br> CHECK-NEXT:   warn_objc_property_copy_missing_on_block
<br>
<br>Modified: cfe/trunk/test/SemaObjC/method-lookup-3.m
<br>URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/method-lookup-3.m?rev=224536&r1=224535&r2=224536&view=diff
<br>==============================================================================
<br>--- cfe/trunk/test/SemaObjC/method-lookup-3.m (original)
<br>+++ cfe/trunk/test/SemaObjC/method-lookup-3.m Thu Dec 18 13:41:11 2014
<br>@@ -71,3 +71,29 @@ struct test4b { float x, y; };
<br> void test4(id x) {
<br>   (void) [x test4]; //expected-warning {{multiple methods named 'test4' found}}
<br> }
<br>+
<br>+// rdar://19265296
<br>+#pragma clang diagnostic ignored "-Wobjc-multiple-method-names"
<br>+@interface NSObject  
<br>++ (id)alloc;
<br>++ (id)class;
<br>+- (id) init;
<br>+@end
<br>+
<br>+@class NSString;
<br>+@interface A : NSObject
<br>+- (instancetype)initWithType:(NSString *)whatever;
<br>+@end
<br>+
<br>+@interface Test : NSObject @end
<br>+
<br>+@implementation Test
<br>++ (instancetype)foo
<br>+{
<br>+    return [[[self class] alloc] initWithType:3];
<br>+}
<br>+- (instancetype)initWithType:(int)whatever
<br>+{
<br>+    return [super init];
<br>+}
<br>+@end
<br>
<br>
<br>_______________________________________________
<br>cfe-commits mailing list
<br>cfe-commits@cs.uiuc.edu
<br>http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
<br></div></div></span></blockquote></body></html>