diff options
Diffstat (limited to 'gcc/testsuite/objc/execute/formal_protocol-5.m')
-rw-r--r-- | gcc/testsuite/objc/execute/formal_protocol-5.m | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc/testsuite/objc/execute/formal_protocol-5.m b/gcc/testsuite/objc/execute/formal_protocol-5.m new file mode 100644 index 000000000..c3bd53d3a --- /dev/null +++ b/gcc/testsuite/objc/execute/formal_protocol-5.m @@ -0,0 +1,38 @@ +/* Contributed by Nicola Pero - Fri Mar 9 21:35:47 CET 2001 */ + +#include <stdlib.h> +#include <objc/Protocol.h> +#include "../../objc-obj-c++-shared/next-mapping.h" + +/* Test defining a protocol, and accessing it using @protocol */ + +@protocol Evaluating +- (int) importance; +@end + +/* A class adopting the protocol */ +@interface Test <Evaluating> +@end + +@implementation Test +- (int) importance +{ + return 1000; +} +@end + +int main (void) +{ + Protocol *protocol = @protocol (Evaluating); + +#ifdef NEXT_OBJC_USE_NEW_INTERFACE + if (strcmp (protocol_getName(protocol), "Evaluating")) +#else + if (strcmp ([protocol name], "Evaluating")) +#endif + { + abort (); + } + + return 0; +} |