* io/transfer.c (read_block_direct): Correct condition.
* intrinsics/execute_command_line.c (execute_command_line):
Remove dead code for the HAVE_FORK case.
re PR target/56347 (FAIL: gfortran.dg/integer_exponentiation_2.f90 -O2 execution test)
PR target/56347
* config/pa/pa.md (call_value): Check for calls to powf and direct to
new call patterns that clobber %fr12.
(call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
split and postreload patterns.
* config/pa/pa.c (pa_conditional_register_usage): Revert marking
registers %fr12 and %fr12R as call used.
Paul Thomas [Sun, 10 Mar 2013 13:23:58 +0000 (13:23 +0000)]
re PR fortran/56575 (An invalid OO code causes ICE)
2013-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/56575
* expr.c (gfc_default_initializer): Check that a class declared
type has any components.
* resolve.c (resolve_fl_derived0): On failing the test for C437
set the type to BT_UNKNOWN to prevent repeat error messages.
2013-03-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/56575
* gfortran.dg/class_56.f90: New test.
re PR middle-end/56524 (Compiler ICE when compiling with -mips16)
gcc/
PR middle-end/56524
* tree.h (tree_optimization_option): Rename target_optabs to optabs.
Add base_optabs.
(TREE_OPTIMIZATION_OPTABS): Update after previous field change.
(TREE_OPTIMIZATION_BASE_OPTABS): New macro.
(save_optabs_if_changed): Replace with...
(init_tree_optimization_optabs): ...this.
* optabs.c (save_optabs_if_changed): Rename to...
(init_tree_optimization_optabs): ...this. Take the optimization node
as argument. Do nothing if the base optabs are already correct.
Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
to recompute optabs.
* function.h (function): Remove optabs field.
* function.c (invoke_set_current_function_hook): Call
init_tree_optimization_optabs. Use the result to initialize
this_fn_optabs.
Aldy Hernandez [Fri, 8 Mar 2013 22:26:37 +0000 (22:26 +0000)]
trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE if GTMA_HAS_NO_INSTRUMENTATION.
* trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
if GTMA_HAS_NO_INSTRUMENTATION.
(generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
(ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
* gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
* gimple-pretty-print.c (dump_gimple_transaction): Handle
GTMA_HAS_NO_INSTRUMENTATION.
vector.tcc (vector<>operator=(const vector<>&): Reset pointers after deallocation when memory can be reused.
2013-03-08 François Dumont <fdumont@gcc.gnu.org>
* include/bits/vector.tcc (vector<>operator=(const vector<>&):
Reset pointers after deallocation when memory can be reused.
* testsuite/23_containers/vector/allocator/minimal.cc: Insert
elements to really challenge C++11 allocator integration.
* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
* testsuite/23_containers/vector/allocator/copy_assign.cc:
Likewise.
* testsuite/23_containers/vector/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/vector/allocator/swap.cc: Likewise and
swap vector back before checks on memory/personality mapping are
performed.
* testsuite/23_containers/forward_list/allocator/minimal.cc:
Insert element to really challenge C++11 allocator integration.
* testsuite/23_containers/forward_list/allocator/copy.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/copy_assign.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/move_assign.cc:
Likewise.
* testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
and swap forward_list back before checks on memory/personality
mapping are performed.
Marek Polacek [Fri, 8 Mar 2013 14:41:14 +0000 (14:41 +0000)]
re PR tree-optimization/56478 (ICE: Floating point exception in tree_estimate_probability)
PR tree-optimization/56478
* predict.c (is_comparison_with_loop_invariant_p): Change the
type of loop_step to tree.
(predict_loops): Adjust.
(predict_iv_comparison): Perform the computations on double_ints.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r196547
Richard Biener [Fri, 8 Mar 2013 11:29:06 +0000 (11:29 +0000)]
tree-inline.c (expand_call_inline): Do not associate a BLOCK with the location in BLOCK_SOURCE_LOCATION.
2013-03-08 Richard Biener <rguenther@suse.de>
* tree-inline.c (expand_call_inline): Do not associate
a BLOCK with the location in BLOCK_SOURCE_LOCATION.
* tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
Richard Biener [Fri, 8 Mar 2013 08:45:29 +0000 (08:45 +0000)]
tree-ssa-ter.c (is_replaceable_p): Do not TER across location or block changes with -Og.
2013-03-08 Richard Biener <rguenther@suse.de>
* tree-ssa-ter.c (is_replaceable_p): Do not TER across location
or block changes with -Og. Fix for location / block encoding
changes and PHI arguments with locations.
Steven Bosscher [Thu, 7 Mar 2013 17:27:52 +0000 (17:27 +0000)]
bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT for all counters.
* bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
for all counters.
(struct output_info): Likewise.
(register_overhead): Remove bad gcc_assert.
(bitmap_find_bit): If there is only a single bitmap element, do not
count a miss as a search.
(print_statistics): Update for counter type changes.
(dump_bitmap_statistics): Likewise. Print headers such that they
are properly lined up with the printed counters.
Jakub Jelinek [Wed, 6 Mar 2013 23:26:42 +0000 (00:26 +0100)]
re PR tree-optimization/56539 (ICE: verify_ssa failed: caused by -foptimize-sibling-calls)
PR tree-optimization/56539
* tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
instead of GSI_CONTINUE_LINKING as last argument to
force_gimple_operand_gsi.
Kai Tietz [Wed, 6 Mar 2013 18:29:46 +0000 (19:29 +0100)]
20090914-2_0.c: Skip for mingw and cygwin targets.
* gcc.dg/lto/20090914-2_0.c: Skip for mingw and cygwin
targets.
* gcc.dg/lto/20091013-1_1.c: Set x64-mingw as xfail.
* gcc.dg/lto/20091013-1_2.c: Likewise.
* gcc.dg/pr31490.c: Adjust for LLP64 targets.
Richard Biener [Wed, 6 Mar 2013 11:24:07 +0000 (11:24 +0000)]
re PR tree-optimization/56294 (BOOT_CFLAGS='-O2 -g -fno-ipa-sra' leads to bootstrap comparison failure)
2013-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/56294
* tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
(insert_updated_phi_nodes_compare_uids): New function.
(update_ssa): Sort symbols_to_rename after UID before
traversing it to insert PHI nodes.
Richard Biener [Wed, 6 Mar 2013 08:38:46 +0000 (08:38 +0000)]
re PR lto/50494 (gcc.dg/vect/vect-reduc-2char.c fails spuriously on ppc with -flto)
2013-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/50494
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
Revert
2013-02-13 Richard Biener <rguenther@suse.de>
PR lto/50494
* varasm.c (output_constant_def_1): Get the decl representing
the constant as argument.
(output_constant_def): Wrap output_constant_def_1.
(make_decl_rtl): Use output_constant_def_1 with the decl
representing the constant.
(build_constant_desc): Optionally re-use a decl already
representing the constant.
(tree_output_constant_def): Adjust.
Oleg Endo [Wed, 6 Mar 2013 00:41:25 +0000 (00:41 +0000)]
re PR target/56529 ([SH] Calls to __sdivsi3_i4i and __udivsi3_i4i are generated on SH2)
PR target/56529
* config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
instead of TARGET_SH2 for call-table case. Do not set sh_div_strategy
to SH_DIV_CALL_TABLE for TARGET_SH2.
* config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
list.
* doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
call-table options.
Jakub Jelinek [Tue, 5 Mar 2013 22:31:50 +0000 (23:31 +0100)]
re PR debug/56510 (More var-tracking scalability problems)
PR debug/56510
* cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
(avoid_complex_debug_insns): New function.
(expand_debug_locations): Call it.
Jakub Jelinek [Tue, 5 Mar 2013 22:25:43 +0000 (23:25 +0100)]
re PR rtl-optimization/56484 (ICE in assign_by_spills, at lra-assigns.c:1268)
PR rtl-optimization/56484
* ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
lifetimes of hard registers on small register class machines.
Jakub Jelinek [Tue, 5 Mar 2013 15:51:48 +0000 (16:51 +0100)]
re PR middle-end/56461 (GCC is leaking lots of memory)
PR middle-end/56461
* ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
if VALGRIND_GET_VBITS is defined, temporarily make object
memory all defined, and restore previous valgrind addressability
and definability afterwards. Free this_object at the end.
* c-pch.c (pch_init): Free target_validity at the end.
Jakub Jelinek [Tue, 5 Mar 2013 15:50:38 +0000 (16:50 +0100)]
re PR middle-end/56461 (GCC is leaking lots of memory)
PR middle-end/56461
* lra.c (lra): Call lra_clear_live_ranges if live_p,
right before calling lra_create_live_ranges, also call it
when clearing live_p. Only call lra_clear_live_ranges
at the end if live_p.