From: Fariborz Jahanian Date: Tue, 26 Jun 2012 17:47:42 +0000 (+0000) Subject: objc: adds diagnostic group to several old objc warnings. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=de376286f1276a694f465e797c5edb6222075137;p=clang objc: adds diagnostic group to several old objc warnings. // rdar://11741435 pr13184 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159213 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td index 0b46c8a8ba..c98dfae6bc 100644 --- a/include/clang/Basic/DiagnosticGroups.td +++ b/include/clang/Basic/DiagnosticGroups.td @@ -145,6 +145,9 @@ def : DiagGroup<"old-style-cast">; def : DiagGroup<"old-style-definition">; def OutOfLineDeclaration : DiagGroup<"out-of-line-declaration">; def : DiagGroup<"overflow">; +def ForwardClassReceiver : DiagGroup<"receiver-forward-class">; +def MethodAccess : DiagGroup<"objc-method-access">; +def ObjCReceiver : DiagGroup<"receiver-expr">; def OverlengthStrings : DiagGroup<"overlength-strings">; def OverloadedVirtual : DiagGroup<"overloaded-virtual">; def ObjCPropertyImpl : DiagGroup<"objc-property-implementation">; diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index d69f536acb..41b8b8a913 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -3517,7 +3517,7 @@ def err_arc_receiver_forward_instance : Error< "receiver type %0 for instance message is a forward declaration">; def warn_receiver_forward_instance : Warning< "receiver type %0 for instance message is a forward declaration">, - InGroup>, DefaultIgnore; + InGroup, DefaultIgnore; def err_arc_collection_forward : Error< "collection expression type %0 is a forward declaration">; def err_arc_multiple_method_decl : Error< @@ -4077,13 +4077,17 @@ def err_imaginary_not_supported : Error<"imaginary types are not supported">; // Obj-c expressions def warn_root_inst_method_not_found : Warning< - "instance method %0 is being used on 'Class' which is not in the root class">; + "instance method %0 is being used on 'Class' which is not in the root class">, + InGroup; def warn_class_method_not_found : Warning< - "class method %objcclass0 not found (return type defaults to 'id')">; + "class method %objcclass0 not found (return type defaults to 'id')">, + InGroup; def warn_instance_method_on_class_found : Warning< - "instance method %0 found instead of class method %1">; + "instance method %0 found instead of class method %1">, + InGroup; def warn_inst_method_not_found : Warning< - "instance method %objcinstance0 not found (return type defaults to 'id')">; + "instance method %objcinstance0 not found (return type defaults to 'id')">, + InGroup; def error_no_super_class_message : Error< "no @interface declaration found in class messaging of %0">; def error_root_class_cannot_use_super : Error< @@ -4098,7 +4102,7 @@ def err_missing_open_square_message_send : Error< "missing '[' at start of message send expression">; def warn_bad_receiver_type : Warning< "receiver type %0 is not 'id' or interface pointer, consider " - "casting it to 'id'">; + "casting it to 'id'">,InGroup; def err_bad_receiver_type : Error<"bad receiver type %0">; def err_unknown_receiver_suggest : Error< "unknown receiver %0; did you mean %1?">; @@ -5503,7 +5507,8 @@ def err_invalid_conversion_between_ext_vectors : Error< // Type def ext_invalid_sign_spec : Extension<"'%0' cannot be signed or unsigned">; def warn_receiver_forward_class : Warning< - "receiver %0 is a forward class and corresponding @interface may not exist">; + "receiver %0 is a forward class and corresponding @interface may not exist">, + InGroup; def note_method_sent_forward_class : Note<"method %0 is used for the forward class">; def ext_missing_declspec : ExtWarn< "declaration specifier missing, defaulting to 'int'">; diff --git a/test/Misc/warning-flags.c b/test/Misc/warning-flags.c index 3e2140f36f..2799de584c 100644 --- a/test/Misc/warning-flags.c +++ b/test/Misc/warning-flags.c @@ -17,7 +17,7 @@ This test serves two purposes: The list of warnings below should NEVER grow. It should gradually shrink to 0. -CHECK: Warnings without flags (238): +CHECK: Warnings without flags (232): CHECK-NEXT: ext_anonymous_struct_union_qualified CHECK-NEXT: ext_binary_literal CHECK-NEXT: ext_cast_fn_obj @@ -105,7 +105,6 @@ CHECK-NEXT: warn_attribute_weak_import_invalid_on_definition CHECK-NEXT: warn_attribute_weak_on_field CHECK-NEXT: warn_attribute_weak_on_local CHECK-NEXT: warn_attribute_wrong_decl_type -CHECK-NEXT: warn_bad_receiver_type CHECK-NEXT: warn_bitfield_width_exceeds_type_size CHECK-NEXT: warn_bool_switch_condition CHECK-NEXT: warn_braces_around_scalar_init @@ -114,7 +113,6 @@ CHECK-NEXT: warn_call_to_pure_virtual_member_function_from_ctor_dtor CHECK-NEXT: warn_call_wrong_number_of_arguments CHECK-NEXT: warn_case_empty_range CHECK-NEXT: warn_char_constant_too_large -CHECK-NEXT: warn_class_method_not_found CHECK-NEXT: warn_cmdline_missing_macro_defs CHECK-NEXT: warn_collection_expr_type CHECK-NEXT: warn_conflicting_param_types @@ -159,8 +157,6 @@ CHECK-NEXT: warn_implements_nscopying CHECK-NEXT: warn_incompatible_qualified_id CHECK-NEXT: warn_initializer_string_for_char_array_too_long CHECK-NEXT: warn_inline_namespace_reopened_noninline -CHECK-NEXT: warn_inst_method_not_found -CHECK-NEXT: warn_instance_method_on_class_found CHECK-NEXT: warn_integer_too_large CHECK-NEXT: warn_integer_too_large_for_signed CHECK-NEXT: warn_invalid_asm_cast_lvalue @@ -224,13 +220,11 @@ CHECK-NEXT: warn_property_attribute CHECK-NEXT: warn_property_getter_owning_mismatch CHECK-NEXT: warn_property_types_are_incompatible CHECK-NEXT: warn_readonly_property -CHECK-NEXT: warn_receiver_forward_class CHECK-NEXT: warn_redecl_library_builtin CHECK-NEXT: warn_redeclaration_without_attribute_prev_attribute_ignored CHECK-NEXT: warn_register_objc_catch_parm CHECK-NEXT: warn_related_result_type_compatibility_class CHECK-NEXT: warn_related_result_type_compatibility_protocol -CHECK-NEXT: warn_root_inst_method_not_found CHECK-NEXT: warn_second_parameter_of_va_start_not_last_named_argument CHECK-NEXT: warn_second_parameter_to_va_arg_never_compatible CHECK-NEXT: warn_standalone_specifier