Richard Henderson [Sun, 7 Jan 2001 09:27:25 +0000 (01:27 -0800)]
Makefile.in (slibdir): New variable.
* Makefile.in (slibdir): New variable.
(libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
(installdirs): Create slibdir.
(install-libgcc, install-multilib): Defer to libgcc.mk.
* configure.in (slibdir): Substitute.
* mklibgcc.in (install): New target.
* config/t-linux (SHLIB_LINK): Create links for the soname.
(SHLIB_INSTALL): New.
* config/alpha/t-osf4 (SHLIB_INSTALL): New.
* config/mips/t-iris6 (SHLIB_INSTALL): New.
* config/rs6000/t-aix43 (SHLIB_INSTALL): New.
* config/sparc/t-slibgcc (SHLIB_INSTALL): New.
* config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
From-SVN: r38761
Richard Henderson [Sun, 7 Jan 2001 09:17:24 +0000 (01:17 -0800)]
aix.h (LINK_LIBGCC_SPECIAL_1): New.
* config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
* config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
* config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
From-SVN: r38760
Jeff Law [Sun, 7 Jan 2001 08:45:08 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r38759
Michael Hayes [Sun, 7 Jan 2001 03:59:47 +0000 (03:59 +0000)]
loop.c (count_loop_regs_set): Delete.
* loop.c (count_loop_regs_set): Delete.
(load_mems_and_recount_loop_regs_set): Delete.
(loop_regs_scan): Merge common code from count_loop_regs_set,
scan_loop, and load_mems_and_recount_loop_regs_set.
(scan_loop): Call load_mems directly and loop_regs_scan
again if new registers created.
From-SVN: r38758
Neil Booth [Sun, 7 Jan 2001 03:34:28 +0000 (03:34 +0000)]
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
Neil Booth [Sun, 7 Jan 2001 03:25:07 +0000 (03:25 +0000)]
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
Alexandre Oliva [Sun, 7 Jan 2001 02:26:51 +0000 (02:26 +0000)]
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
Anthony Green [Sat, 6 Jan 2001 23:28:40 +0000 (23:28 +0000)]
Fix comments for doclets
From-SVN: r38754
Alexandre Oliva [Sat, 6 Jan 2001 23:15:05 +0000 (23:15 +0000)]
* gcc.c-torture/execute/
20010106-1.c: New test.
From-SVN: r38753
Richard Henderson [Sat, 6 Jan 2001 23:13:58 +0000 (15:13 -0800)]
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
Joseph Myers [Sat, 6 Jan 2001 18:47:19 +0000 (18:47 +0000)]
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
Neil Booth [Sat, 6 Jan 2001 11:08:49 +0000 (11:08 +0000)]
* mkdeps.c (deps_add_dep): Fix vector re-allocation.
From-SVN: r38748
J"orn Rennecke [Sat, 6 Jan 2001 09:06:13 +0000 (09:06 +0000)]
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
Jeff Law [Sat, 6 Jan 2001 08:45:08 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r38746
Bryce McKinlay [Sat, 6 Jan 2001 05:06:02 +0000 (05:06 +0000)]
From patha@softlab.ericsson.se:
* parse.y (switch_label): Use build, not build1, to construct
DEFAULT_EXPR.
From-SVN: r38745
Michael Hayes [Sat, 6 Jan 2001 03:24:58 +0000 (03:24 +0000)]
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
Benjamin Kosnik [Sat, 6 Jan 2001 02:44:11 +0000 (02:44 +0000)]
[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
John David Anglin [Sat, 6 Jan 2001 01:12:02 +0000 (01:12 +0000)]
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
Mike Stump [Sat, 6 Jan 2001 01:02:04 +0000 (01:02 +0000)]
Testcase for recent checkin.
From-SVN: r38740
Mike Stump [Sat, 6 Jan 2001 01:00:23 +0000 (01:00 +0000)]
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
Richard Henderson [Sat, 6 Jan 2001 00:59:05 +0000 (16:59 -0800)]
Update copyright.
From-SVN: r38738
Richard Henderson [Sat, 6 Jan 2001 00:57:48 +0000 (16:57 -0800)]
* dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
From-SVN: r38737
Nick Clifton [Sat, 6 Jan 2001 00:46:33 +0000 (00:46 +0000)]
Faster __mulsi routine
From-SVN: r38736
Neil Booth [Sat, 6 Jan 2001 00:15:29 +0000 (00:15 +0000)]
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
DJ Delorie [Sat, 6 Jan 2001 00:00:35 +0000 (19:00 -0500)]
Implement __builtin_return_address (0)
From-SVN: r38734
Zack Weinberg [Fri, 5 Jan 2001 23:41:00 +0000 (23:41 +0000)]
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
Nick Clifton [Fri, 5 Jan 2001 23:31:43 +0000 (23:31 +0000)]
Use alloca to create temporary string for initialisation before calling
ggc_alloc_string.
From-SVN: r38732
Bryce McKinlay [Fri, 5 Jan 2001 23:30:50 +0000 (23:30 +0000)]
* java/io/PipedReader: Synchronize on "lock" instead of this.
From-SVN: r38731
Michael Hayes [Fri, 5 Jan 2001 23:30:02 +0000 (23:30 +0000)]
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
Zack Weinberg [Fri, 5 Jan 2001 23:23:26 +0000 (23:23 +0000)]
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
Michael Meissner [Fri, 5 Jan 2001 22:56:08 +0000 (22:56 +0000)]
Declare flag_reorder_blocks and flag_rename_registers
From-SVN: r38728
Alexandre Oliva [Fri, 5 Jan 2001 22:06:56 +0000 (22:06 +0000)]
Note that INSN_PTR may be the note at the beginning of a block
From-SVN: r38726
Alexandre Oliva [Fri, 5 Jan 2001 22:06:29 +0000 (22:06 +0000)]
991228-1.c: Take word endianness into account.
* gcc.c-torture/execute/991228-1.c: Take word endianness into
account.
From-SVN: r38725
DJ Delorie [Fri, 5 Jan 2001 21:13:42 +0000 (16:13 -0500)]
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
J"orn Rennecke [Fri, 5 Jan 2001 20:42:30 +0000 (20:42 +0000)]
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
Alexandre Oliva [Fri, 5 Jan 2001 20:30:40 +0000 (20:30 +0000)]
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
Jeffrey Oldham [Fri, 5 Jan 2001 20:25:09 +0000 (20:25 +0000)]
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
Catherine Moore [Fri, 5 Jan 2001 20:15:24 +0000 (20:15 +0000)]
(dbxout_parms): Handle invisible ref where decl is a REG
From-SVN: r38720
Phil Edwards [Fri, 5 Jan 2001 19:12:21 +0000 (19:12 +0000)]
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
Marek Michalkiewicz [Fri, 5 Jan 2001 19:08:46 +0000 (20:08 +0100)]
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
Mark Mitchell [Fri, 5 Jan 2001 18:48:12 +0000 (18:48 +0000)]
* ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
From-SVN: r38717
Joseph Myers [Fri, 5 Jan 2001 18:24:08 +0000 (18:24 +0000)]
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
Daniel Berlin [Fri, 5 Jan 2001 17:22:30 +0000 (17:22 +0000)]
VECTOR_TYPE fixes for aliasing, and dwarf2 output.
From-SVN: r38715
Nathan Sidwell [Fri, 5 Jan 2001 16:35:36 +0000 (16:35 +0000)]
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
Bruce Korb [Fri, 5 Jan 2001 16:28:58 +0000 (16:28 +0000)]
fix exit and atexit calls for vax-*-bsd systems
From-SVN: r38713
Richard Earnshaw [Fri, 5 Jan 2001 16:15:59 +0000 (16:15 +0000)]
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
Jan Hubicka [Fri, 5 Jan 2001 15:34:39 +0000 (16:34 +0100)]
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
Nathan Sidwell [Fri, 5 Jan 2001 11:41:27 +0000 (11:41 +0000)]
cp-tree.def (DEFAULT_ARG): Make `x' class.
cp:
* cp-tree.def (DEFAULT_ARG): Make `x' class.
From-SVN: r38710
Jeff Law [Fri, 5 Jan 2001 08:45:11 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r38709
Bryce McKinlay [Fri, 5 Jan 2001 08:23:51 +0000 (08:23 +0000)]
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
Neil Booth [Fri, 5 Jan 2001 07:50:24 +0000 (07:50 +0000)]
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
Alexandre Oliva [Fri, 5 Jan 2001 07:38:47 +0000 (07:38 +0000)]
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
Richard Henderson [Fri, 5 Jan 2001 05:58:23 +0000 (21:58 -0800)]
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
Richard Henderson [Fri, 5 Jan 2001 05:56:00 +0000 (21:56 -0800)]
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
Michael Hayes [Fri, 5 Jan 2001 04:09:02 +0000 (04:09 +0000)]
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
Michael Hayes [Fri, 5 Jan 2001 03:58:12 +0000 (03:58 +0000)]
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
Alexandre Oliva [Fri, 5 Jan 2001 03:46:12 +0000 (03:46 +0000)]
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
Michael Hayes [Fri, 5 Jan 2001 03:25:58 +0000 (03:25 +0000)]
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
Michael Hayes [Fri, 5 Jan 2001 02:51:18 +0000 (02:51 +0000)]
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
Matthew Hiller [Fri, 5 Jan 2001 01:58:04 +0000 (01:58 +0000)]
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
Bryce McKinlay [Fri, 5 Jan 2001 00:31:45 +0000 (00:31 +0000)]
* java/lang/Thread.java: Update comment.
From-SVN: r38697
Joseph Myers [Fri, 5 Jan 2001 00:03:35 +0000 (00:03 +0000)]
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
Joseph Myers [Thu, 4 Jan 2001 23:53:54 +0000 (23:53 +0000)]
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
J"orn Rennecke [Thu, 4 Jan 2001 23:28:00 +0000 (23:28 +0000)]
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
Benjamin Kosnik [Thu, 4 Jan 2001 21:57:30 +0000 (21:57 +0000)]
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
Mark Mitchell [Thu, 4 Jan 2001 21:18:27 +0000 (21:18 +0000)]
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
Richard Kenner [Thu, 4 Jan 2001 20:58:20 +0000 (20:58 +0000)]
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
Philip Blundell [Thu, 4 Jan 2001 20:19:48 +0000 (20:19 +0000)]
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
Alexandre Oliva [Thu, 4 Jan 2001 20:10:36 +0000 (20:10 +0000)]
* gencodes.c (output_predicate_decls): Remove empty initializer.
From-SVN: r38689
Mark Mitchell [Thu, 4 Jan 2001 19:28:56 +0000 (19:28 +0000)]
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
Richard Kenner [Thu, 4 Jan 2001 19:02:01 +0000 (19:02 +0000)]
* gcc.c-torture/execute/built-in-setjmp.c: New.
From-SVN: r38687
Mark Mitchell [Thu, 4 Jan 2001 19:01:22 +0000 (19:01 +0000)]
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
Kaveh R. Ghazi [Thu, 4 Jan 2001 18:54:14 +0000 (18:54 +0000)]
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
Kaveh R. Ghazi [Thu, 4 Jan 2001 18:08:22 +0000 (18:08 +0000)]
gencodes.c (output_predicate_decls): Fill empty initializer braces.
* gencodes.c (output_predicate_decls): Fill empty initializer
braces.
From-SVN: r38684
Jakub Jelinek [Thu, 4 Jan 2001 17:26:12 +0000 (18:26 +0100)]
tradcpp.c (deps_file, [...]): New variables.
* tradcpp.c (deps_file, print_deps_missing_files): New variables.
(main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M
or -MM.
(do_include): Handle missing headers like cpp0.
* cppfiles.c (_cpp_execute_include): Don't prefix absolute header
paths with first include pathname. Don't strcat to uninitialized
string.
From-SVN: r38683
Bernd Schmidt [Thu, 4 Jan 2001 14:17:40 +0000 (14:17 +0000)]
Some tidyups for ia64 problems
From-SVN: r38682
Neil Booth [Thu, 4 Jan 2001 10:25:55 +0000 (10:25 +0000)]
cpp.texi: Update for -MT.
* cpp.texi: Update for -MT.
* cppinit.c (initialize_dependency_output): Add a default
target if none has been given already.
(no_tgt, OPT_MT): New.
(cpp_handle_option): Handle -MT. Update -M etc.
* cpplib.h (struct cpp_options): Remove deps_target.
* gcc.c (cpp_options): Handle -MT.
* mkdeps.c (struct deps): Move from mkdeps.h.
(deps_calc_target): Rename deps_add_default_target. Add a
default target if none has been specified already.
* mkdeps.h (struct deps): Move to mkdeps.c.
(deps_calc_target): Rename deps_add_default_target.
From-SVN: r38681
Jeff Law [Thu, 4 Jan 2001 08:45:11 +0000 (01:45 -0700)]
Daily bump.
From-SVN: r38680
Benjamin Kosnik [Thu, 4 Jan 2001 04:21:42 +0000 (04:21 +0000)]
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: r38679
Richard Henderson [Thu, 4 Jan 2001 01:14:16 +0000 (17:14 -0800)]
c-decl.c (grokdeclarator): Give zero-length arrays size zero.
* c-decl.c (grokdeclarator): Give zero-length arrays size zero.
Remove dead code.
* c-typeck.c (push_init_level): Move checks for flexible array
members and zero length arrays ...
(pop_init_level): ... here. Silently discard empty initializations.
Remove dead code.
* varasm.c (output_constructor): Update for sizeof change to
zero-length arrays.
* extend.texi (Zero Length): Clarify semantics.
* gcc.dg/940510-1.c: Update expected error wording.
* gcc.dg/array-2.c, gcc.dg/array-3.c, gcc.dg/array-4.c: New.
From-SVN: r38678
Alexandre Oliva [Wed, 3 Jan 2001 23:47:05 +0000 (23:47 +0000)]
configure.in (tm.h): Include isns-codes.h last.
* configure.in (tm.h): Include isns-codes.h last.
* configure: Rebuilt.
From-SVN: r38677
Richard Henderson [Wed, 3 Jan 2001 22:52:42 +0000 (14:52 -0800)]
alpha.md (addvsi3, addvdi3): New.
* config/alpha/alpha.md (addvsi3, addvdi3): New.
(negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
From-SVN: r38676
Alexandre Oliva [Wed, 3 Jan 2001 22:45:56 +0000 (22:45 +0000)]
Update the second copyright notice. Point to it from the first.
From-SVN: r38675
Franz Sirl [Wed, 3 Jan 2001 22:26:05 +0000 (22:26 +0000)]
tradcpp.c (main): Make sure finclude() is called with a valid indepth value while handling -include.
2001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* tradcpp.c (main): Make sure finclude() is called with a valid
indepth value while handling -include.
From-SVN: r38674
Alexandre Oliva [Wed, 3 Jan 2001 21:13:29 +0000 (21:13 +0000)]
gencodes.c (output_predicate_decls): New function.
* gencodes.c (output_predicate_decls): New function.
(main): Call it.
* machmode.h (GET_MODE_MASK): Arrange for it to be defined
even if it is not the first time machmode.h is #included.
* config/sh/sh.c (fpul_operand): Declare MODE argument.
* tm.texi (PREDICATE_CODES): Document predicate declarations.
* gcc.texi (Copyright): Added 2001.
From-SVN: r38673
Joseph Myers [Wed, 3 Jan 2001 20:56:22 +0000 (20:56 +0000)]
c-common.c (c_common_lang_init): New function.
* c-common.c (c_common_lang_init): New function. Warn if format
warning options which only have effects when used with -Wformat
are used without -Wformat.
* c-common.h (c_common_lang_init): Declare.
* c-lang.c (lang_init): Call c_common_lang_init.
* objc/objc-act.c (lang_init): Call c_common_lang_init.
cp:
* lex.c (lang_init): Call c_common_lang_init.
From-SVN: r38672
Joseph Myers [Wed, 3 Jan 2001 20:39:09 +0000 (20:39 +0000)]
configure.in: Check for the mktemp command.
* configure.in: Check for the mktemp command.
* configure: Regenerate.
* gccbug.in: Use a separate temporary file $TEMP0 for one use of
$TEMP. Create temporary files with mktemp, if available at
configure time; otherwise use set -C. Remove temporary files
before exit.
From-SVN: r38671
Tom Tromey [Wed, 3 Jan 2001 20:34:44 +0000 (20:34 +0000)]
ScrollPane.java (setBlockIncrement): Throw error.
* java/awt/ScrollPane.java (setBlockIncrement): Throw error.
(getViewportSize): Insets include scrollbar size.
(doLayout): Finished.
(getScrollPosition): Wrote.
* java/awt/peer/ScrollPanePeer.java (setBlockIncrement): Removed.
From-SVN: r38670
Joseph Myers [Wed, 3 Jan 2001 20:18:18 +0000 (20:18 +0000)]
* gcc_update: Add cpp.1 to the list of generated files.
From-SVN: r38669
Joseph Myers [Wed, 3 Jan 2001 20:15:01 +0000 (20:15 +0000)]
texi2pod.pl: Handle @option and @env.
contrib:
* texi2pod.pl: Handle @option and @env.
gcc:
* configure.in: Require at least texinfo 4.0. Check for whether
Pod::Man is sufficiently recent to regenerate GCC manpages.
* configure: Regenerate.
* Makefile.in (TEXI2POD): Call perl explicitly rather than relying
on #!.
(GENERATED_MANPAGES): Define.
(generated-manpages): New target. Depend on cpp.1 as well as
gcov.1.
(install-man): Depend on $(GENERATED_MANPAGES) (defined by
configure to generated-manpages or empty) rather than on the
manpages directly. Remove execute permission from installed
gcov.1 as well as cpp.1.
* cpp.1, gcov.1: Regenerate.
From-SVN: r38668
Jeffrey Oldham [Wed, 3 Jan 2001 18:22:23 +0000 (18:22 +0000)]
target-supports.exp (check_alias_available): Modified to indicate aliases not supported if only weak aliases are supported.
2001-01-03 Jeffrey Oldham <oldham@codesourcery.com>
* lib/target-supports.exp (check_alias_available): Modified to
indicate aliases not supported if only weak aliases are supported.
From-SVN: r38667
Mike Stump [Wed, 3 Jan 2001 18:13:43 +0000 (18:13 +0000)]
* snapshot: Update to account for java libraries.
From-SVN: r38666
Kaveh Ghazi [Wed, 3 Jan 2001 16:54:46 +0000 (16:54 +0000)]
update copyrights
From-SVN: r38665
Kaveh R. Ghazi [Wed, 3 Jan 2001 16:48:15 +0000 (16:48 +0000)]
builtins.c (expand_builtin_strncmp): Use host_integerp and tree_low_cst.
* builtins.c (expand_builtin_strncmp): Use host_integerp and
tree_low_cst. Allow using cmpstrsi in more cases.
testsuite:
* gcc.c-torture/execute/string-opt-8.c: Add more testcases.
Turn on cmpstrsi checks for __pj__ and __i370__.
From-SVN: r38664
Benjamin Kosnik [Wed, 3 Jan 2001 15:53:28 +0000 (15:53 +0000)]
acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.
2001-01-02 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_ENABLD_CSTDIO): Add in default value.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* include/bits/c++config (__GLIBCPP__): Bump version number.
* ChangeLog: Start new log for year 2001
* ChangeLog-2000: New file.
* docs/html/configopts.html: Make sure default values are current,
From-SVN: r38663
Richard Kenner [Wed, 3 Jan 2001 15:50:06 +0000 (15:50 +0000)]
sparc.h (RETURN_IN_MEMORY): Return 0 for variable sized types.
* config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
sized types.
From-SVN: r38662
Nathan Sidwell [Wed, 3 Jan 2001 15:01:16 +0000 (15:01 +0000)]
search.c (lookup_fnfields_here): Remove.
cp:
* search.c (lookup_fnfields_here): Remove.
(look_for_overrides_r): Use lookup_fnfields_1.
Ignore functions from using declarations.
testsuite:
* g++.old-deja/g++.other/virtual11.C: New test.
From-SVN: r38661
Bernd Schmidt [Wed, 3 Jan 2001 15:00:31 +0000 (15:00 +0000)]
Improve alias analysis for ia64
From-SVN: r38660
Nathan Sidwell [Wed, 3 Jan 2001 14:39:10 +0000 (14:39 +0000)]
Implement exceptions specifiers for implicit member functions.
cp:
Implement exceptions specifiers for implicit member functions.
* cp-tree.h (merge_exceptions_specifiers): Declare new function.
* method.c (synthesize_exception_spec): New function.
(locate_dtor, locate_ctor, locate_copy): New functions.
(implicitly_declare_fn): Generate the exception spec too.
* search.c (check_final_overrider): Check artificial functions
too.
* typeck2.c (merge_exception_specifiers): New function.
testsuite:
* g++.old-deja/g++.eh/spec6.C: Remove remaining XFAIL.
From-SVN: r38659
Bernd Schmidt [Wed, 3 Jan 2001 14:29:01 +0000 (14:29 +0000)]
Fix silliness in last change
From-SVN: r38658