aboutsummaryrefslogtreecommitdiff
path: root/libobjc/objc/encoding.h
AgeCommit message (Collapse)AuthorFilesLines
2011-06-07In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-117/+0
In libobjc/: 2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com> Removed the Traditional Objective-C runtime public API. * Makefile.in (OBJC_DEPRECATED_H): Variable removed. (install-headers): Do not create the objc/deprecated directory and do not install the deprecated headers. (OBJC_H): Removed encoding.h and objc-api.h. * Object.m: Removed all methods with the exception of -class and -isEqual:. Updated includes. ([-class]): Use Modern API. * objc/Object.h: Do not include deprecated/Object.h. * objc/deprecated/Object.h: Removed. * linking.m (__objc_linking): Call [Object class] instead of [Object name]. * Protocol.m: Removed all methods with the exception of -isEqual:. Updated includes. * objc/Protocol.h: Do not include deprecated/Protocol.h. * objc/deprecated/Protocol.h: Removed. * objc/deprecated/struct_objc_symtab.h: Removed. * objc/deprecated/struct_objc_module.h: Removed. * objc/deprecated/struct_objc_ivar.h: Removed. * objc/deprecated/struct_objc_ivar_list.h: Removed. * objc/deprecated/struct_objc_method.h: Removed. * objc/deprecated/struct_objc_method_list.h: Removed. * objc/deprecated/struct_objc_protocol_list.h: Removed. * objc/deprecated/struct_objc_category.h: Removed. * objc/deprecated/MetaClass.h: Removed. * objc/deprecated/objc_msg_sendv.h: Removed. * objc/deprecated/README: Removed. * objc/deprecated/struct_objc_class.h: Removed. * objc/deprecated/struct_objc_protocol.h: Removed. * objc/deprecated/struct_objc_selector.h: Removed. * objc/encoding.h: Removed. * objc/message.h (struct objc_super): Removed the definition for the Traditional Objective-C runtime API. * objc/objc.h: Do not include objc/objc-decls.h. deprecated/struct_objc_selector.h, deprecated/MetaClass.h, deprecated/struct_objc_class.h, deprecated/struct_objc_protocol.h and deprecated/objc_msg_sendv.h. Uncommented new definition of Protocol *. * objc/objc-api.h: Removed. * objc/runtime.h: Updated comments. Removed check to detect concurrent usage of Traditional and Modern APIs. * objc-private/module-abi-8.h: Always define struct objc_class and struct objc_protocol. (struct objc_protocol_list): Changed type of 'list' argument from 'Protocol *' to 'struct objc_protocol *'. (class_get_instance_size): Added. * objc-private/protocols.h (__objc_protocols_add_protocol): Take a 'struct objc_protocol *' as argument, not a 'Protocol *'. * objc-private/runtime.h: Updated comments. * objc-private/selector.h (struct objc_selector, sel_eq): Added. * class.c: Include objc-private/selector.h. (objc_get_meta_class): Return a Class instead of a MetaClass. * encoding.c (method_get_next_argument): Removed. (method_get_first_argument): Removed. (method_get_nth_argument): Removed. * gc.c: Include objc/runtime.h instead of objc/encoding.h. Include objc-private/module-abi-8.h and ctype.h. * protocols.c (__objc_protocols_add_protocol): Take a 'struct objc_protocl *' as argument, not a 'Protocol *'. (class_addProtocol): Added casts to 'struct objc_protocol *' and 'Protocol *'. (class_copyProtocolList): Likewise. (protocol_conformsToProtocol): Likewise. (protocol_copyProtocolList): Likewise. * sarray.c: Include objc-private/module-abi-8.h. * sendmsg.c (method_get_next_argument): Removed. (method_get_first_argument): Removed. (method_get_nth_argument): Removed. (objc_msg_sendv): Removed. (arglist_t, retval_t): New. (class_get_class_method): Take a 'Class', not 'MetaClass', argument. * thr.c: Include module-abi-8.h. From-SVN: r174765
2011-01-03Update Copyright years for files modified in 2010.Jakub Jelinek1-1/+2
From-SVN: r168438
2010-12-19In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-6/+8
In libobjc/: 2010-12-19 Nicola Pero <nicola.pero@meta-innovation.com> * objc/encoding.h: Updated comments. * objc/runtime.h: Updated comments. (objc_setGetUnknownClassHandler): Mark with objc_EXPORT. (objc_sizeof_type): Same. (objc_alignof_type): Same. (objc_aligned_size): Same. (objc_promoted_size): Same. (objc_skip_type_qualifiers): Same. (objc_skip_typespec): Same. (objc_skip_offset): Same. (objc_skip_argspec): Same. (objc_get_type_qualifiers): Same. (objc_layout_structure): Same. (objc_layout_structure_next_member): Same. (objc_layout_finish_structure): Same. (objc_layout_structure_get_info): Same. From-SVN: r168051
2010-10-10In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-1/+9
In libobjc/: 2010-10-10 Nicola Pero <nicola.pero@meta-innovation.com> * objc/objc-api.h: Define Method, Method_t, Category and Category_t. Prevent including this file at the same time as objc/runtime.h. Updated comments. * objc/deprecated/struct_objc_method.h: Do not define Method, Method_t. * objc/deprecated/struct_objc_category.h: Do not define Category, Category_t. * objc-private/module-abi-8.h: New file containing a copy of all the structure definitions. Not used yet. * objc/encoding.h (objc_aligned_size): Removed duplicate declaration. Updated comments. * objc/runtime.h: Added Ivar, objc_property_t, Property, Method, Category, struct objc_method_description, _C_ID and similar, _C_CONST and similar and _F_CONST and similar. Added objc_sizeof_type, objc_alignof_type, objc_aligned_size, objc_promoted_size, objc_skip_type_qualifier, objc_skip_typespec, objc_skip_offset, objc_skip_argspec, objc_get_type_qualifiers, struct objc_struct_layout, objc_layout_structure, objc_layout_structure_next_member, objc_layout_finish_structure, objc_layout_structure_get_info. Prevent including this file at the same time as objc/objc-api.h. From-SVN: r165256
2010-09-27In gcc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>Nicola Pero1-1/+1
In gcc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> * doc/objc.texi (Type encoding): Added the new 'long double' (D) code. Added byref, which was missing in the list of codes. Explain that enumeration values are encoded as the integer type that the compiler uses to store them. Explain and make examples of how 'const' interacts with pointers, and the complication of the encoding of 'const char *'. (Legacy type encoding): New subsection, explaining that GCC emits incorrect type encodings for the NeXT runtime for compatibility reasons. (@@encode): New subsection, explaining @encode and particularly that protocol qualifiers are not recognized inside an @encode() expression. (Method signatures): New subsection, explaining how method signatures are encoded. In gcc/objc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/45763 PR objc/25450 PR objc/25464 * objc-act.c: Improved comments for encoding functions. (encode_aggregate_within): For the GNU runtime, rewritten some obsfuscated code to clarify the various cases. (encode_aggregate): Function removed. (encode_array): Generate an error if asked to encode an incomplete array as part of generating instance variables. Else, when encoding an incomplete array inside a structure, encode it as an array of zero size. (encode_pointer): For the GNU runtime, fixed encoding 'BOOL *' as '^c' instead of '*'. (encode_gnu_bitfield): Encode enumerated types exactly in the same type as integer types instead of using a hardcoded 'i'. If asked to encode a non-integer type as a bitfield, do not abort compilation immediately; instead generate an error, then skip the type. (encode_type): Use a 'switch' instead of a sequence of 'if's. Added a 'default' clause that gets executed if the type can not be matched, and that encodes it as '?' (unknown) and produces a warning. For the GNU runtime, encode enumerated types exactly in the same way as integer types instead of using a hardcoded 'i'. Encode long double as 'D'. Encode 128-bit integers as 'T' or 't'. Encode C++ reference types as pointers. Call encode_vector to encode vectors. (encode_vector): New function. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. I modified the changes to be used only when compiling for the NeXT runtime. 2005-10-10 Fariborz Jahanian <fjahanian@apple.com> Radar 4301047 * objc-act.c (encode_type): Remove the hack. 2005-07-20 Ziemowit Laski <zlaski@apple.com> Radar 4136935 * objc-act.c (pointee_is_readonly): New function. (encode_pointer, encode_aggregate_within, encode_type): Attempt to emulate GCC 3.3 when generating type encodings. In gcc/testsuite/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/25464 * objc.dg/type-size-3.m: New test. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/45763 * objc.dg/encode-1.m: Execute the test with the GNU runtime as well. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> PR objc/25450 * objc.dg/encode-3.m: Updated for fix of encoding of enums. * objc.dg/type-size-2.m: Same change. * obj-c++.dg/encode-5.mm: Same change. 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. The original Changelogs are below. * objc.dg/encode-6.m: Execute the test only with the GNU runtime. * objc.dg/encode-6-next.m: New file (from encode-6.m in the branch). * objc.dg/encode-7-next.m: New file (from encode-7.m in the branch). * objc.dg/encode-7-next-64bit.m: New file (from encode-7-64bit.m in the branch). * objc.dg/proto-qual-1.m: Test the 3.3 ABI on NeXT (from proto-qual-1.m in the branch) and the normal ABI on GNU. * objc.dg/threedotthree-abi-1.m: New file (from the branch). Run the test only with the NeXT runtime. * obj-c++/encode-1.mm: Execute the test only with the GNU runtime. * obj-c++/encode-1-next.mm: New file (from encode-1.mm in the branch). * obj-c++.dg/threedotthree-abi-1.mm: New file (from the branch). Run the test only with the NeXT runtime. 2006-03-30 Fariborz Jahanian <fjahanian@apple.com> Radar 4492973 * objc.dg/encode-7-64bit.m: New. * objc.dg/encode-7.m: Skip if -m64. 2005-10-19 Fariborz Jahanian <fjahanian@apple.com> Radar 4301047 * objc.dg/proto-qual-1.m: Fix test to match 3.3 ABI * obj-c++.dg/threedotthree-abi-1.mm: New * objc.dg/threedotthree-abi-1.m: New 2005-07-20 Ziemowit Laski <zlaski@apple.com> Radar 4136935 * obj-c++.dg/encode-1.mm: Tweak encodings to match fix. * objc.dg/encode-6.m: Likewise. * objc.dg/encode-7.m: New test case. In libobjc/: 2010-09-26 Nicola Pero <nicola.pero@meta-innovation.com> * encoding.c (objc_sizeof_type): Added support for vector type and for double long types. (objc_alignof_type): Same change. (objc_skip_typespec): Same change. * objc/encoding.h (_C_GCINVISIBLE): Use '|' for _C_GCINVISIBLE instead of '!' since '!' is already used for _C_VECTOR. * objc/objc-api.h (_C_LNG_DBL): Added. From-SVN: r164659
2009-04-09Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.Jakub Jelinek1-11/+10
From-SVN: r145841
2005-08-17All files: Update FSF address.Kelley Cook1-2/+2
2005-08-17 Kelley Cook <kcook@gcc.gnu.org> * All files: Update FSF address. From-SVN: r103197
2005-06-08NXConstStr.h, [...]: Do not include Objective-C headers as system headers.David Ayers1-1/+1
2005-06-08 David Ayers <d.ayers@inode.at> * objc/NXConstStr.h, objc/Object.h, objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h, objc/runtime.h, objc/sarray.h, objc/thr.h, objc/typedstream.h: Do not include Objective-C headers as system headers. From-SVN: r100760
2004-08-13Object.h: Move includes out of extern "C" blocks.Andrew Pinski1-2/+1
2004-08-13 Andrew Pinski <pinskia@physics.uc.edu> * objc/Object.h: Move includes out of extern "C" blocks. * objc/encoding.h: Likewise. * objc/hash.h: Likewise. * objc/objc-api.h: Likewise. * objc/runtime.h: Likewise. * objc/sarray.h: Likewise. * objc/typedstream.h: Likewise. From-SVN: r85968
2004-08-13NXConstStr.h: Update copyright date...Ziemowit Laski1-3/+4
2004-08-12 Ziemowit Laski <zlaski@apple.com> * objc/NXConstStr.h: Update copyright date; bracket with 'extern "C"' for C++ use; make include syntax consistent by using <...> instead of "..."; hoist <objc/...> includes above the 'extern "C"' block. * objc/Object.h: Likewise. * objc/Protocol.h: Likewise. * objc/encoding.h: Likewise. * objc/hash.h: Likewise. * objc/runtime.h: Likewise. * objc/sarray.h: Likewise. * objc/thr.h: Likewise. * objc/typedstream.h: Likewise. * objc/objc-api.h: Add 'extern "C"' block for C++ use. (objc_static_instances): For C++ case, do away with zero-sized array. (objc_method): Hoist definition to file scope. (_objc_load_callback, _objc_object_alloc, class_get_class_method, class_get_instance_method, class_create_instance, class_get_class_name, class_get_instance_size, class_get_meta_class, class_get_super_class, class_get_version, class_is_class, class_is_meta_class, class_set_version, class_get_gc_object_type, class_ivar_set_gcinvisible, get_imp): Rename 'class' parameter to '_class'. * objc/objc-list.h: Add 'extern "C"' block for C++ use. * objc/objc.h: Update copyright date. (arglist_t): Provide a union tag. From-SVN: r85927
2004-06-24encoding.h: Wrap the functions with extern "C" for C++ mode.Andrew Pinski1-0/+8
2004-06-24 Andrew Pinski <apinski@apple.com> * objc/encoding.h: Wrap the functions with extern "C" for C++ mode. * objc/hash.h: Likewise. * objc/objc-api.h: Likewise. * objc/objc-list.h: Likewise. * objc/runtime.h: Likewise. * objc/sarray.h: Likewise. * objc/thr.h: Likewise. * objc/typedstream.h: Likewise. From-SVN: r83635
2003-05-23Makefile.in, [...]: Replace "GNU CC" with "GCC".Nathanael Nerode1-4/+4
2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org> * Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c, class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h, objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h, objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h, objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC". From-SVN: r67131
2002-07-02encoding.h: Fix formatting.Rodney Brown1-17/+17
2002-07-02 Rodney Brown <rbrown64@csc.com.au> * objc/encoding.h: Fix formatting. * objc/hash.h: Likewise. * objc/objc-api.h: Likewise. * objc/runtime.h: Likewise. * objc/thr.h: Likewise. * archive.c: Likewise. * class.c: Likewise. * encoding.c: Likewise. * gc.c: Likewise. * hash.c: Likewise. * init.c: Likewise. * misc.c: Likewise. * nil_method.c: Likewise. * objects.c: Likewise. * sarray.c: Likewise. * selector.c: Likewise. * sendmsg.c: Likewise. * thr-mach.c: Likewise. * thr.c: Likewise. From-SVN: r55190
1998-10-08encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.Richard Frith-Macdonald1-2/+4
* encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF. (objc_get_type_qualifiers): Similarly. * objc/encoding.h (_C_BYREF): Define. (_F_BYREF): Define. From-SVN: r22917
1998-09-30* All .h files pushed down into the objc/ subdirectory.Jeffrey A Law1-0/+97
* Makefile.in (copy_headers): Corresponding changes. * configure.in (AC_INIT): Corresponding changes. * configure: Rebuilt. From-SVN: r22664