Andrey Belevantsev [Thu, 9 Aug 2012 14:08:31 +0000 (18:08 +0400)]
re PR rtl-optimization/53701 (ICE on ia64 (when building Allegro 4.4) in sel-sched)
PR rtl-optimization/53701
* sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
Process not only expr's vinsns but all old vinsns from expr's
history of changes.
(update_and_record_unavailable_insns): Clarify comment.
* gcc.dg/pr53701.c: New test.
From-SVN: r190253
Bernd Schmidt [Thu, 9 Aug 2012 13:18:05 +0000 (13:18 +0000)]
reload.c (find_valid_class_1): New static function.
* reload.c (find_valid_class_1): New static function.
(push_reload): Use it when reloading a SYMBOL_REG as the inner
of a subreg. Keep better track of needed classes for the
secondary memory case.
* config/i386/i386.h (LIMIT_RELOAD_CLASS): Limit INT_SSE_REGS to
GENERAL_REGS.
* reload1.c (replaced_subreg): New static function.
(gen_reload): Use it when deciding whether to use secondary
memory.
* gcc.c-torture/compile/
20120727-1.c: New test.
From-SVN: r190252
Tobias Burnus [Thu, 9 Aug 2012 12:06:31 +0000 (14:06 +0200)]
re PR fortran/54199 (Superfluous diagnostic "is also the name of an intrinsic" for internal procedures)
2012-08-09 Tobias Burnus <burnus@net-b.de>
PR fortran/54199
* intrinsic.c (gfc_warn_intrinsic_shadow): Better warning
for internal procedures.
2012-08-09 Tobias Burnus <burnus@net-b.de>
PR fortran/54199
* gfortran.dg/intrinsic_shadow_4.f90: New.
From-SVN: r190251
Richard Guenther [Thu, 9 Aug 2012 11:00:11 +0000 (11:00 +0000)]
tree.h (SSA_VAR_P): Simplify.
2012-08-09 Richard Guenther <rguenther@suse.de>
* tree.h (SSA_VAR_P): Simplify.
* tree-ssanames.c (make_ssa_name_fn): Strengthen assert.
* fold-const.c (fold_comparison): Check for default def first
before checking for PARM_DECL.
* tree-complex.c (get_component_ssa_name): Likewise.
* tree-inline.c (remap_ssa_name): Likewise.
* tree-ssa-loop-ivopts.c (parm_decl_cost): Likewise.
* tree-ssa-structalias.c (get_fi_for_callee): Likewise.
(find_what_p_points_to): Likewise.
* tree-ssa-operands.c (add_stmt_operand): Simplify.
From-SVN: r190250
Dodji Seketeli [Thu, 9 Aug 2012 10:33:48 +0000 (10:33 +0000)]
Use accessor functions to manipulate xmlOutputBuffer
This is a fix to prepare the xmlj_io.c file of gnu classpath to a coming
API change in libxml2.
Basically, we were previously accessing fields inside the
xmlOutputBuffer struct of libxml2. In a coming version of libxml2,
that won't be possible anymore. Client code will have to use accessor
functions instead. For the gory details, there is an interestin note
of Daniel Veillard (author of libxml2) at
https://mail.gnome.org/archives/desktop-devel-list/2012-August/msg00007.html.
This patch defines too accessor macros that, depending on the version
of libxml2 we are using will either access the fields of
xmlOutputBuffer directly, or use the new accessor function.
Tested on x86_64-unknown-linux-gnu against trunk.
libjava/classpath/
* native/jni/xmlj/xmlj_io.c (GET_XML_OUTPUT_BUFFER_CONTENT)
(GET_XML_OUTPUT_BUFFER_SIZE): New macros.
(xmljOutputWriteCallback): Use them.
From-SVN: r190249
GCC Administrator [Thu, 9 Aug 2012 00:18:12 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190246
H.J. Lu [Wed, 8 Aug 2012 22:47:07 +0000 (22:47 +0000)]
Require non-ilp32 for gcc.dg/tree-ssa/slsr-30.c
* gcc.dg/tree-ssa/slsr-30.c: Require non-ilp32. Remove
dg-skip-if.
From-SVN: r190242
Joseph Myers [Wed, 8 Aug 2012 19:42:58 +0000 (20:42 +0100)]
simplify-rtx.c (simplify_binary_operation_1): Do not simplify IOR to a constant if one operand has side effects.
* simplify-rtx.c (simplify_binary_operation_1): Do not simplify
IOR to a constant if one operand has side effects.
testsuite:
* gcc.c-torture/execute/
20120808-1.c: New test.
From-SVN: r190237
Ulrich Weigand [Wed, 8 Aug 2012 18:03:37 +0000 (18:03 +0000)]
builtins.c (expand_builtin_atomic_compare_exchange): Pass old value operand as MEM to expand_atomic_compare_and_swap.
* builtins.c (expand_builtin_atomic_compare_exchange): Pass old
value operand as MEM to expand_atomic_compare_and_swap.
* config/s390/s390.md ("atomic_compare_and_swap<mode>"): Accept
nonimmediate_operand for old value; generate load and store if
needed.
* config/s390/s390.c (s390_expand_cs_hqi): Accept any operand
as vtarget.
From-SVN: r190236
Steven Bosscher [Wed, 8 Aug 2012 17:39:46 +0000 (17:39 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))
PR middle-end/54146
* gimpify.c (gimplify_body): Only verify_gimple_in_seq with
checking enabled.
* tree-ssa-loop-manip.c (add_exit_phis_var): Assert that var is
a gimple_reg if checking is enabled.
(find_uses_to_rename_stmt): Only look at non-virtual USE operands.
* tree-into-ssa (compute_global_livein): Change the worklist
type from an array to a VEC.
From-SVN: r190235
Richard Guenther [Wed, 8 Aug 2012 14:51:26 +0000 (14:51 +0000)]
tree-ssa-operands.h (virtual_operand_p): Declare.
2012-08-08 Richard Guenther <rguenther@suse.de>
* tree-ssa-operands.h (virtual_operand_p): Declare.
* tree-ssa-operands.c (virtual_operand_p): New predicate.
* gimple.c (is_gimple_reg): Use virtual_operand_p.
* tree-into-ssa.c (prepare_block_for_update): Likewise.
* tree-vect-loop-manip.c (adjust_debug_stmts): Likewise.
From-SVN: r190231
Uros Bizjak [Wed, 8 Aug 2012 14:48:43 +0000 (16:48 +0200)]
ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI when things are wrong.
* src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
just return FFI_BAD_ABI when things are wrong.
From-SVN: r190230
Richard Guenther [Wed, 8 Aug 2012 14:40:30 +0000 (14:40 +0000)]
tree-call-cdce.c (check_pow): Simplify.
2012-08-08 Richard Guenther <rguenther@suse.de>
* tree-call-cdce.c (check_pow): Simplify.
(gen_conditions_for_pow_int_base): Likewise.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Do not handle
virtual operands here.
* tree-ssa-operands.c (get_name_decl): Remove unused function.
* gimplify.c (gimple_regimplify_operands): Remove dead code.
* tree-vrp.c (get_value_range): Move SSA_NAME_VAR access.
* tree-parloops.c (create_phi_for_local_result): Use copy_ssa_name.
* value-prof.c (gimple_ic): Use duplicate_ssa_name.
(gimple_stringop_fixed_value): Likewise.
* tree.c (needs_to_live_in_memory): Remove SSA name handling.
* tree-stdarg.c (find_va_list_reference): Store SSA_NAME_VERSIONs
in the bitmap alongside shifted DECL_UIDs.
(va_list_counter_struct_op): Likewise.
(va_list_ptr_read): Likewise.
(va_list_ptr_write): Likewise.
(check_va_list_escapes): Likewise.
(check_all_va_list_escapes): Likewise.
(execute_optimize_stdarg): Likewise.
* tree-outof-ssa.c (insert_backedge_copies): Use copy_ssa_name.
From-SVN: r190229
H.J. Lu [Wed, 8 Aug 2012 13:39:33 +0000 (06:39 -0700)]
Don't return identity for CONST or symbolic reference
gcc/
PR rtl-optimization/54157
* combine.c (gen_lowpart_for_combine): Don't return identity
for CONST or symbolic reference.
gcc/testsuite/
PR rtl-optimization/54157
* gcc.target/i386/pr54157.c: New file.
From-SVN: r190228
Michael Zolotukhin [Wed, 8 Aug 2012 13:25:58 +0000 (13:25 +0000)]
i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
ChangeLog:
2012-08-08 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
* common/config/i386/i386-common.c (OPTION_MASK_ISA_ADX_SET): New.
(OPTION_MASK_ISA_ADX_UNSET): Likewise.
(ix86_handle_option): Handle madx option.
* config.gcc (i[34567]86-*-*): Add adxintrin.h.
(x86_64-*-*): Likewise.
* config/i386/adxintrin.h: New header.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect ADCX/ADOX
support.
* config/i386/i386-builtin-types.def
(UCHAR_FTYPE_UCHAR_UINT_UINT_PUNSIGNED): New function type.
(UCHAR_FTYPE_UCHAR_ULONGLONG_ULONGLONG_PULONGLONG): Likewise.
* config/i386/i386-c.c: Define __ADX__ if needed.
* config/i386/i386.c (ix86_target_string): Define -madx option.
(PTA_ADX): New.
(ix86_option_override_internal): Handle new option.
(ix86_valid_target_attribute_inner_p): Add OPT_madx.
(ix86_builtins): Add IX86_BUILTIN_ADDCARRYX32,
IX86_BUILTIN_ADDCARRYX64.
(ix86_init_mmx_sse_builtins): Define corresponding built-ins.
(ix86_expand_builtin): Handle these built-ins.
(ix86_expand_args_builtin): Handle new function types.
* config/i386/i386.h (TARGET_ADX): New.
* config/i386/i386.md (adcx<mode>3): New define_insn.
* config/i386/i386.opt (madx): New.
* config/i386/x86intrin.h: Include adxintrin.h.
testsuite/ChangeLog:
* gcc.target/i386/adx-addcarryx32-1.c: New.
* gcc.target/i386/adx-addcarryx32-2.c: New.
* gcc.target/i386/adx-addcarryx64-1.c: New.
* gcc.target/i386/adx-addcarryx64-2.c: New.
* gcc.target/i386/adx-check.h: New.
* gcc.target/i386/i386.exp (check_effective_target_adx): New.
* gcc.target/i386/sse-12.c: Add -madx.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
* g++.dg/other/i386-3.C: Ditto.
From-SVN: r190227
Nick Clifton [Wed, 8 Aug 2012 09:03:05 +0000 (09:03 +0000)]
oops - accidentally omitted from previous delta.
From-SVN: r190225
Nick Clifton [Wed, 8 Aug 2012 08:34:25 +0000 (08:34 +0000)]
* config/rl78/rl78.c: Include tree-pass.h.
From-SVN: r190224
Steven Bosscher [Wed, 8 Aug 2012 06:29:12 +0000 (06:29 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))
PR middle-end/54146
* ira.c (init_live_subregs): Take live_subregs_used as a bitmap.
(build_insn_chain): Make live_subregs_used a bitmap.
Use SBITMAP_SIZE to ignore the paradoxical bytes of subregs.
Use sbitmap_free to free the live_subreg sbitmaps.
From-SVN: r190223
Steven Bosscher [Wed, 8 Aug 2012 06:28:10 +0000 (06:28 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))
PR middle-end/54146
* ifcvt.c: Include pointer-set.h.
(cond_move_process_if_block): Change type of then_regs and
else_regs from alloca'd array to pointer_sets.
(check_cond_move_block): Update for this change.
(cond_move_convert_if_block): Likewise.
* Makefile.in: Fix dependencies for ifcvt.o.
From-SVN: r190222
Bill Schmidt [Wed, 8 Aug 2012 01:35:22 +0000 (01:35 +0000)]
gimple-ssa-strength-reduction.c (struct incr_info_d): New struct.
gcc:
2012-08-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (struct incr_info_d): New struct.
(incr_vec): New static var.
(incr_vec_len): Likewise.
(address_arithmetic_p): Likewise.
(stmt_cost): Remove dead assignment.
(dump_incr_vec): New function.
(cand_abs_increment): Likewise.
(lazy_create_slsr_reg): Likewise.
(incr_vec_index): Likewise.
(count_candidates): Likewise.
(record_increment): Likewise.
(record_increments): Likewise.
(unreplaced_cand_in_tree): Likewise.
(optimize_cands_for_speed_p): Likewise.
(lowest_cost_path): Likewise.
(total_savings): Likewise.
(analyze_increments): Likewise.
(ncd_for_two_cands): Likewise.
(nearest_common_dominator_for_cands): Likewise.
(profitable_increment_p): Likewise.
(insert_initializers): Likewise.
(introduce_cast_before_cand): Likewise.
(replace_rhs_if_not_dup): Likewise.
(replace_one_candidate): Likewise.
(replace_profitable_candidates): Likewise.
(analyze_candidates_and_replace): Handle candidates with SSA-name
strides.
gcc/testsuite:
2012-08-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-5.c: New.
* gcc.dg/tree-ssa/slsr-6.c: New.
* gcc.dg/tree-ssa/slsr-7.c: New.
* gcc.dg/tree-ssa/slsr-8.c: New.
* gcc.dg/tree-ssa/slsr-9.c: New.
* gcc.dg/tree-ssa/slsr-10.c: New.
* gcc.dg/tree-ssa/slsr-11.c: New.
* gcc.dg/tree-ssa/slsr-12.c: New.
* gcc.dg/tree-ssa/slsr-13.c: New.
* gcc.dg/tree-ssa/slsr-14.c: New.
* gcc.dg/tree-ssa/slsr-15.c: New.
* gcc.dg/tree-ssa/slsr-16.c: New.
* gcc.dg/tree-ssa/slsr-17.c: New.
* gcc.dg/tree-ssa/slsr-18.c: New.
* gcc.dg/tree-ssa/slsr-19.c: New.
* gcc.dg/tree-ssa/slsr-20.c: New.
* gcc.dg/tree-ssa/slsr-21.c: New.
* gcc.dg/tree-ssa/slsr-22.c: New.
* gcc.dg/tree-ssa/slsr-23.c: New.
* gcc.dg/tree-ssa/slsr-24.c: New.
* gcc.dg/tree-ssa/slsr-25.c: New.
* gcc.dg/tree-ssa/slsr-26.c: New.
* gcc.dg/tree-ssa/slsr-30.c: New.
* gcc.dg/tree-ssa/slsr-31.c: New.
From-SVN: r190220
GCC Administrator [Wed, 8 Aug 2012 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190219
Benjamin Kosnik [Tue, 7 Aug 2012 23:03:55 +0000 (23:03 +0000)]
re PR libstdc++/54005 (Use __atomic_always_lock_free in libstdc++ is_lock_free instead of __atomic_is_lock_free)
2012-08-07 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/54005
* include/std/atomic: Use __atomic_always_lock_free.
* include/bits/atomic_base.h: Same.
From-SVN: r190216
Steven Bosscher [Tue, 7 Aug 2012 22:14:29 +0000 (22:14 +0000)]
cfg.c (debug_bb): Do not set TDF_BLOCKS.
gcc/
* cfg.c (debug_bb): Do not set TDF_BLOCKS.
* cfghooks.c (dump_bb): Honor ~TDF_BLOCKS.
* pretty-print.c (pp_base_flush): Do not add a newline, and do not
clear pp_needs_newline.
* pretty-print.h (pp_newline_and_flush): New macro with the behavior
of pp_base_flush before the above change.
* langhooks.c (lhd_print_error_function): Use pp_newline_and_flush
instead of pp_flush.
* diagnostic.c (diagnostic_finish): Likewise.
(diagnostic_report_diagnostic): Likewise.
(verbatim): Likewise.
(error_recursion): Likewise.
* tree-pretty-print.c (print_generic_stmt): Likewise.
(print_generic_stmt_indented): LIkewise.
* gimple-pretty-print.c (print_gimple_stmt): Likewise.
(print_gimple_seq): Likewise.
(gimple_dump_bb_buff): Likewise.
c-family/
* c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
instead of separate pp_newline and pp_flush.
(print_c_tree): Likewise.
cp/
* error.c (print_instantiation_context): Pretty-print a newline before
diagnostic_flush_buffer.
* cxx-pretty-print.c (pp_cxx_function_definition): Use
pp_newline_and_flush instead of separate pp_newline and pp_flush.
testsuite/
* gcc.dg/tree-prof/update-loopch.c: Ask for dump with blocks info.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
* gcc.dg/tree-ssa/pr18133-1.c: Likewise.
From-SVN: r190215
Uros Bizjak [Tue, 7 Aug 2012 21:01:52 +0000 (23:01 +0200)]
* ChangeLog: Add PR number.
From-SVN: r190213
Uros Bizjak [Tue, 7 Aug 2012 20:57:56 +0000 (22:57 +0200)]
var-tracking.c (var_lowpart): Exit early for matched modes.
* var-tracking.c (var_lowpart): Exit early for matched modes.
From-SVN: r190212
Richard Henderson [Tue, 7 Aug 2012 17:32:19 +0000 (10:32 -0700)]
s390: Convert from sync to atomic optabs
* config/s390/s390.c (s390_emit_compare_and_swap): Update for
atomic_compare_and_swapsi_internal name change.
(s390_expand_insv): Try RISBG last, not requiring operands in
registers but forcing them there. Try a limited form of ICM.
(s390_two_part_insv): New.
(s390_expand_cs_hqi): Use it. Update for atomic optabs.
* config/s390/s390.md (UNSPEC_MOVA): New.
(TDSI): Remove mode iterator.
(DGPR, DINT, TDI): New mode iterators.
(td): New mode attribute.
(mem_signal_fence): New.
(mem_thread_fence): Rename from memory_barrier; update for model arg.
(mem_thread_fence_1): Rename from *memory_barrier.
(atomic_load<DINT>, atomic_store<DINT>): New expanders.
(atomic_loaddi_1, atomic_loadti_1): New.
(atomic_storedi_1, atomic_storeti_1): New.
(sync_compare_and_swap<TDSI>, sync_compare_and_swap<HQI>): Remove.
(atomic_compare_and_swap<DGPR>, atomic_compare_and_swap<HQI>): New.
(atomic_compare_and_swap<DGPR>_internal): New.
(*sync_compare_and_swap<DW>, *sync_compare_and_swap<GPR>): Remove.
(*atomic_compare_and_swap<TDI>_1): New.
(*atomic_compare_and_swapdi_2, *atomic_compare_and_swapsi_3): New.
(sync_<ATOMIC_Z196><GPR>, sync_old_<ATOMIC_Z196><GPR>): Remove.
(atomic_fetch_<ATOMIC_Z196><GPR>): New.
(atomic_fetch_<ATOMC_Z196><GPR>_iaf): New.
(sync_<ATOMIC><HQI>, sync_old_<ATOMIC><HQI>): Remove.
(sync_new_<ATOMIC><HQI>): Remove.
(atomic_<ATOMIC><HQI>, atomic_fetch_<ATOMIC><HQI>): New.
(atomic_<ATOMIC>_fetch<HQI>): New.
(sync_lock_test_and_set<HQI>): Remove.
(atomic_exchange<HQI>): New.
From-SVN: r190209
Paul Brook [Tue, 7 Aug 2012 16:08:49 +0000 (16:08 +0000)]
except.c (switch_to_exception_section): Place tables for DECL_ONE_ONLY functions in comdat groups.
2012-08-07 Paul Brook <paul@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* except.c (switch_to_exception_section): Place tables for
DECL_ONE_ONLY functions in comdat groups.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r190206
Richard Guenther [Tue, 7 Aug 2012 14:17:44 +0000 (14:17 +0000)]
tree-flow.h (copy_ssa_name_fn): New function.
2012-08-07 Richard Guenther <rguenther@suse.de>
* tree-flow.h (copy_ssa_name_fn): New function.
(duplicate_ssa_name_fn): Likewise.
* tree-flow-inline.h (copy_ssa_name): New function.
(duplicate_ssa_name): Likewise.
* tree-ssanames.c (copy_ssa_name_fn): New function.
(duplicate_ssa_name): Rename to ...
(duplicate_ssa_name_fn): ... this and adjust.
* tree-tailcall.c (update_accumulator_with_ops): Use copy_ssa_name.
* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Likewise.
(slpeel_update_phi_nodes_for_guard2): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_loop_versioning): Likewise.
* tree-parloops.c (transform_to_exit_first_loop): Likewise.
(create_parallel_loop): Likewise.
* ipa-split.c (split_function): Likewise.
* tree-vect-loop.c (vect_is_simple_reduction_1): Likewise.
(vect_create_epilog_for_reduction): Likewise.
* tree-vect-data-refs.c (bump_vector_ptr): Likewise.
(vect_setup_realignment): Likewise.
* tree-vect-stmts.c (vectorizable_load): Likewise.
* tree-switch-conversion.c (build_one_array): Likewise.
(gen_def_assigns): Likewise.
* tree-cfg.c (gimple_make_forwarder_block): Likewise.
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Call
create_zero_dim_array with the SSA name.
(rewrite_phi_out_of_ssa): Likewise.
(rewrite_cross_bb_scalar_dependence): Likewise. Use copy_ssa_name.
From-SVN: r190202
Richard Guenther [Tue, 7 Aug 2012 14:16:11 +0000 (14:16 +0000)]
tree-dfa.c (set_ssa_default_def): Clear the SSA_NAME_DEFAULT_DEF bit of the old name when we clear the slot.
2012-08-07 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (set_ssa_default_def): Clear the SSA_NAME_DEFAULT_DEF
bit of the old name when we clear the slot.
* tree-ssa-live.c (remove_unused_locals): Release any default
def associated with an unused var.
* tree-ssa-copy.c (may_propagate_copy_into_asm): Always return true.
From-SVN: r190201
Richard Guenther [Tue, 7 Aug 2012 12:11:43 +0000 (12:11 +0000)]
tree-into-ssa.c (rewrite_stmt): Remove clobbers for variables we rewrite into SSA form.
2012-08-07 Richard Guenther <rguenther@suse.de>
* tree-into-ssa.c (rewrite_stmt): Remove clobbers for variables
we rewrite into SSA form.
(rewrite_enter_block): Adjust.
* gimple-iterator.c (gsi_replace): Also allow replacement with
a stmt without a lhs.
* tree-ssa-live.c (remove_unused_locals): Remove code handling
clobbers of SSA names.
* tree-nested.c (convert_local_reference_stmt): Remove clobbers
for variables we access through the local chain.
* tree-cfg.c (verify_gimple_assign_single): Verify clobbers
clobber full decls only.
From-SVN: r190200
Richard Guenther [Tue, 7 Aug 2012 10:36:01 +0000 (10:36 +0000)]
gimple.h (gimple_phi_set_result): Adjust SSA_NAME_DEF_STMT.
2012-08-07 Richard Guenther <rguenther@suse.de>
* gimple.h (gimple_phi_set_result): Adjust SSA_NAME_DEF_STMT.
* tree-phinodes.c (make_phi_node): Allow a NULL var.
* tree-into-ssa.c (insert_phi_nodes_for): Simplify.
* tree-complex.c (update_phi_components): Likewise.
* tree-ssa-loop-manip.c (create_iv): Likewise.
(add_exit_phis_edge): Likewise.
(split_loop_exit_edge): Likewise.
(tree_transform_and_unroll_loop): Likewise.
* value-prof.c (gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
* omp-low.c (expand_parallel_call): Likewise.
(expand_omp_for_static_chunk): Likewise.
(expand_omp_atomic_pipeline): Likewise.
* tree-parloops.c (create_phi_for_local_result): Likewise.
(transform_to_exit_first_loop): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
* graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
* tree-predcom.c (initialize_root_vars): Likewise.
(initialize_root_vars_lm): Likewise.
* sese.c (sese_add_exit_phis_edge): Likewise.
* gimple-streamer-in.c (input_phi): Likewise.
* tree-inline.c (copy_phis_for_bb): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
* tree-cfg.c (gimple_make_forwarder_block): Likewise.
(gimple_duplicate_bb): Likewise.
From-SVN: r190199
Nick Clifton [Tue, 7 Aug 2012 10:27:37 +0000 (10:27 +0000)]
mn10300.c (mn10300_expand_prologue): Report stack usage if requested.
* config/mn10300/mn10300.c (mn10300_expand_prologue): Report
stack usage if requested.
From-SVN: r190198
Ian Lance Taylor [Tue, 7 Aug 2012 04:42:49 +0000 (04:42 +0000)]
runtime: support NumCPU() on more platforms Added support for Solaris, Irix, *BSD (including Darwin).
runtime: support NumCPU() on more platforms
Added support for Solaris, Irix, *BSD (including Darwin).
Still missing support for RTEMS.
Fixes issue 3698 in Go issue tracker.
From-SVN: r190197
GCC Administrator [Tue, 7 Aug 2012 00:17:32 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190194
Cary Coutant [Mon, 6 Aug 2012 22:49:05 +0000 (22:49 +0000)]
cgraphunit.c (assemble_thunk): Add source line info.
2012-08-06 Cary Coutant <ccoutant@google.com>
gcc/
* cgraphunit.c (assemble_thunk): Add source line info.
* final.c (final): Check for non-null cfg pointer.
gcc/testsuite/
* g++.dg/debug/dwarf2/non-virtual-thunk.C: New test case.
From-SVN: r190190
Sandra Loosemore [Mon, 6 Aug 2012 21:28:34 +0000 (17:28 -0400)]
24k.md (r24k_unknown_store): Delete special handling for cprestore.
2012-08-06 Sandra Loosemore <sandra@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
Julian Brown <julian@codesourcery.com>
gcc/
* config/mips/24k.md (r24k_unknown_store): Delete special handling
for cprestore.
(r24k_int_load, r24k_int_arith, r24k_int_mul3, r24k_int_mfhilo)
(r24k_int_cop, r24k_int_multi)
(r24kf2_1_fcvt_f2i, r24kf2_1_fxfer)
(r24kf1_1_fcvt_f2i, r24kf1_1_fxfer): Use mips_store_data_bypass_p
instead of store_data_bypass_p.
* config/mips/74k.md (r74k_int_store): Delete special handling for
cprestore.
(r74k_int_load, r74k_int_logical, r74k_int_arith, r74k_int_cmove):
Use mips_store_data_bypass_p instead of store_data_bypass_p.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r190189
Janus Weil [Mon, 6 Aug 2012 20:36:16 +0000 (22:36 +0200)]
re PR fortran/35831 ([F95] Shape mismatch check missing for dummy procedure argument)
2012-08-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/35831
* interface.c (check_result_characteristics): New function, which checks
the characteristics of function results.
(gfc_compare_interfaces,gfc_check_typebound_override): Call it.
2012-08-06 Janus Weil <janus@gcc.gnu.org>
PR fortran/35831
* gfortran.dg/dummy_procedure_5.f90: Modified.
* gfortran.dg/dummy_procedure_8.f90: New.
* gfortran.dg/interface_26.f90: Modified.
* gfortran.dg/proc_ptr_11.f90: Modified.
* gfortran.dg/proc_ptr_15.f90: Modified.
* gfortran.dg/proc_ptr_result_5.f90: Modified.
* gfortran.dg/typebound_override_1.f90: Modified.
* gfortran.dg/typebound_proc_6.f03: Modified.
From-SVN: r190187
Paolo Carlini [Mon, 6 Aug 2012 18:06:42 +0000 (18:06 +0000)]
[multiple changes]
2012-08-06 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
tweaks.
* testsuite/decimal/unary-arith.cc: Likewise.
* testsuite/decimal/ctor.cc: Likewise.
* testsuite/decimal/conversion-to-integral.cc: Likewise.
* testsuite/decimal/make-decimal.cc: Likewise.
* testsuite/decimal/comparison.cc: Likewise.
* testsuite/decimal/incdec-memfunc.cc: Likewise.
* testsuite/decimal/conversion-to-generic-float.cc: Likewise.
* testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
* testsuite/decimal/cast_neg.cc: Likewise.
* testsuite/decimal/incdec.cc: Likewise.
* testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
* testsuite/decimal/binary-arith.cc: Likewise.
* testsuite/decimal/conversion-from-float.cc: Likewise.
* testsuite/decimal/conversion-from-integral.cc: Likewise.
* testsuite/decimal/compound-assignment.cc: Likewise.
2012-08-06 Peter Bergner <bergner@vnet.ibm.com>
PR libstdc++/54036
* include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
a unary operator.
* testsuite/decimal/pr54036-1.cc: New test.
* testsuite/decimal/pr54036-2.cc: Likewise.
* testsuite/decimal/pr54036-3.cc: Likewise.
From-SVN: r190186
Marc Glisse [Mon, 6 Aug 2012 16:38:48 +0000 (18:38 +0200)]
re PR tree-optimization/51938 (missed optimization: 2 comparisons)
2012-08-06 Marc Glisse <marc.glisse@inria.fr>
gcc/
PR tree-optimization/51938
PR tree-optimization/52005
* tree-ssa-ifcombine.c (ifcombine_ifandif): New parameters for
inverted conditions.
(ifcombine_iforif): Remove, merge code into ifcombine_ifandif.
(tree_ssa_ifcombine_bb): Update calls to the above. Detect !a&&b
and !a||b patterns.
gcc/testsuite/
PR tree-optimization/51938
PR tree-optimization/52005
* gcc.dg/tree-ssa/ssa-ifcombine-8.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-11.c: Likewise.
From-SVN: r190184
Dodji Seketeli [Mon, 6 Aug 2012 16:19:09 +0000 (16:19 +0000)]
Avoid crashing on erroneous static_assert usage
When working on something else, I noticed that failing to provide the
second argument to the static_assert operator would lead to an ICE.
Fixed thus, and tested against trunk on x86_64-unknown-linux-gnu.
gcc/cp/
* semantics.c (finish_static_assert): Don't crash on erroneous
message or condition.
gcc/testsuite/
* g++.dg/cpp0x/static_assert8.C: New test.
From-SVN: r190182
Olivier Hainque [Mon, 6 Aug 2012 15:15:37 +0000 (15:15 +0000)]
tree-emutls.c (new_emutls_decl): When a var_section is requested by the target...
* tree-emutls.c (new_emutls_decl): When a var_section is requested by
the target, attach the new decl to that, not to the template section.
From-SVN: r190179
Jason Merrill [Mon, 6 Aug 2012 10:25:22 +0000 (06:25 -0400)]
sfinae38.C: New.
2012-08-06 Jason Merrill <jason@redhat.com>
* g++.dg/cpp0x/sfinae38.C: New.
From-SVN: r190176
Marc Glisse [Mon, 6 Aug 2012 09:49:39 +0000 (11:49 +0200)]
re PR c++/54165 (Cast to "void" should not implicitly call conversion functions)
/cp
2012-08-06 Marc Glisse <marc.glisse@inria.fr>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54165
* typeck.c (build_static_cast_1): Move the conversion to void case
before the perform_direct_initialization_if_possible call.
/testsuite
2012-08-06 Marc Glisse <marc.glisse@inria.fr>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54165
* g++.dg/conversion/void2.C: New.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r190175
Jose Ruiz [Mon, 6 Aug 2012 08:49:45 +0000 (08:49 +0000)]
Makefile.in: Add support for 32-bit VxWorks for SPARC in kernel mode.
2012-08-06 Jose Ruiz <ruiz@adacore.com>
* gcc-interface/Makefile.in: Add support for 32-bit VxWorks for SPARC
in kernel mode.
From-SVN: r190173
Arnaud Charlet [Mon, 6 Aug 2012 08:48:19 +0000 (10:48 +0200)]
[multiple changes]
2012-08-06 Arnaud Charlet <charlet@adacore.com>
* prj-attr.adb (Register_New_Package): Add missing blank.
2012-08-06 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Is_Two_Dim_Packed_Array): New predicate,
used when computing maximum size allowable to construct static
aggregate.
2012-08-06 Vincent Pucci <pucci@adacore.com>
* freeze.adb (Freeze_Entity): Inherit_Aspects_At_Freeze_Point
calls added for derived types and subtypes.
* sem_aux.adb, sem_aux.ads (Get_Rep_Item, Get_Rep_Pragma,
Has_Rep_Pragma): New routines.
* sem_ch13.ads (Inherit_Aspects_At_Freeze_Point): New routine.
* sem_ch13.adb (Analyze_Aspect_Specifications): Error message
for aspect Lock_Free fixed.
(Inherits_Aspects_At_Freeze_Point): New routine.
* sem_ch3.adb: Several flag settings removed since inheritance
of aspects must be performed at freeze point.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c: Fix s-oscons.ads formatting on VxWorks.
2012-08-06 Vincent Pucci <pucci@adacore.com>
* sem_dim.adb (Analyze_Dimension_Binary_Op): Issue an error message
for unknown exponent at compile-time.
2012-08-06 Gary Dismukes <dismukes@adacore.com>
* sem_eval.ads (Compile_Time_Known_Value_Or_Aggr): Enhance
comment to make it clear that the aggregate's evaluation might
still involve run-time checks even though the aggregate is
considered known at compile time.
* sinfo.ads (Compile_Time_Known_Aggregate): Correct comment to
refer to Exp_Aggr instead of Sem_Aggr.
From-SVN: r190172
Arnaud Charlet [Mon, 6 Aug 2012 08:41:41 +0000 (10:41 +0200)]
[multiple changes]
2012-08-06 Robert Dewar <dewar@adacore.com>
* xoscons.adb: Minor code reorganization (remove unused variable
E at line 331).
* g-sercom.ads, exp_attr.adb: Minor reformatting.
* sinfo.adb, sinfo.ads: Minor cleanup, remove unused flag
Static_Processing_OK.
2012-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Build_Derived_Concurrent_Type): Copy discriminant
constraint when building a constrained subtype, to prevent
undesirable tree sharing betweeb geberated subtype and derived
type definition.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* g-sercom-mingw.adb, s-oscons-tmplt.c: Add missing constants
on Windows.
2012-08-06 Sergey Rybin <rybin@adacore.com frybin>
* tree_io.ads: Update ASIS_Version_Number because of the tree fix
for discriminant constraints for concurrent types.
From-SVN: r190171
Arnaud Charlet [Mon, 6 Aug 2012 08:35:47 +0000 (10:35 +0200)]
[multiple changes]
2012-08-06 Thomas Quinot <quinot@adacore.com>
* sem_ch4.adb: Minor reformatting.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c, xoscons.adb: Per the Single UNIX Specification,
types cc_t, speed_t, and tcflag_t defined in <termios.h> all are
unsigned types. Add required special handling to have their correct
unsigned values in s-oscons.ads.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* par-ch13.adb: Minor reformatting.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb
(Set): Add Local and Flow_Control settings.
2012-08-06 Ed Schonberg <schonberg@adacore.com>
* exp_attr.adb: Suppress saving of 'Old if assertions are not
enabled.
From-SVN: r190170
Tom de Vries [Mon, 6 Aug 2012 08:32:27 +0000 (08:32 +0000)]
vrp78.c: New test.
2012-08-06 Tom de Vries <tom@codesourcery.com>
* gcc.dg/tree-ssa/vrp78.c: New test.
From-SVN: r190169
Tom de Vries [Mon, 6 Aug 2012 08:32:20 +0000 (08:32 +0000)]
tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in unsigned type.
2012-08-06 Tom de Vries <tom@codesourcery.com>
* tree-switch-conversion.c (emit_case_bit_tests): Generate MINUS_EXPR in
unsigned type.
From-SVN: r190168
Arnaud Charlet [Mon, 6 Aug 2012 08:32:05 +0000 (10:32 +0200)]
[multiple changes]
2012-08-06 Yannick Moy <moy@adacore.com>
* sem_ch4.adb (Analyze_Selected_Component): Issue an error in
Alfa mode for component not present.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* exp_ch7.adb (Insert_Actions_In_Scope_Around): Do not
use a renaming of Scope_Stack.Table (Scope_Stack.Last), as
Process_Transient_Object may introduce new scopes and cause
Scope_Stack.Table to be reallocated.
From-SVN: r190167
Arnaud Charlet [Mon, 6 Aug 2012 08:26:27 +0000 (10:26 +0200)]
[multiple changes]
2012-08-06 Robert Dewar <dewar@adacore.com>
* exp_util.adb, switch-c.adb, inline.ads, sem_ch10.adb, types.ads,
checks.adb, sem_prag.adb, sem.adb, sem.ads, sem_res.adb, sem_attr.adb,
gnat1drv.adb, exp_ch4.adb, exp_ch6.adb, opt.ads, osint.adb: Implement
extended overflow checks (step 1).
(Overflow_Check_Type, Suppress_Record, Suppress_All): New types.
(Suppress_Array): Extended to include switches to control extended
overflow checking (and renamed to Suppress_Record).
Update all uses of Suppress_Array.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* makeutl.ads: Minor documentation fix.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* exp_ch7.adb: Minor reformatting.
From-SVN: r190166
Arnaud Charlet [Mon, 6 Aug 2012 08:17:25 +0000 (10:17 +0200)]
[multiple changes]
2012-08-06 Geert Bosch <bosch@adacore.com>
* a-ngelfu.adb: Change obsolete comment that this is a non-strict
implementation.
2012-08-06 Steve Baird <baird@adacore.com>
* exp_ch7.adb (Build_Finalizer.Process_Object_Declaration): If
CodePeer_Mode = True then omit exception handlers for finalization calls
2012-08-06 Robert Dewar <dewar@adacore.com>
* exp_aggr.adb: Minor reformatting.
From-SVN: r190165
Arnaud Charlet [Mon, 6 Aug 2012 08:12:36 +0000 (10:12 +0200)]
[multiple changes]
2012-08-06 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb: Remove useless flag Body_Deleted.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* sinfo.ads (End_Span): Change default from No_Uint to Uint_0,
as this is what all usage occurrences of this attribute are
expecting.
* uintp.adb (UI_To_Int): Add assertion to guard against calling
with No_Uint.
From-SVN: r190164
Vincent Pucci [Mon, 6 Aug 2012 08:12:10 +0000 (10:12 +0200)]
re PR ada/54125 (s-atopri.adb:40:10: "Support_Atomic_Primitives" is undefined broke Ada on multiple platforms)
2012-08-06 Vincent Pucci <pucci@adacore.com>
PR ada/54125
* exp_attr.adb (Expand_N_Attribute_Reference): Expand new
Atomic_Always_Lock_Free attribute.
* sem_attr.adb (Analyze_Attribute): Analyze new
Atomic_Always_Lock_Free attribute.
(Eval_Attribute): Nothing to do with new Atomic_Always_Lock_Free
attribute.
* sem_ch9.adb (Allows_Lock_Free_Implementation):
Support_Atomic_Primitives check replaces previous erroneous
size check.
* sem_util.adb, sem_util.ads (Support_Atomic_Primitives):
New routine.
* snames.ads-tmpl: New name Name_Atomic_Always_Lock_Free and
new attribute Attribute_Atomic_Always_Lock_Free defined.
* s-atopri.adb: Support_Atomic_Primitives checks replaced by
Atomic_Always_Lock_Free queries.
* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
system-hpux.ads, system-linux-alpha.ads, system-linux-hppa.ads,
system-linux-ppc.ads, system-linux-s390.ads,
system-linux-s390x.ads, system-linux-sh4.ads,
system-linux-sparc.ads, system-lynxos178-ppc.ads,
system-lynxos-ppc.ads, system-mingw.ads,
system-vxworks-arm.ads, system-solaris-sparc.ads,
system-solaris-sparcv9.ads, system-vms_64.ads,
system-vxworks-m68k.ads, system-vxworks-mips.ads,
system-vxworks-ppc.ads, system-vxworks-sparcv9.ads: Flag
Support_Atomic_Primitives removed.
From-SVN: r190163
Arnaud Charlet [Mon, 6 Aug 2012 08:02:35 +0000 (10:02 +0200)]
[multiple changes]
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_mech.adb (Set_Mechanisms): OUT and IN OUT parameters are
now unconditionally passed by reference. IN parameters subject
to convention C_Pass_By_Copy are passed by copy, otherwise they
are passed by reference.
2012-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Object_Declaration): According to
AI95-0303, protected objects with interrupt handlers can be
declared in nested scopes. This is a binding interpretation,
and thus applies to all versions of the compiler.
2012-08-06 Robert Dewar <dewar@adacore.com>
* frontend.adb, exp_aggr.adb: Minor reformatting.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* par-endh.adb: Minor reformatting.
From-SVN: r190162
Arnaud Charlet [Mon, 6 Aug 2012 07:58:49 +0000 (09:58 +0200)]
[multiple changes]
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Process_Transient_Objects): Remove obsolete loop
processing related to array initialization. The expansion of
loops already contains a mechanism to detect controlled objects
generated by expansion and introduce a block around the loop
statements for finalization purposes.
2012-08-06 Vincent Pucci <pucci@adacore.com>
* sem_ch13.adb: Current scope must be within
or same as the scope of the entity while analysing aspect
specifications at freeze point.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* par_sco.adb: Add note about dubious SCO for TERMINATE
alternative.
* sem_ch8.adb, exp_ch11.adb: Minor reformatting.
2012-08-06 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Two_Dim_Packed_Array_Handled): New procedure to
transform an aggregate for a packed two-dimensional array into
a one-dimensional array of constant values, in order to avoid
the generation of component-by-component assignments.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* frontend.adb: Do not attempt to process deferred configuration
pragmas if the main unit failed to load, to avoid cascaded
inconsistencies that can lead to a compiler crash.
From-SVN: r190161
Arnaud Charlet [Mon, 6 Aug 2012 07:54:34 +0000 (09:54 +0200)]
[multiple changes]
2012-08-06 Vincent Pucci <pucci@adacore.com>
* s-atopri.adb: Minor reformatting.
2012-08-06 Arnaud Charlet <charlet@adacore.com>
* gnat-style.texi: Clarify that all subprograms should be
documented. Minor rewording.
From-SVN: r190160
Arnaud Charlet [Mon, 6 Aug 2012 07:51:56 +0000 (09:51 +0200)]
[multiple changes]
2012-08-06 Robert Dewar <dewar@adacore.com>
* aspects.ads: Define Aspect_Id_Exclude_No_Aspect.
* par-ch13.adb, restrict.adb: Use Aspect_Id_Exclude_No_Aspect to
simplify code.
2012-08-06 Yannick Moy <moy@adacore.com>
* gnat-style.texi: Update style guide for declarations.
2012-08-06 Yannick Moy <moy@adacore.com>
* sem_attr.adb (Analyze_Attribute): In the case for 'Old,
skip a special expansion which is not needed in Alfa mode.
2012-08-06 Yannick Moy <moy@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): Do not perform
an expansion of the iterator in Alfa mode.
From-SVN: r190159
Arnaud Charlet [Mon, 6 Aug 2012 07:46:43 +0000 (09:46 +0200)]
[multiple changes]
2012-08-06 Robert Dewar <dewar@adacore.com>
* s-oscons-tmplt.c, sem_ch9.adb, osint.adb: Minor reformatting.
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Remove obsolete
Alfa-specific guard. The code is a leftover from an early
implementation of iterators which is no longer in use.
2012-08-06 Vincent Celier <celier@adacore.com>
* par-ch13.adb (Get_Aspect_Specifications): Do not consider
No_Aspect when checking for a mispelled aspect.
From-SVN: r190158
Arnaud Charlet [Mon, 6 Aug 2012 07:43:45 +0000 (09:43 +0200)]
[multiple changes]
2012-08-06 Robert Dewar <dewar@adacore.com>
* s-htable.adb: Minor reformatting.
2012-08-06 Thomas Quinot <quinot@adacore.com>
* s-oscons-tmplt.c, g-socket.adb (System.OS_Constants.Target_OS):
Suppress warnings so that we don't have to do it at each usage.
From-SVN: r190157
Arnaud Charlet [Mon, 6 Aug 2012 07:33:43 +0000 (09:33 +0200)]
[multiple changes]
2012-08-06 Vincent Pucci <pucci@adacore.com>
* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body):
Use of Known_Static_Esize instead of Known_Esize and
Known_Static_RM_Size instead of Known_RM_Size in order to
properly call UI_To_Int. Don't check the size of the component
type in case of generic.
* sem_ch9.adb (Allows_Lock_Free_Implementation):
Use of Known_Static_Esize instead of Known_Esize and
Known_Static_RM_Size instead of Known_RM_Size in order to properly
call UI_To_Int. Don't check the size of the component type in
case of generic.
2012-08-06 Hristian Kirtchev <kirtchev@adacore.com>
* checks.adb (Discrete_Range_Cond): Do not try to optimize on
the assumption that the type of an expression can always fit in
the target type of a conversion.
From-SVN: r190156
GCC Administrator [Mon, 6 Aug 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190154
Venkataramanan Kumar [Sun, 5 Aug 2012 12:29:52 +0000 (12:29 +0000)]
Document AMD btver2
From-SVN: r190151
Sandra Loosemore [Sun, 5 Aug 2012 00:35:05 +0000 (20:35 -0400)]
mips.c (mips_option_override): Check -fpic for compatibility with -mabicalls and ABI.
2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
Richard Sandiford <rdsandiford@googlemail.com>
gcc/
* config/mips/mips.c (mips_option_override): Check -fpic
for compatibility with -mabicalls and ABI.
gcc/testsuite/
* g++.dg/opt/enum2.C: Require fpic target.
* g++.dg/lto/20090303_0.C: Likewise.
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r190150
GCC Administrator [Sun, 5 Aug 2012 00:18:19 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190149
Catherine Moore [Sat, 4 Aug 2012 22:16:57 +0000 (18:16 -0400)]
xlr.md (ir_xlr_alu_clz): New insn_reservation.
2012-08-04 Catherine Moore <clm@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/mips/xlr.md (ir_xlr_alu_clz): New insn_reservation.
(ir_xlr_alu): Remove clz.
* config/mips/mips-cpus.def (xlr): Set PTF_AVOID_BRANCHLIKELY.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r190146
Sandra Loosemore [Sat, 4 Aug 2012 22:05:55 +0000 (18:05 -0400)]
clear-cache-1.c: Test for alternate cache flush function names too.
2012-08-04 Sandra Loosemore <sandra@codesourcery.com>
Catherine Moore <clm@codesourcery.com>
gcc/testsuite/
* gcc.target/mips/clear-cache-1.c: Test for alternate cache
flush function names too.
* gcc.target/mips/clear-cache-1.c: Likewise.
Co-Authored-By: Catherine Moore <clm@codesourcery.com>
From-SVN: r190145
Thomas Koenig [Sat, 4 Aug 2012 18:26:56 +0000 (11:26 -0700)]
Fix PR 54033, problems with -I, with test cases
PR fortran/54033
* scanner.c (add_path_to_list): New argument warn. Don't
warn if it is true.
(gfc_add_include_path): Warn if directory is missing.
(gfc_add_intrinsic_modules_path): Do not warn if directory
is missing.
* optinons.c (gfc_handle_option): Do not add directory
for intrinsic modules to normal include path.
From-SVN: r190144
Richard Earnshaw [Sat, 4 Aug 2012 14:02:56 +0000 (14:02 +0000)]
arm.c (arm_gen_constant): Use SImode when preparing operands for gen_extzv_t2.
* arm.c (arm_gen_constant): Use SImode when preparing operands for
gen_extzv_t2.
From-SVN: r190143
Paolo Carlini [Sat, 4 Aug 2012 11:44:28 +0000 (11:44 +0000)]
revert: stl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type.
2012-08-04 Paolo Carlini <paolo.carlini@oracle.com>
Revert:
2012-08-03 Ollie Wild <aaw@google.com>
Richard Smith <richardsmith@google.com>
* include/bits/stl_map.h (operator[](key_type&&)): Replace
std::make_pair with value_type.
* testsuite/23_containers/map/operators/2.cc: New test.
From-SVN: r190142
Uros Bizjak [Sat, 4 Aug 2012 08:37:50 +0000 (10:37 +0200)]
i386.h (QI_REGNO_P): New define.
* config/i386/i386.h (QI_REGNO_P): New define.
(ANY_QI_REGNO_P): Ditto.
(GENERAL_REGNO_P): Use IN_RANGE macro.
(QI_REG_P): Use QI_REGNO_P.
(ANY_QI_REG_P): Use GENERAL_REGNO_P and QI_REGNO_P.
(HARD_REGNO_CALLER_SAVE_MODE): Use QI_REGNO_P.
* config/i386/i386.c (ix86_hard_regno_mode_ok): Ditto.
(x86_extended_QIreg_mentioned_p): Ditto. Also check if
register is a general register.
From-SVN: r190141
H.J. Lu [Sat, 4 Aug 2012 05:33:27 +0000 (05:33 +0000)]
Replace top_srcdir with srcdir
PR driver/54171
* Makefile.in (version): Replace top_srcdir with srcdir.
From-SVN: r190140
GCC Administrator [Sat, 4 Aug 2012 00:18:21 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r190139
Jonathan Yong [Fri, 3 Aug 2012 23:42:20 +0000 (23:42 +0000)]
* Makefile.in (version): set to BASE-VER file from gcc directory.
From-SVN: r190136
François Dumont [Fri, 3 Aug 2012 19:34:49 +0000 (19:34 +0000)]
functions.h (__check_partition_lower_aux): Remove redundant comparison with pivot value.
2012-08-03 François Dumont <fdumont@gcc.gnu.org>
* include/debug/functions.h (__check_partition_lower_aux): Remove
redundant comparison with pivot value.
(__check_partition_upper_aux): Likewise.
From-SVN: r190134
Uros Bizjak [Fri, 3 Aug 2012 17:40:34 +0000 (19:40 +0200)]
sync.md (*atomic_fetch_add_cmp<mode>): Use incdec_operand predicate to return INC or DEC insn mnemonic.
* config/i386/sync.md (*atomic_fetch_add_cmp<mode>): Use
incdec_operand predicate to return INC or DEC insn mnemonic.
Add %K operand modifier.
(atomic_add<mode>): Use incdec_operand predicate to
return INC or DEC insn mnemonic.
(atomic_dec<mode>): Ditto.
From-SVN: r190132
Bill Schmidt [Fri, 3 Aug 2012 16:12:22 +0000 (16:12 +0000)]
re PR target/54156 (New fail on AVX target: gcc.dg/vect/pr53773.c. 190010 vs revision 189996)
2012-08-03 Bill Schmidt <wschmidt@linux.ibm.com>
PR target/54156
* testsuite/gcc.dg/vect/pr53773.c: Change to use optimized dump.
From-SVN: r190131
Mikael Morin [Fri, 3 Aug 2012 16:00:50 +0000 (16:00 +0000)]
re PR fortran/54166 (ICE rank-1 assignment to rank-2 array section)
fortran/
PR fortran/54166
* trans-array.c (set_loop_bounds): Access specinfo using spec_dim.
testsuite/
PR fortran/54166
* gfortran.dg/array_5.f90: New test.
From-SVN: r190130
Ollie Wild [Fri, 3 Aug 2012 15:26:36 +0000 (15:26 +0000)]
stl_map.h (operator[](key_type&&)): Replace std::make_pair with value_type.
2012-08-03 Ollie Wild <aaw@google.com>
Richard Smith <richardsmith@google.com>
* include/bits/stl_map.h (operator[](key_type&&)): Replace
std::make_pair with value_type.
* testsuite/23_containers/map/operators/2.cc: New test.
Co-Authored-By: Richard Smith <richardsmith@google.com>
From-SVN: r190128
Michael Matz [Fri, 3 Aug 2012 14:43:09 +0000 (14:43 +0000)]
re PR middle-end/54146 (Very slow compile with attribute((flatten)))
PR tree-optimization/54146
* cfgexpand.c (add_scope_conflicts_1): Use bitmap_ior_into.
(add_scope_conflicts): Iterate in RPO order.
(add_stack_protection_conflicts): Iterate over the other triangle.
(fini_vars_expansion): Clear stack_vars_sorted.
From-SVN: r190126
Marc Glisse [Fri, 3 Aug 2012 12:21:14 +0000 (14:21 +0200)]
re PR tree-optimization/30318 (VRP does not create ANTI_RANGEs on overflow)
gcc/
2012-08-03 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/30318
* double-int.c (mul_double_wide_with_sign): New function.
(mul_double_with_sign): Call the new function.
* double-int.h (mul_double_wide_with_sign): Declare the new function.
* tree-vrp.c (extract_range_from_binary_expr_1) [MULT_EXPR]:
Handle integer types that wrap on overflow.
(quad_int_cmp): New helper function.
(quad_int_pair_sort): Likewise.
gcc/testsuite/
2012-08-03 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/30318
* gcc.dg/tree-ssa/vrp77.c: New testcase.
From-SVN: r190125
Marc Glisse [Fri, 3 Aug 2012 12:00:43 +0000 (14:00 +0200)]
pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
gcc/cp/ChangeLog
2012-08-03 Marc Glisse <marc.glisse@inria.fr>
* pt.c (tsubst_copy_and_build): Handle VECTOR_TYPE like scalars.
* cp-tree.h (scalarish_type_p): Declare.
* tree.c (scalarish_type_p): Make non-static.
gcc/testsuite/ChangeLog
2012-08-03 Marc Glisse <marc.glisse@inria.fr>
* g++.dg/ext/vector17.C: New testcase.
From-SVN: r190123
Richard Guenther [Fri, 3 Aug 2012 08:55:43 +0000 (08:55 +0000)]
tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query is_gimple_reg on the SSA name, not its variable.
2012-08-03 Richard Guenther <rguenther@suse.de>
* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Query
is_gimple_reg on the SSA name, not its variable.
(vect_update_ivs_after_vectorizer): Likewise.
* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
* tree-if-conv.c (if_convertible_phi_p): Likewise.
(predicate_scalar_phi): Likewise.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
(vect_analyze_scalar_cycles_1): Likewise.
* tree-ssa-live.c (register_ssa_partition_check): Likewise.
* tree-outof-ssa.c (eliminate_useless_phis): Likewise.
* tree-ssa-reassoc.c (phi_rank): Likewise.
* tree-parloops.c (separate_decls_in_region_name): Use
replace_ssa_name_symbol.
* tree-predcom.c (base_names_in_chain_on): Likewise.
* matrix-reorg.c (update_type_size): Query the type of the SSA name,
not its variable.
* gimple-ssa-strength-reduction.c (create_mul_ssa_cand): Likewise.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Likewise.
(create_add_imm_cand): Likewise.
(slsr_process_add): Likewise.
* tree-inline.c (remap_ssa_name): Do not set the type of the
new SSA_NAME.
* tree-ssa-structalias.c (get_constraint_for_ssa_var): Clarify
assert. Check for default def first.
From-SVN: r190116
Steven Bosscher [Fri, 3 Aug 2012 08:00:24 +0000 (08:00 +0000)]
cfgrtl.c (print_rtl_with_bb): Do not print a newline between insns.
* cfgrtl.c (print_rtl_with_bb): Do not print a newline between insns.
From-SVN: r190114
Steven Bosscher [Fri, 3 Aug 2012 07:58:49 +0000 (07:58 +0000)]
sched-vis (print_pattern): Handle SEQUENCE also.
* sched-vis (print_pattern): Handle SEQUENCE also.
From-SVN: r190113
Richard Henderson [Fri, 3 Aug 2012 03:28:36 +0000 (20:28 -0700)]
Revert "PR 34548"
This reverts commit 190051.
From-SVN: r190110
Jonathan Wakely [Fri, 3 Aug 2012 00:27:48 +0000 (00:27 +0000)]
memory: Include auto_ptr.h later.
* include/std/memory: Include auto_ptr.h later.
* include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
definition.
* include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
Likewise.
* include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
* include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
(shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
* include/std/future: Reduce header dependencies.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
numbers.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
From-SVN: r190109
GCC Administrator [Fri, 3 Aug 2012 00:17:34 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r190108
Kenneth Zadeck [Thu, 2 Aug 2012 22:39:57 +0000 (22:39 +0000)]
cfgexpand.c (expand_debug_locations): Encapsulate test for CONST_DOUBLE in macro.
2012-08-02 Kenneth Zadeck <zadeck@naturalbridge.com>
* cfgexpand.c (expand_debug_locations): Encapsulate test for
CONST_DOUBLE in macro.
* combine.c (try_combine, gen_lowpart_for_combine): Ditto.
* cprop.c (implicit_set_cond_p): Ditto.
* cselib.c (rtx_equal_for_cselib_1): Ditto.
* expmed.c (expand_mult): Ditto.
* expr.c (convert_modes): Ditto.
* ira-costs.c (record_reg_classes): Ditto.
* ira-lives.c (single_reg_class): Ditto.
* optabs.c (expand_copysign_absneg, expand_copysign): Ditto.
* print-rtl.c (print_rtx): Ditto.
* recog.c (simplify_while_replacing, const_double_operand)
(asm_operand_ok, constrain_operands): Ditto.
* reg-stack.c (subst_stack_regs_pat): Ditto.
* reload.c (find_reloads, find_equiv_reg): Ditto.
* rtlanal.c (replace_rtx): Remove test.
* rtlanal.c (constant_pool_constant_p, split_double): Encapsulate test for
CONST_DOUBLE in macro.
* simplify-rtx.c (mode_signbit_p, avoid_constant_pool_reference)
(simplify_unary_operation_1, simplify_const_unary_operation)
(simplify_binary_operation_1, simplify_const_binary_operation)
(simplify_relational_operation_1)
(simplify_const_relational_operations)
(implify_subreg): Ditto.
* varasm.c (output_constant_pool_2): Ditto.
* rtl.h (CONST_DOUBLE_AS_INT_P, CONST_DOUBLE_AS_FLOAT_P): New
macros.
* rtl.def (CONST_DOUBLE): Updated comments.
From-SVN: r190105
Richard Sandiford [Thu, 2 Aug 2012 21:31:57 +0000 (21:31 +0000)]
re PR target/51931 (No support for MIPS16 long branches)
gcc/
PR target/51931
* config/mips/mips-protos.h (mips_strip_unspec_address): Declare.
* config/mips/mips.c (mips_strip_unspec_address): Make extern.
(mips16_rewrite_pool_constant): Make a copy of the pool constant
before adding to a PC-relative table.
(mips16_lay_out_constants): Add a SPLIT_P parameter.
(mips16_load_branch_target, mips16_split_long_branches): New functions.
(mips_reorg): Update call to mips16_lay_out_constants.
Call mips16_split_long_branches.
* config/mips/predicates.md (pc_or_label_operand): Delete.
* config/mips/mips.md (length): Add a calculation for MIPS16 branches.
Move the extended_mips16 handling further down.
(*branch_equality<mode>_mips16): Replace use pc_or_label_operand
with explicit label_ref and pc. Follow the usual operand numbering.
(*branch_equality<mode>_mips16_inverted): New pattern.
(*jump_mips16): Add length attribute.
(indirect_jump_and_restore_<mode>): New pattern.
(consttable_int): Call mips_strip_unspec_address on the operand.
gcc/testsuite/
PR target/51931
* gcc.c-torture/compile/
20001226-1.c: Remove nomips16 attribute.
* g++.dg/opt/longbranch1.C: Likewise.
From-SVN: r190104
Richard Sandiford [Thu, 2 Aug 2012 20:44:38 +0000 (20:44 +0000)]
recog.c (split_insn): Copy the original SET_SRC before using it as a note.
gcc/
* recog.c (split_insn): Copy the original SET_SRC before using
it as a note.
From-SVN: r190102
Richard Sandiford [Thu, 2 Aug 2012 20:40:10 +0000 (20:40 +0000)]
reorg.c (dbr_schedule): Delete REG_BR_PRED loop.
gcc/
* reorg.c (dbr_schedule): Delete REG_BR_PRED loop.
From-SVN: r190101
Marc Glisse [Thu, 2 Aug 2012 19:54:43 +0000 (21:54 +0200)]
re PR tree-optimization/53805 (combine_comparisons changes trapping behavior)
2012-08-02 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/53805
* gcc/fold-const.c (invert_tree_comparison): Invert ORDERED_EXPR and
UNORDERED_EXPR even for trapping floating point.
* gcc/testsuite/gcc.dg/fold-notunord.c: New testcase.
From-SVN: r190100
Mikael Morin [Thu, 2 Aug 2012 19:50:14 +0000 (19:50 +0000)]
Add the bug number in the ChangeLog
From-SVN: r190099
Mikael Morin [Thu, 2 Aug 2012 19:48:50 +0000 (19:48 +0000)]
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
fortran/
PR fortran/48820
* trans-array.c (gfc_conv_ss_startstride): Set the intrinsic
result's lower and upper bounds according to the rank.
(set_loop_bounds): Set the loop upper bound in the intrinsic case.
testsuite/
PR fortran/48820
* gfortran.dg/assumed_rank_bounds_1.f90: New test.
* gfortran.dg/assumed_rank_bounds_2.f90: New test.
From-SVN: r190098
Mikael Morin [Thu, 2 Aug 2012 19:38:58 +0000 (19:38 +0000)]
trans-array.c (set_loop_bounds): Allow non-array-section to be chosen using the stride and lower bound criteria.
* trans-array.c (set_loop_bounds): Allow non-array-section to be
chosen using the stride and lower bound criteria.
From-SVN: r190097
Mikael Morin [Thu, 2 Aug 2012 19:37:00 +0000 (19:37 +0000)]
trans-array.c (set_loop_bounds): Remove useless dimension check.
* trans-array.c (set_loop_bounds): Remove useless dimension check.
Don't update loopspec if it would loose the wanted stride criterion.
From-SVN: r190096
Mikael Morin [Thu, 2 Aug 2012 19:20:43 +0000 (19:20 +0000)]
trans-array.h (gfc_conv_descriptor_rank): New prototype.
* trans-array.h (gfc_conv_descriptor_rank): New prototype.
* trans-array.c (gfc_conv_descriptor_rank): New function moved and
renamed ...
* trans-intrinsic.c (get_rank_from_desc): ... from this one.
(gfc_conv_intrinsic_rank, gfc_conv_intrinsic_bound,
gfc_conv_associated): Also rename function calls.
From-SVN: r190095
Mikael Morin [Thu, 2 Aug 2012 19:10:38 +0000 (19:10 +0000)]
iresolve.c (resolve_bound, [...]): Don't set the shape for assumed rank arrays.
* iresolve.c (resolve_bound, gfc_resolve_shape):
Don't set the shape for assumed rank arrays.
* simplify.c (gfc_simplify_shape): Don't try to simplify if the
argument is assumed rank.
From-SVN: r190094
Jason Merrill [Thu, 2 Aug 2012 18:44:58 +0000 (14:44 -0400)]
PR c++/51213 (again)
/cp
2012-08-02 Jason Merrill <jason@redhat.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51213 (again)
* pt.c (type_unification_real): Call push_deferring_access_checks /
pop_deferring_access_checks around the substitution of default
template args.
(instantiate_template_1): When the specialization returned by
retrieve_specialization has FNDECL_HAS_ACCESS_ERRORS set and we
are in a SFINAE context, simply return error_mark_node.
* cp-tree.h (FNDECL_RECHECK_ACCESS_P): Rename FNDECL_HAS_ACCESS_ERRORS.
/testsuite
2012-08-02 Jason Merrill <jason@redhat.com>
Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51213 (again)
* g++.dg/cpp0x/sfinae37.C: Extend.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r190093