Commit Graph

23763 Commits

Author SHA1 Message Date
Michael Meissner dc174fb1b7 Move 'temporary' bits so they don't conflict with windows/cygwin/dgux bits
From-SVN: r29132
1999-09-05 23:14:15 +00:00
Mark Mitchell 2168d24aca Makefile.in (ggc-simple.o): Depend on varray.h.
* Makefile.in (ggc-simple.o): Depend on varray.h.
	(rtl.o): Depend on ggc.h.
	(genattrtab.o): Depend on ggc.h.
	(print-tree.o): Likewise.
	(fold-const.o): Likewise.
	* emit-rtl.c (sequence_element_free_list): Remove, and all references.
	(make_insn_raw): Don't cache insns when GC'ing.
	(emit_insn_before): Likewise.
	(emit_insn_after): Likewise.
	(emit_insn): Likewise.
	(start_sequence): Use xmalloc to allocate the sequence_stack.
	(end_sequence): Add free to free it.
	(gen_sequence): Don't cache insns when GC'ing.
	(clear_emit_caches): Don't use sequence_element_free_list.
	(init_emit): Use xcalloc, not xmalloc+bzero.
	* fold-const.c (size_int_wide): Kill the cache, when GC'ing.
	* function.c (pop_function_context_from): Use free to free the
	fixup_var_refs_queue.
	(put_reg_into_stack): Allocate it with xmalloc.
	* genattrtab.c: Include ggc.h.
	(operate_exp): Don't use obstack_free when GC'ing.
	(simplify_cond): Likewise.
	(simplify_text_exp): Likewise.
	(optimize_attrs): Likewise.
	* gengenrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
	GC'ing.
	(gencode): Generate a #include for ggc.h.
	* ggc-callbacks.c (ggc_p): Define it to zero.
	* ggc-none.c (ggc_p): Likewise.
	* ggc-simple.c: Include varray.h.
	(ggc_mark_tree_varray): New function.
	(ggc_add_tree_varray_root): Likewise.
	(ggc_mark_tree_varray_ptr): Likewise.
	* ggc.h (ggc_p): Declare.
	(varray_head_tag): Likewise.
	(ggc_add_tree_varray_root): Declare.
	* print-tree.c (print_node): Don't check for TREE_PERMANENT
	inconsistencies when GC'ing.
	* rtl.c: Include ggc.h.
	(rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
	(rtx_alloc): Use ggc_alloc_rtx when GC'ing.
	(rtx_free): Don't call obstack_free when GC'ing.
	* toplev.c (rest_of_compilation): Call ggc_collect after every
	pass, if GC'ing.
	* tree.c (push_obstacks): Do nothing, if GC'ing.
	(pop_obstacks_nochange): Likewise.
	(pop_obstacks): Likewise.
	(make_node): Use ggc_alloc_tree when GC'ing.
	(copy_node): Likewise.
	(get_identifier): Use ggc_alloc_string when GC'ing.
	(build_string): Likewise.
	(make_tree_vec): Use ggc_alloc_tree when GC'ing.
	(tree_cons): Likewise.
	(build1): Likewise.
	(type_hash_canon): Don't call obstack_free when GC'ing.

From-SVN: r29131
1999-09-05 19:54:38 +00:00
Craig Burley 76292ef82f four new tests, fix commentary in fifth
From-SVN: r29130
1999-09-05 14:27:06 -04:00
Mark Mitchell e1240767ca Makefile.in (parse.o): Depend on ggc.h.
* Makefile.in (parse.o): Depend on ggc.h.
	(decl2.o): Depend on ggc.h.
	(init.o): Depend on ggc.h.
	* cp-tree.h (init_decl2): Declare.
	(cp_parse_init): Likewise.
	* decl.c (ggc_p): Define to zero.
	(mark_saved_scope): New function.
	(init_decl_processing): Call cp_parse_init, and cp_decl2.
	Register GC roots.
	(expand_static_init): Add GC roots.
	* decl2.c: Include ggc.h.
	(init_decl2): New function.
	* init.c: Include ggc.h.
	(init_init_processing): Add GC roots.
	* parse.y: Include ggc.h.
	(cp_parse_init): New function.

From-SVN: r29129
1999-09-05 17:33:06 +00:00
Mark Mitchell f5a8be8e53 Fix typo in last change.
From-SVN: r29128
1999-09-05 16:42:25 +00:00
Richard Henderson b9096844c1 integrate.c (function_cannot_inline_p): Do not inline functions with forced labels.
* integrate.c (function_cannot_inline_p): Do not inline
	functions with forced labels.

Co-Authored-By: Bernd Schmidt <bernds@cygnus.co.uk>

From-SVN: r29127
1999-09-05 16:41:44 +00:00
Richard Henderson fc6af6e322 Makefile.in (parse.o): Depend on ggc.h.
* Makefile.in (parse.o): Depend on ggc.h.
	(decl2.o): Depend on ggc.h.
	(init.o): Depend on ggc.h.
	* cp-tree.h (init_decl2): Declare.
	(cp_parse_init): Likewise.
	* decl.c (ggc_p): Define to zero.
	(mark_saved_scope): New function.
	(init_decl_processing): Call cp_parse_init, and cp_decl2.
	Register GC roots.
	(expand_static_init): Add GC roots.
	* decl2.c: Include ggc.h.
	(init_decl2): New function.
	* init.c: Include ggc.h.
	(init_init_processing): Add GC roots.
	* parse.y: Include ggc.h.
	(cp_parse_init): New function.

Co-Authored-By: Bernd Schmidt <bernds@cygnus.co.uk>
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r29126
1999-09-05 16:21:30 +00:00
Richard Henderson a3770a8130 Makefile.in (ggc-simple.o): Depend on varray.h.
* Makefile.in (ggc-simple.o): Depend on varray.h.
	(rtl.o): Depend on ggc.h.
	(genattrtab.o): Depend on ggc.h.
	(print-tree.o): Likewise.
	(fold-const.o): Likewise.
	* emit-rtl.c (sequence_element_free_list): Remove, and all references.
	(make_insn_raw): Don't cache insns when GC'ing.
	(emit_insn_before): Likewise.
	(emit_insn_after): Likewise.
	(emit_insn): Likewise.
	(start_sequence): Use xmalloc to allocate the sequence_stack.
	(end_sequence): Add free to free it.
	(gen_sequence): Don't cache insns when GC'ing.
	(clear_emit_caches): Don't use sequence_element_free_list.
	(init_emit): Use xcalloc, not xmalloc+bzero.
	* fold-const.c (size_int_wide): Kill the cache, when GC'ing.
	* function.c (pop_function_context_from): Use free to free the
	fixup_var_refs_queue.
	(put_reg_into_stack): Allocate it with xmalloc.
	* genattrtab.c: Include ggc.h.
	(operate_exp): Don't use obstack_free when GC'ing.
	(simplify_cond): Likewise.
	(simplify_text_exp): Likewise.
	(optimize_attrs): Likewise.
	* gengentrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
	GC'ing.
	(gencode): Generate a #include for ggc.h.
	* ggc-callbacks.c (ggc_p): Define it to zero.
	* ggc-none.c (ggc_p): Likewise.
	* ggc-simple.c: Include varray.h.
	(ggc_mark_tree_varray): New function.
	(ggc_add_tree_varray_root): Likewise.
	(ggc_mark_tree_varray_ptr): Likewise.
	* ggc.h (ggc_p): Declare.
	(varray_head_tag): Likewise.
	(ggc_add_tree_varray_root): Declare.
	* print-tree.c (print_node): Don't check for TREE_PERMANENT
	inconsistencies when GC'ing.
	* rtl.c: Include ggc.h.
	(rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
	(rtx_alloc): Use ggc_alloc_rtx when GC'ing.
	(rtx_free): Don't call obstack_free when GC'ing.
	* toplev.c (rest_of_compilation): Call ggc_collect after every
	pass, if GC'ing.
	* tree.c (push_obstacks): Do nothing, if GC'ing.
	(pop_obstacks_nochange): Likewise.
	(pop_obstacks): Likewise.
	(make_node): Use ggc_alloc_tree when GC'ing.
	(copy_node): Likewise.
	(get_identifier): Use ggc_alloc_string when GC'ing.
	(build_string): Likewise.
	(make_tree_vec): Use ggc_alloc_tree when GC'ing.
	(tree_cons): Likewise.
	(build1): Likewise.
	(type_hash_canon): Don't call obstack_free when GC'ing.

Co-Authored-By: Bernd Schmidt <bernds@cygnus.co.uk>
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r29125
1999-09-05 16:08:20 +00:00
Jeff Law 616aeddaa1 Daily bump.
From-SVN: r29124
1999-09-05 01:45:07 -06:00
Richard Henderson 0d8b2ca1e1 haifa-sched.c (schedule_block): Use next_nonnote_insn instead of NEXT_INSN when...
* haifa-sched.c (schedule_block): Use next_nonnote_insn instead
        of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.

From-SVN: r29123
1999-09-04 21:53:04 -07:00
Richard Henderson d7db664650 Makefile.in (stor-layout.o): Depend on ggc.h.
* Makefile.in (stor-layout.o): Depend on ggc.h.
	(expr.o): Depend on ggc.h.
	(profile.o): Depend on ggc.h.
	(stor-layout.o): Depend on ggc.h.
	* emit-rtl.c (init_emit_once): Add gc roots.
	* expr.c: Include ggc.h.
	(emit_block_move): Add gc roots.
	(clear_storage): Likewise.
	* expr.h (init_stor_layout_once): New function.
	* profile.c: Include ggc.h.
	(init_arc_profiler): profiler_label is a root.
	* scan.c (make_sstring_space): Trust xrealloc to function
	correctly with first parameter NULL.
	* stor-layout.c: Include ggc.h.
	(set_sizetype): Add gc root.
	(init_stor_layout_once): New function.
	* toplev.c (compile_file): Call it.

Co-Authored-By: Bernd Schmidt <bernds@cygnus.co.uk>
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r29122
1999-09-05 03:49:52 +00:00
Jeff Garzik b224278904 POTFILES.in: Add cppfiles.c, cppinit.c, cppspec.c.
1999-09-05  Jeff Garzik  <garzik@havoc.gtf.org>

	* POTFILES.in: Add cppfiles.c, cppinit.c, cppspec.c.

From-SVN: r29121
1999-09-05 03:35:13 +00:00
Mark Mitchell b4b8bee7bd decl.c (init_decl_processing): Set mark_lang_status.
* decl.c (init_decl_processing): Set mark_lang_status.
	(lang_mark_false_label_stack): Adjust prototype.
	* decl2.c (grok_function_init): Remove extraneous declaration of
	abort_fndecl.

From-SVN: r29120
1999-09-05 02:53:03 +00:00
Richard Henderson 87ff9c8e4b Makefile.in (tree.o): Depend on ggc.h.
* Makefile.in (tree.o): Depend on ggc.h.
	(varasm.o): Likewise.
	(function.o): Likewise.
	(stmt.o): Likewise.
	(except.o): Likewise.
	(optabs.o): Likewise.
	(emit-rtl.o): Likewise.
	* emit-rtl.c: Include ggc.h.
	(sequence_element_free_list): Remove, and all references.
	(mark_sequence): New functions.
	(mark_emit_state): New function.
	* except.c: Include ggc.h.
	(mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
	(mark_tree_label_node): New functions.
	(mark_eh_state): New function.
	* function.c: Include ggc.h.
	(mark_temp_slot, mark_function_chain): New functions.
	(mark_function_state): New function.
	(init_function_once): New function.
	* function.h (init_function_once): New function.
	* ggc-callbacks.c (lang_mark_false_label_stack): New function.
	* ggc.h (label_node): Declare.
	(eh_status, emit_status, stmt_status, varasm_status): Likewise.
	(lang_mark_false_label_stack): New function.
	(mark_temp_slot): Remove declaration.
	(mark_function_chain): Likewise.
	(mark_eh_state): Adjust prototype.
	(mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
	Likewise.
	* optabs.c: Include ggc.h.
	(mark_optab): New function.
	(init_optabs): Add gc roots.
	* stmt.c: Include ggc.h.
	(mark_cond_nesting, mark_loop_nesting): New functions.
	(mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
	(mark_stmt_state): New function.
	* toplev.c (compile_file): Call init_function_once.
	* tree.c: Include ggc.h.
	(type_hash): Move declaration earlier in file.
	(TYPE_HASH_SIZE, type_hash_table): Likewise.
	(init_obstacks): Add gc roots.
	(mark_type_hash): New function.
	* varasm.c: Include ggc.h.
	(mark_pool_constant): New function.
	(mark_varasm_state): New function.

Co-Authored-By: Bernd Schmidt <bernds@cygnus.co.uk>
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>

From-SVN: r29119
1999-09-05 02:41:35 +00:00
Kaveh R. Ghazi 6621f41de9 * ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
From-SVN: r29118
1999-09-05 02:31:20 +00:00
Bernd Schmidt e2ecd91c7b c-decl.c (struct language_function): Renamed from struct c_function.
* c-decl.c (struct language_function): Renamed from struct c_function.
	Delete elt NEXT.
	(c_function_chain): Delete.
	(push_c_function_context): New arg F.  Don't warn about nested
	functions here.  Fill LANGUAGE elt of F.  Delete code to update
	c_function_chain.  Don't call push_function_context.
	(pop_c_function_context): New arg F.  Restore from there instead of
	from c_function_chain.  Don't call pop_function_context.  Clear out
	LANGUAGE field of F when done.
	* c-lang.c: Include "function.h"
	(lang_init): Initialize save_lang_status and restore_lang_status.
	* c-parse.in (nested_function, nested_function_notype): Warn about
	nested functions.  Call push_function_context/pop_function_context
	instead of the _c_ variants.
	* c-tree.h (push_c_function_context, pop_c_function_context): Update
	prototype.
	* Makefile.in (c-lang.o): Update dependencies.

	* emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
	regno_pointer_flag, regno_pointer_align.
	(gen_reg_rtx): Use xrealloc to enlarge them.
	(free_emit_status): New function.
	* function.c (mark_machine_status, mark_lang_status): New variables.
	(assign_stack_local_1): Renamed from assign_outer_stack_local.  Merge
	in some bits from assign_stack_local.  All callers changed to use new
	name.
	(assign_stack_local): Just call assign_stack_local_1.
	(free_after_compilation): New function.
	(put_reg_into_stack): Simplify to always call assign_stack_local_1.
	(trampoline_address): Likewise.
	(assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
	(prepare_function_start): Explicitly clear some more variables.
	* function.h (struct function): New elt can_garbage_collect.
	(mark_machine_status, mark_lang_status): Declare variables.
	(free_after_compilation, free_emit_status, free_varasm_status,
	init_varasm_status): Declare functions.
	* toplev.c (rest_of_compilation): Call free_after_compilation when
	done with the current function.
	* varasm.c (free_varasm_status): New function.

From-SVN: r29117
1999-09-05 01:06:48 +00:00
Mark Mitchell 6308c57495 Make-lang.in (f771): Depend on ggc-callbacks.o.
* Make-lang.in (f771): Depend on ggc-callbacks.o.
	* Makefile.in (OBJS): Add ggc-callbacks.o.
	(OBJDEPS): Likewise.

From-SVN: r29116
1999-09-05 00:59:59 +00:00
Richard Henderson a8b2c8a1ba sparc.h (EXPAND_BUILTIN_VA_START): Define.
* sparc.h (EXPAND_BUILTIN_VA_START): Define.
        (EXPAND_BUILTIN_VA_ARG): Define.
        * sparc.c (sparc_va_start): New.
        (sparc_va_arg): New.

From-SVN: r29115
1999-09-04 17:16:18 -07:00
Michael Hayes 1b893504b3 * config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
From-SVN: r29114
1999-09-04 23:25:54 +00:00
Mark Mitchell c24d7ed249 Makefile.in (C_AND_C_OBJS): Add ggc-callbacks.o.
* Makefile.in (C_AND_C_OBJS): Add ggc-callbacks.o.
	(OBJS): Add $(GGC).
	(ggc-callbacks.o): New target.
	* ggc-callbacks.c: New file.

From-SVN: r29113
1999-09-04 22:34:20 +00:00
Michael Hayes ad3781e1a9 c4x.h (CALLER_SAVE_PROFITABLE): Disable.
* config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.

This has been disabled since caller-save has marginal benefit on the c3x/c4x
and it avoids a long standing caller-save bug.

From-SVN: r29112
1999-09-04 22:31:09 +00:00
Mark Mitchell 03705c9588 Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
GCC:

Sat Sep  4 13:44:01 1999  Mark Mitchell  <mark@codesourcery.com>

	* Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
	(OBJS): Add $(GCC).
	(ggc-callbacks.o): New target.
	* ggc-callbacks.c: New file.

Chill:

1999-09-04  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (cc1chill): Depend on ggc-callbacks.o.
	* Makefile.in (CHILL_OBJS): Add ggc-callbacks.o.

C++:

1999-09-04  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (cc1plus): Remove dependency on GGC.
	* Makefile.in (OBJS): Don't mention ggc-simple.o.
	(OBJDEPS): Don't mention ggc-simple.o.

F77:

Sat Sep  4 13:46:27 1999  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (f771): Depend on ggc-callbacks.o.
	* Makefile.in (OBJS): Add ggc-callbacks.o.
	(OBJDEPS): Likewise.

Objc:

1999-09-04  Mark Mitchell  <mark@codesourcery.com>

	* Make-lang.in (jc1): Depend on ggc-callbacks.o.
	* Makefile.in (OBJS): Add ggc-callbacks.o.
	(OBJDEPS): Likewise.

From-SVN: r29111
1999-09-04 22:24:18 +00:00
Bernd Schmidt 34220a1229 Convert many single variables to arrays
From-SVN: r29110
1999-09-04 22:08:44 +00:00
Mark Mitchell 6c7c62c637 Make-lang.in (cc1plus): Depend on $(GGC).
* Make-lang.in (cc1plus): Depend on $(GGC).
	* Makefile.in (OBJS): Add ggc-simple.o.
	(OBJDEPS): Likewise.
	* cp-tree.h (language_function): Rename members to `x_' versions;
	we now have x_named_labels, x_ctor_label, x_dtor_label,
	x_base_init_list, x_member_init_list, x_base_init_expr,
	x_current_class_ptr, x_current_class_ref, x_last_tree,
	x_last_expr_type, x_last_dtor_insn, x_last_parm_cleanup_insn, and
	x_result_rtx.
	(dtor_label, ctor_label, current_base_init_list,
	current_member_init_list, base_init_expr, current_class_ptr,
	current_class_ref, last_tree, last_expr_type): Adjust accordingly.
	* decl.c: Include ggc.h.
	(last_dtor_insn): Adjust to use x_ names.
	(last_parm_cleanup_insn): Likewise.
	(original_result_rtx): Likewise.
	(named_labels): Likewise.
	(mark_binding_level): New function.
	(mark_cp_function_context): Likewise.
	(mark_false_label_stack): Likewise.
	(lang_mark_tree): Likewise.
	(lang_cleanup_tree): Likewise.

From-SVN: r29109
1999-09-04 20:44:51 +00:00
Richard Henderson a2f196e089 * i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
From-SVN: r29108
1999-09-04 13:00:00 -07:00
Mark Mitchell 4519c0a872 Make-lang.in (cc1plus): Depend on $(GGC).
* Make-lang.in (cc1plus): Depend on $(GGC).
	* Makefile.in (OBJS): Add ggc-simple.o.
	(OBJDEPS): Likewise.
	* cp-tree.h (language_function): Rename members to `x_' versions;
	we now have x_named_labels, x_ctor_label, x_dtor_label,
	x_base_init_list, x_member_init_list, x_base_init_expr,
	x_current_class_ptr, x_current_class_ref, x_last_tree,
	x_last_expr_type, x_last_dtor_insn, x_last_parm_cleanup_insn, and
	x_result_rtx.
	(dtor_label, ctor_label, current_base_init_list,
	current_member_init_list, base_init_expr, current_class_ptr,
	current_class_ref, last_tree, last_expr_type): Adjust accordingly.
	* decl.c: Include ggc.h.
	(last_dtor_insn): Adjust to use x_ names.
	(last_parm_cleanup_insn): Likewise.
	(original_result_rtx): Likewise.
	(named_labels): Likewise.
	(mark_binding_level): New function.
	(mark_cp_function_context): Likewise.
	(mark_false_label_stack): Likewise.
	(lang_mark_tree): Likewise.
	(lang_cleanup_tree): Likewise.

From-SVN: r29107
1999-09-04 19:03:28 +00:00
Richard Henderson 0a25f1f5e2 Makefile.in (GGC, GGC_LIB): New.
* Makefile.in (GGC, GGC_LIB): New.
	(HOST_RTL): Include ggc-none.o.
	(ggc-simple.o): New target.
	(ggc-none.o): Likewise.
	* tree.h (tree_common): Add gc_mark.
	* rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
	(struct rtvec_def): Add gc_mark.
	* emit-rtl.c (global_rtl): Update static initializers to contain
	enough initializers.
	* ggc.h, ggc-none.c, ggc-simple.c: New files.
	* toplev.c (gc_time): New variable.
	(all_time): New variable.
	(compile_file): Print gc time.
	(print_time): Calculate percentage of the whole.

From-SVN: r29106
1999-09-04 18:25:41 +00:00
Alexandre Oliva 482cbc74aa Clean up conflict marks introduced in revision 1.4254.
From-SVN: r29105
1999-09-04 18:20:30 +00:00
Jeff Law e3de40e4c2 dummy checkin to prevent merge lossage
From-SVN: r29102
1999-09-04 09:09:22 -06:00
Bernd Schmidt 36edd3cc1b Change memory mangement and constant pool handling for nested functions to match that of normal functions; add init_machine_status mechanism.
From-SVN: r29101
1999-09-04 13:09:56 +00:00
Manfred Hollstein 1b63ada472 * POTFILES.in: Track files recently added/deleted/moved.
From-SVN: r29100
1999-09-04 12:20:28 +00:00
Jeff Law c8d90e9047 Daily bump.
From-SVN: r29099
1999-09-04 01:45:08 -06:00
Michael Hayes f0cae6c755 c4x.md (rptb_init): Renamed from *rptb_init.
Sat Sep  4 16:56:28 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
	(doloop_begin):  Simplify pattern and use emit_jump_insn.
	(doloop_end): Simplify pattern, switch operand order,
	and use emit_jump_insn.

From-SVN: r29098
1999-09-04 05:13:53 +00:00
Zack Weinberg edf5013023 cast-qual-1.c: Add missing dg-bogus tag.
1999-09-03 19:31 -0700  Zack Weinberg  <zack@bitmover.com>

	* gcc.dg/cast-qual-1.c: Add missing dg-bogus tag.
	* gcc.dg/compare1.c: Fix typo.
	* gcc-dg/cpp-unc.c, cpp-unc1.c, cpp-unc2.c, cpp-unc3.c: New
	files which test the preprocessor's unterminated conditional
	diagnostics.

From-SVN: r29097
1999-09-04 02:34:10 +00:00
Mark Mitchell 99dccabc3c Makefile.in (CXX_TREE_H): Include function.h.
* Makefile.in (CXX_TREE_H): Include function.h.
	(decl.o): Don't depend on function.h.
	(decl2.o): Likewise.
	(typeck.o): Likewise.
	(init.o): Likewise.
	(method.o): Likewise.
	* cp-tree.h: Include function.h.
	(cp_function): Rename to language_function.  Remove next.
	(cp_function_chain): Make it a macro, not a variable.
	(push_cp_function_context): Don't declare.
	(pop_cp_function_context): Likewise.
	* decl.c: Don't include function.h.
	(push_cp_function_context): Make it static.  Make it suitable for
	a save_lang_status callback.
	(pop_cp_function_context): Likewise.
	(maybe_push_to_top_level): Call push_function_context_to, not
	push_cp_function_context.
	(pop_from_top_level): Call pop_function_context_from, not
	pop_cp_function_context.
	(init_decl_processing):  Set save_lang_status and
	restore_lang_status.  Call push_function_context_to, not
	push_cp_function_context.
	(cp_function_chain): Remove.
	* decl2.c: Don't include function.h.
	* except.c: Don't include function.h.
	(start_anon_func): Call push_function_context_to, not
	push_cp_function_context.
	(end_anon_func):  Call pop_function_context_from, not
	pop_cp_function_context.
	* init.c: Don't include function.h.
	* lex.c (begin_definition_of_inclass_inline): Call
	push_function_context_to, not push_cp_function_context.
	(process_next_inline):  Call pop_function_context_from, not
	pop_cp_function_context.
	* method.c: Don't include function.h.
	(synthesize_method): Call push_function_context_to, not
	push_cp_function_context.  Call pop_function_context_from, not
	pop_cp_function_context.
	* typeck.c: Don't include function.h.

From-SVN: r29096
1999-09-04 02:19:29 +00:00
Bernd Schmidt 8c5666b4c1 function.h (struct function): Add new element LANGUAGE.
* function.h (struct function): Add new element LANGUAGE.
 	(save_lang_status): Declare new variable.
	(restore_lang_status): Likewise.
	* function.c (save_lang_status): Define.
	(restore_lang_status): Likewise.
	(push_function_context_to): Call language-specific save function.
	(pop_function_context_from): Call language-specific restore function.

From-SVN: r29095
1999-09-04 02:16:58 +00:00
Alasdair Baird 0c174a684c i386.md (movsf_1): Check REG_P before use of REGNO.
* i386.md (movsf_1): Check REG_P before use of REGNO.
        (movdf_1): Likewise.
        (movxf_1): Likewise.
        (extendsfdf2): Likewise.
        (extendsfxf2): Likewise.
        (extenddfxf2): Likewise.

From-SVN: r29094
1999-09-03 18:24:08 -06:00
Mark Mitchell 951525d2ed decl.c (expand_static_init): Tweak handling of static initializations for objects without constructors.
* decl.c (expand_static_init): Tweak handling of static
	initializations for objects without constructors.

From-SVN: r29093
1999-09-04 00:15:15 +00:00
Michael Hayes 483dd5bec1 c4x.c (c4x_emit_move_sequence): Do not force large constants into memory.
Sat Sep  4 11:37:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
	constants into memory.
	(c4x_shiftable_constant): New function.
	* config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
	(c4x_shiftable_constant): Declare.
	* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
 	ashlqi3_noclobber): Add new patterns and associated splitters.

From-SVN: r29092
1999-09-03 23:58:44 +00:00
Richard Henderson 3de900268e dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
* dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
	* dwarf2out.c (dwarf2out_frame_init): Likewise.
	* final.c (shorten_branches): Likewise.
	* global.c (global_alloc): Likewise.
	* haifa-sched.c (build_control_flow): Likewise.
	* stmt.c (check_for_full_enumeration_handling): Likewise.
	(estimate_case_costs): Likewise.

From-SVN: r29091
1999-09-03 23:22:50 +00:00
Mark Mitchell 818a3b1591 * rtl.h (RTL_CHECKC2): Fix typo in last change.
From-SVN: r29090
1999-09-03 22:54:56 +00:00
Richard Henderson 83ab38394c flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
* flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
        (recompute_reg_usage): Likewise.
        * rtlanal.c (find_regno_fusage): Likewise.

        * rtl.c (rtl_check_failed_code1): New function.
        (rtl_check_failed_code2): New.
        * rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
        (RTL_CHECKC1, RTL_CHECKC2): New.
        (XC*): New accessor macros.
        (NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
        (ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
        (CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
        (ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
        (TRAP_*, RANGE_INFO_*): Likewise.

From-SVN: r29089
1999-09-03 15:23:11 -07:00
Richard Kenner 02aadb7a10 Fix typo in my email address
From-SVN: r29088
1999-09-03 17:27:46 -04:00
Kaveh R. Ghazi d4058195bd Makefile.in (tlink.o): Don't depend on toplev.h.
* Makefile.in (tlink.o): Don't depend on toplev.h.

	* collect2.c (c_file, o_file, export_file, import_file, ldout,
	output_file, nm_file_name, ldd_file_name, strip_file_name,
	c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
	add_prefix, prefix_from_env, prefix_from_string, do_wait,
	fork_execute, maybe_unlink, add_to_list,
	extract_init_priority, write_list, dump_list,
	dump_prefix_list, write_list_with_asm, write_c_file,
	write_c_file_stat, write_c_file_glob, scan_prog_file,
	scan_libraries, is_in_list, resolve_lib_name, use_import_list,
	ignore_library, extract_string, notice, dump_file, target_machine,
	collect_wait, collect_execute, libname, locatelib, aix_std_libs,
	read_file, print_load_command): Constify a char*.
	(fdopen, error, fatal, fatal_perror): Don't prototype.
	(my_strerror): Remove.  All callers use xstrerror instead.
	(xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
	(main): Add prototype.  Constify lots of char* ptrs.  Change calls
	to xcalloc/strcpy/strcat/...  to one call to concat.
	(main, scan_prog_file, scan_libraries): Use an intermediate
	`const char **' to build an argv array.
	(mapfile, libselect, libcompare, locatelib): Add prototypes.

	* collect2.h (collect_execute, collect_wait, dump_file,
	file_exists): Constify a char*.
	(ldout, c_file_name, temporary_obstack, permanent_obstack,
	temporary_firstobj, vflag, debug): Add extern declarations.
	(fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.

	* tlink.c: Don't include toplev.h.
	(vflag, debug, ldout, c_file_name, temporary_obstack,
	permanent_obstack, temporary_firstobj): Don't declare.
	(tlink_execute, frob_extension, symbol_hash_lookup,
	file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
	recompile_files, read_repo_files, demangle_new_symbols,
	scan_linker_output): Constify a char*.
	(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
	do_tlink): Mark parameters with ATTRIBUTE_UNUSED.

From-SVN: r29087
1999-09-03 19:13:34 +00:00
Tom Tromey 2f11d4079a parse.y (strip_out_static_field_access_decl): Return operand if it satisfies JDECL_P.
* parse.y (strip_out_static_field_access_decl): Return operand if
	it satisfies JDECL_P.

From-SVN: r29086
1999-09-03 17:18:11 +00:00
Andrew Haley e9be002826 m68kelf.h: Set USE_GAS...
Fri Sep  3 18:09:24 1999  Andrew Haley  <aph@cygnus.com>

        * config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
        (relative) rather than jsr (absolute) subroutine call insns.
        * config/m68k/m68k-coff.h: Ditto.

From-SVN: r29085
1999-09-03 17:10:48 +00:00
Richard Earnshaw 2bfa88dc79 arm.c (note_invalid_constants): No need to ignore ASMs, we can now rework these too.
* arm.c (note_invalid_constants): No need to ignore ASMs, we can
now rework these too.
(arm_reorg): If an insn can't reach the end of the current pool,
ensure that we emit that pool before the insn.

From-SVN: r29084
1999-09-03 16:27:57 +00:00
Jason Merrill 9c5b50b30a tlink.c (scan_linker_output): Skip the initial underscore in a mangled name if appropriate.
* tlink.c (scan_linker_output): Skip the initial underscore in
	a mangled name if appropriate.

From-SVN: r29083
1999-09-03 12:14:54 -04:00
Richard Earnshaw eb898ce420 * gcc.c-torture/execute/990827-1.c: Fix typo.
From-SVN: r29082
1999-09-03 09:42:25 +00:00
Nathan Sidwell a9183fef29 typeck.c (build_indirect_ref): Reject dereference of pointer to void.
* typeck.c (build_indirect_ref): Reject dereference of pointer to
	void.

From-SVN: r29081
1999-09-03 09:01:14 +00:00