Commit Graph

27361 Commits

Author SHA1 Message Date
Richard Henderson 62828c0078 flow.c (loop_depth): Remove.
* flow.c (loop_depth): Remove.
	(reg_next_use, cc0_live, mem_set_list): Replace with ...
	(struct propagate_block_info): New.
	(life_analysis): Don't allocate reg_next_use.
	(propagate_block_delete_insn): Break out of propagate_block.
	Use flow_delete_insn to unlink rather than use NOTE_INSN_DELETED.
	(propagate_block_delete_libcall): Likewise.
	(propagate_block): Create a propagate_block_info struct to pass
	to subroutines.  Allocate one not two temporary regsets.  Don't
	clobber memory for const calls.  Look for clobbers in
	CALL_INSN_FUNCTION_USAGE.
	(mark_set_regs): Recognize COND_EXEC.
	(mark_set_reg): Break out of mark_set_1.
	(mark_used_reg): Break out of mark_used_regs.
	(mark_used_regs): Recognize COND_EXEC.
	(insn_dead_p): Use propagate_block_info struct.
	(libcall_dead_p, invalidate_mems_from_autoinc): Likewise.
	(find_auto_inc, try_pre_increment_1): Likewise.
	(print_rtl_with_bb): Dump regs live at end too.
	(count_reg_sets_1): Pass in loop_depth.
	(count_reg_sets, count_reg_references): Likewise.
	(recompute_reg_usage): Provide it.

From-SVN: r33012
2000-04-07 16:33:47 -07:00
Joern Rennecke 4f0207119f Fix filename for block_lump_real_i4 patch.
From-SVN: r33011
2000-04-08 00:25:05 +01:00
Joern Rennecke ebdfc3b7d6 Fix comment.
From-SVN: r33010
2000-04-08 00:03:20 +01:00
Richard Henderson 03492bae59 Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H) not the raw files.
* Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H)
        not the raw files.

From-SVN: r33009
2000-04-07 14:37:56 -07:00
Zack Weinberg f787c583ae cpplib.c (do_elif): Skip the rest of the line if we're not going to bother evaluating it.
* cpplib.c (do_elif): Skip the rest of the line if we're
	not going to bother evaluating it.
	(skip_if_group): Clear pfile->only_seen_white.  Reorder loop
	to avoid pointless calls to the lexer.

	* gcc.dg/cpp-mi2.c: New test.
	* gcc.dg/cpp-mi2[abc].h: New files.

From-SVN: r33008
2000-04-07 21:09:51 +00:00
Jim Wilson fbc18d1984 Fix nit.
* config/ia64/ia64.c: Delete stdio.h and ctype.h includes.

From-SVN: r33007
2000-04-07 11:51:44 -07:00
Jason Merrill 1c81f9fe75 * calls.c (expand_call): emit_queue if we're trying a sibcall.
From-SVN: r33006
2000-04-07 13:44:14 -04:00
Nathan Sidwell e8ff28b4bd vmihint.C: Adjust __vmi_class_type_info member name.
* g++.old-deja/g++.abi/vmihint.C: Adjust __vmi_class_type_info
	member name.

From-SVN: r33005
2000-04-07 16:59:12 +00:00
Nathan Sidwell 7b820993a5 Rename abi::__vmi_class_type_info members.
* inc/cxxabi.h (__vmi_class_type_info): Rename details, n_bases,
	base_list, detail_masks members to vmi_flags, vmi_base_count,
	vmi_bases and vmi_flags_masks respectively.
	(__vmi_class_type_info::vmi_flags_masks): Rename
	details_unknown_mask to flags_unknown_mask.
	* tinfo.cc (__class_type_info::do_upcast): Adjust.
	(__vmi_class_type_info::do_find_public_src): Adjust.
	(__vmi_class_type_info::do_dyncast): Adjust.
	(__vmi_class_type_info::do_upcast): Adjust.

From-SVN: r33004
2000-04-07 16:57:48 +00:00
Jakub Jelinek a9e6777fb2 t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove.
* config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove.
	* Makefile.in: Build crtbeginS and crtendS like crtbegin and
	crtend so they can be multilibbed.
	(STAGESTUFF): Remove s-crt and s-crtS.

From-SVN: r33003
2000-04-07 16:57:58 +02:00
Richard Henderson 000ca3735d alpha.c (alpha_emit_conditional_move): Fail if we discover we need a pseudo and no_new_pseudos is true.
* config/alpha/alpha.c (alpha_emit_conditional_move): Fail
        if we discover we need a pseudo and no_new_pseudos is true.
        * config/alpha/alpha.md (ne:DI insn): New.
        (trunctfsf2, sne): Emit NE instead of non-canonical LTU.

From-SVN: r32998
2000-04-07 02:53:18 -07:00
Richard Henderson 0c99ec5c42 rtl.def (COND_EXEC): New.
* rtl.def (COND_EXEC): New.
        * rtl.h (COND_EXEC_TEST, COND_EXEC_CODE): New.
        * tm.texi (MAX_CONDITIONAL_EXECUTE): Document.

        * genconfig.c (have_cond_arith_flag): Remove.
        (have_cond_exec_flag): New.
        (walk_insn_part): Detect COND_EXEC, not arithmetic in IF_THEN_ELSE.
        (main): Print HAVE_conditional_execution.

        * haifa-sched.c (haifa_classify_insn): Recognize COND_EXEC.
        (sched_analyze_insn, print_pattern): Likewise.
        * reload.c (find_equiv_reg): Likewise.
        * rtlanal.c (reg_referenced_p): Likewise.
        (note_stores, dead_or_set_regno_p): Likewise.
        (reg_overlap_mentioned_p): Rewrite to use a switch.

From-SVN: r32997
2000-04-07 02:24:45 -07:00
Richard Henderson 4c85a96d6e ggc.h (struct rtx_def): Forward declare.
* ggc.h (struct rtx_def): Forward declare.

        * print-rtl.c (debug_rtx_range): New.
        * rtl.h (debug_rtx_range): Declare.

        * varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New.

From-SVN: r32996
2000-04-07 02:24:06 -07:00
Richard Henderson a18820c64c gcse.c (gcse_main): Don't rebuild the CFG here.
* gcse.c (gcse_main): Don't rebuild the CFG here.
        (delete_null_pointer_checks): Likewise.
        * ssa.c (convert_to_ssa): Likewise.
        * toplev.c (rest_of_compilation): Do it here instead.  Combine
        sequential calls to TIMEVAR.  Consistently use `insns' instead of
        `get_insns()'.  Always split insns after reload when optimizing.

From-SVN: r32995
2000-04-07 02:23:29 -07:00
Richard Henderson dc108b7a75 basic-block.h (merge_blocks_nomove): Declare.
* basic-block.h (merge_blocks_nomove): Declare.
        (tidy_fallthru_edge): Declare.
        * flow.c (merge_blocks_nomove): Document as merging into previous
        blocks.  Remove cruft from between blocks; remove all edges out of A.
        (tidy_fallthru_edge): Export.

From-SVN: r32994
2000-04-07 02:22:10 -07:00
Nathan Sidwell 1e143002cb tinfo.cc (convert_to_base): New function.
* tinfo.cc (convert_to_base): New function.
	(get_vbase_offset): Remove. Move into convert_to_base.
	(__vmi_class_type_info::do_find_public_src): Adjust.
	(__vmi_class_type_info::do_dyncast): Adjust.
	(__vmi_class_type_info::do_upcast): Adjust.
plus commit changelog entry 2000-04-06  Nathan Sidwell  <nathan@codesourcery.com>

From-SVN: r32993
2000-04-07 09:07:24 +00:00
Alex Samuel 62771d5186 ssa.c (compute_conservative_reg_partition): Declare with void arguments.
* ssa.c (compute_conservative_reg_partition): Declare with
	void arguments.
	* toplev.c (clean_dump_file): Remove previously-deleted function
	inadvertantly merged back in.
	* conflict.c (conflict_graph_add): Use a single call to
	htab_find_slot to look up and insert.

From-SVN: r32992
2000-04-07 08:16:31 +00:00
Jeff Law 4eda98a61f Daily bump.
From-SVN: r32991
2000-04-07 01:45:42 -06:00
Richard Henderson 4e9887c70b genrecog.c (*): Rename _last_insn to last_insn.
* genrecog.c (*): Rename _last_insn to last_insn.
        (make_insn_sequence): Set the position of the peephole2 C test
        to be at the last insn.

From-SVN: r32990
2000-04-07 00:16:59 -07:00
Richard Henderson 391b788c04 * flow.c (compute_flow_dominators): Free worklist.
From-SVN: r32983
2000-04-06 23:15:22 -07:00
Richard Henderson 987db02825 Michael Matz <matzmich@cs.tu-berlin.de>
Michael Matz  <matzmich@cs.tu-berlin.de>
        * flow.c (compute_flow_dominators): Process blocks FIFO not LIFO.

From-SVN: r32982
2000-04-06 23:11:40 -07:00
Alex Samuel 4669b5ae7e Forgot the ChangeLog entry in this commit; here it is.
* rtl.h (INSN_P): New macro.
	(successor_phi_fn): New typedef.
	(for_each_successor_phi): New prototype.
	(in_ssa_form): New variable.
	(PHI_NODE_P): Likewise.
	* flow.c (calculate_global_regs_live): Add to new_live_at_end from
	phi nodes in successors.
	(mark_used_regs): Add PHI case.
	(set_phi_alternative_reg): New function.
	(life_analysis): Assert that dead code elimination is not selected
	when in SSA form.
	* toplev.c (to_ssa_time): New variable.
	(from_ssa_time): Likewise.
	(compile_file): Zero to_ssa_time and from_ssa_time.
	Print time to convert to and from SSA.
	(rest_of_compilation): Time convert_to_ssa and convert_from_ssa.
	(print_time): Compute percent fraction as integer.
	* ssa.c (PHI_NODE_P): Moved to rtl.h.
	(convert_to_ssa): Check if we're already in SSA.
	Don't eliminate dead code in life_analysis.
	Rerun flow and life analysis at bottom.
	(eliminate_phi): Use canonical regnos when adding nodes.
	(mark_reg_in_phi): New function.
	(mark_phi_and_copy_regs): Likewise.
	(convert_from_ssa): Rerun life analysis at top.
	Use coalesced partition.
	Check for removing a phi node at the end of the block.
	(compute_coalesced_reg_partition): New function.
	(coalesce_regs_in_copies): Likewise.
	(coalesce_reg_in_phi): Likewise.
	(coalesce_regs_in_sucessor_phi_nodes): Likewise.
	(for_each_successor_phi): Likewise.
	(rename_context): New struct.
	(rename_block): Use a rename_context with rename_insn_1.  When
	renaming sets of a subreg, emit a copy of the entire reg first.
	(rename_insn_1): Treat data as a rename_context *.  Save current
	insn in set_data.
	(rename_set_data): Add field set_insn.
	* Makefile.in (HASHTAB_H): Move up in file.
	(OBSTACK_H): New macro.
	(collect2.o): Use OBSTACK_H in dependencies.
	(sdbout.o): Likewise.
	(emit-rtl.o): Likewise.
	(simplify-rtx.o): Likewise.
	(fix-header.o): Likewise.
	(OBJS):	Add conflict.o.
	(conflict.o): New rule.
	* basic-block.h: Include partition.h.
	(conflict_graph): New typedef.
	(conflict_graph_enum_fn): Likewise.
	(conflict_graph_new): New prototype.
	(conflict_graph_delete): Likewise.
	(conflict_graph_add): Likewise.
	(conflict_graph_conflict_p): Likewise.
	(conflict_graph_enum): Likewise.
	(conflict_graph_merge_regs): Likewise.
	(conflict_graph_print): Likewise.
	(conflict_graph_compute): Likewise.
	* conflict.c: New file.

From-SVN: r32981
2000-04-07 03:33:15 +00:00
Jason Merrill 943aa13d71 tinfo.cc (operator=): Use __builtin_strcmp.
* tinfo.cc (operator=): Use __builtin_strcmp.
	* tinfo2.cc (before): Likewise.

From-SVN: r32980
2000-04-06 18:13:41 -04:00
Alex Samuel 4e872036e8 rtl.h (INSN_P): New macro.
* rtl.h (INSN_P): New macro.
	(successor_phi_fn): New typedef.
	(for_each_successor_phi): New prototype.
	(in_ssa_form): New variable.
	(PHI_NODE_P): Likewise.
	* flow.c (calculate_global_regs_live): Add to new_live_at_end from
	phi nodes in successors.
	(mark_used_regs): Add PHI case.
	(set_phi_alternative_reg): New function.
	(life_analysis): Assert that dead code elimination is not selected
	when in SSA form.
	* toplev.c (to_ssa_time): New variable.
	(from_ssa_time): Likewise.
	(compile_file): Zero to_ssa_time and from_ssa_time.
	Print time to convert to and from SSA.
	(rest_of_compilation): Time convert_to_ssa and convert_from_ssa.
	(print_time): Compute percent fraction as integer.
	* ssa.c (PHI_NODE_P): Moved to rtl.h.
	(convert_to_ssa): Check if we're already in SSA.
	Don't eliminate dead code in life_analysis.
	Rerun flow and life analysis at bottom.
	(eliminate_phi): Use canonical regnos when adding nodes.
	(mark_reg_in_phi): New function.
	(mark_phi_and_copy_regs): Likewise.
	(convert_from_ssa): Rerun life analysis at top.
	Use coalesced partition.
	Check for removing a phi node at the end of the block.
	(compute_coalesced_reg_partition): New function.
	(coalesce_regs_in_copies): Likewise.
	(coalesce_reg_in_phi): Likewise.
	(coalesce_regs_in_sucessor_phi_nodes): Likewise.
	(for_each_successor_phi): Likewise.
	(rename_context): New struct.
	(rename_block): Use a rename_context with rename_insn_1.  When
	renaming sets of a subreg, emit a copy of the entire reg first.
	(rename_insn_1): Treat data as a rename_context *.  Save current
	insn in set_data.
	(rename_set_data): Add field set_insn.
	* Makefile.in (HASHTAB_H): Move up in file.
	(OBSTACK_H): New macro.
	(collect2.o): Use OBSTACK_H in dependencies.
	(sdbout.o): Likewise.
	(emit-rtl.o): Likewise.
	(simplify-rtx.o): Likewise.
	(fix-header.o): Likewise.
	(OBJS):	Add conflict.o.
	(conflict.o): New rule.
	* basic-block.h: Include partition.h.
	(conflict_graph): New typedef.
	(conflict_graph_enum_fn): Likewise.
	(conflict_graph_new): New prototype.
	(conflict_graph_delete): Likewise.
	(conflict_graph_add): Likewise.
	(conflict_graph_conflict_p): Likewise.
	(conflict_graph_enum): Likewise.
	(conflict_graph_merge_regs): Likewise.
	(conflict_graph_print): Likewise.
	(conflict_graph_compute): Likewise.
	* conflict.c: New file.

From-SVN: r32979
2000-04-06 21:22:49 +00:00
Jason Merrill 2c56187413 tlink.c (read_repo_files): Don't look for .rpo info for linker flags.
* tlink.c (read_repo_files): Don't look for .rpo info for
	linker flags.

From-SVN: r32978
2000-04-06 17:03:45 -04:00
J"orn Rennecke 9b4f640b5d * sh.h (STRUCT_VALUE, RETURN_IN_MEMORY): Define.
From-SVN: r32977
2000-04-06 20:43:12 +01:00
Joern Rennecke 2f6f4b9651 Fix Copyright.
From-SVN: r32976
2000-04-06 19:53:39 +01:00
J"orn Rennecke 05bca10208 lib1funcs.asm (___udivsi3_i4): ( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr only depends...
* config/sh/lib1funcs.asm (___udivsi3_i4):
	( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr
	only depends on FMOVD_WORKS.

From-SVN: r32975
2000-04-06 19:48:11 +01:00
J"orn Rennecke 2e4b78f621 lib1funcs.asm (___udivsi3_i4): When using fmovd, make double constant 8-byte aligned.
* config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd,
	make double constant 8-byte aligned.

From-SVN: r32974
2000-04-06 19:19:44 +01:00
Mark Mitchell 56e770bfd6 cp-tree.h (lang_decl_flags): Rename saved_inline to deferred.
* cp-tree.h (lang_decl_flags): Rename saved_inline to deferred.
	(DECL_SAVED_INLINE): Rename to ...
	(DECL_DEFERRED_FN): ... this.
	(in_function_p): Remove declaration.
	(mark_inline_for_output): Rename to ...
	(defer_fn): ... this.
	* decl.c (finish_function): Adjust call to mark_inline_for_output.
	(in_function_p): Remove definition.
	* decl2.c (saved_inlines): Rename to ...
	(deferred_fns): ... this.
	(saved_inlines_used): Rename to ...
	(deferred_fns_used): ... this.
	(mark_inline_for_output): Rename to ...
	(defer_fn): ... this.
	(finish_file): Adjust accordingly.
	(init_decl2): Likewise.
	* lex.c (cons_up_default_function): Likewise.
	* pt.c (mark_decl_instantiated): Likewise.
	(instantiate_decl): Don't set DECL_DEFER_OUTPUT under any
	circumstances.
	* rtti.c (get_tinfo_decl): Adjust call to mark_inline_for_output.
	* semantics.c (expand_body): Defer more functions.

From-SVN: r32973
2000-04-06 16:30:45 +00:00
Jakub Jelinek 1573b93398 sparc.md (movtf_insn_sp32, [...]): Accept loading 0.0 into GENERAL_REGS.
* config/sparc/sparc.md (movtf_insn_sp32, movtf_insn_vis_sp32,
	movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_hq_vis_sp64,
	movtf_no_e_insn_sp64): Accept loading 0.0 into GENERAL_REGS.
	(movtf_insn_sp64, movtf_insn_vis_sp64): Likewise.
	Accept storing GENERAL_REGS into offsetable memory.
	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Don't allow
	building a TFmode constant other than 0.0L into GENERAL_REGS.

From-SVN: r32972
2000-04-06 17:07:26 +02:00
Philippe De Muyter 0ea6d60cfd * MAINTAINERS: Added myself.
From-SVN: r32971
2000-04-06 14:58:05 +00:00
Nathan Sidwell 1388b247ab * g++.old-deja/g++.abi/vmihint.C: New test.
From-SVN: r32970
2000-04-06 14:12:34 +00:00
Clinton Popetz 030e2b5160 * regrename.c (regrename_optimize): Handle no REG_ALLOC_ORDER.
From-SVN: r32969
2000-04-06 13:52:59 +00:00
Neil Booth dabe43de84 cpp-ifparen.c, [...]: Add FSF copyright.
* cpp-ifparen.c, cpp-missingop.c, cpp-missingparen.c,
	cpp-shift.c, cpp-shortcircuit.c, cpp-unary.c:  Add FSF
	copyright.

From-SVN: r32968
2000-04-06 12:51:33 +00:00
Nathan Sidwell b7b30102a7 vec.cc: New file.
* vec.cc: New file.
	* Make-lang.in (CXX_LIB2FUNCS): Add it.
	(vec.o): Build it.
	* inc/cxxabi.h (__cxa_vec_new, __cxa_vec_ctor, __cxa_vec_dtor,
	__cxa_vec_delete): Declare.

From-SVN: r32967
2000-04-06 11:53:30 +00:00
Nathan Sidwell 6dfc58ed26 rtti.c (dfs_class_hint_mark): New static function.
* rtti.c (dfs_class_hint_mark): New static function.
	(dfs_class_hint_unmark): New static function.
	(class_hint_flags): Use them.

From-SVN: r32966
2000-04-06 09:42:03 +00:00
Zack Weinberg ff2b53efb1 cpphash.c (CPP_IS_MACRO_BUFFER, [...]): Delete.
* cpphash.c (CPP_IS_MACRO_BUFFER, FORWARD, PEEKC): Delete.
	(macro_cleanup): No need to cast pbuf->macro.
	(collect_expansion): Use _cpp_get_define_token.  Goto done if
	it returns VSPACE.  Remove check for trailing space after
	CPP_COMMENT.
	(_cpp_create_definition): Don't diddle flags here.  Return
	directly on error.
	(unsafe_chars): Handle c1 being EOF.
	(push_macro_expansion): Use unsafe_chars for both accidental-paste
	checks.  Don't push the buffer till after we're done with
	them.
	* cpplex.c (PEEKBUF, GETBUF, FORWARDBUF): New.
	(PEEKN, FORWARD, GETC, PEEKC): Use them.
	(cpp_push_buffer): Don't set new->alimit.  Set new->mark
	appropriately.
	(_cpp_parse_assertion): Don't NUL terminate.
	(_cpp_lex_token): Fix -traditional macro handling.  Don't skip
	hspace before calling _cpp_parse_assertion.  Remove all sets
	of only_seen_white. Treat '\f' as hspace.  Don't do anything
	special with '\n' here.
	(maybe_macroexpand): Handle T_EMPTY hash entries without
	pushing a buffer at all.
	(cpp_get_token): Handle clearing only_seen_white here.  Handle
	incrementing the line number here.  Clear
	potential_control_macro as well as only_seen_white, if
	appropriate.
	(cpp_get_non_space_token): Don't eat CPP_POP tokens.
	(_cpp_get_define_token): New function, basically like
	_cpp_get_directive_token was but doesn't eat horizontal space.
	Don't do anything with only_seen_white here.
	(_cpp_get_directive_token): Just call _cpp_get_define_token
	repeatedly till it returns non-hspace.

	* cpplib.c (PEEKN, FORWARD, GETC, PEEKC): Delete.
	(conditional_skip, skip_if_group): Return int.
	(DIRECTIVE_TABLE): Change origin of all conditional directives
	to "COND".
	(TRAD_DIRECT_P): New macro.
	(_cpp_handle_directive): Use _cpp_get_directive_token.  Issue
	an error for a bogus directive, unless -lang-asm.  Use
	TRAD_DIRECT_P. Loop calling handler functions till one returns
	zero.
	(get_macro_name): Don't diddle flags here.
	(do_define): Diddle flags here.  Use _cpp_get_directive_token.
	Create T_EMPTY nodes for #define macro /* nothing */.
	(do_undef): Don't copy the name.  Use _cpp_get_directive_token.
	Use hp->name when calling pass_thru_directive.
	(do_if, do_else, do_elif, do_ifdef, do_ifndef, conditional_skip):
	Return the result of conditional_skip and/or skip_if_group.
	Don't call _cpp_output_line_command.
	(consider_directive_while_skipping): Use _cpp_get_directive_token.
	Issue -Wtraditional warnings as appropriate.  Don't complain
	about unrecognized directives.  If we are to stop skipping,
	return the number of the directive that ended the skip.
	(skip_if_group): Use _cpp_get_directive_token.  Turn off macro
	expansion and line commands while skipping.  Return the result
	of consider_directive_while_skipping, if nonzero.
	(do_endif): Just set potential_control_macro here.
	(validate_else): Use _cpp_get_directive_token.
	(do_assert, do_unassert): Don't save pointers into the
	token_buffer across calls to the lexer.  Use
	_cpp_get_directive_token.

	* cpplib.h (cpp_buffer): Remove alimit and colno.  Make mark a
	pointer, not an offset.  Replace 'data', which was a generic
	pointer, with 'macro', which points to a struct hashnode.
	(cpp_reader): Add 'potential_control_macro' pointer.
	* cpphash.h (T_UNUSED): Replace with T_EMPTY.
	(CPP_BUF_GET, CPP_FORWARD): Delete.
	(CPP_IN_COLUMN_1, ADJACENT_TO_MARK): New macros.
	(CPP_IS_MACRO_BUFFER, CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK,
	ACTIVE_MARK_P): Update.
	(_cpp_get_define_token): New internal function.
	* cppfiles.c (read_include_file): Don't set fp->alimit or fp->colno.

From-SVN: r32965
2000-04-06 07:56:14 +00:00
Jeff Law edea368266 Daily bump.
From-SVN: r32964
2000-04-06 01:45:16 -06:00
Benjamin Kosnik 1709031301 configure.in (enable_libstdcxx_v3): Add.
2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>
            Martin v. Loewis  <martin@loewis.home.cs.tu-berlin.de>

        * configure.in (enable_libstdcxx_v3): Add.
        (target_libs): Add bits here to switch between libstdc++-v2 and
        libstdc++-v3.
        * config.if: And this file too.
        * Makefile.in: Add libstdc++-v3 targets.

Co-Authored-By: Martin v. Loewis <martin@loewis.home.cs.tu-berlin.de>

From-SVN: r32963
2000-04-06 06:48:16 +00:00
Benjamin Kosnik 7822500a66 configure.in: And here.
2000-04-05   Benjamin Kosnik  <bkoz@cygnus.com>

        * configure.in: And here.
        * configure: Regenerate.
        * acconfig.h: Add ENABLE_STD_NAMESPACE to set flag_honor_std if
        --enable-libstdcxx-v3 is passed at configure time.
        * config.h.in: Regenerate.

From-SVN: r32962
2000-04-06 06:47:52 +00:00
Benjamin Kosnik d312ec72ba decl2.c: Make flag_honor_std dependant on ENABLE_STD_NAMESPACE.
2000-04-05  Benjamin Kosnik  <bkoz@cygnus.com>

        * decl2.c: Make flag_honor_std dependant on ENABLE_STD_NAMESPACE.

From-SVN: r32961
2000-04-06 06:44:42 +00:00
Tom Tromey bc2874c902 re GNATS gcj/140 (gcj permits assignment to array length)
Fix for PR gcj/140:
	* parse.y (check_final_assignment): Recognize assignments to the
	`length' field of an array when generating class files.

From-SVN: r32960
2000-04-06 05:29:30 +00:00
Mark Mitchell 16d53b6439 cp-tree.h (instantiate_decl): Change prototype.
* cp-tree.h (instantiate_decl): Change prototype.
	* decl2.c (mark_used): Adjust call.
	* optimize.c (inlinable_function_p): Adjust handling of templates.
	* pt.c (do_decl_instantiation): Adjust call to instantiate_decl.
	(do_type_instantiation): Likewise.
	(instantiate_decl): Defer more templates.
	(instantiate_pending_templates): Adjust logic to handle inline
	friend functions.

From-SVN: r32959
2000-04-06 03:12:19 +00:00
Alexandre Petit-Bianco 256172c40c class.c (decl_hash): Prototype removed.
2000-04-05  Alexandre Petit-Bianco  <apbianco@cygnus.com>

	* class.c (decl_hash): Prototype removed.
	(decl_compare): Likewise.

(Fixes a warning problem.)

From-SVN: r32958
2000-04-05 18:01:11 -07:00
Mark Mitchell bedda2da7f final.c (final): Use xcalloc to allocate line_note_exists.
* final.c (final): Use xcalloc to allocate line_note_exists.
	* function.c (free_after_compilation): Free the temp_slots.
	(assign_stack_temp_for_type): Use xmalloc to allocate temp_slots.
	(combine_temp_slot): Free temp_slots when they get combined.
	(purge_addressof): Fix typo in comment.
	* stmt.c (mark_goto_fixup): Mark the fixup itself.
	(expand_fixup): Allocate the fixup with ggc_alloc_obj.

	* ggc.h: Include varray.h.
	(ggc_pending_trees): Declare.
	(ggc_mark_tree_children): Remove declaration.
	(ggc_mark_tree): Just push unmarked trees on ggc_pending_trees.
	* ggc-common.c (ggc_pending_trees): New variable.
	(ggc_mark_roots): Call ggc_mark_trees.
	(ggc_mark_tree_children): Rename to ggc_mark_trees.  Process all
	the ggc_pending_trees.
	* Makefile.in (GGC_H): New variable.  Use it throughout in place
	of ggc.h.

	* Makefile.in (GGC_H): New variable.  Use it throughout in place
	of ggc.h.

	* call.c: Don't include obstack.h.  Include ggc.h.
	(obstack_chunk_alloc): Don't define.
	(obstack_chunk_free): Likewise.
	(add_candidate): Allocate the z_candidate with ggc_alloc_obj.
	* decl.c (push_switch): Use xmalloc to allocate the cp_switch.
	(pop_switch): Free it.

	* decl2.c (grokclassfn): Set TREE_READONLY for PARM_DECLs.

	* dump.c (dequeue_and_dump): Don't try to print the bit_position
	if we don't have a DECL_FIELD_OFFSET.

	* Makefile.in (GGC_H): Add varray.h.

From-SVN: r32956
2000-04-06 00:51:25 +00:00
Tom Tromey e0fc4118fe re GNATS gcj/164 (compiler permits "volatile final" variables)
* parse.h (THIS_MODIFIER_ONLY): Changed meaning of `v' parameter.
	* parse.y (check_modifiers_consistency): Check for final/volatile
	clash.  Fixes PR gcj/164.

From-SVN: r32955
2000-04-06 00:43:27 +00:00
Tom Tromey 24969f074e configure: Rebuilt.
* configure: Rebuilt.
	* configure.in: Recognize --enable-java-awt.
	(AWT): New conditional.
	* Makefile.in: Rebuilt.
	* Makefile.am (toolexeclib_LTLIBRARIES): Build libgcjawt.la if
	requested.
	(libgcjawt_la_SOURCES): New macro.
	(EXTRA_libgcjawt_la_SOURCES): Likewise.
	(libgcjawt_la_DEPENDENCIES): Likewise.
	(libgcjawt_la_LIBADD): Likewise.
	(libgcjawt_la_LDFLAGS): Likewise.
	(libgcj.zip): Depend on cond_java_awt_source_files
	(cond_awt_java_source_files): New macro.
	(MOSTLYCLEANFILES): Added awto_files.
	(awto_files): New macro.  Use where javao_files used.
	(nat_headers): Use cond_awt_java_source_files.

From-SVN: r32954
2000-04-06 00:29:39 +00:00
Michael Meissner 76b785170b Recognize d30v-elf as d30v-unknown-elf
From-SVN: r32952
2000-04-06 00:23:39 +00:00
Richard Henderson dc17cc7bec * splay-tree.c (splay_tree_remove): New.
From-SVN: r32949
2000-04-05 17:13:50 -07:00