* config/mh-a68bsd: clean out dead code
* config/mh-apollo68: clean out dead code
* config/mh-cxux: clean out dead code
* config/mh-decstation: clean out dead code
* config/mh-dgux: clean out dead code
* config/mh-dgux386: clean out dead code
* config/mh-hp300: clean out dead code
* config/mh-hpux: clean out dead code
* config/mh-hpux8: clean out dead code
* config/mh-interix: clean out dead code
* config/mh-irix4: clean out dead code
* config/mh-lynxrs6k: clean out dead code
* config/mh-mingw32: clean out dead code
* config/mh-ncr3000: clean out dead code
* config/mh-ncrsvr43: clean out dead code
* config/mh-necv4: clean out dead code
* config/mh-openedition: clean out dead code
* config/mh-riscos: clean out dead code
* config/mh-sco: clean out dead code
* config/mh-sysv4: clean out dead code
* config/mh-lynxos: removed, contained only dead code
* config/mh-vaxult2: removed, contained only dead code
* config/mh-sun3: removed, contained only dead code
* configure.in: remove references to dead files
ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN blocks.
* ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
blocks. Handle multiple references to the TRAP block. Handle
non-adjacent THEN and OTHER blocks.
* gcc.dg/20000906-1.c: Enable for all targets.
* gcc.c-torture/compile/iftrap-2.c: New.
real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as appropriate.
* real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
appropriate. Document need for extended precision even when
MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
instead of relying on later syntax error when REAL_WIDTH > 5.
* real.c: Define NE based only on whether or not we have a
full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
define GET_REAL and PUT_REAL as simple memcpy operations; no
need to byteswap or round.
Use #error instead of #ifdef-ing out the entire file, for
prompt error detection.
* rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
Benjamin Kosnik [Thu, 18 Apr 2002 23:47:50 +0000 (23:47 +0000)]
localefwd.h (locale::id::_M_id): Do this correctly, as type safety is important, especially on solaris.
2002-04-18 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/localefwd.h (locale::id::_M_id): Do this correctly,
as type safety is important, especially on solaris.
* include/bits/istream.tcc (istream::read): Clean.
(istream::readsome): Same.
* locale.cc: Wrap lines.
flow.c (update_life_info): Ignore return value of cleanup_cfg.
* flow.c (update_life_info): Ignore return value of cleanup_cfg.
Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
propagate_block calls after relaxation loop using new variable
stabilized_prop_flags.
Tom Tromey [Thu, 18 Apr 2002 21:35:49 +0000 (21:35 +0000)]
re PR libgcj/6158 (libgcj won't bootstrap on sparc-sun-solaris2.8 if already installed)
* configure.in: Disallow configuring libgcj when it is already
installed and we're using Solaris 2.8 linker. Do enable libgcj on
Solaris 2.8 by default. For PR libgcj/6158.
* ifcvt.c: Include except.h.
(block_has_only_trap): Break out from find_cond_trap.
(find_cond_trap): Use it. Always delete the trap block.
(merge_if_block): Allow then block null. Be less simplistic about
what insns can end a block.
* Makefile.in (ifcvt.o): Depend on except.h.
Roger Sayle [Thu, 18 Apr 2002 10:39:41 +0000 (10:39 +0000)]
fold-const.c (fold): Convert (T)(x&c) into ((T)x&(T)c) for integer constant c (if...
* fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
for integer constant c (if x has unsigned type or sign bit is not
set in c). This folds the zero/sign extension into the bit-wise and
operation.
Phil Edwards [Thu, 18 Apr 2002 02:55:50 +0000 (02:55 +0000)]
doxygroups.cc: New group on binary searching.
2002-04-17 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/doxygroups.cc: New group on binary searching.
* include/bits/stl_algo.h: Document binary searches and merges.
* include/bits/stl_deque.h: The 'map' member is not the 'map' class.
Phil Edwards [Thu, 18 Apr 2002 01:42:50 +0000 (01:42 +0000)]
mainpage.html: Doxygen logo is now a PNG file.
2002-04-17 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/mainpage.html: Doxygen logo is now a PNG file.
* docs/doxygen/run_doxygen: Bump required version.
* docs/doxygen/user.cfg.in: Revert accidental change.
* docs/html/faq/index.html: Reindent a block of links.
(4.4): New note on using dlsym.
* docs/html/faq/index.txt: Regenerated.
class.c (make_class_data): Set DECL_ALIGN on static class data, for hash synchronization.
* class.c (make_class_data): Set DECL_ALIGN on static class data,
for hash synchronization.
* expr.c (java_expand_expr): Set DECL_ALIGN on static array objects.
* decl.c (java_init_decl_processing): Don't set TYPE_ALIGN for
class_type_node.
re PR rtl-optimization/6305 (c++ gets ICE in reload_cse_simplify_operands)
PR optimization/6305
* config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
to make sure previous reloads are taken into account. Generate
better code if one operand is an in-range immediate constant.
Jakub Jelinek [Wed, 17 Apr 2002 08:24:03 +0000 (10:24 +0200)]
re PR bootstrap/6315 (sparc64 gcc -mhard-quad-float cannot compile libstdc++-v3)
PR bootstrap/6315
* config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
even if hard quad and register is not floating.
(movtf reg<-mem split): Disallow splitting if hard quad and
register is floating.
(movtf mem<-reg split): Likewise.
* config/sparc/sparc.c (fp_register_operand): New predicate.
* config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
Mark Mitchell [Wed, 17 Apr 2002 01:47:36 +0000 (01:47 +0000)]
c-common.h (STMT_EXPR_NO_SCOPE): New macro.
* c-common.h (STMT_EXPR_NO_SCOPE): New macro.
* c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
* tree.h (expand_start_stmt_expr): Update prototype.
* stmt.c (expand_start_stmt_expr): Add has_scope parameter.
* tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
on the STMT_EXPR created for the inline function.
* trans.c (tree_transform): Add has_scope argument to
expand_start_stmt_expr.
* com.c (ffecom_expr_power_integer): Add has_scope argument to
call to expand_start_stmt_expr.
* init.c (begin_init_stmts): Remove commented out code.
(finish_init_stmts): Set STMT_EXPR_NO_SCOPE.
* semantics.c (begin_gobal_stmt_expr): Adjust call to
expand_start_stmt_expr.
config.gcc (sparcv9-solaris): Configure for 64-bit default.
* config.gcc (sparcv9-solaris): Configure for 64-bit default.
Adjust tm_file order to get TARGET_DEFAULT set properly.
(sparc-solaris): Configure 2.[78] for 64-bit multilibs.
* doc/install.texi (sparc-solaris): Update.
Adam King [Tue, 16 Apr 2002 15:37:39 +0000 (15:37 +0000)]
natFileWin32.cc (performList): Return the correct array type.
2002-04-16 Adam King <aking@dreammechanics.com>
Tom Tromey <tromey@redhat.com>
* java/io/natFileWin32.cc (performList): Return the correct array
type. Don't duplicate the creation of a File since it's already
done earlier in the method and the existing code would cause a
ArrayStoreException. Don't use fixed-size array.
(_access, _stat, attr, getCanonicalPath, performMkdir,
performRenameTo): Don't use fixed-size array.
(getCanonicalPath): Use throw, not _Jv_Throw.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r52369
rs6000.c (rs6000_emit_cmove): Fail if modes of comparison operands do not match each other or if...
2002-04-16 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
comparison operands do not match each other or if modes of
conditions do not match result.
Gabriel Dos Reis [Tue, 16 Apr 2002 02:29:22 +0000 (02:29 +0000)]
[multiple changes]
2002-04-16 Paolo Carlini <pcarlini@unitus.it>
* testsuite/24_iterators/rel_ops.cc: New test.
2002-04-16 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
* include/bits/type_traits.h (__normal_iterator): Declare in
__gnu_cxx. Adjust use at global namespace.
* include/bits/stl_iterator.h (__normal_iterator): Move
definition
into __gnu_cxx::. Add more operator overloads. Tidy existing
ones.
* include/bits/basic_string.h (basic_string): Adjust use of
__normal_iterator.
* include/bits/stl_vector.h (_Alloc>): Likewise.
* src/concept-inst.cc (__gnu_cxx): __normal_iterator<> is now
here.
* src/string-inst.cc (operator==): Instantiate in __gnu_cxx.