1. 20 May, 2009 10 commits
    • driver-i386.c (host_detect_local_cpu): Check extended family and model for Intel processors. · 37c50435
      2009-05-20  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/driver-i386.c (host_detect_local_cpu): Check
      	extended family and model for Intel processors.  Support Intel
      	Atom.
      
      From-SVN: r147736
      H.J. Lu committed
    • gstab.h (stab_code_type): Define, to be used instead of the __stab_debug_code enum, made anonymous. · dbb6088f
      	* gstab.h (stab_code_type): Define, to be used instead of the
      	__stab_debug_code enum, made anonymous.  Add 2009 to the copyright
      	notice.
      	* dbxout.c (STAB_CODE_TYPE): Remove #define and replace use
      	occurrences by stab_code_type.
      	* mips-tfile.c (STAB_CODE_TYPE): Remove #define, unused.
      
      From-SVN: r147734
      Olivier Hainque committed
    • tree-flow.h (insert_edge_copies_seq): Undeclare. · 7ec49257
      2009-05-20  Martin Jambor  <mjambor@suse.cz>
      
      	* tree-flow.h (insert_edge_copies_seq): Undeclare.
      	(sra_insert_before): Likewise.
      	(sra_insert_after): Likewise.
      	(sra_init_cache): Likewise.
      	(sra_type_can_be_decomposed_p): Likewise.
      	* tree-mudflap.c (insert_edge_copies_seq): Copied here from tree-sra.c
      	* tree-sra.c (sra_type_can_be_decomposed_p): Made static.
      	(sra_insert_before): Likewise.
      	(sra_insert_after): Likewise.
      	(sra_init_cache): Likewise.
      	(insert_edge_copies_seq): Made static and moved upwards.
      
      	* tree-complex.c (extract_component): Added VIEW_CONVERT_EXPR switch
      	case.
      
      	* tree-flow-inline.h (contains_view_convert_expr_p): New function.
      
      	* ipa-prop.c (get_ssa_def_if_simple_copy): New function.
      	(determine_cst_member_ptr): Call get_ssa_def_if_simple_copy to skip
      	simple copies.
      
      From-SVN: r147733
      Martin Jambor committed
    • decl.c (gnat_to_gnu_entity): When discriminants affect the shape of the subtype... · 3f6f0eb2
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: When
      	discriminants affect the shape of the subtype, retrieve the GCC type
      	directly from the original field if the GNAT types for the field and
      	the original field are the same.
      
      From-SVN: r147732
      Eric Botcazou committed
    • 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 13 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