// Sema && Serialization
def warn_dup_category_def : Warning<
- "duplicate definition of category %1 on interface %0">;
+ "duplicate definition of category %1 on interface %0">,
+ InGroup<DiagGroup<"objc-duplicate-category-definition">>;
// Targets
The list of warnings below should NEVER grow. It should gradually shrink to 0.
-CHECK: Warnings without flags (66):
+CHECK: Warnings without flags (65):
CHECK-NEXT: ext_expected_semi_decl_list
CHECK-NEXT: ext_explicit_specialization_storage_class
CHECK-NEXT: warn_drv_assuming_mfloat_abi_is
CHECK-NEXT: warn_drv_clang_unsupported
CHECK-NEXT: warn_drv_pch_not_first_include
-CHECK-NEXT: warn_dup_category_def
CHECK-NEXT: warn_enum_value_overflow
CHECK-NEXT: warn_expected_qualified_after_typename
CHECK-NEXT: warn_fe_backend_unsupported
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
+// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class -Wno-objc-duplicate-category-definition -DIGNORE_DUP_CAT %s
@interface Foo // expected-note {{previous definition is here}}
@end
@protocol DP<Q> @end
#pragma clang diagnostic pop
-@interface A(Cat)<P> @end // expected-note {{previous definition is here}}
-@interface A(Cat)<Q> @end // expected-warning {{duplicate definition of category 'Cat' on interface 'A'}}
+@interface A(Cat)<P> @end
+@interface A(Cat)<Q> @end
+
+#ifndef IGNORE_DUP_CAT
+// expected-note@-4 {{previous definition is here}}
+// expected-warning@-4 {{duplicate definition of category 'Cat' on interface 'A'}}
+#endif
// rdar 7626768
@class NSString;