1. 25 Sep, 2012 21 commits
  2. 24 Sep, 2012 19 commits
    • tree-cfg.c (move_stmt_op): Reset the expr block only when necessary. · 60478b9c
      2012-09-24  Dehao Chen  <dehao@google.com>
      
      	* tree-cfg.c (move_stmt_op): Reset the expr block only
      	when necessary.
      	(move_block_to_fn): Reset the edge's goto block even
      	when the goto locus is unknown.
      
      From-SVN: r191680
      Dehao Chen committed
    • re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers) · 55826ab6
      2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/44436
      	* include/bits/stl_tree.h
      	(_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
      	_Const_Base_ptr.
      	(_Rb_tree<>::_M_insert_node): New.
      	(_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
      	_M_insert_unique method.
      	(_Rb_tree<>::_M_insert_unique): Use latter.
      	(_Rb_tree<>::_M_emplace_unique): New, likewise.
      	(_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
      	_M_insert_equal method.
      	(_Rb_tree<>::_M_insert_equal): Use latter.
      	(_Rb_tree<>::_M_emplace_equal): New, likewise.
      	(_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
      	_M_insert_unique_ method.
      	(_Rb_tree<>::_M_insert_unique_): Use latter.
      	(_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
      	(_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
      	_M_insert_equal_ method.
      	(_Rb_tree<>::_M_insert_equal_): Use latter.
      	(_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
      	(_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
      	useless as always null.
      	* include/bits/stl_map.h: Include <tuple> in C++11.
      	(map<>::operator[](const key_type&)): Use
      	_Rb_tree<>::_M_emplace_hint_unique in C++11.
      	(map<>::operator[](key_type&&)): Likewise.
      	(map<>::emplace): New.
      	(map<>::emplace_hint): New.
      	* include/bits/stl_multimap.h (multimap<>::emplace): New.
      	(multimap<>::emplace_hint): New.
      	* include/bits/stl_set.h (set<>::emplace): New.
      	(set<>::emplace_hint): New.
      	* include/bits/stl_multiset.h (multiset<>::emplace): New.
      	(multiset<>::emplace_hint): New.
      	* include/debug/map.h (std::__debug::map<>::emplace): New.
      	(std::__debug::map<>::emplace_hint): New.
      	* include/debug/multimap.h (std::__debug::multimap<>::emplace):
      	New.
      	(std::__debug::multimap<>::emplace_hint): New.
      	* include/debug/set.h (std::__debug::set<>::emplace): New.
      	(std::__debug::set<>::emplace_hint): New.
      	* include/debug/multiset.h (std::__debug::multiset<>::emplace):
      	New.
      	(std::__debug::multiset<>::emplace_hint): New.
      	* include/profile/map.h (std::__profile::map<>::emplace): New.
      	(std::__profile::map<>::emplace_hint): New.
      	* include/profile/multimap.h (std::__profile::multimap<>::emplace):
      	New.
      	(std::__profile::multimap<>::emplace_hint): New.
      	* include/profile/set.h (std::__profile::set<>::emplace): New.
      	(std::__profile::set<>::emplace_hint): New.
      	* include/profile/multiset.h (std::__profile::multiset<>::emplace):
      	New.
      	(std::__profile::multiset<>::emplace_hint): New.
      	* testsuite/util/testsuite_container_traits.h: Signal that emplace
      	and emplace_hint are available on std::map, std::multimap,
      	std::set and std::multiset in C++11.
      	* testsuite/23_containers/map/operators/2.cc: New.
      	* testsuite/23_containers/map/modifiers/emplace/1.cc: New.
      	* testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
      	* testsuite/23_containers/set/modifiers/emplace/1.cc: New.
      	* testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
      
      From-SVN: r191679
      François Dumont committed
    • 41975.cc: Use __uset_hashtable rather than removed __unordered_set. · e6fa043b
      2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	* testsuite/performance/23_containers/insert_erase/41975.cc: Use
      	__uset_hashtable rather than removed __unordered_set.
      
      From-SVN: r191678
      François Dumont committed
    • Add missing PR to the ChangeLog · f08d73d1
      From-SVN: r191677
      Tobias Burnus committed
    • re PR fortran/54618 ([OOP] wrong-code with CLASS(...), INTENT(OUT) -- and OPTIONAL or ALLOCATABLE) · 7df938d6
      2012-09-24  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54618
              * trans-expr.c (gfc_conv_procedure_call): Fix INTENT(OUT)
              handling for allocatable BT_CLASS.
      
      From-SVN: r191676
      Tobias Burnus committed
    • Finish conversion of uses of double_int to the new API. · 9be0ac8c
      Some old functionality required new interfaces, and these have been added to
      double-int.[hc]:
      
        double_int::from_pair - static constructor function
        wide_mul_with_sign - double-wide multiply instruction
        sub_with_overflow - subtraction with overlow testing
        neg_with_overflow - negation with overlow testing
        divmod_with_overflow - div and mod with overlow testing
      
      This patch corrects the bootstrap problem on HPPA, via the addition of
      sub_with_overflow.  (The overflow properties of negation and addition are
      different from subtraction.)
      
      The prior two generations of the interface have been removed.
      
      Some of these old interfaces are still used as static implementation in
      double-int.c.
      
      The changed compiler appears 0.321% faster with 80% confidence of being faster.
      
      Tested on x86_64, HPPA, and SPARC.  However, there are changes to the avr
      config files, and I have not tested those.
      
      
      Index: gcc/java/ChangeLog
      
      2012-09-24  Lawrence Crowl  <crowl@google.com>
      
      	* decl.c (java_init_decl_processing): Change to new double_int API.
      	* jcf-parse.c (get_constant): Likewise.
      	* boehm.c (mark_reference_fields): Likewise.
      	(get_boehm_type_descriptor): Likewise.
      
      Index: gcc/ChangeLog
      
      2012-09-24  Lawrence Crowl  <crowl@google.com>
      
      	* double-int.h (double_int::from_pair): New.
      	(double_int::wide_mul_with_sign): New.
      	(double_int::sub_with_overflow): New.
      	(double_int::neg_with_overflow): New.
      	(double_int::divmod_with_overflow): New.
      	(shwi_to_double_int): Remove.
      	(uhwi_to_double_int): Remove.
      	(double_int_to_shwi): Remove.
      	(double_int_to_uhwi): Remove.
      	(double_int_fits_in_uhwi_p): Remove.
      	(double_int_fits_in_shwi_p): Remove.
      	(double_int_fits_in_hwi_p): Remove.
      	(double_int_mul): Remove.
      	(double_int_mul_with_sign): Remove.
      	(double_int_add): Remove.
      	(double_int_sub): Remove.
      	(double_int_neg): Remove.
      	(double_int_div): Remove.
      	(double_int_sdiv): Remove.
      	(double_int_udiv): Remove.
      	(double_int_mod): Remove.
      	(double_int_smod): Remove.
      	(double_int_umod): Remove.
      	(double_int_divmod): Remove.
      	(double_int_sdivmod): Remove.
      	(double_int_udivmod): Remove.
      	(double_int_multiple_of): Remove.
      	(double_int_setbit): Remove.
      	(double_int_ctz): Remove.
      	(double_int_not): Remove.
      	(double_int_ior): Remove.
      	(double_int_and): Remove.
      	(double_int_and_not): Remove.
      	(double_int_xor): Remove.
      	(double_int_lshift): Remove.
      	(double_int_rshift): Remove.
      	(double_int_lrotate): Remove.
      	(double_int_rrotate): Remove.
      	(double_int_negative_p): Remove.
      	(double_int_cmp): Remove.
      	(double_int_scmp): Remove.
      	(double_int_ucmp): Remove.
      	(double_int_max): Remove.
      	(double_int_smax): Remove.
      	(double_int_umax): Remove.
      	(double_int_min): Remove.
      	(double_int_smin): Remove.
      	(double_int_umin): Remove.
      	(double_int_ext): Remove.
      	(double_int_sext): Remove.
      	(double_int_zext): Remove.
      	(double_int_mask): Remove.
      	(double_int_max_value): Remove.
      	(double_int_min_value): Remove.
      	(double_int_zero_p): Remove.
      	(double_int_one_p): Remove.
      	(double_int_minus_one_p): Remove.
      	(double_int_equal_p): Remove.
      	(double_int_popcount): Remove.
      	(extern add_double_with_sign): Remove.
      	(#define add_double): Remove.
      	(extern neg_double): Remove.
      	(extern mul_double_with_sign): Remove.
      	(extern mul_double_wide_with_sign): Remove.
      	(#define mul_double): Remove.
      	(extern lshift_double): Remove.
      	(extern div_and_round_double): Remove.
      	* double-int.c (add_double_with_sign): Make static.
      	(#defined add_double): Localized from header.
      	(neg_double): Make static.
      	(mul_double_with_sign): Make static.
      	(mul_double_wide_with_sign): Make static.
      	(#defined mul_double): Localized from header.
      	(lshift_double): Make static.
      	(div_and_round_double): Make static.
      	(double_int::wide_mul_with_sign): New.
      	(double_int::sub_with_overflow): New.
      	(double_int::neg_with_overflow): New.
      	(double_int::divmod_with_overflow): New.
      	* emit-rtl.c (init_emit_once): Change to new double_int API.
      	* explow.c (plus_constant): Likewise.
      	* expmed.c (choose_multiplier): Likewise.
      	* fold-const.c (#define OVERFLOW_SUM_SIGN): Remove.
      	(int_const_binop_1): Change to new double_int API.
      	(fold_div_compare): Likewise.
      	(maybe_canonicalize_comparison): Likewise.
      	(pointer_may_wrap_p): Likewise.
      	(fold_negate_const): Likewise.
      	(fold_abs_const): Likewise.
      	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
      	(simplify_const_binary_operation): Likewise.
      	* tree-chrec.c (tree_fold_binomial): Likewise.
      	* tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
      	* config/sparc/sparc.c (sparc_fold_builtin): Likewise.
      	* config/avr/avr.c (avr_double_int_push_digit): Likewise.
      	(avr_map): Likewise.
      	(avr_map_decompose): Likewise.
      	(avr_out_insert_bits): Likewise.
      
      Index: gcc/cp/ChangeLog
      
      2012-09-24  Lawrence Crowl  <crowl@google.com>
      
      	* init.c (build_new_1): Change to new double_int API.
      	* decl.c (build_enumerator): Likewise.
      	* typeck2.c (process_init_constructor_array): Likewise.
      	* mangle.c (write_array_type): Likewise.
      
      Index: gcc/fortran/ChangeLog
      
      2012-09-24  Lawrence Crowl  <crowl@google.com>
      
      	* trans-expr.c (gfc_conv_cst_int_power): Change to new double_int API.
      	* target-memory.c (gfc_interpret_logical): Likewise.
      
      From-SVN: r191675
      Lawrence Crowl committed
    • re PR c++/50828 (class template parameter not printed for member function… · ee38ecd4
      re PR c++/50828 (class template parameter not printed for member function template in candidate list)
      
      2012-09-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50828
      	* error.c (dump_function_decl): Strip TFF_TEMPLATE_NAME from flags
      	at the outset.
      
      From-SVN: r191673
      Paolo Carlini committed
    • * decl.c (get_atexit_node): Remove dead code. · 3ad50c8e
      From-SVN: r191672
      Jason Merrill committed
    • * Make-lang.in (cp/parser.o): Depend on decl.h. · b6e189f6
      From-SVN: r191671
      Jason Merrill committed
    • doc/sourcebuild.texi (Selectors): Document the use of target and xfail used together. · 776de6b2
      	doc/sourcebuild.texi (Selectors): Document the use of target
      	and xfail used together.
      testsuite/
      	* lib/target-supports-dg.exp (dg-require-effective-target,
      	dg-skip-if, dg-xfail-if, dg-xfail-run-if, dg-shouldfail): Call
      	dg-process-target-1 instead of dg-process-target.
      	(dg-process-target-1): Rename from dg-process-target.
      	(dg-process-target): New.
      
      From-SVN: r191670
      Janis Johnson committed
    • re PR lto/54632 (not supported in LTO streams : tree code '�F ��D�� `) · 28957eab
      2012-09-24  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/54632
      	* tree-ssa-live.c (clear_unused_block_pointer_1): Do not
      	handle DECL_DEBUG_EXPR_IS_FROM here...
      	(clear_unused_block_pointer): ... but here when walking all
      	local decls.
      
      From-SVN: r191669
      Richard Guenther committed
    • re PR tree-optimization/54684 (bootstrap broken with --disable-checking) · bf3d1928
      2012-09-24  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/54684
      	* tree-ssa-ccp.c (optimize_unreachable): Properly update stmts.
      
      	* g++.dg/torture/pr54684.C: New testcase.
      
      From-SVN: r191667
      Richard Guenther committed
    • tree-ssa-forwprop.c: Include tree-ssa-propagate.h. · f2167d68
      2012-09-24  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* tree-ssa-forwprop.c: Include tree-ssa-propagate.h.
      	(simplify_bitfield_ref): Handle constructors.
      	* Makefile.in (tree-ssa-forwprop.o): Depend on tree-ssa-propagate.h.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/forwprop-23.c: New testcase.
      
      From-SVN: r191665
      Marc Glisse committed
    • tree-ssa-pre.c (bitmap_find_leader, [...]): Remove dominating stmt argument. · e076271b
      2012-09-24  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-pre.c (bitmap_find_leader, create_expression_by_pieces,
      	find_or_generate_expression): Remove dominating stmt argument.
      	(find_leader_in_sets, phi_translate_1, bitmap_find_leader,
      	create_component_ref_by_pieces_1, create_component_ref_by_pieces,
      	do_regular_insertion, do_partial_partial_insertion): Adjust.
      	(compute_avail): Do not set uids.
      
      From-SVN: r191664
      Richard Guenther committed
    • tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in TYPE_NONALIASED_COMPONENT flag. · 04208228
      	* tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
      	TYPE_NONALIASED_COMPONENT flag.
      	* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
      	TYPE_NONALIASED_COMPONENT flag.
      
      From-SVN: r191662
      Eric Botcazou committed
    • lto.texi: Separate sections. · 548e68fc
      2012-09-24  Jia Liu  <proljc@gmail.com>
      
             * doc/lto.texi: Separate sections.
             * doc/plugins.texi: Likewise.
      
      From-SVN: r191659
      Jia Liu committed
    • re PR middle-end/52173 (internal compiler error: verify_ssa failed possibly caused by itm) · 483ef49f
      2012-09-24  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/52173
      	* gimple.c (gimple_copy): Properly mark the copy modified
      	if SSA operands are present.
      
      	* gcc.dg/tm/pr52173-1.c: New.
      	* gcc.dg/tm/pr52173-2.c: New.
      
      From-SVN: r191658
      Richard Guenther committed
    • Daily bump. · dd9b0e0d
      From-SVN: r191657
      GCC Administrator committed