PR opt/10087
* gcc.dg/20030324-1.c: New test.
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.
From-SVN: r64928
* 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().
From-SVN: r64927
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.
From-SVN: r64923
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.
From-SVN: r64920
PR fortran/9793
* target.h (ffetarget_divide_integer1): Perform division by -1
using negation to prevent possible overflow trap on the host.
* g77.f-torture/compile/20030326.f: New test case.
From-SVN: r64909
* 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.
From-SVN: r64904
* 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.
From-SVN: r64902
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.
From-SVN: r64899
* 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.
From-SVN: r64896
* 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.
* gcc.dg/ia64-sync-3.c: New test.
From-SVN: r64895
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.
From-SVN: r64854
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.
From-SVN: r64840
* 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.
From-SVN: r64825
2003-03-24 Bud Davis <bdavis9659@comcast.net>
PR fortran/10197
* libI77/open.c (f_open): A DIRECT ACCESS file is
UNFORMATTED by default.
From-SVN: r64821
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.
From-SVN: r64815
* java/io/DataOutputStream.java
(write): Merged from classpath.
* java/io/File.java:
Merged copyrigth with classpath.
* java/io/FileInputStream.java
(getChannel): Made it synchronized instead of using a synchronized
block.
* java/io/FileOutputStream.java: Reformatted.
* java/io/InputStreamReader.java
(InputStreamReader): Renamed enc to encoding_name.
(close): Merged documentation from classpath.
(getEncoding): Merged documentation from classpath.
(ready): Merged documentation from classpath.
(read): Merged documentation from classpath.
* java/io/LineNumberReader.java
(lineNumber): Made it private.
(LineNumberReader): Use Constant instead of a direct value.
* java/io/OutputStreamWriter.java
(OutputStreamWriter): Renamed enc to encoding_scheme, merged
documentation from classpath.
(close): Merged documentation from classpath.
(flush): Merged documentation from classpath.
(write): Merged documentation from classpath.
* java/io/PrintStream.java: Reformatted.
From-SVN: r64806