1. 26 Nov, 2011 1 commit
  2. 25 Nov, 2011 15 commits
  3. 24 Nov, 2011 12 commits
    • optab.c (maybe_emit_atomic_exchange): New. · 744accb2
      
      2011-11-24  Andrew MacLeod  <amacleod@redhat.com>
      
      	* optab.c (maybe_emit_atomic_exchange): New.  Try to emit an
      	atomic_exchange pattern.
      	(maybe_emit_sync_lock_test_and_set): New.  Try to emit an exchange
      	using __sync_lock_test_and_set.
      	(maybe_emit_compare_and_swap_exchange_loop): New. Try to emit an
      	exchange using a compare_and_swap loop.
      	(expand_sync_lock_test_and_set): New.  Expand sync_lock_test_and_set.
      	(expand_atomic_test_and_set): New.  Expand test_and_set operation.
      	(expand_atomic_exchange): Use new maybe_emit_* functions.
      	(expand_atomic_store): Use new maybe_emit_* functions.
      	* builtins.c (expand_builtin_sync_lock_test_and_set): Call
      	expand_sync_lock_test_and_set routine.
      	(expand_builtin_atomic_exchange): Remove parameter from call.
      	(expand_builtin_atomic_clear): Use atomic_clear pattern if present.
      	(expand_builtin_atomic_test_and_set): Add target and simply call
      	expand_atomic_test_and_set.
      	(expand_builtin): Add target to expand_builtin_atomic_test_and_set.
      	* expr.h (expand_atomic_exchange): Add parameter.
      	(expand_sync_lock_test_and_set): New prototype.
      	(expand_atomic_test_and_set, expand_atomic_clear): New prototypes.
      
      From-SVN: r181702
      Andrew MacLeod committed
    • Revert revision 181357. · bee51209
      gcc/
      
      2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/51134
      	* config/i386/i386.h (processor_costs): Revert revision 181357.
      	* config/i386/i386.c (cost models): Likewise.
      	(core_cost): Likewise.
      	(promote_duplicated_reg): Likewise.
      	(promote_duplicated_reg_to_size): Likewise.
      	(processor_target): Likewise.
      	(expand_set_or_movmem_via_loop_with_iter): Likewise.
      	(expand_set_or_movmem_via_loop): Likewise.
      	(emit_strset): Likewise.
      	(expand_movmem_epilogue): Likewise.
      	(expand_setmem_epilogue): Likewise.
      	(expand_movmem_prologue): Likewise.
      	(expand_setmem_prologue): Likewise.
      	(expand_constant_movmem_prologue): Likewise.
      	(expand_constant_setmem_prologue): Likewise.
      	(decide_alg): Likewise.
      	(decide_alignment): Likewise.
      	(ix86_expand_movmem): Likewise.
      	(ix86_expand_setmem): Likewise.
      	(ix86_slow_unaligned_access): Likewise.
      	* config/i386/i386.md (strset): Likewise.
      	* config/i386/sse.md (vec_dupv4si): Likewise.
      	(vec_dupv2di): Likewise.
      
      gcc/testsuite/
      
      2011-11-24  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/51134
      	* gcc.target/i386/sw-1.c: Revert revision 181357.
      
      From-SVN: r181701
      H.J. Lu committed
    • avr.md (*rotlhi2.15): Set length to 4. · f456d737
      	* config/avr/avr.md (*rotlhi2.15): Set length to 4.
      
      From-SVN: r181700
      Georg-Johann Lay committed
    • re PR fortran/51218 (Potential optimization bug due to implicit_pure?) · 3d2cea8c
      2011-11-24  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/51218
              * resolve.c (pure_subroutine): If called subroutine is
              impure, unset implicit_pure.
              (resolve_function): Move impure check to simplify code.
      
      2011-11-24  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/51218
              * gfortran.dg/implicit_pure_1.f90: New.
      
      From-SVN: r181698
      Tobias Burnus committed
    • Fix several atomic tests on 32-bit x86 (PR testsuite/51258) · 603518ca
      	PR testsuite/51258
      	* gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*.
      	* gcc.dg/atomic-exchange-5.c: Likewise.
      	* gcc.dg/atomic-load-5.c: Likewise.
      	* gcc.dg/atomic-op-5.c: Likewise.
      	* gcc.dg/atomic-store-5.c: Likewise.
      	* gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo.
      
      From-SVN: r181697
      Rainer Orth committed
    • Fix bootstrap error in s-taprop-tru64.adb · bf75cdbe
      	* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.
      
      From-SVN: r181696
      Rainer Orth committed
    • re PR rtl-optimization/50290 (ICE: in distribute_notes, at combine.c:13282 with… · 49ec778e
      re PR rtl-optimization/50290 (ICE: in distribute_notes, at combine.c:13282 with -O2 -fwhole-program -fno-tree-loop-optimize -fno-tree-vrp -funroll-loops)
      
      	PR rtl-optimization/50290
      	* gcc.dg/pr50290.c: New test.
      
      From-SVN: r181694
      Jakub Jelinek committed
    • tree-data-ref.c (initialize_data_dependence_relation): Update · fea99a37
      
              * tree-data-ref.c (initialize_data_dependence_relation): Update
              * comment for the 
              self dependence case.
              (compute_self_dependence): Remove.
              * tree-vect-data-refs.c (vect_analyze_data_refs): Remove call to 
              compute_self_dependenc.
      
      From-SVN: r181691
      Razya Ladelsky committed
    • re PR c++/51290 (Bogus warning: zero as null pointer constant with static_cast) · 36b0e751
      /cp
      2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51290
      	* class.c (build_base_path): For the null pointer check use
      	nullptr_node instead of integer_zero_node.
      
      /testsuite
      2011-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/51290
      	* g++.dg/warn/Wzero-as-null-pointer-constant-3.C: New.
      
      From-SVN: r181690
      Paolo Carlini committed
    • re PR bootstrap/50888 (Bootstrap failure in libjava against latest git glibc) · 282d42f2
      	PR bootstrap/50888
      	* prims.cc: Don't include ctype.h.
      	(c_isspace): Define.
      	(next_property_key, next_property_value): Use it instead
      	of isspace.
      
      From-SVN: r181685
      Jakub Jelinek committed
    • c-decl.c (warn_if_shadowing): Don't warn if shadowed identifier is from system header. · 1d551e4d
      	* c-decl.c (warn_if_shadowing): Don't warn if shadowed
      	identifier is from system header.
      
      From-SVN: r181684
      Alan Modra committed
    • Daily bump. · 58494d50
      From-SVN: r181683
      GCC Administrator committed
  4. 23 Nov, 2011 12 commits
    • re PR libstdc++/41975 ([C++0x] [DR579] unordered_set::erase performs worse when nearly empty) · da29608a
      2011-11-23  François Dumont <fdumont@gcc.gnu.org>
      
      	PR libstdc++/41975
      	* include/bits/hashtable.h (_Hashtable<>): Major data model
      	modification to limit performance impact of empty buckets in
      	erase(iterator) implementation.
      	* include/bits/hashtable_policy.h (_Hashtable_iterator,
      	_Hashtable_const_iterator): Remove not used anymore.
      	* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
      	_M_grow_factor, just use natural evolution of prime numbers. Add
      	_M_prev_size to know when the number of buckets can be reduced.
      	* include/bits/unordered_set.h (__unordered_set<>,
      	__unordered_multiset<>), unordered_map.h (__unordered_map<>,
      	__unordered_multimap<>): Change default value of cache hash code
      	template parameter, false for integral types with noexcept hash
      	functor, true otherwise.
      	* include/debug/unordered_map, unordered_set: Adapt transformation
      	from iterator/const_iterator to respectively
      	local_iterator/const_local_iterator.
      	* testsuite/performance/23_containers/copy_construct/unordered_set.cc:
      	New.
      	* testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
      	* testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
      	* testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
      	* testsuite/23_containers/unordered_multiset/erase/1.cc,
      	24061-multiset.cc: Add checks on the number of bucket elements.
      	* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
      	multiset_single.cc, multiset_single_move.cc: Likewise.
      
      From-SVN: r181677
      François Dumont committed
    • re PR target/51261 (-fcompare-debug with memset()) · 2ff12653
      	PR target/51261
      	* config/i386/i386.c (decide_alg): Initialize *dynamic_check
      	even if !optimize.
      
      	* gcc.dg/pr51261.c: New test.
      
      From-SVN: r181676
      Jakub Jelinek committed
    • re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations) · ffe8727f
      2011-11-23  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/48455
      	* doc/invoke.texi (-fira-region): Document default values.
      
      	* flags-types.h (enum ira_region): Add new value
      	IRA_REGION_AUTODETECT.
      
      	* common.opt (fira-region): Set up initial value to
      	IRA_REGION_AUTODETECT.
      
      	* toplev.c (process_options): Set up flag_ira_region depending on
      	-O options.
      
      	* ira.c (ira.c): Remove optimize guard for ira_build.
      
      From-SVN: r181675
      Vladimir Makarov committed
    • lang.c (java_init_options_struct): Disable optimizations which assume a NULL… · 810fb8f1
      lang.c (java_init_options_struct): Disable optimizations which assume a NULL pointer dereference will cause a fault.
      
      	* lang.c (java_init_options_struct): Disable optimizations
      	which assume a NULL pointer dereference will cause a fault.
      
      From-SVN: r181674
      Jeffrey A Law committed
    • [multiple changes] · d0dcb2b1
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
      	only on platforms where this is required, as determined by
      	s-oscons.h.
      
      2011-11-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch9.adb: No check on entry index if error on index.
      
      2011-11-23  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
      	return statements nested inside an extended_return_statement.
      	* gcc-interface/Make-lang.in: Update dependencies.
      	* gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.
      
      From-SVN: r181670
      Arnaud Charlet committed
    • mlib-tgt-specific-vxworks.adb: Minor reformatting. · db3dd8af
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* mlib-tgt-specific-vxworks.adb: Minor reformatting.
      
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* Make-generated.in (Sdefault.Target_Name): Set to
      	$(target_noncanonical) instead of $(target) for consistency.
      
      From-SVN: r181669
      Thomas Quinot committed
    • [multiple changes] · ef992452
      2011-11-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Freeze_All_Ent): An incomplete type is not
      	frozen by a subprogram body that does not come from source.
      
      2011-11-23  Pascal Obry  <obry@adacore.com>
      
      	* s-oscons-tmplt.c: Add PTY_Library constant. It contains
      	the library for pseudo terminal support.
      	* g-exptty.ads: Add pseudo-terminal library into a Linker_Options
      	pragma.
      
      2011-11-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch9.adb: No check on entry family index if generic.
      
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
      	s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
      	s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
      	System.OS_Constants from shared spec of
      	System.Tasking.Primitive_Operations to the specific body variants
      	that really require this dependency.
      
      2011-11-23  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
      	If the declaration has aspects, analyze them so they can be
      	properly rejected.
      
      2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
      	a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
      	a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
      	a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
      	Add with and use clause for Ada.Finalization. Type
      	Iterator and Child_Iterator are now derived from Limited_Controlled.
      	(Finalize): New routine.
      	(Iterate): Add a renaming of counter Busy and
      	increment it. Update the return aggregate.
      	(Iterate_Children): Add a renaming of
      	counter Busy and increment it. Update the return aggregate.
      	(Iterate_Subtree): Add a renaming of counter Busy and increment
      	it. Update the return aggregate.
      	* a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
      	type.
      	* a-cihama.ads: Type Map_Access is now a general access type.
      	* a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
      	associated with the tree.
      	* a-cohama.ads: Type Map_Access is now a general access type.
      	* a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
      	access type.
      	* exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
      	to wrap the loop as this is done at an earlier step, during
      	analysis. The declarations of the iterator and the cursor use
      	the usual Insert_Action mechanism when added into the tree.
      	* sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
      	Loop_Statement and replace all respective uses by N. Add local
      	constant Loc. Preanalyze the loop iterator to discover whether
      	it is a container iterator and if it is, wrap the loop in a
      	block. This ensures that any controlled temporaries produced
      	by the iteration scheme share the same lifetime of the loop.
      	(Is_Container_Iterator): New routine.
      	(Is_Wrapped_In_Block): New routine.
      	(Pre_Analyze_Range): Move spec and body to the library level.
      
      2011-11-23  Sergey Rybin  <rybin@adacore.com frybin>
      
      	* gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
      	that controls casing of type and subtype names.
      
      2011-11-23  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb: Minor addition of comments.
      
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* prj-part.adb (Extension_Withs): New global variable,
      	contains the head of the list of WITH clauses from the EXTENDS
      	ALL projects for which virtual packages are being created.
      	(Look_For_Virtual_Projects_For): When recursing through
      	an EXTENDS ALL, add the WITH clauses of the extending
      	project to Extension_Withs.  When adding a project to the
      	Virtual_Hash, record the associated Extension_Withs list.
      	(Create_Virtual_Extending_Project): Add a copy of the appropriate
      	Extension_Withs to the virtual project.
      
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* mlib-tgt-specific-vxworks.adb: Minor reformatting.
      
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* Make-generated.in (Sdefault.Target_Name): Set to
      	$(target_noncanonical) instead of $(target) for consistency.
      
      From-SVN: r181668
      Arnaud Charlet committed
    • a-cdlili.adb, [...] (Iterator): Declared Iterator type as limited (First... · 595a055f
      2011-11-23  Matthew Heaney  <heaney@adacore.com>
      
      	* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
      	Iterator type as limited (First, Last): Cursor return value
      	depends on iterator node value (Iterate): Use start position as
      	iterator node value (Next, Previous): Forward to corresponding
      	cursor-based operation.
      
      From-SVN: r181667
      Matthew Heaney committed
    • [multiple changes] · b38c20a6
      2011-11-23  Matthew Heaney  <heaney@adacore.com>
      
      	* a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
      	Renamed from Ordered_Set_Iterator_Interfaces.
      	* a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
      	Iterator type as limited (First, Last): Cursor return value
      	depends on iterator node value (Iterate): Use start position as
      	iterator node value (Next, Previous): Forward to corresponding
      	cursor-based operation.
      	* a-cohase.ads, a-cohase.adb: Implemented forward iterator.
      	* a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
      	node component (First, Next): Forward call to corresponding
      	cursor-based operation (Iterate): Representation of iterator no
      	longer has node component
      
      2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
      	dereference has a proper type before the side effect removal
      	mechanism kicks in.
      	* sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
      	where the base type of the subtype is a private itype created
      	to act as the partial view of a constrained record type. This
      	scenario manifests with equivalent class-wide types for records
      	with unknown discriminants.
      
      2011-11-23  Jerome Guitton  <guitton@adacore.com>
      
      	* s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.
      
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
      	reformatting/reorganization.
      
      From-SVN: r181666
      Arnaud Charlet committed
    • g-htable.ads: Remove old comments. · 24fee494
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* g-htable.ads: Remove old comments.
      
      From-SVN: r181665
      Thomas Quinot committed
    • re PR rtl-optimization/50496 (ICE in redirect_jump, at jump.c:1497) · b1ab2759
      2011-11-23  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	PR rtl-optimization/50496
      	* jump.c (redirect_jump): Assert fail on nlabel == NULL_RTX
      	only after epilogue is created. Add comments.
      
      From-SVN: r181664
      Chung-Lin Tang committed
    • exp_imgv.adb: Minor reformatting. · bc6e33a3
      2011-11-23  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_imgv.adb: Minor reformatting.
      
      From-SVN: r181663
      Thomas Quinot committed