1. 21 May, 2009 2 commits
    • functional (function): Use explicit operator bool. · d29d4507
      2009-05-20  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/tr1_impl/functional (function): Use explicit operator bool.
      	* include/bits/shared_ptr.h (__shared_ptr): Same.
      	* include/bits/unique_ptr.h (unique_ptr): Same.
      	* include/std/mutex (unique_lock): Same.
      	* include/std/system_error (error_code): Same.
      	(error_condition): Same.
      	* include/std/ostream (sentry): Same.
      	* include/std/istream (sentry): Same.
      	* testsuite/19_diagnostics/error_condition/operators/bool.cc: Adjust.
      	* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc: Same.
      	* testsuite/19_diagnostics/error_code/operators/bool.cc: Same.
      	* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Same.
      	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
      	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Same.
      	* testsuite/20_util/shared_ptr/observers/bool_conv.cc: Same.
      
      From-SVN: r147756
      Benjamin Kosnik committed
    • Daily bump. · f256c064
      From-SVN: r147755
      GCC Administrator committed
  2. 20 May, 2009 15 commits
    • * config/mips/mips.md (*extenddi_truncate<mode>, · 642d97ff
      	*extendsi_truncate<mode>): Emit exts if supported.  Add attribute
      	defintions.
      	(*extendhi_truncateqi): New define_insn_and_sptit.
      
      testsuite/
      	* gcc.target/mips/octeon-exts-6.c: New test.
      	* gcc.target/mips/extend-1.c: New test.
      	* gcc.target/mips/octeon-exts-2.c: Adjust to not match sign-extension
      	EXTS.
      	* gcc.target/mips/octeon-exts-5.c: Likewise.
      
      From-SVN: r147751
      Adam Nemet committed
    • re PR middle-end/40204 (segfault with bitfields in structs) · 776248b8
      	PR middle-end/40204
      	* fold-const.c (fold_binary) <case BIT_AND_EXPR>: Avoid infinite
      	recursion if build_int_cst_type returns the same INTEGER_CST as
      	arg1.
      
      	* gcc.c-torture/compile/pr40204.c: New test.
      
      From-SVN: r147749
      Jakub Jelinek committed
    • re PR libgomp/40174 (Memory leak when using '#pragma omp parallel') · 6dea8e99
      	PR libgomp/40174
      	* team.c (gomp_thread_start): Destroy thr->release semaphore.
      	(gomp_free_pool_helper): Likewise.
      
      From-SVN: r147747
      Jakub Jelinek committed
    • Fix formatting · 00c5fa1b
      From-SVN: r147740
      Eric Botcazou committed
    • fold-const.c (build_fold_addr_expr_with_type): Take the address of the operand… · d98e8686
      fold-const.c (build_fold_addr_expr_with_type): Take the address of the operand of VIEW_CONVERT_EXPR.
      
      	* fold-const.c (build_fold_addr_expr_with_type): Take the address of
      	the operand of VIEW_CONVERT_EXPR.
      
      From-SVN: r147739
      Eric Botcazou committed
    • 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
  3. 19 May, 2009 17 commits
  4. 18 May, 2009 6 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