1. 28 Jan, 2001 1 commit
    • configure.in: Arrange to include defaults.h in [ht]config.h/tm.h. · c913b6f1
      	* configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
      
      	* Makefile.in: Remove all dependencies on defaults.h.
      	* builtins.c: Don't include defaults.h.
      	* c-common.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-typeck.c: Likewise.
      	* combine.c: Likewise.
      	* i386.c: Likewise.
      	* frame-ia64.c: Likewise.
      	* cppexp.c: Likewise.
      	* crtstuff.c: Likewise.
      	* dbxout.c: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* final.c: Likewise.
      	* frame-dwarf2.c: Likewise.
      	* libgcc2.c: Likewise.
      	* optabs.c: Likewise.
      	* profile.c: Likewise.
      	* sdbout.c: Likewise.
      	* toplev.c: Likewise.
      	* tradcif.y: Likewise.
      	* tree.c: Likewise.
      	* varasm.c: Likewise.
      
      ch:
      	* Makefile.in: Remove all dependencies on defaults.h.
      	* decl.c: Don't include defaults.h.
      	* timing.c: Likewise.
      
      cp:
      	* Make-lang.in: Remove all dependencies on defaults.h.
      	* call.c: Don't include defaults.h.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* except.c: Likewise.
      	* pt.c: Likewise.
      	* rtti.c: Likewise.
      	* tree.c: Likewise.
      	* typeck.c: Likewise.
      
      f:
      	* Make-lang.in: Remove all dependencies on defaults.h.
      	* com.c: Don't include defaults.h.
      
      java:
      	* Make-lang.in: Remove all dependencies on defaults.h.
      	* decl.c: Don't include defaults.h.
      	* expr.c: Likewise.
      	* parse.y: Likewise.
      
      From-SVN: r39308
      Kaveh R. Ghazi committed
  2. 27 Jan, 2001 1 commit
  3. 20 Jan, 2001 1 commit
  4. 19 Jan, 2001 1 commit
  5. 15 Jan, 2001 1 commit
  6. 14 Jan, 2001 1 commit
    • i386.c (ix86_split_fp_branch): Remove unused variables. · 8752c357
      	* config/i386/i386.c (ix86_split_fp_branch): Remove unused
      	variables.
      	(ix86_fp_compare_mode): Add unused attribute.
      	(ix86_expand_fp_movcc): Remove unused variable.
      	(ix86_expand_builtin): Make fcode unsigned.
      
      	* expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
      	(expand_expr): Add cast to avoid signed warning.
      	(store_field): Likewise.
      	(store_constructor_field): Likewise.
      	(store_constructor): Likewise.
      	(store_expr): Likewise.
      	(clear_storage): Likewise.
      	(emit_group_store): Likewise.
      	(emit_group_load): Likewise.
      
      From-SVN: r39000
      Andreas Jaeger committed
  7. 10 Jan, 2001 1 commit
    • output.h (make_function_rtl): Remove prototype. · 6c418184
      	* output.h (make_function_rtl): Remove prototype.
      	(make_decl_rtl): Likewise.
      	* varasm.c (make_function_rtl): Remove.
      	(make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
      	than from a third parameter.
      	* tree.h (make_decl_rtl): Remove last parameter.
      	* c-decl.c (builtin_function): Remove last argument in call to
      	make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
      	(start_function): Likewise.
      	* except.c (call_get_eh_context): Likewise.
      	* expr.c (emit_block_move): Likewise.
      	(clear_storage): Likewise.
      	* profile.c (output_func_start_profiler): Likewise.
      	* toplev.c (rest_of_decl_compilation): Likewise.
      	* objc/objc-act.c (create_builtin_decl): Likewise.
      	(synth_module_prologue): Likewise.
      	(generate_static_reference): Likewise.
      	(build_selector_reference_decl): Likewise.
      	(build_class_reference_decl): Likewise.
      	(build_objc_string_decl): Likewise.
      	(build_protocol_reference): Likewise.
      
      	* class.c (finish_struct_1):  Remove last argument in call to
      	make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
      	* decl.c (builtin_function): Likewise.
      	(build_cp_library_fn): Likewise.
      	(check_initializer): Likewise.
      	(make_rtl_for_nonlocal_decl): Likewise.
      	(cp_finish_decl): Likewise.
      	(start_function): Likewise.
      	* decl2.c (finish_anon_union): Likewise.
      	* friend.c (do_friend): Likewise.
      	* init.c (build_java_class_ref): Likewise.
      	* method.c (make_thunk): Likewise.
      	* pt.c (tsubst_friend_function): Likewise.
      	* semantics.c (expand_body): Likewise.
      
      	* com.c (ffecom_init_zero_):  Remove last argument in call to
      	make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
      	(ffecom_lookup_label_): Likewise.
      	(builtin_function): Likewise.
      	(start_function): Likewise.
      
      	* class.c (build_utf8_ref): Remove last argument in call to
      	make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
      	(build_class_ref): Likewise.
      	(build_static_field_ref): Likewise.
      	(get_dispatch_table): Likewise.
      	(layout_class_method): Likewise.
      	(emit_register_classes): Likewise.
      	* constants.c (build_constant_data_ref): Likewise.
      	* decl.c (builtin_function): Likewise.
      	(create_primitive_vtable): Likewise.
      	* expr.c (build_known_method_def): Likewise.
      	(build_jni_stub): Likewise.
      	(java_lang_expand_expr): Likewise.
      
      From-SVN: r38884
      Mark Mitchell committed
  8. 02 Jan, 2001 2 commits
  9. 31 Dec, 2000 1 commit
  10. 30 Dec, 2000 1 commit
    • alias.c (alias_sets_conflict_p): New function. · 1da68f56
      	* alias.c (alias_sets_conflict_p): New function.
      	(mems_in_disjoint_alias_sets_p): Use it.
      	(readonly_fields_p): Moved from expr.c; check for record type.
      	(objects_must_conflict_p): New function.
      	* calls.c (expand_call): Use assign_temp as much as possible, use
      	readonly variant if assigned once, and don't set memory attributes.
      	(emit_library_call_value_1, store_one_arg): Likewise.
      	* integrate.c (expand_inline_function): Likewise.
      	* stmt.c (expand_asm_operands, expand_return): Likewise.
      	* expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
      	(store_field, save_noncopied_parts, expand_expr): Likewise.
      	(expand_expr_unaligned): Likewise.
      	(readonly_fields_p): Moved to alias.c.
      	(safe_from_p): Rework handling of SAVE_EXPR.
      	MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
      	* function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
      	(assign_stack_for_temp): Use objects_must_confict_p.
      	Set all memory attributes from type, if specified.
      	(mark_temp_slot): Mark TYPE field.
      	* tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
      	(objects_must_conflict_p): Likewise.
      
      	* stmt.c (expand_decl): Don't use assign_stack_temp in error case.
      	(add_case_node): No need to copy nodes anymore.
      
      From-SVN: r38559
      Richard Kenner committed
  11. 09 Dec, 2000 1 commit
  12. 30 Nov, 2000 1 commit
  13. 29 Nov, 2000 2 commits
    • expr.c (can_store_by_pieces): Reinitialize max_size for reverse tests. · 98166639
      	* expr.c (can_store_by_pieces): Reinitialize max_size for reverse
      	tests.
      
      From-SVN: r37857
      Jakub Jelinek committed
    • expr.h (store_by_pieces): Add prototype. · 57814e5e
      	* expr.h (store_by_pieces): Add prototype.
      	(can_store_by_pieces): Likewise.
      	* expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
      	(can_store_by_pieces): New.
      	(store_by_pieces): New.
      	(clear_by_pieces): New.
      	(clear_by_pieces_1): New.
      	(store_by_pieces_1): Renamed from clear_by_pieces, handle storing
      	arbitrary compiler generated constants into memory block.
      	(store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
      	* builtins.c (c_readstr): New.
      	(builtin_memcpy_read_str): New.
      	(expand_builtin_memcpy): If src is string constant and
      	emit_block_move would move it by pieces, compute integer constants
      	from the string and store it into memory block instead.
      	(builtin_strncpy_read_str): New.
      	(expand_builtin_strncpy): If N is not constant zero and c_strlen does
      	not return INTEGER_CST, don't optimize.
      	If N is larger than strlen(src) + 1, try to copy the string
      	including padding with store_by_pieces.
      	(expand_builtin_strcmp): If both arguments have side effects, don't
      	optimize.
      	(expand_builtin_fputs): If STR has side effects, don't optimize.
      
      	* gcc.c-torture/execute/string-opt-5.c: Add some strcmp and strncpy
      	tests.
      	* gcc.c-torture/execute/string-opt-6.c: New test.
      
      From-SVN: r37851
      Jakub Jelinek committed
  14. 23 Nov, 2000 1 commit
  15. 21 Nov, 2000 1 commit
  16. 14 Nov, 2000 1 commit
    • varasm.c (struct deferred_string): New structure. · bd7cf17e
      	* varasm.c (struct deferred_string): New structure.
      	(const_str_htab): New variable.
      	(STRHASH): New macro.
      	(mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
      	constr_str_htab_eq, const_str_htab_del): New functions.
      	(output_constant_def): Add DEFER argument, defer string
      	constants until mark_constant_pool time if requested.
      	(mark_constant_pool): Walk the insn chain even if const_str_htab is
      	not empty.
      	(mark_constants): If a SYMBOL_REF for deferred string is found,
      	output it and remove from hash table.
      	(output_addressed_constants): Set DEFER to 0 in call to
      	output_constant_def.
      	* rtl.h (STRING_POOL_ADDRESS_P): Define.
      	(output_constant_def): Adjust prototype.
      	* expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
      
      	* gcc.c-torture/execute/20000801-4.c: Make sure the second string is
      	output.
      
      From-SVN: r37459
      Jakub Jelinek committed
  17. 08 Nov, 2000 1 commit
  18. 31 Oct, 2000 1 commit
  19. 26 Oct, 2000 1 commit
  20. 24 Oct, 2000 1 commit
  21. 23 Oct, 2000 1 commit
    • expr.c (do_preexpand_calls): Remove. · f9808f81
      	* expr.c (do_preexpand_calls): Remove.
      	(same_from_p): Don't use CALL_EXPR_RTL.
      	(expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
      	(preexpand_calls): Remove.
      	* tree.c (first_rtl_op): Remove CALL_EXPR case.
      	(unsave_expr_1): Likewise.
      	* tree.def (CALL_EXPR): Give it only two slots.
      	* tree.h (CALL_EXPR_RTL): Remove.
      
      	* optimize.c (copy_body_r): Don't treat CALL_EXPRs specially.
      
      From-SVN: r37012
      Mark Mitchell committed
  22. 20 Oct, 2000 1 commit
    • expr.c (expand_expr, [...]): Set RTX_UNCHANGING_P on returned MEM. · 235783d1
      	* expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
      	returned MEM.
      	(expand_expr_unaligned, case ARRAY_REF): Check that index is
      	a constant before comparing it; use tree_low_cst.
      	* tree.c (save_expr): Set TREE_READONLY.
      	(substitute_expr): Return inside of NON_LVALUE_EXPR.
      	(build, build1): Set TREE_READONLY if all operands are.
      	(build_index_type): If upper bound is a negative number, lower
      	bound is zero and sizetype is unsigned, use upper bound of one and
      	lower of zero.
      
      From-SVN: r36979
      Richard Kenner committed
  23. 18 Oct, 2000 1 commit
  24. 17 Oct, 2000 1 commit
    • function.c (locate_and_pad_parm): Don't align stack unconditionally. · 832ea3b3
      	2000-10-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
      
      	* function.c (locate_and_pad_parm): Don't align stack unconditionally.
      	Fixes execute/20001017-1.c on pwerpc-linux-gnu.
      	* expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
      	* rs6000/rs6000.c (rs6000_hash_constant): use X0INT to access a
      	LABEL_REF.
      	* rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
      	ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
      	here...
      	* rs6000/aix.h: ...to here.
      	* rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
      
      From-SVN: r36914
      Franz Sirl committed
  25. 13 Oct, 2000 1 commit
    • Remove obstacks. · 1f8f4a0b
      	* Makefile.in (ggc-callbacks.o): Remove target.
      	(flow.o): Depend on GGC_H.
      	* alias.c (init_alias_analysis):
      	Remove ggc_p conditionals.
      	(end_alias_analysis): Likewise.
      	* basic-block.h (init_flow): New function.
      	(allocate_reg_life_data): Declare.
      	* bb-reorder.c	(function_obstack): Replace with ...
      	(flow_obstack): ... new variable.
      	(fixup_reorder_chain): Use it.
      	* c-decl.c (ggc_p): Remove.
      	(caller-save.c): Don't call oballoc/obfree.
      	* combine.c (struct
      	undobuf): Remove storage.
      	(try_combine): Don't call oballoc.
      	(undo_all): Don't call obfree.
      	* cse.c (insert): Use xmalloc, not
      	oballoc.
      	(cse_main): Adjust accordingly.
      	* dwarf2out.c (save_rtx): Remove
      	obstack code.
      	(dwarf2out_init): Remove ggc_p conditionals.
      	* emit-rtl.c (rtl_obstack): Remove.
      	(gen_rtx_CONST_INT): Remove ggc_p conditionals.
      	(make_insn_raw): Likewise.
      	(emit_insn_before): Likewise.
      	(emit_insn_after): Likewise.
      	(emit_insn): Likewise.
      	(gen_sequence): Likewise.
      	(copy_insn_1): Remove handling of `b' RTL components.
      	(init_emit_once): Remove ggc_p conditionals.
      	* except.c (create_rethrow_ref): Don't fool with obstacks.
      	(add_partial_entry): Likewise.
      	(call_get_eh_context): Likewise.
      	(begin_protect_partials): Likewise.
      	(protect_with_terminate): Likewise.
      	* explow.c
      	(plus_constant_wide): Likewise.
      	* expr.c (init_expr_once):
      	Likewise.
      	(emit_block_move): Likewise.
      	(clear_storage): Likewise.
      	(expand_expr): Likewise.
      	* flow.c (function_obstack): Remove.
      	(flow_obstack): New variable.
      	(flow_firstobj): Likewise.
      	(create_base_block): Use the flow_obstack.
      	(split_block): Likewise.
      	(split_edge): Likewise.
      	(calculate_global_regs_live): Likewise.
      	(allocate_bb_life_data): Make it static.  Likewiwse.
      	(init_flow): New function.
      	(size_int_type_wide): Remove ggc_p conditionals.
      	* function.c
      	(push_function_context_to): Don't call save_tree_status.
      	(pop_function_context_from): Or restore_tree_status.
      	(assign_stack_local_1): Don't call push_obstacks.
      	(find_fixup_replacement): Use xmalloc.
      	(fixup_var_refs_insns): Free the storage.
      	(insns_for_mem_walk): Don't mess with obstacks.
      	(instantiate_decls): Likewise.
      	(trampoline_address): Likewise.
      	(expand_function_end): Likewise.
      	* function.h (sturct function):
      	Remove obstack-related variables.
      	(save_tree_status): Don't declare.
      	(restore_tree_status): Likewise.
      	* gcse.c (compute_can_copy):
      	Don't call oballoc/obfree.
      	* genattrtab.c (operate_exp): Remove
      	ggc_p conditionals.
      	(simplify_cond): Likewise.
      	(simplify_test_exp): Don't mess with obstacks.
      	(optimize_attrs): Likewise.
      	* gengenrtl.c (gendef): Don't include
      	ggc_p conditionals.
      	* ggc-callbacks.c (ggc_p): Remove.
      	* ggc-none.c (ggc_p): Remove.
      	* ggc.h (ggc_p): Don't declare.
      	* integrate.c (save_for_inline): Don't mess with obstacks.
      	(integrate_decl_tree): Likewise.
      	(output_inline_function): Likewise.
      	* lists.c
      	(init_EXPR_INSN_LIST_cache): Likewise.
      	* loop.c (temp_obstack):
      	Remove.
      	(rtl_obstack): Likewise.
      	(init_loop): Don't mess with obstacks.
      	(reg_address_cost): Free BIVs and GIVs.
      	(check_insns_for_bivs): Use xmalloc, not oballoc.
      	(find_mem_givs): Likewise.
      	(record_biv): Likewise.
      	(general_induction_var): Likewise.
      	(product_cheap_p): Likewse.
      	* optabs.c (init_one_libfunc): Remove
      	ggc_p conditional.
      	* print-tree.c (debug_tree): Don't use
      	oballoc/obfree.
      	(print_node): Likewise.
      	* profile.c (output_func_start_profiler):
      	Remove call to temporary_allocation.
      	* reload1.c
      	(eliminate_regs_in_insn): Don't mess with obstacks.
      	* resource.c
      	(mark_target_live_regs): Use xmalloc.
      	(free_resource_info): Free the memory.
      	* rtl.c (rtl_obstack):
      	Remove.
      	(rtvec_alloc): Don't mess with obstacks.
      	(rtx_alloc): Likewise.
      	(rtx_free): Remove.
      	(copy_rtx): Don't handle `b' cases.
      	(read_rtx): Use a local rtl_obstack.
      	* rtl.h (oballoc): Remove.
      	(obfree): Likewise.
      	(pop_obstacks): Likewise.
      	(push_obstacks): Likewise.
      	(allocate_bb_life_data): Likewise.
      	(allocate_reg_life_data): Likewise.
      	(rtx_free): Likewise.
      	* sdbout.c (sdbout_queue_anonymous_type):
      	Use tree_cons, not saveable_tree_cons.
      	* simplify-rtx.c
      	(cselib_init): Don't mess with obstacks.
      	* stmt.c
      	(mark_block_nesting): Mark the label_chain.
      	(epxand_label): Use ggc_alloc, not oballoc.
      	(clear_last_expr): Don't mess with obstacks.
      	(expand_decl_cleanup): Likewise.
      	(expand_dcc_cleanup): Likewise.
      	(expand_dhc_cleanup): Likewise.
      	(expand_anon_union_decl): Likewise.
      	(add_case_node): Use xmalloc, not oballoc.
      	(free_case_nodes): New function.
      	(expand_end_case): Call it.
      	* stor-layout.c (layout_type): Don't
      	mess with obstacks.
      	(layout_type): Likewise.
      	* toplev.c (wrapup_global_declarations):
      	Likewise.
      	(compile_file): Remove ggc_p conditionals.
      	(rest_of_compilation): Call init_flow.  Remove ggc_p conditionals.
      	(decode_f_option): Remove ggc_p conditionals.
      	* tree.c
      	(function_maybepermanent_obstack): Remove.
      	(maybepermanent_obstack): Likewise.
      	(function_obstack): Likewise.
      	(tmeporary_obstack): Likewise.
      	(momentary_obstack): Likewise.
      	(temp_decl_obstack): Likewise.
      	(saveable_obstack): Likewise.
      	(rtl_obstack): Likewise.
      	(current_obstack): Likewise.
      	(expression_obstack): Likewise.
      	(struct obstack_stack): Likewise.
      	(obstack_stack): Likewise.
      	(obstack_stack_obstack): Likewise.
      	(maybepermanent_firstobj): Likewise.
      	(temporary_firstobj): Likewise.
      	(momentary_firstobj): Likewise.
      	(temp_decl_firstobj): Likewise.
      	(momentary_function_firstobj): Likewise.
      	(all_types_permanent): Likewise.
      	(struct momentary_level): Likewise.
      	(momentary_stack): Likewise.
      	(init_obstacks): Remove initialization of removed obstacks.
      	(save_tree_status): Remove.
      	(restore_tree_status): Likewise.
      	(temporary_allocation): Liekwise.
      	(end_temporary_allocation): Liekwise.
      	(resume_temporary_allocation): Likewise.
      	(saveable_allocation): Likewise.
      	(push_obstacks): Likewise.
      	(push_obstacks_nochange): Likewise.
      	(pop_obstacks): Likewise.
      	(allocation_temporary_p): Likewise.
      	(permanent_allocation): Likewise.
      	(preserve_data): Likewise.
      	(preserve_initializer): Likewise.
      	(rtl_in_current_obstack): Likewise.
      	(rtl_in_saveable_obstack): Likewise.
      	(oballoc): Likewise.
      	(obfree): Likewise.
      	(savealloc): Likewise.
      	(expralloc): Likewise.
      	(print_obstack_name): Likewise.
      	(debug_obstack): Likewise.
      	(object_permanent_p): Likewise.
      	(push_momentary): Likewise.
      	(perserve_momentary): Likewise.
      	(clear_momentary): Likewise.
      	(pop_momentary): Likewise.
      	(pop_momentary_nofree): Likewise.
      	(suspend_momentary): Likewise.
      	(resume_momentary): Likewise.
      	(make_node): Don't set TREE_PERMANENT.
      	(copy_node): Remove ggc_p conditionals.  Don't set TYPE_OBSTACK.
      	Don't set TREE_PERMANENT.
      	(get_identifier): Remove ggc_p conditionals.
      	(build_string): Likewise.
      	(make_tree_vec): Likewise.
      	(build_decl_list): Remove.
      	(build_expr_list): Likewise.
      	(tree_cons): Remove ggc_p conditionals.
      	(decl_tree_cons): Remove.
      	(expr_tree_cons): Likewise.
      	(perm_tree_cons): Likewise.
      	(temp_tree_cons): Likewise.
      	(saveable_tree_cons): Likewise.
      	(build1): Remove ggc_p conditionals.
      	(build_parse_node): Likewise.
      	(build_type_attribute_variant): Don't mess with obstacks.
      	(build_type_copy): Likewise.
      	(type_hash_canon): Likewise.
      	(build_pointer_type): Likewise.
      	(build_reference_type): Likewise.
      	(build_index_type): Likewise.
      	(build_range_type): Likewise.
      	(dump_tree_statistics): Don't print obstack information.
      	* tree.h
      	(struct tree_common): Remove permanent_flag.
      	(TREE_PERMANENT): Remove.
      	(TREE_SET_PERMANENT): Likewise.
      	(TYPE_OBSTACK): Likewise.
      	(struct tree_type): Remove obstack.
      	(oballoc): Remove.
      	(savealloc): Likewise.
      	(build_decl_list): Likewise.
      	(build_expr_list): Likewise.
      	(perm_tree_cons): Likewise.
      	(temp_tree_cons): Likewise.
      	(saveable_tree_cons): Likewise.
      	(decl_tree_cons): Likewise.
      	(expr_tree_cons): Likewise.
      	(suspend_momentary): Likewise.
      	(allocation_temporary_p): Likewise.
      	(resume_momentary): Likewise.
      	(push_obstacks_nochange): Likewise.
      	(permanent_allocation): Likewise.
      	(push_momentary): Likewise.
      	(clear_momentary): Likewise.
      	(pop_momentary): Likewise.
      	(end_temporary_allocation): Likewise.
      	(pop_obstacks): Likewise.
      	(push_obstacks): Likewise.
      	(pop_momentary_nofree): LIkewise.
      	(preserve_momentary): Likewise.
      	(saveable_allocation): Likewise.
      	(temporary_allocation): Likewise.
      	(resume_temporary_allocation): Likewise.
      	(perserve_initializer): Likewise.
      	(debug_obstack): Likewise.
      	(rtl_in_current_obstack): Likewise.
      	(rtl_in_saveable_obstack): Likewise.
      	(obfree): Likewise.
      	* varasm.c (current_obstack): Remove.
      	(saveable_obstack): Remove.
      	(rtl_obstack): Remove.
      	(immed_double_const): Don't mess with obstacks.
      	(immed_real_cons): Likewise.
      	(output_constant_def): Likewise.
      	(init_varasm_status): Use xcalloc.
      	(mark_pool_constant): Mark the pool constant itself.
      	(free_varasm_status): Free memory.
      	(decode_rtx_const): Call bzero directly, rather than expanding it
      	inline.
      	(record_rtx_const): Don't mess with obstacks.
      	(force_const_mem): Likewise.
      	* config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
      	conditionals.
      	(aof_pic_entry): Likewise.
      	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
      	* config/m32r/m32r.c (m32r_encode_section_info): Likewise.
      	* config/pa/pa.c (saveable_obstack): Remove.
      	(rtl_obstack): Likewise.
      	(current_obstack): Likewise.
      	(output_call): Don't mess with obstacks.
      	(hppa_encode_label): Remove ggc_p conditionals.
      	* config/romp/romp.c (get_symref): Don't mess with obstacks.
      	* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
      	(rs6000_encode_section_info): Likewise.
      	* config/sh/sh.c (get_fpscr_rtx): Likewise.
      
      From-SVN: r36856
      Mark Mitchell committed
  26. 06 Oct, 2000 1 commit
    • builtins.c (is_valid_printf_arglist, [...]): Move functions from here ... · c70eaeaf
      	* builtins.c (is_valid_printf_arglist, expand_builtin_printf):
      	Move functions from here ...
      
      	* c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
      	... to here.
      	(c_expand_builtin): New function.
      	(init_function_format_info): Don't set `check_function_format_ptr'.
      	(c_common_nodes_and_builtins): Set built_in_class type for
      	printf/__builtin_printf to BUILT_IN_FRONTEND.
      	(c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
      
      	* c-common.h (build_function_call): Declare.
      
      	* expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
      	to `lang_expand_expr' rather than `expand_builtin'.
      
      	* tree.c (check_function_format_ptr): Delete.
      
      	* tree.h (check_function_format_ptr): Likewise.
      
      From-SVN: r36758
      Kaveh R. Ghazi committed
  27. 05 Oct, 2000 1 commit
  28. 24 Sep, 2000 1 commit
  29. 17 Sep, 2000 3 commits
    • expr.c (store_constructor_field): Accept ALIAS_SET arg. · 23cb1766
      	* expr.c (store_constructor_field): Accept ALIAS_SET arg.
      	(store_constructor): Pass alias_set to it.
      
      From-SVN: r36475
      Richard Kenner committed
    • Bring back equal forms for libcalls · ebb1b59a
      From-SVN: r36469
      Bernd Schmidt committed
    • splay-tree.c (splay_tree_predecessor): Fix typo in comment. · 8f17b5c5
      	* splay-tree.c (splay_tree_predecessor): Fix typo in comment.
      
      	Convert the C front-end to use function-at-a-time mode.
      	* c-common.h: Include splay-tree.h.
      	(C_DECLARED_LABEL_FLAG): New macro.
      	(struct language_function): Add x_scope_stmt_stack and
      	x_function_name_declared_p.
      	(RECHAIN_STMTS): Move definition.
      	(lang_statment_code_p): Likewise.
      	(lang_expand_stmt): Likewise.
      	(lang_expand_decl_stmt): New variable.
      	(lang_expand_function_end): Likewise.
      	(current_scope_stmt_stack): New function.
      	(add_decl_stmt): Likewise.
      	(add_scope_stmt): Likewise.
      	(mark_stmt_tree): Likewise.
      	(struct c_lang_decl): New structure.
      	(DECL_SAVED_TREE): Define.
      	(c_mark_lang_decl): New function.
      	(c_expand_start_cond): Change prototype.
      	(c_finish_then): New function.
      	(c_finish_else): Likewise.
      	(current_function_name_declared): Remove.
      	(set_current_function_name_declared): Likewise.
      	(mark_c_language_function): Declare.
      	(case_compare): Likewise.
      	(c_add_case_label): Likewise.
      	(c_expand_expr): Likewise.
      	(c_safe_from_p): Likewise.
      	* c-common.c (lang_expand_function_end): New variable.
      	(struct if_elt): Add if_stmt.
      	(c_expand_start_cond): Add the if-statement to the statement-tree,
      	rather than generating RTL.
      	(c_finish_then): New function.
      	(c_expand_start_else): Don't generate RTL.
      	(c_finish_else): New function.
      	(c_expand_expr_stmt): Don't generate RTL.
      	(statement_code_p): Add SCOPE_STMT.
      	(case_compare): New function.
      	(c_add_case_label): Likewise.
      	(mark_stmt_tree): Likewise.
      	(c_mark_lang_decl): Likewise.
      	(mark_c_language_function): Likewise.
      	(c_expand_expr): Likewise.
      	(c_safe_from_p): Likewise.
      	* c-decl.c (c_stmt_tree): New variable
      	(c_scope_stmt_stack): Likewise.
      	(c_function_name_declared_p): Likewise.
      	(lang_expand_expr_stmt): Remove.
      	(poplevel): Don't call output_inline_function for nested
      	functions.
      	(pushdecl): Don't set DECL_CONTEXT for a local declaration of an
      	`extern' function.
      	(redeclaration_error_message): Change means of computing whether
      	or not a function is nested.
      	(lookup_label): Don't call label_rtx.
      	(init_decl_processing): Add more GC roots.
      	(start_decl): Add DECL_STMTs to the statement-tree, rather than
      	calling rest_of_decl_compilation.
      	(finish_decl): Don't call expand_decl.
      	(store_parm_decls): Begin the statement-tree, but don't generate
      	RTL.
      	(finish_function): Tie off the statement-tree.  Call c_expand_body
      	if appropriate.
      	(c_expand_body): New function.
      	(push_c_function_context): Save more information.
      	(pop_c_function_contxt): Likewise.
      	(copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
      	(lang_mark_tree): Mark it.
      	(current_stmt_tree): Adjust.
      	(current_scope_stmt_stack): New function.
      	(do_case): Remove.
      	(set_current_name_declared): Likewise.
      	(c_begin_compound_stmt): Define.
      	(c_expand_decl_stmt): Likewise.
      	* c-lang.c: Include rtl.h and expr.h.
      	(lang_init): Set more language-specific hooks.
      	* c-lex.c: Include expr.h.
      	* c-parse.in: Changes throughout to add statements to the
      	statement-tree, rather than generating RTL after every statement.
      	* c-semantics.c (lang_expand_decl_stmt): Define.
      	(add_decl_stmt): New function.
      	(add_scope_stmt): Likewise.
      	(finish_stmt_tree): Tweak.
      	(genrtl_expr_stmt): Likewise.
      	(genrtl_decl_stmt): Handle local labels, and call
      	lang_expand_decl_stmt if required.
      	(genrtl_for_stmt): Fix line-number handling.
      	(genrtl_case_label): Handle cleanups.
      	(genrtl_asm_stmt): Don't call combine_strings.
      	(genrtl_compound_stmt): Simplify.
      	(expand_stmt): Handle SCOPE_STMTs.
      	* c-tree.h (struct lang_decl): New structure.
      	(C_DECLARED_LABEL_FLAG): Remove.
      	(c_begin_compound_stmt): Declare.
      	(c_expand_decl_stmt): Likewise.
      	(c_expand_start_case): Rename to c_start_case.
      	(c_finish_case): New function.
      	* c-typeck.c (start_init): Tweak setting of
      	constructor_incremental.
      	(c_expand_asm_operands): Tweak error-handling.  Add to the
      	statement-tree.
      	(c_expand_return): Add to the statement-tree.
      	(c_expand_start_case): Rename to ...
      	(c_start_case): ... this.
      	(struct c_switch): New type.
      	(switch_stack): New variable.
      	(do_case): Simplify.
      	(c_finish_case): New function.
      	* dependence.c: Include expr.h.
      	(enum dependence_type): Change spelling of enumerals.
      	(check_node_dependence): Adjust.
      	* expr.h (lang_safe_from_p): Declare.
      	(safe_from_p): Likewise.
      	* expr.c (lang_safe_from_p): New variable.
      	(safe_from_p): Give it external linkage.  Use lang_safe_from_p.
      	* stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
      	* toplev.c (rest_of_decl_compilation): Robustify.
      	* tree.c (contains_placeholder_p): Likewise.
      	* Makefile.in: Update dependencies.
      	* objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
      	* objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
      	(objc_expand_function_end): New function.
      	(finish_method_def): Use it.
      	(init_objc): Initialize more language-specific hooks.
      	* objc/Make-lang.in: Update dependencies.
      
      	* cp-tree.h (struct cp_language_function): Remove
      	x_scope_stmt_stack and name_declared.
      	(current_scope_stmt_stack): Remove.
      	(function_name_declared_p): New macro.
      	(struct lang_decl_flags): Use c_lang_decl as a base class.
      	(context): Remove.
      	(struct lang_decl): Replace saved_tree with context.
      	(DECL_FRIEND_CONTEXT): Adjust accordingly.
      	(SET_DECL_FRIEND_CONTEXT): Likewise.
      	(DECL_VIRTUAL_CONTEXT): Likewise.
      	(DECL_SAVED_TREE): Remove.
      	(C_DECLARED_LABEL_FLAG): Likewise.
      	(cplus_expand_expr_stmt): Don't declare.
      	(add_decl_stmt): Likewise.
      	(add_scope_stmt): Likewise.
      	* decl.c (mark_stmt_tree): Remove.
      	(case_compare): Likewise.
      	(finish_case_label): Use c_add_case_label.
      	(init_decl_processing): Set more language-specific hooks.
      	(build_enumerator): Fix typo in comment.
      	(cplus_expand_expr_stmt): Remove.
      	(mark_lang_function): Use mark_c_language_function.
      	(lang_mark_tree): Use c_mark_lang_decl.
      	* decl2.c: Change order of inclusion.
      	* except.c: Likewise.
      	* expr.c (cplus_expand_expr): Remove handling of STMT_EXPR.  Fall
      	back on c_expand_expr.
      	* friend.c: Include expr.h.
      	* init.c: Change order of inclusion.
      	* Makefile.in: Update dependencies.
      	* lex.h (free_lang_decl_chain): Remove.
      	* optimize.c (maybe_clone_body): Use function_name_declared_p.
      	* pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
      	it doesn't exist.
      	(instantiate_decl): Use function_name_declared_p.
      	* semantics.c (lang_expand_expr_stmt): Remove.
      	(set_current_function_name_declared): Likewise.
      	(current_function_name_declared): Likewise.
      	(begin_compound_stmt): Use function_name_declared_p.
      	(add_decl_stmt): Remove.
      	(setup_vtbl_ptr): Use function_name_declared_p.
      	(add_scope_stmt): Remove.
      	(current_scope_stmt_stack): New function.
      	(cp_expand_stmt): Don't handle SCOPE_STMTs.
      	(expand_body): Use function_name_declared_p.
      	* tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
      	* typeck.c: Change order of includes.
      	(convert_sequence): Remove.
      
      From-SVN: r36464
      Mark Mitchell committed
  30. 15 Sep, 2000 1 commit
  31. 14 Sep, 2000 1 commit
  32. 12 Sep, 2000 1 commit
  33. 01 Sep, 2000 1 commit
  34. 30 Aug, 2000 1 commit
    • expr.c (store_constructor): Allow variable bounds of array type. · 85f3d674
      	* expr.c (store_constructor): Allow variable bounds of array type.
      	(expand_expr): Don't blow up if type is ERROR_MARK.
      	* varasm.c (output_constructor): Don't access lower bound of array
      	type unless need it if index is supplied (so it can be a variable
      	if no index is supplied).
      	Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
      	Other minor cleanups.
      
      From-SVN: r36060
      Richard Kenner committed
  35. 29 Aug, 2000 1 commit
  36. 24 Aug, 2000 1 commit
    • optabs.c (init_optabs): Initialize fixtab... · b6a1cbae
      	* optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
      	and extendtab within their proper array boundaries.
      	* emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
      	for the entire array.
      
      	* config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
      	* config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
      	* config/avr/avr.c (order_regs_for_local_alloc): Likewise.
      	* config/fr30/fr30.c (fr30_print_operand): Likewise.
      	* config/i386/dgux.c (output_options): Likewise.
      	* config/i386/dgux.h (ASM_FILE_START): Likewise.
      	* config/m88k/m88k.c (output_options): Likewise.
      	* config/m88k/m88k.h (ASM_FILE_START): Likewise.
      	* config/mcore/mcore.c (mcore_output_inline_const_forced,
      	layout_mcore_frame, handle_structs_in_regs): Likewise.
      	* config/mips/mips.c (output_block_move): Likewise.
      	* config/rs6000/rs6000.c (rs6000_override_options,
      	rs6000_file_start): Likewise.
      	* config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
      	* fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
      	* fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
      	* builtins.c (expand_builtin_setjmp): Likewise.
      	* expr.c (safe_from_p): Likewise.
      	* flow.c (life_analysis): Likewise.
      	* fold-const.c (size_int_type_wide): Likewise.
      	* gcc.c (translate_options, init_spec, set_spec, main): Likewise.
      	* genattrtab.c (make_length_attrs): Likewise.
      	* genopinit.c (gen_insn): Likewise.
      	* genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
      	* global.c (global_alloc): Likewise.
      	* local-alloc.c (find_free_reg): Likewise.
      	* mips-tdump.c (print_symbol): Likewise.
      	* mips-tfile.c (parse_def, parse_input): Likewise.
      	* reload1.c (NUM_ELIMINABLE_REGS): Likewise.
      	* stmt.c (expand_nl_goto_receiver): Likewise.
      	* stor-layout.c (set_sizetype): Likewise.
      	* varasm.c (decode_reg_name): Likewise.
      	* toplev.c (decode_f_option, decode_W_option,
      	set_target_switch, print_switch_values): Likewise.
      	(NUM_ELEM): Remove macro.
      	(display_help, main): s/NUM_ELEM/ARRAY_SIZE/
      
      From-SVN: r35949
      Greg McGary committed