diff options
Diffstat (limited to 'gcc/testsuite/objc/execute/formal_protocol-4.m')
-rw-r--r-- | gcc/testsuite/objc/execute/formal_protocol-4.m | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc/testsuite/objc/execute/formal_protocol-4.m b/gcc/testsuite/objc/execute/formal_protocol-4.m new file mode 100644 index 000000000..10aba8936 --- /dev/null +++ b/gcc/testsuite/objc/execute/formal_protocol-4.m @@ -0,0 +1,41 @@ +/* Contributed by Nicola Pero - Fri Mar 9 21:35:47 CET 2001 */ + +#include <stdlib.h> +#import "../../objc-obj-c++-shared/Object1.h" + +/* Test defining a protocol, a class adopting it in a category */ + +@protocol Evaluating +- (int) importance; +@end + +@interface Feature : Object +@end + +@implementation Feature +@end + +@interface Feature (EvaluatingProtocol) <Evaluating> +@end + +@implementation Feature (EvaluatingProtocol) +- (int) importance +{ + return 1000; +} +@end + +int main (void) +{ + id <Evaluating> object; + + object = [Feature new]; + + if ([object importance] != 1000) + { + abort (); + } + + return 0; +} +#include "../../objc-obj-c++-shared/Object1-implementation.h" |