Bob Wilson [Tue, 12 Mar 2002 20:02:36 +0000 (20:02 +0000)]
xtensa-config.h: Define XCHAL_HAVE_LOOPS.
* config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
* config/xtensa/lib1funcs.asm: Fix copyright to include
special case for libgcc files.
(__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
(__divsi3): Likewise.
(__umodsi3): Likewise.
(__modsi3): Likewise.
* config/xtensa/lib2funcs.S: Fix copyright to include
special case for libgcc files.
Adam Megacz [Tue, 12 Mar 2002 19:06:36 +0000 (19:06 +0000)]
dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.
2002-03-12 Adam Megacz <adam@xwt.org>
* dyn_load.c: Renamed GC_win32s to GC_no_win32_dlls.
* misc.c: Renamed GC_is_win32s() to GC_no_win32_dlls
* os_dep.c: Renamed GC_win32s to GC_no_win32_dlls and
statically initialized it to TRUE if compiling with GCC.
* win32_threads.c (thread_start): We no longer use SEH if
compiling with GCC.
* mark.c (GC_mark_some): We no longer use SEH if
compiling with GCC.
Bob Wilson [Tue, 12 Mar 2002 18:11:49 +0000 (18:11 +0000)]
MAINTAINERS: Add myself as maintainer for xtensa port.
* MAINTAINERS: Add myself as maintainer for xtensa port.
Fix alphabetical order in CPU port maintainer list.
Remove myself from Write After Approval list.
Ulrich Weigand [Tue, 12 Mar 2002 14:32:37 +0000 (14:32 +0000)]
s390.md (reload_insi, [...]): Change mode of scratch register to DImode / TImode.
* config/s390/s390.md (reload_insi, reload_indi): Change mode of
scratch register to DImode / TImode.
config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
register used does not overlap the target.
cris.c (cris_target_asm_function_prologue): Do not emit pic register load if "internal" visibility.
* config/cris/cris.c (cris_target_asm_function_prologue): Do not
emit pic register load if "internal" visibility.
(cris_print_operand): Avoid traditional-warning for 0xffffffff.
(cris_expand_builtin_va_arg): Do all computations on trees.
Neil Booth [Mon, 11 Mar 2002 21:11:36 +0000 (21:11 +0000)]
Makefile.in: Update.
* Makefile.in: Update.
doc:
* cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
Update documentation.
* gcc.texi: Include cppopts.texi and cppenv.texi.
* cpp.texi: Include cppopts.texi and cppenv.texi.
Phil Edwards [Mon, 11 Mar 2002 21:11:07 +0000 (21:11 +0000)]
libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles): New function.
2002-03-11 Phil Edwards <pme@gcc.gnu.org>
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-list-sourcefiles):
New function. Build the list of tests to run in testsuite_files.
* testsuite/libstdc++-v3.dg/dg.exp: Use it.
Nathan Sidwell [Mon, 11 Mar 2002 20:51:00 +0000 (20:51 +0000)]
Revert 2001-03-26 Nathan Sidwell <nathan@codesourcery.com>, DR209 is now not a defect.
cp:
Revert 2001-03-26 Nathan Sidwell <nathan@codesourcery.com>,
DR209 is now not a defect.
* cp-tree.h (skip_type_access_control): Remove.
* decl.c (grokdeclarator): Do type access control for friend
declarations.
* semantics.c (decl_type_access_control): Don't reset
current_type_lookups.
(save_type_access_control): Always save the lookups.
(skip_type_access_control): Remove.
(finish_class_definition): Don't change type_lookups.
testsuite:
* testsuite/g++.old-deja/g++.other/friend9.C: Revert DR 209 changes.
* testsuite/g++.old-deja/g++.robertl/eb56.C: Likewise.
Zack Weinberg [Mon, 11 Mar 2002 20:37:13 +0000 (20:37 +0000)]
texi2pod.pl: Handle @include, @ftable, @vtable.
* contrib/texi2pod.pl: Handle @include, @ftable, @vtable.
Reformat some code for clarity.
* gcc/Makefile.in: Give texi2pod its input file as a command
line argument, not on stdin.
Nathan Sidwell [Mon, 11 Mar 2002 20:34:51 +0000 (20:34 +0000)]
Revert 2000-12-01 Nathan Sidwell <nathan@codesourcery.com>, It is incorrect.
cp:
Revert 2000-12-01 Nathan Sidwell <nathan@codesourcery.com>,
It is incorrect.
* typeck.c (build_static_cast): Compare non-qualified types
with pointer to member conversions.
testsuite:
* testsuite/g++.dg/overload/pmf1.C: New test.
Dan Nicolaescu [Mon, 11 Mar 2002 18:01:54 +0000 (18:01 +0000)]
C++ alias analysis improvement.
2002-03-06 Dan Nicolaescu <dann@ics.uci.edu>
Daniel Berlin <dan@dberlin.org>
C++ alias analysis improvement.
* alias.c (record_component_aliases): Record aliases for base
classes too.
* cp/cp-lang.c (ok_to_generate_alias_set_for_type): New function.
(cxx_get_alias_set): Use it.
Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>
From-SVN: r50587
Bryce McKinlay [Mon, 11 Mar 2002 11:15:10 +0000 (11:15 +0000)]
parse.y (patch_assignment): Wrap the right-hand-side with a save_expr to prevent it getting evaluated twice...
* parse.y (patch_assignment): Wrap the right-hand-side with a save_expr
to prevent it getting evaluated twice in the store checking case.
* expr.c (build_java_arraystore_check): Unwrap SAVE_EXPR's when
examining OBJECT.
* defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
(MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
LARGEST_EXPONENT_IS_NORMAL for the given mode.
(MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
* real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
(ediv, emul, eldexp, esqrt): Likewise.
(etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
(e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
(saturate): New function.
(toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
(make_nan): Use a saturation value instead of a NaN if
LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
* fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
(unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
(_fpmul_parts, _fpdiv_parts): Only round to nearest if
!ROUND_TOWARDS_ZERO.
* doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
(ROUND_TOWARDS_ZERO): Document.
Ulrich Drepper [Sun, 10 Mar 2002 23:48:25 +0000 (23:48 +0000)]
2002-03-09 Ulrich Drepper <drepper@redhat.com>
Paolo Carlini <pcarlini@unitus.it>
* config/locale/generic/collate_members.cc
(collate<char,wchar_t>::_M_compare_helper): normalize
values returned by strcoll and wcscoll.
* config/locale/gnu/collate_members.cc
(collate<char,wchar_t>::_M_compare_helper): ditto
for __strcoll_l and __wcscoll_l.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r50551
Tom Tromey [Sun, 10 Mar 2002 04:50:21 +0000 (04:50 +0000)]
verify.cc (state::NO_STACK): New constant.
* verify.cc (state::NO_STACK): New constant.
(state::is_unmerged_ret_state): Handle case where stacktop is
NO_STACK.
(state::merge): Handle NO_STACK merges.
(handle_jsr_insn): Invalidate PC, and use special NO_STACK state
for instruction following jsr.
(stacktop, stackdepth): Removed unused variables.
(pop_jump): Ignore case where all remaining states are skipped.
Bryce McKinlay [Sun, 10 Mar 2002 03:53:16 +0000 (03:53 +0000)]
Hashtable synchronization for PowerPC.
libjava:
Hashtable synchronization for PowerPC.
* configure.in: Define SLOW_PTHREAD_SELF if configure.host set
slow_pthread_self. Set up symlink for sysdeps directory.
* configure: Rebuild.
* configure.host: Document more shell variables. Set sysdeps_dir
for most platforms. Set slow_pthread_self for i686. Set
enable_hash_synchronization_default and slow_pthread_self for PowerPC.
* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use release_set so
that memory barrier is emitted where required.
* prims.cc: 64-bit align static primitive class instances.
* include/posix-threads.h (_Jv_ThreadSelf for SLOW_PTHREAD_SELF): Add
read_barrier() to enforce ordering of reads.
* sysdep/powerpc/locks.h: New file. Implementation of synchronization
primitives for PowerPC.
* sysdep/i386/locks.h: New file. Synchronization primitives for i386
moved from natObject.cc.
* sysdep/alpha/locks.h: Likewise.
* sysdep/ia64/locks.h: Likewise.
* sysdep/generic/locks.h: Likewise.
* java/lang/natObject.cc: Move thread synchronization primitives to
system-dependent headers.
gcc/java:
* decl.c (java_init_decl_processing): Make sure class_type_node
alignment is not less than 64 bits if hash synchronization isenabled.
boehm-gc:
* include/gc_priv.h: Define ALIGN_DOUBLE on 32 bit targets if GCJ
support is enabled, for hash synchronization.
Bryce McKinlay [Sun, 10 Mar 2002 03:31:08 +0000 (03:31 +0000)]
configure.in: Define SLOW_PTHREAD_SELF if configure.host set slow_pthread_self.
libjava:
* configure.in: Define SLOW_PTHREAD_SELF if configure.host set
slow_pthread_self. Set up symlink for sysdeps directory.
* configure.host: Document more shell variables. Set sysdeps_dir
for most platforms. Set slow_pthread_self for i686. Set
enable_hash_synchronization_default and slow_pthread_self for PowerPC.
* posix-threads.cc (_Jv_ThreadSelf_out_of_line): Use release_set so
that memory barrier is emitted where required.
* include/posix-threads.h (_Jv_ThreadSelf for SLOW_PTHREAD_SELF): Add
read_barrier() to enforce ordering of reads.
* sysdep/powerpc/locks.h: New file. Implementation of synchronization
primitives for PowerPC.
* sysdep/i386/locks.h: New file. Synchronization primitives for i386
moved from natObject.cc.
* sysdep/alpha/locks.h: Likewise.
* sysdep/ia64/locks.h: Likewise.
* sysdep/generic/locks.h: Likewise.
* java/lang/natObject.cc: Move thread synchronization primitives to
system-dependent headers.
gcc/java:
* decl.c (java_init_decl_processing): Make sure class_type_node
alignment is not less than 64 bits if hash synchronization is enabled.
boehm-gc:
* include/gc_priv.h: Define ALIGN_DOUBLE on 32 bit targets if GCJ
support is enabled, for hash synchronization.
Richard Kenner [Sat, 9 Mar 2002 12:53:21 +0000 (12:53 +0000)]
emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
* emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
* function.c (fixup_var_refs): Add MAY_SHARE parameter.
(fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
(fixup_var_refs_insn, fixup_var_refs_1): Likewise.
(pop_function_context): Compute MAY_SHARE parameter for
fixup_var_refs.
(fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
(gen_mem_addressof): Call fixup_var_refs with new parm.