Eric Blake [Sun, 30 Mar 2003 06:43:45 +0000 (06:43 +0000)]
natString.cc (hashCode): Use cachedHashCode.
2003-03-29 Eric Blake <ebb9@email.byu.edu>
Tom Tromey <tromey@redhat.com>
* java/lang/natString.cc (hashCode): Use cachedHashCode.
(init()): Removed.
(charAt): Put index in exception.
(contentEquals): New method.
Include StringBuffer.h.
* java/lang/String.java (cachedHashCode): New field.
(String()): Follow classpath implementation.
(init()): Removed.
(contentEquals): Declare.
(subSequence): Don't declare IndexOutIfBoundsException in throws
clause.
(matches, replaceFirst, replaceAll, split): New methods from
Classpath.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r65037
Tom Tromey [Sat, 29 Mar 2003 20:17:02 +0000 (20:17 +0000)]
natClass.cc (newInstance): Put method name in exception.
* java/lang/natClass.cc (newInstance): Put method name in
exception.
(getConstructor): Likewise.
(getDeclaredConstructor): Likewise.
(getPrivateMethod): Likewise.
Ulrich Weigand [Fri, 28 Mar 2003 23:40:51 +0000 (23:40 +0000)]
gcc/ ChangeLog:
* config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
set up before any trapping memory access if flag_non_call_exceptions.
libjava/ ChangeLog:
* configure.in (HAVE_BACKTRACE) [s390*-*-linux*]: Define.
* configure: Regenerate.
Ulrich Weigand [Fri, 28 Mar 2003 20:27:02 +0000 (20:27 +0000)]
s390.md ("literal_pool_31"): Output pool anchor label even if pool empty when generating PIC.
* config/s390/s390.md ("literal_pool_31"): Output pool anchor
label even if pool empty when generating PIC.
("literal_pool_31", "literal_pool_64"): Coding style cleanup.
Mark Mitchell [Fri, 28 Mar 2003 19:30:41 +0000 (19:30 +0000)]
decl2.c (generate_ctor_or_dtor_function): Tolerate a non-existant ssdf_decls array.
* decl2.c (generate_ctor_or_dtor_function): Tolerate a
non-existant ssdf_decls array.
(finish_file): Call generator_ctor_or_dtor_function when there are
static constructors or destructors and no other static
initializations.
Michael Koch [Fri, 28 Mar 2003 13:07:46 +0000 (13:07 +0000)]
File.java: Import needed classes instead of whole packages...
2003-03-28 Michael Koch <konqueror@gmx.de>
* java/io/File.java:
Import needed classes instead of whole packages, merged class
documentation with classpath, moved constants and variables to top of
class.
* java/io/PrintStream.java:
Merged class documentation with classpath, moved constants and
variables to top of class.
* java/io/RandomAccessFile.java
(RandomAccessFile): Merged with classpath.
(read): Merged with classpath).
(read*): Reformatted.
Michael Koch [Fri, 28 Mar 2003 08:59:41 +0000 (08:59 +0000)]
2003�03-28 Michael Koch <konqueror@gmx.de>
* java/io/FileOutputStream.java:
Merged class documentation and authors with classpath.
(FileOutputStream): Partly merged with classpath.
(write): Merged with classpath.
(getChannel): Make it synchronized instead of explicit block in this
method.
* java/io/RandomAccessFile.java:
Merged class documentation and authors with classpath.
Roger Sayle [Fri, 28 Mar 2003 02:41:14 +0000 (02:41 +0000)]
fold-const.c (fold_inf_compare): New function to simplify FP comparisons against +Infinity or -Infinity.
* fold-const.c (fold_inf_compare): New function to simplify FP
comparisons against +Infinity or -Infinity.
(fold): Optimize floating point comparisons against Infs and NaNs.
* gcc.c-torture/execute/ieee/fp-cmp-6.c: New test case.
* gcc.c-torture/execute/ieee/fp-cmp-7.c: New test case.
Olivier Hainque [Thu, 27 Mar 2003 21:51:23 +0000 (22:51 +0100)]
re PR ada/9953 (Unsatisfied symbols: U_prep_frame_rec_for_unwind (code))
PR ada/9953
* ada/Makefile.in (gnatlib configuration for HPUX): Split
the general section for HPUX into specific sections for
HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
11 case.
PR opt/10087
* loop.c (loop_givs_reduce): Skip bivs with duplicate locations
while incrementing giv.
(record_biv): Check for duplicate biv locations and
set (struct induction *) v->same if found.
David Mosberger [Thu, 27 Mar 2003 18:13:59 +0000 (18:13 +0000)]
unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind v0.9 API change...
* unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
v0.9 API change: replace read of UNW_REG_HANDLER with
unw_get_proc_info().
(_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
with unw_get_proc_info().
(_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
unw_get_proc_info().
Nathan Sidwell [Thu, 27 Mar 2003 14:04:28 +0000 (14:04 +0000)]
re PR c++/10224 (Problem with integral constants (+ICE))
cp:
PR c++/10224
* pt.c (lookup_template_class): Only check instantiated args if
they do not contain template parameters.
testsuite:
PR c++/10224
* g++.dg/template/arg3.C: New test.
Nathan Sidwell [Thu, 27 Mar 2003 12:19:13 +0000 (12:19 +0000)]
re PR c++/10158 (ICE with templates and friends)
cp:
PR c++/10158
* parser.c (cp_parser_function_definition): Set
DECL_INITIALIZED_IN_CLASS for members.
* pt.c (instantiate_decl): Only reduce the template args for
friends that are not defined in class.
testsuite:
PR c++/10158
* g++.dg/template/friend18.C: New test.
Roger Sayle [Wed, 26 Mar 2003 21:56:34 +0000 (21:56 +0000)]
PR bootstrap/10051, PR bootstrap/10169.
* mips-tfile.c (init_file): Don't provide a static initializer.
(initialize_init_file): Initialize the contents of init_file.
(add_file): Call initialize_init_file if not already initialized.
Ulrich Weigand [Wed, 26 Mar 2003 19:21:08 +0000 (19:21 +0000)]
s390.c (s390_optimize_prolog): Do not save/restore registers used for global asm variables.
* config/s390/s390.c (s390_optimize_prolog): Do not save/restore
registers used for global asm variables.
(s390_frame_info, s390_arg_frame_offset): Likewise.
(s390_emit_prologue, s390_emit_epilogue): Likewise.
Vladimir Makarov [Wed, 26 Mar 2003 16:24:54 +0000 (16:24 +0000)]
8540.md: New file.
2003-03-26 Vladimir Makarov <vmakarov@redhat.com>
* config/rs6000/8540.md: New file.
* config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
reservations for imul.
* config/rs6000/rs6000.md: Include 8540.md. Change
delayed_compare onto mult_compare for insns generating
multiplication.
(mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
New type attribute values.
* config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
fpsimple instead of fp.
(*divsf3_gpr): Use type vecfdiv instead of fp.
(spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
instead of vecfloat.
(spe_evfsdive): Use type vecfdiv instead of vecfloat.
(spe_brinc): Use type brinc instead of veccomplex.
(spe_evaddw, spe_evaddiw): Use type vecsimple instead of
veccomplex.
(spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
(*movv2si_internal, *movv1di_internal, *movv4hi_internal,
*movv2sf_internal): Define type attribute values for all
alternatives.
(cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
of fpcompare.
(tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
instead of fpcompare.
David Edelsohn [Wed, 26 Mar 2003 16:04:08 +0000 (16:04 +0000)]
power4.md: Allow delay between dispatch and function units for simple instructions.
* config/rs6000/power4.md: Allow delay between dispatch and
function units for simple instructions. Correct store units.
Allow branch to occupy as many dispatch slots as necessary.
Jakub Jelinek [Wed, 26 Mar 2003 16:00:52 +0000 (17:00 +0100)]
ia64.c (ia64_expand_op_and_fetch): Fix comment.
* config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
(ia64_expand_compare_and_swap): Use always DImode ar.ccv,
zero extend old to it.
* config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
operand.
Jan Hubicka [Tue, 25 Mar 2003 19:20:34 +0000 (20:20 +0100)]
re PR rtl-optimization/10056 ([HP-PA] ICE at -O2 when building c++ code from doxygen)
PR opt/10056
* cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
jump jumping to the next instruction.
* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
Eric Botcazou [Tue, 25 Mar 2003 10:18:47 +0000 (11:18 +0100)]
re PR rtl-optimization/8746 (gcc miscompiles Linux kernel ppa driver on x86)
PR optimization/8746
* config/i386/i386.md (and promoting splitters): Disable HImode to
SImode promoting when the sign bit matters and is not preserved, or
when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
for size.
Stephane Carrez [Mon, 24 Mar 2003 22:26:05 +0000 (23:26 +0100)]
t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and _return_far
* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
_return_far
(MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
(MULTILIB_EXCEPTIONS): Likewise.
* config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
by calling some board support routine.
("call_value"): Likewise.
("*return_void"): Likewise for return.
("*return_16bit"): Likewise.
("*return_32bit"): Likewise.
* config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
for 68HC11 too.
(DWARF2_ADDR_SIZE): Use 4 so that addresses can
* config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
-mlong-calls for 68HC11.
* config/m68hc11/larith.asm (declare_near): New macro.
(__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
(___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
(___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
(___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
(__mulhi32): Likewise.
(ret): Update macro for 68HC11.
(__far_trampoline): Implement for 68HC11.
(__call_a16, __call_a32, __return_void, __return_16): New support
routines for 68HC11 memory bank switching calling support.
(__return_32): Likewise.
Nathan Sidwell [Mon, 24 Mar 2003 19:47:17 +0000 (19:47 +0000)]
PR c++/9898, PR c++/383, DR 322
cp:
PR c++/9898, PR c++/383, DR 322
* pt.c (maybe_adjust_types_for_deduction) [DEDUCE_CONV]: Look
through reference types on both PARM and ARG.
testsuite:
PR c++/9898, c++/383
* g++.dg/template/conv6.C: New test.