Commit Graph

32825 Commits

Author SHA1 Message Date
Michael Hayes c804f3f88d loop.c (debug_biv, debug_giv): New.
* loop.c (debug_biv, debug_giv): New.
	(loop_biv_dump): Break out from ...
	(record_biv): ... here.
	(loop_giv_dump): Break out from ...
	(record_giv): ... here.
	(loop_bivs_check): Use print_simple_rtl.
	* unroll.c (loop_iterations): Use print_simple_rtl.

From-SVN: r38744
2001-01-06 03:24:58 +00:00
Benjamin Kosnik d358ecd01f [multiple changes]
2001-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	Fix 27_io/filebuf_members.cc
	* src/localename.cc (locale::_Impl::_Impl(const _Impl& __imp,
	const string& __name, category __cat, size_t __refs): Set
	_M_has_name with _M_name.
	* include/bits/localefwd.h (locale::operator!=): Protect member
	function call with this->.
	* src/locale.cc (locale::operator==): Make fast checks first.
	* include/bits/basic_ios.tcc (basic_ios::init): Simplify.

	* include/bits/ios_base.h (_M_synced_with_stdio): Add data member
	to ios_base::Init.
	* src/ios.cc (ios_base::Init::Init): Initialize here.
	(ios_base::sync_with_stdio): Set here.

2001-01-04  Loren J. Rittle  <ljrittle@acm.org>

        * config/c_io_stdio.cc (__basic_file<_CharT>::sys_open()): On
        systems that support it, call dup() before fdopen().

From-SVN: r38742
2001-01-06 02:44:11 +00:00
John David Anglin d492b0963a pa.md (return, [...]): Modify patterns to prevent regrename mucking with the return pointer.
* pa.md (return, return_internal): Modify patterns to prevent regrename
	mucking with the return pointer.

From-SVN: r38741
2001-01-05 18:12:02 -07:00
Mike Stump 476e49bde1 Testcase for recent checkin.
From-SVN: r38740
2001-01-06 01:02:04 +00:00
Mike Stump a4dff5f3b0 varasm.c (assemble_name): Ensure we output the stripped name.
* varasm.c (assemble_name): Ensure we output the stripped name.
Fixes s35520.C.

From-SVN: r38739
2001-01-06 01:00:23 +00:00
Richard Henderson 1917ef852c Update copyright.
From-SVN: r38738
2001-01-05 16:59:05 -08:00
Richard Henderson f7d2b0ed70 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
From-SVN: r38737
2001-01-05 16:57:48 -08:00
Nick Clifton 0426e04997 Faster __mulsi routine
From-SVN: r38736
2001-01-06 00:46:33 +00:00
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