SOURCES: gcc-branch.diff - fixes

arekm arekm at pld-linux.org
Fri Apr 24 15:18:02 CEST 2009


Author: arekm                        Date: Fri Apr 24 13:18:02 2009 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fixes

---- Files affected:
SOURCES:
   gcc-branch.diff (1.10 -> 1.11) 

---- Diffs:

================================================================
Index: SOURCES/gcc-branch.diff
diff -u /dev/null SOURCES/gcc-branch.diff:1.11
--- /dev/null	Fri Apr 24 15:18:02 2009
+++ SOURCES/gcc-branch.diff	Fri Apr 24 15:17:55 2009
@@ -0,0 +1,101588 @@
+Index: gcc/ira-conflicts.c
+===================================================================
+--- gcc/ira-conflicts.c	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/ira-conflicts.c	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -411,9 +411,9 @@
+     /* Can not be tied.  It is not in the cover class.  */
+     return false;
+   if (HARD_REGISTER_P (reg1))
+-    cost = ira_register_move_cost[mode][cover_class][rclass] * freq;
++    cost = ira_get_register_move_cost (mode, cover_class, rclass) * freq;
+   else
+-    cost = ira_register_move_cost[mode][rclass][cover_class] * freq;
++    cost = ira_get_register_move_cost (mode, rclass, cover_class) * freq;
+   for (;;)
+     {
+       ira_allocate_and_set_costs
+Index: gcc/DATESTAMP
+===================================================================
+--- gcc/DATESTAMP	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/DATESTAMP	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -1 +1 @@
+-20090421
++20090424
+Index: gcc/fold-const.c
+===================================================================
+--- gcc/fold-const.c	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/fold-const.c	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -5293,31 +5293,34 @@
+ 	break;
+ 
+       case GT_EXPR:
+-	/* If C1 is C2 - 1, this is max(A, C2).  */
++	/* If C1 is C2 - 1, this is max(A, C2), but use ARG00's type for
++	   MAX_EXPR, to preserve the signedness of the comparison.  */
+ 	if (! operand_equal_p (arg2, TYPE_MIN_VALUE (type),
+ 			       OEP_ONLY_CONST)
+ 	    && operand_equal_p (arg01,
+ 				const_binop (MINUS_EXPR, arg2,
+ 					     build_int_cst (type, 1), 0),
+ 				OEP_ONLY_CONST))
+-	  return pedantic_non_lvalue (fold_build2 (MAX_EXPR,
+-						   type,
+-						   fold_convert (type, arg1),
+-						   arg2));
++	  return pedantic_non_lvalue (fold_convert (type,
++				      fold_build2 (MAX_EXPR, TREE_TYPE (arg00),
++						   arg00,
++						   fold_convert (TREE_TYPE (arg00),
++							         arg2))));
+ 	break;
+ 
+       case GE_EXPR:
+-	/* If C1 is C2 + 1, this is max(A, C2).  */
++	/* If C1 is C2 + 1, this is max(A, C2), with the same care as above.  */
+ 	if (! operand_equal_p (arg2, TYPE_MAX_VALUE (type),
+ 			       OEP_ONLY_CONST)
+ 	    && operand_equal_p (arg01,
+ 				const_binop (PLUS_EXPR, arg2,
+ 					     build_int_cst (type, 1), 0),
+ 				OEP_ONLY_CONST))
+-	  return pedantic_non_lvalue (fold_build2 (MAX_EXPR,
+-						   type,
+-						   fold_convert (type, arg1),
+-						   arg2));
++	  return pedantic_non_lvalue (fold_convert (type,
++				      fold_build2 (MAX_EXPR, TREE_TYPE (arg00),
++						   arg00,
++						   fold_convert (TREE_TYPE (arg00),
++							         arg2))));
+ 	break;
+       case NE_EXPR:
+ 	break;
+@@ -11861,7 +11864,8 @@
+ 	      if (code == LROTATE_EXPR || code == RROTATE_EXPR)
+ 	        low = low % TYPE_PRECISION (type);
+ 	      else if (TYPE_UNSIGNED (type) || code == LSHIFT_EXPR)
+-	        return build_int_cst (type, 0);
++		return omit_one_operand (type, build_int_cst (type, 0),
++					 TREE_OPERAND (arg0, 0));
+ 	      else
+ 		low = TYPE_PRECISION (type) - 1;
+ 	    }
+Index: gcc/DEV-PHASE
+===================================================================
+--- gcc/DEV-PHASE	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/DEV-PHASE	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1 @@
++prerelease
+Index: gcc/ChangeLog
+===================================================================
+--- gcc/ChangeLog	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/ChangeLog	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -1,3 +1,98 @@
++2009-04-24  Paolo Bonzini  <bonzini at gnu.org>
++
++	PR middle-end/39867
++	* fold-const.c (fold_cond_expr_with_comparison): When folding
++	> and >= to MAX, make sure the MAX uses the same type as the
++	comparison's operands.
++
++2009-04-23  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
++
++	* config/spu/spu-builtins.h: Delete file.
++
++	* config/spu/spu.h (enum spu_builtin_type): Move here from
++	spu-builtins.h.
++	(struct spu_builtin_description): Likewise.  Add GTY marker.
++	Do not use enum spu_function_code or enum insn_code.
++	(spu_builtins): Add extern declaration.
++
++	* config/spu/spu.c: Do not include "spu-builtins.h".
++	(enum spu_function_code, enum spu_builtin_type_index,
++	V16QI_type_node, V8HI_type_node, V4SI_type_node, V2DI_type_node,
++	V4SF_type_node, V2DF_type_node, unsigned_V16QI_type_node,
++	unsigned_V8HI_type_node, unsigned_V4SI_type_node,
++	unsigned_V2DI_type_node): Move here from spu-builtins.h.
++	(spu_builtin_types): Make static.  Add GTY marker.
++	(spu_builtins): Add extern declaration with GTY marker.
++	Include "gt-spu.h".
++
++	* config/spu/spu-c.c: Do not include "spu-builtins.h".
++	(spu_resolve_overloaded_builtin): Do not use spu_function_code.
++	Check programmatically whether all parameters are scalar.
++
++	* config/spu/t-spu-elf (spu.o, spu-c.o): Update dependencies.
++
++2009-04-22  Jing Yu  <jingyu at google.com>
++
++	PR testsuite/39781
++	* config/arm/arm.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
++
++2009-04-22  Eric Botcazou  <ebotcazou at adacore.com>
++
++	Backport from mainline:
++	2009-04-17  Eric Botcazou  <ebotcazou at adacore.com>
++	* dbxout.c (dbxout_block): Reinstate test on TREE_USED.
++	* tree-ssa-live.c (remove_unused_scope_block_p): Update TREE_USED bit.
++
++2009-04-22  Jakub Jelinek  <jakub at redhat.com>
++
++	* alias.c (find_base_term): Move around LO_SUM case, so that
++	CONST falls through into PLUS/MINUS handling.
++
++	PR c/39855
++	* fold-const.c (fold_binary) <case LSHIFT_EXPR>: When optimizing
++	into 0, use omit_one_operand.
++
++2009-04-22  Vladimir Makarov  <vmakarov at redhat.com>
++
++	PR rtl-optimization/39762
++	* ira-int.h (ira_register_move_cost, ira_may_move_in_cost,
++	ira_may_move_out_cost): Add comments about way of their usage.
++	(ira_get_register_move_cost, ira_get_may_move_cost): New functions.
++
++	* ira-conflicts.c (process_regs_for_copy): Use function
++	ira_get_register_move_cost instead of global
++	ira_register_move_cost.
++
++	* ira-color.c (update_copy_costs, calculate_allocno_spill_cost,
++	color_pass, move_spill_restore, update_curr_costs): Ditto.
++
++	* ira-lives.c (process_single_reg_class_operands): Ditto.
++
++	* ira-emit.c (emit_move_list): Ditto.
++
++	* ira-costs.c (copy_cost): Don't call ira_init_register_move_cost.
++	(record_reg_classes): Ditto.  Use functions
++	ira_get_register_move_cost and ira_get_may_move_cost instead of
++	global vars ira_register_move_cost, ira_may_move_out_cost and
++	ira_may_move_in_cost.
++	(record_address_regs): Don't call ira_init_register_move_cost.
++	Use function ira_get_may_move_cost instead of global
++	ira_may_move_in_cost.
++	(process_bb_node_for_hard_reg_moves): Use function
++	ira_get_register_move_cost instead of global ira_register_move_cost.
++	(ira_costs): Don't call ira_init_register_move_cost.
++
++2009-04-22  Richard Guenther  <rguenther at suse.de>
++
++	PR tree-optimization/39824
++	* tree-ssa-ccp.c (fold_const_aggregate_ref): For INDIRECT_REFs
++	make sure the types are compatible.
++
++2009-04-21  Jakub Jelinek  <jakub at redhat.com>
++
++	* BASE-VER: Set to 4.4.1.
++	* DEV-PHASE: Set to prerelease.
++
+ 2009-04-21  Release Manager
+ 
+ 	* GCC 4.4.0 released.
+Index: gcc/testsuite/gcc.c-torture/compile/pr39824.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr39824.c	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr39824.c	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,26 @@
++static const double internalEndianMagic = 7.949928895127363e-275;
++static const unsigned char ieee_754_mantissa_mask[] = { 0x00, 0x0F, 0xFF, 0xFF,
++    0xFF, 0xFF, 0xFF, 0xFF };
++static inline int 
++trio_isnan (double number)
++{
++  int has_mantissa = 0;
++  unsigned int i;
++  unsigned char current;
++  for (i = 0; i < (unsigned int)sizeof(double); i++)
++    {
++      current = ((unsigned char *)&number)[(((unsigned char
++					      *)&internalEndianMagic)[7-(i)])];
++      has_mantissa |= (current & ieee_754_mantissa_mask[i]);
++    }
++  return has_mantissa;
++}
++void
++xmlXPathEqualNodeSetFloat(int nodeNr, double v)
++{
++  int i;
++  for (i=0; i<nodeNr; i++)
++    if (!trio_isnan(v))
++      break;
++}
++
+Index: gcc/testsuite/gcc.c-torture/compile/pr39845.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/compile/pr39845.c	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/gcc.c-torture/compile/pr39845.c	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,43 @@
++typedef union tree_node *tree;
++enum tree_code { EXCESS_PRECISION_EXPR };
++enum built_in_function { BUILT_IN_ACOS, BUILT_IN_FPCLASSIFY, BUILT_IN_ISFINITE };
++struct tree_base {
++    __extension__ enum tree_code code : 16;
++    unsigned side_effects_flag : 1;
++};
++struct tree_exp {
++    tree     operands[1];
++};
++struct tree_function_decl {
++    __extension__ enum built_in_function function_code : 11;
++    unsigned static_ctor_flag : 1;
++};
++union tree_node {
++    struct tree_base base;
++    struct tree_function_decl function_decl;
++    struct tree_exp exp;
++};
++static tree
++convert_arguments (tree fundecl)
++{
++  tree val = (void *)0;
++  unsigned int parmnum;
++  unsigned char type_generic_remove_excess_precision = 0;
++  switch (((fundecl)->function_decl.function_code))
++    {
++      case BUILT_IN_ISFINITE:
++      case BUILT_IN_FPCLASSIFY:
++	  type_generic_remove_excess_precision = 1;
++    }
++  for (parmnum = 0;; ++parmnum)
++    if (((enum tree_code) (val)->base.code) == EXCESS_PRECISION_EXPR
++	&& !type_generic_remove_excess_precision)
++      val = ((val)->exp.operands[0]);
++  return val;
++}
++tree
++build_function_call_vec (tree function)
++{
++  return convert_arguments (function);
++}
++
+Index: gcc/testsuite/gnat.dg/enum2_pkg.ads
+===================================================================
+--- gcc/testsuite/gnat.dg/enum2_pkg.ads	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/gnat.dg/enum2_pkg.ads	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,8 @@
++with Ada.Finalization; use Ada.Finalization;
++
++package Enum2_Pkg is
++  type F_String is new Controlled with record
++    Data : access String;
++  end record;
++  Null_String : constant F_String := (Controlled with Data => null);
++end Enum2_Pkg;
+Index: gcc/testsuite/gnat.dg/enum2.adb
+===================================================================
+--- gcc/testsuite/gnat.dg/enum2.adb	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/gnat.dg/enum2.adb	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,11 @@
++-- { dg-do run }
++-- { dg-options "-gnat05 -O2" }
++
++with Enum2_Pkg; use Enum2_Pkg;
++
++procedure Enum2 is
++  type Enum is (A, B, C, D);
++  Table : array (B .. C, 1 .. 1) of F_String := (others => (others => Null_String));
++begin
++  Table := (others => (others => Null_String));
++end;
+Index: gcc/testsuite/gcc.dg/torture/pr39855.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr39855.c	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/gcc.dg/torture/pr39855.c	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,24 @@
++/* PR c/39855 */
++/* { dg-do run { target { int32plus } } } */
++
++extern void abort (void);
++
++int i, j, k;
++
++int
++foo (void)
++{
++  return ++i;
++}
++
++int
++main ()
++{
++  if (__CHAR_BIT__ != 8 || sizeof (int) != 4)
++    return 0;
++  j = foo () << 30 << 2;
++  k = (unsigned) foo () >> 16 >> 16;
++  if (i != 2 || j != 0 || k != 0)
++    abort ();
++  return 0;
++}
+Index: gcc/testsuite/gcc.dg/torture/pr39829.c
+===================================================================
+--- gcc/testsuite/gcc.dg/torture/pr39829.c	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/gcc.dg/torture/pr39829.c	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,27 @@
++/* { dg-do compile } */
++/* { dg-options "-w" } */
++
++void foo (void * DAG_temp117584)
++{
++  char  uA;
++  void* pA;
++  void* pB;
++  void* pC;
++  do {
++      int DAG_temp117585;
++      int DAG_temp117586;
++      void ** __indir_union1 = (void**)DAG_temp117584;
++      DAG_temp117585 = (long)*__indir_union1;
++      DAG_temp117586 = DAG_temp117585;
++      if ( DAG_temp117586 != (int)268435456 )
++	pA = (void*)&uA;
++      pB = (void*)&pA;
++      pC = pB;
++      union __block_indir0_u {  struct {  long val; }  __indir_struct; }
++      * __indir_union = (union __block_indir0_u*)pC;
++      f(__indir_union->__indir_struct.val);
++
++      DAG_temp117584 += 64;
++  } while (1);
++}
++
+Index: gcc/testsuite/gcc.dg/pr39867.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr39867.c	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/gcc.dg/pr39867.c	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,12 @@
++/* { dg-do link } */
++/* { dg-options "-O2" } */
++
++int main (void)
++{
++  int exp = -1;
++  /* Wrong folding of the LHS to an unsigned MAX leads to 4294967295 != 2.  */
++  if ((exp < 2 ? 2U : (unsigned int) exp) != 2)
++    link_error ();
++  return 0;
++}
++
+Index: gcc/testsuite/ChangeLog
+===================================================================
+--- gcc/testsuite/ChangeLog	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/testsuite/ChangeLog	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -1,3 +1,110 @@
++2009-04-24  Paolo Bonzini  <bonzini at gnu.org>
++
++	PR middle-end/39867
++	* gcc.dg/pr39867.c: New.
++
++2009-04-23  Dodji Seketeli  <dodji at redhat.com>
++
++	PR c++/38228
++	* g++.dg/expr/bound-mem-fun.C: New test.
++
++2009-04-22  Eric Botcazou  <ebotcazou at adacore.com>
++
++	* gnat.dg/enum2.adb: New test.
++	* gnat.dg/enum2_pkg.ads: New helper.
++
++2009-04-22  Jakub Jelinek  <jakub at redhat.com>
++
++	PR c/39855
++	* gcc.dg/torture/pr39855.c: New test.
++
++2009-04-22  Richard Guenther  <rguenther at suse.de>
++
++	PR tree-optimization/39824
++	* gcc.c-torture/compile/pr39824.c: New testcase.
++
++2009-04-22  Dodji Seketeli  <dodji at redhat.com>
++
++	PR c++/39639
++	* g++.dg/cpp0x/pr39639.C: New test.
++
++2009-04-22  H.J. Lu  <hongjiu.lu at intel.com>
++
++	Backport from mainline:
++	2009-04-22  Richard Guenther  <rguenther at suse.de>
++
++	PR tree-optimization/39845
++	* gcc.c-torture/compile/pr39845.c: New testcase.
++
++	2009-04-21  Richard Guenther  <rguenther at suse.de>
++
++	PR middle-end/39829
++	* gcc.dg/torture/pr39829.c: New testcase.
++
++2009-04-12  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
++
++	Backport from mainline:
++
++	2009-04-17  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
++
++	* gfortran.fortran-torture/execute/getarg_1.x: New file.
++
++	2009-04-17  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
++
++	* gfortran.dg/vect/pr39318.f90: Guard with "target fopenmp".
++
++	2009-04-17  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
++
++	* gfortran.dg/chmod_1.f90: Disable on spu-*-* targets.
++	* gfortran.dg/chmod_2.f90: Likewise.
++	* gfortran.dg/chmod_3.f90: Likewise.
++	* gfortran.dg/open_errors.f90: Likewise.
++	* gfortran.dg/stat_1.f90: Likewise.
++	* gfortran.dg/stat_2.f90: Likewise.
++
++	2009-04-17  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
++
++	* gfortran.fortran-torture/execute/nan_inf_fmt.x: Skip on spu-*-*.
++	* gfortran.fortran-torture/execute/intrinsic_nearest.x: Likewise.
++	* gfortran.fortran-torture/execute/intrinsic_set_exponent.x: Likewise.
++	* gfortran.dg/nearest_1.f90: Likewise.
++	* gfortran.dg/nearest_3.f90: Likewise.
++	* gfortran.dg/isnan_1.f90: Likewise.
++	* gfortran.dg/isnan_2.f90: Likewise.
++	* gfortran.dg/nan_1.f90: Likewise.
++	* gfortran.dg/nan_2.f90: Likewise.
++	* gfortran.dg/nan_3.f90: Likewise.
++	* gfortran.dg/nan_4.f90: Likewise.
++	* gfortran.dg/module_nan.f90: Likewise.
++	* gfortran.dg/int_conv_2.f90: Likewise.
++	* gfortran.dg/init_flag_3.f90: Likewise.
++	* gfortran.dg/namelist_42.f90: Likewise.
++	* gfortran.dg/namelist_43.f90: Likewise.
++	* gfortran.dg/real_const_3.f90: Likewise.
++	* gfortran.dg/transfer_simplify_1.f90: Likewise.
++
++	* gfortran.dg/default_format_1.f90: XFAIL on spu-*-*.
++	* gfortran.dg/default_format_denormal_1.f90: XFAIL on spu-*-*.
++	* gfortran.dg/scalar_mask_2.f90: XFAIL on spu-*-*.
++	* gfortran.dg/integer_exponentiation_3.F90: XFAIL on spu-*-*.
++	* gfortran.dg/integer_exponentiation_5.F90: XFAIL on spu-*-*.
++
++	* gfortran.dg/elemental_subroutine_1.f90: Relax "epsilon" check.
++	* gfortran.dg/gamma_5.f90: Likewise.
++
++	2009-04-17  Ulrich Weigand  <Ulrich.Weigand at de.ibm.com>
++
++	* lib/gcc-dg.exp (gcc-dg-prune): Make linker message check
++	less strict so it also works with auto-overlay support.
++	* lib/gcc-defs.exp (${tool}_check_unsupported_p): Add check
++	for "exceeds local store" linker errors on the SPU.
++
++	* lib/gfortran.exp: Include target-supports.exp.
++	(gfortran_init): On SPU targets where automatic overlay support
++	is available, use it to build all Fortran test cases.
++
++	* gfortran.dg/pr20257.f90: Skip on spu-*-* targets.
++
+ 2009-04-21  Release Manager
+ 
+ 	* GCC 4.4.0 released.
+Index: gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/gfortran.fortran-torture/execute/getarg_1.x	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,5 @@
++if [istarget "spu-*-*"] {
++    # We need -mstdmain to enable argument processing on SPU.
++    lappend additional_flags "-mstdmain"
++}
++return 0
+Index: gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_nearest.x	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -1,2 +1,6 @@
++if [istarget "spu-*-*"] {
++    # No Inf/NaN support on SPU.
++    return 1
++}
+ add-ieee-options
+ return 0
+Index: gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/testsuite/gfortran.fortran-torture/execute/nan_inf_fmt.x	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -1,2 +1,6 @@
++if [istarget "spu-*-*"] {
++    # No Inf/NaN support on SPU.
++    return 1
++}
+ add-ieee-options
+ return 0
+Index: gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x
+===================================================================
+--- gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_set_exponent.x	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -1,2 +1,6 @@
++if [istarget "spu-*-*"] {
++    # No denormal support on SPU.
++    return 1
++}
+ add-ieee-options
+ return 0
+Index: gcc/testsuite/g++.dg/expr/bound-mem-fun.C
+===================================================================
+--- gcc/testsuite/g++.dg/expr/bound-mem-fun.C	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/g++.dg/expr/bound-mem-fun.C	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,18 @@
++// Contributed by Dodji Seketeli <dodji at redhat.com>
++// Origin PR c++/38228
++// { dg-do "compile" }
++
++struct A
++{
++  A ();
++  template<typename T> A(T);
++};
++
++struct B
++{
++  int foo();
++};
++
++A a = B().*(&B::foo); // { dg-error "invalid use of non-static member function" }
++
++
+Index: gcc/testsuite/g++.dg/cpp0x/pr39639.C
+===================================================================
+--- gcc/testsuite/g++.dg/cpp0x/pr39639.C	(.../tags/gcc_4_4_0_release)	(wersja 0)
++++ gcc/testsuite/g++.dg/cpp0x/pr39639.C	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -0,0 +1,20 @@
++// Contributed by Dodji Seketeli <dodji at redhat.com>
++// Origin: PR c++/39639
++// { dg-options "-std=c++0x" }
++// { dg-do "compile" }
++
++template <class... Types>
++struct S
++  : S<...Types>, // { dg-error "expected parameter pack before '...'" }
++    S<...Types...>, // { dg-error "expected parameter pack before '...'" }
++    S<...> // { dg-error "expected parameter pack before '...'" }
++{
++  static int f () { return 1;}
++};
++
++int
++main ()
++{
++  return S<void>::f ();
++}
++
+Index: gcc/testsuite/lib/gcc-dg.exp
+===================================================================
+--- gcc/testsuite/lib/gcc-dg.exp	(.../tags/gcc_4_4_0_release)	(wersja 146715)
++++ gcc/testsuite/lib/gcc-dg.exp	(.../branches/gcc-4_4-branch)	(wersja 146715)
+@@ -186,7 +186,7 @@
+     # Likewise, if we see ".text exceeds local store range" or
+     # similar.
+     if {[string match "spu-*" $system] && \
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/gcc-branch.diff?r1=1.10&r2=1.11&f=u



More information about the pld-cvs-commit mailing list