gcc.git
13 years agogcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.
Joseph Myers [Mon, 2 May 2011 15:42:39 +0000 (16:42 +0100)]
gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.

contrib:
* gcc_update (gcc/config/m68k/m68k-tables.opt): New dependencies.

gcc:
* config/m68k/genopt.sh, config/m68k/m68k-isas.def,
config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
config/m68k/t-opts: New files.
* config/m68k/m68k-tables.opt: New file (generated).
* config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
extra_options and m68k/t-opts to tmake_file.
* config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
(all_isas): Initialize using m68k-isas.def.
(all_microarchs): Initialize using m68k-microarchs.def.
(m68k_find_selection): Remove.
(m68k_handle_option): Don't assert that global structures are in
use.  Use error_at.  Access variables via opts pointer.  Don't
handle -march=, -mcpu= and -mtune= here.  Set gcc_options fields
directly for -m68020-40 and -m68020-60.
(m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
m68k_tune_entry here.
* config/m68k/m68k.h (enum uarch_type, enum target_device): Move
to m68k-opts.h.
(m68k_library_id_string): Remove declaration.
* config/m68k/m68k.opt (config/m68k/m68k-opts.h): New
HeaderInclude.
(m68k_library_id_string): New Variable.
(march=, mcpu=, mtune=): Use Enum and Var.

From-SVN: r173256

13 years agovarasm.c (output_constructor_regular_field): Compute zero-based index with double...
Richard Guenther [Mon, 2 May 2011 15:22:54 +0000 (15:22 +0000)]
varasm.c (output_constructor_regular_field): Compute zero-based index with double-ints.

2011-05-02  Richard Guenther  <rguenther@suse.de>

* varasm.c (output_constructor_regular_field): Compute zero-based
index with double-ints.  Make sure to ICE instead of producing
wrong code.
* cgraph.c (cgraph_add_thunk): Do not create new tree nodes
in asserts.  Properly use a signed type.

From-SVN: r173255

13 years agosse.md (V): New mode iterator.
Uros Bizjak [Mon, 2 May 2011 14:10:05 +0000 (16:10 +0200)]
sse.md (V): New mode iterator.

* config/i386/sse.md (V): New mode iterator.
(V_128): Rename from SSEMODE.  Make V2DF mode conditional on
TARGET_SSE2.
(V_256): Rename from AVX256MODE.
(VF): Make V4SF mode unconditional.  Add TARGET_SSE instruction
condition to all users.
(VF1): Ditto.
(VF2): Make V2DF mode unconditional.  Add TARGET_SSE2 instruction
condition to all users.
(VF_128): Make V4SF mode unconditional.
(VF_256): Rename from AVX256MODEF2P.
(VI4F_128): Rename from SSEMODE4S.
(VI8F_128): Rename from SSEMODE2D.
(VI4F_256): Rename from AVX256MODE8P.
(VI8F_256): Rename from AVX256MODE4P.
(avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
(ssescalarmodesuffix): Remove SF and DF modes.
(SSEMODE124): Remove.
(SSEMODE1248): Ditto.
(SSEMODEF2P): Ditto.
(AVXMODEF2P): Ditto.
(AVXMODEFDP): Ditto.
(AVXMODEFSP): Ditto.
(VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
unconditional.
(VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO.  Make V4SF mode
unconditional.
(xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
xop_pcmov_<mode>256.  Use V mode iterator.

Adjust RTX patterns globally for renamed mode attributes.

From-SVN: r173253

13 years agohaifa-sched.c (sched_emit_insn): Emit insn before first non-scheduled insn.
Ulrich Weigand [Mon, 2 May 2011 13:16:55 +0000 (13:16 +0000)]
haifa-sched.c (sched_emit_insn): Emit insn before first non-scheduled insn.

* haifa-sched.c (sched_emit_insn): Emit insn before first
non-scheduled insn.  Inform back-end about new insn.  Add
new insn to scheduled_insns list.

From-SVN: r173251

13 years agore PR tree-optimization/48822 (G++ gets stucks and never finishes compilation when...
Richard Guenther [Mon, 2 May 2011 13:11:27 +0000 (13:11 +0000)]
re PR tree-optimization/48822 (G++ gets stucks and never finishes compilation when enabling -O2/3 optimization options.)

2011-05-02  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48822
* tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
(process_scc): Indicate which iteration we start.

* gcc.dg/torture/pr48822.c: New testcase.

From-SVN: r173250

13 years agore PR c++/47969 ([C++0x] ICE: SIGSEGV in compute_array_index_type (cp/decl.c:7522))
Paolo Carlini [Mon, 2 May 2011 12:44:15 +0000 (12:44 +0000)]
re PR c++/47969 ([C++0x] ICE: SIGSEGV in compute_array_index_type (cp/decl.c:7522))

/cp
2011-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/47969
* decl.c (compute_array_index_type): Check build_expr_type_conversion
return value for NULL_TREE.

/testsuite
2011-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/47969
* g++.dg/cpp0x/constexpr-47969.C: New.

From-SVN: r173249

13 years agolto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
Jan Hubicka [Mon, 2 May 2011 12:37:13 +0000 (14:37 +0200)]
lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h

* lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
(lto_section_overrun): New.
* lto-section-out.c (append_block): Rename to ...
(lto_append_block): ... this one; export.
(lto_output_1_stream): Move lto lto-streamer.h
(lto_output_data_stream): Update.
* lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
(lto_output_1_stream, lto_input_1_unsigned): Turn into inline
functions.

From-SVN: r173247

13 years agore PR testsuite/48498 (Several gcc.dg/vect tests XPASS on SPARC)
Ira Rosen [Mon, 2 May 2011 11:13:26 +0000 (11:13 +0000)]
re PR testsuite/48498 (Several gcc.dg/vect tests XPASS on SPARC)

PR testsuite/48498
* gcc.dg/vect/slp-3.c: Increase loop bound.  Don't expect to fail
on vect_no_align targets.
* gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
vect_no_align targets.

From-SVN: r173245

13 years agotree.c (tree_code_counts): New global array.
Richard Guenther [Mon, 2 May 2011 11:12:26 +0000 (11:12 +0000)]
tree.c (tree_code_counts): New global array.

2011-05-02  Richard Guenther  <rguenther@suse.de>

* tree.c (tree_code_counts): New global array.
(record_node_allocation_statistics): Count individual tree codes.
(dump_tree_statistics): Dump individual code stats.

From-SVN: r173244

13 years agostatus_cxx200x.xml: Update to reflect current status and FDIS content.
Jonathan Wakely [Mon, 2 May 2011 10:39:15 +0000 (10:39 +0000)]
status_cxx200x.xml: Update to reflect current status and FDIS content.

2011-05-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/status_cxx200x.xml: Update to reflect current status
and FDIS content.
* doc/xml/manual/documentation_hacking.xml: Fix typo.
* doc/html/*: Regenerate.

From-SVN: r173243

13 years agonew tests
Xinliang David Li [Mon, 2 May 2011 05:30:59 +0000 (05:30 +0000)]
new tests

From-SVN: r173242

13 years agoDaily bump.
GCC Administrator [Mon, 2 May 2011 00:19:15 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173240

13 years agoipa-inline.c (caller_growth_limits): Fix thinko when
Jan Hubicka [Sun, 1 May 2011 19:11:07 +0000 (21:11 +0200)]
ipa-inline.c (caller_growth_limits): Fix thinko when

* ipa-inline.c (caller_growth_limits): Fix thinko when
* ipa-inline.c (caller_growth_limits): Fix thinko when
looking for largest stack frame.
* ipa-inline.h (dump_inline_summary): Declare.
* ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
on stack usage.
(dump_inline_summary): Export.
(debug_inline_summary): Declare as DEBUG_FUNCTION.

From-SVN: r173234

13 years agore PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
Jerry DeLisle [Sun, 1 May 2011 12:37:05 +0000 (12:37 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)

2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48787
* gfortran.dg/round_3.f08: Add more checks.

From-SVN: r173233

13 years agoreginfo.c (memory_move_cost): Change rclass argument type form 'enum reg_class' to...
Anatoly Sokolov [Sun, 1 May 2011 12:33:13 +0000 (16:33 +0400)]
reginfo.c (memory_move_cost): Change rclass argument type form 'enum reg_class' to reg_class_t.

* reginfo.c (memory_move_cost): Change rclass argument type form
'enum reg_class' to reg_class_t.
* reload.h (memory_move_cost): Update prototype.
* postreload.c reload_cse_simplify_set): Change type dclass var to
reg_class_t.
* ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
Update prototype.
(ira_allocate_and_set_costs): Change aclass argument type form
'enum reg_class' to reg_class_t.
* ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
Change aclass argument type to reg_class_t.
(update_conflict_hard_reg_costs): Change type aclass and pref vars
to reg_class_t.
* gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
memory_move_cost call.

* config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
Change type tmp var to reg_class_t.

From-SVN: r173232

13 years agore PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)
Jerry DeLisle [Sun, 1 May 2011 12:32:18 +0000 (12:32 +0000)]
re PR libfortran/48787 (Invalid UP/DOWN rounding with F editing)

2011-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48787
* io/write_float.def (output_float): Gather up integer declarations and
add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
everywhere. For ROUND_UP scan the digit string and only perform
rounding if something other than '0' is found.

From-SVN: r173231

13 years agoDaily bump.
GCC Administrator [Sun, 1 May 2011 00:18:21 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r173229

13 years agognatvsn.ads (Library_Version): Bump to 4.7.
Eric Botcazou [Sat, 30 Apr 2011 21:16:34 +0000 (21:16 +0000)]
gnatvsn.ads (Library_Version): Bump to 4.7.

* gnatvsn.ads (Library_Version): Bump to 4.7.
(Current_Year): Bump to 2011.

From-SVN: r173224

13 years agodump-prase-tree.c (show_code_node): Set the current namespace to the BLOCK before...
Thomas Koenig [Sat, 30 Apr 2011 21:13:44 +0000 (21:13 +0000)]
dump-prase-tree.c (show_code_node): Set the current namespace to the BLOCK before displaying it; restore afterwards.

2011-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

* dump-prase-tree.c (show_code_node):  Set the current
namespace to the BLOCK before displaying it; restore
afterwards.

From-SVN: r173223

13 years ago[multiple changes]
Paolo Carlini [Sat, 30 Apr 2011 19:40:06 +0000 (19:40 +0000)]
[multiple changes]

2011-04-30  Daniel Krugler  <daniel.kruegler@googlemail.com>

* include/std/type_traits (__is_default_constructible_atom,
__is_default_constructible_safe<, true>,
__is_direct_constructible_new_safe,
__is_base_to_derived_ref<,, true>, __is_lvalue_to_rvalue_ref<,, true>,
__is_direct_constructible_ref_cast, __is_direct_constructible,
__is_nary_constructible): Simplify; add comments throughout.

2011-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r173222

13 years agore PR fortran/48821 (IMPORT :: dummy_arg is rejected, while "IMPORT" imports it)
Tobias Burnus [Sat, 30 Apr 2011 16:33:47 +0000 (18:33 +0200)]
re PR fortran/48821 (IMPORT :: dummy_arg  is rejected, while "IMPORT" imports it)

2011-04-30  Tobias Burnus  <burnus@net-b.de>

       PR fortran/48821
       * gfortran.dg/import9.f90: New, proper test.
       * gfortran.dg/interface_37.f90: Remove bogus
       test (bogus copy of interface_36.f90).

From-SVN: r173221

13 years agoMakefile.am (install-freestanding-headers): Also install cxxabi_tweaks.h.
Doug Kwan [Sat, 30 Apr 2011 16:26:23 +0000 (16:26 +0000)]
Makefile.am (install-freestanding-headers): Also install cxxabi_tweaks.h.

2011-04-30  Doug Kwan  <dougkwan@google.com>

* include/Makefile.am (install-freestanding-headers): Also install
cxxabi_tweaks.h.
* include/Makefile.in: Regenerate.

From-SVN: r173220

13 years agore PR fortran/48800 (ICE with non-allocatable/pointer deferred-shape array)
Tobias Burnus [Sat, 30 Apr 2011 15:54:49 +0000 (17:54 +0200)]
re PR fortran/48800 (ICE with non-allocatable/pointer deferred-shape array)

2011-04-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48800
        * decl.c (gfc_match_import): Don't try to find the
        symbol if already found.

2011-04-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48800
        * gfortran.dg/interface_37.f90: New.

From-SVN: r173219

13 years agocp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
Diego Novillo [Sat, 30 Apr 2011 15:20:58 +0000 (11:20 -0400)]
cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.

cp/ChangeLog
2011-04-29  Le-Chun Wu  <lcwu@google.com>

* cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
* call.c (build_new_function_call): Set it for TEMPLATE_ID_EXPRs.
(build_over_call): Use it to determine whether to emit a NULL
warning for template function instantiations.
(build_new_method_call): Set LOOKUP_EXPLICIT_TMPL_ARGS if
EXPLICIT_TARGS is set.

2011-04-29  Diego Novillo  <dnovillo@google.com>
    Le-Chun Wu  <lcwu@google.com>

* call.c (conversion_null_warnings): Also handle assignments
when warning about NULL conversions.

testsuite/ChangeLog
2011-04-29  Le-Chun Wu  <lcwu@google.com>

* g++.dg/warn/Wnull-conversion-1.C: New.
* g++.dg/warn/Wnull-conversion-2.C: New.

2011-04-29  Le-Chun Wu  <lcwu@google.com>

* g++.dg/warn/Wconversion-null-2.C: Do not expect a NULL
  warning in implicitly instantiated templates.

2011-04-29  Diego Novillo  <dnovillo@google.com>

* g++.old-deja/g++.other/null3.C: Expect warning about converting
boolean to a pointer.

From-SVN: r173217

13 years agoipa-inline.c (can_inline_edge_p): Disregard limits when inlining into function with...
Jan Hubicka [Sat, 30 Apr 2011 14:08:03 +0000 (16:08 +0200)]
ipa-inline.c (can_inline_edge_p): Disregard limits when inlining into function with flatten attribute.

* ipa-inline.c (can_inline_edge_p): Disregard limits when
inlining into function with flatten attribute.
(want_inline_small_function_p): Be more realistic about inlining
cold calls where callee size grows.

From-SVN: r173216

13 years agocgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor flags.
Jan Hubicka [Sat, 30 Apr 2011 14:07:06 +0000 (16:07 +0200)]
cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor flags.

* cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
flags.

From-SVN: r173215

13 years agore PR fortran/48746 (Matmul with allocate on assignment)
Paul Thomas [Sat, 30 Apr 2011 11:46:31 +0000 (11:46 +0000)]
re PR fortran/48746 (Matmul with allocate on assignment)

2011-04-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48746
* trans-expr.c (fcncall_realloc_result): Set the bounds and the
offset so that the lbounds are one.
(gfc_trans_arrayfunc_assign): Add rank to arguments of above.

2011-04-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48746
* gfortran.dg/realloc_on_assign_7.f03: Test bounds.

From-SVN: r173213

13 years agosparc.h (PRINT_OPERAND, [...]): Remove.
Anatoly Sokolov [Sat, 30 Apr 2011 11:17:56 +0000 (15:17 +0400)]
sparc.h (PRINT_OPERAND, [...]): Remove.

* config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove.
* config/sparc/sparc-protos.h (print_operand): Remove declaration.
* config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
(print_operand): Rename to...
(sparc_print_operand): ...this. Make static. Adjust
sparc_print_operand function call.
(sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
functions.

From-SVN: r173212

13 years agore PR middle-end/48752 (ICE in evaulate_conditions_for_edge at ipa-inline-analysis...
Jan Hubicka [Sat, 30 Apr 2011 11:01:26 +0000 (13:01 +0200)]
re PR middle-end/48752 (ICE in evaulate_conditions_for_edge at ipa-inline-analysis.c:466)

PR middle-end/48752
* ipa-inline.c (early_inliner): Disable when doing late
addition of function.

From-SVN: r173211

13 years agodwarf2.h (DW_OP_GNU_const_type, [...]): New.
Jakub Jelinek [Sat, 30 Apr 2011 10:06:18 +0000 (12:06 +0200)]
dwarf2.h (DW_OP_GNU_const_type, [...]): New.

* dwarf2.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): New.

* dwarf2out.c (get_address_mode): New inline.
(mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
if not dwarf_strict emit
DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
desirable.  Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
UNSIGNED_FLOAT, FIX and UNSIGNED_FIX.  Just return NULL for
FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
(dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
mem_loc_descriptor callers.
(dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
(base_types): New variable.
(get_base_type_offset, calc_base_type_die_sizes,
base_type_for_mode, mark_base_types, base_type_cmp,
move_marked_base_types): New functions.
(calc_die_sizes): Assert that die_offset is 0 or equal to
next_die_offset.
(loc_descriptor): Only handle here lowpart SUBREGs of REG, for
others defer to mem_loc_descriptor.  Adjust mem_loc_descriptor
callers.  If not dwarf_strict, call mem_loc_descriptor even for
non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
(gen_subprogram_die): Don't give up on call site parameters
with non-integral or large integral modes.  Adjust
mem_loc_descriptor callers.
(prune_unused_types): Call prune_unused_types_mark on base_types
vector entries.
(resolve_addr): Call mark_base_types.
(dwarf2out_finish): Call move_marked_base_types.

From-SVN: r173210

13 years agore PR testsuite/48809 (switch statement optimization error)
Jakub Jelinek [Sat, 30 Apr 2011 06:54:02 +0000 (08:54 +0200)]
re PR testsuite/48809 (switch statement optimization error)

PR tree-optimization/48809
* tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
type.
(gen_inbound_check): Don't compute index_expr - range_min in utype
again, instead reuse SSA_NAME initialized in build_arrays.
Remove two useless gsi_for_stmt calls.

* gcc.c-torture/execute/pr48809.c: New test.

From-SVN: r173207

13 years agotree-ssa-threadedge.c (thread_across_edge): Add missing return.
Jeff Law [Sat, 30 Apr 2011 03:46:17 +0000 (21:46 -0600)]
tree-ssa-threadedge.c (thread_across_edge): Add missing return.

  * tree-ssa-threadedge.c (thread_across_edge): Add missing return.

  * gcc.dg/tree-ssa/ssa-dom-thread-4.c: New test.

From-SVN: r173206

13 years agoDaily bump.
GCC Administrator [Sat, 30 Apr 2011 00:19:30 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173204

13 years agocgraph.h (cgraph_postorder): Remove declaration.
Martin Jambor [Fri, 29 Apr 2011 23:42:15 +0000 (01:42 +0200)]
cgraph.h (cgraph_postorder): Remove declaration.

2011-04-29  Martin Jambor  <mjambor@suse.cz>

* cgraph.h (cgraph_postorder): Remove declaration.
* ipa-utils.h (ipa_free_postorder_info): Declare.
(ipa_reverse_postorder): Likewise.
* cgraphunit.c: Include ipa-utils.h.
(cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
* ipa-inline.c: Include ipa-utils.h.
(ipa_inline): Update call to ipa_reverse_postorder.
* ipa-pure-const.c (propagate_pure_const): Update call to
ipa_reduced_postorder and ipa_print_order.  Call
ipa_free_postorder_info to clean up.
(propagate_nothrow): Likewise.
* ipa-reference.c (propagate): Removed a useless call to
ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
and ipa_print_order.  Call ipa_free_postorder_info to clean up.
* ipa.c: Include ipa-utils.h.
(ipa_profile): Update call to ipa_reverse_postorder.
(cgraph_postorder): Moved to...
* ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
(ipa_utils_print_order): Renamed to ipa_print_order.
(ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
comments.
(ipa_free_postorder_info): New function.
* passes.c: Include ipa-utils.h.
(do_per_function_toporder): Update call to ipa_reverse_postorder.
(ipa_write_summaries): Likewise.

* Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
(cgraphunit.o): Likewise.
(ipa.o): Likewise.
(ipa-inline.o): Likewise.

lto/
* lto.c: Include ipa-utils.h.
(lto_balanced_map): Update call to ipa_reverse_postorder.
* Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.

From-SVN: r173197

13 years agore PR c++/48606 (g++.dg/init/ctor9.C ICE: tree check: expected class 'type', have...
Paolo Carlini [Fri, 29 Apr 2011 22:03:40 +0000 (22:03 +0000)]
re PR c++/48606 (g++.dg/init/ctor9.C ICE: tree check: expected class 'type', have 'exceptional' (error_mark) with -fkeep-inline-functions)

/cp
2011-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48606
* init.c (perform_member_init): Check build_value_init return
value for error_mark_node.

/testsuite
2011-04-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48606
* g++.dg/init/ctor10.C: New.

From-SVN: r173194

13 years agoinline-10.c: New testcase.
Jan Hubicka [Fri, 29 Apr 2011 21:21:46 +0000 (23:21 +0200)]
inline-10.c: New testcase.

* gcc.dg/tree-ssa/inline-10.c: New testcase.
* gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
* ipa-inline.h (clause_t): Turn into unsigned int.
* ipa-inline-analysis.c (add_clause): Do more simplification.
(and_predicates): Shortcut more cases.
(predicates_equal_p): Move forward; check that clauses are properly
ordered.
(or_predicates): Shortcut more cases.
(edge_execution_predicate): Rewrite as...
(set_cond_stmt_execution_predicate): ... this function; handle
__builtin_constant_p.
(set_switch_stmt_execution_predicate): New .
(compute_bb_predicates): New.
(will_be_nonconstant_predicate): Update TODO.
(estimate_function_body_sizes): Use compute_bb_predicates
and free them later, always try to estimate if stmt is constant.
(estimate_time_after_inlining, estimate_size_after_inlining):
Gracefully handle optimized out edges.
(read_predicate): Fix off by one error.

From-SVN: r173190

13 years agore PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatabl...
Paul Thomas [Fri, 29 Apr 2011 20:26:56 +0000 (20:26 +0000)]
re PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatable Array)

2011-04-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48462
* trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
automatic reallocation when the lhs is a target.

PR fortran/48746
* trans-expr.c (fcncall_realloc_result): Make sure that the
result dtype field is set before the function call.

2011-04-29  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48462
* gfortran.dg/realloc_on_assign_7.f03: Modify to test for lhs
being a target.

PR fortran/48746
* gfortran.dg/realloc_on_assign_7.f03: Add subroutine pr48746.

From-SVN: r173185

13 years agore PR middle-end/48819 (350 execution failures in 64-bit libjava testsuite on SPARC)
Richard Guenther [Fri, 29 Apr 2011 19:36:12 +0000 (19:36 +0000)]
re PR middle-end/48819 (350 execution failures in 64-bit libjava testsuite on SPARC)

2011-04-29  Richard Guenther  <rguenther@suse.de>

PR middle-end/48819
* constants.c (build_constants_constructor): Use ptr_type_node for
temp.

From-SVN: r173183

13 years agolibgo http/cgi: Pass down environment variables for irix and solaris.
Ian Lance Taylor [Fri, 29 Apr 2011 17:53:53 +0000 (17:53 +0000)]
libgo http/cgi: Pass down environment variables for irix and solaris.

From-SVN: r173181

13 years agoIn gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Fri, 29 Apr 2011 17:31:51 +0000 (17:31 +0000)]
In gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/:
2011-04-29  Nicola Pero  <nicola.pero@meta-innovation.com>

* Makefile.in (ENABLE_MAINTAINER_RULES): New.

In gcc/cp/:
2011-04-29  Nicola Pero  <nicola.pero@meta-innovation.com>,
    Mike Stump <mikestump@comcast.net>

* Make-lang.in ($(srcdir)/cp/cfns.h): Enable the dependency only
in maintainer mode.  Use the --output-file option of gperf instead
of > to prevent creating an empty cp/cfns.h when gperf is not
available.

From-SVN: r173178

13 years agouse tls for ic vars
Xinliang David Li [Fri, 29 Apr 2011 17:13:23 +0000 (17:13 +0000)]
use tls for ic vars

From-SVN: r173177

13 years agore PR fortran/48810 ([OOP] TPB rejected because module procedure is private)
Tobias Burnus [Fri, 29 Apr 2011 16:49:53 +0000 (18:49 +0200)]
re PR fortran/48810 ([OOP] TPB rejected because module procedure is private)

2011-04-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48810
        * resolve.c (resolve_typebound_generic_call): Don't check access
        flags of the specific function.

        PR fortran/48800
        * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
        to AS_ASSUMED_SHAPE for function results.
        (resolve_fl_var_and_proc): Print also for function results with
        AS_DEFERRED an error, if they are not a pointer or allocatable.
        (resolve_types): Make sure arguments of procedures in interface
        blocks are resolved.

2011-04-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48810
        * gfortran.dg/typebound_proc_22.f90: New.

        PR fortran/48800
        * gfortran.dg/interface_36.f90: New.

From-SVN: r173175

13 years agoWhitespace fixes
Janne Blomqvist [Fri, 29 Apr 2011 16:11:36 +0000 (19:11 +0300)]
Whitespace fixes

From-SVN: r173173

13 years agoFix path handling
Janne Blomqvist [Fri, 29 Apr 2011 16:09:45 +0000 (19:09 +0300)]
Fix path handling

From-SVN: r173172

13 years agoPR 48488 Typo
Janne Blomqvist [Fri, 29 Apr 2011 16:06:48 +0000 (19:06 +0300)]
PR 48488 Typo

From-SVN: r173171

13 years agoPR 48488 Fix comments
Janne Blomqvist [Fri, 29 Apr 2011 16:03:54 +0000 (19:03 +0300)]
PR 48488 Fix comments

From-SVN: r173170

13 years agoPR 48488 Fix comments
Janne Blomqvist [Fri, 29 Apr 2011 15:58:20 +0000 (18:58 +0300)]
PR 48488 Fix comments

From-SVN: r173169

13 years agore PR libfortran/48488 (Wrong default format for real numbers)
Jerry DeLisle [Fri, 29 Apr 2011 15:08:57 +0000 (15:08 +0000)]
re PR libfortran/48488 (Wrong default format for real numbers)

2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48488
PR libgfortran/48602
PR libgfortran/48615
PR libgfortran/48684
PR libgfortran/48787
* gfortran.dg/fmt_g.f: Adjust test.
* gfortran.dg/fmt_g0_1.f08: Adjust test.
* gfortran.dg/round_3.f08: New test.
* gfortran.dg/namelist_print_1.f: Adjust test.
* gfortran.dg/char4_iunit_1.f03: Adjust test.
* gfortran.dg/f2003_io_5.f03: Adjust test.
* gfortran.dg/coarray_15.f90: Adjust test.
* gfortran.dg/namelist_65.f90: Adjust test.
* gfortran.dg/fmt_cache_1.f: Adjust test.
* gfortran.dg/char4_iunit_2.f03: Adjust test.
* gfortran.dg/real_const_3.f90: Adjust test.

From-SVN: r173168

13 years agobuiltins.c (fold_builtin_classify_type): Use integer_type_node for the type of the...
Richard Guenther [Fri, 29 Apr 2011 15:00:04 +0000 (15:00 +0000)]
builtins.c (fold_builtin_classify_type): Use integer_type_node for the type of the result.

2011-04-29  Richard Guenther  <rguenther@suse.de>

* builtins.c (fold_builtin_classify_type): Use integer_type_node
for the type of the result.
(fold_builtin_isascii): Likewise.
(fold_builtin_toascii): Use integer_type_node where appropriate.
(fold_builtin_logb): Likewise.
(fold_builtin_frexp): Likewise.
(fold_builtin_strstr): Likewise.
(fold_builtin_strpbrk): Likewise.
(fold_builtin_fputs): Likewise.
(fold_builtin_sprintf): Likewise.
(fold_builtin_snprintf): Likewise.
(fold_builtin_printf): Likewise.
(do_mpfr_remquo): Use a proper type for the assigned constant.
(do_mpfr_lgamma_r): Likewise.
* dwarf2out.c (resolve_one_addr): Use size_int.
* except.c (init_eh): Likewise.
(assign_filter_values): Use integer_type_node for filter values.
(sjlj_emit_dispatch_table): Use integer_type_node for dispatch
indices.
* tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
for EH region numbers.
* tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
for the shift amount.

From-SVN: r173167

13 years agore PR libfortran/48488 (Wrong default format for real numbers)
Jerry DeLisle [Fri, 29 Apr 2011 14:56:02 +0000 (14:56 +0000)]
re PR libfortran/48488 (Wrong default format for real numbers)

2011-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
    Janne Blomqvist  <jb@gcc.gnu.org>

PR libgfortran/48488
PR libgfortran/48602
PR libgfortran/48615
PR libgfortran/48684
PR libgfortran/48787
* io/write.c (write_d, write_e, write_f, write_en,
write_es): Add precision compemsation parameter to call.
(set_fnode_default): Adjust default widths to assure
round trip on write and read. (write_real): Adjust call to write_float.
(write_real_g0): Calculate compensation for extra precision and adjust
call to write_float.
* io/write_float.def (output_float_FMT_G_): Use volatile rather than
asm volatile to avoid optimization issue. Correctly calculate the
number of blanks (nb) to be appended and simplify calculation logic.
(write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
default widths. Eliminate the code that attempted to reduce the
the precision used in later sprintf functions.  Add call parameter to
compensate for extra precision.

Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>
From-SVN: r173166

13 years agoexpr.h (expand_shift): Rename to ...
Richard Guenther [Fri, 29 Apr 2011 14:20:41 +0000 (14:20 +0000)]
expr.h (expand_shift): Rename to ...

2011-04-29  Richard Guenther  <rguenther@suse.de>

* expr.h (expand_shift): Rename to ...
(expand_variable_shift): ... this.
(expand_shift): Take a constant shift amount.
* expmed.c (expand_shift): Rename to ...
(expand_variable_shift): ... this.
(expand_shift): New wrapper around expand_variable_shift.
* expr.c (convert_move, emit_group_load_1, emit_group_store,
optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
* expmed.c (store_fixed_bit_field, extract_bit_field_1,
extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
emit_store_flag_1, emit_store_flag): Likewise.
* builtins.c (expand_builtin_signbit): Likewise.
* calls.c (load_register_parameters): Likewise.
* function.c (assign_parm_setup_block): Likewise.
* lower-subreg.c (resolve_shift_zext): Likewise.
* optabs.c (widen_bswap, expand_abs_nojump,
expand_one_cmpl_abs_nojump, expand_float): Likewise.
* spu/spu.c (spu_expand_extv): Likewise.
* sparc/sparc.c (sparc32_initialize_trampoline): Likewise.

From-SVN: r173157

13 years agotree-inline.c (remap_eh_region_tree_nr): Use integer_type_node for the remapped regio...
Richard Guenther [Fri, 29 Apr 2011 13:11:18 +0000 (13:11 +0000)]
tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node for the remapped region number.

2011-04-29  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
for the remapped region number.
* predict.c (build_predict_expr): Use integer_type_node for the
predict kind.
* fold-const.c (fold_binary_loc): Use integer_type_node for
the shift amount.  Use a proper type for the PLUS_EXPR operand.

From-SVN: r173156

13 years agolto-streamer.c (lto_streamer_cache_insert_1): Accept to override other trees that...
Michael Matz [Fri, 29 Apr 2011 12:27:26 +0000 (12:27 +0000)]
lto-streamer.c (lto_streamer_cache_insert_1): Accept to override other trees that just builtins.

* lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
other trees that just builtins.
(lto_record_common_node): Don't leave NULL TYPE_CANONICAL.

lto/
* lto.c (toplevel): Include tree-flow.h.
(lto_read_in_decl_state): Don't merge types here.
(tree_with_vars): New static hash table.
(remember_with_vars): New static functions.
(LTO_FIXUP_TYPE): New macro.
(lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
(lto_read_decls): Uniquify while reading in trees.
(lto_fixup_data_t, LTO_FIXUP_SUBTREE,
LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
lto_fixup_tree): Remove.
(lto_fixup_state): Remove data argument.  Use
lto_symtab_prevailing_decl.
(LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
(lto_fixup_prevailing_decls): New function.
(lto_fixup_state_aux): Argument aux is unused.
(lto_fixup_decls): Don't allocate pointer sets, don't use
lto_fixup_tree, use lto_fixup_prevailing_decls.
(read_cgraph_and_symbols): Allocate and remove tree_with_vars.
* Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).

From-SVN: r173155

13 years agomisc.c (gnat_handle_option): Set warn_maybe_uninitialized.
Michael Matz [Fri, 29 Apr 2011 12:23:46 +0000 (12:23 +0000)]
misc.c (gnat_handle_option): Set warn_maybe_uninitialized.

ada/
* gcc-interface/misc.c (gnat_handle_option): Set
warn_maybe_uninitialized.

fortran/
* options.c (options.c): Set warn_maybe_uninitialized.

From-SVN: r173154

13 years agotree-nested.c (get_trampoline_type): Use size_int.
Richard Guenther [Fri, 29 Apr 2011 12:00:55 +0000 (12:00 +0000)]
tree-nested.c (get_trampoline_type): Use size_int.

2011-04-29  Richard Guenther  <rguenther@suse.de>

* tree-nested.c (get_trampoline_type): Use size_int.
(get_nl_goto_field): Likewise.
* tree-eh.c (lower_try_finally_switch): Use integer_type_node
for all indexes.
(lower_eh_constructs_2): Likewise.
(lower_resx): Likewise.
(lower_eh_dispatch): Likewise.
* tree-mudflap.c (mf_build_string): Use size_int.
(mudflap_register_call): Use integer_type_node for the flag.
(mudflap_enqueue_constant): Use size_int.
* tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
instead of rebuilding it.

From-SVN: r173153

13 years agotree-ssa-structalias.c (get_fi_for_callee): Restructure.
Richard Guenther [Fri, 29 Apr 2011 10:59:33 +0000 (10:59 +0000)]
tree-ssa-structalias.c (get_fi_for_callee): Restructure.

2011-04-29  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (get_fi_for_callee): Restructure.
Handle OBJ_TYPE_REF.
(find_func_aliases_for_call): Use it more consistently.

From-SVN: r173152

13 years agoosf.S (UA_SI, [...]): Define.
Rainer Orth [Fri, 29 Apr 2011 08:49:08 +0000 (08:49 +0000)]
osf.S (UA_SI, [...]): Define.

* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
Define.
Use them to handle ELF vs. ECOFF differences.
[__osf__] (_GLOBAL__F_ffi_call_osf): Define.

From-SVN: r173151

13 years agohaifa-sched.c (last_nondebug_scheduled_insn): New.
Alexandre Oliva [Fri, 29 Apr 2011 05:22:08 +0000 (05:22 +0000)]
haifa-sched.c (last_nondebug_scheduled_insn): New.

* haifa-sched.c (last_nondebug_scheduled_insn): New.
(rank_for_schedule): Use it.
(schedule_block): Set it.

From-SVN: r173150

13 years agosplit checksum into cfg checksum and line checksum
Xinliang David Li [Fri, 29 Apr 2011 00:19:35 +0000 (00:19 +0000)]
split checksum into cfg checksum and line checksum

From-SVN: r173147

13 years agoDaily bump.
GCC Administrator [Fri, 29 Apr 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r173146

13 years agors6000.c (rs6000_delegitimize_address): Handle unspec plus offset.
Alan Modra [Thu, 28 Apr 2011 23:28:56 +0000 (08:58 +0930)]
rs6000.c (rs6000_delegitimize_address): Handle unspec plus offset.

* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
unspec plus offset.  Tidy macho code.

From-SVN: r173141

13 years agocgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph node instead of a...
Martin Jambor [Thu, 28 Apr 2011 22:49:46 +0000 (00:49 +0200)]
cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph node instead of a decl.

2011-04-29  Martin Jambor  <mjambor@suse.cz>

* cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
node instead of a decl.  Update all callers.
* cgraph.h: Update declaration.

From-SVN: r173138

13 years agoupdate changelog #2
Michael Meissner [Thu, 28 Apr 2011 20:51:23 +0000 (20:51 +0000)]
update changelog #2

From-SVN: r173135

13 years agore PR tree-optimization/48765 (ICE in vect_transform_stmt)
Ira Rosen [Thu, 28 Apr 2011 19:50:28 +0000 (19:50 +0000)]
re PR tree-optimization/48765 (ICE in vect_transform_stmt)

        PR tree-optimization/48765
        * tree-vectorizer.h (vect_make_slp_decision): Return bool.
        * tree-vect-loop.c (vect_analyze_loop_operations): Add new
        argument to indicate if loop aware SLP is being used.  Scan
        the statements and update the vectorization factor
        according to the type of
        vectorization before statement analysis.
        (vect_analyze_loop_2): Get a return value from
        vect_make_slp_decision, pass it to
        vect_analyze_loop_operations.
        (vectorizable_reduction): Set number of copies to 1 in case of
        pure SLP statement.
        * tree-vect-stmts.c (vectorizable_conversion,
        vectorizable_assignment, vectorizable_shift,
        vectorizable_operation, vectorizable_type_demotion,
        vectorizable_type_promotion, vectorizable_store,
        vectorizable_load): Likewise.
        (vectorizable_condition): Move the check that it is not SLP
        vectorization before the number of copies check.
        * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if
        decided to vectorize the loop using SLP.

From-SVN: r173132

13 years agoupdate changelog
Michael Meissner [Thu, 28 Apr 2011 19:09:30 +0000 (19:09 +0000)]
update changelog

From-SVN: r173128

13 years agore PR tree-optimization/48775 (gcc.dg/pr48616.c FAILs on Tru64 UNIX)
Rainer Orth [Thu, 28 Apr 2011 18:31:52 +0000 (18:31 +0000)]
re PR tree-optimization/48775 (gcc.dg/pr48616.c FAILs on Tru64 UNIX)

PR tree-optimization/48775
* gcc.dg/pr48616.c: Also add -fno-common on alpha*-dec-osf*.

From-SVN: r173125

13 years agore PR c++/48798 (CV-qualified base class erroneously forbidden)
Paolo Carlini [Thu, 28 Apr 2011 18:12:29 +0000 (18:12 +0000)]
re PR c++/48798 (CV-qualified base class erroneously forbidden)

/cp
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48798
* semantics.c (finish_base_specifier): cv-qualified base class
is fine, per DR 484.

/testsuite
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48798
* g++.dg/inherit/pr48798.C: New.
* g++.old-deja/g++.other/base1.C: Adjust.

From-SVN: r173124

13 years agore PR c++/48656 ([C++0x] cannot call member function without object)
Dodji Seketeli [Thu, 28 Apr 2011 18:08:43 +0000 (18:08 +0000)]
re PR c++/48656 ([C++0x] cannot call member function without object)

Fix PR c++/48656

gcc/cp/

* semantics.c (finish_call_expr): Don't forget BASELINK nodes when
considering call expressions involving a member function.

gcc/testsuite/

* gcc/testsuite/g++.dg/template/inherit7.C: New test case.

From-SVN: r173123

13 years agore PR middle-end/48597 (x86-64 unwind register save location misses half-register...
Jakub Jelinek [Thu, 28 Apr 2011 17:01:02 +0000 (19:01 +0200)]
re PR middle-end/48597 (x86-64 unwind register save location misses half-register write?)

PR middle-end/48597
* final.c (final_scan_insn): Call dwarf2out_frame_debug even for
inline asm.

From-SVN: r173120

13 years ago* config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
Joseph Myers [Thu, 28 Apr 2011 16:49:49 +0000 (17:49 +0100)]
* config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
*-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
(i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
linux*.h headers.
* config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
Define.
* config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
* config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
* config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
* config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't
undefine.
* config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
REG_NAME.
* config/i386/linux.h (REG_NAME): Don't define.
* config/i386/linux64.h (REG_NAME): Don't define.
* config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
Undefine before defining.

From-SVN: r173119

13 years agoconfigure.ac (*-*-dragonfly*, [...]): Remove cases in libgcj-disabling case statement.
Joseph Myers [Thu, 28 Apr 2011 16:45:19 +0000 (17:45 +0100)]
configure.ac (*-*-dragonfly*, [...]): Remove cases in libgcj-disabling case statement.

* configure.ac (*-*-dragonfly*, *-*-freebsd*, *-*-netbsd*,
alpha*-dec-osf*, alpha*-*-linux*, alpha*-*-*, sh-*-linux*,
arm-*-elf* | arm*-*-eabi*, arm*-*-linux-gnueabi, frv-*-*): Remove
cases in libgcj-disabling case statement.
(hppa*64*-*-linux*): Set unsupported_languages instead of
disabling target-zlib.
(hppa*64*-*-*): Restrict case in libgcj-disabling case statement
to hppa*64*-*-hpux*.
(hppa*-*-*): Restrict case in libgcj-disabling case statement to
hppa*-*-hpux*.
(ia64*-*-elf*, ia64*-**-hpux*, i[[3456789]]86-*-elf,
i[[3456789]]86-*-linux*, *-*-cygwin*, i[[3456789]]86-*-interix*,
i[[3456789]]86-*-solaris2*, m32r-*-*, m68k-*-elf*, m68*-*-* |
fido-*-*, powerpc-*-eabi, powerpc-*-eabi* | powerpcle-*-eabi* |
powerpc-*-rtems*, mips*-*-linux*, mips*-*-*, sh-*-* | sh64-*-*,
sparc-*-elf*, sparc64-*-elf*, sparc-*-solaris* |
sparc64-*-solaris* | sparcv9-*-solaris*, *-*-linux* | *-*-gnu* |
*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu, *-*-*): Remove cases in
libgcj-disabling case statement.
* configure: Regenerate.

From-SVN: r173118

13 years agoipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names array.
Jan Hubicka [Thu, 28 Apr 2011 13:29:54 +0000 (15:29 +0200)]
ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names array.

* ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names
array.
(estimate_function_body_sizes): Build nonconstant_names array; handle
BUILT_IN_CONSTANT_P.

From-SVN: r173070

13 years agoconfigure.ac: Disable Java for targets not supporting libffi.
Joseph Myers [Thu, 28 Apr 2011 13:28:28 +0000 (14:28 +0100)]
configure.ac: Disable Java for targets not supporting libffi.

* configure.ac: Disable Java for targets not supporting libffi.
(*-*-chorusos, *-*-kaos*, am33_2.0-*-linux*, sh*-*-pe|mips*-*-pe):
Remove cases in Java-disabling statement.
(*arm-wince-pe): Change to arm-wince-pe.
(arc-*-*, arm-*-coff, arm-*-pe*, arm-*-riscix*, avr-*-*): Remove
cases in Java-disabling statement.
(bfin-*-*): Don't disable Java again.
(c4x-*-* | tic4x-*-*, tic54x-*-*, cr16-*-*, d10v-*-*, d30v-*-*,
fr30-*-elf*, moxie-*-*, h8300*-*-*, h8500-*-*, hppa1.1-*-osf* |
hppa1.1-*-bsd*, hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-openbsd*,
hppa*-*-pro*, i960-*-*, i[[3456789]]86-*-coff,
i[[3456789]]86-*-pe, i[[3456789]]86-*-sco3.2v5*,
i[[3456789]]86-*-sco*, i[[3456789]]86-*-sysv4*,
i[[3456789]]86-*-beos*, i[[3456789]]86-*-rdos*,
m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*): Remove cases in
Java-disabling statement.
(mmix-*-*): Don't disable Java again.
(mt-*-*, powerpc*-*-winnt* | powerpc*-*-pe*, powerpcle-*-solaris*,
powerpc-*-beos*, rs6000-*-lynxos*, rs6000-*-*, m68k-apollo-*,
microblaze*, mips*-sde-elf*, mips*-*-irix5*, mips*-*-bsd*,
sparclet-*-aout* | sparc86x-*-*, sparclite-*-*, sparc-*-sunos4*,
tic6x-*-*, v810-*-*, vax-*-*): Remove cases in Java-disabling
statement.
* configure: Regenerate.

From-SVN: r173069

13 years agoconfigure.ac: Separate cases disabling Java and Java libraries from general case...
Joseph Myers [Thu, 28 Apr 2011 13:23:08 +0000 (14:23 +0100)]
configure.ac: Separate cases disabling Java and Java libraries from general case over targets.

* configure.ac: Separate cases disabling Java and Java libraries
from general case over targets.
* configure: Regenerate.

From-SVN: r173068

13 years agore PR bootstrap/48804 (Bootstrap compare failure)
Richard Guenther [Thu, 28 Apr 2011 13:06:44 +0000 (13:06 +0000)]
re PR bootstrap/48804 (Bootstrap compare failure)

2011-04-28  Richard Guenther  <rguenther@suse.de>

PR bootstrap/48804
Revert
2011-04-28  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (solve_constraints): Build succ graph
as late as possible.

From-SVN: r173067

13 years ago2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Thu, 28 Apr 2011 10:55:56 +0000 (10:55 +0000)]
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

Revert unintended changes to include/parallel files.

From-SVN: r173066

13 years agore PR libstdc++/48760 (std::complex constructor buggy in the face of NaN's)
Paolo Carlini [Thu, 28 Apr 2011 10:52:17 +0000 (10:52 +0000)]
re PR libstdc++/48760 (std::complex constructor buggy in the face of NaN's)

2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48760
* include/std/complex (complex<float>::complex(float, float),
complex<double>::complex(double, double),
complex<long double>::complex(long double, long double)): Use
list-initialization in C++0x mode, initialize in the body in
C++03 mode.
* testsuite/26_numerics/complex/cons/48760.cc: New.
* testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.

2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/bitset (_Base_bitset(unsigned long long)): Minor
tweak, remove redundant round braces.

From-SVN: r173065

13 years agore PR tree-optimization/40052 (missed optimizations on (extended) logical types:...
Richard Guenther [Thu, 28 Apr 2011 09:55:41 +0000 (09:55 +0000)]
re PR tree-optimization/40052 (missed optimizations on (extended) logical types: (x | 1) --> 1)

2011-04-28  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/40052
PR tree-optimization/15347
* gcc.dg/tree-ssa/vrp57.c: New testcase.
* gcc.dg/pr15347.c: Likewise.

From-SVN: r173064

13 years agore PR c++/48530 ([C++0x][SFINAE] Hard errors with deleted d'tors)
Paolo Carlini [Thu, 28 Apr 2011 09:54:04 +0000 (09:54 +0000)]
re PR c++/48530 ([C++0x][SFINAE] Hard errors with deleted d'tors)

/cp
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48530
* tree.c (build_cplus_new): Check build_target_expr return
value for error_mark_node.

/testsuite
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48530
* g++.dg/cpp0x/sfinae18.C: New.

From-SVN: r173063

13 years agore PR c++/48771 ([C++0x] is_literal_type incorrect for references to non-literal...
Paolo Carlini [Thu, 28 Apr 2011 09:21:23 +0000 (09:21 +0000)]
re PR c++/48771 ([C++0x] is_literal_type incorrect for references to non-literal types)

/cp
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48771
* semantics.c (literal_type_p): Reference types are literal types,
per the FDIS.
(valid_type_in_constexpr_fundecl_p): Remove.
(is_valid_constexpr_fn): Adjust.

/testsuite
2011-04-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48771
* g++.dg/ext/is_literal_type1.C: New.

From-SVN: r173062

13 years agotree-ssa-structalias.c (dump_constraint): Don't end the line.
Richard Guenther [Thu, 28 Apr 2011 09:11:17 +0000 (09:11 +0000)]
tree-ssa-structalias.c (dump_constraint): Don't end the line.

2011-04-28  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (dump_constraint): Don't end the line.
(debug_constraint): Do it here.
(dump_constraints): And here.
(rewrite_constraints): And here.
(dump_constraint_edge): Remove.
(dump_constraint_graph): Rewrite to produce DOT output.
(solve_constraints): Build succ graph as late as possible.
Dump constraint graphs before and after solving.

From-SVN: r173061

13 years agotree-ssa-structalias.c (find_func_aliases_for_builtin_call): New function split out...
Richard Guenther [Thu, 28 Apr 2011 09:08:42 +0000 (09:08 +0000)]
tree-ssa-structalias.c (find_func_aliases_for_builtin_call): New function split out from ...

2011-04-28  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
New function split out from ...
(find_func_aliases): ... here.  Call it.
(find_func_aliases_for_call): Likewise.

From-SVN: r173060

13 years agore PR fortran/48112 (generic interface to external function in module)
Tobias Burnus [Thu, 28 Apr 2011 05:48:18 +0000 (07:48 +0200)]
re PR fortran/48112 (generic interface to external function in module)

2011-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48112
        * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
        function results only once.
        (resolve_symbol): Always resolve function results.

        PR fortran/48279
        * expr.c (gfc_check_vardef_context): Fix handling of generic
        EXPR_FUNCTION.
        * interface.c (check_interface0): Reject internal functions
        in generic interfaces, unless -std=gnu.

2011-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48112
        PR fortran/48279
        * gfortran.dg/interface_35.f90: New.
        * gfortran.dg/erfc_scaled_1.f90: Don't compile with -pedantic.
        * gfortran.dg/func_result_6.f90: Add dg-warning.
        * gfortran.dg/bessel_1.f90: Ditto.
        * gfortran.dg/hypot_1.f90: Ditto.
        * gfortran.dg/proc_ptr_comp_20.f90: Ditto.
        * gfortran.dg/proc_ptr_comp_21.f90: Ditto.
        * gfortran.dg/interface_assignment_4.f90: Ditto.

From-SVN: r173059

13 years agore PR libstdc++/48760 (std::complex constructor buggy in the face of NaN's)
Jason Merrill [Thu, 28 Apr 2011 01:53:53 +0000 (21:53 -0400)]
re PR libstdc++/48760 (std::complex constructor buggy in the face of NaN's)

PR libstdc++/48760
Implement list-initialization of _Complex.
* decl.c (reshape_init_r): Allow {real,imag} for _Complex.
(check_initializer): Likewise.
* call.c (build_complex_conv): New.
(implicit_conversion): Call it.
(convert_like_real): Handle it.
* typeck2.c (check_narrowing): Handle it.

From-SVN: r173058

13 years agoinit.c (build_vec_delete_1): Look for sfk_deleting_destructor to decide whether to...
Jason Merrill [Thu, 28 Apr 2011 01:53:43 +0000 (21:53 -0400)]
init.c (build_vec_delete_1): Look for sfk_deleting_destructor to decide whether to delete.

* init.c (build_vec_delete_1): Look for sfk_deleting_destructor to
decide whether to delete.
(build_vec_init): Pass sfk_complete_destructor.

From-SVN: r173057

13 years agore PR c++/40975 (ICE in copy_tree_r on array new)
Jason Merrill [Thu, 28 Apr 2011 01:53:34 +0000 (21:53 -0400)]
re PR c++/40975 (ICE in copy_tree_r on array new)

PR c++/40975
* cp-tree.def (VEC_INIT_EXPR): Add third operand.
* cp-tree.h (VEC_INIT_EXPR_NELTS): New.
* cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
* tree.c (build_vec_init_expr): Handle getting pointer/nelts.
(build_vec_init_elt): Don't expect an array type.
(build_array_copy): Adjust.
* init.c (perform_member_init): Adjust.
(build_new_1): Use build_vec_init_expr.

From-SVN: r173056

13 years agointernal-fn.h (internal_fn_name_array): Declare.
Gabriel Dos Reis [Thu, 28 Apr 2011 01:25:01 +0000 (01:25 +0000)]
internal-fn.h (internal_fn_name_array): Declare.

* internal-fn.h (internal_fn_name_array): Declare.
(internal_fn_flags_array): Likewise.

From-SVN: r173055

13 years agoDaily bump.
GCC Administrator [Thu, 28 Apr 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r173054

13 years agore PR fortran/48788 (ICE: SIGSEGV in resolve_global_procedure (resolve.c:2190) on...
Tobias Burnus [Wed, 27 Apr 2011 20:32:21 +0000 (22:32 +0200)]
re PR fortran/48788 (ICE: SIGSEGV in resolve_global_procedure (resolve.c:2190) on invalid (?) fortran code)

2011-04-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48788
        * resolve.c (resolve_global_procedure): Error recovery -
        avoid segfault for (non)character-returning functions.

2011-04-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48788
        * gfortran.dg/whole_file_34.f90: New.

From-SVN: r173048

13 years agomove.h (move_if_noexcept): Add.
Paolo Carlini [Wed, 27 Apr 2011 18:37:32 +0000 (18:37 +0000)]
move.h (move_if_noexcept): Add.

2011-04-27  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/move.h (move_if_noexcept): Add.
* testsuite/20_util/move_if_noexcept/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/move_if_noexcept/1.cc: Likewise.

From-SVN: r173044

13 years agoi386.md (ssemodesuffix): Merge with ssevecsize, ssemodefsuffix, ssescalarmodesuffix...
Uros Bizjak [Wed, 27 Apr 2011 18:21:22 +0000 (20:21 +0200)]
i386.md (ssemodesuffix): Merge with ssevecsize, ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.

* config/i386/i386.md (ssemodesuffix):  Merge with ssevecsize,
ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
Move from sse.md.
(ssemodefsuffix): Remove.
(ssevecmodesuffix): New mode attribute.
(fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
*sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
*ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
ssemodesuffix mode attribute.
(float splitters): Use ssevecmodesuffix mode attribute.
* config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
(sseinsmode): Rename from avxvecmode.
(avxsizesuffix): Rename from avxmodesuffix.
(sseintvecmode): Rename from avxpermvecmode.
(ssedoublevecmode): Rename from ssedoublesizemode.
(ssehalfvecmode): Rename from avxhalfvecmode.
(ssescalarmode): Rename from avxscalarmode.
(<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
templates for ssemodesuffix mode attribute.
(*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
mode attribute.

Adjust RTX patterns globally for renamed mode attributes.

From-SVN: r173043

13 years agoinline-9.c: New testcase.
Jan Hubicka [Wed, 27 Apr 2011 17:28:51 +0000 (17:28 +0000)]
inline-9.c: New testcase.

* testsuite/gcc.dg/tree-ssa/inline-9.c: New testcase.
* ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
* ipa-inline-analysis.c: Include alloc-pool.h.
(edge_predicate_pool): New.
(trye_predicate_p): New function
(false_predicate_p): New function.
(add_clause): Sanity check that false clauses are "optimized";
never add clauses to predicate that is already known to be false.
(and_predicate): Use flase_predicate_p.
(evaulate_predicate): Rename to ...
(evaluate_predicate): ... this one; update all callers; assert
that false is not listed among possible truths.
(dump_predicate): Use true_predicate_p.
(account_size_time): Use false_predicate_p.
(evaulate_conditions_for_edge): Rename to ...
(evaluate_conditions_for_edge) ... this one.
(edge_set_predicate): New function.
(inline_edge_duplication_hook): Duplicate edge predicates.
(inline_edge_removal_hook): Free edge predicates.
(dump_inline_edge_summary): Add INFO parameter; dump
edge predicates.
(dump_inline_summary): Update.
(estimate_function_body_sizes): Set edge predicates.
(estimate_calls_size_and_time): Handle predicates.
(estimate_callee_size_and_time): Update.
(remap_predicate): Add toplev_predicate; update comment.
(remap_edge_predicates): New function.
(inline_merge_summary): Compute toplev predicate; update.
(read_predicate): New function.
(read_inline_edge_summary): Use it.
(inline_read_section): Likewise.
(write_predicate): New function.
(write_inline_edge_summary): Use it.
(inline_write_summary): Likewise.
(inline_free_summary): Free alloc pool and edge summary vec.

From-SVN: r173042

13 years agotree-ssa-structalias.c (changed_count): Remove.
Richard Guenther [Wed, 27 Apr 2011 16:06:21 +0000 (16:06 +0000)]
tree-ssa-structalias.c (changed_count): Remove.

2011-04-27  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (changed_count): Remove.
(changed): Use a bitmap.
(unify_nodes): Adjust.
(do_sd_constraint): Likewise.
(do_ds_constraint): Likewise.
(do_complex_constraint): Likewise.
(solve_graph): Likewise.

From-SVN: r173040

13 years ago* cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
Jan Hubicka [Wed, 27 Apr 2011 16:03:03 +0000 (18:03 +0200)]
* cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.

From-SVN: r173039

13 years agoclass.c (resolve_address_of_overloaded_function): Don't change OVERLOAD to TREE_LIST.
Jason Merrill [Wed, 27 Apr 2011 15:56:56 +0000 (11:56 -0400)]
class.c (resolve_address_of_overloaded_function): Don't change OVERLOAD to TREE_LIST.

* class.c (resolve_address_of_overloaded_function): Don't
change OVERLOAD to TREE_LIST.
* pt.c (print_candidates_1): Remove nonsensical assert.

From-SVN: r173037

13 years agore PR c++/48046 (Expected diagnostic "reference to 'type' is ambiguous" not given...
Jason Merrill [Wed, 27 Apr 2011 15:56:46 +0000 (11:56 -0400)]
re PR c++/48046 (Expected diagnostic "reference to  'type' is ambiguous" not given for function-local static declaration)

PR c++/48046
* parser.c (cp_parser_diagnose_invalid_type_name): Commit
to tentative parse sooner.

From-SVN: r173036

13 years ago20020312-2.c: Add definition for RX.
Nick Clifton [Wed, 27 Apr 2011 14:58:21 +0000 (14:58 +0000)]
20020312-2.c: Add definition for RX.

* gcc.dg/20020312-2.c: Add definition for RX.

* lib/target-supports.exp (add_options_for_ieee): Use -mnofpu
option with RX targets.

* gcc.target/rx/pack.c: Replace C++ style // comments with C style
/* */ comments.

From-SVN: r173034

13 years agopredicates.md (avx_vpermilp_*_operand): Remove.
Uros Bizjak [Wed, 27 Apr 2011 14:18:25 +0000 (16:18 +0200)]
predicates.md (avx_vpermilp_*_operand): Remove.

* config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
(avx_vperm2f128_*_operand): Ditto.
* config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
Use avx_vpermilp_parallel in insn condition.
(*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
Use avx_vperm2f128_parallel in insn condition.

From-SVN: r173031

13 years agoMakefile.in (tree-ssa-structalias.o): Remove gt-tree-ssa-structalias.h dependency.
Richard Guenther [Wed, 27 Apr 2011 14:16:49 +0000 (14:16 +0000)]
Makefile.in (tree-ssa-structalias.o): Remove gt-tree-ssa-structalias.h dependency.

2011-04-27  Richard Guenther  <rguenther@suse.de>

* Makefile.in (tree-ssa-structalias.o): Remove
gt-tree-ssa-structalias.h dependency.
(GTFILES): Remove tree-ssa-structalias.c.
* tree.c (allocate_decl_uid): New function.
(make_node_stat): Use it.
(copy_node_stat): Likewise.
* tree.h (allocate_decl_uid): Declare.
* tree-ssa-alias.h (delete_alias_heapvars): Remove.
* tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
* tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
* tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar
flag.
* tree-ssa-structalias.c (heapvar_for_stmt): Remove.
(struct heapvar_map): Likewise.
(heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
heapvar_insert): Likewise.
(make_heapvar_for): Rename to ...
(make_heapvar): ... this.  Simplify.
(fake_var_decl_obstack): New global var.
(build_fake_var_decl): New function.
(make_constraint_from_heapvar): Adjust.
(handle_lhs_call): Likewise.
(create_function_info_for): Likewise.
(intra_create_variable_infos): Likewise.
(init_alias_vars): Allocate fake_var_decl_obstack.
(init_alias_heapvars, delete_alias_heapvars): Remove.
(compute_points_to_sets): Do not call init_alias_heapvars.
(ipa_pta_execute): Likewise.
(delete_points_to_sets): Free fake_var_decl_obstack.

* gcc.dg/tree-ssa/pr23382.c: Remove.

From-SVN: r173030

13 years agodivmovti4.c (union qword_UTItype): New data type.
Ulrich Weigand [Wed, 27 Apr 2011 13:10:17 +0000 (13:10 +0000)]
divmovti4.c (union qword_UTItype): New data type.

* config/spu/divmovti4.c (union qword_UTItype): New data type.
(si_from_UTItype, si_to_UTItype): New functions.
(__udivmodti4): Use them to implement type-punning.
* config/spu/multi3.c (union qword_TItype): New data type.
(si_from_TItype, si_to_TItype): New functions.
(__multi3): Use them to implement type-punning.

From-SVN: r173029