aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/Basic/DiagnosticGroups.td9
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td4
-rw-r--r--test/SemaObjC/warn-superclass-method-mismatch.m2
3 files changed, 9 insertions, 6 deletions
diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td
index 60719f1b4a..5a701078a0 100644
--- a/include/clang/Basic/DiagnosticGroups.td
+++ b/include/clang/Basic/DiagnosticGroups.td
@@ -97,6 +97,7 @@ def UnusedVariable : DiagGroup<"unused-variable">;
def ReadOnlySetterAttrs : DiagGroup<"readonly-setter-attrs">;
def Reorder : DiagGroup<"reorder">;
def UndeclaredSelector : DiagGroup<"undeclared-selector">;
+def SuperSubClassMismatch : DiagGroup<"super-class-method-mismatch">;
def : DiagGroup<"variadic-macros">;
def VectorConversions : DiagGroup<"vector-conversions">; // clang specific
def VolatileRegisterVar : DiagGroup<"volatile-register-var">;
@@ -137,9 +138,11 @@ def Most : DiagGroup<"most", [
UnusedVariable,
VectorConversions,
VolatileRegisterVar,
- ReadOnlySetterAttrs,
- Reorder,
- UndeclaredSelector
+ // FIXME. Too many errors (-Werror) in a key project.
+ // ReadOnlySetterAttrs,
+ Reorder
+ // FIXME. Too many errors (-Werror) in a key project.
+ // UndeclaredSelector
]>;
// -Wall is -Wmost -Wparentheses
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td
index 20862c3bfe..0a90af13c7 100644
--- a/include/clang/Basic/DiagnosticSemaKinds.td
+++ b/include/clang/Basic/DiagnosticSemaKinds.td
@@ -2093,7 +2093,7 @@ def error_protected_ivar_access : Error<"instance variable %0 is protected">,
def warn_maynot_respond : Warning<"%0 may not respond to %1">;
def warn_attribute_method_def : Warning<
"method attribute can only be specified on method declarations">;
-def ext_typecheck_base_super : ExtWarn<
+def ext_typecheck_base_super : Warning<
"method parameter type %0 does not match "
- "super class method parameter type %1">;
+ "super class method parameter type %1">, InGroup<SuperSubClassMismatch>, DefaultIgnore;
}
diff --git a/test/SemaObjC/warn-superclass-method-mismatch.m b/test/SemaObjC/warn-superclass-method-mismatch.m
index 5efe3e8d10..f123a3f2dd 100644
--- a/test/SemaObjC/warn-superclass-method-mismatch.m
+++ b/test/SemaObjC/warn-superclass-method-mismatch.m
@@ -1,4 +1,4 @@
-// RUN: clang-cc -fsyntax-only -verify %s
+// RUN: clang-cc -fsyntax-only -Wsuper-class-method-mismatch -verify %s
@interface Root
-(void) method_r: (char)ch : (float*)f1 : (int*) x; // expected-note {{previous declaration is here}}