This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug objc/47076] New: Protocol referenced in @interface declarations should be defined
- From: "nicola at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 28 Dec 2010 16:30:28 +0000
- Subject: [Bug objc/47076] New: Protocol referenced in @interface declarations should be defined
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47076
Summary: Protocol referenced in @interface declarations should
be defined
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: objc
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: nicola@gcc.gnu.org
All the protocols in the list of protocols in an @interface declaration should
have been defined; forward-references are not enough. Here is a testcase --
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, December 2010.
*/
/* { dg-do compile } */
/* Test that all protocols appearing in @interface declarations are
real (ie, we saw a full @protocol definition with list of methods),
and not just forward-references (ie, "@protocol NSObject;"). */
#include <objc/objc.h>
@protocol MyProtocol;
@protocol MyProtocol2
- (int)method2;
@end
@interface MyClass <MyProtocol> /* { dg-warning "definition of protocol
.MyProtocol. not found" } */
@end
@interface MyClass2 <MyProtocol2> /* Ok */
@end
@interface MyClass2 (Category) <MyProtocol> /* { dg-warning "definition of
protocol .MyProtocol. not found" } */
@end
Thanks