1. 29 Jan, 2005 1 commit
  2. 28 Jan, 2005 1 commit
  3. 26 Jan, 2005 1 commit
  4. 25 Jan, 2005 1 commit
  5. 16 Jan, 2005 1 commit
  6. 15 Jan, 2005 1 commit
    • re PR objc/19321 (objc ignores volatile in argument types for messages) · aecaa19a
      [gcc/objc/ChangeLog]
      2005-01-15  Ziemowit Laski  <zlaski@apple.com>
      
              PR objc/19321
              * objc-act.c (get_arg_type_list): Decay function arguments into
              pointers.
              (objc_push_parm): Likewise; bring PARM_DECL construction closer
              in line with what the C front-end does.
              (objc_get_parm_info): Call pushdecl() and finish_decl() on
              each PARM_DECL, like the C front-end does.
              (start_method_def): Remove redundant ARRAY_TYPE decay.
              (objc_start_function): Bring closer in line with what the
              C front-end does for functions.
      
      [gcc/testsuite/ChangeLog]
      2005-01-15  Ziemowit Laski  <zlaski@apple.com>
      
              PR objc/19321
              * objc.dg/func-ptr-2.m: New.
              * objc.dg/volatile-1.m: New.
      
      From-SVN: r93706
      Ziemowit Laski committed
  7. 14 Jan, 2005 1 commit
  8. 02 Jan, 2005 1 commit
    • re PR c/19031 (#pragma weak handling changes in 4.0.0) · bedb9fc0
              PR c/19031
              * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
              * c-lang.c (finish_file): Don't do it here.
              * objc/objc-act.c (objc_finish_file): Likewise.
      
              * cgraph.c (decl_assembler_name_equal): New.
              (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
              (cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
              * cgraph.h (struct cgraph_varpool_node): Add next.
              (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
              * varasm.c (assemble_alias): Mark the target as needed.
      
      From-SVN: r92803
      Richard Henderson committed
  9. 30 Dec, 2004 1 commit
  10. 16 Dec, 2004 1 commit
    • objc-act.c (build_private_template): Change to return 'void'... · 035e8f01
      [gcc/objc/ChangeLog]
      2004-12-15  Ziemowit Laski  <zlaski@apple.com>
      
      	* objc-act.c (build_private_template): Change to return 'void'; do
      	not set ivar_context, uprivate_record or objc_instance_type.
      	(objc_comptypes, gen_type_name_0): For types 'id' and 'Class',
      	retrieve protocol list from the pointee rather than the pointer itself;
      	check TYPE_HAS_OBJC_INFO(...) precondition before accessing
      	TYPE_OBJC_PROTOCOL_LIST.
      	(objc_get_protocol_qualified_type): For types 'id' and 'Class',
      	construct a variant of the pointee as well as the pointer, and
      	store protocol information in the former.  When creating variants
      	of RECORD_TYPEs, clone their TYPE_LANG_SPECIFIC fields and propagate
      	TYPE_OBJC_INTERFACE information.
      	(objc_declare_class): If a TYPE_DECL is looked up, retrieve the
      	underlying RECORD_TYPE to check for presence of TYPE_OBJC_INTERFACE;
      	for newly-created RECORD_TYPEs, create a tentative TYPE_OBJC_INTERFACE
      	holding an IDENTIFIER_NODE.
      	(objc_finish_message_expr): Check TYPE_HAS_OBJC_INFO(...) before
      	accessing TYPE_OBJC_PROTOCOL_LIST; Use TYPE_OBJC_INTERFACE instead
      	of calling lookup_interface(); allow for TYPE_OBJC_INTERFACE holding
      	an IDENTIFIER_NODE (meaning a @class forward-declaration only).
      	(objc_is_public): Check TYPE_OBJC_INTERFACE instead of calling
      	lookup_interface().
      	(continue_class): For @implementations, set ivar_context,
      	uprivate_record and objc_instance_type, for @interfaces, call
      	build_private_template().
      	(encode_pointer): Check TYPE_HAS_OBJC_INFO(...) before accessing
      	TYPE_OBJC_INTERFACE.
      	(objc_types_are_equivalent): Check TYPE_HAS_OBJC_INFO(...) before
      	accessing TYPE_OBJC_PROTOCOL_LIST.
      	* objc-act.h (OBJC_INFO_SLOT_ELTS, TYPE_OBJC_INFO, INIT_TYPE_OBJC_INFO,
      	DUP_TYPE_OBJC_INFO, ALLOC_OBJC_TYPE_LANG_SPECIFIC,
      	SIZEOF_OBJC_TYPE_LANG_SPECIFIC): New macros.
      	(TYPE_OBJC_INTERFACE): Replaces TREE_STATIC_INSTANCE and now points
      	to an actual @interface; stored in TYPE_LANG_SPECIFIC(...).
      	(TYPE_OBJC_PROTOCOL_LIST): Replaces TYPE_PROTOCOL_LIST; stored in
      	TYPE_LANG_SPECIFIC(...).
      	(TREE_STATIC_INSTANCE, TYPE_PROTOCOL_LIST): Delete.
      	(IS_ID, IS_CLASS, IS_PROTOCOL_QUALIFIED_UNTYPED, IS_SUPER,
      	TYPED_OBJECT): Check for POINTER_TYPE rather than POINTER_TYPE_P;
      	adjust for use of TYPE_OBJC_INTERFACE and TYPE_OBJC_PROTOCOL_LIST
      	instead of TREE_STATIC_INSTANCE and TYPE_PROTOCOL_LIST.
      
      From-SVN: r92239
      Ziemowit Laski committed
  11. 29 Nov, 2004 1 commit
    • [multiple changes] · 86f029aa
      2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
      
      	PR c/7544
      	* Makefile.in (c-lang.o): Update dependencies.
      	* c-lang.c: Include "c-pragma.h".
      	(finish_file): Call maybe_apply_pending_pragma_weaks.
      	* c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
      	* c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
      
      cp:
      2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
      
      	* Make-lang.in (cp/decl2.o): Update dependencies.
      	* decl2.c (finish_file): Call maybe_apply_pending_pragma_weaks.
      
      objc:
      2004-11-29  Joseph Myers  <joseph@codesourcery.com>
      
      	* Make-lang.in (objc/objc-act.o): Update dependencies.
      	* objc-act.c (objc_finish_file): Call
      	maybe_apply_pending_pragma_weaks if not OBJCPLUS.
      
      testsuite:
      2004-11-29  Joseph Myers  <joseph@codesourcery.com>
      
      	* g++.dg/ext/weak1.C, gcc.dg/weak/weak-10.c, objc.dg/weak-1.m: New
      	tests.
      
      From-SVN: r91479
      Joseph Myers committed
  12. 09 Nov, 2004 2 commits
    • re PR objc/18406 (ICE compiling Objective C code with long double arguments) · 3172e26c
      2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR objc/18406
              * obj-act.c (encode_type): 96bits doubles are encoded the
              same way as 64bit and 128bit doubles are.
      
      2004-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR objc/18406
              * objc/compile/pr18406.m: New test.
      
      From-SVN: r90361
      Andrew Pinski committed
    • builtins.c, [...]: Avoid "`" as left quote, using "'" or %q, %< and %> as appropriate. · 9e637a26
      	* builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
      	c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
      	gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
      	tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
      	config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
      	config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
      	config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
      	config/iq2000/iq2000.c, config/m32r/m32r.c,
      	config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
      	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
      	config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
      	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
      	config/sh/symbian.c, config/stormy16/stormy16.c,
      	config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
      	and %> as appropriate.  Use %' as apostrophe in diagnostics where
      	applicable.  Use %< and %> in place of '' quotes where applicable.
      	Use %qs in place of %<%s%>.  Consistently quote __builtin function
      	names.
      
      ada:
      	* misc.c (gnat_handle_option): Use %< and %> for quoting in
      	warning message.
      
      cp:
      	* call.c, class.c, decl.c, decl2.c, error.c, mangle.c, parser.c,
      	pt.c, search.c, semantics.c, typeck.c: Use %q, %< and %> for
      	quoting in diagnostics.
      	* parser.c (cp_parser_sizeof_operand): Use '' instead of `' for
      	quoting in printf format.
      	* decl.c (duplicate_decls, start_decl): Use %qD instead of
      	unquoted %D.
      
      objc:
      	* objc-act.c: Use %q, %< and %> for quoting in diagnostics.
      
      testsuite:
      	* gcc.dg/builtin-prefetch-1.c: Adjust expected messages.
      
      From-SVN: r90337
      Joseph Myers committed
  13. 08 Nov, 2004 1 commit
  14. 31 Oct, 2004 1 commit
    • c-common.h (objc_lookup_ivar): Add second parameter to prototype. · 16b34ad6
      [gcc/ChangeLog]
      2004-10-30  Ziemowit Laski  <zlaski@apple.com>
      
              * c-common.h (objc_lookup_ivar): Add second parameter to
              prototype.
              * c-typeck.c (build_external_ref): After looking up symbol,
              pass it to objc_lookup_ivar() to decide whether it or the
              ivar should be used, rather than deciding the issue locally.
              * stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
              which is simply returned in the non-ObjC case.
      
      [gcc/objc/ChangeLog]
      2004-10-30  Ziemowit Laski  <zlaski@apple.com>
      
              * objc-act.c (objc_lookup_ivar): The new OTHER parameter
              contains the result of the ID lookup by the C or C++
              front-end; in class methods, use OTHER if it exists;
              in instance methods, use OTHER only if it is locally
              declared.
      
      [gcc/testsuite/ChangeLog]
      2004-10-30  Ziemowit Laski  <zlaski@apple.com>
      
              * objc.dg/local-decl-1.m: New test.
      
      From-SVN: r89912
      Ziemowit Laski committed
  15. 26 Oct, 2004 1 commit
  16. 25 Oct, 2004 1 commit
    • c-common.h: Remove RID_ID. · 3a3589b4
      [gcc/ChangeLog]
      2004-10-25  David Ayers  <d.ayers@inode.at>
      
      	* c-common.h: Remove RID_ID.
      	* c-parse.in: Remove OBJECTNAME and references to RID_ID.
      	(typespec_reserved_attr): Add rule for TYPENAME
      	non_empty_protocolrefs.
      	(yylexname): Remove special handling of RID_ID.
      
      [gcc/objc/ChangeLog]
      2004-10-25  Ziemowit Laski  <zlaski@apple.com>
      	    David Ayers  <d.ayers@inode.at>
      
      	* objc-act.c (objc_comptypes): Use IS_PROTOCOL_QUALIFIED_UNTYPED
      	instead of IS_PROTOCOL_QUALIFIED_ID; add comparisons for:
      	'Class <Protocol> != id <Protocol>'; 'Class <Protocol> != <class> *';
      	'Class <Protocol> == id' and 'Class <Protocol> == Class'.
      	(objc_is_id): Add test for 'super'.
      	(objc_finish_message_expr): Allow for messaging of 'Class <Proto>'
      	receivers; if class methods are not found in protocol lists, search
      	for instance methods therein and warn if one is found.  Look in
      	global hash tables for suitable method as a last resort when messaging
      	'id <Proto>', 'Class <Proto>' and invalid receiver types.
      	(objc_add_method): Insert instance methods listed in protocols into
      	the global class method hash table.
      	* objc-act.h (IS_PROTOCOL_QUALIFIED_ID): Rename to
      	IS_PROTOCOL_QUALIFIED_UNTYPED and allow for 'Class <Proto>' in
      	addition to 'id <Proto>'.
      
      [gcc/testsuite/ChangeLog]
      2004-10-25  David Ayers  <d.ayers@inode.at>
      	    Ziemowit Laski  <zlaski@apple.com>
      
      	* objc.dg/call-super-2.m: Add messages to 'Class <Proto>'; update
      	diagnostics when messaging 'id <Proto>'.
      	* objc.dg/class-protocol-1.m: New test.
      	* objc.dg/desig-init-1.m: Add message to an invalid receiver using
      	a non-existent method signature.
      	* objc.dg/method-5.m, objc.dg/method-6.m, objc.dg/proto-hier-1.m:
      	Update diagnostics when messaging with non-existent method signature.
      	* objc.dg/proto-hier-2.m: Adjust wording of diagnostic.
      	* objc.dg/proto-lossage-1.m, objc.dg/proto-lossage-4.m: Messages to
      	invalid receivers are now resolved as if messaging 'id'; remove
      	extraneous diagnostics.
      
      From-SVN: r89562
      Ziemowit Laski committed
  17. 21 Oct, 2004 1 commit
    • re PR objc/17923 (const-str-[34].m fails on the mainline (next runtime)) · 943db347
      2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR objc/17923
              * tree.c (staticp): A CONST_DECL has static storage if either
              TREE_STATIC or DECL_EXTERNAL is set.
              * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
              have null names.
      
      2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR objc/17923
              * objc-act.c (objc_build_string_object): Create a CONST_DECL
              for the NeXT runtime case.
      
      2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
      
              PR objc/17923
              * objc.dg/const-str-7.m: New test.
      
      From-SVN: r89384
      Andrew Pinski committed
  18. 02 Oct, 2004 1 commit
  19. 24 Sep, 2004 2 commits
    • objc-act.c (init_objc_symtab, [...]): When initializing 'long' fields, ensure… · 14214f09
      objc-act.c (init_objc_symtab, [...]): When initializing 'long' fields, ensure that the initializer value is also 'long'.
      
      [gcc/objc/ChangeLog]
      2004-09-24  Ziemowit Laski  <zlaski@apple.com>
      
      	* objc-act.c (init_objc_symtab, init_module_descriptor,
      	build_shared_structure_initializer): When initializing 'long'
      	fields, ensure that the initializer value is also 'long'.
      
      From-SVN: r88079
      Ziemowit Laski committed
    • objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION throughout. · dd3017e4
      objc:
      	* objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION
      	throughout.
      	(objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION.
      	(build_selector_translation_table): Use %J in diagnostic
      	instead of diddling input_line.  Fix spelling.
      testsuite:
      	* objc.dg/proto-lossage-4.m: Use long instead of int to avoid
      	extra diagnostics on targets with 64-bit pointers.
      	* objc.dg/selector-1.m: Adjust dg-warning regexp.
      
      From-SVN: r88072
      Zack Weinberg committed
  20. 22 Sep, 2004 1 commit
  21. 18 Sep, 2004 1 commit
  22. 17 Sep, 2004 1 commit
    • alias.c (find_base_decl): Remove unreachable case '3' block. · 6615c446
      2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
      	    Zack Weinberg  <zack@codesourcery.com>
      
      	* alias.c (find_base_decl): Remove unreachable case '3' block.
      	* expr.c (safe_from_p): Abort if passed a type.
      	* tree-gimple.c (recalculate_side_effects): Abort if passed
      	anything other than an expression.
      	* tree-ssa-pre.c (phi_translate): Return expr immediately if
      	is_gimple_min_invariant is true for it.  Reorder cases for clarity.
      	Abort on un-handled tree classes.
      	(valid_in_set): Likewise.
      	* tree.c (tree_code_class_strings): New static data.
      
      	* tree.h (enum tree_code_class): New.
      	(tree_code_class_strings): Declare.
      	(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
      	(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
      	(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
      	(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
      	(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
      
      	* tree.def, c-common.def, objc/objc-tree.def: Use
      	tree_code_class enumeration constants instead of code letters.
      
      	* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
      	* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
      	* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
      	* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
      	* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
      	* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
      	* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
      	* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
      	* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
      	* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
      	* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
      	* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
      	* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
      	Update to match.
      
      	* LANGUAGES: Add note about change.
      
      ada:
      	* ada-tree.def: Use tree_code_class enumeration constants
      	instead of code letters.
      	* ada-tree.h, decl.c, misc.c, trans.c, utils.c, utils2.c:
      	Update for new tree-class enumeration constants.
      
      cp:
      	* cp-tree.def: Use tree_code_class enumeration constants
      	instead of code letters.
      	* call.c, class.c, cp-gimplify.c, cp-lang.c, cxx-pretty-print.c
      	* mangle.c, pt.c, semantics.c, tree.c, typeck.c:
      	Update for new tree-class enumeration constants.
      
      fortran:
      	* f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
      	enumeration constants.
      
      java:
      	* java-tree.def: Use tree_code_class enumeration constants
      	instead of code letters.
      	* java-gimplify.c, jcf-write.c, lang.c, parse.y: Update for
      	new tree-class enumeration constants.
      
      treelang:
      	* treetree.c: Update for new tree-class enumeration constants.
      
      From-SVN: r87675
      Jeffrey D. Oldham committed
  23. 09 Sep, 2004 1 commit
    • c-tree.h (enum c_declarator_kind, [...]): New. · f8893e47
      	* c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
      	c_declarator, struct c_type_name, struct c_parm): New.
      	(build_array_declarator, set_array_declarator_inner,
      	get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
      	start_function, start_decl, build_c_parm, build_attrs_declarator,
      	build_function_declarator, make_pointer_declarator, c_cast_expr,
      	store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
      	(build_id_declarator): New.
      	* c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
      	structures.
      	* c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
      	ARG_INFO_OTHERS): Remove.
      	(build_id_declarator): New.
      	(build_array_declarator, set_array_declarator_inner, groktypename,
      	start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
      	grokfield, start_function, store_parm_decls_newstyle,
      	store_parm_decls_oldstyle, store_parm_decls,
      	build_c_parm, build_attrs_declarator, build_function_declarator,
      	make_pointer_declarator, grokdeclarator): Update to new
      	structures.
      	* c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
      	parmtype.
      	(declarator, notype_declarator, after_type_declarator,
      	parm_declarator, parm_declarator_starttypename,
      	parm_declarator_nostarttypename, array_declarator, typename,
      	absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
      	absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
      	parmlist_1, parmlist_2, parmlist_or_identifiers,
      	parmlist_or_identifiers_1): Use these types.
      	(primary, after_type_declarator, parm_declarator_starttypename,
      	notype_declarator, component_decl, component_declarator,
      	component_notype_declarator, typename, absdcl,
      	absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
      	parmlist_2, parmlist_or_identifiers_1): Update to new structures.
      
      objc:
      	* objc-act.c (objc_start_function, really_start_method,
      	objc_get_parm_info, start_method_def): Update to new arg_info
      	structures.
      
      From-SVN: r87217
      Joseph Myers committed
  24. 08 Sep, 2004 1 commit
    • Makefile.in (c-parse.o): Depend on $(C_COMMON_H). · 6408ef33
      [gcc/ChangeLog]
      2004-09-07  Ziemowit Laski  <zlaski@apple.com>
      
      	* Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
      	* c-parse.in: Include c-common.h instead of objc-act.h.
      	(ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
      	myparms, myparm): Remove %type declarations.
      	(methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
      	objc_typename, objc_try_catch_stmt, optellipsis): Add %type
      	declarations.
      	(objc_inherit_code, objc_public_flag): Remove.
      	(typespec_nonreserved_nonattr): Call
      	objc_get_protocol_qualified_type() instead of get_static_reference()
      	and get_protocol_reference().
      	(stmt_nocomp): Call grokparm() on @catch parameter.
      	(objcdef): Move semantic action to objc_finish_implementation().
      	(classdef): Move semantic action to objc_start_class_interface(),
      	objc_continue_interface(), objc_finish_interface(),
      	objc_start_class_implementation(), objc_continue_implementation(),
      	objc_start_category_interface() and
      	objc_start_category_implementation().
      	(protocoldef): Move semantic actions to objc_start_protocol() and
      	objc_finish_interface().
      	(ivar_decl_list): Remove nonterminal.
      	(visibility_spec): Move semantic actions to objc_set_visibility().
      	(ivar_decls): Remove assignment to $$.
      	(ivar_decl): Rephrase in terms of component_decl; call
      	objc_add_instance_variable().
      	(ivars, ivar_declarator): Remove nonterminals.
      	(opt_semi): New nonterminal.
      	(methodtype): Remove semantic actions.
      	(methoddef): Move semantic actions to objc_set_method_type(),
      	objc_start_method_definition() and objc_finish_method_definition().
      	(methodproto): Move semantic actions to objc_set_method_type() and
      	objc_add_method_declaration().
      	(methoddecl): Use objc_typename instead of typename; move semantic
      	actions to objc_build_method_signature().
      	(optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
      	(optparmlist): Express in terms of optparms and optellipsis.
      	(optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
      	nonterminals.
      	(keyworddecl): Use objc_typename instead of typename.
      	(rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
      	and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
      
      [gcc/objc/ChangeLog]
      2004-09-07  Ziemowit Laski  <zlaski@apple.com>
      
      	* Make-lang.in (objc/objc-parse.o): Depend on $(C_COMMON_H) instead of
      	objc/objc-act.h.
      	(objc/objc-act.o): Depend on $(HASHTAB_H).
      	* objc-act.c: Include hashtab.h; in ObjC++ mode, include cp-tree.h and
      	objcp-decl.h instead of c-tree.h.
      	(build_module_descriptor, get_class_ivars, synth_id_with_class_suffix,
      	error_with_ivar, gen_method_decl, gen_declaration, setup_string_decl,
      	build_protocol_template): Adjust prototypes.
      	(build_module_initializer_routine, start_class, continue_class,
      	finish_class, start_method_def, objc_start_function, start_protocol,
      	build_method_decl, objc_add_method, add_instance_variable,
      	build_ivar_reference, is_ivar, is_private, get_super_receiver,
      	build_selector_table_decl, objc_push_parm, objc_get_parm_info,
      	gen_type_name, gen_type_name_0, start_var_decl, finish_var_decl,
      	create_field_decl): New prototypes.
      	(objc_expand_function_end, comp_method_with_proto, objc_expr_last,
      	gen_declaration_1, gen_declarator, is_complex_decl, adorn_decl,
      	define_decl, create_builtin_decl, gen_declspecs): Remove prototypes.
      	(TYPE_ID): Rename to OBJECT_TYPEDEF_NAME.
      	(CLASS_TYPEDEF_NAME): New.
      	(TAG_EXECCLASS): Change from a global variable to a #define.
      	(TAG_RETURN_STRUCT): Delete.
      	(TAG_GNUINIT): New, holds '__objc_gnu_init' name.
      	(objc_inherit_code, objc_public_flag): New, moved from c-parse.in.
      	(string_descriptor): New struct.
      	(string_htab): New hash table.
      	(string_hash, string_eq): New prototypes.
      	(generate_struct_by_value_array): Call create_field_decl() instead of
      	create_builtin_decl().
      	(objc_init): Do not initialize objc_ellipsis_node or TAG_EXECCLASS;
      	In ObjC++ mode, call cxx_init() instead of c_objc_common_init().
      	(objc_finish_file): In ObjC++, call instantiate_pending_templates()
      	and cp_finish_file().
      	(define_decl, get_static_reference, get_protocol_reference,
      	create_builtin_decl): Remove functions.
      	(objc_start_class_interface, objc_start_category_interface,
      	objc_start_protocol, objc_continue_interface, objc_finish_interface,
      	objc_start_class_implementation, objc_start_category_implementation,
      	objc_continue_implementation, objc_finish_implementation,
      	objc_set_visibility, objc_set_method_type,
      	objc_build_method_signature, objc_add_method_declaration,
      	objc_start_method_definition, objc_add_instance_variable,
      	objc_get_protocol_qualified_type, create_field_decl,
      	start_var_decl, finish_var_decl): New functions.
      	(setup_string_decl): Simplify since it is only called once.
      	(synth_module_prologue): Call build_class_template(); predefine 'id'
      	and 'Class' as typedefs; rename 'temp_type' to 'type'; disable debug
      	hooks for duration of function; fix GNU runtime messenger signatures
      	to correspond to reality; forward-declare '__objc_exec_class' for the
      	GNU runtime; call build_selector_table_decl(); in ObjC++ mode, generate
      	'extern "C" { ... }' wrappers around synthesized declarations; call
      	build_protocol_template() and build_category_template().
      	(string_hash, string_eq): New functions.
      	(objc_build_string_object): Check metaclass correctness only once;
      	store string literals in hash table.
      	(objc_build_constructor): Do not convert initializer elements;
      	adjust for ObjC++ impedance mismatch.
      	(build_objc_symtab_template): Call create_field_decl() instead of
      	create_builtin_decl().
      	(init_objc_symtab): Add missing conversion to initializer element.
      	(build_metadata_decl): Call start_var_decl() instead of define_decl().
      	(generate_objc_symtab_decl): Do not call build_category_template();
      	call start_var_decl() and finish_var_decl() instead of start_decl()
      	and finish_decl().
      	(build_module_descriptor): Call create_field_decl() instead of
      	grokfield(); call start_var_decl() and finish_var_decl() instead of
      	start_decl() and finish_decl(); always mark module descriptor as
      	used; move GNU runtime-specific functionality to
      	build_module_initializer_routine().
      	(build_module_initializer_routine): New function, broken off of
      	build_module_descriptor().
      	(objc_static_init_needed_p, objc_generate_static_init_call): New
      	functions.
      	(generate_static_references, generate_strings,
      	build_selector_translation_table, generate_descriptor_table,
      	generate_ivars_list, generate_dispatch_table, generate_category): Call
      	start_var_decl() and finish_var_decl() instead of start_decl() and
      	finish_decl(); build a type directly instead of via groktypename().
      	(build_selector_reference_decl, build_selector_table_decl,
      	build_class_reference_decl, build_protocol_reference,
      	generate_objc_image_info): Call start_var_decl() instead of
      	build_decl().
      	(build_selector_reference): For GNU runtime, do not call
      	build_selector_reference_decl().
      	(build_selector, build_typed_selector_reference): Always convert
      	result to the selector type.
      	(add_objc_string): Cast return value to 'char *'.
      	(build_method_prototype_template, build_selector_template,
      	build_method_template): Use actual selector type for fields
      	pointing to selectors.
      	(finish_objc): For GNU runtime, call
      	build_module_initializer_routine() after build_module_descriptor().
      	(generate_protocol_list, generate_shared_structures): Call
      	start_var_decl() and finish_var_decl() instead of start_decl() and
      	finish_decl(); build a type directly instead of via
      	groktypename().
      	(synth_id_with_class_suffix): Return a string.
      	(get_arg_type_list): For instance methods, use the instance type for
      	'self'; do not call groktypename_in_parm_context().
      	(build_objc_string_decl): Squash redeclaration errors in ObjC++.
      	(objc_is_class_name): Use OBJC_TYPE_NAME instead of TYPE_NAME;
      	handle RECORD_TYPEs in ObjC as well as ObjC++.
      	(objc_is_id): New function.
      	(objc_is_object_ptr): Return the canonical type node.
      	(objc_get_class_ivars): Simplify using get_class_ivars().
      	(get_class_ivars): Remove second parameter; create a fresh copy
      	of the ivar list for each call; do not check for existence of
      	super class.
      	(objc_eh_runtime_type): Mark #ifndef OBJCPLUS.
      	(objc_init_exceptions): When using SJLJ-style exceptions, require
      	the use of '-fobjc-exceptions' flag; do not require it for DWARF-style
      	exceptions.
      	(objc_build_exc_ptr, next_sjlj_build_try_catch_finally): Use
      	objc_object_type instead of objc_id_type.
      	(objc_begin_catch_clause): Convert the incoming PARM_DECL into
      	a VAR_DECL before placing it in the appropriate scope; do not
      	call define_decl(); adjust call to c_begin_compound_stmt();
      	use objc_object_type instead of objc_id_type.
      	(build_next_objc_exception_stuff): Call create_field_decl() instead
      	of create_builtin_decl(); construct type directly instead of calling
      	groktypename(); use OBJC_VOID_AT_END to mark end of function parameters.
      	(build_private_template): Adjust call to get_class_ivars(); build
      	a type directly instead of via groktypename().
      	(build_protocol_template, build_method_prototype_list_template,
      	build_method_prototype_template, build_category_template,
      	build_selector_template, build_class_template, build_super_template,
      	build_ivar_template, build_ivar_list_template,
      	build_method_list_template, build_method_template):
      	Call create_field_decl() instead of grokfield().
      	(objc_method_parm_type): Do not call groktypename().
      	(generate_descriptor_table): Call start_var_decl() and
      	finish_var_decl() instead of start_decl() and finish_decl().
      	(generate_method_descriptors, build_protocol_initializer,
      	generate_dispatch_tables, build_category_initializer,
      	build_shared_structure_initializer): Do not call groktypename().
      	(generate_protocols): Call start_var_decl() and finish_var_decl()
      	instead of start_decl() and finish_decl(); do not call groktypename().
      	(error_with_ivar): Remove last parameter.
      	(check_ivars): Do not iterate ovar CLASS_RAW_IVARS lists in addition
      	to CLASS_IVARS lists; adjust calls to error_with_ivar().
      	(generate_ivar_lists): Convert one of the initializer elements; do
      	not call groktypename().
      	(get_arg_type_list, start_method_def, gen_method_def): Account for
      	new representation of variable arguments and '...' in Objective-C
      	methods; add Objective-C++ impedance matching code.
      	(is_objc_type_qualifier): Remove function.
      	(adjust_type_for_id_default): Simplify; there is no longer a need to
      	wade through declspecs.
      	(lookup_interface, start_class, continue_class,
      	finish_class, start_method_def, start_protocol, build_method_decl,
      	objc_add_method, add_instance_variable, build_ivar_reference,
      	is_ivar, is_private, get_super_receiver, objc_build_finally_epilogue):
      	Make into static functions.
      	(receiver_is_class_object): Use new IS_CLASS() macro.
      	(objc_build_message_expr): Tweak ObjC++ message argument handling;
      	call objc_finish_message_expr() instead of finish_message_expr().
      	(finish_message_expr): Rename to objc_finish_message_expr(); use
      	OBJC_TYPE_NAME and OBJC_SET_TYPE_NAME macros instead of TYPE_NAME.
      	call gen_type_name() instead of gen_declaration(); call objc_is_id()
      	instead of using IS_ID and IS_CLASS; Use objc_class_name instead of
      	calling get_identifier("Class"); handle CONVERT_EXPRs in receiver.
      	(build_objc_method_call, warn_with_method): Do not call groktypename().
      	(build_ivar_reference): Call convert() instead of clobbering in a
      	type.
      	(hash_init): Initialize string_htab hash table.
      	(add_instance_variable): Simplify parameter list; do not call grokfield();
      	do not populate CLASS_IVARS list.
      	(start_class): Check for the existence of super class, if one was specified.
      	(continue_class): Use CLASS_RAW_IVARS rather than CLASS_IVARS; do not
      	call build_class_template(); adjust call to get_class_ivars(); call
      	build_decl(), pushdecl() and finish_decl() instead of define_decl().
      	(finish_class): Call build_decl(), pushdecl() and finish_decl() instead
      	of define_decl().
      	(add_protocols): Use PROTOCOL_BINFO_ELTS for the tree vector size.
      	(start_protocol): Do not call build_protocol_template(); use
      	PROTOCOL_BINFO_ELTS for the tree vector size.
      	(encode_type_qualifiers): Do not handle the 'const' qualifier here.
      	(encode_pointer): Encode 'const char *' as 'r*', for backwards
      	compatibility.
      	(encode_array): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld".
      	(encode_type): Handle the 'const' qualifier here.
      	(objc_parmlist): New global variable, sued by objc_push_parm and
      	objc_get_parm_info().
      	(objc_push_parm, objc_get_parm_info): New functions.
      	(objc_expr_last): Remove function.
      	(synth_self_and_ucmd_args): For instance methods, use the instance
      	type for 'self'; call objc_push_parm() instead of push_parm_decl().
      	(start_method_def): Do not call push_scope(), declare_parm_level(),
      	pop_scope(), push_parm_decl(), store_parm_decls() or objc_expr_last();
      	just use objc_push_parm() and objc_get_parm_info().
      	(comp_method_with_proto): Remove function.
      	(objc_types_are_equivalent): Strip away indirections before comparing
      	underlying types.
      	(comp_proto_with_proto): Do not call groktypename(); types are no
      	longer in raw declspec format.
      	(objc_start_function): New function.
      	(really_start_method): Call comp_proto_with_proto() instead of
      	comp_method_with_proto(); call objc_start_function() instead of
      	hand-crafting a function declarator.
      	(continue_method_def, objc_expand_function_end): Remove functions.
      	(get_super_receiver): Call objc_get_current_scope() instead of
      	get_current_scope(); reference 'super_class' field (instead of
      	'class').
      	(finish_method_def): Rename to objc_finish_method_definition() and
      	add a function decl parameter; move method encoding call from
      	objc_expand_function_end().
      	(is_complex_decl, adorn_decl, gen_declarator, gen_declspecs,
      	gen_declaration_1): Remove functions.
      	(tmpbuf, RAW_DECLSPEC): Remove.
      	(gen_declaration): Remove second parameter; simplify to deal
      	with TYPE_P nodes instead of raw declspecs.
      	(gen_type_name, gen_type_name_0): New functions.
      	(gen_method_decl): Remove second parameter; call gen_type_name()
      	instead of gen_declaration_1().
      	(dump_interface): Adjust calls to gen_declaration() and
      	gen_method_decl(); do not allocate a separate string buffer.
      	(init_objc): Allocate a larger string buffer to accommodate
      	dump_interface(); adjust call to build_module_descriptor();
      	add call to build_module_initializer_routine() for the GNU
      	runtime.
      	(generate_classref_translation_entry): Do not call start_decl(); call
      	finish_var_decl() instead of finish_decl(); call convert() instead of
      	build_c_cast().
      	* objc-act.h (CLASS_OWN_IVARS): Remove accessor.
      	(CLASS_BINFO_ELTS): Reduce from 6 to 5, now that CLASS_OWN_IVARS is
      	gone.
      	(OCTI_GNU_INIT_DECL, GNU_INIT_decl): New.
      	(OCTI_ELLIPSIS_NODE, objc_ellipsis_node): Remove.
      	(OCTI_ID_ID, id_type, objc_id_id): Rename to OCTI_ID_NAME,
      	objc_object_type and objc_object_name, respectively.
      	(OCTI_CLS_REF, OCTI_CLASS_NAME, objc_class_reference,
      	objc_class_name): New.
      	(IS_CLASS): New macro.
      	(IS_ID, IS_SUPER): Robustify.
      	(OCTI_EXECCLASS_DECL, execclass_decl): New.
      	(finish_file, start_class, continue_class, finish_class,
      	start_method_def, continue_method_def, finish_method_def,
      	start_protocol, finish_protocol, objc_build_throw_stmt,
      	objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
      	objc_build_synchronized_epilogue, objc_build_try_prologue,
      	objc_build_try_epilogue, objc_build_catch_stmt, objc_build_catch_epilogue,
      	objc_build_finally_prologue, objc_build_finally_epilogue,
      	is_ivar, is_private, is_public, add_instance_variable, objc_add_method,
      	get_super_receiver, objc_clear_super_receiver, get_class_ivars_from_name,
      	get_class_reference, get_static_reference, get_object_reference,
      	build_message_expr, finish_message_expr, build_selector_expr,
      	build_ivar_reference, build_keyword_decl, build_method_decl,
      	build_protocol_expr, build_objc_string_object, objc_declare_alias,
      	objc_declare_class, objc_declare_protocols, objc_comptypes,
      	objc_check_decl, build_encode_expr): Remove prototypes.
      	(imp_count, cat_count): Make GGC-aware.
      	(OBJC_SET_TYPE_NAME): New macro.
      
      From-SVN: r87168
      Ziemowit Laski committed
  25. 03 Sep, 2004 1 commit
  26. 02 Sep, 2004 1 commit
    • c-parse.in (primary): Call objc_build_message_expr()... · 57a6af27
      [gcc/ChangeLog]
      2004-09-01  Ziemowit Laski  <zlaski@apple.com>
      
      	* c-parse.in (primary): Call objc_build_message_expr(),
      	objc_build_selector_expr(), objc_build_protocol_expr(),
      	objc_build_encode_expr() and objc_build_string_object() instead of
      	build_message_expr(), build_selector_expr(), build_protocol_expr(),
      	build_encode_expr() and build_objc_string_object(), respectively.
      	(component_decl_list2): Call objc_get_class_ivars() instead of
      	get_class_ivars_from_name().
      	(keyworddecl): Call objc_build_keyword_decl() instead of
      	build_keyword_decl().
      	(receiver): Call objc_get_class_reference() instead of
      	get_class_reference().
      	(reswords): Add blank line before @@ifobjc section, for clarity.
      
      [gcc/objc/ChangeLog]
      2004-09-01  Ziemowit Laski  <zlaski@apple.com>
      
      	* objc-act.c (objc_check_decl): Use OBJC_TYPE_NAME macro instead of
      	TYPE_NAME.
      	(build_objc_string_object): Rename to objc_build_string_object().
      	(get_class_reference): Rename to objc_get_class_reference().
      	(get_class_ivars_from_name): Rename to objc_get_class_ivars().
      	(next_sjlj_build_catch_list, get_super_receiver): Call
      	objc_get_class_reference() instead of get_class_reference().
      	(build_keyword_decl): Rename to objc_build_keyword_decl().
      	(build_message_expr): Rename to objc_build_message_expr().
      	(build_protocol_expr): Rename to objc_build_protocol_expr().
      	(build_selector_expr): Rename to objc_build_selector_expr().
      	(build_encode_expr): Rename to objc_build_encode_expr().
      	* objc-act.h (get_class_ivars_from_name): Rename prototype to
      	objc_get_class_ivars().
      	(get_class_reference): Rename prototype to objc_get_class_reference().
      	(build_message_expr): Rename prototype to objc_build_message_expr().
      	(build_selector_expr): Rename prototype to objc_build_selector_expr().
      	(build_keyword_decl): Rename prototype to objc_build_keyword_decl().
      	(build_protocol_expr): Rename prototype to objc_build_prototype_expr().
      	(build_objc_string_object): Rename prototype to
      	objc_build_string_object().
      
      From-SVN: r86950
      Ziemowit Laski committed
  27. 01 Sep, 2004 1 commit
    • c-common.h (lookup_interface): Remove prototype. · bc095846
      [gcc/ChangeLog]
      2004-09-01  Ziemowit Laski  <zlaski@apple.com>
      
      	* c-common.h (lookup_interface): Remove prototype.
      	(is_class_name): Rename to objc_is_class_name.
      	(lookup_objc_ivar): Rename to objc_lookup_ivar.
      	(get_current_scope): Rename to objc_get_current_scope.
      	* c-decl.c (get_current_scope): Rename to objc_get_current_scope.
      	* c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
      	(yylexname): Call objc_is_class_name() instead of is_class_name().
      	* c-typeck.c (build_external_ref): Call objc_lookup_ivar()
      	instead of lookup_objc_ivar().
      	* stub-objc.c (lookup_interface): Remove stub.
      	(is_class_name): Rename to objc_is_class_name.
      	(lookup_objc_ivar): Rename to objc_lookup_ivar.
      
      [gcc/objc/ChangeLog]
      2004-09-01  Ziemowit Laski  <zlaski@apple.com>
      
      	* objc-act.c (lookup_interface): Make function 'static' and add a
      	local prototype.
      	(objc_check_decl, get_class_reference, objc_declare_alias,
      	objc_declare_class, objc_is_object_ptr): Call objc_is_class_name()
      	instead of is_class_name().
      	(get_super_receiver, objc_clear_super_receiver): Call
      	objc_get_current_scope() instead of get_current_scope().
      	(is_class_name): Rename to objc_is_class_name.
      	(lookup_objc_ivar): Rename to objc_lookup_ivar.
      
      From-SVN: r86879
      Ziemowit Laski committed
  28. 28 Aug, 2004 1 commit
    • c-common.h: Update comments about ObjC/ObjC++ entry points. · e5a002e3
      [gcc/ChangeLog]
      2004-08-28  Ziemowit Laski  <zlaski@apple.com>
      
      	* c-common.h: Update comments about ObjC/ObjC++ entry points.
      	(objc_is_reserved_word): New prototype.
      	(get_current_scope, objc_mark_locals_volatile): Move prototypes to
      	separate section; these are call-backs.
      	* c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
      	ObjC/ObjC++ "@" keywords.
      	* c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
      	prototypes; they already live in c-common.h.
      	* stub-objc.c: Update copyright notice.
      	(objc_is_reserved_word): New stub.
      
      [gcc/cp/ChangeLog]
      2004-08-28  Ziemowit Laski  <zlaski@apple.com>
      
      	* Make-lang.in (CXX_OBJS): Split up into CXX_OBJS and
      	CXX_AND_OBJCXX_OBJS.
      	(CXX_C_OBJS): Include in CXX_AND_OBJCXX_OBJS instead of listing
      	separately on the link line.
      
      [gcc/objc/ChangeLog]
      2004-08-28  Ziemowit Laski  <zlaski@apple.com>
      
      	* objc-act.c (objc_is_reserved_word): New function.
      
      From-SVN: r86702
      Ziemowit Laski committed
  29. 25 Aug, 2004 1 commit
    • tree.h (build_int_cst): New, sign extended constant. · 7d60be94
      	* tree.h  (build_int_cst): New, sign extended constant.
      	(build_int_cstu): New, zero extended constant.
      	(build_int_cst_wide): Renamed from build_int_cst.
      	* tree.c (build_int_cst, build_int_cstu): New.
      	(build_int_cst_wide): Renamed from build_int_cst.
      	(make_vector_type, build_common_tree_nodes,
      	build_common_tree_nodes_2): Adjust build_int_cst calls.
      	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
      	expand_builtin_strpbrk, expand_builtin_fputs,
      	build_string_literal, expand_builtin_printf,
      	expand_builtin_sprintf, fold_builtin_classify_type,
      	fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
      	fold_builtin_toascii, fold_builtin_isdigit,
      	simplify_builtin_strstr, simplify_builtin_strpbrk,
      	fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
      	* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
      	DEF_ATTR_INT): Likewise.
      	* c-decl.c (complete_array_type, check_bitfield_type_and_width):
      	Likewise.
      	* c-lex.c (interpret_integer, lex_charconst): Likewise.
      	* c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      	* c-typeck.c (really_start_incremental_init, push_init_level,
      	set_nonincremental_init_from_string): Likewise.
      	* calls.c (load_register_parameters): Likewise.
      	convert.c (convert_to_pointer): Likewise.
      	coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
      	build_fn_info_type, build_fn_info_value, build_ctr_info_value,
      	build_gcov_info): Likewise.
      	* except.c (init_eh, assign_filter_values): Likewise.
      	* expmed.c (store_fixed_bit_field, extract_bit_field,
      	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
      	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
      	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
      	* expr.c (convert_move, emit_group_load, emit_group_store,
      	expand_assignment, store_constructor, store_field,
      	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
      	fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
      	invert_truthvalue, optimize_bit_field_compare,
      	decode_field_reference, all_ones_mask_p, constant_boolean_node,
      	fold_div_compare, fold, fold_read_from_constant_string,
      	fold_negate_const, fold_abs_const, fold_not_const, round_up,
      	round_down): Likewise.
      	* function.c (assign_parm_setup_block): Likewise.
      	* stmt.c (shift_return_value, expand_case, estimate_case_costs):
      	Likewise.
      	* stor-layout.c (layout_type, initialize_sizetypes,
      	set_min_and_max_values_for_integral_type): Likewise.
      	* tree-chrec.c (chrec_fold_multiply_poly_poly,
      	reset_evolution_in_loop): Likewise.
      	* tree-chrec.h (build_polynomial_chrec): Likewise.
      	* tree-complex.c (build_replicated_const): Likewise.
      	* tree-eh.c (honor_protect_cleanup_actions,
      	lower_try_finally_onedest, lower_try_finally_copy,
      	lower_try_finally_switch): Likewise.
      	* tree-mudflap.c (mf_build_string, mx_register_decls,
      	mudflap_register_call, mudflap_enqueue_constant): Likewise.
      	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
      	Likewise.
      	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
      	* tree-ssa-loop-niter.c (number_of_iterations_cond,
      	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
      	Likewise.
      	* tree-ssa-loop-ivcanon.c (create_canonical_iv,
      	canonicalize_loop_induction_variables): Likewise.
      	* tree-vectorizer.c (vect_create_index_for_array_ref,
      	vect_transform_loop_bound, vect_compute_data_ref_alignment):
      	Likewise.
      
      	* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
      	alpha_gimplify_va_arg_1): Likewise.
      	* config/arm/arm.c (arm_get_cookie_size): Likewise.
      	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
      	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
      	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
      	mips_gimplify_va_arg_expr): Likewise.
      	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
      	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
      	add_compiler_branch_island): Likewise.
      	* config/s390/s390.c (s390_va_start): Likewise.
      	* config/sh/sh.c (sh_va_start): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
      	Likewise.
      	* config/xtensa/xtensa.c (xtensa_va_start,
      	xtensa_gimplify_va_arg_expr): Likewise.
      
      	* objc/objc-act.c (build_objc_string_object,
      	build_objc_symtab_template, init_def_list, init_objc_symtab,
      	init_module_descriptor, generate_static_references,
      	build_selector_translation_table, get_proto_encoding,
      	build_typed_selector_reference, build_selector_reference,
      	build_next_objc_exception_stuff,
      	build_method_prototype_list_template, generate_descriptor_table,
      	generate_protocols, build_protocol_initializer,
      	build_ivar_list_template, build_method_list_template,
      	build_ivar_list_initializer, generate_ivars_list,
      	generate_dispatch_table, generate_protocol_list,
      	build_category_initializer, build_shared_structure_initializer,
      	generate_shared_structures, handle_impent,
      	generate_objc_image_info): Likewise.
      
      2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
      
      	* cfglayout.c (duplicate_insn_chain): Remove references to
      	NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
      	* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
      	* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
      	* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
      	and NOTE_INSN_LOOP_CONT.
      	* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
      	* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
      	and NOTE_INSN_LOOP_CONT.
      	* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
      	check_dbra_loop, loop_dump_aux): Remove references to removed notes
      	and fields.
      	* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
      	* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
      	references to removed notes and fields.
      	(subtract_reg_term, ujump_to_loop_cont): Remove.
      
      From-SVN: r86544
      Nathan Sidwell committed
  30. 24 Aug, 2004 1 commit
    • c-decl.c (c_init_decl_processing): Adjust build_common_tree_nodes call. · 8c1d6d62
      	* c-decl.c (c_init_decl_processing): Adjust
      	build_common_tree_nodes call.
      	* expmed.c (const_mult_add_overflow_p): Use
      	build_distinct_type_copy.
      	* stor-layout.c (early_type_list): Remove.
      	(layout_type): Don't append to early_type_list.
      	(initialize_sizetypes): Add signed_p argument.
      	(set_sizetype): Overwrite the stub type nodes directly.
      	* tree.c (copy_node_stat): Clear a type's value cache here ...
      	(build_distinct_type): ... not here.
      	(build_common_tree_nodes): Add signed_sizetype argument. Adjust.
      	* tree.h (initialize_sizetypes): Add signed_p argument.
      	(build_common_tree_nodes): Likewise.
      
      	* ada/utils.c (gnat_init_decl_processing): Adjust
      	build_common_tree_nodes call.
      
      	* cp/decl.c (cxx_init_decl_processing): Adjust
      	build_common_tree_nodes call.
      
      	* fortran/f95-lang.c (gfc_init_decl_processing): Adjust
      	build_common_tree_nodes call.
      
      	* java/decl.c (java_init_decl_processing): Adjust
      	initialize_sizetypes call.
      
      	* objc/objc-act.c (get_static_reference): Use
      	build_variant_type_copy.
      	(get_protocol_reference): Likewise.
      	* objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
      
      	* treelang/treetree.c (treelang_init_decl_processing): Adjust
      	build_common_tree_nodes call.
      
      From-SVN: r86493
      Nathan Sidwell committed
  31. 17 Aug, 2004 1 commit
  32. 15 Aug, 2004 2 commits
    • Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h. · 9a4d6480
      [gcc/ChangeLog]
      2004-08-15  Ziemowit Laski  <zlaski@apple.com>
      
             * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
             (c-lang.o): Depend on c-objc-common.h.
             (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
             c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
             * c-lang.c: Include c-objc-common.h.
             (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
             LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
             LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
             LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
             LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
             LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
             LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
             LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
             LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
             LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
             LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
             LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
             LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
             LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
             LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
             LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
             LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
             LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
             LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
             LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
             LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
             LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
             LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
             LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
             Move to c-objc-common.h.
             * c-objc-common.c: Include c-objc-common.h.
             * c-objc-common.h: New file.
      
      [gcc/objc/ChangeLog]
      2004-08-15  Ziemowit Laski  <zlaski@apple.com>
      
             * Make-lang.in (objc/objc-lang.o): Depend on $(C_PRETTY_PRINT_H),
             $(DIAGNOSTIC_H), c-objc-common.h and gtype-objc.h, but not on toplev.h.
             (objc/objc-parse.o): Do not depend on gtype-objc.h.
             * objc-act.c: Do not include gtype-objc.h.
             (finish_file): Rename to objc_finish_file().
             * objc-act.h (finish_file): Update copyright notice; remove prototype.
             * objc-lang.c: Update copyright notice; include diagnostic.h,
             c-objc-common.h, c-pretty-print.h and gtype-objc.h; do not include
             toplev.h.
             (finish_file): New hook routine.
             (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
             LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
             LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
             LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
             LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
             LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
             LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
             LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
             LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
             LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
             LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
             LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
             LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
             LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
             LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
             LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
             LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
             LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
             LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
             LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
             LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
             LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
             LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
             LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
             Move to c-objc-common.h.
      
      From-SVN: r86037
      Ziemowit Laski committed
    • tree.h (build_int_cst): New. · 4a90aeeb
      .:	* tree.h (build_int_cst): New.
      	(build_int_2): Remove.
      	* tree.c (build_int_2): Remove.
      	(build_int_cst): New.
      	(make_vector_type, build_common_tree_nodes,
      	build_common_tree_nodes_2): Use build_int_cst.
      	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
      	expand_builtin_strpbrk, expand_builtin_fputs,
      	build_string_literal, expand_builtin_printf,
      	expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
      	fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
      	fold_builtin_isdigit, simplify_builtin_strstr,
      	simplify_builtin_strpbrk, fold_builtin_fputs,
      	simplify_builtin_sprintf): Use build_int_cst.
      	* c-common.c (start_fname_decls, fix_string_type,
      	c_common_nodes_and_builtins, c_init_attributes,
      	shorten_compare): Likewise.
      	* c-decl.c (complete_array_type,
      	check_bitfield_type_and_width): Likewise.
      	* c-lex.c (interpret_integer, lex_charconst): Likewise.
      	* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
      	* c-pretty-print.c (pp_c_integer_constant): Likewise.
      	* c-typeck.c (really_start_incremental_init, push_init_level,
      	set_nonincremental_init_from_string): Likewise.
      	* calls.c (load_register_parameters): Likewise.
      	* convert.c (convert_to_pointer): Likewise.
      	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
      	build_fn_info_type, build_ctr_info_value, build_gcov_info):
      	Likewise.
      	* except.c (init_eh, assign_filter_values, assign_filter_values):
      	Likewise.
      	* expmed.c (store_fixed_bit_field, extract_bit_field,
      	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
      	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
      	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
      	* expr.c (convert_move, emit_group_load, emit_group_store,
      	expand_assignment, store_constructor, store_field,
      	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
      	* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
      	invert_truthvalue, optimize_bit_field_compare,
      	decode_field_reference, all_ones_mask_p, constant_boolean_node,
      	fold_div_compare, fold, fold_read_from_constant_string,
      	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
      	* function.c (assign_parm_setup_block): Likewise.
      	* stmt.c (shift_return_value, expand_end_case_type,
      	estimate_case_costs): Likewise.
      	* stor-layout.c (layout_type, initialize_sizetypes,
      	set_min_and_max_values_for_integral_type): Likewise.
      	* tree-chrec.c (chrec_fold_multiply_poly_poly,
      	reset_evolution_in_loop): Likewise.
      	* tree-chrec.h (build_polynomial_chrec): Likewise.
      	* tree-complex.c (build_replicated_const): Likewise.
      	* tree-eh.c (honor_protect_cleanup_actions,
      	lower_try_finally_onedest, lower_try_finally_copy,
      	lower_try_finally_switch): Likewise.
      	* tree-mudflap.c (mf_build_string, mx_register_decls,
      	mudflap_register_call, mudflap_enqueue_constant): Likewise.
      	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
      	Likewise.
      	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
      	* tree-ssa-loop-niter.c (number_of_iterations_cond,
      	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
      	Likewise.
      
      	* config/alpha/alpha.c (alpha_initialize_trampoline,
      	alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
      	* config/arm/arm.c (arm_get_cookie_size): Likewise.
      	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
      	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
      	* config/i860/i860.c (i860_va_start): Likewise.
      	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
      	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
      	mips_gimplify_va_arg_expr): Likewise.
      	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
      	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
      	add_compiler_branch_island): Likewise.
      	* config/s390/s390.c (s390_va_start): Likewise.
      	* config/sh/sh.c (sh_va_start): Likewise.
      	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
      	Likewise.
      	* config/xtensa/xtensa.c (xtensa_va_start,
      	xtensa_gimplify_va_arg_expr): Likewise.
      
      	* objc/objc-act.c (build_objc_string_object,
      	build_objc_symtab_template, init_def_list, init_objc_symtab,
      	init_module_descriptor, generate_static_references,
      	build_selector_translation_table, get_proto_encoding,
      	build_typed_selector_reference, build_selector_reference,
      	build_next_objc_exception_stuff,
      	build_method_prototype_list_template, generate_descriptor_table,
      	generate_protocols, build_protocol_initializer,
      	build_ivar_list_template, build_method_list_template,
      	build_ivar_list_initializer, generate_ivars_list,
      	generate_dispatch_table, generate_protocol_list,
      	build_category_initializer, build_shared_structure_initializer,
      	generate_shared_structures, handle_impent,
      	generate_objc_image_info): Use build_int_cst.
      ada:
      	* cuintp.c (UI_To_gnu): Use build_int_cst..
      	* trans.c (Exception_Handler_to_gnu_sjlj, gnat_to_gnu): Likewise.
      	* utils.c (init_gigi_decls): Likewise.
      	* utils2.c (build_call_raise): Likewise.
      cp:
      	* call.c (convert_class_to_reference,
      	build_user_type_conversion_1, convert_like_real,
      	build_java_interface_fn_ref, build_special_member_call): Use
      	build_int_cst.
      	* class.c (build_vtbl_initializer): Likewise.
      	* cp-gimplify.c (cp_gimplify_expr): Likewise.
      	* cvt.c (cp_convert_to_pointer): Likewise.
      	* decl.c (cxx_init_decl_processing, complete_array_type): Likewise.
      	* decl2.c (start_static_initialization_or_destruction,
      	generate_ctor_or_dtor_function): Likewise.
      	* except.c (build_throw): Likewise.
      	* lex.c (cxx_init): Likewise.
      	* mangle.c (write_integer_cst): Likewise.
      	* rtti.c (build_headof, get_tinfo_decl_dynamic,
      	build_dynamic_cast_1, ptr_initializer, ptm_initializer,
      	get_pseudo_ti_init): Likewise.
      	* search.c (get_dynamic_cast_base_type): Likewise.
      	* tree.c (build_shared_int_cst): Likewise.
      fortran:
      	* trans-array.c (gfc_trans_array_constructor_value): Use
      	build_int_cst.
      	* trans-const.c (gfc_build_string_const,
      	gfc_init_constants, gfc_conv_mpz_to_tree,
      	gfc_conv_constant_to_tree): Likewise.
      	* trans-decl.c (gfc_get_symbol_decl): Likewise.
      	* trans-intrinsic.c (gfc_conv_intrinsic_ibits,
      	gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
      	* trans-io.c (add_case, set_error_locus, build_dt,
      	transfer_expr): Likewise.
      	* trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
      	gfc_trans_stop, gfc_trans_character_select): Likewise.
      	* trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
      	* trans.c (gfc_trans_runtime_check): Likewise.
      java:
      	* boehm.c (get_boehm_type_descriptor): Use build_int_cst.
      	* class.c (build_utf8_ref, build_static_field_ref,
      	make_field_value, make_method_value, get_dispatch_table,
      	make_class_data, emit_symbol_table, emit_catch_table): Likewise.
      	* constants.c (get_tag_node,  build_ref_from_constant_pool,
      	build_constants_constructor): Likewise.
      	* decl.c (java_init_decl_processing): Likewise.
      	* expr.c (build_java_array_length_access, build_newarray,
      	expand_java_multianewarray, expand_java_pushc, expand_iinc,
      	build_java_binop, build_field_ref, expand_java_add_case,
      	expand_java_call, build_known_method_ref, build_invokevirtual,
      	build_invokeinterface, build_jni_stub): Likewise.
      	* java-gimplify.c (java_gimplify_new_array_init): Likewise.
      	* jcf-parse.c (get_constant): Likewise.
      	* lex.c (do_java_lex): Likewise.
      	* parse.y (patch_binop, patch_unaryop, patch_cast,
      	build_null_of_type, patch_newarray): Likewise.
      	* resource.c (compile_resource_data): Likewise.
      	* typeck.c (build_prim_array_type): Likewise.
      
      From-SVN: r86022
      Nathan Sidwell committed
  33. 05 Aug, 2004 2 commits
    • objc-act.c (build_objc_string_object): Mark the address expression as constant. · 21149a79
      2004-08-05  Andrew Pinski  <apinski@apple.com>
      
              * objc/objc-act.c (build_objc_string_object): Mark the address
              expression as constant.
      
      From-SVN: r85609
      Andrew Pinski committed
    • re PR c/14516 (-fleading-underscore does not work correctly for file static variables) · 0e6df31e
      2004-08-04  Geoffrey Keating  <geoffk@apple.com>
      
      	PR 14516
      	* c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
      	* c-common.h (make_rtl_for_local_static): Delete.
      	* c-decl.c (shadow_tag_warned): Clean up comment.
      	(finish_decl): Clean up spacing.  Use set_user_assembler_name when
      	appropriate.  Don't pass asmspec to rest_of_decl_compilation.
      	* c-semantics.c (make_rtl_for_local_static): Delete.
      	* expr.c (init_block_move_fn): Use set_user_assembler_name.
      	(init_block_clear_fn): Likewise.
      	* passes.c (rest_of_decl_compilation): Remove asmspec parameter,
      	expect it to be in DECL_ASSEMBLER_NAME.  Update callers in many files.
      	* toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
      	* tree.h (make_decl_rtl): Remove second parameter.
      	(set_user_assembler_name): New.
      	* varasm.c (set_user_assembler_name): New.
      	(make_decl_rtl): Remove second parameter.  Update callers in many
      	files.
      
      Index: cp/ChangeLog
      2004-08-04  Geoffrey Keating  <geoffk@apple.com>
      
      	* decl.c (make_rtl_for_nonlocal_decl): Set DECL_ASSEMBLER_NAME rather
      	than passing it as a parameter to rest_of_decl_compilation.
      	* decl2.c (grokfield): Use set_user_assembler_name.
      
      From-SVN: r85593
      Geoffrey Keating committed
  34. 28 Jul, 2004 1 commit
    • c-common.c (c_common_unsafe_for_reeval): Delete. · 9f63daea
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* c-common.c (c_common_unsafe_for_reeval): Delete.
      	* c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use.
      	* c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case.
      	* calls.c (fix_unsafe_tree): Delete.
      	(expand_call): Delete code which used above.
      	* dojump.c (do_jump): Delete UNSAVE_EXPR case.
      	* expr.c (expand_expr_real_1): Ditto.
      	* fold-const.c (non_lvalue): Ditto.
      	* langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      	(lhd_unsafe_for_reeval): Ditto.
      	* langhooks.c (lhd_unsafe_for_reeval): Ditto.
      	* langhooks.h (unsafe_for_reeval): Ditto.
      	(unsave_expr_now): Adjust comment.
      	* tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits.
      	(estimate_num_insns_1): Ditto.
      	* tree-pretty-print.c (dump_generic_node): Ditto.
      	* tree.c (expr_align): Ditto.
      	(unsave_expr): Delete.
      	(unsafe_for_reeval): Ditto.
      	* tree.h (unsafe_for_reeval, unsave_expr): Ditto.
      	* tree.def (UNSAVE_EXPR): Delete.
      	* objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* cp-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      
      2004-07-28  Eric Christopher  <echristo@redhat.com>
      
      	* lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
      	(java_unsafe_for_reeval): Ditto.
      
      From-SVN: r85276
      Eric Christopher committed
  35. 19 Jul, 2004 1 commit
    • c-tree.h (struct c_expr): Define. · 487a92fe
      	* c-tree.h (struct c_expr): Define.
      	(C_SET_EXP_ORIGINAL_CODE): Remove.
      	(parser_build_binary_op, build_compound_expr): Update prototypes.
      	* c-parse.in (%union): Add exprtype.
      	(FUNC_NAME): Mark as ttype.
      	(expr, expr_no_commas, cast_expr, unary_expr, primary): Change to
      	exprtype.
      	(expr): Update.  Define directly in terms of expr_no_commas
      	instead of using nonnull_exprlist.
      	(nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary,
      	offsetof_member_designator, typespec_nonreserved_nonattr, init,
      	initval, designator, component_declarator,
      	component_notype_declarator, enumerator, array_declarator,
      	condition, exexpr, switch_statement, stmt_nocomp, stmt,
      	nonnull_asm_operands, ivar_declarator, receiver): Update.  Don't
      	set C_EXP_ORIGINAL_CODE.  Use TREE_NO_WARNING for assignments
      	where appropriate.
      	* c-common.h (C_EXP_ORIGINAL_CODE): Remove.
      	* c-common.c (c_common_truthvalue_conversion): Don't check
      	C_EXP_ORIGINAL_CODE.
      	* c-typeck.c (parser_build_binary_op): Use c_expr structures.
      	Don't use C_EXP_ORIGINAL_CODE.
      	(default_conversion, default_function_array_conversion): Don't use
      	C_EXP_ORIGINAL_CODE.  Preserve TREE_NO_WARNING.
      	(internal_build_compound_expr): Merge into build_compound_expr.
      	(build_compound_expr): Take two operands instead of a TREE_LIST.
      	* objc/objc-act.c (get_super_receiver): Update calls to
      	build_compound_expr.
      
      cp:
      	* typeck.c (build_modify_expr, build_x_modify_expr): Set
      	TREE_NO_WARNING on assignments with an operator other than '='.
      
      testsuite:
      	* g++.dg/warn/Wparentheses-1.C, g++.dg/warn/Wparentheses-2.C,
      	gcc.dg/Wparentheses-10.c: New tests.
      	* gcc.dg/Wparentheses-5.c: Remove XFAILs.
      
      From-SVN: r84911
      Joseph Myers committed
  36. 11 Jul, 2004 1 commit
    • langhooks.h (estimate_num_insns, [...]): Remove hooks. · 9dcf6e73
      	* langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
      	maybe_build_cleanup, update_decl_after_saving): Remove hooks.
      	* langhooks.c (lhd_clear_binding_stack): Remove.
      	* langhooks-def.h (lhd_clear_binding_stack,
      	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
      	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
      	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
      	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
      	(LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
      	* system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
      	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
      	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
      	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
      	* tree.h (poplevel): Don't declare.
      	* c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
      	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
      	* objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
      	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
      	Remove.
      
      ada:
      	* misc.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
      	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
      
      cp:
      	* cp-lang.c (LANG_HOOKS_MAYBE_BUILD_CLEANUP, LANG_HOOKS_PUSHLEVEL,
      	LANG_HOOKS_POPLEVEL, LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): Remove.
      	* cp-tree.h (poplevel): Declare.
      	(set_block): Remove.
      	* decl.c (set_block): Remove.
      
      fortran:
      	* f95-lang.c (set_block): Remove.
      	(gfc_clear_binding_stack): New.
      	(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
      	(struct binding_level): Remove block_created_by_back_end.
      	(clear_binding_level): Likewise.
      	(poplevel): Don't handle block_created_by_back_end.
      
      java:
      	* java-tree.h (set_block): Remove.
      	* lang.c (java_clear_binding_stack): New.
      	(LANG_HOOKS_CLEAR_BINDING_STACK): Define.
      	* decl.c (struct binding_level): Remove this_block.
      	(clear_binding_level): Likewise.
      	(poplevel): Don't handle this_block.
      	(set_block): Remove.
      
      treelang:
      	* treetree.c (set_block): Remove.
      	(struct binding_level): Remove block_created_by_back_end.
      	(clear_binding_level): Likewise.
      	(tree_code_create_function_initial,
      	tree_code_create_function_wrapup): Call pushlevel and poplevel
      	directly rather than through hooks.
      	(poplevel): Don't handle block_created_by_back_end.
      
      From-SVN: r84499
      Joseph Myers committed