1. 29 Dec, 2011 10 commits
    • re PR libstdc++/51608 ([C++11] Unordered containers end(size_type) isn't constant time) · a188284c
      2011-12-29  François Dumont <fdumont@gcc.gnu.org>
      
      	PR libstdc++/51608
      	* include/bits/hashtable_policy.h (_Equal_helper<>): New, change the
      	way the _Equal functor is used depending on whether hash code is
      	cached or not.
      	(_Ebo_helper<>): New helper type to introduce EBO when possible.
      	(_Hash_code_base): Use _Ebo_helper to limit memory footprint. Move
      	_Equal functor management...
      	(_Hashtable_base): ...here, new, use _Equal_helper.
      	(_Local_iterator_base<>, _Locale_iterator<>, _Locale_const_iterator<>):
      	New, use _Hash_code_base, implementation of...
      	* include/bits/hashtable.h (_Hashtable<>::local_iterator,
      	_Hashtable<>::const_local_iterator): ...those. Add static assertions
      	checking that some functors are empty depending on whether hash code
      	is cache or not.
      	(_Hashtable<>::_M_bucket_index): New overloads using current bucket
      	count, use through out the _Hastable<> implementation.
      	* include/bits/unordered_set.h (__unordered_set<>,
      	__unordered_multiset<>): Cache hash code iff hash functor is not
      	empty and not final.
      	* include/bits/unordered_map.h (__unordered_map<>,
      	__unordered_multimap<>): Likewise.
      	* include/debug/unordered_map
      	(unordered_map<>::_S_to_local, unordered_multimap<>::_S_to_local):
      	Adapt to match new local iterator implementation.
      	* include/debug/unordered_set (unordered_set<>::_S_to_local,
      	unordered_multiset<>::_S_to_local): Likewise.
      	* include/profile/unordered_map (unordered_map<>::_M_profile_destruct,
      	unordered_multimap<>::_M_profile_destruct): Enhance thanks to usage of
      	local iterators.
      	* include/profile/unordered_set (unordered_set<>::_M_profile_destruct,
      	unordered_multiset<>::_M_profile_destruct): Likewise.
      	* testsuite_files/23_containers/unordered_set/instantiation_neg.cc:
      	Fix error line.
      	* testsuite_files/23_containers/unordered_set/final_hash.cc: New.
      	* testsuite_files/23_containers/unordered_multiset/final_hash.cc: New.
      	* testsuite_files/23_containers/unordered_map/final_hash.cc: New.
      	* testsuite_files/23_containers/unordered_multimap/final_hash.cc: New.
      
      From-SVN: r182727
      François Dumont committed
    • Fix 51702 testsuite failures · 497081e8
      From-SVN: r182726
      Michael Meissner committed
    • microblaze.md: Add expander for simple_return... · 1893a69a
      * config/microblaze/microblaze.md: Add expander for simple_return,
        return, add return_internal and simple_return_internal insns.
      
      From-SVN: r182725
      Michael Eager committed
    • re PR libstdc++/51701 (Remove reference to Henry Suter's RWLock from documentation) · 10b293bb
      	PR libstdc++/51701
      	* doc/xml/manual/extensions.xml (Input and Output): Remove reference
      	to RWLock class.
      
      From-SVN: r182724
      Jonathan Wakely committed
    • sh.h (BRANCH_COST): Use sh_branch_cost variable. · 91afd29b
      	* config/sh/sh.h (BRANCH_COST): Use sh_branch_cost variable.
      	* config/sh/sh.c (sh_option_override): Simplify sh_branch_cost
              expression.
      
      From-SVN: r182723
      Oleg Endo committed
    • bitfield3.C: Make sure test runs for windows targets without activated ms-bitfields option. · 81ed42d3
              * g++.dg/abi/bitfield3.C: Make sure test runs
              for windows targets without activated ms-bitfields option.
      
      From-SVN: r182722
      Kai Tietz committed
    • new3.C: Adjust test for mingw targets to use static-version. · 08a2f722
             * g++.old-deja/g++.brendan/new3.C: Adjust test for mingw
             targets to use static-version.
             * g++.old-deja/g++.abi/cxa_vec.C: Likewise.
             * g++.old-deja/g++.abi/arraynew.C: Likewise.
             * g++.old-deja/g++.eh/new1.C: Likewise.
             * g++.old-deja/g++.eh/new2.C: Likewise.
      
      From-SVN: r182721
      Kai Tietz committed
    • dependency.c (gfc_dep_compare_functions): Document new behavior for REALs and complex. · d8e5eb57
      2011-12-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* dependency.c (gfc_dep_compare_functions):  Document
      	new behavior for REALs and complex.  Add comment to cases
      	where only INTEGERs are handled.  Compare REAL and COMPLEX
      	constants, returning 0 and -2 only.  Add assert to make
      	sure that only integer constants are compared.
      
      2011-12-29  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* gfortran.dg/function_optimize_9.f90:  New test.
      
      From-SVN: r182720
      Thomas Koenig committed
    • Daily bump. · 663b7c93
      From-SVN: r182719
      GCC Administrator committed
  2. 28 Dec, 2011 12 commits
  3. 27 Dec, 2011 6 commits
  4. 26 Dec, 2011 3 commits
  5. 25 Dec, 2011 1 commit
  6. 24 Dec, 2011 4 commits
    • libitm: Don't enforce privatization safety if already in serial mode. · c898f7b8
      	libitm/
      	* beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
      	privatization safety if already in serial mode.
      
      From-SVN: r182676
      Torvald Riegel committed
    • libitm: Fix privatization safety during upgrades to serial mode. · 610e3901
      	libitm/
      	* beginend.cc (GTM::gtm_thread::restart): Add and handle
      	finish_serial_upgrade parameter.
      	* libitm.h (GTM::gtm_thread::restart): Adapt declaration.
      	* config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
      	Don't unset reader flag.
      	(GTM::gtm_rwlock::write_upgrade_finish): New.
      	* config/posix/rwlock.cc: Same.
      	* config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
      	Declare.
      	* config/posix/rwlock.h: Same.
      	* method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
      	flag after commit or after rollback when restarting.
      
      From-SVN: r182675
      Torvald Riegel committed
    • libitm: Fixed conversion to C++11 atomics. · 799142bf
      	libitm/
      	* beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
      	(GTM::gtm_thread::try_commit): Changed memory order.
      	* config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
      	as parameter.
      	* config/linux/x86/futex_bits.h (sys_futex0): Same.
      	* config/linux/sh/futex_bits.h (sys_futex0): Same.
      	* config/linux/futex_bits.h (sys_futex0): Same.
      	* config/linux/futex.cc (futex_wait, futex_wake): Same.
      	* config/linux/futex.h (futex_wait, futex_wake): Same.
      	* config/linux/rwlock.h (gtm_rwlock::writers,
      	gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
      	ints.
      	* config/linux/rwlock.cc (gtm_rwlock::read_lock,
      	gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
      	gtm_rwlock::write_unlock): Fix memory orders and fences.
      	* config/posix/rwlock.cc (gtm_rwlock::read_lock,
      	gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
      	gtm_rwlock::write_unlock): Same.
      	* config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
      	* method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
      	gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
      	Add comments.
      	(gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
      	gl_wt_dispatch::load, gl_wt_dispatch::store,
      	gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
      	orders and fences.  Add comments.
      
      From-SVN: r182674
      Torvald Riegel committed
    • Daily bump. · 8b3bff4c
      From-SVN: r182673
      GCC Administrator committed
  7. 23 Dec, 2011 4 commits
    • Delete VEC_EXTRACT_EVEN/ODD_EXPR. · e2c83630
      	* tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR): Remove.
      	* cfgexpand.c (expand_debug_expr): Don't handle them.
      	* expr.c (expand_expr_real_2): Likewise.
      	* fold-const.c (fold_binary_loc): Likewise.
      	* gimple-pretty-print.c (dump_binary_rhs): Likewise.
      	* tree-cfg.c (verify_gimple_assign_binary): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
      	* optabs.c (optab_for_tree_code): Likewise.
      	(can_vec_perm_for_code_p): Remove.
      	(expand_binop): Don't try it.
      	(init_optabs): Don't init vec_extract_even/odd_optab.
      	* genopinit.c (optabs): Likewise.
      	* optabs.h (OTI_vec_extract_even, OTI_vec_extract_odd): Remove.
      	(vec_extract_even_optab, vec_extract_odd_optab): Remove.
      	* tree-vect-data-refs.c (vect_strided_store_supported): Tidy code.
      	(vect_permute_store_chain): Use TYPE_VECTOR_SUBPARTS instead of
      	GET_MODE_NUNITS; check vect_gen_perm_mask return value instead of
      	asserting vect_strided_store_supported.
      	(vect_strided_load_supported): Use can_vec_perm_p.
      	(vect_permute_load_chain): Use VEC_PERM_EXPR.
      
      	* doc/generic.texi (VEC_EXTRACT_EVEN_EXPR): Remove.
      	(VEC_EXTRACT_ODD_EXPR): Remove.
      	* doc/md.texi (vec_extract_even, vec_extract_odd): Remove.
      
      From-SVN: r182669
      Richard Henderson committed
    • re PR c++/51507 ([C++0x] Function parameter pack doesn't use in template-argument-list) · ef2361a9
      	PR c++/51507
      	* search.c (at_function_scope_p): Also check cfun.
      	* pt.c (tsubst_pack_expansion): Check it instead of
      	cp_unevaluated_operand.
      	(instantiate_template_1): Clear current_function_decl.
      
      From-SVN: r182668
      Jason Merrill committed
    • tree.c (dependent_name): OFFSET_REF and BASELINK are not dependent names. · d54ce1df
      	* tree.c (dependent_name): OFFSET_REF and BASELINK
      	are not dependent names.
      
      From-SVN: r182667
      Jason Merrill committed
    • score.h (REGISTER_MOVE_COST, [...]): Remove. · 4f9664f7
      	* config/score/score.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
      	* config/score/score-protos.h (score_register_move_cost): Remove.
      	* config/score/score.c (TARGET_REGISTER_MOVE_COST): Define.
      	(score_register_move_cost): Make static. Change arguments type from
      	enum reg_class to reg_class_t.
      
      From-SVN: r182666
      Anatoly Sokolov committed