Commit Graph

32717 Commits

Author SHA1 Message Date
Neil Booth
f7114e1750 cpp.texi: Update for -MQ.
* cpp.texi: Update for -MQ.
        * cppinit.c (cpp_create_reader): Always create pfile->deps.
        (cpp_cleanup): Always free pfile->deps.
        (initialize_dependency_output): Don't create pfile->deps.
        (cpp_handle_option): Similarly.
        (OPT_MQ): New.
        * gcc.c (cpp_options): Handle -MQ.
        (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
        * mkdeps.c (base_name): Remove.
        (deps_init): Don't allocate vector space until it's needed.
        (deps_free): Only free vectors if allocated.
        (deps_add_target, deps_add_dep): Update for initial allocation.
        (deps_add_default_target): Don't strip to the base_name.

From-SVN: r38735
2001-01-06 00:15:29 +00:00
DJ Delorie
a64761a3ca Implement __builtin_return_address (0)
From-SVN: r38734
2001-01-06 00:00:35 +00:00
Zack Weinberg
f4cdc36834 cpplib.h (struct cpp_reader): Add help_only field.
* cpplib.h (struct cpp_reader): Add help_only field.
	* cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
	(cpp_handle_option): Set pfile->help_only if we see -h,
	--help, -target-help, or --version.  Print version string but
	do not set help_only if we see -v or -version.  Make text
	printed by -v match that printed by (-)-version.

	* cppmain.c (main): Exit after option parsing if
	pfile->help_only is true.

	* toplev.c (independent_decode_option): Call print_version,
	then exit, if we see --version (but not -version).
	(print_version): Split lengthy message into two lines.

From-SVN: r38733
2001-01-05 23:41:00 +00:00
Nick Clifton
3326b760b3 Use alloca to create temporary string for initialisation before calling
ggc_alloc_string.

From-SVN: r38732
2001-01-05 23:31:43 +00:00
Bryce McKinlay
a7fabf19be * java/io/PipedReader: Synchronize on "lock" instead of this.
From-SVN: r38731
2001-01-05 23:30:50 +00:00
Michael Hayes
75b7557d49 rtl.h (print_simple_rtl): New.
* rtl.h (print_simple_rtl): New.
	* print-rtl.c (print_simple_rtl): New.
	(flag_simple): New.
	(print_rtx): Disable printing of flags and modes, etc.,
        if `flag_simple` nonzero.

From-SVN: r38730
2001-01-05 23:30:02 +00:00
Zack Weinberg
b05467dc15 function.c (fixup_var_refs): Use push_to_full_sequence where possible.
* function.c (fixup_var_refs): Use push_to_full_sequence where
	possible.

From-SVN: r38729
2001-01-05 23:23:26 +00:00
Michael Meissner
b883f80146 Declare flag_reorder_blocks and flag_rename_registers
From-SVN: r38728
2001-01-05 22:56:08 +00:00
Alexandre Oliva
1cca43ea27 Note that INSN_PTR may be the note at the beginning of a block
From-SVN: r38726
2001-01-05 22:06:56 +00:00
Alexandre Oliva
336bc4aede 991228-1.c: Take word endianness into account.
* gcc.c-torture/execute/991228-1.c: Take word endianness into
account.

From-SVN: r38725
2001-01-05 22:06:29 +00:00
DJ Delorie
cc1fe44fe8 function.c (reorder_blocks): Make sure the flags are all reset before using them to mark blocks...
* function.c (reorder_blocks): Make sure the flags are all reset
before using them to mark blocks, else a second invocation will
corrupt the block chain.
(reorder_blocks_0): New, resets the flags.

From-SVN: r38724
2001-01-05 16:13:42 -05:00
J"orn Rennecke
8b03b9843b cse.c (find_comparison_args): Stop if the argument is known to be constant.
* cse.c (find_comparison_args): Stop if the argument is known to
	be constant.

From-SVN: r38723
2001-01-05 20:42:30 +00:00
Alexandre Oliva
18a7c2a7a1 sh.md (movdf): When splitting load into pair of registers...
* config/sh/sh.md (movdf): When splitting load into pair of
registers, don't clobber the register used in the address too
early.

From-SVN: r38722
2001-01-05 20:30:40 +00:00
Jeffrey Oldham
fcbd8ef220 varasm.c (mark_constant_pool): Improve initial comments.
2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>

	* varasm.c (mark_constant_pool): Improve initial comments.
	(mark_constants): Move marking of constants to mark_constant.
	(mark_constant): New function to recursively mark all constants
	referred to by a constant.

From-SVN: r38721
2001-01-05 20:25:09 +00:00
Catherine Moore
ebb0cdf335 (dbxout_parms): Handle invisible ref where decl is a REG
From-SVN: r38720
2001-01-05 15:15:24 -05:00
Phil Edwards
3b4e6a1644 lang-options.h: Bring comment in line with reality.
2001-01-05  Phil Edwards  <pme@sources.redhat.com>

	* cp/lang-options.h:  Bring comment in line with reality.
	* f/lang-options.h:  Likewise.
	* java/lang-options.h:  Likewise.
	* objc/lang-options.h:  Likewise.
	* ch/lang-options.h:  Likewise.
	* f/g77.texi:  And update the manual.

From-SVN: r38719
2001-01-05 19:12:21 +00:00
Marek Michalkiewicz
dcfb1a361b avr-protos.h (avr_peep2_scratch_safe): Prototype.
* config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
	* config/avr/avr.c (avr_peep2_scratch_safe): New function.
	* config/avr/avr.md (all peepholes that request a scratch register):
	Call it, FAIL the peephole if not safe (in interrupt functions).

Co-Authored-By: Denis Chertykov <denisc@overta.ru>

From-SVN: r38718
2001-01-05 22:08:46 +03:00
Mark Mitchell
cef3d50c9f * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
From-SVN: r38717
2001-01-05 18:48:12 +00:00
Joseph Myers
341e3d1169 builtins.def (BUILT_IN_CONJ, [...]): Define.
* builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
	Define.
	* builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
	BUILT_IN_CREAL and BUILT_IN_CIMAG.
	* c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
	conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
	(expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
	BUILT_IN_CIMAG.
	* extend.texi: Document these builtins.

testsuite:
	* gcc.c-torture/execute/builtin-complex-1.c: New test.

From-SVN: r38716
2001-01-05 18:24:08 +00:00
Daniel Berlin
604bb87de9 VECTOR_TYPE fixes for aliasing, and dwarf2 output.
From-SVN: r38715
2001-01-05 17:22:30 +00:00
Nathan Sidwell
220bce48e5 parse.y (template_datadef): Check for error_mark_node.
cp:
	* parse.y (template_datadef): Check for error_mark_node.
testsuite:
	* g++.old-deja/g++.pt/crash62.C: New test.

From-SVN: r38714
2001-01-05 16:35:36 +00:00
Bruce Korb
15fe1a7ed1 fix exit and atexit calls for vax-*-bsd systems
From-SVN: r38713
2001-01-05 16:28:58 +00:00
Richard Earnshaw
b088898824 arm.md (ldmsi_postinc): Avoid use of match_dup between input and output operands.
* arm.md (ldmsi_postinc): Avoid use of match_dup between input and
output operands.  Use arm_hard_register_operand for operand 4.
(stmsi_postinc): Similarly.
(ldmsi): Use arm_hard_register_operand for opernand 2.
(stmsi): Similarly.
* arm.c (arm_hard_register_operand): New function.
* arm-protos.h (arm_hard_register_operand): Prototype it.

* arm.h (HARD_REGNO_RENAME_OK): Define.

From-SVN: r38712
2001-01-05 16:15:59 +00:00
Jan Hubicka
90a747032a simplify-rtx.c (cfc_args): add "unordered" field.
* simplify-rtx.c (cfc_args): add "unordered" field.
	(check_fold_consts): Set unordered field.
	(simplify_relational_operation): Simplify the unordered
	comparisons.

	* reg-stack.c (swap_rtx_condition): Ensure that the transformation
	is valid.

	* emit-rtl.c (try_split): Fix code to mark labels.
	* jump.c (mark_jump_label): Make global.
	* rtl.h (mark_jump_label): Declare.

	* predict.c (estimate_probability): Handle unordred comparisons.

From-SVN: r38711
2001-01-05 15:34:39 +00:00
Nathan Sidwell
bfa2cb330e cp-tree.def (DEFAULT_ARG): Make `x' class.
cp:
	* cp-tree.def (DEFAULT_ARG): Make `x' class.

From-SVN: r38710
2001-01-05 11:41:27 +00:00
Jeff Law
4908252462 Daily bump.
From-SVN: r38709
2001-01-05 01:45:11 -07:00
Bryce McKinlay
865b4ea73f PipedInputStream: Rewrote to be simpler and more correct.
* java/io/PipedInputStream: Rewrote to be simpler and more correct.
	* java/io/PipedOutputStream: Updated to match new PipedInputStream.
	* java/io/PipedReader: New implementation based on new
	PipedInputStream.
	* java/io/PipedWriter: Updated to match new PipedOutputStream.

From-SVN: r38708
2001-01-05 08:23:51 +00:00
Neil Booth
a5a4ce3c3c cpp.texi: Update for -MP.
* cpp.texi: Update for -MP.  Clarify behaviour of -MT.
        * cppinit.c (initialize_dependency_output):  Update.
        (cpp_finish): Output dummy targets for -MP.
        (OPT_MP): New.
        (cpp_handle_option): Handle -MP.  Don't quote -MT options.
        * cpplib.h (struct cpp_options): Add deps_phony_targets.
        * gcc.c (cpp_options): Update to handle -MP.
        * mkdeps.c (deps_add_target, deps_add_default_target): Update
        to quote only the default target.
        (deps_phony_targets): Insert a preceding newline.  Rename from
        deps_dummy_targets for consistency.
        * mkdeps.h: Update
java:
        * lang.c (lang_decode_option): Change -MA to -MP.
        * jcf-depend.c (jcf_dependency_add_target, jcf_dependency_set_target):
        Update to new prototype; do quote targets.
        (jcf_dependency_write): Update.

From-SVN: r38707
2001-01-05 07:50:24 +00:00
Alexandre Oliva
97fc4caf7d calls.c (emit_library_call_value_1): Support INIT_CUMULATIVE_LIBCALL_ARGS.
* calls.c (emit_library_call_value_1): Support
INIT_CUMULATIVE_LIBCALL_ARGS.
* tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.

From-SVN: r38706
2001-01-05 07:38:47 +00:00
Richard Henderson
ffc5c6a984 c-decl.c (finish_struct): Detect flexible array members used in an inappropriate context.
* c-decl.c (finish_struct): Detect flexible array members
        used in an inappropriate context.
        * c-typeck.c (really_start_incremental_init): Special case
        constructor_max_index for zero length arrays.
        (pop_init_level): Allow initialization of flexible array
        members.  Deprecate initialization of zero length arrays.
        Don't issue missing initializer warning for flexible array
        members or zero length arrays.
        (process_init_element): Don't dereference null DECL_SIZE.
        * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
        Don't abort for empty constructors.  Use size_binop
        (output_constructor): Add commentary regarding zero length
        array futures.  Abort if we try to initialize an array of
        unspecified length with a non-empty constructor in the middle
        of a structure.

        * extend.texi (Zero Length): Update and clarify documentation
        on static initialization.

From-SVN: r38705
2001-01-04 21:58:23 -08:00
Richard Henderson
00de56c7d0 20000926-1.c: Update expected warnings.
* gcc.dg/20000926-1.c: Update expected warnings.
        * gcc.dg/array-2.c: Likewise.
        * gcc.dg/array-4.c: Also validate flexible array members.
        * gcc.dg/c99-flex-array-1.c: New.

From-SVN: r38704
2001-01-04 21:56:00 -08:00
Michael Hayes
69f6e760a8 c4x.c (c4x_expand_prologue): Don't compile an ISR with more than 32767 words of local storage.
* config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
	with more than 32767 words of local storage.

From-SVN: r38703
2001-01-05 04:09:02 +00:00
Michael Hayes
06dd70c652 c4x.c (c4x_init_builtins): Remove builtin support for 'abs', 'labs', and 'fabs'.
* config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
	for 'abs', 'labs', and 'fabs'.
	(c4x_expand_builtin): Likewise.
	* config/c4x/c4x.h (enum c4x_builtins): Likewise.

From-SVN: r38702
2001-01-05 03:58:12 +00:00
Alexandre Oliva
99e87c1003 sh.md (prget, prset): New insn types.
* config/sh/sh.md (prget, prset): New insn types.
(return delay slot): Dont' allow prset.
(call, sfunc delay slot): Don't allow prget.
(movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
for prset and prget.

From-SVN: r38701
2001-01-05 03:46:12 +00:00
Michael Hayes
f1d4ac807f loop.h (struct loop_reg): New.
* loop.h (struct loop_reg): New.
	(struct loop_regs): Change to use array of `struct loop_reg'.
	* loop.c: Replace assortment of varrays with single regs array.
	(count_one_set): Delete may_not_move array argument
	and use regs array instead.  All caller's changed.
	(count_loop_regs_set): Delete may_not_move and single_usage
	arguments and use regs array instead.  All caller's changed.
	(find_single_use_in_loop): Replace usage array argument with pointer
	to regs structure.  All caller's changed.
	(loop_optimize): Delete `moved_once' array.

From-SVN: r38700
2001-01-05 03:25:58 +00:00
Michael Hayes
576d0b547d loop.c (prescan_loop): Set loop_info->has_nonconst_call.
* loop.c (prescan_loop): Set loop_info->has_nonconst_call.
	Use it instead of loop_info->has_call for scanning loop mems.
	(check_dbra_loop): Replace loop_info->has_call test with
	loop_info->has_nonconst_call.

From-SVN: r38699
2001-01-05 02:51:18 +00:00
Matthew Hiller
616af7ee28 sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used for TARGET_SH3E.
* config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
for TARGET_SH3E.

From-SVN: r38698
2001-01-05 01:58:04 +00:00
Bryce McKinlay
7ae30a9196 * java/lang/Thread.java: Update comment.
From-SVN: r38697
2001-01-05 00:31:45 +00:00
Joseph Myers
32812a4033 fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST...
* fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
	use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.

testsuite:
	* gcc.c-torture/compile/20001222-1.x: Remove.

From-SVN: r38696
2001-01-05 00:03:35 +00:00
Joseph Myers
eaa7c03f50 c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
* c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
	(flag_short_double, flag_short_wchar): Define.
	(c_common_nodes_and_builtins): Create many tree nodes shared
	between C and C++ here instead of in cp/decl.c and ...
	* c-decl.c (init_decl_processing): ... here.
	(SIZE_TYPE, WCHAR_TYPE): Don't define.
	(flag_short_double, flag_short_wchar): Don't define.
	(record_builtin_type): New function.
	(build_void_list_node): New function.
	* c-common.h (flag_short_double, flag_short_wchar,
	record_builtin_type, build_void_list_node): Declare.

cp:
	* decl.c (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Don't define.
	(record_builtin_type): Make non-static.
	(flag_short_double): Don't declare.
	(init_decl_processing): Remove the creation of many tree nodes now
	in c_common_nodes_and_builtins.
	(build_void_list_node): New function.
	* decl2.c (flag_short_double, flag_short_wchar): Don't define.
	* cp-tree.h (flag_short_wchar): Don't declare.

From-SVN: r38695
2001-01-04 23:53:54 +00:00
J"orn Rennecke
e2a5f96bbf integrate.c (expand_inline_function): Don't put a virtual register into the reg map.
* integrate.c (expand_inline_function): Don't put a virtual
	register into the reg map.

	* function.c (fixup_var_refs_1): If force_operand didn't put
	the address into the target, move it there.

From-SVN: r38694
2001-01-04 23:28:00 +00:00
Benjamin Kosnik
e9049f5741 std_cwctype.h: Include std_cwchar.h for wint_t.
2001-01-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_std/bits/std_cwctype.h: Include std_cwchar.h for wint_t.
	* testsuite/17_intro/header_cwctype.cc (main): New file.

	* src/Makefile.am (base_headers): Change.
	* include/bits/std_string.h: And here.
	* include/bits/string.tcc: Tweaks, move to...
	* include/bits/basic_string.tcc: ...Here.
	* src/string-inst.cc: Simplify, just instantiate the whole class,
	not member-by-member.

From-SVN: r38693
2001-01-04 21:57:30 +00:00
Mark Mitchell
2be510b877 Special-case tree_decl/tree_list allocations.
* ggc-page.c (OBJECT_PER_PAGE): Reimplement.
	(OBJECT_SIZE): New macro.
	(NUM_EXTRA_ORDER): Likewise.
	(extra_order_size_table): New variable.
	(NUM_ORDERS): New macro.
	(objects_per_page_table): New variable.
	(object_size_table): New variable.
	(G.pages): Use NUM_ORDERS to bound the array.
	(G.page_tails): Likewise.
	(DIV_ROUND_UP): Remove.
	(BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
	(alloc_page): Use OBJECT_SIZE.
	(size_lookup): Don't make it const.
	(ggc_alloc): Use OBJECT_SIZE.
	(ggc_set_mark): Likewise.
	(ggc_get_size): Likewise.
	(init_ggc): Set up the object_size_table, objects_per_page_table,
	and adjust size_lookup.
	(ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
	(ggc_pop_context): Use NUM_ORDERS.
	(clear_marks): Likewise.
	(sweep_pages): Likewise.
	(poison_pages): Likewise.
	(ggc_print_statistics): Use OBJECT_SIZE.

From-SVN: r38692
2001-01-04 21:18:27 +00:00
Richard Kenner
bf1aaf0ac6 varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
* varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
	Only call array_size_for_constructor if last field and array type
	with no upper bound.

From-SVN: r38691
2001-01-04 15:58:20 -05:00
Philip Blundell
ceebdb0980 arm.c (arm_gen_constant): Prefer to emit constants from bit 31 downwards, if this requires no more insns.
2001-01-04  Philip Blundell  <philb@gnu.org>

	* config/arm/arm.c (arm_gen_constant): Prefer to emit constants
	from bit 31 downwards, if this requires no more insns.
	(count_insns_for_constant): New helper function for above.

From-SVN: r38690
2001-01-04 20:19:48 +00:00
Alexandre Oliva
1fd4f14139 * gencodes.c (output_predicate_decls): Remove empty initializer.
From-SVN: r38689
2001-01-04 20:10:36 +00:00
Mark Mitchell
519c98068b call.c (build_conv): Don't use build1 for USER_CONV.
* call.c (build_conv): Don't use build1 for USER_CONV.
	* pt.c (tsubst_copy): Or for PREINCREMENT_EXPR and similar nodes.

From-SVN: r38688
2001-01-04 19:28:56 +00:00
Richard Kenner
7ffcb17f49 * gcc.c-torture/execute/built-in-setjmp.c: New.
From-SVN: r38687
2001-01-04 14:02:01 -05:00
Mark Mitchell
3af4c2573f tree.c (copy_node): Remove documentation about obstacks.
* tree.c (copy_node): Remove documentation about obstacks.
	(buidl1): Check that nobody tries to build 2-argument nodes this
	way.

	* call.c (build_conv): Don't use build1 for USER_CONV.
	* pt.c (tsubst_copy): Or for PREINCREMENT_EXPR and similar nodes.

From-SVN: r38686
2001-01-04 19:01:22 +00:00
Kaveh R. Ghazi
a41d085545 sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and fp_high_losum_p.
* sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
	fp_high_losum_p.

From-SVN: r38685
2001-01-04 18:54:14 +00:00