platform/upstream/gcc.git
17 years agoconfig.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp to x86-darwin configurat...
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

17 years agoDaily bump.
GCC Administrator [Sat, 26 May 2007 00:18:19 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r125083

17 years agocfglayout.c, [...]: Fix comment typos.
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

17 years ago* intrinsic.texi: Fix typos.
Kazu Hirata [Fri, 25 May 2007 22:44:06 +0000 (22:44 +0000)]
* intrinsic.texi: Fix typos.

From-SVN: r125079

17 years agore PR target/32065 (Many dfp testsuite failures for -msse targets)
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

17 years agosse.md (*vec_extractv2di_1_sse2): Do not calculate "memory" attribute for "sseishft...
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

17 years ago* MAINTAINERS (Write After Approval): Remove myself.
Steven Bosscher [Fri, 25 May 2007 21:25:28 +0000 (21:25 +0000)]
* MAINTAINERS (Write After Approval): Remove myself.

From-SVN: r125074

17 years agoextend.texi (alloc_size): New attribute.
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

17 years agore PR c++/31745 (ICE on invalid use of namespace)
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

17 years agosemantics.c (finish_member_declaration): Fix a typo in the last checkin.
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

17 years agoltmain.sh: Fix Darwin verstring, remove ${wl}.
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

17 years agotransfer.c (unformatted_read): Use size from front end eliminating use of size_from_r...
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

17 years agoi386.c (__builtin_ia32_vec_ext_v2df): Mark it with MASK_SSE2.
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

17 years agore PR c++/31431 (ICE with invalid parameter pack)
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

17 years agosse.md (*vec_extractv2di_1_sse2): Correct shift.
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

17 years agoarm-protos.h (arm_encode_call_attribute): Delete.
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

17 years agoc_locale.h (__convert_from_v): Fix typo.
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

17 years agore PR tree-optimization/31982 (Missed forw prop with indirect ref and addr. (and...
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

17 years agore PR fortran/32047 (ICE (segfault) for pure function without argument)
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

17 years agospu.md (smulsi3_highpart): Unshare the rtl chain.
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

17 years agobuiltin-math-4.c: Fix dg-xfail-if.
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

17 years agoDaily bump.
GCC Administrator [Fri, 25 May 2007 00:18:11 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r125051

17 years agoMakefile.in: Remove all uses of $(libext).
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

17 years agoMakefile.in: Remove all uses of $(libext).
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

17 years agoconcurrence.h: Use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_*.
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

17 years agore PR rtl-optimization/32069 (segfault in regclass() with -O0 -fsplit-wide-types)
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

17 years agodarwin.h (LINK_COMMAND_SPEC): Add .cxx/.cp for dsymutil handling as well.
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

17 years agomacro.c (_cpp_builtin_macro_text): Handle BT_COUNTER.
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

17 years agojava-interp.h (_Jv_InterpFrame::get_pc): Only deduct one when pc_ptr is non-NULL.
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

17 years agoCommit the change of this file, mentionend in the CL from 2007-05-20.
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

17 years agopostreload-gcse.c (reg_changed_after_insn_p): New function.
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

17 years agoChangeLog: Whitespace fixes.
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

17 years agoltmain.sh: Update from ToT Libtool.
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

17 years agopasses.texi: Document predictive commoning.
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

17 years agoFotgotten changelog entry:
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

17 years agoc_locale.h (__convert_from_v): Only switch to the "C" locale if the current one isn...
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

17 years agotarget-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Correct default hook.
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

17 years agoinvoke.texi (-fdump-unnumbered): Update docs when line number notes are gone.
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

17 years agore PR testsuite/32062 (Some MASKs aren't sufficient in certain sse4_1 tests)
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

17 years agore PR middle-end/32018 (ICE on optimization)
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

17 years agoi386.c (ix86_handle_option): Handle SSE4.1 for -msse/-msse2/-msse3.
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

17 years agoi386.c (ix86_init_mmx_sse_builtins): Mark __builtin_ia32_vec_set_v2di with MASK_64BIT.
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

17 years agore PR target/27067 (Compile errors with multiple inheritance where the stdcall attrib...
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

17 years agore PR testsuite/32038 (gfortran.dg/pr25603.f is invalid code)
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

17 years agore PR fortran/31716 (segfault with real array bounds)
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

17 years agoc-common.c (c_common_signed_or_unsigned_type): Delay the check for INTEGRAL_TYPE_P...
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

17 years agoDaily bump.
GCC Administrator [Thu, 24 May 2007 00:17:24 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r125010

17 years ago* g++.dg/other/vrp1.C: New test.
Ian Lance Taylor [Wed, 23 May 2007 23:00:54 +0000 (23:00 +0000)]
* g++.dg/other/vrp1.C: New test.

From-SVN: r125007

17 years agore PR preprocessor/20077 (GCC accepts macro definitions that fail a constraint)
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

17 years agoFix up MIPS16 hard float and add support for complex.
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

17 years ago* gcc.dg/bf-spl1.c, gcc.dg/m68k-pic-1.c: Enable on fido-*-*.
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

17 years agoinvoke.texi (Invoking GCC): Document that the order of the -l option matters.
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

17 years agosse3-addsubpd.c: Don't include stdlib.h nor i386-cpuid.h.
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

17 years agore PR bootstrap/32009 (building gcc4-4.3/4.4.0-20070518 failed on OSX 10.3.9)
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

17 years agore PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in...
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

17 years agore PR target/30987 (Problem while compiling gcc for score)
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

17 years agotree-vrp.c (avoid_overflow_infinity): New static function, broken out of set_value_ra...
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

17 years agore PR fortran/18923 (segfault after subroutine name confusion)
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

17 years agore PR middle-end/31095 (ICE in expand_expr_real_1, at expr.c:8786)
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

17 years agoDaily bump.
GCC Administrator [Wed, 23 May 2007 00:18:45 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r124973

17 years agolower-subreg.c (decompose_multiword_subregs): If we change an insn, call remove_retva...
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

17 years agore PR tree-optimization/31606 (ICE in try_instantiate_multiple_fields, at tree-sra...
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

17 years agosse4_1-check.h: Don't include <stdio.h>.
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

17 years agotestsuite_allocator.h (check_new): Assign false to new_called.
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

17 years ago20000320-1.x, [...]: XFAIL on m68k-*-* and check_effective_target_coldfire_fpu.
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

17 years agoname-lookup.c (ambiguous_decl): Adds check for hidden types.
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

17 years agolibgfortran.h: Mark stop_numeric as noreturn.
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

17 years agoregs.h (end_hard_regno): New function.
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

17 years agodecl.c (duplicate_decls): Verify namespace names are unique.
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

17 years agoi386-2.C: Update comments on header files tested.
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

17 years ago* MAINTAINERS (Write After Approval): Add myself.
Ollie Wild [Tue, 22 May 2007 20:16:21 +0000 (20:16 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r124958

17 years agosse4_1-check.h: Don't include ../auto-host.h.
H.J. Lu [Tue, 22 May 2007 19:50:17 +0000 (19:50 +0000)]
sse4_1-check.h: Don't include ../auto-host.h.

2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.target/i386/sse4_1-check.h: Don't include ../auto-host.h.

From-SVN: r124957

17 years agomode-switching.c (reg_dies): Change type of second argument to "HARD_REG_SET *".
Richard Sandiford [Tue, 22 May 2007 19:41:10 +0000 (19:41 +0000)]
mode-switching.c (reg_dies): Change type of second argument to "HARD_REG_SET *".

gcc/
* mode-switching.c (reg_dies): Change type of second argument to
"HARD_REG_SET *".
(optimize_mode_switching): Update accordingly.

From-SVN: r124955

17 years agohard-reg-set.h (GO_IF_HARD_REG_SUBSET, [...]): Delete in favor of...
Richard Sandiford [Tue, 22 May 2007 19:33:37 +0000 (19:33 +0000)]
hard-reg-set.h (GO_IF_HARD_REG_SUBSET, [...]): Delete in favor of...

gcc/
* hard-reg-set.h (GO_IF_HARD_REG_SUBSET, GO_IF_HARD_REG_EQUAL): Delete
in favor of...
(hard_reg_subset_p, hard_reg_sets_equal_p, hard_reg_sets_intersect_p)
(hard_reg_set_empty_p): ...these new functions.
* bt-load.c (choose_btr): Use hard_reg_subset_p instead of
GO_IF_HARD_REG_SUBSET.
* cfgcleanup.c (old_insns_match_p): Use hard_reg_sets_equal_p
instead of GO_IF_HARD_REG_EQUAL.
* df-problems.c (df_urec_local_compute): Use hard_reg_set_empty_p
instead of GO_IF_HARD_REG_EQUAL.
* global.c (find_reg): Use hard_reg_set_empty_p instead of
GO_IF_HARD_REG_SUBSET.
(modify_reg_pav): Use hard_reg_set_empty_p instead of
GO_IF_HARD_REG_EQUAL.
* local-alloc.c (find_free_reg): Use hard_reg_subset_p instead
of GO_IF_HARD_REG_SUBSET.
* reg-stack.c (change_stack, convert_regs_1): Use hard_reg_sets_equal_p
instead of GO_IF_HARD_REG_EQUAL.
* regclass.c (init_reg_sets_1, reg_scan_mark_refs): Use
hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET.
(reg_classes_intersect_p): Use hard_reg_sets_intersect_p instead
of GO_IF_HARD_REG_SUBSET,
* reload1.c (finish_spills): Use hard_reg_subset_p instead of
GO_IF_HARD_REG_SUBSET.
* struct-equiv.c (death_notes_match_p): Use hard_reg_sets_equal_p
instead of GO_IF_HARD_REG_EQUAL.
* config/sh/sh.c (push_regs, calc_live_regs): Use
hard_reg_sets_intersect_p instead of hard_regs_intersect_p.
(hard_regs_intersect_p): Delete.

From-SVN: r124954

17 years agofunc-array.c: Support -DDBG to report individual failures.
Janis Johnson [Tue, 22 May 2007 18:08:48 +0000 (18:08 +0000)]
func-array.c: Support -DDBG to report individual failures.

* gcc.dg/dfp/func-array.c: Support -DDBG to report individual failures.
* gcc.dg/dfp/func-struct.c: Ditto.
* gcc.dg/dfp/operator-assignment.c: Ditto.
* gcc.dg/dfp/convert-bfp.c: Ditto.
* gcc.dg/dfp/convert-int.c: Ditto.
* gcc.dg/dfp/convert-int-max.c: Ditto.
* gcc.dg/dfp/func-scalar.c: Ditto.
* gcc.dg/dfp/cast.c: Ditto.
* gcc.dg/dfp/func-mixed.c: Support -DDBG to report individual
failures, and fix a typo in return type of arg1_128.
* gcc.dg/dfp/convert-dfp.c: Support -DDBG to report individual
failures, and fix a typo in a constant suffix.
* gcc.dg/dfp/func-vararg-dfp.c: Return zero at the end.
* gcc.dg/dfp/convert-complex.c: With -DDBG, abort for failures.

From-SVN: r124953

17 years agogcc/
Janis Johnson [Tue, 22 May 2007 18:01:12 +0000 (18:01 +0000)]
gcc/
* doc/sourcebuild.texi (Test Directives) Add dg-message.
gcc/testsuite/
* lib/gcc-dg.exp(process_message): New proc.
(dg-message): New test directive.
* gcc.dg/always_inline.c: Use dg-message.
* gcc.dg/always_inline2.c: Ditto.
* gcc.dg/always_inline3.c: Ditto.
* gcc.dg/invalid-call-1.c: Ditto.
* gcc.dg/pr17506.c: Ditto.
* gcc.dg/simd-5.c: Ditto.
* gcc.dg/simd-6.c: Ditto.
* gcc.dg/va-arg-2.c: Ditto.
* gcc.dg/cpp/syshdr.c: Ditto.
* gcc.dg/cpp/unc4.c: Ditto.
* gcc.dg/cpp/trad/mi1.c: Ditto.
* gcc.dg/cpp/trad/mi5.c: Ditto.
* gcc.dg/cpp/trad/mi7.c: Ditto.
* gcc.test-framework/dg-outexistsnot-exp-P.c: Ditto.
* gcc.test-framework/dg-outexists-exp-F.c: Ditto.
* gcc.test-framework/test-framework.awk: Special-case outexists
tests.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r124952

17 years agore PR libfortran/31295 (Uninitialized variable in libgfortran's _gfortran_eoshift0_4)
Tobias Burnus [Tue, 22 May 2007 16:19:09 +0000 (18:19 +0200)]
re PR libfortran/31295 (Uninitialized variable in libgfortran's _gfortran_eoshift0_4)

2007-05-22  Tobias Burnus  <burnus@net-b.de>

       PR libgfortran/31295
       * intrinsics/eoshift0.c (eoshift0): Silence uninitialized warning.
       * intrinsics/eoshift2.c (eoshift2): Ditto.

From-SVN: r124948

17 years agoi386-cpuid.h (bit_SSE4_1): New.
H.J. Lu [Tue, 22 May 2007 16:14:13 +0000 (16:14 +0000)]
i386-cpuid.h (bit_SSE4_1): New.

2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>

* gcc.dg/i386-cpuid.h (bit_SSE4_1): New.
(bit_SSE4_2): Likewise.
(bit_POPCNT): Likewise.

* gcc.target/i386/i386.exp (check_effective_target_sse4): New.
Check if assembler supports SSE4 instructions.

* gcc.target/i386/sse4_1-blendpd.c: New file.
* gcc.target/i386/sse4_1-blendps.c: Likewise.
* gcc.target/i386/sse4_1-blendvpd.c: Likewise.
* gcc.target/i386/sse4_1-blendvps.c: Likewise.
* gcc.target/i386/sse4_1-check.h: Likewise.
* gcc.target/i386/sse4_1-dppd-1.c: Likewise.
* gcc.target/i386/sse4_1-dppd-2.c: Likewise.
* gcc.target/i386/sse4_1-dpps-1.c: Likewise.
* gcc.target/i386/sse4_1-dpps-2.c: Likewise.
* gcc.target/i386/sse4_1-extractps.c: Likewise.
* gcc.target/i386/sse4_1-insertps-1.c: Likewise.
* gcc.target/i386/sse4_1-insertps-2.c: Likewise.
* gcc.target/i386/sse4_1-movntdqa.c: Likewise.
* gcc.target/i386/sse4_1-mpsadbw.c: Likewise.
* gcc.target/i386/sse4_1-packusdw.c: Likewise.
* gcc.target/i386/sse4_1-pblendvb.c: Likewise.
* gcc.target/i386/sse4_1-pblendw.c: Likewise.
* gcc.target/i386/sse4_1-pcmpeqq.c: Likewise.
* gcc.target/i386/sse4_1-pextrb.c: Likewise.
* gcc.target/i386/sse4_1-pextrd.c: Likewise.
* gcc.target/i386/sse4_1-pextrq.c: Likewise.
* gcc.target/i386/sse4_1-pextrw.c: Likewise.
* gcc.target/i386/sse4_1-phminposuw.c: Likewise.
* gcc.target/i386/sse4_1-pinsrb.c: Likewise.
* gcc.target/i386/sse4_1-pinsrd.c: Likewise.
* gcc.target/i386/sse4_1-pinsrq.c: Likewise.
* gcc.target/i386/sse4_1-pmaxsb.c: Likewise.
* gcc.target/i386/sse4_1-pmaxsd.c: Likewise.
* gcc.target/i386/sse4_1-pmaxud.c: Likewise.
* gcc.target/i386/sse4_1-pmaxuw.c: Likewise.
* gcc.target/i386/sse4_1-pminsb.c: Likewise.
* gcc.target/i386/sse4_1-pminsd.c: Likewise.
* gcc.target/i386/sse4_1-pminud.c: Likewise.
* gcc.target/i386/sse4_1-pminuw.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxbd.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxbq.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxbw.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxdq.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxwd.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxwq.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxbd.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxbq.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxbw.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxdq.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxwd.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxwq.c: Likewise.
* gcc.target/i386/sse4_1-pmuldq.c: Likewise.
* gcc.target/i386/sse4_1-pmulld.c: Likewise.
* gcc.target/i386/sse4_1-ptest-1.c: Likewise.
* gcc.target/i386/sse4_1-ptest-2.c: Likewise.
* gcc.target/i386/sse4_1-ptest-3.c: Likewise.
* gcc.target/i386/sse4_1-round.h: Likewise.
* gcc.target/i386/sse4_1-roundpd-1.c: Likewise.
* gcc.target/i386/sse4_1-roundpd-2.c: Likewise.
* gcc.target/i386/sse4_1-roundpd-3.c: Likewise.
* gcc.target/i386/sse4_1-roundps-1.c: Likewise.
* gcc.target/i386/sse4_1-roundps-2.c: Likewise.
* gcc.target/i386/sse4_1-roundps-3.c: Likewise.
* gcc.target/i386/sse4_1-roundsd-1.c: Likewise.
* gcc.target/i386/sse4_1-roundsd-2.c: Likewise.
* gcc.target/i386/sse4_1-roundsd-3.c: Likewise.
* gcc.target/i386/sse4_1-roundsd-4.c: Likewise.
* gcc.target/i386/sse4_1-roundss-1.c: Likewise.
* gcc.target/i386/sse4_1-roundss-2.c: Likewise.
* gcc.target/i386/sse4_1-roundss-3.c: Likewise.
* gcc.target/i386/sse4_1-roundss-4.c: Likewise.

From-SVN: r124947

17 years agoconfig.gcc (i[34567]86-*-*): Add smmintrin.h to extra_headers.
H.J. Lu [Tue, 22 May 2007 14:37:19 +0000 (14:37 +0000)]
config.gcc (i[34567]86-*-*): Add smmintrin.h to extra_headers.

2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
    Richard Henderson  <rth@redhat.com>

* config.gcc (i[34567]86-*-*): Add smmintrin.h to
extra_headers.
(x86_64-*-*): Likewise.

* i386/i386-modes.def (V2QI): New.

* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 and
SSE4A.
(override_options): Support SSE4.1.
(IX86_BUILTIN_BLENDPD): New for SSE4.1.
(IX86_BUILTIN_BLENDPS): Likewise.
(IX86_BUILTIN_BLENDVPD): Likewise.
(IX86_BUILTIN_BLENDVPS): Likewise.
(IX86_BUILTIN_PBLENDVB128): Likewise.
(IX86_BUILTIN_PBLENDW128): Likewise.
(IX86_BUILTIN_DPPD): Likewise.
(IX86_BUILTIN_DPPS): Likewise.
(IX86_BUILTIN_INSERTPS128): Likewise.
(IX86_BUILTIN_MOVNTDQA): Likewise.
(IX86_BUILTIN_MPSADBW128): Likewise.
(IX86_BUILTIN_PACKUSDW128): Likewise.
(IX86_BUILTIN_PCMPEQQ): Likewise.
(IX86_BUILTIN_PHMINPOSUW128): Likewise.
(IX86_BUILTIN_PMAXSB128): Likewise.
(IX86_BUILTIN_PMAXSD128): Likewise.
(IX86_BUILTIN_PMAXUD128): Likewise.
(IX86_BUILTIN_PMAXUW128): Likewise.
(IX86_BUILTIN_PMINSB128): Likewise.
(IX86_BUILTIN_PMINSD128): Likewise.
(IX86_BUILTIN_PMINUD128): Likewise.
(IX86_BUILTIN_PMINUW128): Likewise.
(IX86_BUILTIN_PMOVSXBW128): Likewise.
(IX86_BUILTIN_PMOVSXBD128): Likewise.
(IX86_BUILTIN_PMOVSXBQ128): Likewise.
(IX86_BUILTIN_PMOVSXWD128): Likewise.
(IX86_BUILTIN_PMOVSXWQ128): Likewise.
(IX86_BUILTIN_PMOVSXDQ128): Likewise.
(IX86_BUILTIN_PMOVZXBW128): Likewise.
(IX86_BUILTIN_PMOVZXBD128): Likewise.
(IX86_BUILTIN_PMOVZXBQ128): Likewise.
(IX86_BUILTIN_PMOVZXWD128): Likewise.
(IX86_BUILTIN_PMOVZXWQ128): Likewise.
(IX86_BUILTIN_PMOVZXDQ128): Likewise.
(IX86_BUILTIN_PMULDQ128): Likewise.
(IX86_BUILTIN_PMULLD128): Likewise.
(IX86_BUILTIN_ROUNDPD): Likewise.
(IX86_BUILTIN_ROUNDPS): Likewise.
(IX86_BUILTIN_ROUNDSD): Likewise.
(IX86_BUILTIN_ROUNDSS): Likewise.
(IX86_BUILTIN_PTESTZ): Likewise.
(IX86_BUILTIN_PTESTC): Likewise.
(IX86_BUILTIN_PTESTNZC): Likewise.
(IX86_BUILTIN_VEC_EXT_V16QI): Likewise.
(IX86_BUILTIN_VEC_SET_V2DI): Likewise.
(IX86_BUILTIN_VEC_SET_V4SF): Likewise.
(IX86_BUILTIN_VEC_SET_V4SI): Likewise.
(IX86_BUILTIN_VEC_SET_V16QI): Likewise.
(bdesc_ptest): New.
(bdesc_sse_3arg): Likewise.
(bdesc_2arg): Likewise.
(bdesc_1arg): Likewise.
(ix86_init_mmx_sse_builtins): Support SSE4.1.  Handle SSE builtins
with 3 args.
(ix86_expand_sse_4_operands_builtin): New.
(ix86_expand_unop_builtin): Support 2 arg builtins with a constant
smaller than 8 bits as the 2nd arg.
(ix86_expand_sse_ptest): New.
(ix86_expand_builtin): Support SSE4.1. Support 3 arg SSE builtins.
(ix86_expand_vector_set): Support SSE4.1.
(ix86_expand_vector_extract): Likewise.

* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
__SSE4_1__ for -msse4.1.

* config/i386/i386.md (UNSPEC_BLENDV): New for SSE4.1.
(UNSPEC_INSERTPS): Likewise.
(UNSPEC_DP): Likewise.
(UNSPEC_MOVNTDQA): Likewise.
(UNSPEC_MPSADBW): Likewise.
(UNSPEC_PHMINPOSUW): Likewise.
(UNSPEC_PTEST): Likewise.
(UNSPEC_ROUNDP): Likewise.
(UNSPEC_ROUNDS): Likewise.

* config/i386/i386.opt (msse4.1): New for SSE4.1.

* config/i386/predicates.md (const_pow2_1_to_2_operand): New.
(const_pow2_1_to_32768_operand): Likewise.

* config/i386/smmintrin.h: New. The SSE4.1 intrinsic header
file.

* config/i386/sse.md (*vec_setv4sf_sse4_1): New pattern for
SSE4.1.
(sse4_1_insertps): Likewise.
(*sse4_1_extractps): Likewise.
(sse4_1_ptest): Likewise.
(sse4_1_mulv2siv2di3): Likewise.
(*sse4_1_mulv4si3): Likewise.
(*sse4_1_smax<mode>3): Likewise.
(*sse4_1_umax<mode>3): Likewise.
(*sse4_1_smin<mode>3): Likewise.
(*sse4_1_umin<mode>3): Likewise.
(sse4_1_eqv2di3): Likewise.
(*sse4_1_pinsrb): Likewise.
(*sse4_1_pinsrd): Likewise.
(*sse4_1_pinsrq): Likewise.
(*sse4_1_pextrb): Likewise.
(*sse4_1_pextrb_memory): Likewise.
(*sse4_1_pextrw_memory): Likewise.
(*sse4_1_pextrq): Likewise.
(sse4_1_blendpd): Likewise.
(sse4_1_blendps): Likewise.
(sse4_1_blendvpd): Likewise.
(sse4_1_blendvps): Likewise.
(sse4_1_dppd): Likewise.
(sse4_1_dpps): Likewise.
(sse4_1_movntdqa): Likewise.
(sse4_1_mpsadbw): Likewise.
(sse4_1_packusdw): Likewise.
(sse4_1_pblendvb): Likewise.
(sse4_1_pblendw): Likewise.
(sse4_1_phminposuw): Likewise.
(sse4_1_extendv8qiv8hi2): Likewise.
(*sse4_1_extendv8qiv8hi2): Likewise.
(sse4_1_extendv4qiv4si2): Likewise.
(*sse4_1_extendv4qiv4si2): Likewise.
(sse4_1_extendv2qiv2di2): Likewise.
(*sse4_1_extendv2qiv2di2): Likewise.
(sse4_1_extendv4hiv4si2): Likewise.
(*sse4_1_extendv4hiv4si2): Likewise.
(sse4_1_extendv2hiv2di2): Likewise.
(*sse4_1_extendv2hiv2di2): Likewise.
(sse4_1_extendv2siv2di2): Likewise.
(*sse4_1_extendv2siv2di2): Likewise.
(sse4_1_zero_extendv8qiv8hi2): Likewise.
(*sse4_1_zero_extendv8qiv8hi2): Likewise.
(sse4_1_zero_extendv4qiv4si2): Likewise.
(*sse4_1_zero_extendv4qiv4si2): Likewise.
(sse4_1_zero_extendv2qiv2di2): Likewise.
(*sse4_1_zero_extendv2qiv2di2): Likewise.
(sse4_1_zero_extendv4hiv4si2): Likewise.
(*sse4_1_zero_extendv4hiv4si2): Likewise.
(sse4_1_zero_extendv2hiv2di2): Likewise.
(*sse4_1_zero_extendv2hiv2di2): Likewise.
(sse4_1_zero_extendv2siv2di2): Likewise.
(*sse4_1_zero_extendv2siv2di2): Likewise.
(sse4_1_roundpd): Likewise.
(sse4_1_roundps): Likewise.
(sse4_1_roundsd): Likewise.
(sse4_1_roundss): Likewise.
(mulv4si3): Don't expand for SSE4.1.
(smax<mode>3): Likewise.
(umaxv4si3): Likewise.
(uminv16qi3): Likewise.
(umin<mode>3): Likewise.
(umaxv8hi3): Rewrite.  Only enabled for SSE4.1.

* doc/extend.texi: Document SSE4.1 built-in functions.

* doc/invoke.texi: Document -msse4.1.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r124945

17 years agore PR fortran/31627 ([4.1/4.2 only] -bounds-check doesn't check lower bound of assume...
Francois-Xavier Coudert [Tue, 22 May 2007 09:27:15 +0000 (09:27 +0000)]
re PR fortran/31627 ([4.1/4.2 only] -bounds-check doesn't check lower bound of assumed-sized array)

PR fortran/31627

* trans-array.c (gfc_trans_array_bound_check): Take extra argument to
indicate whether we should check the upper bound in that dimension.
(gfc_conv_array_index_offset): Check only the lower bound of the
last dimension for assumed-size arrays.
(gfc_conv_array_ref): Likewise.
(gfc_conv_ss_startstride): Likewise.

* gfortran.dg/bounds_check_7.f90: New test.

From-SVN: r124940

17 years agoi386.exp (check_effective_target_ssse3): New.
Uros Bizjak [Tue, 22 May 2007 08:15:13 +0000 (10:15 +0200)]
i386.exp (check_effective_target_ssse3): New.

* gcc.target/i386/i386.exp (check_effective_target_ssse3): New.
(check_effective_target_sse4a): Ditto.

* gcc.target/i386/ssse3-phsubw.c: Require effective target ssse3.
* gcc.target/i386/ssse3-phaddd.c: Require effective target ssse3.
* gcc.target/i386/ssse3-pabsb.c: Require effective target ssse3.
* gcc.target/i386/ssse3-psignb.c: Require effective target ssse3.
* gcc.target/i386/ssse3-phaddsw.c: Require effective target ssse3.
* gcc.target/i386/ssse3-pabsd.c: Require effective target ssse3.
* gcc.target/i386/ssse3-psignd.c: Require effective target ssse3.
* gcc.target/i386/ssse3-pmaddubsw.c: Require effective target ssse3.
* gcc.target/i386/ssse3-pmulhrsw.c: Require effective target ssse3.
* gcc.target/i386/ssse3-phaddw.c: Require effective target ssse3.
* gcc.target/i386/ssse3-phsubd.c: Require effective target ssse3.
* gcc.target/i386/ssse3-pabsw.c: Require effective target ssse3.
* gcc.target/i386/ssse3-psignw.c: Require effective target ssse3.
* gcc.target/i386/ssse3-pshufb.c: Require effective target ssse3.
* gcc.target/i386/ssse3-phsubsw.c: Require effective target ssse3.
* gcc.target/i386/ssse3-palignr.c: Require effective target ssse3.
* gcc.target/i386/sse4a-insert.c: Require effective target sse4a.
* gcc.target/i386/sse4a-extract.c: Require effective target sse4a.
* gcc.target/i386/sse4a-montss.c: Require effective target sse4a.
* gcc.target/i386/sse4a-montsd.c: Require effective target sse4a.

From-SVN: r124939

17 years ago* misc.c (enumerate_modes): Consider log2_b to always be one.
Alexandre Oliva [Tue, 22 May 2007 07:00:22 +0000 (07:00 +0000)]
* misc.c (enumerate_modes): Consider log2_b to always be one.

From-SVN: r124938

17 years agolinux.h (ASM_SPEC): Add asm_pcrel_spec.
Nathan Sidwell [Tue, 22 May 2007 06:55:27 +0000 (06:55 +0000)]
linux.h (ASM_SPEC): Add asm_pcrel_spec.

* config/m68k/linux.h (ASM_SPEC): Add asm_pcrel_spec.
* config/m68k/m68k-none.h (ASM_SPEC): Don't override here.
* config/m68k/m68k.h (ASM_PCREL_SPEC): New.
(ASM_SPEC): Add asm_pcrel_spec.
(EXTRA_SPECS): Add asm_pcrel_spec.

From-SVN: r124937

17 years agoinstall.texi (Building a cross compiler): Add requirements for Java cross compiler.
David Daney [Tue, 22 May 2007 04:06:06 +0000 (04:06 +0000)]
install.texi (Building a cross compiler): Add requirements for Java cross compiler.

* doc/install.texi (Building a cross compiler): Add requirements
for Java cross compiler.

From-SVN: r124936

17 years agoDaily bump.
GCC Administrator [Tue, 22 May 2007 00:18:27 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r124933

17 years agodecl.c (cxx_maybe_build_cleanup): Handle __attribute__((cleanup)).
Mark Mitchell [Mon, 21 May 2007 23:47:29 +0000 (23:47 +0000)]
decl.c (cxx_maybe_build_cleanup): Handle __attribute__((cleanup)).

* decl.c (cxx_maybe_build_cleanup): Handle
__attribute__((cleanup)).
* g++.dg/ext/cleanup-1.C: New test.
* g++.dg/ext/cleanup-2.C: Likewise.
* g++.dg/ext/cleanup-3.C: Likewise.
* g++.dg/ext/cleanup-4.C: Likewise.
* g++.dg/ext/cleanup-5.C: Likewise.
* g++.dg/ext/cleanup-6.C: Likewise.
* g++.dg/ext/cleanup-8.C: Likewise.
* g++.dg/ext/cleanup-9.C: Likewise.
* g++.dg/ext/cleanup-10.C: Likewise.
* g++.dg/ext/cleanup-11.C: Likewise.
* g++.dg/ext/cleanup-dtor.C: Likewise.

From-SVN: r124930

17 years agointernal.h (struct cpp_reader): Add new fields: nonexistent_file_hash and nonexistent...
Ian Lance Taylor [Mon, 21 May 2007 23:43:53 +0000 (23:43 +0000)]
internal.h (struct cpp_reader): Add new fields: nonexistent_file_hash and nonexistent_file_ob.

* internal.h (struct cpp_reader): Add new fields:
nonexistent_file_hash and nonexistent_file_ob.
* files.c: Include "obstack.h".
(find_file_in_dir): Before trying to open the file, look up the
path name in the hash table of nonexistent files.  After failing
to open the file, add the path name to the hash table.
(_cpp_find_file): Cache the results of looking up the file name
starting with the quote and bracket chain heads, if we can.
(nonexistent_file_hash_eq): New static function.
(_cpp_init_files): Initialize pfile->nonexistent_file_hash and
pfile->nonexistent_file_ob.
(_cpp_cleanup_files): Free pfile->nonexistent_file_hash and
pfile->nonexistent_file_ob.

From-SVN: r124929

17 years agore PR tree-optimization/31995 (can't determine dependence between p->a[x+i] and p...
Andrew Pinski [Mon, 21 May 2007 23:08:54 +0000 (23:08 +0000)]
re PR tree-optimization/31995 (can't determine dependence between p->a[x+i] and p->a[x+i+1])

2007-05-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/31995
        * tree-chrec.c (evolution_function_is_affine_multivariate_p):
        Add loopno argument.  Use evolution_function_is_invariant_rec_p
        instead of evolution_function_is_constant_p.
        Update calls to evolution_function_is_affine_multivariate_p.
        * tree-chrec.h  (evolution_function_is_affine_multivariate_p):
        Add loopno argument.
        * tree-scalar-evolution.c (gather_chrec_stats): Call
        evolution_function_is_affine_multivariate_p with a  loop
        number of 0.
        * tree-data-ref.c (analyze_miv_subscript): Likewise.
        (analyze_overlapping_iterations): Likewise.
        (access_functions_are_affine_or_constant_p):
        Likewise.
        (build_classic_dist_vector_1): If the access functions
        are equal, don't do anything.

2007-05-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/31995
        * gcc.dg/vect/vect-102a.c: New test.

From-SVN: r124927

17 years agoc-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...
Paolo Bonzini [Mon, 21 May 2007 22:48:38 +0000 (22:48 +0000)]
c-cppbuiltin.c (c_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...

2007-05-21  Paolo Bonzini  <bonzini@gnu.org>
            Paolo Carlini  <pcarlini@suse.de>
    Uros Bizjak  <ubizjak@gmail.com>

* c-cppbuiltin.c (c_cpp_builtins): Define
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2,
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8,
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16, if appropriate.
* doc/cpp.texi ([Standard Predefined Macros]): Document.

2007-05-21  Paolo Bonzini  <bonzini@gnu.org>
            Paolo Carlini  <pcarlini@suse.de>
    Uros Bizjak  <ubizjak@gmail.com>

* gcc.dg/gcc-have-sync-compare-and-swap.c,
gcc.target/i386/gcc-have-sync-compare-and-swap-1.c,
gcc.target/i386/gcc-have-sync-compare-and-swap-2.c,
gcc.target/i386/gcc-have-sync-compare-and-swap-3.c,
gcc.target/i386/gcc-have-sync-compare-and-swap-4.c,
New testcases.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r124926

17 years agore PR fortran/32002 (insufficient conformance check when assigning the result of...
Daniel Franke [Mon, 21 May 2007 22:24:55 +0000 (18:24 -0400)]
re PR fortran/32002 (insufficient conformance check when assigning the result of an elemental function to an array)

gcc/fortran:
2005-05-21  Jerry DeLisle  <jvdelisle@verizon.net>
            Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32002
        * resolve.c (resolve_actual_arglist): Resolve actual argument after
        being identified as variable.

gcc/testsuite:
2005-05-21  Daniel Franke  <franke.daniel@gmail.com>

PR fortran/32002
        * gfortran.dg/compliant_elemental_intrinsics_2.f90: New test.

From-SVN: r124924

17 years agore PR fortran/32027 (The "DO" variable isn't consistent after loop)
Francois-Xavier Coudert [Mon, 21 May 2007 22:02:26 +0000 (22:02 +0000)]
re PR fortran/32027 (The "DO" variable isn't consistent after loop)

PR fortran/32027

* trans-stmt.c (gfc_trans_do): Fix the value of loop variable
when the loop ends.

* gfortran.dg/do_3.F90: Add checks for the final value of the
loop variable.

From-SVN: r124923

17 years agotrans-stmt.c (gfc_trans_do): Fix a typo in comment.
H.J. Lu [Mon, 21 May 2007 21:13:03 +0000 (21:13 +0000)]
trans-stmt.c (gfc_trans_do): Fix a typo in comment.

2007-05-21  H.J. Lu  <hongjiu.lu@intel.com>

* trans-stmt.c (gfc_trans_do): Fix a typo in comment.

From-SVN: r124911

17 years agodarwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil handling as well.
Mike Stump [Mon, 21 May 2007 20:54:46 +0000 (20:54 +0000)]
darwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil handling as well.

* config/darwin.h (LINK_COMMAND_SPEC): Add .cxx for dsymutil
handling as well.
* config/darwin9.h (LINK_COMMAND_SPEC): Likewise.
Radar 5214697

From-SVN: r124909

17 years ago990127-2.x: New file.
Uros Bizjak [Mon, 21 May 2007 20:41:34 +0000 (22:41 +0200)]
990127-2.x: New file.

        * gcc.c-torture/execute/990127-2.x: New file.

From-SVN: r124908

17 years agoc_locale.h: Do not include <cstdarg>, use builtins.
Paolo Carlini [Mon, 21 May 2007 19:22:35 +0000 (19:22 +0000)]
c_locale.h: Do not include <cstdarg>, use builtins.

2007-05-21  Paolo Carlini  <pcarlini@suse.de>

* config/locale/gnu/c_locale.h: Do not include <cstdarg>, use builtins.
* config/locale/generic/c_locale.h: Likewise.

From-SVN: r124907

17 years agoUpdate my e-mail address for new employer.
James Lemke [Mon, 21 May 2007 19:02:09 +0000 (19:02 +0000)]
Update my e-mail address for new employer.

From-SVN: r124906

17 years agotmmintrin.h (_mm_alignr_epi8): Provide macro implementation if __OPTIMIZE__ is not...
Uros Bizjak [Mon, 21 May 2007 15:40:01 +0000 (17:40 +0200)]
tmmintrin.h (_mm_alignr_epi8): Provide macro implementation if __OPTIMIZE__ is not defined.

* config/i386/tmmintrin.h (_mm_alignr_epi8): Provide macro
implementation if __OPTIMIZE__ is not defined.
(_mm_alignr_pi8): Ditto.
* config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
(_mm_inserti_si64): Ditto.
* config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
(_mm_slli_epi16): Ditto.
        (_mm_slli_epi32): Ditto.
        (_mm_slli_epi64): Ditto.
(_mm_srai_epi16): Ditto.
(_mm_srai_epi32): Ditto.
(_mm_srli_si128): Ditto.
(_mm_slli_si128): Ditto.
(_mm_srli_epi16): Ditto.
        (_mm_srli_epi32): Ditto.
        (_mm_srli_epi64): Ditto.
(_mm_extract_epi16): Ditto.
(_mm_insert_epi16): Ditto.
(_mm_shufflehi_epi16): Ditto.
(_mm_shufflelo_epi16): Ditto.
(_mm_shuffle_epi32): Ditto.
        * config/i386/xmmintrin.h (_mm_extract_pi16): Ditto.
        (_m_pextrw): Ditto.
        (_mm_insert_pi16): Ditto.
        (_m_pinsrw): Ditto.
        (_mm_shuffle_pi16): Ditto.
        (_m_pshufw): Ditto.
        (_mm_shufle_ps): Ditto.
        (_mm_prefetch): Ditto.

testsuite/ChangeLog:

* gcc.target/i386/sse-14.c: Remove all intrinsic redefines.
* gcc.target/i386/sse-12: Add -O to compile options.
* g++.dg/other/i386-2.C: Use "-march=k8 -m3dnow -mssse3
-msse4a" instead of "-msse3".  Include only ammintrin.h, tmmintrin.h
and mm3dnow.h.  Add -O to compile options.

From-SVN: r124904

17 years agore PR fortran/31867 ([4.2 only] function result with character LEN computed at run...
Paul Thomas [Mon, 21 May 2007 13:16:06 +0000 (13:16 +0000)]
re PR fortran/31867 ([4.2 only] function result with character LEN computed at run time)

2007-05-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31867
PR fortran/31994
* trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
offset for non-descriptor, source arrays and correct for stride
not equal to one before writing to field of output descriptor.

2007-05-21  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/31867
* gfortran.dg/char_length_5.f90: New test.

PR fortran/31994
* gfortran.dg/array_reference_1.f90: New test.

From-SVN: r124903

17 years agodefaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
Andreas Krebbel [Mon, 21 May 2007 12:53:08 +0000 (12:53 +0000)]
defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.

2007-05-21  Andreas Krebbel  <krebbel1@de.ibm.com>

* defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
* doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed.
* real.c (encode_i370_single, decode_i370_single,
encode_i370_double, decode_i370_double): Functions removed.
(i370_single_format, i370_double_format): Initializations removed.
(real_maxval, round_for_format, exact_real_truncate, significand_size):
Consider the log2_b field to always be one.
(ieee_single_format, mips_single_format, coldfire_single_format,
ieee_double_format, mips_double_format, coldfire_double_format,
ieee_extended_motorola_format, ieee_extended_intel_96_format,
ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
ibm_extended_format, mips_extended_format, ieee_quad_format,
mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
decimal_single_format, decimal_double_format, decimal_quad_format,
c4x_single_format, c4x_extended_format, real_internal_format): Remove
initialization of log2_b.
* real.h (i370_single_format, i370_double_format): Declarations removed.
* c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b
field to always be one.

From-SVN: r124901

17 years agoia64.c (emit_predicate_relation_info): Fix use of NOTE_INSN_BASIC_BLOCK_P.
Andreas Schwab [Mon, 21 May 2007 11:29:35 +0000 (11:29 +0000)]
ia64.c (emit_predicate_relation_info): Fix use of NOTE_INSN_BASIC_BLOCK_P.

* config/ia64/ia64.c (emit_predicate_relation_info): Fix use of
NOTE_INSN_BASIC_BLOCK_P.
(process_for_unwind_directive): Likewise.

From-SVN: r124899