gcc/libobjc/objc
Nicola Pero f05b9d93e9 In gcc/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>

        Implemented fast enumeration for Objective-C.
        * c-parser.c (objc_could_be_foreach_context): New.
        (c_lex_one_token): Recognize RID_IN keyword in a potential
        Objective-C foreach context.
        (c_parser_declaration_or_fndef): Added parameter.  Accept
        Objective-C RID_IN keyword as terminating a declaration; in that
        case, return the declaration in the new parameter.
        (c_parser_extenral_declaration): Updated calls to
        c_parser_declaration_or_fndef.
        (c_parser_declaration_or_fndef): Same change.
        (c_parser_compound_statement_nostart): Same change.
        (c_parser_label): Same change.
        (c_parser_objc_methodprotolist): Same change.
        (c_parser_omp_for_loop): Same change.
        (c_parser_for_statement): Detect and parse Objective-C foreach
        statements.
        (c_parser_omp_for_loop): Updated call to check_for_loop_decls().
        * c-decl.c (check_for_loop_decls): Added parameter to allow ObjC
        fast enumeration parsing code to turn off the c99 error but still
        perform checks on the loop declarations.
        * c-tree.h (check_for_loop_decls): Updated declaration.
        * doc/objc.texi: Document fast enumeration.

In gcc/c-family/:
2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>

        Implemented fast enumeration for Objective-C.
        * c-common.h (objc_finish_foreach_loop): New.
        * stub-objc.c (objc_finish_foreach_loop): New.

In gcc/objc/:
2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>

        Implemented fast enumeration for Objective-C.
        * objc-act.c (build_fast_enumeration_state_template): New.
        (TAG_ENUMERATION_MUTATION): New.
        (TAG_FAST_ENUMERATION_STATE): New.
        (synth_module_prologue): Call build_fast_enumeration_state_template() and set up
        objc_enumeration_mutation_decl.
        (objc_create_temporary_var): Allow providing a name to temporary
        variables.
        (objc_build_exc_ptr): Updated calls to
        objc_create_temporary_var().
        (next_sjlj_build_try_catch_finally): Same change.
        (objc_finish_foreach_loop): New.
        * objc-act.h: Added OCTI_FAST_ENUM_STATE_TEMP,
        OCTI_ENUM_MUTATION_DECL, objc_fast_enumeration_state_template,
        objc_enumeration_mutation_decl.

        Merge from 'apple/trunk' branch on FSF servers.

        2006-04-12 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4507230
        * objc-act.c (objc_type_valid_for_messaging): New routine to check
        for valid objc object types.
        (objc_finish_foreach_loop): Check for invalid objc objects in
        foreach header.

In gcc/testsuite/:
2010-10-05  Nicola Pero  <nicola.pero@meta-innovation.com>

        Implemented fast enumeration for Objective-C.
        * objc.dg/foreach-1.m: New.
        * objc.dg/foreach-2.m: New.
        * objc.dg/foreach-3.m: New.
        * objc.dg/foreach-4.m: New.
        * objc.dg/foreach-5.m: New.
        * objc.dg/foreach-6.m: New.
        * objc.dg/foreach-7.m: New.

        Merge from 'apple/trunk' branch on FSF servers:
        2006-04-13 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4502236
        * objc.dg/objc-foreach-5.m: New.

        2006-04-12 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4507230
        * objc.dg/objc-foreach-4.m: New.

        2006-03-13  Fariborz Jahanian <fjahanian@apple.com>

        Radar 4472881
        * objc.dg/objc-foreach-3.m: New.

        2005-03-07 Fariborz Jahanian <fjahanian@apple.com>

        Radar 4468498
        * objc.dg/objc-foreach-2.m: New.

        2006-02-15   Fariborz Jahanian <fjahanian@apple.com>

        Radar 4294910
        * objc.dg/objc-foreach-1.m: New

In libobjc/:
2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>

        Implemented fast enumeration for Objective-C.
        * Makefile.in (C_SOURCE_FILES): Added objc-foreach.c.
        (OBJC_H): Added runtime.h
        * objc-foreach.c: New file.
        * objc/runtime.h: New file.

From-SVN: r165019
2010-10-06 10:10:14 +00:00
..
deprecated struct_objc_class.h: Add padding to avoid warning with -Wpadded. 2010-09-30 11:01:19 +02:00
encoding.h In gcc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> 2010-09-27 19:22:13 +00:00
hash.h In libobjc/: 2010-09-17 16:52:36 +00:00
message.h sendmsg.c (get_imp): Remove inline. 2010-09-26 16:32:45 +02:00
NXConstStr.h
objc-api.h In gcc/: 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> 2010-09-27 19:22:13 +00:00
objc-decls.h sendmsg.c (get_imp): Remove inline. 2010-09-26 16:32:45 +02:00
objc-exception.h In libobjc: 2010-09-11 12:38:56 +00:00
objc-list.h In libobjc/: 2010-09-17 16:52:36 +00:00
objc-sync.h In libobjc/: Implemented objc_sync_enter() and objc_sync_exit(), which are required by @synchronized() to work. 2010-09-14 10:23:37 +00:00
objc.h In libobjc/: 2010-09-11 22:47:14 +00:00
Object.h deprecated: New directory. 2010-09-10 09:56:40 +00:00
Protocol.h
README deprecated: New directory. 2010-09-10 09:56:40 +00:00
runtime.h In gcc/: 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> 2010-10-06 10:10:14 +00:00
sarray.h In libobjc/: 2010-09-18 09:34:58 +00:00
thr.h Removed obsolete intermediate threading layer. 2010-09-08 09:35:50 +00:00
typedstream.h In libobjc/: 2010-09-17 16:35:15 +00:00

This directory contains the public headers that are installed when
libobjc is installed.

Deprecated parts of the API should be moved into objc/deprecated and
then included by public headers until they are finally removed.  For
example, if objc-api.h contains an _objc_unexpected_exception variable
which is then deprecated, it should be moved into a header in
objc/deprecated.  This header is then included into objc-api.h.

The result is that all the deprecated parts of the API are clearly
separated in objc/deprecated, while objc/ retains only the current public
API.