1. 20 May, 2009 6 commits
    • expr.c (expand_expr_real_1): Avoid calling do_store_flag with mismatched comparison modes. · 0328ae4d
      2009-05-20  Richard Guenther  <rguenther@suse.de>
      
      	* expr.c (expand_expr_real_1): Avoid calling do_store_flag
      	with mismatched comparison modes.
      
      	* gcc.c-torture/compile/20090518-1.c: New testcase.
      
      From-SVN: r147731
      Richard Guenther committed
    • Fix Thumb2 bic orn · a7994a57
      2009-05-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
          
      	* config/arm/arm.md (*arm_iorsi3): Refactored for only ARM.
              (peephole ior (reg, int) -> mov, ior): Refactored for only ARM.
              * config/arm/thumb2.md (*thumb_andsi_not_shiftsi_si): Allow bic
              with shifts for Thumb2.
              (orsi_notsi): New for orn.
              (*thumb_orsi_notshiftsi_si): Allow orn with shifts.
              (*thumb2_iorsi3): Rewrite support for iorsi for Thumb2.
              * config/arm/arm.c (const_ok_for_op): Split case for IOR for
              Thumb2.
              (arm_gen_constant): Set can_invert for IOR and Thumb2, Add
              comments. Don't invert remainder for IOR.
      
      From-SVN: r147729
      Ramana Radhakrishnan committed
    • 14340.cc: Abstract list type. · 875d0f10
      2009-05-19  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* testsuite/23_containers/list/14340.cc: Abstract list type.
      	* testsuite/23_containers/list/init-list.cc: Same.
      	* testsuite/23_containers/list/pthread5.cc: Same.
      	* testsuite/23_containers/list/invalidation/1.cc: Same.
      	* testsuite/23_containers/list/invalidation/2.cc: Same.
      	* testsuite/23_containers/list/invalidation/3.cc: Same.
      	* testsuite/23_containers/list/invalidation/4.cc: Same.
      	* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
      	* testsuite/23_containers/list/modifiers/1.cc: Same.
      	* testsuite/23_containers/list/modifiers/2.cc: Same.
      	* testsuite/23_containers/list/modifiers/3.cc: Same.
      	* testsuite/23_containers/list/modifiers/swap/1.cc: Same.
      	* testsuite/23_containers/list/modifiers/swap/2.cc: Same.
      	* testsuite/23_containers/list/modifiers/swap/3.cc: Same.
      	* testsuite/23_containers/list/cons/1.cc: Same.
      	* testsuite/23_containers/list/cons/2.cc: Same.
      	* testsuite/23_containers/list/cons/3.cc: Same.
      	* testsuite/23_containers/list/cons/4.cc: Same.
      	* testsuite/23_containers/list/cons/5.cc: Same.
      	* testsuite/23_containers/list/cons/6.cc: Same.
      	* testsuite/23_containers/list/cons/7.cc: Same.
      	* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
      	* testsuite/23_containers/list/cons/8.cc: Same.
      	* testsuite/23_containers/list/cons/9.cc: Same.
      	* testsuite/23_containers/list/operations/1.cc: Same.
      	* testsuite/23_containers/list/operations/2.cc: Same.
      	* testsuite/23_containers/list/operations/3.cc: Same.
      	* testsuite/23_containers/list/operations/4.cc: Same.
      	* testsuite/23_containers/list/operations/5.cc: Same.
      	* testsuite/23_containers/list/requirements/citerators.cc: Same.
      	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
      	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
      	* testsuite/23_containers/list/requirements/dr438/
      	constructor_1_neg.cc: Same.
      	* testsuite/23_containers/list/requirements/dr438/
      	constructor_2_neg.cc: Same.
      	* testsuite/23_containers/list/requirements/dr438/constructor.cc: Same.
      	* testsuite/23_containers/list/requirements/
      	partial_specialization/1.cc: Same.
      	* testsuite/23_containers/list/23781.cc: Same.
      	* testsuite/23_containers/list/pthread1.cc: Same.
      	* testsuite/23_containers/list/capacity/1.cc: Same.
      	* testsuite/23_containers/list/capacity/29134.cc: Same.
      	* testsuite/23_containers/list/check_construct_destroy.cc: Same.
      	* testsuite/23_containers/list/moveable.cc: Same.
      
      	* testsuite/util/common_type/assoc/common_type.hpp: Re-break lines.
      
      From-SVN: r147728
      Benjamin Kosnik committed
    • re PR tree-optimization/40087 (Number of iterations analysis wrong) · e36dc339
      	PR tree-optimization/40087
      	* tree-ssa-loop-niter.c (number_of_iterations_ne_max,
      	number_of_iterations_ne): Rename never_infinite argument.
      	(number_of_iterations_lt_to_ne, number_of_iterations_lt,
      	number_of_iterations_le): Handle pointer-type ivs when
      	exit_must_be_taken is false.
      	(number_of_iterations_cond):  Do not always assume that
      	exit_must_be_taken if the control variable is a pointer.
      
      	* gcc.dg/tree-ssa/pr40087.c: New test.
      
      From-SVN: r147727
      Zdenek Dvorak committed
    • Daily bump. · 03d33c2a
      From-SVN: r147726
      GCC Administrator committed
    • re PR libfortran/37754 (READ I/O Performance regression from 4.3 to 4.4/4.5) · 3a546d4d
      2009-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/37754
      	* io/write_float.def: Simplify format calculation.
      
      From-SVN: r147725
      Jerry DeLisle committed
  2. 19 May, 2009 17 commits
  3. 18 May, 2009 17 commits
    • invoke.texi (C Dialect Options): Update OpenMP specification version to v3.0. · 848bc769
      	* doc/invoke.texi (C Dialect Options): Update OpenMP specification
      	version to v3.0.
      
      From-SVN: r147682
      Ben Elliston committed
    • re PR c++/40192 (Unable to use std::vector with typedef'd array types) · cf0e6fff
      2009-05-18  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/40192
      	* include/bits/stl_construct.h (struct _Destroy_aux): Add.
      	(_Destroy(_ForwardIterator, _ForwardIterator)): Use the latter.
      	* testsuite/23_containers/vector/40192.cc: New.
      
      From-SVN: r147680
      Paolo Carlini committed
    • sh-protos.h (sh_legitimate_address_p): Remove. · 1bb99877
      	* config/sh/sh-protos.h (sh_legitimate_address_p): Remove.
      	* config/sh/sh.c (sh_legitimate_address_p): Make static.
      	(TARGET_LEGITIMATE_ADDRESS_P): New.
      	* config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
      	* config/sh/sh.md: Clean up references to GO_IF_LEGITIMATE_ADDRESS.
      
      From-SVN: r147679
      Kaz Kojima committed
    • stl_pair.h (swap): Do not swap rvalues. · ff74fd13
      2009-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	* include/bits/stl_pair.h (swap): Do not swap rvalues.
      	* include/bits/stl_deque.h (swap): Likewise.
      	* include/bits/stl_list.h (swap): Likewise.
      	* include/bits/stl_vector.h (swap): Likewise.
      	* include/bits/stl_bvector.h (swap): Likewise.
      	* include/bits/stl_queue.h (swap): Likewise.
      	* include/bits/stl_stack.h (swap): Likewise.
      	* include/bits/stl_tree.h (swap): Likewise.
      	* include/bits/stl_map.h (swap): Likewise.
      	* include/bits/stl_multimap.h (swap): Likewise.
      	* include/bits/stl_set.h (swap): Likewise.
      	* include/bits/stl_multiset.h (swap): Likewise.
      	* include/bits/forward_list.h (swap): Likewise.
      	* include/bits/unique_ptr.h (swap): Likewise.
      	* include/debug/deque (swap): Likewise.
      	* include/debug/list (swap): Likewise.
      	* include/debug/vector (swap): Likewise.
      	* include/debug/map.h (swap): Likewise.
      	* include/debug/multimap.h (swap): Likewise.
      	* include/debug/set.h (swap): Likewise.
      	* include/debug/multiset.h (swap): Likewise.
      	* include/debug/unordered_map (swap): Likewise.
      	* include/debug/unordered_set (swap): Likewise.
      	* include/ext/vstring.h (swap): Likewise.
      	* include/tr1_impl/unordered_map (swap): Likewise.
      	* include/tr1_impl/hashtable (swap): Likewise.
      	* include/tr1_impl/unordered_set (swap): Likewise.
      	* include/std/tuple (swap): Likewise.
      	* include/std/mutex (swap): Likewise.
      	* include/std/thread (swap): Likewise.
      	(operator<<): Only output to lvalue streams.
      	* testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: Remove.
      	* testsuite/23_containers/headers/forward_list/synopsis.cc: Adjust.
      	* testsuite/23_containers/deque/requirements/dr438/
      	assign_neg.cc: Adjust line numbers.
      	* testsuite/23_containers/deque/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/deque/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/deque/requirements/dr438/
      	insert_neg.cc: Likewise.
      	* testsuite/23_containers/list/requirements/dr438/
      	assign_neg.cc: Likewise.
      	* testsuite/23_containers/list/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/list/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/list/requirements/dr438/
      	insert_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	assign_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_1_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	constructor_2_neg.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/
      	insert_neg.cc: Likewise.
      	* testsuite/30_threads/thread/swap/1.cc: Swap with lvalue and also
      	test non-member swap.
      	* testsuite/30_threads/thread/swap/2.cc: Remove.
      
      From-SVN: r147678
      Jonathan Wakely committed
    • Implement explicit conversions ops as specified in N2437. · e57d93c6
      	* decl.c (grokdeclarator): Handle explicit conversion ops.
      	(check_initializer): Pass flags to store_init_value.
      	* decl2.c (maybe_emit_vtables): Likewise.
      	* init.c (expand_aggr_init_1): Likewise.
      	* call.c (convert_class_to_reference): Take flags parm,
      	check DECL_NONCONVERTING_P.
      	(build_user_type_conversion_1): Check DECL_NONCONVERTING_P.
      	(add_builtin_candidates): Simplify getting type of conversion.
      	(build_object_call): Likewise.  Check DECL_NONCONVERTING_P.
      	(implicit_conversion): Pass through LOOKUP_ONLYCONVERTING.
      	(reference_binding): Take flags parm.  Direct-initialize copy parm.
      	(add_function_candidate): Direct-initialize the copy parm.
      	(add_conv_candidate): Use LOOKUP_IMPLICIT, not LOOKUP_NORMAL.
      	(build_builtin_candidate): Add LOOKUP_ONLYCONVERTING.
      	(conditional_conversion): Likewise.
      	(convert_like_real): Only complain about DECL_NONCONVERTING_P
      	constructors.
      	(perform_implicit_conversion_flags): Add flags parm to
      	perform_implicit_conversion.  Improve diagnostics.
      	* cp-tree.h (LOOKUP_IMPLICIT): New macro.
      	(LOOKUP_COPY_PARM): New bit macro.
      	* cvt.c (build_expr_type_conversion): Check DECL_NONCONVERTING_P.
      	* typeck.c (convert_for_assignment): Take flags parm, pass it to
      	perform_implicit_conversion_flags.
      	(cp_build_modify_expr): Pass flags to convert_for_assignment.
      	(convert_for_initialization): Likewise.
      	* typeck2.c (store_init_value): Take flags parm, pass to
      	digest_init_flags.
      	(digest_init_flags): Add flags parm to digest_init.
      	(digest_init_r): Take flags parm, pass to convert_for_initialization.
      	(process_init_constructor_array): Pass it.
      	(process_init_constructor_record): Likewise.
      	(process_init_constructor_union): Likewise.
      
      From-SVN: r147677
      Jason Merrill committed
    • re PR debug/40109 (Incorrect debug info nesting for typedef statements within namespaces) · 82725547
      Fix for PR debug/40109
      
      gcc/ChangeLog:
      PR debug/40109
      * dwarf2out.c (gen_type_die_with_usage): Generate the DIE as a
      child of the containing namespace's DIE.
      
      gcc/testsuite/ChangeLog:
      PR debug/40109
      * g++.dg/debug/dwarf2/nested-1.C: New test.
      
      From-SVN: r147674
      Dodji Seketeli committed
    • * config/mips/mips.md (*zero_extend<GPR:mode>_trunc<SHORT:mode>, · f6a1e430
      	*zero_extendhi_truncqi):  Move after the zero_extend patterns.
      	(*extenddi_truncate<mode>, *extendsi_truncate<mode>): Move after the
      	extend patterns.
      
      From-SVN: r147673
      Adam Nemet committed
    • re PR target/39942 (Nonoptimal code - leaveq; xchg %ax,%ax; retq) · 6a90d232
      2009-05-18  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/39942
      	* config/i386/i386.c (ix86_avoid_jump_misspredicts): Replace
      	gen_align with gen_pad.
      	(ix86_reorg): Check ASM_OUTPUT_MAX_SKIP_PAD instead of
      	#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN.
      
      	* config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): New.
      	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_PAD): Likewise.
      
      	* config/i386/i386.md (align): Renamed to ...
      	(pad): This.  Replace ASM_OUTPUT_MAX_SKIP_ALIGN with
      	ASM_OUTPUT_MAX_SKIP_PAD.
      
      From-SVN: r147671
      H.J. Lu committed
    • re PR testsuite/39907 (Aligned access to unaligned address) · cf249b02
      2009-05-18  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR testsuite/39907
      	* gcc.target/x86_64/abi/asm-support.S (snapshot_ret): Preserve
      	stack alignment.
      
      From-SVN: r147667
      H.J. Lu committed
    • * config.gcc: Fix variable syntax. · 3f1c917c
      From-SVN: r147666
      Andreas Schwab committed
    • * config.gcc: Fix variable syntax. · 06555043
      From-SVN: r147665
      Andreas Schwab committed
    • re PR target/39531 (m68k gcc does not convert andil to bclr when compiled on a 64bit host) · c4406f74
      PR target/39531
      * config/m68k/m68k.c (output_andsi3): Mask off sign bit copies
      before calling exact_log2.
      (output_iorsi3): Likewise.
      (output_xorsi3): Likewise.
      
      From-SVN: r147664
      Andreas Schwab committed
    • re PR fortran/40164 (Fortran 2003: "Arrays of procedure pointers" (using PPCs)) · e35bbb23
      2009-05-18  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40164
      	* primary.c (gfc_match_rvalue): Handle procedure pointer components in
      	arrays.
      	* resolve.c (resolve_ppc_call,resolve_expr_ppc): Resolve component and
      	array references.
      	(resolve_fl_derived): Procedure pointer components are not required to
      	have constant array bounds in their return value.
      
      
      2009-05-18  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/40164
      	* gfortran.dg/proc_ptr_comp_8.f90: New.
      
      From-SVN: r147663
      Janus Weil committed
    • intrinsic.c (add_sym): Fix my last commit (r147655), which broke bootstrap. · 9b2db7be
      2009-05-18  Janus Weil  <janus@gcc.gnu.org>
      
      	* intrinsic.c (add_sym): Fix my last commit (r147655),
      	which broke bootstrap.
      
      From-SVN: r147662
      Janus Weil committed
    • sh.c (expand_cbranchdi4): Use a scratch register for the none zero constant… · 99052692
      sh.c (expand_cbranchdi4): Use a scratch register for the none zero constant operand except for EQ and NE...
      
      	* config/sh/sh.c (expand_cbranchdi4): Use a scratch register
      	for the none zero constant operand except for EQ and NE
      	comprisons even when the first operand is R0.
      
      From-SVN: r147661
      Kaz Kojima committed
    • 2064.md: Remove trailing whitespaces. · f4aa3848
      2009-05-18  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* config/s390/2064.md: Remove trailing whitespaces.
      	* config/s390/2084.md: Likewise.
      	* config/s390/constraints.md: Likewise.
      	* config/s390/fixdfdi.h: Likewise.
      	* config/s390/libgcc-glibc.ver: Likewise.
      	* config/s390/s390-modes.def: Likewise.
      	* config/s390/s390-protos.h: Likewise.
      	* config/s390/s390.c: Likewise.
      	* config/s390/s390.h: Likewise.
      	* config/s390/s390.md: Likewise.
      	* config/s390/tpf-unwind.h: Likewise.
      
      From-SVN: r147660
      Andreas Krebbel committed
    • re PR tree-optimization/40168 (finding common subexpressions) · bfa31dad
      2009-05-18  Richard Guenther  <rguenther@suse.de>
      
      	PR fortran/40168
      	* trans-expr.c (gfc_trans_zero_assign): For local array
      	destinations use an assignment from an empty constructor.
      
      	* gfortran.dg/array_memset_2.f90: Adjust.
      
      From-SVN: r147659
      Richard Guenther committed