diff options
-rw-r--r-- | include/clang/Basic/DiagnosticSemaKinds.td | 3 | ||||
-rw-r--r-- | test/SemaObjC/incomplete-implementation.m | 26 |
2 files changed, 28 insertions, 1 deletions
diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index 82ebf0b56d..4e42fefdf1 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -343,7 +343,8 @@ def err_conflicting_ivar_name : Error< "conflicting instance variable names: %0 vs %1">; def err_inconsistant_ivar_count : Error< "inconsistent number of instance variables specified">; -def warn_incomplete_impl : Warning<"incomplete implementation">; +def warn_incomplete_impl : Warning<"incomplete implementation">, + InGroup<DiagGroup<"incomplete-implementation">>; def note_undef_method_impl : Note<"method definition for %0 not found">; def note_required_for_protocol_at : Note<"required for direct or indirect protocol %0">; diff --git a/test/SemaObjC/incomplete-implementation.m b/test/SemaObjC/incomplete-implementation.m new file mode 100644 index 0000000000..612c331ae8 --- /dev/null +++ b/test/SemaObjC/incomplete-implementation.m @@ -0,0 +1,26 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +@interface I +- Meth; // expected-note{{method definition for 'Meth' not found}} +@end + +@implementation I // expected-warning{{incomplete implementation}} +@end + +@implementation I(CAT) +- Meth {return 0;} +@end + +#pragma GCC diagnostic ignored "-Wincomplete-implementation" +@interface I2 +- Meth; +@end + +@implementation I2 +@end + +@implementation I2(CAT) +- Meth {return 0;} +@end + + |