1. 05 Nov, 2007 20 commits
    • re PR driver/32632 (-pie won't override -shared in -shared -pie) · 528dc603
      2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR driver/32632
      	* common.opt: Add shared and pie.
      
      From-SVN: r129913
      H.J. Lu committed
    • xtensa.c (xtensa_expand_nonlocal_goto): Do not replace references to… · d99ffa94
      xtensa.c (xtensa_expand_nonlocal_goto): Do not replace references to virtual_stack_vars_rtx in goto_handler.
      
      	* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Do not replace
      	references to virtual_stack_vars_rtx in goto_handler.
      
      From-SVN: r129912
      Bob Wilson committed
    • re PR c++/33871 (typeinfo name referenced in ... defined in discarded section) · 565603f8
      2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR c++/33871
      	* decl2.c (constrain_visibility): Clear DECL_ONE_ONLY if marked
      	local.
      
      From-SVN: r129911
      H.J. Lu committed
    • Fix last entry. · d03b2e6b
      From-SVN: r129910
      Jakub Jelinek committed
    • re PR rtl-optimization/33648 (ICE in verify_flow_info for -fmodulo-sched… · 2dc675d5
      re PR rtl-optimization/33648 (ICE in verify_flow_info for -fmodulo-sched -freorder-blocks-and-partition)
      
      	PR rtl-optimization/33648
      	* gcc.dg/pr33648.c: New test.
      
      From-SVN: r129909
      Jakub Jelinek committed
    • stl_vector.h (vector<>::push_back<>(_Args...), [...]): Add. · 6eef7402
      2007-11-05  Chris Jefferson  <chris@bubblescope.net>
      	    Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/stl_vector.h (vector<>::push_back<>(_Args...),
      	emplace<>(iterator, _Args...), insert(iterator, _Tp&&),
      	_M_insert_aux<>(iterator, _Args&&...)): Add.
      	* include/bits/vector.tcc (insert(iterator, value_type&&),
      	emplace<>(iterator, _Args...), _M_insert_aux<>(iterator, _Args&&...)):
      	Define.
      	(_M_fill_insert(iterator, size_type, const value_type&),
      	_M_range_insert(iterator, _ForwardIterator, _ForwardIterator,
      	std::forward_iterator_tag)): Use __uninitialized_move_a,
      	_GLIBCXX_MOVE_BACKWARD3 when possible.
      	* include/bits/stl_uninitialized.h (__uninitialized_move_a): Add.
      	* include/debug/vector (vector<>::push_back<>(_Args...),
      	emplace<>(iterator, _Args...), insert(iterator, _Tp&&)): Add.
      	* testsuite/23_containers/vector/modifiers/moveable.cc: Enable.
      	* testsuite/23_containers/vector/resize/moveable.cc: Likewise.
      	* testsuite/23_containers/vector/cons/moveable.cc: Likewise.
      	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
      	Adjust dg-error line numbers.
      	* testsuite/23_containers/vector/requirements/dr438/insert_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.
      
      Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
      
      From-SVN: r129907
      Chris Jefferson committed
    • Fix check_750cl_hw_available function · 77cfbfe7
      From-SVN: r129906
      Revital Eres committed
    • Index... · 86089be5
      Index: testsuite/g++.dg/cpp0x/pr33996.C
      ===================================================================
      --- testsuite/g++.dg/cpp0x/pr33996.C	(revision 0)
      +++ testsuite/g++.dg/cpp0x/pr33996.C	(revision 0)
      @@ -0,0 +1,52 @@
      +// { dg-options "-std=c++0x" }
      +
      +#define BUG
      +struct type
      +{
      +  type() { }
      +  type(const type&) { }
      +
      +private:
      +  type(type&&);
      +};
      +
      +template<typename _Tp>
      +  struct identity
      +  {
      +    typedef _Tp type;
      +  };
      +
      +template<typename _Tp>
      +  inline _Tp&&
      +  forward(typename identity<_Tp>::type&& __t)
      +  { return __t; }
      +
      +struct vec
      +{
      +  template<typename _Args>
      +    void
      +    bar(_Args&& __args)
      +#ifdef BUG
      +    ;
      +#else
      +    {
      +      type(forward<_Args>(__args));
      +    }
      +#endif
      +};
      +
      +#ifdef BUG
      +template<typename _Args>
      +  void
      +  vec::bar(_Args&& __args)
      +  {
      +    type(forward<_Args>(__args));
      +  }
      +#endif
      +
      +int main()
      +{
      +  vec v;
      +  type c;
      +  v.bar(c);
      +}
      Index: testsuite/g++.dg/cpp0x/rv-trivial-bug.C
      ===================================================================
      --- testsuite/g++.dg/cpp0x/rv-trivial-bug.C	(revision 0)
      +++ testsuite/g++.dg/cpp0x/rv-trivial-bug.C	(revision 0)
      @@ -0,0 +1,33 @@
      +// { dg-do "run" }
      +// { dg-options "-std=c++0x" }
      +// PR c++/33235
      +#include <cassert>
      +
      +int move_construct = 0;
      +int move_assign = 0;
      +
      +struct base2
      +{
      +    base2() {}
      +    base2(base2&&) {++move_construct;}
      +    base2& operator=(base2&&) {++move_assign; return *this;}
      +};
      +
      +int test2()
      +{
      +    base2 b;
      +    base2 b2(b);
      +    assert(move_construct == 0);
      +    base2 b3(static_cast<base2&&>(b));
      +    assert(move_construct == 1);
      +    b = b2;
      +    assert(move_assign == 0);
      +    b = static_cast<base2&&>(b2);
      +    assert(move_assign == 1);
      +}
      +
      +int main()
      +{
      +    test2();
      +    return 0;
      +}
      Index: testsuite/g++.dg/cpp0x/pr33930.C
      ===================================================================
      --- testsuite/g++.dg/cpp0x/pr33930.C	(revision 0)
      +++ testsuite/g++.dg/cpp0x/pr33930.C	(revision 0)
      @@ -0,0 +1,10 @@
      +// { dg-options "-std=c++0x" }
      +typedef const int* type;
      +
      +float& foo( const type& ggg );
      +int& foo( type&& ggg );
      +
      +void bar( int* someptr )
      +{
      +  int& x = foo( someptr );
      +}
      Index: cp/typeck.c
      ===================================================================
      --- cp/typeck.c	(revision 129899)
      +++ cp/typeck.c	(working copy)
      @@ -620,7 +620,7 @@ merge_types (tree t1, tree t2)
       	if (code1 == POINTER_TYPE)
       	  t1 = build_pointer_type (target);
       	else
      -	  t1 = build_reference_type (target);
      +	  t1 = cp_build_reference_type (target, TYPE_REF_IS_RVALUE (t1));
       	t1 = build_type_attribute_variant (t1, attributes);
       	t1 = cp_build_qualified_type (t1, quals);
       
      Index: cp/call.c
      ===================================================================
      --- cp/call.c	(revision 129899)
      +++ cp/call.c	(working copy)
      @@ -5076,7 +5076,8 @@ build_over_call (struct z_candidate *can
       	    return build_target_expr_with_type (arg, DECL_CONTEXT (fn));
       	}
             else if (TREE_CODE (arg) == TARGET_EXPR
      -	       || TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn)))
      +	       || (TYPE_HAS_TRIVIAL_INIT_REF (DECL_CONTEXT (fn))
      +		   && !move_fn_p (fn)))
       	{
       	  tree to = stabilize_reference
       	    (build_indirect_ref (TREE_VALUE (args), 0));
      @@ -6118,7 +6119,11 @@ compare_ics (conversion *ics1, conversio
         if (ics1->kind == ck_qual
             && ics2->kind == ck_qual
             && same_type_p (from_type1, from_type2))
      -    return comp_cv_qual_signature (to_type1, to_type2);
      +    {
      +      int result = comp_cv_qual_signature (to_type1, to_type2);
      +      if (result != 0)
      +	return result;
      +    }
       
         /* [over.ics.rank]
      
      From-SVN: r129905
      Douglas Gregor committed
    • config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs. · b76c3c4b
      2007-11-05  Paul Brook  <paul@codesourcery.com>
      
      	gcc/
      	* config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
      	* config/arm/arm.c (arm_lang_output_object_attributes_hook): New.
      	(arm_file_start): Don't set Tag_ABI_PCS_wchar_t.  Call
      	arm_lang_output_object_attributes_hook.
      	* config/arm/arm.h (arm_lang_output_object_attributes_hook): Declare.
      	(REGISTER_TARGET_PRAGMAS): Call arm_lang_object_attributes_init.
      	* config/arm/arm-protos.h (arm_lang_object_attributes_init): Add
      	prototype.
      	* config/arm/t-arm.c (arm.o): New rule.
      	* config/arm/arm-c.c: New file.
      
      From-SVN: r129904
      Paul Brook committed
    • configure.ac: Don't run config-ml.in directly. · 04e0cb88
      2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* configure.ac: Don't run config-ml.in directly.
      	(multilib_arg): New.
      	* configure: Regenerated.
      
      From-SVN: r129902
      H.J. Lu committed
    • re PR tree-optimization/32540 (Exponential time behavior in PRE) · f0ed4cfb
      2007-11-05  Nick Clifton  <nickc@redhat.com>
      	    Sebastian Pop  <sebastian.pop@amd.com>
      
      	PR tree-optimization/32540
      	PR tree-optimization/33922
      	* doc/invoke.texi: Document PARAM_MAX_PARTIAL_ANTIC_LENGTH.
      	* tree-ssa-pre.c: Include params.h.
      	(compute_partial_antic_aux): Use PARAM_MAX_PARTIAL_ANTIC_LENGTH
      	to limit the maximum length of the PA set for a given block.
      	* Makefile.in: Add a dependency upon params.h for tree-ssa-pre.c
      	* params.def (PARAM_MAX_PARTIAL_ANTIC_LENGTH): New parameter.
      
      	* gcc.dg/tree-ssa/pr32540-1.c: New.
      	* gcc.dg/tree-ssa/pr32540-2.c: New.
      	* gcc.dg/tree-ssa/pr33922.c: New.
      
      
      Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
      
      From-SVN: r129901
      Nick Clifton committed
    • re PR c++/33939 (Rvalue references not deduced correctly in vararg function templates) · 2afad0f6
      2007-11-05  Douglas Gregor  <doug.gregor@gmail.com>
      
      	PR c++/33939
      	* pt.c (unify_pack_expansion): bring handling of function call
      	arguments into line with type_unification_real. 
      
      2007-11-05  Douglas Gregor  <doug.gregor@gmail.com>
      
      	PR c++/33939
      	* g++.dg/cpp0x/variadic-rref.C: New.
      
      From-SVN: r129900
      Douglas Gregor committed
    • libgcc2.c (__fixunstfDI, [...]): Make return type unsigned. · f139f5fa
      	* libgcc2.c (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
      	__fixunssfDI): Make return type unsigned.
      	* libgcc2.h (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
      	__fixunssfDI): Make return type unsigned.
      
      From-SVN: r129899
      Nathan Sidwell committed
    • typeck.c (build_binary_op): Use pedwarn instead of error for consistency. · 278b63df
      2007-11-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      cp/
      	* typeck.c (build_binary_op): Use pedwarn instead of error for
      	consistency.
      testsuite/
      	* g++dg/warn/pointer-integer-comparison.C: New.
      
      From-SVN: r129898
      Manuel López-Ibáñez committed
    • re PR tree-optimization/33856 (Segfault in create_data_ref/compute_data_dependences_for_loop) · 0976ffb6
      	PR tree-optimization/33856
      	* tree-data-ref.c (get_references_in_stmt): Don't add
      	REFERENCE_CLASS_P trees to references vector if get_base_address
      	returns NULL on them.
      
      	* gcc.c-torture/compile/20071027-1.c: New test.
      
      From-SVN: r129897
      Jakub Jelinek committed
    • re PR c++/33836 (ICE with invalid use of &&) · f370e66b
      	PR c++/33836
      	* parser.c (cp_parser_unary_expression): For &&label call
      	cp_parser_non_integral_constant_expression and return error_mark_node
      	if it returned true.
      
      	* g++.dg/ext/label10.C: New test.
      
      From-SVN: r129896
      Jakub Jelinek committed
    • re PR c++/33969 (ICE with const and function pointer) · 1b021ff4
      	PR c++/33969
      	* decl.c (grokdeclarator): Don't call build_memfn_type if type
      	is neither FUNCTION_TYPE nor METHOD_TYPE.
      
      	* g++.dg/other/ptrmem9.C: New test.
      
      From-SVN: r129895
      Jakub Jelinek committed
    • Daily bump. · dbf05723
      From-SVN: r129891
      GCC Administrator committed
    • Index... · f519a4b3
      Index: ChangeLog
      ===================================================================
      --- ChangeLog   (revision 129887)
      +++ ChangeLog   (working copy)
      @@ -6447,6 +6447,7 @@
       
       2007-09-02  Joseph Myers  <joseph@codesourcery.com>
       
      +       PR c/29237
              PR middle-end/33272
              * c-decl.c (grokdeclarator): Apply qualifiers to type of parameter
              decayed from array.
      Index: testsuite/ChangeLog
      ===================================================================
      --- testsuite/ChangeLog (revision 129887)
      +++ testsuite/ChangeLog (working copy)
      @@ -3041,6 +3041,7 @@
       
       2007-09-02  Joseph Myers  <joseph@codesourcery.com>
       
      +       PR C/29237
              PR middle-end/33272
              * gcc.dg/c99-arraydecl-3.c: New test.
      
      From-SVN: r129888
      Andrew Pinski committed
  2. 04 Nov, 2007 7 commits
  3. 03 Nov, 2007 9 commits
  4. 02 Nov, 2007 4 commits