4.3.2-4
This commit is contained in:
		
							parent
							
								
									34352b072b
								
							
						
					
					
						commit
						8b55e223d6
					
				| @ -1,2 +1,2 @@ | ||||
| gcc-4.3.2-20080905.tar.bz2 | ||||
| gcc-4.3.2-20080917.tar.bz2 | ||||
| fastjar-0.95.tar.gz | ||||
|  | ||||
							
								
								
									
										118
									
								
								gcc43-pr34037.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								gcc43-pr34037.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,118 @@ | ||||
| 2008-09-11  Jakub Jelinek  <jakub@redhat.com> | ||||
| 
 | ||||
| 	PR debug/34037 | ||||
| 	* gimplify.c (gimplify_type_sizes): When not optimizing, ensure | ||||
| 	TYPE_MIN_VALUE and TYPE_MAX_VALUE is not is not DECL_IGNORED_P | ||||
| 	VAR_DECL. | ||||
| 	* cfgexpand.c (expand_used_vars): Keep DECL_ARTIFICIAL | ||||
| 	!DECL_IGNORED_P vars in unexpanded_var_list list for instantiate_decls, | ||||
| 	ggc_free other TREE_LIST nodes from that chain. | ||||
| 	* function.c (instantiate_decls): Instantiate also DECL_RTL | ||||
| 	of vars in cfun->unexpanded_var_list, free that list afterwards. | ||||
| 
 | ||||
| --- gcc/gimplify.c.jj	2008-09-10 20:50:11.000000000 +0200
 | ||||
| +++ gcc/gimplify.c	2008-09-11 13:54:22.000000000 +0200
 | ||||
| @@ -7105,6 +7105,18 @@ gimplify_type_sizes (tree type, gimple_s
 | ||||
|        /* These types may not have declarations, so handle them here.  */ | ||||
|        gimplify_type_sizes (TREE_TYPE (type), list_p); | ||||
|        gimplify_type_sizes (TYPE_DOMAIN (type), list_p); | ||||
| +      /* When not optimizing, ensure VLA bounds aren't removed.  */
 | ||||
| +      if (!optimize
 | ||||
| +	  && TYPE_DOMAIN (type)
 | ||||
| +	  && INTEGRAL_TYPE_P (TYPE_DOMAIN (type)))
 | ||||
| +	{
 | ||||
| +	  t = TYPE_MIN_VALUE (TYPE_DOMAIN (type));
 | ||||
| +	  if (t && TREE_CODE (t) == VAR_DECL && DECL_ARTIFICIAL (t))
 | ||||
| +	    DECL_IGNORED_P (t) = 0;
 | ||||
| +	  t = TYPE_MAX_VALUE (TYPE_DOMAIN (type));
 | ||||
| +	  if (t && TREE_CODE (t) == VAR_DECL && DECL_ARTIFICIAL (t))
 | ||||
| +	    DECL_IGNORED_P (t) = 0;
 | ||||
| +	}
 | ||||
|        break; | ||||
|   | ||||
|      case RECORD_TYPE: | ||||
| --- gcc/cfgexpand.c.jj	2008-09-09 16:08:04.000000000 +0200
 | ||||
| +++ gcc/cfgexpand.c	2008-09-11 15:01:00.000000000 +0200
 | ||||
| @@ -1440,7 +1440,7 @@ estimated_stack_frame_size (void)
 | ||||
|  static void | ||||
|  expand_used_vars (void) | ||||
|  { | ||||
| -  tree t, outer_block = DECL_INITIAL (current_function_decl);
 | ||||
| +  tree t, next, outer_block = DECL_INITIAL (current_function_decl);
 | ||||
|   | ||||
|    /* Compute the phase of the stack frame for this function.  */ | ||||
|    { | ||||
| @@ -1453,11 +1453,15 @@ expand_used_vars (void)
 | ||||
|   | ||||
|    /* At this point all variables on the unexpanded_var_list with TREE_USED | ||||
|       set are not associated with any block scope.  Lay them out.  */ | ||||
| -  for (t = cfun->unexpanded_var_list; t; t = TREE_CHAIN (t))
 | ||||
| +  t = cfun->unexpanded_var_list;
 | ||||
| +  cfun->unexpanded_var_list = NULL_TREE;
 | ||||
| +  for (; t; t = next)
 | ||||
|      { | ||||
|        tree var = TREE_VALUE (t); | ||||
|        bool expand_now = false; | ||||
|   | ||||
| +      next = TREE_CHAIN (t);
 | ||||
| +
 | ||||
|        /* We didn't set a block for static or extern because it's hard | ||||
|  	 to tell the difference between a global variable (re)declared | ||||
|  	 in a local scope, and one that's really declared there to | ||||
| @@ -1484,9 +1488,25 @@ expand_used_vars (void)
 | ||||
|        TREE_USED (var) = 1; | ||||
|   | ||||
|        if (expand_now) | ||||
| -	expand_one_var (var, true, true);
 | ||||
| +	{
 | ||||
| +	  expand_one_var (var, true, true);
 | ||||
| +	  if (DECL_ARTIFICIAL (var) && !DECL_IGNORED_P (var))
 | ||||
| +	    {
 | ||||
| +	      rtx rtl = DECL_RTL_IF_SET (var);
 | ||||
| +
 | ||||
| +	      /* Keep artificial non-ignored vars in cfun->unexpanded_var_list
 | ||||
| +		 chain until instantiate_decls.  */
 | ||||
| +	      if (rtl && (MEM_P (rtl) || GET_CODE (rtl) == CONCAT))
 | ||||
| +		{
 | ||||
| +		  TREE_CHAIN (t) = cfun->unexpanded_var_list;
 | ||||
| +		  cfun->unexpanded_var_list = t;
 | ||||
| +		  continue;
 | ||||
| +		}
 | ||||
| +	    }
 | ||||
| +	}
 | ||||
| +
 | ||||
| +      ggc_free (t);
 | ||||
|      } | ||||
| -  cfun->unexpanded_var_list = NULL_TREE;
 | ||||
|   | ||||
|    /* At this point, all variables within the block tree with TREE_USED | ||||
|       set are actually used by the optimized function.  Lay them out.  */ | ||||
| --- gcc/function.c.jj	2008-09-09 21:13:24.000000000 +0200
 | ||||
| +++ gcc/function.c	2008-09-11 14:56:47.000000000 +0200
 | ||||
| @@ -1645,7 +1645,7 @@ instantiate_decls_1 (tree let)
 | ||||
|  static void | ||||
|  instantiate_decls (tree fndecl) | ||||
|  { | ||||
| -  tree decl;
 | ||||
| +  tree decl, t, next;
 | ||||
|   | ||||
|    /* Process all parameters of the function.  */ | ||||
|    for (decl = DECL_ARGUMENTS (fndecl); decl; decl = TREE_CHAIN (decl)) | ||||
| @@ -1661,6 +1661,17 @@ instantiate_decls (tree fndecl)
 | ||||
|   | ||||
|    /* Now process all variables defined in the function or its subblocks.  */ | ||||
|    instantiate_decls_1 (DECL_INITIAL (fndecl)); | ||||
| +
 | ||||
| +  t = cfun->unexpanded_var_list;
 | ||||
| +  cfun->unexpanded_var_list = NULL_TREE;
 | ||||
| +  for (; t; t = next)
 | ||||
| +    {
 | ||||
| +      next = TREE_CHAIN (t);
 | ||||
| +      decl = TREE_VALUE (t);
 | ||||
| +      if (DECL_RTL_SET_P (decl))
 | ||||
| +	instantiate_decl_rtl (DECL_RTL (decl));
 | ||||
| +      ggc_free (t);
 | ||||
| +    }
 | ||||
|  } | ||||
|   | ||||
|  /* Pass through the INSNS of function FNDECL and convert virtual register | ||||
							
								
								
									
										47
									
								
								gcc43-pr36741-revert.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								gcc43-pr36741-revert.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| Revert: | ||||
| 2008-08-28  Dodji Seketeli  <dodji@redhat.com> | ||||
| 
 | ||||
| 	PR c++/36741 | ||||
| 	* tree.c (int_fits_type_p): Don't forget unsigned integers | ||||
| 	  of type sizetype which higher end word equals -1. | ||||
| 
 | ||||
| 	* g++.dg/other/new-size-type.C: New test. | ||||
| 
 | ||||
| --- gcc/tree.c	(revision 139711)
 | ||||
| +++ gcc/tree.c	(revision 139710)
 | ||||
| @@ -6296,21 +6296,6 @@ int_fits_type_p (const_tree c, const_tre
 | ||||
|       for "unknown if constant fits", 0 for "constant known *not* to fit" and 1 | ||||
|       for "constant known to fit".  */ | ||||
|   | ||||
| -  if (TREE_TYPE (c) == sizetype
 | ||||
| -      && TYPE_UNSIGNED (TREE_TYPE (c))
 | ||||
| -      && TREE_INT_CST_HIGH (c) == -1
 | ||||
| -      && !TREE_OVERFLOW (c))
 | ||||
| -      /* So c is an unsigned integer which type is sizetype.
 | ||||
| -         sizetype'd integers are sign extended even though they are
 | ||||
| -	 unsigned. If the integer value fits in the lower end word of c,
 | ||||
| -	 and if the higher end word has all its bits set to 1, that
 | ||||
| -	 means the higher end bits are set to 1 only for sign extension.
 | ||||
| -	 So let's convert c into an equivalent zero extended unsigned
 | ||||
| -	 integer.  */
 | ||||
| -      c = force_fit_type_double (size_type_node,
 | ||||
| -				 TREE_INT_CST_LOW (c),
 | ||||
| -				 TREE_INT_CST_HIGH (c),
 | ||||
| -				 false, false);
 | ||||
|    /* Check if C >= type_low_bound.  */ | ||||
|    if (type_low_bound && TREE_CODE (type_low_bound) == INTEGER_CST) | ||||
|      { | ||||
| --- gcc/testsuite/g++.dg/other/new-size-type.C	(revision 139711)
 | ||||
| +++ gcc/testsuite/g++.dg/other/new-size-type.C	(revision 139710)
 | ||||
| @@ -1,10 +1,10 @@
 | ||||
|  // Contributed by Dodji Seketeli <dodji@redhat.com> | ||||
|  // Origin: PR c++/36741 | ||||
|   | ||||
|  #include <stddef.h> | ||||
|  const char* | ||||
|  foo() | ||||
|  { | ||||
| -    return new char[~static_cast<size_t>(0)];// { dg-bogus "large" }
 | ||||
| +    return new char[~static_cast<size_t>(0)];// { dg-bogus "large" "" { xfail *-*-* } }
 | ||||
|  } | ||||
|   | ||||
							
								
								
									
										21
									
								
								gcc43.spec
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								gcc43.spec
									
									
									
									
									
								
							| @ -1,9 +1,9 @@ | ||||
| %define DATE 20080905 | ||||
| %define SVNREV 140029 | ||||
| %define DATE 20080917 | ||||
| %define SVNREV 140410 | ||||
| %define gcc_version 4.3.2 | ||||
| # Note, gcc_release must be integer, if you want to add suffixes to | ||||
| # %{release}, append them after %{gcc_release} on Release: line. | ||||
| %define gcc_release 3 | ||||
| %define gcc_release 4 | ||||
| %define _unpackaged_files_terminate_build 0 | ||||
| %define multilib_64_archs sparc64 ppc64 s390x x86_64 | ||||
| %define include_gappletviewer 1 | ||||
| @ -154,6 +154,8 @@ Patch17: gcc43-x86_64-va_start.patch | ||||
| Patch18: gcc43-pr37189.patch | ||||
| Patch19: gcc43-altivec-tests.patch | ||||
| Patch20: gcc43-libtool-no-rpath.patch | ||||
| Patch21: gcc43-pr36741-revert.patch | ||||
| Patch22: gcc43-pr34037.patch | ||||
| 
 | ||||
| # On ARM EABI systems, we do want -gnueabi to be part of the | ||||
| # target triple. | ||||
| @ -384,7 +386,7 @@ Autoreq: true | ||||
| The Java(tm) runtime library sources for use in Eclipse. | ||||
| 
 | ||||
| %package -n cpp | ||||
| Summary: The C Preprocessor. | ||||
| Summary: The C Preprocessor | ||||
| Group: Development/Languages | ||||
| Prereq: /sbin/install-info | ||||
| %ifarch ia64 | ||||
| @ -458,6 +460,8 @@ which are required to run programs compiled with the GNAT. | ||||
| %patch18 -p0 -b .pr37189~ | ||||
| %patch19 -p0 -b .altivec-tests~ | ||||
| %patch20 -p0 -b .libtool-no-rpath~ | ||||
| %patch21 -p0 -b .pr36741-revert~ | ||||
| %patch22 -p0 -b .pr34037~ | ||||
| 
 | ||||
| tar xzf %{SOURCE4} | ||||
| 
 | ||||
| @ -484,7 +488,7 @@ perl -pi -e 's/^check: check-recursive/ifeq (\$(MULTISUBDIR),)\ncheck: check-rec | ||||
| LC_ALL=C sed -i \ | ||||
|   -e 's/D\(o\|\xf6\)nmez/D\xc3\xb6nmez/' \ | ||||
|   -e 's/\(Av\|\x81\xc1v\|\xc1v\|\xef\xbf\xbdv\?\|\x81\xc3\x81v\|\xc3v\)ila/\xc3\x81vila/' \ | ||||
|   -e 's/Esp\(in\|\x81\xedn\|\xedn\|\xef\xbf\xbdn\?\|\xef\xbf\xbd\xadn\|\x81\xc3\xadn\)dola/Esp\xc3\xadndola/' \ | ||||
|   -e 's/Esp\(in\|\x81\xedn\|\xedn\|\xef\xbf\xbdn\?\|\xef\xbf\xbd\xadn\|\x81\xc3\xadn\|\xc3\xef\xbf\xbd\xadn\)dola/Esp\xc3\xadndola/' \ | ||||
|   -e 's/Schl\(u\|\xef\xbf\xbd\|\xfcu\?\|\x81\xfc\|\x81\xc3\xbc\|\xc3\xaf\xc2\xbf\xc2\xbd\|\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xc2\xbc\)ter/Schl\xc3\xbcter/' \ | ||||
|   -e 's/Humi\(e\|\xe8\)res/Humi\xc3\xa8res/' \ | ||||
|   -e 's/L\(ow\|\xc3\xaf\xc2\xbf\xc2\xbd\|oew\|\xf6w\)is/L\xc3\xb6wis/' \ | ||||
| @ -1706,6 +1710,13 @@ fi | ||||
| %doc rpm.doc/changelogs/libmudflap/ChangeLog* | ||||
| 
 | ||||
| %changelog | ||||
| * Wed Sep 17 2008 Jakub Jelinek <jakub@redhat.com> 4.3.2-4 | ||||
| - update from 4.3 branch | ||||
|   - PRs c++/37389, fortran/35837, fortran/36214, fortran/37099, fortran/37199, | ||||
| 	rtl-optimization/37408, target/37466, tree-optimization/36630 | ||||
| - revert PR c++/36741 fix | ||||
| - fix VLA debuginfo at -O0 (PR debug/34037) | ||||
| 
 | ||||
| * Sat Sep  6 2008 Jakub Jelinek <jakub@redhat.com> 4.3.2-3 | ||||
| - don't run tests that require Altivec hw on non-Altivec powerpcs | ||||
| - make sure none of libgcj binaries/libraries contains /usr/%{lib} in | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user