Razya Ladelsky [Mon, 28 May 2007 11:27:34 +0000 (11:27 +0000)]
matrix: New directory.
2007-05-28 Razya Ladelsky <razya@il.ibm.com>
* gcc.dg/matrix: New directory.
From-SVN: r125128
Razya Ladelsky [Mon, 28 May 2007 11:23:08 +0000 (11:23 +0000)]
Change date of changelog
From-SVN: r125127
Razya Ladelsky [Mon, 28 May 2007 11:10:27 +0000 (11:10 +0000)]
matrix-reorg.c: New file.
2007-05-07 Razya Ladelsky <razya@il.ibm.com>
* matrix-reorg.c: New file. Implement matrix flattening and transposing
optimization.
* tree-pass.h: Add matrix reorg pass.
* common.opt: Add fipa-mreorg flag.
* Makefile.in: Add matrix-reorg.c.
* passes.c: Add matrix reorg pass.
* varpool.c (add_new_static_var): New function.
* cgraph.h (add_new_static_var): Declare.
From-SVN: r125126
Paolo Bonzini [Mon, 28 May 2007 06:38:00 +0000 (06:38 +0000)]
re PR other/32078 (Make FAILURE in 4.3.0 - `CXXFLAGS' has changed error causes "libltdl: No such file or directory")
2007-05-27 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/32078
* configure.ac: Include confsubdir.m4.
* configure: Regenerate.
From-SVN: r125125
Paolo Bonzini [Mon, 28 May 2007 06:34:21 +0000 (06:34 +0000)]
confsubdir.m4: Move here from newlib.
2007-05-27 Paolo Bonzini <bonzini@gnu.org>
* confsubdir.m4: Move here from newlib.
From-SVN: r125124
GCC Administrator [Mon, 28 May 2007 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r125122
Jerry DeLisle [Sun, 27 May 2007 22:42:54 +0000 (22:42 +0000)]
re PR fortran/31812 (Better message than "syntax error" when truncating long lines)
2007-05-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/31812
* parse.c (next_statement): Warn for truncated lines if source is free
form.
From-SVN: r125119
Tobias Burnus [Sun, 27 May 2007 21:24:48 +0000 (23:24 +0200)]
re PR fortran/32088 (ICE (doesn't occur if given function standalone instead on internal))
fortran/
2007-05-27 Paul Thomas <pault@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32088
* symbol.c (gfc_check_function_type): Copy dimensions of
result variable.
* resolve.c (resolve_contained_fntype): Improve symbol output in
the error message.
testsuite/
2007-05-27 Tobias Burnus <burnus@net-b.de>
PR fortran/32088
* gfortran.dg/func_result_3.f90: New.
-- Diese und die falgenden Zeilen werden ignoriert --
M gcc/testsuite/ChangeLog
A gcc/testsuite/gfortran.dg/func_result_3.f90
M gcc/fortran/symbol.c
M gcc/fortran/ChangeLog
M gcc/fortran/resolve.c
From-SVN: r125118
Eric Christopher [Sun, 27 May 2007 19:13:07 +0000 (19:13 +0000)]
rs6000.c (rs6000_emit_prologue): Update sp_offset depending on stack size.
2007-05-27 Eric Christopher <echristo@apple.com>
* config/rs6000/rs6000.c (rs6000_emit_prologue): Update
sp_offset depending on stack size. Save r12 depending
on registers we're saving later.
(rs6000_emit_epilogue): Update sp_offset depending only
on stack size.
From-SVN: r125116
Zdenek Dvorak [Sun, 27 May 2007 17:23:11 +0000 (19:23 +0200)]
tree-vrp.c (execute_vrp): Do not check whether current_loops == NULL.
* tree-vrp.c (execute_vrp): Do not check whether current_loops == NULL.
* tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
* ifcvt.c (if_convert): Ditto.
* tree-ssa-threadupdate.c (thread_block): Ditto.
(thread_through_all_blocks): Ditto. Assert that loops were analysed.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
verify_loop_closed_ssa): Check number_of_loops instead of current_loops.
* predict.c (tree_estimate_probability): Ditto.
* tree-if-conv.c (main_tree_if_conversion): Ditto.
* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
* modulo-sched.c (sms_schedule): Ditto.
* tree-scalar-evolution.c (scev_const_prop): Ditto.
(scev_finalize): Do not do anything if scev analysis was not
initialized.
* cfgloopanal.c (mark_irreducible_loops): Do not check whether
current_loops == NULL.
(mark_loop_exit_edges): Check number_of_loops instead of current_loops.
* loop-init.c (loop_optimizer_init): Do not free current_loops when
there are no loops.
(loop_optimizer_finalize): Assert that loops were analyzed.
(rtl_move_loop_invariants, rtl_unswitch, rtl_unroll_and_peel_loops,
rtl_doloop): Check number_of_loops instead of current_loops.
* tree-ssa-loop.c (tree_loop_optimizer_init): Do not check whether
current_loops == NULL.
(tree_ssa_loop_init, tree_ssa_loop_im, tree_ssa_loop_unswitch,
gate_tree_vectorize tree_linear_transform, check_data_deps,
tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds,
tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts):
Check number_of_loops instead of current_loops.
(tree_ssa_loop_done): Do not check whether current_loops == NULL.
* tree-ssa-pre.c (fini_pre): Do not take do_fre argument. Always
free loops if available.
(execute_pre): Do not pass do_fre to fini_pre.
From-SVN: r125114
Paolo Carlini [Sun, 27 May 2007 14:50:21 +0000 (14:50 +0000)]
2007-05-27 Paolo Carlini <pcarlini@suse.de>
* include/tr1/boost_shared_ptr.h
(_Sp_counted_base<_S_mutex>::_M_add_ref_lock()): Do not wrap in
#ifdef __GTHREADS.
2007-05-27 Paolo Carlini <pcarlini@suse.de>
* include/c_global/cwchar: Do not include <ctime>.
* include/c_std/cwchar: Likewise.
* include/ext/throw_allocator.h: Do it here.
From-SVN: r125112
Tobias Burnus [Sun, 27 May 2007 13:57:03 +0000 (15:57 +0200)]
(svn add was forgotten)
2007-05-27 Tobias Burnus <burnus@net-b.de>
PR middle-end/32083
* gfortran.dg/transfer_simplify_3.f90: New.
From-SVN: r125110
Tobias Burnus [Sun, 27 May 2007 08:09:51 +0000 (10:09 +0200)]
re PR middle-end/32083 (bug in transfer integer->real->integer)
2007-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/32083
* real.c (mpfr_from_real): Fix sign of -Inf.
2007-05-26 Tobias Burnus <burnus@net-b.de>
PR fortran/32083
* gfortran.dg/transfer_simplify_3.f90: New.
From-SVN: r125108
H.J. Lu [Sun, 27 May 2007 07:21:58 +0000 (07:21 +0000)]
tree-vect-transform.c (vectorizable_conversion): Initialize tree_code variables to ERROR_MARK.
2007-05-27 H.J. Lu <hongjiu.lu@intel.com>
* tree-vect-transform.c (vectorizable_conversion): Initialize
tree_code variables to ERROR_MARK.
(vectorizable_type_demotion): Likewise.
(vectorizable_type_promotion): Likewise.
From-SVN: r125107
GCC Administrator [Sun, 27 May 2007 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r125105
Uros Bizjak [Sat, 26 May 2007 21:35:41 +0000 (23:35 +0200)]
re PR target/32065 (Many dfp testsuite failures for -msse targets)
PR target/32065
* config/i386/i386.md (movti): Handle push operands via
ix86_expand_push().
testsuite/ChangeLog:
PR target/32065
* gcc.target/i386/pr32065-1.c: Rename from pr32065.c. Add -std=gnu99
to compile options.
* gcc.target/i386/pr32065-2.c: New test.
From-SVN: r125102
Janne Blomqvist [Sat, 26 May 2007 21:15:22 +0000 (00:15 +0300)]
string.c (compare0): Use gfc_charlen_type instead of int.
2007-05-27 Janne Blomqvist <jb@gcc.gnu.org>
* runtime/string.c (compare0): Use gfc_charlen_type instead of int.
(fstrlen): Likewise.
(find_option): Likewise.
(fstrcpy): Use gfc_charlen_type instead of int, return length.
(cf_strcpy): Likewise.
* libgfortran.h: Change string prototypes to use gfc_charlen_type.
* io/open.c (new_unit): Use snprintf if available.
* io/list_read.c (nml_touch_nodes): Use memcpy instead of strcpy/strcat.
(nml_read_obj): Likewise.
* io/transfer.c (st_set_nml_var): Likewise.
* io/write.c (output_float): Use snprintf if available.
(nml_write_obj) Use memcpy instead of strcpy/strcat.
From-SVN: r125100
Janne Blomqvist [Sat, 26 May 2007 20:50:21 +0000 (23:50 +0300)]
unix.c (unix_stream): Rearrange struct members, remove small_buffer.
2007-05-26 Janne Blomqvist <jb@gcc.gnu.org>
* io/unix.c (unix_stream): Rearrange struct members, remove
small_buffer.
(int_stream): New struct.
(fd_alloc): Always use existing buffer, never reallocate.
(fd_sfree): Remove check for buffer != small_buffer.
(fd_close): Likewise.
(mem_alloc_r_at): Change to use int_stream.
(mem_alloc_w_at): Likewise.
(mem_read): Likewise.
(mem_write): Likewise.
(mem_set): Likewise.
(mem_truncate): Likewise.
(mem_close): Likewise.
(mem_sfree): Likewise.
(empty_internal_buffer): Likewise.
(open_internal): Likewise.
From-SVN: r125099
Jerry DeLisle [Sat, 26 May 2007 19:36:14 +0000 (19:36 +0000)]
re PR fortran/31813 (Warn about deleted feature: H edit descriptor)
2007-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/31813
* gfortran.dg/io_constraints_2.f90: Update.
From-SVN: r125098
Jerry DeLisle [Sat, 26 May 2007 19:31:57 +0000 (19:31 +0000)]
re PR fortran/31813 (Warn about deleted feature: H edit descriptor)
2007-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/31813
* io.c (check_format): Add warning for H specifier in format.
From-SVN: r125097
Kazu Hirata [Sat, 26 May 2007 15:17:38 +0000 (15:17 +0000)]
tree-flow.h: Remove the prototype for is_aliased_with.
* tree-flow.h: Remove the prototype for is_aliased_with.
* tree-ssa-alias.c (is_aliased_with): Remove.
From-SVN: r125095
Kazu Hirata [Sat, 26 May 2007 15:16:45 +0000 (15:16 +0000)]
basic-block.h: Remove the prototype for merge_seq_blocks.
* basic-block.h: Remove the prototype for merge_seq_blocks.
* cfgcleanup.c (merge_seq_blocks): Remove.
From-SVN: r125094
H.J. Lu [Sat, 26 May 2007 14:34:21 +0000 (14:34 +0000)]
i386-protos.h (ix86_expand_sse4_unpack): New.
2007-05-26 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386-protos.h (ix86_expand_sse4_unpack): New.
* config/i386/i386.c (ix86_expand_sse4_unpack): New.
* config/i386/sse.md (vec_unpacku_hi_v16qi): Call
ix86_expand_sse4_unpack if SSE4.1 is enabled.
(vec_unpacks_hi_v16qi): Likewise.
(vec_unpacku_lo_v16qi): Likewise.
(vec_unpacks_lo_v16qi): Likewise.
(vec_unpacku_hi_v8hi): Likewise.
(vec_unpacks_hi_v8hi): Likewise.
(vec_unpacku_lo_v8hi): Likewise.
(vec_unpacks_lo_v8hi): Likewise.
(vec_unpacku_hi_v4si): Likewise.
(vec_unpacks_hi_v4si): Likewise.
(vec_unpacku_lo_v4si): Likewise.
(vec_unpacks_lo_v4si): Likewise.
From-SVN: r125093
Tobias Burnus [Sat, 26 May 2007 13:29:29 +0000 (15:29 +0200)]
gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and GFORTRAN_ERROR_BACKTRACE environment...
2007-05-26 Tobias Burnus <burnus@net-b.de>
* gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and
GFORTRAN_ERROR_BACKTRACE environment variables.
From-SVN: r125091
Kazu Hirata [Sat, 26 May 2007 13:00:47 +0000 (13:00 +0000)]
i386.c, [...]: Fix comment typos.
* config/i386/i386.c, config/pa/pa.c, config/spu/spu.c,
df-problems.c, df-scan.c, domwalk.c, ebitmap.c, ebitmap.h,
fold-const.c, gcc.c, ipa-type-escape.c, omega.c, omega.h,
tree-ssa-coalesce.c, tree-ssa-live.c, tree-ssa-structalias.c,
tree-vrp.c: Fix comment typos. Follow spelling conventions.
* doc/tm.texi: Follow spelling conventions.
From-SVN: r125090
Kazu Hirata [Sat, 26 May 2007 12:17:52 +0000 (12:17 +0000)]
c-typeck.c, [...]: Fix typos and follow spelling conventions in various warning/error/diagnostic...
* c-typeck.c, config/arm/arm.c, config/darwin.c,
config/sh/symbian.c, gcc.c, ipa-cp.c, ipa-inline.c, loop-iv.c,
omega.c, tree-ssa-loop-niter.c, treestruct.def: Fix typos and
follow spelling conventions in various
warning/error/diagnostic messages.
From-SVN: r125089
Paul Thomas [Sat, 26 May 2007 11:25:36 +0000 (11:25 +0000)]
re PR fortran/31219 (ICE on array of character function results)
2007-05-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31219
* trans.h : Add no_function_call bitfield to gfc_se structure.
Add stmtblock_t argument to prototype of get_array_ctor_strlen.
* trans-array.c (get_array_ctor_all_strlen): New function.
(get_array_ctor_strlen): Add new stmtblock_t argument and call
new function for character elements that are not constants,
arrays or variables.
(gfc_conv_array_parameter): Call get_array_ctor_strlen to get
good string length.
* trans-intrinsic (gfc_conv_intrinsic_len): Add new argument
to call of get_array_ctor_strlen.
2007-05-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31219
* gfortran.dg/array_constructor_17.f90: New test.
From-SVN: r125088
Andrew Pinski [Sat, 26 May 2007 03:29:58 +0000 (03:29 +0000)]
re PR tree-optimization/32090 (ICE in forwprop with zero sized array)
2007-05-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/32090
* tree-ssa-forwprop.c
(forward_propagate_addr_into_variable_array_index): Remove
the lhs argument. Use the type of def_rhs instead of lhs.
(forward_propagate_addr_expr_1): Update use of
forward_propagate_addr_into_variable_array_index.
2007-05-25 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/32090
* g++.dg/opt/array2.C: New testcase.
From-SVN: r125087
Sandra Loosemore [Sat, 26 May 2007 02:02:37 +0000 (22:02 -0400)]
mips.c (mips_attribute_table): Add "near" and "far" function attributes, "far" being an alias for "long_call".
2007-05-25 Sandra Loosemore <sandra@codesourcery.com>
Nigel Stephens <nigel@mips.com>
gcc/
* config/mips/mips.c (mips_attribute_table): Add "near" and "far"
function attributes, "far" being an alias for "long_call".
(TARGET_COMP_TYPE_ATTRIBUTES): Define as mips_comp_type_attributes.
(mips_near_type_p, mips_far_type_p): New.
(mips_comp_type_attributes): New function to check that attributes
attached to a function type are compatible.
(mips_output_mi_thunk): Test SYMBOL_REF_LONG_CALL_P() rather than
TARGET_LONG_CALLS when deciding whether we can do a direct sibcall
to the target function of the thunk.
(mips_encode_section_info): Check for "near" and "far" function
attributes, and always set the SYMBOL_FLAG_LONG_CALL bit explicitly.
* config/mips/predicates.md (const_call_insn_operand): Test only
SYMBOL_REF_LONG_CALL_P() and not TARGET_LONG_CALLS.
* doc/extend.texi (Function Attributes): Document MIPS "near" and
"far" attributes.
* testsuite/gcc.target/mips/near-far-1.c: New test case.
* testsuite/gcc.target/mips/near-far-2.c: New test case.
* testsuite/gcc.target/mips/near-far-3.c: New test case.
* testsuite/gcc.target/mips/near-far-4.c: New test case.
Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r125086
Eric Christopher [Sat, 26 May 2007 01:58:51 +0000 (01:58 +0000)]
config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp to x86-darwin configurations.
2007-05-25 Eric Christopher <echristo@apple.com>
* config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp
to x86-darwin configurations.
* config/i386/t-darwin: Add softfp support.
* config/i386/t-darwin64: Ditto.
* config/i386/sfp-machine.h: If mach then don't use
aliasing, emit a stub to call.
From-SVN: r125085
GCC Administrator [Sat, 26 May 2007 00:18:19 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r125083
Kazu Hirata [Fri, 25 May 2007 22:58:16 +0000 (22:58 +0000)]
cfglayout.c, [...]: Fix comment typos.
* cfglayout.c, cgraphunit.c, config/avr/avr.c, fold-const.c,
haifa-sched.c, optabs.h, tree-affine.c, tree-data-ref.c,
tree-predcom.c, tree-ssa-alias-warnings.c,
tree-ssa-forwprop.c, tree-vect-analyze.c, tree-vrp.c: Fix
comment typos. Follow spelling conventions.
* doc/cpp.texi, doc/invoke.texi: Fix typos.
From-SVN: r125080
Kazu Hirata [Fri, 25 May 2007 22:44:06 +0000 (22:44 +0000)]
* intrinsic.texi: Fix typos.
From-SVN: r125079
Uros Bizjak [Fri, 25 May 2007 22:36:10 +0000 (00:36 +0200)]
re PR target/32065 (Many dfp testsuite failures for -msse targets)
PR target/32065
* target/i386/i386.c (ix86_expand_vector_move): Force SUBREGs of
constants into memory. Expand unaligned memory references for
SSE modes via x86_expand_vector_move_misalign() function.
testsuite/ChangeLog:
PR target/32065
* gcc.target/i386/pr32065.c: New test.
From-SVN: r125077
Uros Bizjak [Fri, 25 May 2007 21:58:21 +0000 (23:58 +0200)]
sse.md (*vec_extractv2di_1_sse2): Do not calculate "memory" attribute for "sseishft" type insn without operands[2].
* config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
"memory" attribute for "sseishft" type insn without operands[2].
From-SVN: r125075
Steven Bosscher [Fri, 25 May 2007 21:25:28 +0000 (21:25 +0000)]
* MAINTAINERS (Write After Approval): Remove myself.
From-SVN: r125074
Dirk Mueller [Fri, 25 May 2007 21:18:15 +0000 (21:18 +0000)]
extend.texi (alloc_size): New attribute.
2007-05-25 Dirk Mueller <dmueller@suse.de>
Marcus Meissner <meissner@suse.de>
* doc/extend.texi (alloc_size): New attribute.
* c-common.c (handle_alloc_size_attribute): New.
* tree-object-size.c (alloc_object_size): Use alloc_size
attribute, if available.
* testsuite/gcc.dg/attr-alloc_size.c: New.
Co-Authored-By: Marcus Meissner <meissner@suse.de>
From-SVN: r125073
Simon Martin [Fri, 25 May 2007 20:26:36 +0000 (20:26 +0000)]
re PR c++/31745 (ICE on invalid use of namespace)
2007-05-25 Simon Martin <simartin@users.sourceforge.net>
Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c++/31745
* parser.c (cp_parser_skip_to_closing_brace): Return true if the next
token is a closing brace, false if there are no tokens left.
(cp_parser_namespace_alias_definition): Only consume the next token if
it is a closing brace.
* parser.c (cp_parser_class_specifier): Likewise.
Co-Authored-By: Lee Millward <lee.millward@gmail.com>
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r125070
H.J. Lu [Fri, 25 May 2007 19:44:11 +0000 (19:44 +0000)]
semantics.c (finish_member_declaration): Fix a typo in the last checkin.
2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
* semantics.c (finish_member_declaration): Fix a typo in the
last checkin.
From-SVN: r125067
Andreas Tobler [Fri, 25 May 2007 19:26:27 +0000 (19:26 +0000)]
ltmain.sh: Fix Darwin verstring, remove ${wl}.
2007-05-25 Andreas Tobler <a.tobler@schweiz.org>
* ltmain.sh: Fix Darwin verstring, remove ${wl}.
From-SVN: r125066
Jerry DeLisle [Fri, 25 May 2007 17:41:17 +0000 (17:41 +0000)]
transfer.c (unformatted_read): Use size from front end eliminating use of size_from_real_kind.
2007-05-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* io/transfer.c (unformatted_read): Use size from front end eliminating
use of size_from_real_kind. (unformatted_write): Ditto.
From-SVN: r125064
H.J. Lu [Fri, 25 May 2007 14:33:27 +0000 (14:33 +0000)]
i386.c (__builtin_ia32_vec_ext_v2df): Mark it with MASK_SSE2.
gcc/
2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
with MASK_SSE2.
(__builtin_ia32_vec_ext_v2di): Likewise.
(__builtin_ia32_vec_ext_v4si): Likewise.
(__builtin_ia32_vec_ext_v8hi): Likewise.
(__builtin_ia32_vec_ext_v16qi): Likewise.
(__builtin_ia32_vec_set_v8hi): Likewise.
gcc/testsuite/
2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/sse2-check.h: New.
* gcc.target/i386/sse2-vec-1.c: Likewise.
* gcc.target/i386/sse2-vec-2.c: Likewise.
* gcc.target/i386/sse2-vec-3.c: Likewise.
* gcc.target/i386/sse2-vec-4.c: Likewise.
* gcc.target/i386/sse2-vec-5.c: Likewise.
* gcc.target/i386/sse2-vec-6.c: Likewise.
From-SVN: r125063
Douglas Gregor [Fri, 25 May 2007 13:15:04 +0000 (13:15 +0000)]
re PR c++/31431 (ICE with invalid parameter pack)
2007-05-25 Douglas Gregor <doug.gregor@gmail.com>
PR c++/31431
PR c++/31432
PR c++/31434
PR c++/31435
PR c++/31437
PR c++/31438
PR c++/31442
PR c++/31443
PR c++/31444
PR c++/31445
* error.c (dump_type): Dump TYPE_ARGUMENT_PACK nodes.
* cp-tree.h (check_for_bare_parameter_packs): Returns bool.
* pt.c (check_for_bare_parameter_packs): Return bool indicated
whether everything was okay. Fix indentation.
(push_template_decl_real): Check for bare parameter packs in
function parameters; where errors occur, mark the parameter types
with ERROR_MARK_NODEs to avert ICEs.
(coerce_template_parameter_pack): New.
(coerce_template_parms): Moved parameter pack coercion into
coerce_template_parameter_pack, and permit it anywhere in the
template parameter list (not just at the end). Parameter and
argument indices can vary (somewhat) separately now, so add
PARM_IDX and ARG_IDX.
(fn_type_unification): Don't set an argument pack as incomplete if
no argument pack was deduced.
(type_unification_real): If a type parameter is a parameter pack
and has not otherwise been deduced, it will be deduced to an empty
parameter pack.
(more_specialized_fn): Use the actual lengths of the argument
lists when comparing against expansions.
* semantics.c (finish_member_declaration): If a field's type has
bare parameter packs, error and set its type to ERROR_MARK_NODE.
2007-05-25 Douglas Gregor <doug.gregor@gmail.com>
PR c++/31431
PR c++/31432
PR c++/31434
PR c++/31435
PR c++/31437
PR c++/31438
PR c++/31442
PR c++/31443
PR c++/31444
PR c++/31445
* g++.dg/cpp0x/pr31431.C: New.
* g++.dg/cpp0x/pr31437.C: New.
* g++.dg/cpp0x/pr31442.C: New.
* g++.dg/cpp0x/pr31444.C: New.
* g++.dg/cpp0x/pr31431-2.C: New.
* g++.dg/cpp0x/pr31432.C: New.
* g++.dg/cpp0x/pr31434.C: New.
* g++.dg/cpp0x/pr31438.C: New.
* g++.dg/cpp0x/pr31443.C: New.
* g++.dg/cpp0x/pr31445.C: New.
* g++.dg/cpp0x/variadic-crash1.C: New.
From-SVN: r125062
H.J. Lu [Fri, 25 May 2007 12:27:27 +0000 (12:27 +0000)]
sse.md (*vec_extractv2di_1_sse2): Correct shift.
2007-05-25 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
From-SVN: r125061
Richard Sandiford [Fri, 25 May 2007 11:36:06 +0000 (11:36 +0000)]
arm-protos.h (arm_encode_call_attribute): Delete.
gcc/
* config/arm/arm-protos.h (arm_encode_call_attribute): Delete.
(arm_is_longcall_p): Rename to...
(arm_is_long_call_p): ...this. Take a single tree argument and
return a bool.
* config/arm/arm.h (CALL_SHORT, CALL_LONG, CALL_NORMAL): Delete.
(CUMULATIVE_ARGS): Remove call_cookie.
(SHORT_CALL_FLAG_CHAR, LONG_CALL_FLAG_CHAR, ENCODED_SHORT_CALL_ATTR_P)
(ENCODED_LONG_CALL_ATTR_P): Delete.
(ARM_NAME_ENCODING_LENGTHS): Remove SHORT_CALL_FLAG_CHAR and
LONG_CALL_FLAG_CHAR cases.
(ARM_DECLARE_FUNCTION_SIZE): Delete.
* config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Don't use
ARM_DECLARE_FUNCTION_SIZE.
* config/arm/arm.c (arm_init_cumulative_args): Don't set call_cookie.
(arm_function_arg): Return const0_rtx for VOIDmode arguments.
(arm_encode_call_attribute, current_file_function_operand): Delete.
(arm_function_in_section_p): New function.
(arm_is_longcall_p): Rename to...
(arm_is_long_call_p): ...this. Take the target function as a single
argument and return a bool. Do not rely on call cookies. Check
whether the target symbol is in the same section as the current
function, not just the same compilation unit.
(arm_function_ok_for_sibcall): Use arm_is_long_call_p.
(arm_encode_section_info): Don't encode a call type.
* config/arm/arm.md (call, call_value): Update calls to
arm_is_long(_)call_p. Simplify logic.
(*call_symbol, *call_value_symbol, *call_insn, *call_value_insn):
Update calls to arm_is_long(_)call_p.
gcc/testsuite/
* gcc.target/arm/long-calls-1.c: New test.
* gcc.target/arm/long-calls-2.c: Likewise.
* gcc.target/arm/long-calls-3.c: Likewise.
* gcc.target/arm/long-calls-4.c: Likewise.
From-SVN: r125060
Paolo Carlini [Fri, 25 May 2007 09:28:48 +0000 (09:28 +0000)]
c_locale.h (__convert_from_v): Fix typo.
2007-05-25 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/c_locale.h (__convert_from_v): Fix typo.
From-SVN: r125059
Richard Guenther [Fri, 25 May 2007 09:07:29 +0000 (09:07 +0000)]
re PR tree-optimization/31982 (Missed forw prop with indirect ref and addr. (and char types or sizeof(type) == 1))
2007-05-24 Richard Guenther <rguenther@suse.de>
Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-optimization/31982
* tree-ssa-forwprop.c
(forward_propagate_addr_into_variable_array_index): Handle arrays
with element size one.
* gcc.dg/tree-ssa/forwprop-2.c: New testcase.
Co-Authored-By: Andrew Pinski <andrew_pinski@playstation.sony.com>
From-SVN: r125058
Paul Thomas [Fri, 25 May 2007 06:34:10 +0000 (06:34 +0000)]
re PR fortran/32047 (ICE (segfault) for pure function without argument)
2007-05-25 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32047
* trans-expr.c (gfc_apply_interface_mapping_to_expr): Change
order in logic under EXPR_FUNCTION to handle functions with
no arguments.
2007-05-25 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32047
* gfortran.dg/result_in_spec_2.f90: New test.
From-SVN: r125057
Andrew Pinski [Fri, 25 May 2007 05:57:42 +0000 (05:57 +0000)]
spu.md (smulsi3_highpart): Unshare the rtl chain.
2007-05-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/spu/spu.md (smulsi3_highpart): Unshare the rtl chain.
(umulsi3_highpart): Likewise.
From-SVN: r125055
Kaveh R. Ghazi [Fri, 25 May 2007 03:55:11 +0000 (03:55 +0000)]
builtin-math-4.c: Fix dg-xfail-if.
* gcc.dg/torture/builtin-math-4.c: Fix dg-xfail-if.
From-SVN: r125054
GCC Administrator [Fri, 25 May 2007 00:18:11 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r125051
Andrew Pinski [Fri, 25 May 2007 00:13:40 +0000 (17:13 -0700)]
Makefile.in: Remove all uses of $(libext).
2007-05-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
* Makefile.in: Remove all uses of $(libext).
From-SVN: r125048
Andrew Pinski [Fri, 25 May 2007 00:12:53 +0000 (17:12 -0700)]
Makefile.in: Remove all uses of $(libext).
2007-05-23 Andrew Pinski <andrew_pinski@playstation.sony.com>
* Makefile.in: Remove all uses of $(libext).
From-SVN: r125047
Paolo Carlini [Thu, 24 May 2007 22:18:07 +0000 (22:18 +0000)]
concurrence.h: Use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_*.
2007-05-24 Paolo Carlini <pcarlini@suse.de>
* include/ext/concurrence.h: Use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_*.
From-SVN: r125044
Ian Lance Taylor [Thu, 24 May 2007 22:12:31 +0000 (22:12 +0000)]
re PR rtl-optimization/32069 (segfault in regclass() with -O0 -fsplit-wide-types)
PR rtl-optimization/32069
* regclass.c (regclass): Don't crash if the entry in regno_reg_rtx
is NULL.
From-SVN: r125043
Mike Stump [Thu, 24 May 2007 21:36:20 +0000 (21:36 +0000)]
darwin.h (LINK_COMMAND_SPEC): Add .cxx/.cp for dsymutil handling as well.
* config/darwin.h (LINK_COMMAND_SPEC): Add .cxx/.cp for dsymutil
handling as well.
* config/darwin9.h (LINK_COMMAND_SPEC): Likewise.
From-SVN: r125042
Ollie Wild [Thu, 24 May 2007 20:55:36 +0000 (20:55 +0000)]
macro.c (_cpp_builtin_macro_text): Handle BT_COUNTER.
* macro.c (_cpp_builtin_macro_text): Handle BT_COUNTER.
* pch.c (cpp_write_pch_deps): Save __COUNTER__ state.
(cpp_write_pch_state): Save __COUNTER__ state.
(cpp_valid_state): Check valid __COUNTER__ state.
(cpp_read_state): Read new __COUNTER__ state.
* include/cpplib.h (enum builtin_type): Add BT_COUNTER enumerator.
* init.c (builtin_array): Add __COUNTER__/BT_COUNTER.
* internal.h (struct cpp_reader): Add counter member.
* gcc.dg/cpp/counter-1.c: New test.
* gcc.dg/pch/counter-1.c: New test.
* gcc.dg/pch/counter-1.hs: New file.
* gcc.dg/pch/counter-2.c: New test.
* gcc.dg/pch/counter-2.hs: New file.
* gcc.dg/pch/counter-3.c: New test.
* gcc.dg/pch/counter-3.hs: New file.
* doc/cpp.texi (Common Predefined Macros): Add __COUNTER__
description.
From-SVN: r125041
Keith Seitz [Thu, 24 May 2007 20:40:47 +0000 (20:40 +0000)]
java-interp.h (_Jv_InterpFrame::get_pc): Only deduct one when pc_ptr is non-NULL.
* include/java-interp.h (_Jv_InterpFrame::get_pc): Only deduct
one when pc_ptr is non-NULL.
* prims.cc (parse_init_args): Enable JVMTI with agentlib
and agentpath options.
* testsuite/lib/libjava.exp (exec_gij): Add new addl_flags
parameter.
* testsuite/libjava.jvmti/jvmti-interp.exp (gij_jvmti_test_one):
Pass '-agentlib:dummyagent' when executing gij.
(gij_jvmti_run): Build dummy JVMTI agent before running tests,
and remove it when finished.
* testsuite/libjava.jvmti/dummyagent.c: New file.
From-SVN: r125040
Andreas Tobler [Thu, 24 May 2007 19:33:23 +0000 (21:33 +0200)]
Commit the change of this file, mentionend in the CL from 2007-05-20.
From-SVN: r125039
Richard Sandiford [Thu, 24 May 2007 19:19:31 +0000 (19:19 +0000)]
postreload-gcse.c (reg_changed_after_insn_p): New function.
gcc/
* postreload-gcse.c (reg_changed_after_insn_p): New function.
(oprs_unchanged_p): Use it to check all registers in a REG.
(record_opr_changes): Look for clobbers in CALL_INSN_FUNCTION_USAGE.
(reg_set_between_after_reload_p): Delete.
(reg_used_between_after_reload_p): Likewise.
(reg_set_or_used_since_bb_start): Likewise.
(eliminate_partially_redundant_load): Use reg_changed_after_insn_p
and reg_used_between_p instead of reg_set_or_used_since_bb_start.
Use reg_set_between_p instead of reg_set_between_after_reload_p.
* rtlanal.c (reg_set_p): Check whether REG overlaps
regs_invalidated_by_call, rather than just checking the
membership of REGNO (REG).
From-SVN: r125037
Uros Bizjak [Thu, 24 May 2007 17:14:15 +0000 (19:14 +0200)]
ChangeLog: Whitespace fixes.
* gcc/ChangeLog: Whitespace fixes.
* gcc/testsuite/ChangeLog: Ditto
From-SVN: r125035
Steve Ellcey [Thu, 24 May 2007 16:37:27 +0000 (16:37 +0000)]
ltmain.sh: Update from ToT Libtool.
* ltmain.sh: Update from ToT Libtool.
* libtool.m4: Update from ToT Libtool.
* ltsugar.m4: New. Update from ToT Libtool.
* ltversion.m4: New. Update from ToT Libtool.
* ltoptions.m4: New. Update from ToT Libtool.
* ltconfig: Remove.
* ltcf-c.sh: Remove.
* ltcf-cxx.sh: Remove.
* ltcf-gcj.sh: Remove.
* Regenerate all subdirs
From-SVN: r125032
Zdenek Dvorak [Thu, 24 May 2007 16:09:26 +0000 (18:09 +0200)]
passes.texi: Document predictive commoning.
* doc/passes.texi: Document predictive commoning.
* doc/invoke.texi (-fpredictive-commoning): Document.
* opts.c (decode_options): Enable flag_predictive_commoning on -O3.
* tree-ssa-loop-im.c (get_lsm_tmp_name): Export. Allow
adding indices to the generated name.
(schedule_sm): Pass 0 to get_lsm_tmp_name.
* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Export.
* tree-pretty-print.c (op_symbol_1): Renamed to ...
(op_symbol_code): ... and exported.
(dump_omp_clause, op_symbol): Use op_symbol_code
instead of op_symbol_1.
* tree-pass.h (pass_predcom): Declare.
* timevar.def (TV_PREDCOM): New timevar.
* tree-ssa-loop.c (run_tree_predictive_commoning,
gate_tree_predictive_commoning, pass_predcom): New.
* tree-data-ref.c (find_data_references_in_loop): Find the
references in dominance order.
(canonicalize_base_object_address): Ensure that the result has
pointer type.
(dr_analyze_innermost): Export.
(create_data_ref): Code to fail for references with invariant
address moved ...
(find_data_references_in_stmt): ... here.
* tree-data-ref.h (dr_analyze_innermost): Declare.
* tree-affine.c: Include tree-gimple.h and hashtab.h.
(aff_combination_find_elt, name_expansion_hash,
name_expansion_eq, tree_to_aff_combination_expand,
double_int_constant_multiple_p, aff_combination_constant_multiple_p):
New functions.
* tree-affine.h (aff_combination_constant_multiple_p,
tree_to_aff_combination_expand): Declare.
* tree-predcom.c: New file.
* common.opt (fpredictive-commoning): New option.
* tree-flow.h (op_symbol_code, tree_predictive_commoning,
stmt_dominates_stmt_p, get_lsm_tmp_name): Declare.
* Makefile.in (tree-predcom.o): Add.
(tree-affine.o): Add TREE_GIMPLE_H dependency.
* passes.c (init_optimization_passes): Add dceloop after
copy propagation in loop optimizer. Add predictive commoning
to loop optimizer passes.
* gcc.dg/tree-ssa/predcom-1.c: New test.
* gcc.dg/tree-ssa/predcom-2.c: New test.
* gcc.dg/tree-ssa/predcom-3.c: New test.
* gcc.dg/tree-ssa/predcom-4.c: New test.
* gcc.dg/tree-ssa/predcom-5.c: New test.
* gcc.dg/vect/dump-tree-dceloop-pr26359.c: Test dceloop2 dumps.
From-SVN: r125030
Jan Hubicka [Thu, 24 May 2007 15:47:07 +0000 (15:47 +0000)]
Fotgotten changelog entry:
* gengenrtl.c (gendecl, gendef): Output the gens annotated for
statistics.
(genheader): Include statistics.h.
From-SVN: r125029
Paolo Carlini [Thu, 24 May 2007 14:49:45 +0000 (14:49 +0000)]
c_locale.h (__convert_from_v): Only switch to the "C" locale if the current one isn't already "C" (for old glibcs).
2007-05-24 Paolo Carlini <pcarlini@suse.de>
* config/locale/gnu/c_locale.h (__convert_from_v): Only switch to the
"C" locale if the current one isn't already "C" (for old glibcs).
* config/os/gnu-linux/ctype_noninline.h (ctype<char>::classic_table,
ctype<char>::ctype(__c_locale, const mask*, bool, size_t),
ctype<char>::ctype(const mask*, bool, size_t)): Likewise, for generic
locale model.
* config/locale/gnu/messages_members.h
(messages<>::messages(__c_locale, const char*, size_t),
messages_byname<_CharT>::messages_byname(const char*, size_t)):
Only dynamically allocate memory if __s != "C".
* config/locale/gnu/time_members.h
(__timepunct<_CharT>::__timepunct(__c_locale, const char*, size_t)):
Likewise.
* config/locale/generic/time_members.h
(__timepunct<_CharT>::__timepunct(__c_locale, const char*, size_t)):
Likewise.
* testsuite/util/testsuite_allocator.h: Revert last change.
From-SVN: r125028
H.J. Lu [Thu, 24 May 2007 14:35:00 +0000 (14:35 +0000)]
target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Correct default hook.
2007-05-24 H.J. Lu <hongjiu.lu@intel.com>
* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Correct
default hook.
From-SVN: r125027
Jan Hubicka [Thu, 24 May 2007 14:21:14 +0000 (16:21 +0200)]
invoke.texi (-fdump-unnumbered): Update docs when line number notes are gone.
* doc/invoke.texi (-fdump-unnumbered): Update docs when line number
notes are gone.
* print-rtl.c (flag_dump_unnumbered): Update comments.
(print_rtl): Fix my previous change.
* emit-rtl.c (emit_note_before, emit_note_after): Clear out note
specific data.
From-SVN: r125026
H.J. Lu [Thu, 24 May 2007 14:12:18 +0000 (14:12 +0000)]
re PR testsuite/32062 (Some MASKs aren't sufficient in certain sse4_1 tests)
2007-05-24 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/32062
* gcc.target/i386/sse4_1-check.h (MASK): New.
From-SVN: r125025
Zdenek Dvorak [Thu, 24 May 2007 14:02:12 +0000 (16:02 +0200)]
re PR middle-end/32018 (ICE on optimization)
PR middle-end/32018
* tree-ssa-threadupdate.c (thread_through_loop_header): Use
set_loop_copy.
(thread_through_all_blocks): Call initialize_original_copy_tables
and free_original_copy_tables.
* cfgloopmanip.c (duplicate_loop, duplicate_loop_to_header_edge):
Use set_loop_copy.
* tree-cfg.c (tree_duplicate_sese_region): Ditto.
* cfghooks.c (duplicate_block): Use get_loop_copy.
* cfg.c: Include cfgloop.h.
(loop_copy): New hash table.
(initialize_original_copy_tables): Initialize loop_copy table.
(free_original_copy_tables): Free loop_copy table.
(copy_original_table_clear, copy_original_table_set,
set_loop_copy, get_loop_copy): New functions.
(set_bb_original, set_bb_copy): Use copy_original_table_set.
* cfgloop.h (struct loop): Remove copy field.
* Makefile.in (cfg.o): Add CFGLOOP_H dependency.
* basic-block.h (set_loop_copy, get_loop_copy): Declare.
From-SVN: r125024
H.J. Lu [Thu, 24 May 2007 13:31:05 +0000 (13:31 +0000)]
i386.c (ix86_handle_option): Handle SSE4.1 for -msse/-msse2/-msse3.
2007-05-24 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 for
-msse/-msse2/-msse3.
From-SVN: r125023
H.J. Lu [Thu, 24 May 2007 13:28:49 +0000 (13:28 +0000)]
i386.c (ix86_init_mmx_sse_builtins): Mark __builtin_ia32_vec_set_v2di with MASK_64BIT.
2007-05-24 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Mark
__builtin_ia32_vec_set_v2di with MASK_64BIT.
From-SVN: r125022
Danny Smith [Thu, 24 May 2007 10:11:49 +0000 (10:11 +0000)]
re PR target/27067 (Compile errors with multiple inheritance where the stdcall attribute is applied to virtual functions.)
ChangeLog
PR target/27067
* doc/tm.texi (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Document.
* targhooks.h (default_mangle_decl_assembler_name): Declare
default hook.
* targhooks.c (default_mangle_decl_assembler_name): Define
default hook.
* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) New. Set to
default hook.
* target.h (struct gcc_target): Add mangle_decl_assembler_name field.
* langhooks.c (lhd_set_decl_assembler_name): Call
targetm.mangle_decl_assembler_name for names with global scope.
* config/i386/cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) Override
default.
(ASM_OUTPUT_DEF_FROM_DECLS): Simplify to use DECL_ASSEMBLER_NAME.
* config/i386/i386-protos.h (i386_pe_mangle_decl_assembler_name):
Declare.
* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
New. Factored out of i386_pe_encode_section_info.
(gen_stdcall_or_fastcall_suffix): Get name identifier as argument.
Move check for prior decoration of stdcall
symbols to i386_pe_encode_section_info.
(i386_pe_encode_section_info): Adjust call to
gen_stdcall_or_fastcall_suffix. Use
i386_pe_maybe_mangle_decl_assembler_name, if needed.
(i386_pe_mangle_decl_assembler_name): New. Wrap
i386_pe_maybe_mangle_decl_assembler_name.
cp/ChangeLog
* mangle.c (mangle_decl): Call targetm.mangle_decl_assembler_name.
From-SVN: r125020
Francois-Xavier Coudert [Thu, 24 May 2007 09:56:50 +0000 (09:56 +0000)]
re PR testsuite/32038 (gfortran.dg/pr25603.f is invalid code)
PR fortran/32038
* gfortran.dg/pr25603.f: Initialize integer variables.
From-SVN: r125019
Jerry DeLisle [Thu, 24 May 2007 05:03:51 +0000 (05:03 +0000)]
re PR fortran/31716 (segfault with real array bounds)
2007-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/31716
* array.c (spec_dimen_size): Test for correct BT_INTEGER type.
From-SVN: r125013
Rafael Avila de Espindola [Thu, 24 May 2007 04:38:27 +0000 (04:38 +0000)]
c-common.c (c_common_signed_or_unsigned_type): Delay the check for INTEGRAL_TYPE_P and TYPE_UNSIGNED.
* c-common.c (c_common_signed_or_unsigned_type): Delay the check for
INTEGRAL_TYPE_P and TYPE_UNSIGNED.
* langhooks.c (get_signed_or_unsigned_type): Don't check for
INTEGRAL_TYPE_P or TYPE_UNSIGNED.
(lhd_signed_or_unsigned_type): Check for INTEGRAL_TYPE_P and
TYPE_UNSIGNED.
From-SVN: r125012
GCC Administrator [Thu, 24 May 2007 00:17:24 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r125010
Ian Lance Taylor [Wed, 23 May 2007 23:00:54 +0000 (23:00 +0000)]
* g++.dg/other/vrp1.C: New test.
From-SVN: r125007
Simon Martin [Wed, 23 May 2007 20:58:34 +0000 (20:58 +0000)]
re PR preprocessor/20077 (GCC accepts macro definitions that fail a constraint)
2007-05-23 Simon Martin <simartin@users.sourceforge.net>
PR preprocessor/20077
* macro.c (create_iso_definition): Fixed the method to determine whether
the token-pasting operator appears at the beginning or the end of a macro.
From-SVN: r125000
Sandra Loosemore [Wed, 23 May 2007 20:03:00 +0000 (16:03 -0400)]
Fix up MIPS16 hard float and add support for complex.
2007-05-23 Sandra Loosemore <sandra@codesourcery.com>
Nigel Stephens <nigel@mips.com>
Richard Sandiford <richard@codesourcery.com>
gcc/
Fix up MIPS16 hard float and add support for complex.
* config/mips/mips.h (TARGET_HARD_FLOAT_ABI): New.
(TARGET_SOFT_FLOAT_ABI): New.
(TARGET_CPU_CPP_BUILTINS): Define __mips_hard_float and
__mips_soft_float to reflect the ABI in use, not whether the
FPU is directly accessible (e.g., in MIPS16 mode).
(UNITS_PER_HWFPVALUE): Use TARGET_SOFT_FLOAT_ABI.
(UNITS_PER_FPVALUE): Likewise.
* config/mips/mips.c (mips_expand_call): Remove redundant
TARGET_MIPS16 check.
(mips_arg_regno): New.
(function_arg_advance): When setting bits in cum->fp_code for
MIPS16, don't subtract 1 from cum->arg_number, since it is now
zero-based.
(function_arg): Use mips_arg_regno.
(mips_return_mode_in_fpr_p): New.
(mips16_call_stub_mode_suffix): New.
(mips16_cfun_returns_in_fpr_p): New.
(mips_save_reg_p): Use mips16_cfun_returns_in_fpr_p.
(mips_output_function_prologue): Test mips16_hard_float, not
!TARGET_SOFT_FLOAT, to decide when a function stub is required.
(mips_expand_epilogue): Call MIPS16 helper routines to copy
return value into a floating-point register.
(mips_can_use_return_insn): Use mips16_cfun_returns_in_fpr_p.
(mips_function_value): Rewrite to use mips_return_mode_in_fpr_p.
(mips16_fp_args): Handle MIPS32r2 ISA which supports
TARGET_FLOAT64, and use mfhc1/mthc1 to copy the most significant
word of double arguments from or to the high bits of 64-bit
floating point registers.
(build_mips16_function_stub): Fill in DECL_RESULT for stubdecl.
(mips16_fpret_double): New helper function.
(build_mips16_call_stub): Use mips16_return_mode_in_fpr_p. Add
support for complex modes. Fill in DECL_RESULT for stubdecl.
(mips_init_libfuncs): Remove redundant TARGET_MIPS16 check.
* config/mips/mips16.S
(RET, ARG1, ARG2): New.
(MERGE_GPRf, MERGE_GPRt): New.
(DELAYt, DELAYf): New.
(MOVE_SF_BYTE0, MOVE_SI_BYTE0): New.
(MOVE_SF_BYTE4, MOVE_SF_BYTE8): New.
(MOVE_DF_BYTE0, MOVE_DF_BYTE8): New.
(MOVE_SF_RET, MOVE_SC_RET, MOVE_DF_RET, MOVE_DC_RET, MOVE_SI_RET): New.
(SFOP): Renamed to...
(OPSF3): This, and macro-ified. Updated all uses.
(SFOP2): Renamed to...
(OPSF2): This, and macro-ified. Updated all uses.
(SFCMP): Renamed to...
(CMPSF): This, and macro-ified. Updated all uses.
(SFREVCMP): Renamed to...
(REVCMPSF): This, and macro-ified. Updated all uses.
(__mips16_floatsisf, __mips16_fix_truncsfsi): Macro-ified.
(LDDBL1, LDDBL2, RETDBL): Deleted.
(DFOP): Renamed to...
(OPDF3): This, and macro-ified. Updated all uses.
(DFOP2): Renamed to...
(OPDF2): This, and macro-ified. Updated all uses.
(__mips16_extendsfdf2, __mips16_truncdfsf2): Macro-ified.
(DFCMP): Renamed to...
(CMPDF): This, and macro-ified. Updated all uses.
(DFREVCMP): Renamed to...
(REVCMPDF): This, and macro-ified. Updated all uses.
(__mips16_floatsidf, __mips16_fix_truncdfsi): Macro-ified.
(RET_FUNCTION): New.
(__mips16_ret_sf, __mips16_ret_df): Macro-ified.
(__mips16_ret_sc, __mips16_ret_dc): New.
(STUB_ARGS_0, STUB_ARGS_1, STUB_ARGS_5, STUB_ARGS_9, STUB_ARGS_2,
STUB_ARGS_6, STUB_ARGS_10): New.
(CALL_STUB_NO_RET): New.
(__mips16_call_stub_1): Macro-ified.
(__mips16_call_stub_5): Macro-ified.
(__mips16_call_stub_2): Macro-ified.
(__mips16_call_stub_6): Macro-ified.
(__mips16_call_stub_9): Macro-ified.
(__mips16_call_stub_10): Macro-ified.
(CALL_STUB_RET): New.
(__mips16_call_stub_sf_0): Macro-ified.
(__mips16_call_stub_sf_1): Macro-ified.
(__mips16_call_stub_sf_5): Macro-ified.
(__mips16_call_stub_sf_2): Macro-ified.
(__mips16_call_stub_sf_6): Macro-ified.
(__mips16_call_stub_sf_9): Macro-ified.
(__mips16_call_stub_sf_10): Macro-ified.
(__mips16_call_stub_df_0): Macro-ified.
(__mips16_call_stub_df_1): Macro-ified.
(__mips16_call_stub_df_5): Macro-ified.
(__mips16_call_stub_df_2): Macro-ified.
(__mips16_call_stub_df_6): Macro-ified.
(__mips16_call_stub_df_9): Macro-ified.
(__mips16_call_stub_df_10): Macro-ified.
(__mips16_call_stub_sc_0): New.
(__mips16_call_stub_sc_1): New.
(__mips16_call_stub_sc_5): New.
(__mips16_call_stub_sc_2): New.
(__mips16_call_stub_sc_6): New.
(__mips16_call_stub_sc_9): New.
(__mips16_call_stub_sc_10): New.
(__mips16_call_stub_dc_0): New.
(__mips16_call_stub_dc_1): New.
(__mips16_call_stub_dc_5): New.
(__mips16_call_stub_dc_2): New.
(__mips16_call_stub_dc_6): New.
(__mips16_call_stub_dc_9): New.
(__mips16_call_stub_dc_10): New.
* config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs.
* config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise.
* config/mips/t-r2900 (LIB1ASMFUNCS): Likewise.
gcc/testsuite/
* gcc.target/mips/inter/mips16_stubs_1_main.c: New.
* gcc.target/mips/inter/mips16_stubs_1_x.c: New.
* gcc.target/mips/inter/mips16_stubs_1_y.c: New.
* gcc.target/mips/inter/mips16-inter.exp: New.
Co-Authored-By: Nigel Stephens <nigel@mips.com>
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r124999
Kazu Hirata [Wed, 23 May 2007 16:32:04 +0000 (16:32 +0000)]
* gcc.dg/bf-spl1.c, gcc.dg/m68k-pic-1.c: Enable on fido-*-*.
From-SVN: r124996
Ian Lance Taylor [Wed, 23 May 2007 15:55:34 +0000 (15:55 +0000)]
invoke.texi (Invoking GCC): Document that the order of the -l option matters.
* doc/invoke.texi (Invoking GCC): Document that the order of the
-l option matters.
From-SVN: r124995
H.J. Lu [Wed, 23 May 2007 15:25:16 +0000 (15:25 +0000)]
sse3-addsubpd.c: Don't include stdlib.h nor i386-cpuid.h.
2007-05-23 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/sse3-addsubpd.c: Don't include stdlib.h
nor i386-cpuid.h. Include sse3-check.h. Remove main ().
* gcc.target/i386/sse3-addsubps.c: Likewise.
* gcc.target/i386/sse3-haddpd.c: Likewise.
* gcc.target/i386/sse3-haddps.c: Likewise.
* gcc.target/i386/sse3-hsubpd.c: Likewise.
* gcc.target/i386/sse3-hsubps.c: Likewise.
* gcc.target/i386/sse3-lddqu.c: Likewise.
* gcc.target/i386/sse3-movddup.c: Likewise.
* gcc.target/i386/sse3-movshdup.c: Likewise.
* gcc.target/i386/sse3-movsldup.c: Likewise.
* gcc.target/i386/ssse3-pabsb.c: Don't include stdlib.h
nor i386-cpuid.h. Include ssse3-check.h. Remove main ().
* gcc.target/i386/ssse3-pabsd.c: Likewise.
* gcc.target/i386/ssse3-pabsw.c: Likewise.
* gcc.target/i386/ssse3-palignr.c: Likewise.
* gcc.target/i386/ssse3-phaddd.c: Likewise.
* gcc.target/i386/ssse3-phaddsw.c: Likewise.
* gcc.target/i386/ssse3-phaddw.c: Likewise.
* gcc.target/i386/ssse3-phsubd.c: Likewise.
* gcc.target/i386/ssse3-phsubsw.c: Likewise.
* gcc.target/i386/ssse3-phsubw.c: Likewise.
* gcc.target/i386/ssse3-pmaddubsw.c: Likewise.
* gcc.target/i386/ssse3-pmulhrsw.c: Likewise.
* gcc.target/i386/ssse3-pshufb.c: Likewise.
* gcc.target/i386/ssse3-psignb.c: Likewise.
* gcc.target/i386/ssse3-psignd.c: Likewise.
* gcc.target/i386/ssse3-psignw.c: Likewise.
* gcc.target/i386/ssse3-vals.h: Likewise.
* gcc.target/i386/sse3-check.h: New file.
* gcc.target/i386/ssse3-check.h: Likewise.
From-SVN: r124994
Paolo Bonzini [Wed, 23 May 2007 14:26:31 +0000 (14:26 +0000)]
re PR bootstrap/32009 (building gcc4-4.3/4.4.0-
20070518 failed on OSX 10.3.9)
2007-05-23 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/32009
* mh-ppc-darwin: Temporarily disable.
From-SVN: r124990
Francois-Xavier Coudert [Wed, 23 May 2007 08:25:05 +0000 (08:25 +0000)]
re PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in_spec_1.f90)
PR fortran/32046
* trans-expr.c (gfc_trans_zero_assign): Convert the result of
TYPE_SIZE_UNIT into a signed type.
(gfc_trans_array_copy): Likewise.
(gfc_trans_array_constructor_copy): Likewise.
* trans-array.c (gfc_trans_create_temp_array): Likewise.
(gfc_grow_array): Likewise.
(gfc_array_init_size): Likewise.
(gfc_duplicate_allocatable): Likewise.
* trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
From-SVN: r124985
Chen Liqin [Wed, 23 May 2007 06:09:20 +0000 (06:09 +0000)]
re PR target/30987 (Problem while compiling gcc for score)
2007-05-23 Chen Liqin <liqin@sunnorth.com.cn>
PR target/30987
* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): remove.
* config/score/predicate.md (const_pow2, const_npow2): remove.
* config/score/score.h (ASM_OUTPUT_EXTERNAL): add ASM_OUTPUT_EXTERNAL undef.
PR target/30474
* config/score/score.c (score_print_operand): makes sure that only lower
bits are used.
From-SVN: r124983
Ian Lance Taylor [Wed, 23 May 2007 05:53:21 +0000 (05:53 +0000)]
tree-vrp.c (avoid_overflow_infinity): New static function, broken out of set_value_range_to_value.
* tree-vrp.c (avoid_overflow_infinity): New static function,
broken out of set_value_range_to_value.
(set_value_range_to_value): Call avoid_overflow_infinity.
(extract_range_from_assert): Likewise.
From-SVN: r124981
Jerry DeLisle [Wed, 23 May 2007 04:15:25 +0000 (04:15 +0000)]
re PR fortran/18923 (segfault after subroutine name confusion)
2007-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/18923
* resolve.c (resolve_function): Don't call resolve_global_procedure if
there is no name. Delete duplicated statement in ELSE clause.
Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>
From-SVN: r124979
Andrew Pinski [Wed, 23 May 2007 01:17:14 +0000 (01:17 +0000)]
re PR middle-end/31095 (ICE in expand_expr_real_1, at expr.c:8786)
2007-05-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/31095
* builtins.c (expand_builtin_memmove_args): Strip nops that don't
change the type before looking for a COMPOUND_EXPR.
2007-05-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/31095
* gcc.c-torture/compile/bcopy-1.c: New testcase.
From-SVN: r124975
GCC Administrator [Wed, 23 May 2007 00:18:45 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r124973
Ian Lance Taylor [Tue, 22 May 2007 23:42:17 +0000 (23:42 +0000)]
lower-subreg.c (decompose_multiword_subregs): If we change an insn, call remove_retval_note on it.
* lower-subreg.c (decompose_multiword_subregs): If we change an
insn, call remove_retval_note on it.
From-SVN: r124969
Andrew Pinski [Tue, 22 May 2007 23:05:40 +0000 (23:05 +0000)]
re PR tree-optimization/31606 (ICE in try_instantiate_multiple_fields, at tree-sra.c:1601)
2007-05-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/31606
* gcc.c-torture/
20070522-1.c: New testcase.
From-SVN: r124968
H.J. Lu [Tue, 22 May 2007 22:58:32 +0000 (22:58 +0000)]
sse4_1-check.h: Don't include <stdio.h>.
2007-05-22 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/sse4_1-check.h: Don't include <stdio.h>.
From-SVN: r124967
Paolo Carlini [Tue, 22 May 2007 22:43:22 +0000 (22:43 +0000)]
testsuite_allocator.h (check_new): Assign false to new_called.
2007-05-22 Paolo Carlini <pcarlini@suse.de>
* testsuite/util/testsuite_allocator.h (check_new): Assign false
to new_called.
(check_delete): Likewise for delete_called.
From-SVN: r124966
Kazu Hirata [Tue, 22 May 2007 21:06:22 +0000 (21:06 +0000)]
20000320-1.x, [...]: XFAIL on m68k-*-* and check_effective_target_coldfire_fpu.
* gcc.c-torture/execute/ieee/
20000320-1.x,
gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: XFAIL on
m68k-*-* and check_effective_target_coldfire_fpu.
From-SVN: r124964
Ollie Wild [Tue, 22 May 2007 21:05:01 +0000 (21:05 +0000)]
name-lookup.c (ambiguous_decl): Adds check for hidden types.
* name-lookup.c (ambiguous_decl): Adds check for hidden types.
(unqualified_namespace_lookup): Adds check for hidden types.
* g++.dg/lookup/hidden-class10.C: New test.
* g++.dg/lookup/hidden-class11.C: New test.
From-SVN: r124963
Tobias Burnus [Tue, 22 May 2007 20:55:53 +0000 (22:55 +0200)]
libgfortran.h: Mark stop_numeric as noreturn.
2007-05-22 Tobias Burnus <burnus@net-b.de>
* libgfortran.h: Mark stop_numeric as noreturn.
From-SVN: r124962
Richard Sandiford [Tue, 22 May 2007 20:52:39 +0000 (20:52 +0000)]
regs.h (end_hard_regno): New function.
gcc/
* regs.h (end_hard_regno): New function.
(END_HARD_REGNO, END_REGNO): New macros.
(add_to_hard_reg_set): New function.
(remove_from_hard_reg_set): Likewise.
(in_hard_reg_set_p): Likewise.
(overlaps_hard_reg_set_p): Likewise.
* bt-load.c (find_btr_reference): Use overlaps_hard_reg_set_p.
(note_btr_set): Use END_HARD_REGNO.
* caller-save.c (setup_save_areas): Use end_hard_regno.
(mark_set_regs): Use END_HARD_REGNO.
(add_stored_regs): Use end_hard_regno.
(mark_referenced_regs): Use add_to_hard_reg_set.
* combine.c (update_table_tick): Use END_REGNO.
(record_value_for_reg): Likewise.
(record_dead_and_set_regs): Likewise.
(get_last_value_validate): Likewise.
(use_crosses_set_p): Likewise.
(reg_dead_at_p_1): Likewise.
(reg_dead_at_p): Likewise.
(mark_used_regs_combine): Use add_to_hard_reg_set.
(move_deaths): Use END_HARD_REGNO.
(reg_bitfield_target_p): Use end_hard_regno.
(distribute_notes): Use END_HARD_REGNO.
* cse.c (mention_regs): Use END_REGNO.
(insert): Use add_to_hard_reg_set.
(invalidate): Use END_HARD_REGNO.
(invalidate_for_call): Likewise.
(exp_equiv_p): Use END_REGNO.
(cse_insn): Likewise.
* cselib.c (cselib_invalidate_regno): Use end_hard_regno.
* df-problems.c (df_urec_mark_reg_change): Use END_HARD_REGNO.
* df-scan.c (df_ref_record): Use END_HARD_REGNO.
* function.c (keep_stack_depressed): Use end_hard_regno.
* global.c (global_alloc): Use end_hard_regno.
(global_conflicts): Use add_to_hard_reg_set instead of
mark_reg_live_nc.
(find_reg): Likewise.
(mark_reg_store): Likewise.
(mark_reg_conflicts): Likewise.
(mark_reg_death): Use remove_from_hard_reg_set.
(mark_reg_live_nc): Delete.
(set_preference): Use end_hard_regno.
* local-alloc.c (mark_life): Use add_to_hard_reg_set and
remove_from_hard_reg_set.
(post_mark_life): Use add_to_hard_reg_set.
* mode-switching.c (reg_dies): Use remove_from_hard_reg_set.
(reg_becomes_live): Use add_to_hard_reg_set.
* recog.c (reg_fits_class_p): Use in_hard_reg_set_p.
(peep2_find_free_register): Use add_to_hard_reg_set.
* reg-stack.c (convert_regs_exit): Use END_HARD_REGNO.
* regclass.c (record_reg_classes): Use in_hard_reg_set_p.
* regrename.c (note_sets): Use add_to_hard_reg_set.
(clear_dead_regs): Use remove_from_hard_reg_set.
(regrename_optimize): Use add_to_hard_reg_set.
(find_oldest_value_reg): Use in_hard_reg_set_p.
* reload.c (push_reload): Use in_hard_reg_set_p and end_hard_regno.
(hard_reg_set_here_p): Use end_hard_regno.
(decompose): Likewise.
(reg_overlap_mentioned_for_reload_p): Use END_HARD_REGNO.
(find_equiv_reg): Use in_hard_reg_set_p and end_hard_regno.
* reload1.c (compute_use_by_pseudos): Use add_to_hard_reg_set.
(mark_home_live): Use end_hard_regno.
(spill_hard_reg): Likewise.
(clear_reload_reg_in_use): Likewise.
* reorg.c (delete_prior_computation): Use END_REGNO.
* resource.c (update_live_status): Use END_HARD_REGNO.
(mark_referenced_resources): Use add_to_hard_reg_set.
(mark_set_resources): Likewise.
(mark_target_live_regs): Likewise. Use remove_from_hard_reg_set.
* rtlanal.c (refers_to_regno_p): Use END_REGNO.
(reg_overlap_mentioned_p): Likewise.
(dead_or_set_p): Likewise. Use an exclusive upper loop bound.
(covers_regno_no_parallel_p): Use END_REGNO.
(find_regno_note): Likewise.
(find_reg_fusage): Use END_HARD_REGNO.
* stmt.c (decl_overlaps_hard_reg_set_p): Use overlaps_hard_reg_set_p.
* var-tracking.c (emit_note_insn_var_location): Use end_hard_regno.
From-SVN: r124961
Ollie Wild [Tue, 22 May 2007 20:36:49 +0000 (20:36 +0000)]
decl.c (duplicate_decls): Verify namespace names are unique.
* decl.c (duplicate_decls): Verify namespace names are unique.
* g++.dg/lookup/name-clash5.C: New test.
* g++.dg/lookup/name-clash6.C: New test.
From-SVN: r124960
H.J. Lu [Tue, 22 May 2007 20:25:48 +0000 (20:25 +0000)]
i386-2.C: Update comments on header files tested.
2007-05-22 H.J. Lu <hongjiu.lu@intel.com>
* g++.dg/other/i386-2.C: Update comments on header files tested.
Use -msse4.1 instead of -mssse3. Include <smmintrin.h> instead
of <tmmintrin.h>.
* gcc.target/i386/sse-12.c: Likewise.
* gcc.target/i386/sse-13.c: Likewise.
* gcc.target/i386/sse-14.c: Likewise.
* gcc.target/i386/sse-13.c (__builtin_ia32_pblendw128): New.
Redefined to test with immediate operand.
(__builtin_ia32_blendps): Likewise.
(__builtin_ia32_blendpd): Likewise.
(__builtin_ia32_dpps): Likewise.
(__builtin_ia32_dpps): Likewise.
(__builtin_ia32_insertps128): Likewise.
(__builtin_ia32_vec_ext_v4sf): Likewise.
(__builtin_ia32_vec_set_v16qi): Likewise.
(__builtin_ia32_vec_set_v4si): Likewise.
(__builtin_ia32_vec_set_v2di): Likewise.
(__builtin_ia32_vec_ext_v16qi): Likewise.
(__builtin_ia32_vec_ext_v4si): Likewise.
(__builtin_ia32_vec_ext_v2di): Likewise.
(__builtin_ia32_roundpd): Likewise.
(__builtin_ia32_roundsd): Likewise.
(__builtin_ia32_roundps): Likewise.
(__builtin_ia32_roundss): Likewise.
(__builtin_ia32_mpsadbw128): Likewise.
From-SVN: r124959
Ollie Wild [Tue, 22 May 2007 20:16:21 +0000 (20:16 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r124958