Commit Graph

27371 Commits

Author SHA1 Message Date
Jeff Law
002e89d374 Daily bump.
From-SVN: r33023
2000-04-08 01:45:08 -06:00
Neil Booth
c6c5d57825 cpp-nullchar.c: Remove test as embedded nulls cause problems.
* cpp-nullchar.c:  Remove test as embedded nulls
	cause problems.

From-SVN: r33022
2000-04-08 05:09:33 +00:00
Kaveh R. Ghazi
b0340202d1 * basic-block.h (conflict_graph_enum_fn): K&R fix.
From-SVN: r33021
2000-04-08 05:06:29 +00:00
Neil Booth
ed343779f4 Correct merge conflict
From-SVN: r33020
2000-04-08 05:03:43 +00:00
Kaveh R. Ghazi
3facde269a tree.c (tree_expr_nonnegative_p): New function.
* tree.c (tree_expr_nonnegative_p): New function.

        * tree.h (tree_expr_nonnegative_p): Declare.

        * c-typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to
        elide some sign_compare warnings.
        (build_conditional_expr): Likewise.

cp:
        * typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to elide
        some sign_compare warnings.

From-SVN: r33019
2000-04-08 04:45:18 +00:00
John Wehle
155d8a473c i386.md (ashrsi3, [...]): Fix typo.
* i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo.

	* i386.md (floathisf2, floathidf2, floathixf2): New patterns.
	* i386.c (print_operand): Use the proper suffix for a 387 HImode
	operand.  Abort if a 387 operand has an unsupported size.

From-SVN: r33018
2000-04-08 04:33:28 +00:00
Kaveh R. Ghazi
4ddf4d7b81 * gcc.dg/compare2.c: New test.
From-SVN: r33016
2000-04-08 04:17:59 +00:00
Neil Booth
65232ce915 * gcc.dg/cpp-nullchar.c: New test.
From-SVN: r33015
2000-04-08 04:15:20 +00:00
Neil Booth
4db32ec692 * cpp-nullchar.c: New test.
From-SVN: r33014
2000-04-08 04:12:53 +00:00
Neil Booth
64aaf40718 cppexp.c (parse_charconst): Null does not end character constants.
* cppexp.c (parse_charconst): Null does not end character
	constants.
	* cppinit.c (ISTABLE): Null character handled as whitespace.
	* cpplex.c (null_warning):  new function.
	(skip_string): Emit warning if nulls encountered.
	(_cpp_skip_hspace): Emit warning if nulls encountered.
	(_cpp_lex_token): Emit warning if nulls encountered.  Drop
	them.
	* cpp.texi: Update.

From-SVN: r33013
2000-04-08 04:00:02 +00:00
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