Bob Wilson [Wed, 9 May 2007 17:05:14 +0000 (17:05 +0000)]
xtensa.c (xtensa_output_literal): Mask out high bits for floating-point values if HOST_BITS_PER_LONG > 32.
* config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
for floating-point values if HOST_BITS_PER_LONG > 32. Use split_double
instead of operand_subword.
Chao-ying Fu [Tue, 8 May 2007 22:51:14 +0000 (22:51 +0000)]
md.texi (msub@var{m}@var{n}4, [...]): Document.
* doc/md.texi (msub@var{m}@var{n}4, usub@var{m}@var{n}4): Document.
* optabs.h (OTI_smsub_widen, OTI_umsub_widen): New optab_indexes.
(smsub_widen_optab, umsub_widen_optab): Define.
* optabs.c (init_optabs): Initialize smsub_widen_optab and
umsub_widen_optab.
* genopinit.c (optabs): Fill in smsub_widen_optab and
umsub_widen_optab.
* expr.c (expand_expr_real_1): Try to use smsub_widen_optab
and umsub_widen_optab to implement multiply-subtract sequences.
* config/mips/mips.md (*msac<u>_di): Rename to...
(<u>msubsidi4): ...this. Extend condition to include
GENERATE_MADD_MSUB and TARGET_DSPR2. Change the constraint
of operand 0 to "ka" and use the three-operand form of msub<u>
for TARGET_DSPR2.
* config/mips/mips-dspr2.md (mips_msub, mips_msubu): Convert
to define_expands.
Kaz Kojima [Tue, 8 May 2007 22:22:49 +0000 (22:22 +0000)]
re PR rtl-optimization/28011 ([SH] g++ generates wrong code, if '-fno-exceptions' and '-O' options are specified)
PR rtl-optimization/28011
* reload.c (push_reload): Set dont_share if IN appears in OUT
also when IN is a PLUS rtx.
(reg_overlap_mentioned_for_reload_p): Return true if X and IN
are same PLUS rtx.
Paul Thomas [Tue, 8 May 2007 14:40:58 +0000 (14:40 +0000)]
re PR fortran/31630 (ICE on nasty derived types code)
2007-05-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31630
* resolve.c (resolve_symbol): Remove the flagging mechanism from the
formal namespace resolution and instead check that the formal
namespace is not the current namespace.
gcc/
* config/mips/mips.h (MAX_FPRS_PER_FMT): Renamed from FP_INC.
Update comments and all uses.
(MIN_FPRS_PER_FMT): Define.
* config/mips/mips.c (function_arg): Fix to correctly handle
the -mips32r2 -mfp64 -mabi=32 case.
(override_options): Enable use of odd-numbered registers for
SFmode values on MIPS32.
(mips_save_reg_p): Save whole floating-point register pair if
either half is used.
(compute_frame_size): Fix comment.
Jie Zhang [Tue, 8 May 2007 11:59:08 +0000 (11:59 +0000)]
bfin-protos.h (bfin_expand_epilogue): Add a third argument of type bool.
* config/bfin/bfin-protos.h (bfin_expand_epilogue): Add a third
argument of type bool.
* config/bfin/bfin.c (add_to_reg): Add epilogue_p as a fourth
argument. Safely select temporary P register according to it.
(do_link): Change call site of add_to_reg accordingly.
(do_unlink): Add epilogue_p as a fourth argument and pass it
to add_to_reg.
(expand_interrupt_handler_epilogue): Change call of do_unlink
accordingly.
(bfin_expand_prologue): Add a third argument sibcall_p.
* config/bfin/bfin.md (epilogue): Change call of
bfin_expand_epilogue accordingly.
(sibcall_epilogue): Likewise.
(eh_return_internal): Likewise.
Paul Thomas [Tue, 8 May 2007 11:58:25 +0000 (11:58 +0000)]
re PR fortran/29397 (Constant logical expression with parameter array)
2007-05-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29397
PR fortran/29400
* decl.c (add_init_expr_to_sym): Expand a scalar initializer
for a parameter array into an array expression with the right
shape.
* array.c (spec_dimen_size): Remove static attribute.
* gfortran.h : Prototype for spec_dimen_size.
2007-05-08 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29397
* gfortran.dg/parameter_array_init_1.f90: New test.
PR fortran/29400
* gfortran.dg/parameter_array_init_2.f90: New test.
* gcc.c (at_file_supplied): New variable.
(main): Set it if we expanded argv.
(do_spec_1): Pass an @-file to the linker if we were called with
an @-file argument and HAVE_GNU_LD.
* collect2.c (at_file_supplied): New variable.
(response_file): New variable.
(collect_exit): Unlink response_file if necessary.
(handler): Likewise.
(do_wait): Likewise.
(main): Set at_file_supplied if we expanded argv.
(collect_execute): Pass an @-file to subprocesses if we were called
with an @-file argument.
* configure.ac: Add define for HAVE_GNU_LD.
* configure: Regenerate.
* config.in: Regenerate.
Jason Merrill [Mon, 7 May 2007 21:27:54 +0000 (17:27 -0400)]
re PR other/28145 (C++ (throw() and catch(...) {/* fall through */ } ) and pthread cancellation are incompatible (at least with NPTL))
PR c++/28145
* libsupc++/cxxabi.h (__forced_unwind, __foreign_exception):
New classes.
* libsupc++/eh_exception.cc: Define their destructors.
* config/abi/pre/gnu.ver: Export their type_infos.
* config/abi/pre/gnu-versioned-namespace.ver: Likewise.
* libsupc++/eh_personality.cc: A handler for abi::__forced_unwind
matches a forced unwind, and a handler for abi::__foreign_exception
matches a foreign exception.
Keith Seitz [Mon, 7 May 2007 20:45:21 +0000 (20:45 +0000)]
Jdwp.java (notify): Rewrite to call new array-based method.
* gnu/classpath/jdwp/Jdwp.java (notify): Rewrite to call
new array-based method.
(notify): New function.
(sendEvent): Rewrite to use sendEvents.
(sendEvents): New method.
* gnu/classpath/jdwp/event/Event.java (toPacket): Make static.
Change parameters to use arrays for events and requests.
Add suspendPolicy parameter.
Move per-event data transformation to...
(_toData): ... here.
* gnu/classpath/jdwp/transport/JdwpConnection.java
(sendEvent): Renamed to ...
(sendEvents): ... this.
Change parameters to use arrays for events and requests.
Add suspendPolicy parameter.
Mark Mitchell [Mon, 7 May 2007 18:03:47 +0000 (18:03 +0000)]
libstdc++.exp (v3_target_compile_as_c): In installed-tree testing, use "remote_exec host", not "remote_exec exec".
* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): In
installed-tree testing, use "remote_exec host", not "remote_exec
exec". Trip trailing newlines from output of -dumpversion and
-dumpmachine.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Reset cfg_altered.
Free dominance info before purging EH edges as well as after.
(eliminate_degenerate_phis): Likewise.
(propagate_rhs_into_lhs): Set cfg_altered to true instead of 1.
re PR driver/31694 (__GFORTRAN__ preprocessor macro)
PR driver/31694
* c-opts.c (lang_fortran): Make it non static.
* c-common.h (lang_fortran): New prototype.
* c-cppbuiltin.c (c_cpp_builtins): Create a __GFORTRAN__ if the
-lang-fortran option was passed by the driver.
Jerry DeLisle [Sun, 6 May 2007 22:32:33 +0000 (22:32 +0000)]
re PR fortran/31201 (Too large unit number generates wrong code)
2007-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/31201
* gfortran.h: Add runtime error codes from libgfortran.h. Define
MAX_UNIT_NUMBER.
* trans.c (gfc_trans_runtime_check): Update the format of runtime error
messages to match library runtime errors. Use call to new library
function runtime_error_at().
* trans.h: Add prototype for new function gfc_trans_io_runtime_check.
Add declaration for library functions runtime_error_at and
generate_error.
* trans_io.c (gfc_trans_io_runtime_check): New function.
(set_parameter_value): Add error checking for UNIT numbers.
(set_parameter_ref): Initialize the users variable to zero.
(gfc_trans_open): Move setting of unit number to after setting of common
flags so that runtime error trapping can be detected.
(gfc_trans_close): Likewise. (build_filepos): Likewise.
(gfc_trans_inquire): Likewise. (build_dt): Likewise.
* trans-decl.c: Add declarations for runtime_error_at and
generate_error. (gfc_build_builtin_function_decls): Build function
declarations for runtime_error_at and generate_error.
Jerry DeLisle [Sun, 6 May 2007 22:28:31 +0000 (22:28 +0000)]
re PR fortran/31201 (Too large unit number generates wrong code)
2007-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/31201
* runtime/error.c (runtime_error_at): New function.
(generate_error): Export this function.
* gfortran.map: Add _gfortran_generate_error and
_gfortran_runtime_error_at.
* libgfortran.h: Add comment to reference error codes in front end.
(library_start): Locate prototype with library_end macro and add
a new comment. Add prototype for runtime_error_at. Export prototype for
generate_error.
* io/lock.c (library_start): Fix check for error condition.
* io/transfer.c (data_transfer_init): Add library check.
Aurelien Jarno [Sun, 6 May 2007 02:42:36 +0000 (02:42 +0000)]
pa.md: Split tgd_load, tld_load and tie_load into pic and non-pic versions.
* config/pa/pa.md: Split tgd_load, tld_load and tie_load
into pic and non-pic versions. Mark r19 as used for
tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used
for tgd_load, tld_load and tie_load .
* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
version of tgd_load, tld_load and tie_load depending on the
value of flag_pic.
Ulrich Drepper [Fri, 4 May 2007 19:20:28 +0000 (19:20 +0000)]
crtstuff.c (HIDDEN_DTOR_LIST_END): New macro.
* crtstuff.c (HIDDEN_DTOR_LIST_END): New macro.
(__do_global_dtors_aux): Use more paranoid loop to run
destructors if HIDDEN_DTOR_LIST_END.
(__DTOR_END__): Export as a hidden symbol when HIDDEN_DTOR_LIST_END.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r124444
Jakub Jelinek [Fri, 4 May 2007 19:17:57 +0000 (21:17 +0200)]
varasm.c (align_variable): Don't increase alignment for DECL_THREAD_LOCAL_P variables above BITS_PER_WORD...
* varasm.c (align_variable): Don't increase alignment for
DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through
DATA_ALIGNMENT or CONSTANT_ALIGNMENT.
* testsuite/util/testsuite_iterators.h: Do not include the entire
<iterator>.
* include/bits/stl_iterator_base_types.h: Adjust includes.
* testsuite/25_algorithms/unique_copy/2.cc: Include <functional>.