Commit Graph

32786 Commits

Author SHA1 Message Date
Neil Booth cd2a3ba227 toplev.c (main): Call the front-end specific post_options hook if one is given.
* toplev.c (main): Call the front-end specific post_options
        hook if one is given.
        * toplev.h (struct_lang_hooks, lang_hooks): New.
        * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
        for the C front end.
        * cp/decl2.c (cxx_post_options, lang_hooks): Implement
        lang_hooks for the C++ front end.
        * objc/objc-act.c (objc_post_options, lang_hooks): Implement
        lang_hooks for the ObjC front end.
        * f/com.c (lang_hooks): Hooks for the Fortran front end.
        * java/lang.c (lang_hooks): Hooks for the Java front end.

From-SVN: r38757
2001-01-07 03:34:28 +00:00
Neil Booth 65289a3a42 c-lex.c (init_c_lex): Request #define / #undef callbacks for verbose DWARF[2] debugging.
* c-lex.c (init_c_lex): Request #define / #undef callbacks
        for verbose DWARF[2] debugging.
        (cb_define, cb_undef): The new callbacks.
        * toplev.h (debug_define, debug_undef): Make const correct.
        * toplev.c (debug_define, debug_undef): Similarly.  Do not
        perform the verbosity tests here anymore.

From-SVN: r38756
2001-01-07 03:25:07 +00:00
Alexandre Oliva f759eb8bf0 reload.c (subst_reloads): Take INSN argument.
* reload.c (subst_reloads): Take INSN argument.  When
replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
* reload.h (subst_reloads): Adjust prototype.
* reload1.c (reload_as_needed): Pass INSN to subst_reloads.
* jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
present in JUMP_INSNs and copy them to JUMP_LABEL.
* flow.c (find_label_refs, find_basic_blocks_1): Skip
JUMP_INSNs and insns with REG_LABELs that are followed by
JUMP_INSNs with the same REG_LABEL.
* sched-rgn.c (is_cfg_nonregular): Likewise.
* rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
note is available.
* unroll.c (unroll_loop): Look for REG_LABEL notes in
JUMP_INSNs too.
* rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.

From-SVN: r38755
2001-01-07 02:26:51 +00:00
Anthony Green 0e2e89fd2e Fix comments for doclets
From-SVN: r38754
2001-01-06 23:28:40 +00:00
Alexandre Oliva a7c5235271 * gcc.c-torture/execute/20010106-1.c: New test.
From-SVN: r38753
2001-01-06 23:15:05 +00:00
Richard Henderson 587f56c241 loop.c (scan_loop): Use xcalloc for the regs array.
* loop.c (scan_loop): Use xcalloc for the regs array.
        (load_mems_and_recount_loop_regs_set): Zero the new memory
        received from xrealloc.

From-SVN: r38752
2001-01-06 15:13:58 -08:00
Joseph Myers cd5662732a format.exp: New file.
* gcc.dg/format/format.exp: New file.
	* gcc.dg/c90-printf-1.c: Rename to gcc.dg/format/c90-printf-1.c.
	* gcc.dg/c90-printf-2.c: Rename to gcc.dg/format/c90-printf-2.c.
	* gcc.dg/c90-printf-3.c: Rename to gcc.dg/format/c90-printf-3.c.
	* gcc.dg/c94-printf-1.c: Rename to gcc.dg/format/c94-printf-1.c.
	* gcc.dg/c99-printf-1.c: Rename to gcc.dg/format/c99-printf-1.c.
	* gcc.dg/c99-printf-2.c: Rename to gcc.dg/format/c99-printf-2.c.
	* gcc.dg/c99-printf-3.c: Rename to gcc.dg/format/c99-printf-3.c.
	* gcc.dg/c90-scanf-1.c: Rename to gcc.dg/format/c90-scanf-1.c.
	* gcc.dg/c90-scanf-2.c: Rename to gcc.dg/format/c90-scanf-2.c.
	* gcc.dg/c90-scanf-3.c: Rename to gcc.dg/format/c90-scanf-3.c.
	* gcc.dg/c90-scanf-4.c: Rename to gcc.dg/format/c90-scanf-4.c.
	* gcc.dg/c94-scanf-1.c: Rename to gcc.dg/format/c94-scanf-1.c.
	* gcc.dg/c99-scanf-1.c: Rename to gcc.dg/format/c99-scanf-1.c.
	* gcc.dg/c99-scanf-2.c: Rename to gcc.dg/format/c99-scanf-2.c.
	* gcc.dg/c99-scanf-3.c: Rename to gcc.dg/format/c99-scanf-3.c.
	* gcc.dg/c90-strftime-1.c: Rename to gcc.dg/format/c90-strftime-1.c.
	* gcc.dg/c90-strftime-2.c: Rename to gcc.dg/format/c90-strftime-2.c.
	* gcc.dg/c99-strftime-1.c: Rename to gcc.dg/format/c99-strftime-1.c.
	* gcc.dg/c99-strftime-2.c: Rename to gcc.dg/format/c99-strftime-2.c.
	* gcc.dg/format-array-1.c: Rename to gcc.dg/format/array-1.c.
	* gcc.dg/format-attr-1.c: Rename to gcc.dg/format/attr-1.c.
	* gcc.dg/format-branch-1.c: Rename to gcc.dg/format/branch-1.c.
	* gcc.dg/format-diag-1.c: Rename to gcc.dg/format/diag-1.c.
	* gcc.dg/format-errmk-1.c: Rename to gcc.dg/format/errmk-1.c.
	* gcc.dg/format-ext-1.c: Rename to gcc.dg/format/ext-1.c.
	* gcc.dg/format-ext-2.c: Rename to gcc.dg/format/ext-2.c.
	* gcc.dg/format-ext-3.c: Rename to gcc.dg/format/ext-3.c.
	* gcc.dg/format-ext-4.c: Rename to gcc.dg/format/ext-4.c.
	* gcc.dg/format-ext-5.c: Rename to gcc.dg/format/ext-5.c.
	* gcc.dg/format-miss-1.c: Rename to gcc.dg/format/miss-1.c.
	* gcc.dg/format-miss-2.c: Rename to gcc.dg/format/miss-2.c.
	* gcc.dg/format-no-exargs-1.c: Rename to gcc.dg/format/no-exargs-1.c.
	* gcc.dg/format-no-y2k-1.c: Rename to gcc.dg/format/no-y2k-1.c.
	* gcc.dg/format-nonlit-1.c: Rename to gcc.dg/format/nonlit-1.c.
	* gcc.dg/format-nonlit-2.c: Rename to gcc.dg/format/nonlit-2.c.
	* gcc.dg/format-nonlit-3.c: Rename to gcc.dg/format/nonlit-3.c.
	* gcc.dg/format-sec-1.c: Rename to gcc.dg/format/sec-1.c.
	* gcc.dg/format-strfmon-1.c: Rename to gcc.dg/format/strfmon-1.c.
	* gcc.dg/format-va-1.c: Rename to gcc.dg/format/va-1.c.
	* gcc.dg/format-warnll-1.c: Rename to gcc.dg/format/warnll-1.c.
	* gcc.dg/format-xopen-1.c: Rename to gcc.dg/format/xopen-1.c.
	* gcc.dg/formatz-1.c: Rename to gcc.dg/format/z-1.c.

From-SVN: r38749
2001-01-06 18:47:19 +00:00
Neil Booth fa6f74f611 * mkdeps.c (deps_add_dep): Fix vector re-allocation.
From-SVN: r38748
2001-01-06 11:08:49 +00:00
J"orn Rennecke ea55fa7ab1 integrate.c (copy_rtx_and_substitute): When copying an ignored return value, strip REG_FUNCTION_VALUE_P.
* integrate.c (copy_rtx_and_substitute): When copying
	an ignored return value, strip REG_FUNCTION_VALUE_P.

From-SVN: r38747
2001-01-06 09:06:13 +00:00
Jeff Law 3cccebf27b Daily bump.
From-SVN: r38746
2001-01-06 01:45:08 -07:00
Bryce McKinlay ac39dac023 From patha@softlab.ericsson.se:
* parse.y (switch_label): Use build, not build1, to construct
	DEFAULT_EXPR.

From-SVN: r38745
2001-01-06 05:06:02 +00:00
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