Jason Merrill [Fri, 15 Jun 2001 14:03:09 +0000 (10:03 -0400)]
class.c (dfs_accumulate_vtbl_inits): Just point to the base we're sharing a ctor vtable with.
* class.c (dfs_accumulate_vtbl_inits): Just point to the base we're
sharing a ctor vtable with. Merge code for cases 1 and 2.
(binfo_ctor_vtable): New fn.
(build_vtt_inits, dfs_build_secondary_vptr_vtt_inits): Use it.
Joseph Myers [Thu, 14 Jun 2001 11:08:04 +0000 (12:08 +0100)]
c-tree.texi, [...]: Use more logical markup.
* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
logical markup. Use TeX quotes and dashes. Use @dots{} and
@minus{}. Avoid spaces inside @var. Update last modification
date in gcc.texi.
* doc/gcc.1, doc/gcov.1: Regenerate.
Nathan Sidwell [Thu, 14 Jun 2001 10:48:20 +0000 (10:48 +0000)]
class.c (dfs_accumulate_vtbl_inits): For case 2 & 3...
cp:
* class.c (dfs_accumulate_vtbl_inits): For case 2 & 3, make sure
we've not emerged from the hierarchy of RTTI_BINFO on reaching
a non-virtual base.
testsuite:
* g++.old-deja/g++.abi/vbase8-9.C: New test.
Nathan Sidwell [Thu, 14 Jun 2001 08:45:38 +0000 (08:45 +0000)]
configure.in (auxdir): Replace by ...
* configure.in (auxdir): Replace by ...
(toprel): ... new variable.
(toplevel_srcdir): Construct from $toprel.
* acinclude.m4 (GLIBCPP_ENABLE_THREADS): Use $toprel
rather than .. to locate gcc source directory.
(GLIBCPP_CONFIGURE): Replace $auxdir with $srcdir/$toprel.
* aclocal.m4, configure: Rebuilt.
* src/globals.cc: Define globals _GLIBCPP_mutex_init (),
_GLIBCPP_mutex_address_init (), _GLIBCPP_once, _GLIBCPP_mutex
and _GLIBCPP_mutex_address.
* include/bits/stl_threads.h (_STL_mutex_lock): Use above to provide
once-only runtime initialization of _M_lock mutex when
__GTHREAD_MUTEX_INIT_FUNCTION is defined.
(__STL_MUTEX_INITIALIZER): Provide initializer for _STL_mutex_lock
for __GTHREAD_MUTEX_INIT_FUNCTION case.
Kazu Hirata [Wed, 13 Jun 2001 17:41:19 +0000 (17:41 +0000)]
h8300.h (OK_FOR_T): Remove.
2001-06-13 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.h (OK_FOR_T): Remove.
(EXTRA_CONSTRAINT): Do not use OK_FOR_T.
* config/h8300/h8300.md: Remove alternatives involving inc and dec
in the helper patterns for addhi3 and addsi3.
Zack Weinberg [Wed, 13 Jun 2001 14:26:03 +0000 (14:26 +0000)]
Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
* Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
* libgcc-std.ver: Take out __bb* and __gcc_bcmp.
* config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
config/alpha/t-osf4, config/mips/t-iris6: Extract all
references to @shlib_map_file@, @shlib_objs@, or
@shlib_base_name@ to Makefile variables.
Bump soname version of libgcc to 1.
* doc/install.texi (ix86-*-solaris*): Removed, outdated.
(*-*-solaris*): Document problem in /bin/sh that affects
configuring libraries.
(sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
(*-sun-solaris2.8): Document linker problem that explains why
libjava is disabled by default.
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.