1. 10 Sep, 1999 25 commits
  2. 09 Sep, 1999 15 commits
    • i386.c (override_options): Remove ppro, pentium2, and p2 as aliases. · 5a6ee819
              * i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
              Default ix86_arch to PROCESSOR_I386.
              * i386.h (CC1_CPU_SPEC): Don't add -march=foo.  Remove -mno-foo.
              (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
              (CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
              (CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
              __tune_foo__ if no -mcpu.  Make -mcpu=bar define __tune_bar__.
              (EXTRA_SPECS): Remove deleted specs.
      
      From-SVN: r29250
      Richard Henderson committed
    • cp-tree.h (EXPR_STMT_ASSIGNS_THIS): New macro. · a7e4cfa0
      	* cp-tree.h (EXPR_STMT_ASSIGNS_THIS): New macro.
      	(STMT_IS_FULL_EXPR_P): Likewise.
      	(STMT_LINENO_FOR_FN_P): Likewise.
      	(prep_stmt): New function.
      	(building_stmt_tree): Tweak for safety.
      	* pt.c (tsubst_expr): Use prep_stmt throughout.
      	(add_tree): Move it to semantics.c
      	* semantics.c (add_tree): Move it here.
      	(finish_expr_stmt_real): New function.
      	(finish_expr_stmt): Use it.
      	(finish_if_stmt_cond): Use FINISH_COND.
      	(finish_while_stmt_cond): Likewise.
      	(finish_for_cond): Likewise.
      	(finish_stmt_tree): Tweak line-number handling.
      	(prep_stmt): New function.
      	(expand_stmt): Use it.
      
      From-SVN: r29249
      Mark Mitchell committed
    • function.c (assign_stack_local_1): Allocate from function->x_frame_offset, not frame_offset. · 3b71623b
              * function.c (assign_stack_local_1): Allocate from
              function->x_frame_offset, not frame_offset.
      
      From-SVN: r29248
      Richard Henderson committed
    • New test · f00caf79
      From-SVN: r29247
      Mark Mitchell committed
    • cp-tree.h (begin_switch_stmt): Adjust prototype. · 527f0080
      	* cp-tree.h (begin_switch_stmt): Adjust prototype.
      	(finish_switch_cond): Likewise.
      	* parse.y (simple_stmt): Adjust accordingly.
      	* parse.c: Regenerated.
      	* pt.c (tsubst_expr): Adjust accordingly.
      	* semantics.c (expand_cond): New function.
      	(FINISH_COND): New macro.
      	(begin_switch_stmt): Build the SWITCH_STMT here.
      	(finish_switch_stmt_cond): Not here.
      	(expand_stmt): Adjust calls to begin_switch_stmt and
      	finish_switch_cond.  Use expand_cond throughout.
      
      From-SVN: r29246
      Mark Mitchell committed
    • dump.c (dequeue_and_dump): Dump types for constants. · 8a79e5cb
      	* dump.c (dequeue_and_dump): Dump types for constants.
      	Describe DECL_ARG_TYPE more intuitively.
      	Handle ARRAY_REF.
      
      From-SVN: r29245
      Mark Mitchell committed
    • decl.c (lang_mark_tree): Mark TYPE_LANG_SPECIFIC. · c27db0df
      	* decl.c (lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
      	(lang_cleanup_tree): Remove.
      	* lex.c (make_lang_type): Use ggc_alloc to allocate
      	TYPE_LANG_SPECIFIC.
      
      From-SVN: r29244
      Mark Mitchell committed
    • Fix typo in last change. · e700c931
      From-SVN: r29243
      Mark Mitchell committed
    • ggc.h (lang_cleanup_tree): Remove. · 96603b4c
      	* ggc.h (lang_cleanup_tree): Remove.
      	* gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
      	* ggc-callbacks.c (lang_cleanup_tree): Remove.
      
      	* c-decl.c (finish_struct): Use ggc_alloc to allocate
      	TYPE_LANG_SPECIFIC when garbage collecting.
      	(lang_cleanup_tree): Remove.
      
      From-SVN: r29242
      Mark Mitchell committed
    • defaults.h (EH_FRAME_SECTION, [...]): Define here. · 31cf0144
      	* defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
      	* crtstuff.c: Not here.
      	* dwarf2out.c: Or here.
      	* libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
      	info.
      
      From-SVN: r29241
      Jason Merrill committed
    • Reorganize per-function data. · a8f73d4b
      	* cp-tree.h (saved_scope): Add function_decl, bindings.
      	(language_function): Rename binding_level to bindings.
      	(cp_function_chain): Use the current_function, not the
      	outer_function_chain.
      	(current_class_ptr): Make it work, even when there's no
      	current function.
      	(current_class_ref): Likewise.
      	(SF_DEFAULT, SF_PRE_PARSED, SF_INCLASS_INLINE, SF_EXPAND): New
      	macros.
      	(clear_temp_name): Remove.
      	* decl.c (check_function_type): New function, broken out from
      	start_function.
      	(current_binding_level): Adjust definition.
      	(pushlevel): Simplify.
      	(poplevel): Don't use named_label_uses when we're outside
      	a function scope.
      	(mark_saved_scope): Mark function_decl and bindings.
      	(maybe_push_to_top_level): Don't unconditionally push a new
      	function context.  Save bindings and the current_function_decl.
      	Don't clear named_labels.
      	(pop_from_top_level): Pop function context if appropriate.
      	(init_decl_processing): Set init_lang_status and free_lang_status,
      	rather than save_lang_status and restore_lang_status.
      	(start_function): Take SF_* flags.  Don't clear per-function data.
      	Reorder and simplify to use new per-function data code.  Add
      	asserts.
      	(store_parm_decls): Don't call init_function_start here.
      	(finish_function): Adjust for new handling of per-function data.
      	(push_cp_function_context): Simplify.
      	(mark_cp_function_context): Change binding_level to bindings.
      	* decl2.c (clear_temp_name): Remove.
      	(start_objects): Use SF flags to start_function.
      	(start_static_storage_duration_function): Likewise.
      	* except.c (start_anon_func): Remove redundant calls to
      	push_function_context_to.  Use SF flags to start function.
      	(end_anon_func): Remove redundant call to pop_function_context
      	from.
      	* lex.c (reinit_parse_for_function): Don't initialize per-function
      	data.
      	* method.c (emit_thunk): Clear current_function after calling
      	assemble_end_function.  Use SF flags for start_function.
      	(synthesize_method): Use SF flags for start_function.
      	* parse.c: Regenerated.
      	* parse.y (fn.defpen): Likewise.
      	(pending_inline): Clear current_function, even if something goes
      	wrong.
      	* pt.c (instantiate_decl): Use SF flags to start_function.
      	Don't save and restore expanding_p.
      	(add_tree): Handle the case where we are outside any function.
      	(end_tree): Likewise.
      	* rtti.c (sythesize_tinfo_fn): Use SF flags to start_function.
      	* semantics.c (begin_function_definition): Likewise.
      	(expand_body): Likewise.
      
      From-SVN: r29240
      Mark Mitchell committed
    • function.h (free_after_compilation): Remove decl parameter. · 0a8a198c
      	* function.h (free_after_compilation): Remove decl parameter.
      	(free_varasm_status0: Likewise.
      	(free_emit_status): Likewise.
      	(free_stmt_status): Likewise.
      	(free_after_compilation): Likewise.
      	(init_lang_status): New variable.
      	(free_lang_status): Likewise.
      	* emit-rtl.c (free_emit_status): Make decl parameter implicit.
      	* function.c (init_lang_status): New variable.
      	(free_lang_status): Likewise.
      	(push_function_context_to): Don't set function::decl here.
      	(free_after_copmilation): Make decl parameter implicit.  Call
      	free_lang_status if defined.
      	(prepare_function_start): Call init_lang_status if defined.
      	(init_function_start): Set function::decl here.
      	* profile.c (output_func_start_profiler): Don't call pushdecl
      	until we've actually started the function.
      	* stmt.c (free_stmt_status): Make decl parameter implicit.
      	* toplev.c (rest_of_compilation): Don't pass decl to
      	free_after_compilation.
      	* varasm.c (free_varasm_status): Likewise.
      
      From-SVN: r29239
      Mark Mitchell committed
    • cp-tree.h (scratch_tree_cons): Remove. · 1814b96b
      	* cp-tree.h (scratch_tree_cons): Remove.
      	* call.c: Replace all uses of expr_tree_cons, saveable_tree_cons,
      	and perm_tree_cons with plain tree_cons.
      	* class.c: Likewise.
      	* decl.c: Likewise.
      	* decl2.c: Likewise.
      	* except.c: Likewise.
      	* expr.c: Likewise.
      	* init.c: Likewise.
      	* lex.c: Likewise.
      	* method.c: Likewise.
      	* parse.y: Likewise.
      	* pt.c: Likewise.
      	* repo.c: Likewise.
      	* rtti.c: Likewise.
      	* search.c: Likewise.
      	* typeck.c: Likewise.
      	* parse.c: Regenerated.
      	* tree.c (build_srcloc): Simplify.
      
      From-SVN: r29238
      Mark Mitchell committed
    • Add a missing GC root · 638e6ebc
      From-SVN: r29236
      Bernd Schmidt committed