diff options
author | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
---|---|---|
committer | upstream source tree <ports@midipix.org> | 2015-03-15 20:14:05 -0400 |
commit | 554fd8c5195424bdbcabf5de30fdc183aba391bd (patch) | |
tree | 976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/testsuite/objc-obj-c++-shared/Protocol1.h | |
download | cbb-gcc-4.6.4-15d2061ac0796199866debe9ac87130894b0cdd3.tar.bz2 cbb-gcc-4.6.4-15d2061ac0796199866debe9ac87130894b0cdd3.tar.xz |
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig;
imported gcc-4.6.4 source tree from verified upstream tarball.
downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.
if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
Diffstat (limited to 'gcc/testsuite/objc-obj-c++-shared/Protocol1.h')
-rw-r--r-- | gcc/testsuite/objc-obj-c++-shared/Protocol1.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gcc/testsuite/objc-obj-c++-shared/Protocol1.h b/gcc/testsuite/objc-obj-c++-shared/Protocol1.h new file mode 100644 index 000000000..d375ac0d5 --- /dev/null +++ b/gcc/testsuite/objc-obj-c++-shared/Protocol1.h @@ -0,0 +1,52 @@ +/* + * Temporary work-around to avoid the need for method attributes in + * the NeXT Runtime Protocol header. + */ +#ifndef _OBJC_PROTOCOL1_H_ +#define _OBJC_PROTOCOL1_H_ + +# ifndef __NEXT_RUNTIME__ +# include <objc/Protocol.h> +# else +# include "next-abi.h" +# ifndef NEXT_OBJC_USE_NEW_INTERFACE +/* We are on a NeXT version without method __attributes__ */ +# import <objc/Protocol.h> +# else +/* We make our own interface without the deprecation messages + * This is essentially <objc/Protocol.h> without the OBJC2 + * flags. + * + */ +# ifndef _OBJC_PROTOCOL_H_ +# define _OBJC_PROTOCOL_H_ +# import "Object1.h" + +@interface Protocol : Object +{ +@private + char *protocol_name ; + struct objc_protocol_list *protocol_list ; + struct objc_method_description_list *instance_methods ; + struct objc_method_description_list *class_methods ; +} + +/* Obtaining attributes intrinsic to the protocol */ +#if (NEXT_OBJC_ABI_VERSION==0) +- (const char *)name ; /* Not avail in v2, deprecated in prior */ +/* Testing protocol conformance */ +- (BOOL) conformsTo: (Protocol *)aProtocolObject ; /* Not avail in v2 */ +#endif + +/* Looking up information specific to a protocol */ +/* Deprecated, but available */ + +- (struct objc_method_description *) descriptionForInstanceMethod:(SEL)aSel ; +- (struct objc_method_description *) descriptionForClassMethod:(SEL)aSel ; + +@end + +# endif /* __NEXT_RUNTIME__ */ +# endif /* _OBJC_PROTOCOL_H_ */ +# endif /* NEXT_OBJC_ABI_VERSION */ +#endif /* _OBJC_PROTOCOL1_H_ */ |