Uros Bizjak [Mon, 28 Apr 2008 07:52:01 +0000 (09:52 +0200)]
re PR target/36064 (could not split insn with -O1 -march=nocona -m32)
PR target/36064
* config/i386/i386.md (floatdi<X87MODEF:mode>2_i387_with_xmm splitters):
Use match_scratch instead of match_operand for operands 3 and 4.
testsuite/ChangeLog:
PR target/36064
* gcc.target/i386/pr36064.c: New test.
From-SVN: r134744
Uros Bizjak [Mon, 28 Apr 2008 07:42:12 +0000 (09:42 +0200)]
re PR testsuite/36056 (g++.dg/ext/vector14.C doesn't work for ia32)
PR testsuite/36056
* g++.dg/ext/vector14.C: Add -msse for 32bit x86 targets.
From-SVN: r134743
GCC Administrator [Mon, 28 Apr 2008 00:17:40 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r134734
Richard Guenther [Sun, 27 Apr 2008 16:27:08 +0000 (16:27 +0000)]
re PR tree-optimization/18754 (unrolling happens too late/SRA does not happen late enough)
2008-04-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/18754
PR tree-optimization/34223
* tree-pass.h (pass_complete_unrolli): Declare.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Print
loop size before and after unconditionally of UL_NO_GROWTH in effect.
Rewrite loop into loop closed SSA form if it is not already.
(tree_unroll_loops_completely): Re-structure to iterate over
innermost loops with intermediate CFG cleanups.
Unroll outermost loops only if requested or the code does not grow
doing so.
* tree-ssa-loop.c (gate_tree_vectorize): Don't shortcut if no
loops are available.
(tree_vectorize): Instead do so here.
(tree_complete_unroll): Also unroll outermost loops.
(tree_complete_unroll_inner): New function.
(gate_tree_complete_unroll_inner): Likewise.
(pass_complete_unrolli): New pass.
* tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
uses outside of the loop.
(tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
form if it is available.
* tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
* passes.c (init_optimization_passes): Schedule complete inner
loop unrolling pass before the first CCP pass after final inlining.
* gcc.dg/tree-ssa/loop-36.c: New testcase.
* gcc.dg/tree-ssa/loop-37.c: Likewise.
* gcc.dg/vect/vect-118.c: Likewise.
* gcc.dg/Wunreachable-8.c: XFAIL bogus warning.
* gcc.dg/vect/vect-66.c: Increase loop trip count.
* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-69.c: Likewise.
* gcc.dg/vect/vect-76.c: Likewise.
* gcc.dg/vect/vect-outer-6.c: Likewise.
* gcc.dg/vect/vect-outer-1.c: Likewise.
* gcc.dg/vect/vect-outer-1a.c: Likewise.
* gcc.dg/vect/vect-11a.c: Likewise.
* gcc.dg/vect/vect-shift-1.c: Likewise.
* gcc.target/i386/vectorize1.c: Likewise.
From-SVN: r134730
Nathan Sidwell [Sun, 27 Apr 2008 15:35:19 +0000 (15:35 +0000)]
targhooks.h (default_emutls_var_fields, [...]): Declare.
* targhooks.h (default_emutls_var_fields,
default_emutls_var_init): Declare.
* tree.h (DECL_THREAD_LOCAL): Compare against TLS_MODEL_REAL.
* target.h (struct gcc_target): Add struct emutls member.
* target-def.h (TARGET_EMUTLS_GET_ADDRESS,
TARGET_EMUTLS_REGISTER_COMMON, TARGET_EMUTLS_VAR_SECTION,
TARGET_EMUTLS_TMPL_SECTION, TARGET_EMUTLS_VAR_PREFIX,
TARGET_EMUTLS_TMPL_PREFIX, TARGET_EMUTLS_VAR_FIELDS,
TARGET_EMUTLS_VAR_INIT, TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS,
TARGET_EMUTLS_VAR_ALIGN_FIXED, TARGET_EMUTLS): New.
(TARGET_INITIALIZER): Add TARGET_EMUTLS.
* builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS,
BUILT_IN_EMUTLS_REGISTER_COMMON): Get name from targetm structure.
* dwarf2out.c (loc_descriptor_from_tree_1): Check if emutls can
emit debug information.
* coretypes.h (tls_model): Add TLS_MODEL_EMULATED, TLS_MODEL_REAL.
* varasm.c: Include targhooks.h.
(emutls_object_section, emutls_tmpl_section): New.
(EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): Remove.
(EMUTLS_SEPARATOR): New.
(prefix_name): New.
(get_emutls_object_name): New.
(default_emutls_var_fields): New, broken out of ...
(get_emutls_object_type): ... here. Adjust to use target hooks.
(get_emutls_init_templ_addr): Adjust to use target hooks.
(emutls_decl): Adjust to use target hooks.
(emutls_finish): Likewise.
(default_emutls_var_init): New, broken out of ...
(assemble_variable): ... here. Adjust to use target hooks.
* output.h (enum section_category): Add SECCAT_EMUTLS_VAR,
SECCAT_EMUTLS_TMPL.
* c-common.c (handle_section_attribute): Prevent overriding
sections for emulated tls with special sections.
* config/i386/i386.c (x86_64_elf_select_section): Add
SECCAT_EMUTLS_VAR and SECCAT_EMUTLS_TMPL.
(x86_64_elf_unique_section): Likewise.
* config/vxworks.c: Include tree.h.
(vxworks_emutls_var_fields, vxworks_emutls_var_init): New.
(vxworks_override_options): Set TLS scheme.
* gcc/doc/tm.texi (Emulated TLS): New node.
gcc/testsuite/
* gcc.dg/tls/section-2.c: New.
* gcc.dg/tls/emutls-1.c: New.
* lib/target-supports.exp (check_effective_target_tls_native):
Exclude vxworks.
From-SVN: r134729
GCC Administrator [Sun, 27 Apr 2008 00:18:13 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r134721
H.J. Lu [Sat, 26 Apr 2008 19:14:46 +0000 (12:14 -0700)]
re PR testsuite/36053 (ERROR: tcl error sourcing gcc/gcc/testsuite/gcc.dg/dg.exp)
2008-04-26 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/36053
* gcc.dg/large-size-array-2.c: Fix x86_64-*-mingw* check.
* gcc.dg/large-size-array-4.c: Likewise.
From-SVN: r134716
Simon Baldwin [Sat, 26 Apr 2008 16:59:38 +0000 (16:59 +0000)]
re PR c++/35652 (offset warning should be given in the front-end)
PR c/35652
* builtins.c (c_strlen): Suppressed multiple warnings that can occur
with propagated string constants.
From-SVN: r134714
Uros Bizjak [Sat, 26 Apr 2008 13:43:13 +0000 (15:43 +0200)]
i386.md (fix_trunc<mode>_i387_fisttp_with_temp): Use 'X' constraint for operand 2 when operand 0 is memory operand.
* config/i386/i386.md (fix_trunc<mode>_i387_fisttp_with_temp): Use 'X'
constraint for operand 2 when operand 0 is memory operand.
(fix_truncdi_i387_with_temp): : Use 'X' constraint for operand 4 when
operand 0 is memory operand.
(fix_trunc<mode>_i387_with_temp): Ditto.
(*floatsi<mode>2_vector_mixed_with_temp): Use 'X' constraint for
operand 2 when operand 1 is memory operand.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_with_temp): Ditto.
(*floatsi<mode>2_vector_sse_with_temp): Ditto.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_with_temp): Ditto.
(*float<SSEMODEI24:mode><X87MODEF:mode>2_i387_with_temp): Ditto.
(floatdi<X87MODEF:mode>2_i387_with_xmm): Use 'X' constraint for
operands 2,3 and 4 when operand 1 is memory operand.
(fistdi2_with_temp): Use 'X' constraint for operand 2 when operand 0
is memory operand.
(fistdi2_floor_with_temp): Ditto.
(fist<mode>2_floor_with_temp): Ditto.
(fistdi2_ceil_with_temp): Ditto.
(fist<mode>2_ceil_with_temp): Ditto.
(*truncdfsf_fast_mixed): Merge alternatives 0 and 1.
From-SVN: r134697
George Helffrich [Sat, 26 Apr 2008 09:46:01 +0000 (09:46 +0000)]
re PR fortran/35892 (gfortran lost memory blocks)
2008-04-26 George Helffrich <george@gcc.gnu.org>
PR fortran/35892
PR fortran/35154
* fortran/trans-common.c (create_common): Add decl to function
chain (if inside one) to preserve identifier scope in debug output.
* testsuite/gfortran.dg/debug/pr35154-stabs.f: New test case for
.stabs functionality.
* testsuite/gfortran.dg/debug/pr35154-dwarf2.f: New test case for
DWARF functionality.
From-SVN: r134696
Richard Sandiford [Sat, 26 Apr 2008 07:40:04 +0000 (07:40 +0000)]
mips.md (UNSPEC_COMPARE_AND_SWAP_12): New unspec_volitile.
gcc/
2008-04-23 David Daney <ddaney@avtrex.com>
* config/mips/mips.md (UNSPEC_COMPARE_AND_SWAP_12): New
unspec_volitile.
(UNSPEC_SYNC_OLD_OP, UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_EXCHANGE,
UNSPEC_MEMORY_BARRIER, UNSPEC_SET_GOT_VERSION,
UNSPEC_UPDATE_GOT_VERSION): Renumber.
(sync_compare_and_swap<mode>): New expand for QI and HI modes.
(compare_and_swap_12): New insn.
* config/mips/mips-protos.h (mips_expand_compare_and_swap_12): Declare.
* config/mips/mips.c (mips_force_binary): New function.
(mips_emit_int_order_test, mips_expand_synci_loop): Use it.
(mips_expand_compare_and_swap_12): New function.
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP_12): New macro.
gcc/testsuite/
* gcc.target/mips/gcc-have-sync-compare-and-swap-1.c: Expect
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 and
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 to be defined.
* gcc.target/mips/gcc-have-sync-compare-and-swap-2.c: Likewise.
From-SVN: r134695
Benjamin Kosnik [Sat, 26 Apr 2008 02:21:37 +0000 (02:21 +0000)]
re PR libstdc++/35922 (std::unordered_map missing in debug mode)
2008-04-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/35922
* include/std/unordered_map: Include debug/unordered_map if
_GLIBCXX_DEBUG.
* testsuite/23_containers/unordered_map/requirements/debug.cc: Move...
* testsuite/23_containers/unordered_map/requirements/
debug_container.cc: ...here.
* testsuite/23_containers/unordered_map/requirements/debug_mode.cc: New.
* testsuite/23_containers/unordered_set/requirements/debug.cc: Move...
* testsuite/23_containers/unordered_set/requirements/
debug_container.cc: ...here.
* testsuite/23_containers/unordered_set/requirements/debug_mode.cc: New.
From-SVN: r134693
Kai Tietz [Sat, 26 Apr 2008 00:44:18 +0000 (02:44 +0200)]
Revert my patch for mingw32.
From-SVN: r134692
Kai Tietz [Sat, 26 Apr 2008 00:31:18 +0000 (00:31 +0000)]
mingw32.h (SUBTARGET_INIT_BUILTINS): New.
2008-04-25 Kai Tietz <kai.tietz@onevision.com>
* config/i386/mingw32.h (SUBTARGET_INIT_BUILTINS): New.
* config/i386/i386.c (ix86_init_builtins): Use of
SUBTARGET_INIT_BUILTINS.
Add include of c-common.h for builtin.
From-SVN: r134691
GCC Administrator [Sat, 26 Apr 2008 00:17:41 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r134689
Kai Tietz [Sat, 26 Apr 2008 00:16:36 +0000 (02:16 +0200)]
Fixed second typo.
From-SVN: r134686
Kai Tietz [Sat, 26 Apr 2008 00:06:28 +0000 (02:06 +0200)]
fixincl.c (fix_with_system): Fixed typo.
2008-04-25 Kai Tietz <kai.tietz@onevision.com>
* fixincl.c (fix_with_system): Fixed typo.
From-SVN: r134684
Kai Tietz [Fri, 25 Apr 2008 23:25:26 +0000 (23:25 +0000)]
mingw32.h (SUBTARGET_INIT_BUILTINS): New.
2008-04-25 Kai Tietz <kai.tietz@onevision.com>
* config/i386/mingw32.h (SUBTARGET_INIT_BUILTINS): New.
* config/i386/i386.c (ix86_init_builtins): Use of
SUBTARGET_INIT_BUILTINS.
From-SVN: r134683
Jan Hubicka [Fri, 25 Apr 2008 23:14:40 +0000 (01:14 +0200)]
re PR testsuite/35843 (-fdump-rtl-expand does not exist anymore)
PR testsuite/35843
* cfgexpand.c (pass_expand): Turn into RTL pass.
* passes.c (execute_one_pass): Do pass typechecking after execution.
* tree-pass.h (pass_expand): Turn into RTL pass.
* function.h (struct rtl_data): Move here fields
accesses_prior_frames, calls_eh_return, saves_all_registers,
has_nonlocal_goto, has_asm_statement, is_thunk,
all_throwers_are_sibcalls, limit_stack, profile, uses_const_pool,
uses_pic_offset_table, uses_eh_lsda, tail_call_emit,
arg_pointer_save_area_init from struct function; turn into bool.
(struct function): Move
calls_eh_return, saves_all_registers, has_nonlocal_goto,
has_asm_statement, is_thunk, all_throwers_are_sibcalls, limit_stack,
profile, uses_const_pool, uses_pic_offset_table, uses_eh_lsda,
tail_call_emit, arg_pointer_save_area_init
into struct rtl_data. Remove recursive_call_emit and gimplified flags.
(current_function_returns_struct, current_function_returns_pcc_struct,
current_function_calls_setjmp, current_function_calls_alloca,
current_function_accesses_prior_frames,
current_function_calls_eh_return, current_function_is_thunk,
current_function_stdarg, current_function_profile,
current_function_limit_stack, current_function_uses_pic_offset_table,
current_function_uses_const_pool, current_function_has_nonlocal_label,
current_function_saves_all_registers,
current_function_has_nonlocal_goto,
current_function_has_asm_statement): Remove accesor macros.
* ra-conflict.c (global_conflicts): Update.
* tree-tailcall.c (suitable_for_tail_opt_p): Update.
(suitable_for_tail_call_opt_p): Update.
* builtins.c (expand_builtin_return_addr): Update.
(expand_builtin_setjmp_setup): Update.
(expand_builtin_nonlocal_goto): Update.
* final.c (final_start_function): Update.
(profile_function): Update.
(leaf_function_p): Update.
(only_leaf_regs_used): Update.
* df-scan.c (df_get_exit_block_use_set): Update.
* dojump.c (clear_pending_stack_adjust): Update.
* tree-stdarg.c (gate_optimize_stdarg): Update.
* gimple-low.c (lower_function_body): Update.
* global.c (compute_regsets): Update.
(global_alloc): Update.
* dwarf2out.c (dwarf2out_begin_prologue): Update.
* expr.c (expand_assignment): Update.
* dse.c (dse_step0): Update.
(dse_step1): Update.
* c-decl.c (store_parm_decls): Update.
* local-alloc.c (combine_regs): Update.
(find_free_reg): Update.
* function.c (assign_parms_augmented_arg_list): Update.
(assign_parm_find_data_types): Update.
(assign_parms): Update.
(allocate_struct_function): Update.
(expand_function_start): Update.
(expand_function_end): Update.
(get_arg_pointer_save_area): Update.
(thread_prologue_and_epilogue_insns): Update.
(rest_of_match_asm_constraints): Update.
* stor-layout.c (variable_size): Update.
* gcse.c (gcse_main): Update.
(bypass_jumps): Update.
* gimplify.c (gimplify_function_tree): Update.
* calls.c (emit_call_1): Update.
(expand_call): Update.
* bt-load.c (compute_defs_uses_and_gen): Update.
* except.c (sjlj_assign_call_site_values): Update.
(sjlj_emit_function_enter): Update.
(can_throw_external): Update.
(set_nothrow_function_flags): Update.
(expand_builtin_unwind_init): Update.
(expand_eh_return): Update.
(convert_to_eh_region_ranges): Update.
(output_function_exception_table): Update.
* emit-rtl.c (gen_tmp_stack_mem): Update.
* cfgexpand.c (expand_used_vars): Update.
(tree_expand_cfg): Update.
* cfgcleanup.c (rest_of_handle_jump): Update.
* explow.c (allocate_dynamic_stack_space): Update.
* varasm.c (assemble_start_function): Update.
(force_const_mem): Update.
(mark_constant_pool): Update.
* tree-optimize.c (tree_rest_of_compilation): Update.
* stack-ptr-mod.c (notice_stack_pointer_modification): Update.
* tree-cfg.c (notice_special_calls): Update.
(is_ctrl_altering_stmt): Update.
(tree_can_make_abnormal_goto): Update.
(tree_purge_dead_abnormal_call_edges): Update.
* config/alpha/predicates.md: Update.
* config/alpha/alpha.c (alpha_sa_mask): Update.
(alpha_sa_size): Update.
(alpha_does_function_need_gp): Update.
(alpha_expand_prologue): Update.
(alpha_start_function): Update.
(alpha_output_function_end_prologue): Update.
(alpha_expand_epilogue): Update.
* config/frv/frv.c (frv_stack_info): Update.
(frv_expand_epilogue): Update.
* config/s390/s390.c (s390_regs_ever_clobbered): Update.
(s390_register_info): Update.
(s390_frame_info): Update.
(s390_init_frame_layout): Update.
(s390_can_eliminate): Update.
(save_gprs): Update.
* config/spu/spu.c (spu_split_immediate): Update.
(need_to_save_reg): Update.
(spu_expand_prologue): Update.
(spu_expand_epilogue): Update.
* config/sparc/sparc.md: Update.
* config/sparc/sparc.c (eligible_for_return_delay): Update.
(sparc_tls_got): Update.
(legitimize_pic_address): Update.
(sparc_emit_call_insn): Update.
(sparc_expand_prologue): Update.
(output_return): Update.
(print_operand): Update.
(sparc_function_ok_for_sibcall): Update.
* config/sparc/sparc.h (EXIT_IGNORE_STACK): Update.
* config/m32r/m32r.md: Update.
* config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Update.
(m32r_compute_frame_size): Update.
(m32r_expand_prologue): Update.
(m32r_expand_epilogue): Update.
(m32r_legitimize_pic_address): Update.
* config/m32r/m32r.h (FRAME_POINTER_REQUIRED): Update.
* config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): Update.
* config/i386/i386.c (ix86_frame_pointer_required): Update.
(gen_push): Update.
(ix86_save_reg): Update.
(ix86_compute_frame_layout): Update.
(ix86_expand_prologue): Update.
(ix86_expand_epilogue): Update.
* config/sh/sh.c (output_stack_adjust): Update.
(calc_live_regs): Update.
(sh5_schedule_saves): Update.
(sh_expand_prologue): Update.
(sh_expand_epilogue): Update.
(sh_setup_incoming_varargs): Update.
(sh_allocate_initial_value): Update.
(sh_get_pr_initial_val): Update.
* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Update.
* config/sh/sh.md (label:): Update.
* config/avr/avr.c (out_movhi_mr_r): Update.
* config/crx/crx.h (enum): Update.
* config/xtensa/xtensa.h (along): Update.
* config/stormy16/stormy16.c Update.
(xstormy16_compute_stack_layout): Update.
* config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Update.
(fr30_expand_prologue): Update.
* config/cris/cris.c (cris_conditional_register_usage): Update.
(cris_reg_saved_in_regsave_area): Update.
(cris_initial_frame_pointer_offset): Update.
(cris_simple_epilogue): Update.
(cris_expand_prologue): Update.
(cris_expand_epilogue): Update.
(cris_expand_pic_call_address): Update.
(cris_asm_output_symbol_ref): Update.
(cris_asm_output_label_ref): Update.
* config/cris/cris.md Update.
* config/iq2000/iq2000.c (compute_frame_size): Update.
(iq2000_expand_epilogue): Update.
* config/mt/mt.h (save_direction): Update.
* config/mn10300/mn10300.c (mn10300_function_value): Update.
* config/ia64/ia64.c (ia64_compute_frame_size): Update.
(ia64_secondary_reload_class): Update.
* config/m68k/m68k.c (m68k_save_reg): Update.
(m68k_expand_prologue): Update.
(m68k_expand_epilogue): Update.
(legitimize_pic_address): Update.
* config/rs6000/rs6000.c (rs6000_got_register): Update.
(first_reg_to_save): Update.
(first_altivec_reg_to_save): Update.
(compute_vrsave_mask): Update.
(compute_save_world_info): Update.
(rs6000_stack_info): Update.
(spe_func_has_64bit_regs_p): Update.
(rs6000_ra_ever_killed): Update.
(rs6000_emit_eh_reg_restore): Update.
(rs6000_emit_allocate_stack): Update.
(rs6000_emit_prologue): Update.
(rs6000_emit_epilogue): Update.
(rs6000_output_function_epilogue): Update.
(output_profile_hook): Update.
(rs6000_elf_declare_function_name): Update.
* config/rs6000/rs6000.h (rs6000_args): Update.
* config/rs6000/rs6000.md: Update.
* config/mcore/mcore.c (mcore_expand_prolog): Update.
* config/arc/arc.c (arc_output_function_epilogue): Update.
* config/arc/arc.h (FRAME_POINTER_REQUIRED): Update.
* config/darwin.c (machopic_function_base_name): Update.
* config/score/score3.c (score3_compute_frame_size): Update.
(rpush): Update.
(rpop): Update.
(score3_epilogue): Update.
* config/score/score7.c (score7_compute_frame_size): Update.
(score7_prologue): Update.
(score7_epilogue): Update.
* config/score/score.h (FRAME_POINTER_REQUIRED): Update.
* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Update.
* config/arm/arm.c (use_return_insn): Update.
(require_pic_register): Update.
(arm_load_pic_register): Update.
(arm_compute_save_reg0_reg12_mask): Update.
(arm_compute_save_reg_mask): Update.
(thumb1_compute_save_reg_mask): Update.
(output_return_instruction): Update.
(arm_output_function_prologue): Update.
(arm_output_epilogue): Update.
(arm_get_frame_offsets): Update.
(arm_expand_prologue): Update.
(thumb_pushpop): Update.
(thumb_exit): Update.
(thumb1_expand_prologue): Update.
(thumb1_expand_epilogue): Update.
(arm_unwind_emit): Update.
(arm_output_fn_unwind): Update.
* config/arm/arm.h (FRAME_POINTER_REQUIRED): Update.
* config/arm/arm.md: Update.
* config/pa/pa.md: Update.
* config/pa/pa.c (legitimize_pic_address): Update.
(compute_frame_size): Update.
(hppa_expand_prologue): Update.
(hppa_expand_epilogue): Update.
(borx_reg_operand): Update.
* config/pa/pa.h (FRAME_POINTER_REQUIRED): Update.
(HARD_REGNO_RENAME_OK): Update.
* config/mips/mips.c (mips_global_pointer): Update.
(mips_save_reg_p): Update.
(mips_compute_frame_info): Update.
(mips_frame_pointer_required): Update.
(mips_expand_prologue): Update.
(mips_expand_epilogue): Update.
(mips_can_use_return_insn): Update.
(mips_reorg_process_insns): Update.
* config/v850/v850.c (compute_register_save_size): Update.
* config/mmix/mmix.h (FRAME_POINTER_REQUIRED): Update.
* config/mmix/mmix.c (along): Update.
(mmix_expand_epilogue): Update.
* config/bfin/bfin.c (legitimize_pic_address): Update.
(must_save_p): Update.
(stack_frame_needed_p): Update.
(add_to_reg): Update.
(bfin_expand_prologue): Update.
* stmt.c (expand_asm_operands): Update.
* reload1.c (reload): Update.
(init_elim_table): Update.
From-SVN: r134682
Tobias Burnus [Fri, 25 Apr 2008 21:14:49 +0000 (23:14 +0200)]
re PR fortran/35156 ([patch] Deprecate -M<dir>)
2008-04-25 Tobias Burnus <burnus@net-b.de>
Daniel Franke <franke.daniel@gmail.com>
PR fortran/35156
* gfortranspec.c (lang_specific_driver): Deprecate
-M option; fix ICE when "-M" is last argument and
make "-M<dir>" work.
* options.c (gfc_handle_module_path_options):
Use -J instead of -M in error messages.
* invoke.texi: Mark -M as depecated.
Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>
From-SVN: r134680
Kai Tietz [Fri, 25 Apr 2008 20:45:10 +0000 (22:45 +0200)]
fixincl.c (fix_with_system): Cast pointer difference to long.
2008-04-25 Kai Tietz <kai.tietz@onvision.com>
* fixincl.c (fix_with_system): Cast pointer difference to long.
* fixlib.c (make_raw_shell_str): Cast compare to avoid sign warning.
From-SVN: r134679
Tobias Burnus [Fri, 25 Apr 2008 20:11:21 +0000 (22:11 +0200)]
array_constructor_23.f: Change REAL(10) into kind > 8.
2008-04-25 Tobias Burnus <burnus@net-b.de>
* gfortran/array_constructor_23.f: Change REAL(10) into kind > 8.
* gfortran/array_constructor_24.f: New; REAL(8) version of the test.
From-SVN: r134678
Thomas Koenig [Fri, 25 Apr 2008 20:11:19 +0000 (20:11 +0000)]
re PR fortran/35960 (run time abort with assignment of RESHAPEd zero sized array)
2008-04-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/35960
* m4/reshape.m4: Fix typo in last commit.
* generated/reshape_i4.c: Regererated.
* generated/reshape_i8.c: Regenerated.
* generated/reshape_i16.c: Regenerated.
* generated/reshape_r4.c: Regenerated.
* generated/reshape_r8.c: Regenerated.
* generated/reshape_r10.c: Regenerated.
* generated/reshape_r16.c: Regenerated.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_c10.c: Regenerated.
* generated/reshape_c16.c: Regenerated.
From-SVN: r134677
Benjamin Kosnik [Fri, 25 Apr 2008 18:37:22 +0000 (18:37 +0000)]
re PR libstdc++/35887 (stl parallel includes installed for --disable-libgomp)
2008-04-25 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/35887
* acinclude.m4: (GLIBCXX_ENABLE_PARALLEL): Check for thread support.
* configure.ac: Re-order compiler macros.
* configure: Regenerated.
From-SVN: r134675
Bob Wilson [Fri, 25 Apr 2008 18:20:02 +0000 (18:20 +0000)]
* optabs.c (expand_float): Fix REG_EQUAL for UNSIGNED_FLOAT libcall.
From-SVN: r134673
H.J. Lu [Fri, 25 Apr 2008 12:37:41 +0000 (12:37 +0000)]
sse.md (mov<mode>): Replace SSEMODEI with SSEMODE.
2008-04-25 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (mov<mode>): Replace SSEMODEI with
SSEMODE.
(*mov<mode>_internal): Likewise. Support V4SF and V2DF.
(mov<mode>): Removed.
(*movv4sf_internal): Likewise.
(*movv2df_internal): Likewise.
From-SVN: r134664
Uros Bizjak [Fri, 25 Apr 2008 12:35:45 +0000 (14:35 +0200)]
* ChangeLog: Fix whitespace.
From-SVN: r134663
Pompapathi V Gadad [Fri, 25 Apr 2008 11:49:27 +0000 (17:19 +0530)]
config.gcc (crx-*-elf): Remove deprecation.
2008-04-25 Pompapathi V Gadad <Pompapathi.V.Gadad@nsc.com>
* config.gcc (crx-*-elf): Remove deprecation.
From-SVN: r134662
Pompapathi V Gadad [Fri, 25 Apr 2008 10:57:58 +0000 (16:27 +0530)]
MAINTAINERS (crx): Add myself.
2008-04-25 Pompapathi V Gadad <Pompapathi.V.Gadad@nsc.com>
* MAINTAINERS (crx): Add myself.
From-SVN: r134660
Kai Tietz [Fri, 25 Apr 2008 08:40:10 +0000 (08:40 +0000)]
array-quals-1.c: Add xfail for x86_64-*-mingw*.
2008-04-25 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/array-quals-1.c: Add xfail for x86_64-*-mingw*.
* gcc.dg/builtins-12.c: Add dg-options "-ansi".
* gcc.dg/builtins-13.c: Likewise.
* gcc.dg/pr25682.c: Likewise.
* gcc.dg/pr33694.c: Likewise.
* gcc.dg/c90-const-expr-2.c: Add check for _WIN64 define.
* gcc.dg/c99-const-expr-2.c: Likewise.
* gcc.dg/ia64-sync-1.c: Add typedef of size_t, for prototype.
* gcc.dg/ia64-sync-2.c: Likewise.
* gcc.dg/ia64-sync-3.c: Likewise
* gcc.dg/large-size-array.c: Add check for _WIN64 define.
* gcc.dg/large-size-array-3.c: Likewise.
* gcc.dg/large-size-array-2.c: Add x86_64-*-mingw* for ignore error
check.
* gcc.dg/large-size-array-4.c: Likewise.
* gcc.dg/max-1.c: Replace use of long by ssize_t.
From-SVN: r134659
Danny Smith [Fri, 25 Apr 2008 04:59:15 +0000 (04:59 +0000)]
cygming-crtend.c (register_frame_ctor): Register __gcc_deregister_frame with atexit.
* config/i386/cygming-crtend.c (register_frame_ctor): Register
__gcc_deregister_frame with atexit.
(deregister_frame_dtor): Remove.
From-SVN: r134656
GCC Administrator [Fri, 25 Apr 2008 00:17:59 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r134654
Benjamin Kosnik [Thu, 24 Apr 2008 23:30:10 +0000 (23:30 +0000)]
re PR libstdc++/35887 (stl parallel includes installed for --disable-libgomp)
2008-04-24 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/35887
* configure.ac: Add default argument to GLIBCXX_ENABLE_PARALLEL.
Move atomic warnings to GLIBCXX_ENABLE_ATOMIC_BUILTINS.
* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Check for --disable-libgomp.
(GLIBCXX_ENABLE_ATOMIC_BUILTINS): Add warning information.
* configure: Regenerate.
* include/Makefile.am (parallel_headers): Make conditional on
ENABLE_PARALLEL.
* include/Makefile.in: Regenerate.
From-SVN: r134649
Steve Ellcey [Thu, 24 Apr 2008 22:35:36 +0000 (22:35 +0000)]
* gcc.dg/lower-subreg-1.c: Skip IA64 platform.
From-SVN: r134648
Steve Ellcey [Thu, 24 Apr 2008 21:31:02 +0000 (21:31 +0000)]
* gcc.dg/vect/slp-15.c: Fix scan when vect_int_mult is false.
From-SVN: r134647
Nathan Froyd [Thu, 24 Apr 2008 18:00:56 +0000 (18:00 +0000)]
fix date typo
From-SVN: r134645
Nathan Froyd [Thu, 24 Apr 2008 17:58:47 +0000 (17:58 +0000)]
rs6000.opt (mspe): Remove Var property.
* config/rs6000/rs6000.opt (mspe): Remove Var property.
(misel): Likewise.
* config/rs6000/rs6000.h (rs6000_spe): Declare.
(rs6000_isel): Likewise.
* config/rs6000/rs6000.c (rs6000_spe): New variable.
(rs6000_isel): New variable.
(rs6000_handle_option): Handle OPT_mspe and OPT_misel.
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
From-SVN: r134643
Paolo Carlini [Thu, 24 Apr 2008 17:03:13 +0000 (17:03 +0000)]
re PR libstdc++/35969 (GLIBCXX_DEBUG: list::merge triggers bad assert)
2008-04-24 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/35969
* include/debug/list (merge): Use _M_transfer_iter, consistently
with the splice members.
* testsuite/23_containers/list/operations/35969.cc: New.
* testsuite/23_containers/list/operators: Rename to
testsuite/23_containers/list/operations.
From-SVN: r134642
Steve Ellcey [Thu, 24 Apr 2008 16:37:05 +0000 (16:37 +0000)]
re PR testsuite/36035 (FAIL: gcc.dg/vect/vect-vfa-slp.c)
PR testsuite/36035
* gcc.dg/vect/vect-vfa-slp.c: Remove bad check.
From-SVN: r134641
Jakub Jelinek [Thu, 24 Apr 2008 16:29:40 +0000 (18:29 +0200)]
re PR c++/35758 (vector_size attribute lost in function arguments for templates)
PR c++/35758
* c-common.c (handle_vector_size_attribute): Call
lang_hooks.types.reconstruct_complex_type instead of
reconstruct_complex_type.
* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Likewise.
* config/spu/spu.c (spu_handle_vector_attribute): Likewise.
* langhooks.h (struct lang_hooks_for_types): Add
reconstruct_complex_type hook.
* langhooks-def.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
* cp-tree.h (cp_reconstruct_complex_type): New prototype.
* cp-objcp-common.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define.
* decl2.c (is_late_template_attribute): Only make vector_size
late tmpl attribute if argument is type or value dependent.
(cp_reconstruct_complex_type): New function.
* g++.dg/ext/vector14.C: New test.
From-SVN: r134639
Jakub Jelinek [Thu, 24 Apr 2008 16:23:05 +0000 (18:23 +0200)]
* gcc.dg/pr36017.c: Run on all targets, remove -lm from dg-options.
From-SVN: r134637
Richard Guenther [Thu, 24 Apr 2008 16:18:46 +0000 (16:18 +0000)]
c-common.h (check_builtin_function_arguments): Declare.
2008-04-24 Richard Guenther <rguenther@suse.de>
* c-common.h (check_builtin_function_arguments): Declare.
* c-common.c (validate_nargs): New function.
(check_builtin_function_arguments): Likewise.
* c-typeck.c (build_function_call): Call
check_builtin_function_arguments.
* builtins.c (fold_builtin_classify): Remove error reporting code.
(fold_builtin_unordered_cmp): Likewise.
(fold_builtin_1): Likewise.
(fold_builtin_n): Likewise.
cp/
* typeck.c (cp_build_function_call): Call
check_builtin_function_arguments.
* gcc.dg/builtin-constant_p-1.c: New testcase.
* gcc.dg/builtin-errors.c: Adjust expected error.
From-SVN: r134635
Jakub Jelinek [Thu, 24 Apr 2008 16:08:11 +0000 (18:08 +0200)]
re PR tree-optimization/36008 (Function produces wrong results when inlined.)
PR tree-optimization/36008
* fold-const.c (try_move_mult_to_index): If s == NULL, divide
the original op1, rather than delta by step.
* gcc.c-torture/execute/
20080424-1.c: New test.
From-SVN: r134634
Antoniu Pop [Thu, 24 Apr 2008 15:23:51 +0000 (16:23 +0100)]
tree-parloops.c (take_address_of, [...]): Make them work on a region of code delimited by two edges in the CFG.
2008-04-22 Antoniu Pop <antoniu.pop@gmail.com>
Sebastian Pop <sebastian.pop@amd.com>
* tree-parloops.c (take_address_of, eliminate_local_variables_1,
eliminate_local_variables_stmt, eliminate_local_variables,
separate_decls_in_loop_name, separate_decls_in_loop_stmt,
separate_decls_in_loop, gen_parallel_loop): Make them work on a region
of code delimited by two edges in the CFG.
(separate_decls_in_loop_name): Renamed separate_decls_in_region_name.
(separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt.
(separate_decls_in_loop): Renamed separate_decls_in_region. Isolate
the case of parallelisation of reductions.
(expr_invariant_in_region_p): New.
* tree-flow.h (gather_blocks_in_sese_region): Declared.
* tree-cfg.c (gather_blocks_in_sese_region): Extern.
Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r134632
Francois-Xavier Coudert [Thu, 24 Apr 2008 14:54:32 +0000 (14:54 +0000)]
* intrinsics/time_1.h (__time_1): Remove unused variable.
From-SVN: r134630
Benjamin Kosnik [Thu, 24 Apr 2008 14:40:29 +0000 (14:40 +0000)]
acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of all used __sync builtins, in two sizes.
2008-04-24 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of
all used __sync builtins, in two sizes.
* config.h.in: Regenerate.
* configure: Regenerate.
* src/atomic.cc: Use _GLIBCXX_ATOMIC_BUILTINS_1.
* include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS_4.
* libsupc++/guard.cc: Use _GLIBCXX_ATOMIC_BUILTINS_4.
* doc/xml/manual/concurrency.xm: Update docs.
From-SVN: r134629
Ira Rosen [Thu, 24 Apr 2008 14:21:45 +0000 (14:21 +0000)]
re PR tree-optimization/36034 (wrong code vectorizing unrolled inner loop (SLP))
2008-04-24 Ira Rosen <irar@il.ibm.com>
Richard Guenther <rguenther@suse.de>
PR tree-optimization/36034
* tree-vect-analyze.c (vect_analyze_group_access): SLP is
incapable of dealing with loads with gaps.
* gcc.c-torture/execute/pr36034-1.c: New testcase.
* gcc.c-torture/execute/pr36034-2.c: Likewise.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r134628
Olivier Hainque [Thu, 24 Apr 2008 13:24:11 +0000 (13:24 +0000)]
trans.c (Attribute_to_gnu): Length
2008-04-24 Olivier Hainque <hainque@adacore.com>
ada/
* trans.c (Attribute_to_gnu) <case Attr_Length>: Length
* computation
doesn't require signed arithmetic anymore.
testsuite/
* gnat.dg/concat_length.adb: New test.
From-SVN: r134627
Rafael Avila de Espindola [Thu, 24 Apr 2008 09:48:41 +0000 (09:48 +0000)]
tree-flow.h (vrp_evaluate_conditional): Change signature.
2008-04-24 Rafael Espindola <espindola@google.com>
* tree-flow.h (vrp_evaluate_conditional): Change signature.
* tree-ssa-propagate.c (fold_predicate_in): Update call to
vrp_evaluate_conditional.
* tree-vrp.c (vrp_evaluate_conditional_warnv): Remove.
(vrp_evaluate_conditional): Split the cond argument.
(vrp_visit_cond_stmt): Use vrp_evaluate_conditional_warnv_with_ops.
(simplify_stmt_for_jump_threading): Update call to
vrp_evaluate_conditional.
From-SVN: r134625
Ira Rosen [Thu, 24 Apr 2008 09:21:55 +0000 (09:21 +0000)]
re PR target/35982 (ICE while building mplayer on ppc with -O3 -ffast-math -mcpu=970)
PR tree-optimization/35982
* tree-vect-analyze.c (vect_check_interleaving): Check that the
interleaved data-refs are of the same type.
From-SVN: r134624
Danny Smith [Thu, 24 Apr 2008 07:42:07 +0000 (07:42 +0000)]
c-format.c (check_format_info_main): Use strncmp rather than a magic prefix to handle multichar length specs.
gcc
* c-format.c (check_format_info_main): Use strncmp rather than a magic prefix
to handle multichar length specs.
* config/i386/msformat-c.c (format_length_info ms_printf_length_specs):
Don't prefix "I64" and "I32" with '\0'.
testsuite
* gcc.dg/format/ms-warnI64-1.c: New file.
From-SVN: r134623
Jakub Jelinek [Thu, 24 Apr 2008 06:59:55 +0000 (08:59 +0200)]
re PR target/36015 (-mregparm and fn decls without arguments)
PR target/36015
* config/i386/i386.c (init_cumulative_args): Don't pass anything
in registers for -m32 only if stdarg_p (fntype).
* gcc.dg/pr36015.c: New test.
From-SVN: r134621
Uros Bizjak [Thu, 24 Apr 2008 04:53:47 +0000 (06:53 +0200)]
re PR rtl-optimization/36006 (invalid rtl sharing with -O2)
PR rtl-optimization/36006
* expmed.c (store_fixed_bit_field): Copy op0 rtx before moving
temp to op0 in order to avoid invalid rtx sharing.
testsuite/ChangeLog:
PR rtl-optimization/36006
* gfortran.dg/pr36006-1.f90: New test.
* gfortran.dg/pr36006-2.f90: Ditto.
From-SVN: r134618
Jerry DeLisle [Thu, 24 Apr 2008 03:55:05 +0000 (03:55 +0000)]
re PR fortran/35994 (MAXLOC and MINLOC off by one with mask)
2008-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35994
* gfortran.dg/minmaxloc_5.f90: New test.
* gfortran.dg/minmaxloc_6.f90: New test.
From-SVN: r134616
Jerry DeLisle [Thu, 24 Apr 2008 03:48:00 +0000 (03:48 +0000)]
re PR fortran/35994 (MAXLOC and MINLOC off by one with mask)
2008-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/35994
* trans-instrinsic.c (gfc_conv_intrinsic_minmaxloc): Correctly adjust
loop counter offset.
Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
From-SVN: r134615
GCC Administrator [Thu, 24 Apr 2008 00:17:46 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r134611
Benjamin Kosnik [Wed, 23 Apr 2008 23:28:45 +0000 (23:28 +0000)]
os_defines.h: Use _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_BEGIN_EXTERN_C, etc.
2008-04-23 Benjamin Kosnik <bkoz@redhat.com>
* config/os/hpux/os_defines.h: Use _GLIBCXX_BEGIN_NAMESPACE,
_GLIBCXX_BEGIN_EXTERN_C, etc.
From-SVN: r134607
Steve Ellcey [Wed, 23 Apr 2008 20:16:26 +0000 (20:16 +0000)]
* gcc.dg/array-init-1.c: Add big-endian number to check.
From-SVN: r134601
Sebastian Pop [Wed, 23 Apr 2008 19:00:08 +0000 (19:00 +0000)]
patch_tester.sh (report): Do not print the time.
* patch_tester.sh (report): Do not print the time.
From-SVN: r134600
Paolo Bonzini [Wed, 23 Apr 2008 15:00:52 +0000 (15:00 +0000)]
tree-cfg.c (verify_expr): Check with is_gimple_address.
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* tree-cfg.c (verify_expr): Check with is_gimple_address. Don't
check TREE_INVARIANT.
* tree-gimple.c (is_gimple_address): New.
(is_gimple_invariant_address): Simplify using decl_address_invariant_p.
* tree-gimple.h (is_gimple_address): New.
* tree.h (decl_address_invariant_p): New.
* tree.c (make_node_stat): Don't set TREE_INVARIANT.
(build_string): Likewise.
(decl_address_invariant_p): New, from is_gimple_invariant_address.
(tree_invariant_p_1): Likewise.
(save_expr): Use it.
(tree_invariant_p): New.
(skip_simple_arithmetic): Use it.
(stabilize_reference_1): Use it.
(recompute_tree_invariant_for_addr_expr): Don't update TREE_INVARIANT,
simplify.
(build1_stat): Drop code to compute TREE_INVARIANT.
(build2_stat): Drop code to compute TREE_INVARIANT.
(build3_stat): Drop code to compute TREE_INVARIANT.
(build4_stat): Drop code to compute TREE_INVARIANT.
(build5_stat): Drop code to compute TREE_INVARIANT.
(build7_stat): Drop code to compute TREE_INVARIANT.
(merge_dllimport_decl_attributes): Don't mention TREE_INVARIANT.
* tree.h (struct tree_base): Remove invariant_flag.
(TREE_INVARIANT): Remove.
* builtins.c (build_string_literal): Don't set TREE_INVARIANT.
(fold_builtin_expect): Check TREE_CONSTANT.
* tree-ssa-ccp.c (fold_stmt_r): Adjust comment.
* c-tree.h (c_expr_to_decl): Drop third parameter.
* c-typeck.c (build_external_ref): Don't set TREE_INVARIANT.
(build_c_cast): Don't set TREE_INVARIANT.
(pop_init_level): Don't set TREE_INVARIANT.
(c_objc_common_truthvalue_conversion): Don't set TREE_INVARIANT.
* gimplify.c (gimplify_init_ctor_preeval): Add assertion, test
TREE_CONSTANT.
(gimplify_init_constructor): Don't set TREE_INVARIANT.
(gimplify_addr_expr): Adjust comment.
* tree-mudflap.c (mf_build_string):
* print-tree.c (print_node): Don't print TREE_INVARIANT.
* tree-nested.c (convert_nonlocal_reference): Adjust comment.
* c-common.c (fix_string_type): Don't set TREE_INVARIANT.
* langhooks-def.h (lhd_expr_to_decl): Drop third parameter.
* langhooks.c (lhd_expr_to_decl): Drop third parameter.
* langhooks.h (struct lang_hooks): Drop third parameter from
expr_to_decl.
java:
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* class.c (build_utf8_ref): Don't set TREE_INVARIANT.
(build_classdollar_field): Don't set TREE_INVARIANT.
(get_dispatch_table): Don't set TREE_INVARIANT.
(make_class_data): Don't set TREE_INVARIANT.
(build_symbol_entry): Don't set TREE_INVARIANT.
(emit_symbol_table): Don't set TREE_INVARIANT.
* constants.c (build_constant_data_ref): Don't set TREE_INVARIANT.
(build_ref_from_constant_pool): Don't set TREE_INVARIANT.
* resource.c (compile_resource_data): Don't set TREE_INVARIANT.
* expr.c (cache_cpool_data_ref): Don't set TREE_INVARIANT.
objc:
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* objc-act.c (objc_build_string_object): Don't set TREE_INVARIANT.
cp:
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* typeck.c (get_member_function_from_ptrfunc): Don't set TREE_INVARIANT.
(build_ptrmemfunc1): Don't set TREE_INVARIANT.
* init.c (build_zero_init): Don't set TREE_INVARIANT.
* class.c (build_base_path): Don't set TREE_INVARIANT.
(build_vtbl_ref_1): Don't set TREE_INVARIANT.
(build_vtbl_initializer): Don't set TREE_INVARIANT.
* decl.c (build_enumerator): Don't set TREE_INVARIANT.
* rtti.c (tinfo_base_init): Don't set TREE_INVARIANT.
(generic_initializer): Don't set TREE_INVARIANT.
(ptr_initializer): Don't set TREE_INVARIANT.
(ptm_initializer): Don't set TREE_INVARIANT.
(class_initializer): Don't set TREE_INVARIANT.
* typeck2.c (process_init_constructor): Don't set TREE_INVARIANT.
* pt.c (push_inline_template_parms_recursive): Don't set TREE_INVARIANT.
(build_template_parm_index): Don't set TREE_INVARIANT.
(reduce_template_parm_level): Don't set TREE_INVARIANT.
(process_template_parm): Don't set TREE_INVARIANT.
ada:
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
(call_to_gnu): Don't set TREE_INVARIANT.
* utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.
fortran:
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* trans-expr.c (gfc_conv_structure): Don't set TREE_INVARIANT.
* trans-array.c (gfc_build_null_descriptor): Don't set TREE_INVARIANT.
(gfc_trans_array_constructor_value): Don't set TREE_INVARIANT.
(gfc_build_constant_array_constructor): Don't set TREE_INVARIANT.
(gfc_conv_array_initializer): Don't set TREE_INVARIANT.
* trans-common.c (get_init_field): Don't set TREE_INVARIANT.
(create_common): Don't set TREE_INVARIANT.
* trans-stmt.c (gfc_trans_character_select): Don't set TREE_INVARIANT.
* trans-decl.c (gfc_generate_function_code): Don't set TREE_INVARIANT.
From-SVN: r134599
Richard Guenther [Wed, 23 Apr 2008 14:08:25 +0000 (14:08 +0000)]
re PR tree-optimization/27799 (adding unused char field inhibits optimization)
2008-04-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/27799
PR tree-optimization/32921
PR tree-optimization/32624
* tree-ssa-structalias.c (merge_smts_into): Only merge the
SMTs aliases and the tag itself into the solution.
* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Do not
merge the points-to solution back into the SMT aliases.
(may_alias_p): Use alias_set_subset_of instead of
aliases_conflict_p. A pointer which points to
memory with alias set zero may access any variable.
* gcc.dg/tree-ssa/pr27799.c: New testcase.
* gcc.dg/tree-ssa/
20030807-7.c: Remove xfail, scan vrp dump.
From-SVN: r134598
Richard Guenther [Wed, 23 Apr 2008 14:06:02 +0000 (14:06 +0000)]
alias.c (alias_set_subset_of): Correctly handle asking if zero is a subset of an alias set with zero child.
2008-04-23 Richard Guenther <rguenther@suse.de>
* alias.c (alias_set_subset_of): Correctly handle asking
if zero is a subset of an alias set with zero child.
* tree-ssa-alias.c (have_common_aliases_p): Simplify logic.
(compute_flow_insensitive_aliasing): Correctly walk all
pointers. Do not unnecessarily union sets.
From-SVN: r134597
Richard Guenther [Wed, 23 Apr 2008 13:47:38 +0000 (13:47 +0000)]
re PR c/36021 (__attribute__((alloc_size(n))) with function of no arguments causes gcc to segfault)
2008-04-23 Richard Guenther <rguenther@suse.de>
PR middle-end/36021
* c-common.c (handle_alloc_size_attribute): Use type_num_arguments.
* gcc.dg/attr-alloc_size-2.c: New testcase.
From-SVN: r134595
Tomas Bily [Wed, 23 Apr 2008 13:19:29 +0000 (15:19 +0200)]
ChangeLog: right place to changes
* gcc/ChangeLog: right place to changes
* ChangeLog: removed changes im bad place
From-SVN: r134594
Tomas Bily [Wed, 23 Apr 2008 12:53:12 +0000 (14:53 +0200)]
ChangeLog: changelog to last commit
* ChangeLog: changelog to last commit
From-SVN: r134592
Tomas Bily [Wed, 23 Apr 2008 12:50:17 +0000 (14:50 +0200)]
tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as unreachable case.
* tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as
unreachable case.
* tree-vrp.c (extract_range_from_unary_expr): Removed unused
NON_LVALUE_EXPR.
* tree-ssa-threadedge.c (simplify_control_stmt_condition):
Likewise.
* tree-ssa-structalias.c (get_constraint_for): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* varasm.c (const_hash_1, compare_constant, copy_constant)
(compute_reloc_for_constant, output_addressed_constants):
Likewise.
* emit-rtl.c (component_ref_for_mem_expr)
(set_mem_attributes_minus_bitpos): Likewise.
* expr.c (highest_pow2_factor, expand_expr_real_1, )
(is_aligning_offset): Likewise.
* dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info):
Likewise.
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise.
* dojump.c (do_jump): Likewise.
* builtins.c (get_pointer_alignment, get_memory_rtx)
(integer_valued_real_p, fold_builtin_next_arg): Likewise.
* tree-scalar-evolution.c (instantiate_parameters_1): Likewise.
From-SVN: r134591
Paolo Bonzini [Wed, 23 Apr 2008 10:22:37 +0000 (10:22 +0000)]
override.m4: Apply _AC_ARG_VALIDATE fix to all versions but 2.62.
2008-04-23 Paolo Bonzini <bonzini@gnu.org>
* override.m4: Apply _AC_ARG_VALIDATE fix to all versions
but 2.62.
From-SVN: r134590
Kai Tietz [Wed, 23 Apr 2008 07:53:55 +0000 (07:53 +0000)]
20020919-1.c (loc_size_t): New type.
2008-04-23 Kai Tietz <kai.tietz@onevision.com>
* gcc.dg/
20020919-1.c (loc_size_t): New type.
(_dl_stat): Use loc_size_t to cast pointers.
* gcc.c-torture/compile/
20010327-1.c: Skip for x86_64-*-mingw*.
From-SVN: r134583
Johannes Singler [Wed, 23 Apr 2008 07:26:53 +0000 (07:26 +0000)]
quicksort.h: Reformat,
2008-04-23 Johannes Singler <singler@ira.uka.de>
* include/parallel/quicksort.h: Reformat,
(parallel_sort_qs): Do not pass number of elements.
* include/parallel/balanced_quicksort.h: Reformat,
(parallel_sort_qsb): Do not pass number of elements.
* include/parallel/tags.h:
Introduce new tags for compile-time choice.
* include/parallel/merge.h:
(parallel_merge_advance):Beautified.
* include/parallel/algo.h: Reformatting (spaces for tabs)
New sort and stable_sort variants, corresponding to the tags.
* include/parallel/sort.h:
New sort and stable_sort variants, corresponding to the tags.
Changed determining the desired number of threads.
From-SVN: r134582
Johannes Singler [Wed, 23 Apr 2008 07:20:58 +0000 (07:20 +0000)]
2008-04-23 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h
(multiway_merge_loser_tree):
Leave checks to callers, add precondition instead.
(multiway_merge_loser_tree_unguarded): Likewise.
(multiway_merge_loser_tree_sentinel): Likewise.
(sequential_multiway_merge): Added checks for total length 0.
(parallel_multiway_merge): Skip empty sequences.
(multiway_merge, all variants):
Remove temporary variable, return directly.
(stable_multiway_merge, all variants): Likewise.
(multiway_merge_sentinels, all variants): Likewise.
(stable_multiway_merge_sentinels, all variants): Likewise.
* include/parallel/multiseq_selection.h
(multiseq_partition): More detailed assertions.
From-SVN: r134580
Thomas Koenig [Wed, 23 Apr 2008 05:50:54 +0000 (05:50 +0000)]
re PR fortran/35988 (run-time abort for MATMUL of run-time zero sized array)
2008-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/35988
* m4/matmul.m4: Only issue a runtime error if extents are
non-zero.
* generated/matmul_i1.c: Regenerated.
* generated/matmul_i2.c: Regenerated.
* generated/matmul_i4.c: Regenerated.
* generated/matmul_i8.c: Regenerated.
* generated/matmul_i16.c: Regenerated.
* generated/matmul_r4.c: Regenerated.
* generated/matmul_r8.c: Regenerated.
* generated/matmul_r10.c: Regenerated.
* generated/matmul_r16.c: Regenerated.
* generated/matmul_c4.c: Regenerated.
* generated/matmul_c8.c: Regenerated.
* generated/matmul_c10.c: Regenerated.
* generated/matmul_c16.c: Regenerated.
2008-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/35988
* gfortran.dg/matmul_7.f90: New test.
From-SVN: r134579
GCC Administrator [Wed, 23 Apr 2008 00:17:38 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r134576
Steve Ellcey [Tue, 22 Apr 2008 23:31:58 +0000 (23:31 +0000)]
wo_prof_global_var.c: Initialize array.
* gcc.dg/struct/wo_prof_global_var.c: Initialize array.
* gcc.dg/struct/wo_prof_malloc_size_var.c: Ditto.
* gcc.dg/struct/w_prof_local_var.c: Ditto.
* gcc.dg/struct/w_prof_global_var.c: Ditto.
* gcc.dg/struct/wo_prof_local_var.c: Ditto.
From-SVN: r134572
Jason Merrill [Tue, 22 Apr 2008 23:13:19 +0000 (19:13 -0400)]
re PR c++/35316 (ICE with typeof/decltype and bit-fields)
PR c++/35316
* semantics.c (finish_decltype_type): Check DECL_BIT_FIELD_TYPE
to see if DECL_BIT_FIELD_TYPE should be used, not some other flag.
* typeck.c (is_bitfield_expr_with_lowered_type): Likewise.
From-SVN: r134571
Jakub Jelinek [Tue, 22 Apr 2008 22:33:48 +0000 (00:33 +0200)]
re PR rtl-optimization/36017 (Miscompilation of tail call sqrt)
PR rtl-optimization/36017
* builtins.c (expand_errno_check): Clear CALL_EXPR_TAILCALL before
expanding the library call.
* gcc.dg/pr36017.c: New test.
From-SVN: r134569
Jakub Jelinek [Tue, 22 Apr 2008 22:06:58 +0000 (00:06 +0200)]
re PR c++/35747 (ICE with undefined variable in statement expression)
PR c++/35747
* semantics.c (finish_stmt_expr): Call pop_stmt_list even if the stmt
expression is errorneous.
* g++.dg/ext/stmtexpr13.C: New test.
From-SVN: r134567
Ian Lance Taylor [Tue, 22 Apr 2008 21:23:23 +0000 (21:23 +0000)]
fold-const.c (pointer_may_wrap_p): Call int_size_in_bytes rather than size_in_bytes.
./: * fold-const.c (pointer_may_wrap_p): Call int_size_in_bytes rather
than size_in_bytes.
testsuite/:
* gcc.c-torture/compile/
20080419-1.c: New test.
From-SVN: r134566
Pat Haugen [Tue, 22 Apr 2008 19:28:56 +0000 (19:28 +0000)]
rs6000.c (rs6000_register_move_cost): Increase cost of LR/CTR moves for Power6.
* config/rs6000/rs6000.c (rs6000_register_move_cost): Increase cost
of LR/CTR moves for Power6.
From-SVN: r134565
Daniel Franke [Tue, 22 Apr 2008 18:04:32 +0000 (14:04 -0400)]
cpplib.h (cpp_define_formatted): New.
2008-04-22 Daniel Franke <franke.daniel@gmail.com>
* include/cpplib.h (cpp_define_formatted): New.
* directives.c (cpp_define_formatted): New.
From-SVN: r134564
Kris Van Hees [Tue, 22 Apr 2008 17:20:40 +0000 (17:20 +0000)]
re PR testsuite/35981 (FAIL: gcc.dg/utf-cvt.c (test for warnings, line 46/47) with -m64)
2008-04-22 Kris Van Hees <kris.van.hees@oracle.com>
PR testsuite/35981
* g++.dg/ext/utf-cvt.C: Handle 64-bit platforms correctly.
Add tests for 'long long'.
* gcc.dg/utf-cvt.c: Handle 64-bit platforms correctly.
Add tests for 'long long'.
From-SVN: r134562
Joel Sherrill [Tue, 22 Apr 2008 14:15:04 +0000 (14:15 +0000)]
s-osinte-rtems.adb: Add sigalstack function.
2008-04-22 Joel Sherrill <joel.sherrill@oarcorp.com>
* s-osinte-rtems.adb: Add sigalstack function.
* s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
function. Add Alternate_Stack and Alternate_Stack_Size.
Add missing process_shared field to pthread_condattr_t
and change ss_low_priority to int from timespec.
From-SVN: r134560
Kenneth Zadeck [Tue, 22 Apr 2008 13:43:47 +0000 (13:43 +0000)]
re PR middle-end/36003 (pass_fast_rtl_byte_dce is disabled currently because of breakage in CC0 targets)
2008-04-22 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/36003
* passes.c (init_optimization_passes): Remove
pass_fast_rtl_byte_dce.
From-SVN: r134559
Uros Bizjak [Tue, 22 Apr 2008 12:41:14 +0000 (14:41 +0200)]
re PR target/29096 (faster _mm_cvtpi32x2_ps for xmmintrin.h)
PR target/29096
* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Rearrange calls to
builtin functions to generate faster code.
(_mm_cvtpu16_ps): Ditto.
(_mm_cvtpi32x2_ps): Ditto.
From-SVN: r134558
Nick Clifton [Tue, 22 Apr 2008 10:06:29 +0000 (10:06 +0000)]
* gcc.dg/Wconversion-real.c: Add missing end of comment marker.
From-SVN: r134557
Nick Clifton [Tue, 22 Apr 2008 09:58:19 +0000 (09:58 +0000)]
common.opt (ftree-loop-distribution): Add Optimization attribute.
* common.opt (ftree-loop-distribution): Add Optimization
attribute.
From-SVN: r134556
Nick Clifton [Tue, 22 Apr 2008 09:49:43 +0000 (09:49 +0000)]
frv.c (frv_stack_info): Use crtl instead of cfun.
* config/frv/frv.c (frv_stack_info): Use crtl instead of cfun.
(frv_expand_builtin_va_start): Likewise.
From-SVN: r134554
Nick Clifton [Tue, 22 Apr 2008 09:42:25 +0000 (09:42 +0000)]
arm.c (thumb_find_work_register): Fix location of argument register count.
* config/arm/arm.c (thumb_find_work_register): Fix location of
argument register count.
From-SVN: r134553
Maxim Kuvyrkov [Tue, 22 Apr 2008 07:28:42 +0000 (07:28 +0000)]
Support scheduling for ColdFire V1 and V3 microarchitecture.
Improve scheduling of multiplication instructions.
* config/m68k/m68k.md (cpu): Add cfv1 and cfv3. Rename cf_v2 to cfv1.
(mac): New instruction attribute.
* config/m68k/m68k.c (override_options): Handle cfv1, cfv3 and mac.
(m68k_sched_mac): New variable.
(m68k_sched_attr_type2, m68k_sched_md_init_global): Update.
Handle cfv1 and cfv3.
(max_insn_size): New static variable.
(struct _sched_ib): New type.
(sched_ib): New static variable.
(sched_ib_size, sched_ib_filled, sched_ib_insn): Convert variables
to fields of 'struct _sched_ib sched_ib'. Update all uses.
(m68k_sched_variable_issue): Add modeling of cfv3 instruction buffer.
Update.
(m68k_sched_md_init_global, m68k_sched_md_finish_global,
m68k_sched_md_init, m68k_sched_md_finish): Handle cfv1 and cfv3. Init
new variables. Update.
(m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle):
Add modeling of cfv3 instruction buffer. Update.
* config/m68k/m68k-protos.h (m68k_sched_mac): Declare.
* config/m68k/m68k.h (TUNE_CFV3): New macro.
* config/m68k/cf.md: Change substrings 'cf_v2' to 'cfv12' or 'cfv123'.
(cf_* reservations): Rename to cfv12 or cfv123 to indicate cores
a particular reservation applies to.
(type2): Reorganize attribute values. Rename alu to alu_reg,
alu_l to alu, move_l to omove. Join move to alu. Split mul
to mul_l and mul_w.
(cf_ib_*): Simplify description of instruction buffer.
(cf_ib_w0, cf_ib_w4, cf_ib_w5, cf_ib_w6): Remove.
(cf_mem): Split into cf_mem1 and cf_mem2.
(cf_v2_move_??): Rename to cfv12_alu_??.
(cf_v2_move_l_??): Rename to cfv12_omove_??.
(cf_v2_mul_??): Remove reservations.
(cfv12_mul_l_??, cfv12_mul_w_??, cfv12_mac_w_??, cfv12_mac_l_??,
cfv12_emac_??, cfv12_emac_w_i0): New reservations.
(cfv12_rts, cfv12_call, cfv12_bcc, cfv12_bra, cfv12_jmp): Move to
appropriate place.
(cfv3_alu_10, cfv3_omove_10, cfv3_alu_i0, cfv3_omove_i0, cfv3_alu_01,
cfv3_alu_0i, cfv3_alu_11, cfv3_omove_11, cfv3_alu_i1, cfv3_omove_i1,
cfv3_alu_1i, cfv3_omove_1i, cfv3_pea_11, cfv3_pea_i1, cfv3_mul_w_10,
cfv3_mul_l_10, cfv3_mul_w_i0, cfv3_mac_w_10, cfv3_mac_l_10,
cfv3_mac_w_i0, cfv3_emac_10, cfv3_emac_w_i0, cfv3_rts, cfv3_call,
cfv3_bcc, cfv3_bra, cfv3_jmp): New reservations.
(cfv3_*_1, cfv3_*_2, cfv3_*_3): New instruction reservations that are
expansions of the above reservations for instructions of sizes
1, 2 and 3 words.
From-SVN: r134552
Maxim Kuvyrkov [Tue, 22 Apr 2008 07:24:06 +0000 (07:24 +0000)]
* rtl-factoring.c (collect_patterns_seqs): Handle CC0 targets.
From-SVN: r134551
Samuel Tardieu [Tue, 22 Apr 2008 07:14:31 +0000 (07:14 +0000)]
i-forbla.adb: Link against -llapack and -lblas by default instead of the private -lgnalasup.
gcc/ada/
* i-forbla.adb: Link against -llapack and -lblas by default
instead of the private -lgnalasup.
From-SVN: r134550
Uros Bizjak [Tue, 22 Apr 2008 06:48:48 +0000 (08:48 +0200)]
re PR target/31486 (ICE with vector code when -mno-sse2 on amd64)
PR target/31486
* gcc.target/i386/pr31486.c: New test.
From-SVN: r134549
GCC Administrator [Tue, 22 Apr 2008 00:17:48 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r134547
Adam Nemet [Mon, 21 Apr 2008 23:35:47 +0000 (23:35 +0000)]
coverage.c: Include tree-pass.h.
* coverage.c: Include tree-pass.h.
(coverage_counter_alloc): Print da_file_name to the dump file.
testsuite/
* gcc.dg/profile-dir-1.c, gcc.dg/profile-dir-2.c,
gcc.dg/profile-dir-3.c: Generate tree_profile dump. Check gcda
file name there instead of the assembly. Cleanup tree_profile
dump file.
From-SVN: r134541
Steve Ellcey [Mon, 21 Apr 2008 23:32:32 +0000 (23:32 +0000)]
vect-vfa-slp.c: XFAIL if vect_no_align.
* gcc.dg/vect/vect-vfa-slp.c: XFAIL if vect_no_align.
* gcc.dg/vect/slp-25.c: Ditto.
* gcc.dg/vect/vect-outer-5.c: Ditto.
* gcc.dg/vect/pr33804.c: Ditto.
* gcc.dg/vect/vect-outer-4c.c: Ditto.
* gcc.dg/vect/no-vfa-vect-depend-1.c: Ditto.
* gcc.dg/vect/pr33953.c: Ditto.
* gcc.dg/vect/slp-3.c: Ditto.
* gcc.dg/vect/vect-iv-6.c: Ditto.
From-SVN: r134540
Jakub Jelinek [Mon, 21 Apr 2008 22:26:19 +0000 (00:26 +0200)]
* g++.dg/ext/fixed1.C: Add dg-options.
From-SVN: r134536
Aurelien Jarno [Mon, 21 Apr 2008 21:23:34 +0000 (21:23 +0000)]
configure.ac: use -fPIC on Linux/MIPS hosts.
2008-04-21 Aurelien Jarno <aurelien@aurel32.net>
* libiberty/configure.ac: use -fPIC on Linux/MIPS hosts.
* libiberty/configure: Regenerate.
From-SVN: r134534
Steve Ellcey [Mon, 21 Apr 2008 21:22:34 +0000 (21:22 +0000)]
* f95-lang.c (gfc_init_decl_processing): use ptr_mode instead of Pmode.
From-SVN: r134533
Ralf Wildenhues [Mon, 21 Apr 2008 20:55:19 +0000 (20:55 +0000)]
libgomp/
* acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
(LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
(LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
(LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
* configure: Regenerate.
* Makefile.in, testsuite/Makefile.in: Likewise.
libstdc++-v3/
* acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT, GLIBCXX_ENABLE_C99)
(GLIBCXX_CHECK_C99_TR1, GLIBCXX_CHECK_RANDOM_TR1)
(GLIBCXX_ENABLE_VISIBILITY): Fix cache variable names.
(GLIBCXX_CHECK_SYSTEM_ERROR): Likewise. Factorize.
* configure: Regenerate.
libgfortran/
* acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY)
(LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT)
(LIBGFOR_CHECK_ATTRIBUTE_ALIAS, LIBGFOR_CHECK_SYNC_FETCH_AND_ADD)
(LIBGFOR_GTHREAD_WEAK, LIBGFOR_CHECK_UNLINK_OPEN_FILE)
(LIBGFOR_CHECK_CRLF, LIBGFOR_CHECK_FOR_BROKEN_ISFINITE)
(LIBGFOR_CHECK_FOR_BROKEN_ISNAN)
(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY, LIBGFOR_CHECK_WORKING_STAT)
(LIBGFOR_CHECK_FPSETMASK, LIBGFOR_CHECK_MINGW_SNPRINTF):
Fix cache variable names.
* configure, Makefile.in: Regenerate.
From-SVN: r134531
Kenneth Zadeck [Mon, 21 Apr 2008 20:15:38 +0000 (20:15 +0000)]
sbitmap.c (sbitmap_range_empty_p): New function.
2008-04-24 Kenneth Zadeck <zadeck@naturalbridge.com>
* sbitmap.c (sbitmap_range_empty_p): New function.
* sbitmap.h (sbitmap_range_empty_p): New function.
* bitmap.h: Now includes obstack.h.
From-SVN: r134529
Kenneth Zadeck [Mon, 21 Apr 2008 20:01:26 +0000 (20:01 +0000)]
forgot to add this in last commit.
From-SVN: r134528