This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH: ObjC Front-End Cleanup
- To: gcc-patches at gcc dot gnu dot org
- Subject: PATCH: ObjC Front-End Cleanup
- From: Ziemowit Laski <zlaski at apple dot com>
- Date: Fri, 28 Sep 2001 16:51:33 -0700
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