This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: ObjC Front-End Cleanup


Hi all,

This patch serves to clean up the Objective-C front-end in
various ways: hoist stuff to headers, remove unused or
duplicate variables, etc.  The patch does not introduce any
functional changes to Objective-C, though it paves the way
for fixes that will.

Bootstrapped on powerpc-apple-darwin1.4.

--Zem

==============================================================

[ChangeLog]
         * c-parse.in (objc_inherit_code, objc_pq_context,
         objc_public_flag): make static.
         (objc_interface_context, objc_implementation_context,
         objc_method_context, objc_ivar_chain, objc_ivar_context):
         Move to global tree array in objc/objc-act.[ch].
         (methoddef): Remove unnecessary code.
         * objc/Make-lang.in (objc-act.o): Add C++ header dependencies
         for future (Objective-C++) use.
         * objc/objc-act.c: Conditionally include C++ headers, with
         condition currently disabled.  For use with Objective-C++.
         (hashed_attribute, hashed_entry, imp_entry): Hoist struct
         definitions to objc-act.h.
         (nst_method_hash_list, cls_method_hash_list, imp_list,
         imp_count, cat_count): Place declaration in objc-act.h.
         (objc_tree_index): Move enumeration to objc-act.h.
         (objc_global_trees): Place declaration and macro accessors
         in objc-act.h.
         (implementation_context): Remove duplicate; use
         objc_implementation_context instead:
         (method_context):  Remove duplicate; use objc_method_context
         instead.
         (objc_ellipsis_node, objc_method_prototype_template,
         implemented_classes, function_type): Move global vars to
         objc_global_trees.
         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
         (build_message_expr): Move actual construction of ObjC
         message send nodes to finish_message_expr.
         (finish_message_expr): New routine, contains code formerly
         in build_message_expr.
         * objc/objc-act.h (finish_message_expr): New prototype.
         (objc_ivar_chain, objc_method_context, objc_ellipsis_node):
         Remove declarations; these vars are now part of
         objc_global_trees.
         (objc_tree_index, objc_global_trees): Move definitions from
         objc-act.c.
         *objc/objc-tree.def: Update copyright info.

objc3_cleanup.diff


--------------------------------------------------------------
Ziemowit Laski                   Apple Computer, Inc.
zlaski@apple.com                 2 Infinite Loop, MS 302-4SN
+1.408.974.6229  Fax .1344       Cupertino, CA  95014-2085

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]