Jim Wilson [Wed, 13 Jun 2001 02:48:45 +0000 (02:48 +0000)]
Fix for PR 3128, IA-64 linux kernel miscompile
Fix for PR 3128, IA-64 linux kernel miscompile
* loop.c (strength_reduce): Move bl->all_reduced set before
check_ext_dependant_givs call.
(check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
i386.c (ix86_expand_prologue): Always use gen_pro_epilogue_adjust_stack; update arguments.
* config/i386/i386.c (ix86_expand_prologue): Always use
gen_pro_epilogue_adjust_stack; update arguments.
(ix86_expand_epilogue): Likewise.
(ix86_emit_epilogue_esp_adjustment): Remove.
(ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
* config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
clobber of scratch memory instead of a modification of EBP as the
barrier. Update all peepholes to match.
Loren J. Rittle [Tue, 12 Jun 2001 23:09:09 +0000 (23:09 +0000)]
porting.texi: Add documentation about libstdc++-v3-specific macros that are currently...
libstdc++/2071
* porting.texi: Add documentation about libstdc++-v3-specific
macros that are currently included in os_defines.h files.
* config/basic_file_stdio.h (sys_getc): New method.
(sys_ungetc): New method.
* include/bits/basic_file.h: (sys_getc): New method signature.
(sys_ungetc): New method signature.
* include/bits/fstream.tcc (underflow): Add conditional code
paths which avoid using short seeks on streams (especially
useful when the stream might be interactive or a pipe). At
the moment, this alternate path only avoids seeking when the
``buffer size'' of underflow() is 1 since the C standard only
guarantees buffer space for one ungetc (this technique could
be extended since *-*-solaris* supports buffering for 4 calls
to ungetc and *-*-*bsd* supports buffering limited only by
memory resources). Also, _GLIBCPP_AVOID_FSEEK must be defined
in a port's os_defines.h file for this alternate path to even
be considered. As a bonus, the idiom of using getc/ungetc
requires no system calls whereas fseek maps to one or two
system call(s) on many platforms.
Joseph Myers [Tue, 12 Jun 2001 22:40:00 +0000 (23:40 +0100)]
gcc.texi: Change the font used for @def...
* doc/gcc.texi: Change the font used for @def... commands to a
fixed width font.
* doc/extend.texi: Use more logical markup. Use "built-in"
instead of "builtin". Use @deftypefn to mark up built-in
functions; specify their types in the @deftypefn and not in the
descriptive text. Use TeX quotes and dashes. Add more index
entries.
Joseph Myers [Tue, 12 Jun 2001 19:36:53 +0000 (20:36 +0100)]
install.texi (--exec-prefix, [...]): Document.
* doc/install.texi (--exec-prefix, --bindir, --libdir,
--with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
Document.
(--enable-cpp): Change to document --disable-cpp instead; update
to reflect current default.
(--without-fast-fixincludes): Remove documentation.
(Final install): Document installation directories in more
detail. Document use of make dvi.
Nathan Sidwell [Tue, 12 Jun 2001 18:08:05 +0000 (18:08 +0000)]
PR c++/3130, c++/3131, c++/3132
cp:
PR c++/3130, c++/3131, c++/3132
* cp-tree.h (BINFO_UNSHARED_MARKED): New #define.
* class.c (force_canonical_binfo_r): Move
BINFO_UNSHARED_MARKED, BINFO_LOST_PRIMARY_P. Don't move
virtual bases unless they're primary and what they're primary
too has been moved.
(dfs_unshared_virtual_bases): Use BINFO_UNSHARED_MARKED. Cope
with morally virtual bases. Duplicate BINFO_LOST_PRIMARY_P and
BINFO_PRIMARY_BASE_OF. Clear BINFO_VTABLE for all but the most
derived binfo.
(mark_primary_bases): Use BINFO_UNSHARED_MARKED.
(layout_nonempty_base_or_field): Add most derived type
parameter. Adjust.
(layout_empty_base): Likewise.
(build_base_field): Likewise.
(build_base_fields): Likewise.
(propagate_binfo_offsets): Add most derived type
parameter. Skip non canonical virtual bases too.
(dfs_set_offset_for_unshared_vbases): Don't skip primary
bases. Do skip canonical bases.
(layout_virtual_bases): Adjust.
(layout_class_type): Adjust.
(dfs_get_primary_binfo): Build list of virtual primary base
candidates.
(get_primary_binfo): Check that the shared virtual primary
base candidate was found first.
(accumulate_vtbl_inits): Don't do anything for non-vptr
containing binfos. For case 1 primary virtual bases, keep
checking that we've not emerged from the hierarchy of RTTI_BINFO.
testsuite:
* g++.old-deja/g++.abi/vbase5.C: New test.
* g++.old-deja/g++.abi/vbase6.C: New test.
* g++.old-deja/g++.abi/vbase7.C: New test.
Jan Hubicka [Tue, 12 Jun 2001 10:22:22 +0000 (10:22 +0000)]
loop.c: Include predict.h
* loop.c: Include predict.h
(strength_reduce): Drop branch prediction note in case
number of iterations is known.
* predict.def (PRED_LOOP_ITERATIONS): new.
* Makefile.in (loop.o): Add dependancy on predict.h
Nathan Sidwell [Tue, 12 Jun 2001 08:47:48 +0000 (08:47 +0000)]
re PR c++/3089 (ICE in dfs_accumulate_vtbl_inits)
cp:
PR c++/3089
* class.c (dfs_accumulate_vtbl_inits): Always walk down the
hierarchy looking for primary bases for a ctor
vtable. Recursively call oneself, if we meet our primary via
this route and haven't met it yet via inheritance graph order.
testsuite:
* g++.old-deja/g++.abi/vbase4.C: New test.
Mark Mitchell [Tue, 12 Jun 2001 04:42:46 +0000 (04:42 +0000)]
unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and REG_NOTE_KIND, not PUT_MODE and GET_MODE.
* unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
REG_NOTE_KIND, not PUT_MODE and GET_MODE.
(final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
valid.
Stephane Carrez [Mon, 11 Jun 2001 22:26:58 +0000 (00:26 +0200)]
920501-8.x: New file, sprintf() does not support %f for HC11/HC12 targets.
* gcc.c-torture/execute/920501-8.x: New file, sprintf() does not
support %f for HC11/HC12 targets.
* gcc.c-torture/execute/930513-1.x: New file, likewise.
* gcc.c-torture/execute/980709-1.x: New file, pow() is not available
on HC11/HC12 targets.
* gcc.c-torture/execute/990826-0.x: New file, likewise for floor().
Zack Weinberg [Mon, 11 Jun 2001 21:50:54 +0000 (21:50 +0000)]
Makefile.in.in: Take --defines switch off of xgettext command line.
* Makefile.in.in: Take --defines switch off of xgettext
command line.
* POTFILES.in: Massive update, removing all dead files and
adding approximately 300 files which had been left out.
Clarify comments on what should and should not appear here.
Mark Mitchell [Mon, 11 Jun 2001 21:29:39 +0000 (21:29 +0000)]
c-tree.texi: Update information about flag_honor_std.
* doc/c-tree.texi: Update information about flag_honor_std.
* doc/install.texi: Note that binutils is required on HPUX 11.
* doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
now the default.
* config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
variable-sized types.
* lang-options.h: Emit documentation for -fno-honor-std, not
-fhonor-std.
Phil Edwards [Mon, 11 Jun 2001 19:35:32 +0000 (19:35 +0000)]
README: Update to reflect reality.
2001-06-11 Phil Edwards <pme@sources.redhat.com>
* README: Update to reflect reality.
* acinclude.m4: Update descriptions, fix typos. Comment changes only.
* configure.in: Make certain target_alias is set and subst'd for 2.50.
* aclocal.m4: Regenerate.
* configure: Regenerate (with 2.13).
Benjamin Kosnik [Mon, 11 Jun 2001 19:20:20 +0000 (19:20 +0000)]
ostream.tcc (ostream::seekp): Add error checking as per DR 129.
2001-06-11 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/3114
* include/bits/ostream.tcc (ostream::seekp): Add error checking as
per DR 129.
* include/bits/istream.tcc (istream::seekg): Same.
* testsuite/27_io/istream_seeks.cc: Fix.
libstdc++/3113
* include/bits/stl_function.h (binder2nd): Fix as per DR 109.
(binder1st): Same.
* include/bits/std_queue.h: Add c++config.h.
* testsuite/20_util/binders.cc: New test.
* config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
(struct machine_function): Add gp_save_rtx.
* config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
(alpha_gp_save_rtx): New.
* config/alpha/alpha-protos.h: Declare it.
* config/alpha/alpha.md (exception_receiver): Make an expander.
Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
Joseph Myers [Mon, 11 Jun 2001 13:26:19 +0000 (14:26 +0100)]
re PR c/3116 (Bug with using oldstyle prototype declarations)
* c-decl.c (store_parm_decls): When comparing types in an
old-style function declaration with those from a previous
prototype, compare the unqualified versions of parameter types.
Fixes PR c/3116.
testsuite:
* gcc.c-torture/compile/20010611-1.c: New test.
Joseph Myers [Mon, 11 Jun 2001 07:26:33 +0000 (08:26 +0100)]
install.texi: Update details of what components are included in the GCC distribution.
* doc/install.texi: Update details of what components are included
in the GCC distribution. Update default directory for g++
includes. Update documentation relating to old libio. Adjust
documentation on DejaGnu environment variables. Remove
documentation of --enable-cpplib.
alpha.c (override_options): Set align_loops, align_jumps, and align_functions.
* config/alpha/alpha.c (override_options): Set align_loops,
align_jumps, and align_functions.
* config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
(LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
Tom Tromey [Sun, 10 Jun 2001 18:45:06 +0000 (18:45 +0000)]
re PR java/2299 (Use of += for String arrays produces Segfault during compilation)
2001-03-20 Tom Tromey <tromey@redhat.com>
Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (patch_assignment): Handle the case of a SAVE_EXPR
inside an array reference. Insertion of the array store check
rewritten. Fixes PR java/2299.
2001-06-10 Gabriel Dos Reis <gdr@codesourcery.com>
* decl.c: #include diagnostic.h
* actions.c: #include diagnostic.h
* Makefile.in (actions.o): Depend on diagnostic.h
(decl.o): Depend on diagnostic.h
cp/
2001-06-10 Mark Mitchell <mark@codesourcery.com>
Gabriel Dos Reis <gdr@codesourcery.com>
* Make-lang.in (cp/call.o): Depend on diagnostic.h
(cp/typeck.o): Depend on diagnostic.h
(cp/typeck2.o): Depend on diagnostic.h
(cp/repo.o): Depend on dignostic.h
* typeck.c: #include diagnostic.h
(convert_for_initialization): Remove extern declaration for
warningcount and errorcount.
* call.c: #include diagnostic.h
(convert_like_real): Remove extern declaration for warnincount and
errorcount.
Toon Moene [Sun, 10 Jun 2001 13:23:19 +0000 (15:23 +0200)]
g77install.texi: Remove.
2001-06-10 Toon Moene <toon@moene.indiv.nluug.nl>
* g77install.texi: Remove.
* Make-lang.in: Remove all mention of g77install.texi.
* g77.texi: Add documentation on how to get output always
flushed and how to increase the maximum unit number.
Remove all mention of g77install.texi.
* bugs.texi: Add documentation on how to change the threshold
for putting local arrays on the stack.
Stephane Carrez [Sun, 10 Jun 2001 10:24:48 +0000 (12:24 +0200)]
m68hc11.md ("extendhisi2"): Fix constraints to prefer a memory for operand 1.
* config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
prefer a memory for operand 1.
("*addsi3"): Fix constraints, the '!' was too strong.
("*addsi3_split"): Accept soft register and split accordingly.
Alexandre Oliva [Sun, 10 Jun 2001 00:31:07 +0000 (00:31 +0000)]
toplev.c (independent_decode_option): Require `=' between `-aux-info' and filename in the same argument.
* toplev.c (independent_decode_option): Require `=' between
`-aux-info' and filename in the same argument.
* gcc.c: Don't pass -aux-info=filename twice.