1. 07 Apr, 2000 22 commits
    • flow.c (loop_depth): Remove. · 62828c00
      	* 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
      Richard Henderson committed
    • Fix filename for block_lump_real_i4 patch. · 4f020711
      From-SVN: r33011
      Joern Rennecke committed
    • Fix comment. · ebdfc3b7
      From-SVN: r33010
      Joern Rennecke committed
    • Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H) not the raw files. · 03492bae
              * Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H)
              not the raw files.
      
      From-SVN: r33009
      Richard Henderson committed
    • cpplib.c (do_elif): Skip the rest of the line if we're not going to bother evaluating it. · f787c583
      	* 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
      Zack Weinberg committed
    • Fix nit. · fbc18d19
      	* config/ia64/ia64.c: Delete stdio.h and ctype.h includes.
      
      From-SVN: r33007
      Jim Wilson committed
    • vmihint.C: Adjust __vmi_class_type_info member name. · e8ff28b4
      	* g++.old-deja/g++.abi/vmihint.C: Adjust __vmi_class_type_info
      	member name.
      
      From-SVN: r33005
      Nathan Sidwell committed
    • Rename abi::__vmi_class_type_info members. · 7b820993
      	* 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
      Nathan Sidwell committed
    • t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove. · a9e6777f
      	* 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
      Jakub Jelinek committed
    • alpha.c (alpha_emit_conditional_move): Fail if we discover we need a pseudo and… · 000ca373
      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
      Richard Henderson committed
    • rtl.def (COND_EXEC): New. · 0c99ec5c
              * 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
      Richard Henderson committed
    • ggc.h (struct rtx_def): Forward declare. · 4c85a96d
              * 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
      Richard Henderson committed
    • gcse.c (gcse_main): Don't rebuild the CFG here. · a18820c6
              * 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
      Richard Henderson committed
    • basic-block.h (merge_blocks_nomove): Declare. · dc108b7a
              * 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
      Richard Henderson committed
    • tinfo.cc (convert_to_base): New function. · 1e143002
      	* 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
      Nathan Sidwell committed
    • ssa.c (compute_conservative_reg_partition): Declare with void arguments. · 62771d51
      	* 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
      Alex Samuel committed
    • Daily bump. · 4eda98a6
      From-SVN: r32991
      Jeff Law committed
    • genrecog.c (*): Rename _last_insn to last_insn. · 4e9887c7
              * 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
      Richard Henderson committed
    • * flow.c (compute_flow_dominators): Free worklist. · 391b788c
      From-SVN: r32983
      Richard Henderson committed
    • Michael Matz <matzmich@cs.tu-berlin.de> · 987db028
      	Michael Matz  <matzmich@cs.tu-berlin.de>
              * flow.c (compute_flow_dominators): Process blocks FIFO not LIFO.
      
      From-SVN: r32982
      Richard Henderson committed
    • Forgot the ChangeLog entry in this commit; here it is. · 4669b5ae
      	* 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
      Alex Samuel committed
  2. 06 Apr, 2000 18 commits
    • tinfo.cc (operator=): Use __builtin_strcmp. · 943aa13d
      	* tinfo.cc (operator=): Use __builtin_strcmp.
      	* tinfo2.cc (before): Likewise.
      
      From-SVN: r32980
      Jason Merrill committed
    • rtl.h (INSN_P): New macro. · 4e872036
      	* 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
      Alex Samuel committed
    • tlink.c (read_repo_files): Don't look for .rpo info for linker flags. · 2c561874
      	* tlink.c (read_repo_files): Don't look for .rpo info for
      	linker flags.
      
      From-SVN: r32978
      Jason Merrill committed
    • * sh.h (STRUCT_VALUE, RETURN_IN_MEMORY): Define. · 9b4f640b
      From-SVN: r32977
      J"orn Rennecke committed
    • Fix Copyright. · 2f6f4b96
      From-SVN: r32976
      Joern Rennecke committed
    • lib1funcs.asm (___udivsi3_i4): ( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant):… · 05bca102
      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
      J"orn Rennecke committed
    • lib1funcs.asm (___udivsi3_i4): When using fmovd, make double constant 8-byte aligned. · 2e4b78f6
      	* config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd,
      	make double constant 8-byte aligned.
      
      From-SVN: r32974
      J"orn Rennecke committed
    • cp-tree.h (lang_decl_flags): Rename saved_inline to deferred. · 56e770bf
      	* 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
      Mark Mitchell committed
    • sparc.md (movtf_insn_sp32, [...]): Accept loading 0.0 into GENERAL_REGS. · 1573b933
      	* 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
      Jakub Jelinek committed
    • * MAINTAINERS: Added myself. · 0ea6d60c
      From-SVN: r32971
      Philippe De Muyter committed
    • * g++.old-deja/g++.abi/vmihint.C: New test. · 1388b247
      From-SVN: r32970
      Nathan Sidwell committed
    • cpp-ifparen.c, [...]: Add FSF copyright. · dabe43de
      	* cpp-ifparen.c, cpp-missingop.c, cpp-missingparen.c,
      	cpp-shift.c, cpp-shortcircuit.c, cpp-unary.c:  Add FSF
      	copyright.
      
      From-SVN: r32968
      Neil Booth committed
    • vec.cc: New file. · b7b30102
      	* 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
      Nathan Sidwell committed
    • rtti.c (dfs_class_hint_mark): New static function. · 6dfc58ed
      	* rtti.c (dfs_class_hint_mark): New static function.
      	(dfs_class_hint_unmark): New static function.
      	(class_hint_flags): Use them.
      
      From-SVN: r32966
      Nathan Sidwell committed
    • cpphash.c (CPP_IS_MACRO_BUFFER, [...]): Delete. · ff2b53ef
      	* 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
      Zack Weinberg committed
    • Daily bump. · edea3682
      From-SVN: r32964
      Jeff Law committed
    • configure.in (enable_libstdcxx_v3): Add. · 17090313
      
      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
      Benjamin Kosnik committed