1. 02 Dec, 2003 1 commit
  2. 14 Nov, 2003 1 commit
  3. 13 Nov, 2003 1 commit
    • re PR rtl-optimization/12275 ([unit-at-a-time] ICE in htab_clear_slot) · fccc4eb2
      	PR opt/12275
      	* c-decl.c (finish_decl): Use change_decl_assembler_name.
      	* c-pragma.c (handle_pragma_redefine_extname): Likewise.
      	* varasm.c (make_decl_rtl): Likewise.
      	* cgraph.c (change_decl_assembler_name): New function.
      	* tree.h (set_decl_assembler_name): Kill dead declaration.
      	(change_decl_assembler_name): Declare.
      
      	* decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
      	* decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
      
      From-SVN: r73532
      Jan Hubicka committed
  4. 06 Nov, 2003 1 commit
    • c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY field instead of… · 968b41a1
      c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY field instead of hanging an attribute object off the decl.
      
      	* c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
      	field instead of hanging an attribute object off the decl.
      	* tree.h (DECL_VISIBLITY): New accessor macro for
      	symbol_visibility field in struct tree_decl.
      	(enum symbol_visibility): Move definition to before tree_decl.
      	(struct tree_decl): Define new two-bit field, symbol_visibility.
      	(decl_visibility): Remove declaration.
      	* varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
      	instead of decl_visibility.
      	(default_binds_local_p_1):  Use DECL_VISIBILITY	instead of
      	decl_visibility.
      	(decl_visibility): Remove.
      	* cp/decl.c (duplicate_decls): copy DECL_VISIBILITY field.
      	* cp/method.c (use_thunk): give thunk same visibility as function.
      	* cp/optimize.c (maybe_clone_body): copy DECL_VISIBILITY field.
      
      From-SVN: r73320
      Matt Austern committed
  5. 26 Oct, 2003 1 commit
  6. 21 Oct, 2003 1 commit
  7. 09 Oct, 2003 1 commit
    • stmt.c (resolve_asm_operand_names): Call check_unique_operand_names here. · 1456deaf
              * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
              here.
              (expand_asm_operands): Not here.
              (parse_input_constraint): No longer static.
              * tree.h: Declare it.
      
              * coverage.c (build_ctr_info_value): Use build_decl to make a
              VAR_DECL.
              (create_coverage): Likewise.
      java/
              * parse.y (patch_assignment): Use make_node to create a BLOCK.
              * parse.h (BUILD_PTR_FROM_NAME): Use make_node to create a
              POINTER_TYPE.
      cp/
              * tree.c (build_cplus_new): Use build_decl to create a VAR_DECL.
              (build_target_expr_with_type): Likewise.
      
              * pt.c (instantiate_class_template): Sanity check that our
              enclosing class has been instantiated.
      
      From-SVN: r72255
      Jason Merrill committed
  8. 28 Sep, 2003 1 commit
    • stmt.c (expand_asm_operands): Take a location_t, instead of individual file and line. · 177560b2
              * stmt.c (expand_asm_operands): Take a location_t, instead of
              individual file and line.
              * c-typeck.c (c_expand_asm_operands): Likewise.
              * tree.h (expand_asm_operands): Update decl.
              * c-common.h (c_expand_asm_operands): Likewise.
              * c-semantics (genrtl_asm_stmt): Update call.
      cp/
              * typeck.c (c_expand_asm_operands): Take location_t, instead of
              individual file and line.
      ada/
              * trans.c (tree_transform): Update call to expand_asm_operands.
      
      From-SVN: r71884
      Richard Henderson committed
  9. 22 Sep, 2003 1 commit
  10. 21 Sep, 2003 1 commit
    • tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const. · 7e2af53a
      	* tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
      	(TREE_FILENAME, TREE_LINENO): Likewise.
      	(set_tree_locus, copy_tree_locus, set_tree_file_line): New.
      	(TREE_LOCUS_SET_P): New.
      	* c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
      	diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
      	print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
      	tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
      	config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
      
      ada/
      	* trans.c, utils.c: Update for DECL_SOURCE_LOCATION rename and
      	change to const.
      
      cp/
      	* class.c, cp-tree.h, decl.c, decl2.c, error.c, init.c,
      	method.c, optimize.c, pt.c, semantics.c, tree.c: Update for
      	DECL_SOURCE_LOCATION rename and change to const.
      
      f/
      	* com.c, ste.c: Update for DECL_SOURCE_LOCATION rename and
      	change to const.
      
      java/
      	* class.c, decl.c, jcf-parse.c, jcf-write.c, parse.y,
      	resource.c: Update for DECL_SOURCE_LOCATION rename and change to const.
      
      treelang/
      	* treetree.c: Update for DECL_SOURCE_LOCATION rename and
      	change to const.
      
      From-SVN: r71636
      Richard Henderson committed
  11. 04 Sep, 2003 1 commit
    • targhooks.c: New file. · 61f71b34
      	* targhooks.c: New file.
      	* targhooks.h: New file.
      	* Makefile.in: Add targhooks.o support.
      	(function.o): Depend on$(TARGET_H).
      	(stmt.o): Likewise.
      	(combine.o): Depend on $(TREE_H) and $(TARGET_H).
      	* builtins.c (apply_args_size, expand_builtin_apply_args_1,
      	expand_builtin_apply): Convert to calls.struct_value_rtx hook.
      	(expand_builtin_saveregs): Convert to
      	calls.expand_builtin_saveregs hook.
      	* c-decl.c (start_decl): Handle new calls.promote_prototypes hook
      	here, instead of ...
      	(get_parm_info) ... here.
      	(store_parm_decls_oldstyle): Convert to calls.promote_prototypes
      	hook.
      	(finish_function): Handle calls.promote_prototypes hook here too.
      	* c-typeck.c (convert_arguments): Convert to
      	calls.promote_prototypes hook.
      	(c_convert_parm_for_inlining): Likewise.
      	* calls.c (initialize_argument_information): Convert to
      	calls.promote_function_args hook.
      	(expand_call): Convert to calls.struct_value_rtx,
      	calls.strict_argument_naming,
      	calls.pretend_outgoing_varargs_named, and
      	calls.promote_function_return hooks.  Pass fndecl to
      	aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
      	hooks, so they can use that.
      	(emit_library_call_value_1): Likewise.
      	* combine.c (setup_incoming_promotions): Convert to
      	calls.promote_function_args hook.
      	* emit-rtl.c: Convert to calls.struct_value_rtx hook.
      	* expr.c (expand_assignment): Pass call to aggregate_value_p.
      	(expand_expr): Likewise.
      	* expr.h: Remove support for SETUP_INCOMING_VARARGS,
      	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
      	RETURN_IN_MEMORY macro defaults.
      	* final.c (profile_function): Convert to calls.struct_value_rtx
      	hook.
      	* function.c (aggregate_value_p): Accept function type tree as
      	second parameter; try to deduce fntype from it.  Convert to
      	calls.return_in_memory hook.
      	(assign_parms): Convert to calls.setup_incoming_varargs,
      	calls.strict_argument_naming, calls.promote_function_args,
      	calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
      	aggregate_value_p.
      	(expand_function_start): Likewise.  Convert to
      	calls.struct_value_rtx hook.
      	(expand_function_end): Convert to calls.promote_function_return hook.
      	(allocate_struct_function): Pass fndecl to aggregate_value_p.
      	* hard-reg-set.h: Update comments to new hook names.
      	* integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
      	* reg-stack.c (stack_result): Likewise.
      	* rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
      	* stmt.c (expand_value_return): Convert to
      	calls.promote_function_return hook.
      	* target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
      	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
      	TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
      	TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
      	TARGET_STRICT_ARGUMENT_NAMING,
      	TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
      	* target.h: Likewise.
      	* tree.h (aggregate_value_p): Also takes a tree to deduce function
      	attributes from (for target hooks).
      	* doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
      	PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
      	STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
      	EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
      	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
      	to hooks.
      
      	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
      	to aggregate_value_p.
      	* config/arm/arm.c (arm_init_cumulative_args,
      	arm_output_mi_thunk): Likewise.
      	* config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
      	Likewise.
      	* config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
      	mips_can_use_return_insn): Likewise.
      	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
      	* config/s390/s390.c (s390_output_mi_thunk): Likewise.
      	* config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
      	aggregate_value_p.
      	* config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
      	function to aggregate_value_p.
      	* objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
      	aggregate_value_p.
      
      	* config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
      	(sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
      	sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
      	(sh_handle_renesas_attribute, sh_promote_prototypes,
      	sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
      	sh_setup_incoming_varargs, sh_strict_argument_naming,
      	sh_pretend_outgoing_varargs_named): New decls.
      	(targetm): Add new hooks.
      	(calc_live_regs): Save MACL and MACH if the function has the
      	renesas attribute.
      	(sh_expand_prologue): Support renesas attribute.
      	(sh_builtin_saveregs): Make static.
      	(sh_build_va_list): Support renesas attribute.
      	(sh_va_start): Likewise.
      	(sh_va_arg): Likewise.
      	(sh_promote_prototypes): New.
      	(sh_function_arg): New, moved from sh.h.  Support renesas
      	attribute.
      	(sh_function_arg_advance): Likewise.
      	(sh_return_in_memory): Likewise.
      	(sh_strict_argument_naming): Likewise.
      	(sh_pretend_outgoing_varargs_named): Likewise.
      	(sh_struct_value_rtx): New.
      	(sh_attribute): Add renesas attribute.
      	(sh_handle_renesas_attribute): New.
      	(sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
      	(sh_ms_bitfield_layout_p): Support renesas attribute also.
      	(sh_output_mi_thunk): Pass function to aggregate_value_p.  *
      	config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
      	-mhitachi.
      	(STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
      	target hooks.
      	(sh_args): Add renesas_abi flag.
      	(INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
      	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
      	(PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
      	stack for the renesas abi.
      	(STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
      	SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
      	PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
      	call cookie to indicate renesas calls.
      
      	* decl.c (finish_function): Pass fndecl to aggregate_value_p.
      
      	* misc.c (default_pass_by_ref): Convert to calls.return_in_memory
      	hook.
      
      From-SVN: r71048
      DJ Delorie committed
  12. 29 Aug, 2003 2 commits
  13. 28 Aug, 2003 1 commit
    • builtin-types.def (BT_INT_PTR, [...]): New. · a2a919aa
      	* builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
      	BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
      	BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
      	BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
      	BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
      	BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
      	BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
      	BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
      	BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
      	BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
      	BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
      	* builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
      	BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
      	BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
      	BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
      	* tree.c: Assign new type_nodes.
      	* tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
      	TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
      	(float_ptr_type_node, double_ptr_type_node,
      	long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
      
      	* doc/extend.texi: Document new builtins.
      
      testsuite:
      	* gcc.dg/builtins-1.c: Add new builtin cases.
      
      From-SVN: r70890
      Kaveh R. Ghazi committed
  14. 26 Aug, 2003 1 commit
  15. 25 Aug, 2003 1 commit
    • re PR target/8795 ([PPC] Altivec related bugs concerning gcc 3.3 and mainline) · 43dc123f
      	PR c++/8795
      	* tree.h (build_method_type_directly): Declare.
      	* c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
      	(vector_size_helper): Likewise.
      	* tree.c (build_method_type_directly): New function.
      	(build_method_type): Use it.
      
      	PR c++/8795
      	* cp-tree.h (build_cplus_method_type): Remove.
      	* call.c (standard_conversion): Use build_method_type_directly
      	instead of build_cplus_method_type.
      	* class.c (build_clone): Likewise.
      	(adjust_clone_args): Likewise.
      	* decl.c (build_ptrmem_type): Likewise.
      	(grokdeclarator): Likewise.
      	(check_function_type): Likewise.
      	* decl2.c (grok_method_quals): Likewise.
      	(maybe_retrofit_in_chrg): Likewise.
      	* pt.c (copy_default_args_to_explicit_spec): Likewise.
      	(tsubst_function_type): Likewise.
      	(tsubst): Likewise.
      	* tree.c (build_cplus_method_type): Remove.
      	* typeck.c (merge_types): Use build_method_type_directly.
      
      	PR c++/8795
      	* g++.dg/ext/altivec-1.C: New test.
      
      From-SVN: r70773
      Mark Mitchell committed
  16. 22 Aug, 2003 1 commit
  17. 20 Aug, 2003 1 commit
    • tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'. · 68ad9159
              * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
              (EXPR_CHECK): Don't check for 'r' or 's' if we're
              checking IS_EXPR_CODE_CLASS.
              * calls.c (calls_function_1): Likewise.
              * fold-const.c (fold): Likewise.
              * tree.c (iterative_hash_expr): Likewise.
              * tree-inline.c (walk_tree, copy_tree_r): Likewise.
      
      From-SVN: r70617
      Jason Merrill committed
  18. 19 Aug, 2003 2 commits
    • builtins.c: Fix comment typos. · a98ebe2e
      	* builtins.c: Fix comment typos.
      	* c-common.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* cfgbuild.c: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloopanal.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cppfiles.c: Likewise.
      	* dwarfout.c: Likewise.
      	* expr.c: Likewise.
      	* fold-const.c: Likewise.
      	* gcse.c: Likewise.
      	* ggc-page.c: Likewise.
      	* haifa-sched.c: Likewise.
      	* pretty-print.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      	* value-prof.c: Likewise.
      
      From-SVN: r70583
      Kazu Hirata committed
    • cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol. · 810db579
      	* cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
      	(cgraph_varpool_mark_needed_node): Likewise.
      	* cgraph.h (notice_global_symbol): Declare
      	* varasm.c (notice_global_symbol): Break out from ...
      	(assemble_start_function): ... here; update for variables.
      	(assemble_variable): Use notice_global_symbol.
      
      From-SVN: r70559
      Jan Hubicka committed
  19. 08 Aug, 2003 1 commit
    • * tree.h (get_identifier) Define a macro form of get_identifier · 7bb3fbbb
      	that calls get_identifier_with_length when the string is constant.
      	(get_identifier_with_length): Change type of second argument to
      	size_t in prototype.
      	* stringpool.c (get_identifier): Undefine the macro before giving
      	the function definition.
      	(get_identifier_with_length): Change  type of second argument to
      	size_t in function definition.
      	* hashtable.c (calc_hash): Change type of second argument to size_t.
        	(ht_lookup): Change type of third argument to size_t.  Reorganize
      	to speed-up the cases where the hash table slot is empty, or the
      	first probe matches (i.e. there isn't a collision).
      	* hashtable.h (ht_lookup): Adjust function prototype.
      
      From-SVN: r70256
      Roger Sayle committed
  20. 05 Aug, 2003 1 commit
    • tree.h (DID_INLINE_FUNC): Remove macro. · b3c3af2f
      2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
      
      	* tree.h (DID_INLINE_FUNC): Remove macro.
      	(DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
      	add tree check for FUNCTION_DECL.
      	(DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
      	(struct tree_decl): Rename inlined_function_flag to
      	declared_inline_flag.
      	* c-common.h (c_lang_decl): Remove.
      	(DECL_ESTIMATED_INSNS): Remove.
      	* c-tree.h (struct lang_decl): Don't include c_lang_decl.
      	(DECL_DECLARED_INLINE_P): Remove.
      	* c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
      	do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
      	(finish_function): Make uninlinable a bool.  Fixup call to
      	tree_inlinable_function_p() and fix some code style issues.
      	* cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
      	* cgraph.c (dump_cgraph): Likewise.
      	* cgraphunit.c (cgraph_decide_inlining): Likewise
      	(cgraph_finalize_compilation_unit): Likewise.
      	Also update call to tree_inlinable_function_p().
      	(cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
      	look at DECL_DECLARED_INLINE and reverse logic.
      	* print-tree.c (print_node): Likewise.
      	* toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
      	* tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
      	prototype.
      	* tree-inline.c (inlinable_function_p): Split up in this function to
      	check for basic inlining inhibiting conditions, and new
      	limits_allow_inlining() function.  Warn if inlining is impossible
      	because the inline candidate calls alloca or uses sjlj exceptions.
      	(limits_allow_inlining): this new function to check if the inlining
      	limits are satisfied.  Throttle from currfn_max_inline_insns, not from
      	MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
      	MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
      	Update prototypes.
      	(tree_inlinable_function_p): Make a bool.  Update call to
      	inlinable_function_p
      	(expand_call_inline): Use limits_allow_inlining() when not in
      	unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
      	instead see if the function was declared `inline'.
      
      cp/
      	* cp-tree.h (struct lang_decl): Don't include c_lang_decl.
      	(DECL_DECLARED_INLINE_P): Remove.
      	* decl2.c (import_export_decl): Only look at DECL_DECLARED_INLINE_P
      	if decl is a FUNCTION_DECL.  This never made sense, but now it is
      	required to avoid a tree check failure.
      	* decl.c (grokfndecl): Don't touch DID_INLINE_FUNC.
      	* optimize.c (maybe_clone_body): Likewise.
      
      java/
      	* java-tree.h (DECL_ESTIMATED_INSNS): Remove.
      
      From-SVN: r70174
      Steven Bosscher committed
  21. 01 Aug, 2003 1 commit
  22. 29 Jul, 2003 1 commit
    • re PR c++/11667 (wider-than-int enums never compare equal to 0) · 7b6d72fc
      	PR c++/11667
      	* c-common.c (shorten_compare): Take into account differences
      	between C and C++ representation for enumeration types.
      	* tree.h (set_min_and_max_values_for_integral_type): Declare.
      	* stor-layout.c (set_min_and_max_values_for_integral_type): New
      	function, broken out from ...
      	(fixup_signed_type): ... here and ...
      	(fixup_unsigned_type): ... here.
      
      	PR c++/11667
      	* call.c (standard_conversion): Allow all integral->enumeral
      	conversions, after marking them as bad.
      	* decl.c (finish_enum): Make sure that all enumerators are
      	properly converted to the underlying type.
      	(build_enumerator): Set DECL_CONTEXT for namespace-scope
      	enumeration types.
      	* pt.c (tsubst_copy): Adjust handling of CONST_DECLs accordingly.
      	(tsubst_enum): Tidy.
      
      	* Make-lang.in (typeck.o): Depend on convert.h.
      	(class.o): Likewise.
      	(rtti.o): Likewise.
      	* call.c: Include convert.h.
      	(convert_arg_to_ellipsis): Use convert_to_real.
      	* class.c: Include convert.h.
      	(build_base_path): Use convert_to_integer.
      	* rtti.c: Include convert.h.
      	(build_headof): Use convert_to_integer.
      	* typeck.c: Include convert.h.
      	(decay_conversion): Use convert_to_integer.
      	(build_unary_op): Use build_nop.
      	(get_delta_difference): Use convert_to_integer.
      	(build_ptrmemfunc): Avoid unncessary conversions.
      
      From-SVN: r69909
      Mark Mitchell committed
  23. 24 Jul, 2003 1 commit
    • tree.h (boolean_type_node): Move from C/C++/Java frontends. · de7df9eb
              * tree.h (boolean_type_node): Move from C/C++/Java frontends.
              (boolean_true_node, boolean_false_node): Likewise.
              (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
              * tree.c (build_common_tree_nodes): Init boolean_type_node.
              (build_common_tree_nodes_2): Init boolean_{true,false}_node.
              * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
              * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
              (truthvalue_true_node): Renamed from boolean_true_node.
              (truthvalue_false_node): Renamed from boolean_false_node.
              * c-decl.c: Just set truthvalue_* to integer_*.
              * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
              * cp/decl.c: Just set truthvalue_* to boolean_*.
              * java/java-tree.h: Move boolean_type_node et al to the back end.
      
      From-SVN: r69758
      Jason Merrill committed
  24. 22 Jul, 2003 1 commit
    • alias.c: Fix comment formatting. · 938d968e
      	* alias.c: Fix comment formatting.
      	* c-common.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-opts.c: Likewise.
      	* combine.c: Likewise.
      	* cpplib.c: Likewise.
      	* diagnostic.c: Likewise.
      	* dojump.c: Likewise.
      	* final.c: Likewise.
      	* fold-const.c: Likewise.
      	* gcc.c: Likewise.
      	* gcse.c: Likewise.
      	* ggc-page.c: Likewise.
      	* jump.c: Likewise.
      	* loop.c: Likewise.
      	* mips-tfile.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      
      From-SVN: r69689
      Kazu Hirata committed
  25. 18 Jul, 2003 1 commit
    • fold-const.c (const_binop): Avoid performing the FP operation at compile-time... · 3e4093b6
      	* fold-const.c (const_binop): Avoid performing the FP operation at
      	compile-time, if either operand is NaN and we honor signaling NaNs,
      	or if we're dividing by zero and either flag_trapping_math is set
      	or the desired mode doesn't support infinities.
      	(fold_initializer): New function to fold an expression ignoring any
      	potential run-time exceptions or traps.
      	* tree.h (fold_initializer): Prototype here.
      	* c-typeck.c (build_binary_op): Move to the end of the file so
      	that intializer_stack is in scope.  If constructing an initializer,
      	i.e. when initializer_stack is not NULL, use fold_initializer to
      	fold expressions.
      	* simplify-rtx.c (simplify_binary_operation): Likewise, avoid
      	performing FP operations at compile-time, if they would raise an
      	exception at run-time.
      
      From-SVN: r69533
      Roger Sayle committed
  26. 15 Jul, 2003 1 commit
  27. 14 Jul, 2003 1 commit
    • ggc-page.c (extra_order_size_table): Insns have 9 slots. · adc4adcd
      	* ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
      	don't have 2.
      
      	* ggc-page.c (struct globals): Add new fields to keep track of the
      	total allocated memory and overhead.
      	(ggc_print_statistics): Print them.
      	(ggc_alloc): Keep track of the total allocated memory and the
      	overhead.
      
      	* tree.c (dump_tree_statistics): Increase spacing.
      	(enum tree_node_kind): Move to ...
      	* tree.h (enum tree_node_kind): ... here.
      	(tree_node_counts, tree_node_sizes): Declare.
      
      	* doc/include/texinfo.tex: Upgrade to texinfo 4.6.
      
      From-SVN: r69330
      Gerald Pfeifer committed
  28. 11 Jul, 2003 1 commit
    • Index: ChangeLog · d1bd0ded
      2003-07-10  Geoffrey Keating  <geoffk@apple.com>
      
      	* c-decl.c (finish_decl): Handle 'used' here...
      	* cgraphunit.c (cgraph_finalize_function): ... and here ...
      	* c-common.c: (handle_used_attribute): ... not here.
      
      	* configure.in (onstep): Support --enable-intermodule.
      	* Makefile.in (OBJS-common): New.
      	(OBJS-md): New.
      	(OBJS-archive): New.
      	(OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
      	(OBJS-onestep): New.
      	(libbackend.a): Support @onestep@.
      	(libbackend.o): New.
      	* configure: Regenerate.
      
      	* c-common.h (c_reset_state): New prototype.
      	(c_parse_file): New prototype.
      	(finish_file): Move prototype from c-tree.h.
      	* c-decl.c: Include <hashtab.h>.
      	(builtin_decls): New.
      	(current_file_decl): New.
      	(duplicate_decls): Add extra parameter. Change all callers.  Don't
      	output duplicate common symbols.
      	(link_hash_hash): New.
      	(link_hash_eq): New.
      	(poplevel): Handle popping of the top level.
      	(warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
      	(pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
      	(pushdecl_top_level): Likewise.
      	(redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
      	(c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
      	(finish_decl): Handle TRANSLATION_UNIT_DECL.
      	(merge_translation_unit_decls): New.
      	(c_write_global_declarations): New.
      	(c_reset_state): New.
      	(implicitly_declare): Handle TRANSLATION_UNIT_DECL.
      	* c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
      	* c-objc-common.c (c_cannot_inline_tree_fn): Handle
      	TRANSLATION_UNIT_DECL.
      	(c_objc_common_finish_file): Call merge_translation_unit_decls.
      	* c-opts.c (in_fnames): Rename from in_fname.
      	(c_common_decode_option): Handle multiple input filenames.
      	(c_common_post_options): Likewise.
      	(c_common_parse_file): Likewise; also, call c_parse_file rather than
      	yyparse.
      	* c-parse.in: Move cleanup code to c_parse_file.
      	(free_parser_stacks): Move contents to c_parse_file.
      	(c_parse_file): New.
      	* c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
      	for integer types.
      	(C_DECL_FILE_SCOPE): New.
      	(finish_file): Move prototype to c-common.h.
      	(merge_translation_unit_decls): New prototype.
      	(comptypes): Add extra parameter to prototype.
      	(c_write_global_declarations): New prototype.
      	* c-typeck.c (tagged_types_tu_compatible_p): New.
      	(function_types_compatible_p): Add extra parameter, change all callers.
      	(type_lists_compatible_p): Likewise.
      	(comptypes): Likewise.
      	(struct tagged_tu_seen): New.
      	(tagged_tu_seen_base): New.
      	(build_unary_op): Handle TRANSLATION_UNIT_DECL.
      	(c_mark_addressable): Remove #if 0 code.
      	* calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
      	comment explaining why it shouldn't have to.
      	* cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
      	options.
      	* cppinit.c (cpp_read_next_file): New.
      	(cpp_read_main_file): Use it.
      	* cpplib.c (undefine_macros): New.
      	(cpp_undef_all): New.
      	* cpplib.h (cpp_read_next_file): Prototype.
      	(cpp_undef_all): Prototype.
      	* langhooks-def.h (write_global_declarations): Remove prototype.
      	* toplev.h (write_global_declarations): Add prototype.
      	* tree.c (decl_type_context): Use switch statement, handle
      	TRANSLATION_UNIT_DECL.
      	* tree.def: Update documentation for TRANSLATION_UNIT_DECL.
      	(TRANSLATION_UNIT_DECL): New kind of tree.
      	* tree.h: Update documentation for TRANSLATION_UNIT_DECL.
      	* Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
      	* doc/invoke.texi: Make attempt to document new functionality.
      
      	2003-05-19  Per Bothner <bothner@apple.com>
      
      	* gcc.c (combine_inputs): New.
      	(process_command): Set combine_inputs.
      	(do_spec_1): Handle combine_inputs.
      	(main): Likewise.
      
      Index: cp/ChangeLog
      2003-07-10  Geoffrey Keating  <geoffk@apple.com>
      
      	* decl.c (cp_finish_decl): Handle 'used' attribute.
      
      	* cp-lang.c (c_reset_state): New dummy routine.
      	* cp-tree.h (finish_file): Move prototype to c-common.h.
      	* parser.c (c_parse_file): Rename from yyparse; don't call finish_file.
      
      From-SVN: r69224
      Geoffrey Keating committed
  29. 07 Jul, 2003 1 commit
    • rtl.h (emit_line_note): Take a location_t. · 0cea056b
      	* rtl.h (emit_line_note): Take a location_t.
      	(emit_line_note_force): Remove.
      	(set_file_and_line_for_statement): Take a location_t.
      	* tree.g (emit_line_note): Take a location_t.
      	* emit-rtl.c (emit_line_note): Take a location_t.
      	(emit_line_note_force): Remove.
      	* function.c (init_function_start): Adjust emit_line_note call.
      	(expand_function_end): Use force_next_line_note, not
      	emit_line_note_force.
      	* c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
      	* c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
      	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
      	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
      	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
      	genrtl_continue_stmt, genrtl_switch_stmt,
      	genrtl_asm_stmt): Likewise.
      	* expr.c (expand_expr): Likewise.
      	* integrate.c (expand_inline_function): Likewise.
      	* stmt.c (set_file_and_line_for_stmt): Take a location_t.
      	(expand_decl_init): Adjust emit_line_note call.
      
      	* ada/trans.c (build_unit_elab, set_lineno): Adjust emit_line_note
      	calls.
      
      	* cp/semantics.c: (genrtl_try_block) Adjust emit_line_note
      	calls.
      
      	* f/com.c (bison_rule_pushlevel_, bison_rule_compstmt_): Adjust
      	emit_line_note calls.
      	* f/ste.c (ffeste_emit_line_note_): Likewise.
      
      	* java/expr.c (expand_byte_code):
      
      	* treelang/treetree.c (tree_code_if_start, tree_code_if_else,
      	tree_code_if_end, tree_code_create_function_initial,
      	tree_code_create_function_wrapup, tree_code_generate_return,
      	tree_code_output_expression_statement): Adjust emit_line_note
      	calls.
      
      From-SVN: r69047
      Nathan Sidwell committed
  30. 06 Jul, 2003 3 commits
    • tree.h (default_flag_random_seed): Remove. · c07e5477
      	* tree.h (default_flag_random_seed): Remove.
      	* toplev.h (local_tick): Declare.
      	* tree.c (flag_random_seed, default_flag_random_seed): Move to
      	toplev.c.
      	(append_random_chars): Don't call default_flag_random_seed.
      	* toplev.c (flag_random_seed): Define here. Set local_tick.
      	(local_tick): Define.
      	(randomize): New, moved from tree.c.
      	(print_switch_values): Adjust.
      	(toplev_main): Call randomize.
      
      From-SVN: r69005
      Nathan Sidwell committed
    • tree.h (crc32_string): Declare. · 2aab7ceb
      	* tree.h (crc32_string): Declare.
      	* tree.c (append_random_chars): Remove.
      	(crc32_string): New.
      	(get_file_function_name_long): Use crc32_string here.
      
      From-SVN: r69004
      Nathan Sidwell committed
    • sbitmap.c: Convert prototypes to ISO C90. · 46c5ad27
      	* sbitmap.c: Convert prototypes to ISO C90.
      	* sbitmap.h: Likewise.
      	* scan-decls.c: Likewise.
      	* scan.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sibcall.c: Likewise.
      	* simplify-rtx.c: Likewise.
      	* sreal.c: Likewise.
      	* sreal.h: Likewise.
      	* ssa-ccp.c: Likewise.
      	* ssa-dce.c: Likewise.
      	* ssa.c: Likewise.
      	* ssa.h: Likewise.
      	* stack.h: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* stringpool.c: Likewise.
      	* target.h: Likewise.
      	* timevar.c: Likewise.
      	* timevar.h: Likewise.
      	* tlink.c: Likewise.
      	* tracer.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-inline.h: Likewise.
      	* tree.c: Likewise.
      	* tree.h: Likewise.
      
      From-SVN: r69002
      Andreas Jaeger committed
  31. 03 Jul, 2003 2 commits
  32. 01 Jul, 2003 1 commit
  33. 25 Jun, 2003 1 commit
  34. 23 Jun, 2003 1 commit
    • i386.c (x86_output_mi_thunk): Don't pass MEM to %P0, just SYMBOL_REF. · 89ce1c8f
      	* config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
      	just SYMBOL_REF.
      	* config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
      	mode, as it requires pic register loaded.
      
      	* varasm.c (resolve_unique_section): Remove prototype.  No longer
      	static.
      	* tree.h (resolve_unique_section): New prototype.
      cp/
      	* method.c (thunk_labelno): New variable.
      	(make_alias_for_thunk): New function.
      	(use_thunk): Use it if defined ASM_OUTPUT_DEF.  Put the thunk
      	into the same section as the function it is calling.
      	Include gt-cp-method.h.
      	* Make-lang.in (gt-cp-method.h): Depend on s-gtype.
      	(cp/method.o): Depend on gt-cp-method.h.
      	* config-lang.in (gtfiles): Add $(srcdir)/cp/method.c.
      
      From-SVN: r68389
      Jakub Jelinek committed
  35. 20 Jun, 2003 1 commit
    • tree.h (expand_function_end): Remove all parameters. · 1f9cc6db
      	* tree.h (expand_function_end): Remove all parameters.
      	* function.c (expand_function_end): Remove all parameters.
      	Use input_location. Never expand_end_bindings.
      	* c-decl.c (c_expand_body_1): Adjust expand_function_end call.
      	* coverage.c (create_coverage): Likewise.
      
      	* ada/utils.c (end_subprog_body): Adjust expand_function_end
      	call.
      
      	* cp/semantics.c (genrtl_finish_function): Adjust
      	expand_function_end call.
      
      	* f/com.c (finish_function): Adjust expand_function_end call.
      
      	* java/class.c (push_class): Use a location_t to save place.
      	(emit_register_classes): Set input_location. Adjust
      	expand_function_end call.
      	* java/resource.c (write_resource_constructor): Likewise.
      	* java/decl.c (end_java_method): Adjust expand_function_end call.
      	* java/parse.y (source_end_java_method): Likewise.
      
      	* treelang/treetree.c (tree_code_create_function_wrapup): Adjust
      	expand_function_end call.
      
      From-SVN: r68255
      Nathan Sidwell committed