rpms/gcc/devel gcc41-pr26092.patch, NONE, 1.1 gcc41-pr26246.patch, NONE, 1.1 .cvsignore, 1.132, 1.133 gcc41.spec, 1.33, 1.34 sources, 1.134, 1.135 gcc41-ldbl-mangle-as-g.patch, 1.2, NONE gcc41-ppc32-ldbl.patch, 1.2, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Feb 13 14:40:15 UTC 2006


Author: jakub

Update of /cvs/dist/rpms/gcc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv8410

Modified Files:
	.cvsignore gcc41.spec sources 
Added Files:
	gcc41-pr26092.patch gcc41-pr26246.patch 
Removed Files:
	gcc41-ldbl-mangle-as-g.patch gcc41-ppc32-ldbl.patch 
Log Message:
4.1.0-0.25


gcc41-pr26092.patch:
 gimplify.c                                   |   28 ++++++++++++++-------------
 testsuite/gcc.c-torture/execute/20060208-1.c |   10 +++++++++
 2 files changed, 25 insertions(+), 13 deletions(-)

--- NEW FILE gcc41-pr26092.patch ---
2006-02-08  Jakub Jelinek  <jakub at redhat.com>

	PR middle-end/26092
	* gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
	twice if decl is a builtin.  When trying again, call get_callee_fndecl
	first to verify it is still a builtin.

	* gcc.c-torture/compile/20060208-1.c: New test.

--- gcc/gimplify.c.jj	2006-02-08 08:09:13.000000000 +0100
+++ gcc/gimplify.c	2006-02-08 12:53:00.000000000 +0100
@@ -1970,9 +1970,8 @@ gimplify_call_expr (tree *expr_p, tree *
   decl = get_callee_fndecl (*expr_p);
   if (decl && DECL_BUILT_IN (decl))
     {
-      tree fndecl = get_callee_fndecl (*expr_p);
       tree arglist = TREE_OPERAND (*expr_p, 1);
-      tree new = fold_builtin (fndecl, arglist, !want_value);
+      tree new = fold_builtin (decl, arglist, !want_value);
 
       if (new && new != *expr_p)
 	{
@@ -2026,19 +2025,22 @@ gimplify_call_expr (tree *expr_p, tree *
     TREE_OPERAND (*expr_p, 1) = nreverse (TREE_OPERAND (*expr_p, 1));
 
   /* Try this again in case gimplification exposed something.  */
-  if (ret != GS_ERROR && decl && DECL_BUILT_IN (decl))
+  if (ret != GS_ERROR)
     {
-      tree fndecl = get_callee_fndecl (*expr_p);
-      tree arglist = TREE_OPERAND (*expr_p, 1);
-      tree new = fold_builtin (fndecl, arglist, !want_value);
-
-      if (new && new != *expr_p)
+      decl = get_callee_fndecl (*expr_p);
+      if (decl && DECL_BUILT_IN (decl))
 	{
-	  /* There was a transformation of this call which computes the
-	     same value, but in a more efficient way.  Return and try
-	     again.  */
-	  *expr_p = new;
-	  return GS_OK;
+	  tree arglist = TREE_OPERAND (*expr_p, 1);
+	  tree new = fold_builtin (decl, arglist, !want_value);
+
+	  if (new && new != *expr_p)
+	    {
+	      /* There was a transformation of this call which computes the
+		 same value, but in a more efficient way.  Return and try
+		 again.  */
+	      *expr_p = new;
+	      return GS_OK;
+	    }
 	}
     }
 
--- gcc/testsuite/gcc.c-torture/execute/20060208-1.c.jj	2006-02-08 13:00:08.000000000 +0100
+++ gcc/testsuite/gcc.c-torture/execute/20060208-1.c	2006-02-08 12:58:58.000000000 +0100
@@ -0,0 +1,10 @@
+/* PR middle-end/26092 */
+typedef __SIZE_TYPE__ size_t;
+extern void *malloc (size_t);
+
+void *(*const foo) (size_t) = malloc;
+
+void *test (void)
+{
+  return (*foo) (3);
+}

gcc41-pr26246.patch:
 fortran/trans-decl.c                |    4 ++--
 testsuite/gfortran.dg/pr26246_1.f90 |   18 ++++++++++++++++++
 testsuite/gfortran.dg/pr26246_2.f90 |   13 +++++++++++++
 3 files changed, 33 insertions(+), 2 deletions(-)

--- NEW FILE gcc41-pr26246.patch ---
2006-02-13  Andrew Pinski  <pinskia at physics.uc.edu>
	    Jakub Jelinek  <jakub at redhat.com>

	PR fortran/26246
	* trans-decl.c (gfc_get_symbol_decl, gfc_get_fake_result_decl): Use
	gfc_add_decl_to_function rather than gfc_finish_var_decl on length.

	* gfortran.dg/pr26246_1.f90: New test.
	* gfortran.dg/pr26246_2.f90: New test.

--- gcc/fortran/trans-decl.c.jj	2006-02-07 12:52:44.000000000 +0100
+++ gcc/fortran/trans-decl.c	2006-02-13 15:04:57.000000000 +0100
@@ -880,7 +880,7 @@ gfc_get_symbol_decl (gfc_symbol * sym)
 	  if (TREE_CODE (length) == VAR_DECL
 	      && DECL_CONTEXT (length) == NULL_TREE)
 	    {
-	      gfc_finish_var_decl (length, sym);
+	      gfc_add_decl_to_function (length);
 	      gfc_defer_symbol_init (sym);
 	    }
 	}
@@ -1792,7 +1792,7 @@ gfc_get_fake_result_decl (gfc_symbol * s
 	length = sym->ts.cl->backend_decl;
       if (TREE_CODE (length) == VAR_DECL
 	  && DECL_CONTEXT (length) == NULL_TREE)
-	gfc_finish_var_decl (length, sym);
+	gfc_add_decl_to_function (length);
     }
 
   if (gfc_return_by_reference (sym))
--- gcc/testsuite/gfortran.dg/pr26246_2.f90.jj	2006-02-13 15:28:10.000000000 +0100
+++ gcc/testsuite/gfortran.dg/pr26246_2.f90	2006-02-13 15:27:00.000000000 +0100
@@ -0,0 +1,13 @@
+! PR fortran/26246
+! { dg-options "-fdump-tree-original -fno-automatic" }
+! { dg-do compile }
+
+subroutine foo(string, n)
+  implicit none
+  integer :: n
+  character(len=n + 6), intent(in) :: string
+  if (string .eq. 'abc') call abort
+end subroutine foo
+
+! { dg-final { scan-tree-dump-times "static int" 0 "original" } }
+! { dg-final { cleanup-tree-dump "original" } }
--- gcc/testsuite/gfortran.dg/pr26246_1.f90.jj	2006-02-13 15:28:04.000000000 +0100
+++ gcc/testsuite/gfortran.dg/pr26246_1.f90	2006-02-13 15:27:00.000000000 +0100
@@ -0,0 +1,18 @@
+! PR fortran/26246
+! { dg-options "-fdump-tree-original" }
+! { dg-do compile }
+
+module pr26246_1
+  implicit none
+  contains
+    function foo(string)
+    character(*), intent(in) :: string
+    character(len=len(string)+2) :: foo
+    if (index(trim(string), '"').ne.0) then
+      foo = "'" // trim(string) // "'"
+    end if
+  end function foo
+end module pr26246_1
+
+! { dg-final { scan-tree-dump-times "static int" 0 "original" } }
+! { dg-final { cleanup-tree-dump "original" } }


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.132
retrieving revision 1.133
diff -u -r1.132 -r1.133
--- .cvsignore	10 Feb 2006 15:19:31 -0000	1.132
+++ .cvsignore	13 Feb 2006 14:40:12 -0000	1.133
@@ -1 +1 @@
-gcc-4.1.0-20060210.tar.bz2
+gcc-4.1.0-20060213.tar.bz2


Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- gcc41.spec	11 Feb 2006 02:48:07 -0000	1.33
+++ gcc41.spec	13 Feb 2006 14:40:12 -0000	1.34
@@ -1,6 +1,6 @@
-%define DATE 20060210
+%define DATE 20060213
 %define gcc_version 4.1.0
-%define gcc_release 0.24
+%define gcc_release 0.25
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64
@@ -24,7 +24,7 @@
 Summary: Various compilers (C, C++, Objective-C, Java, ...)
 Name: gcc
 Version: %{gcc_version}
-Release: %{gcc_release}.1
+Release: %{gcc_release}
 License: GPL
 Group: Development/Languages
 Source0: gcc-%{version}-%{DATE}.tar.bz2
@@ -100,17 +100,17 @@
 Patch3: gcc41-ia64-libunwind.patch
 Patch4: gcc41-gnuc-rh-release.patch
 Patch5: gcc41-java-nomulti.patch
-Patch8: gcc41-ada-pr18302.patch
-Patch9: gcc41-ada-tweaks.patch
-Patch11: gcc41-java-slow_pthread_self.patch
-Patch12: gcc41-fortran-finclude.patch
-Patch13: gcc41-ppc32-retaddr.patch
-Patch14: gcc41-ppc32-ldbl.patch
-Patch15: gcc41-ldbl-mangle-as-g.patch
-Patch16: gcc41-ldbl-default.patch
-Patch17: gcc41-ldbl-default-libstdc++.patch
-Patch18: gcc41-sparc64-g7.patch
-Patch20: gcc41-fortran-where.patch
+Patch6: gcc41-ada-pr18302.patch
+Patch7: gcc41-ada-tweaks.patch
+Patch8: gcc41-java-slow_pthread_self.patch
+Patch9: gcc41-fortran-finclude.patch
+Patch10: gcc41-ppc32-retaddr.patch
+Patch11: gcc41-ldbl-default.patch
+Patch12: gcc41-ldbl-default-libstdc++.patch
+Patch13: gcc41-sparc64-g7.patch
+Patch14: gcc41-fortran-where.patch
+Patch15: gcc41-pr26092.patch
+Patch16: gcc41-pr26246.patch
 
 %define _gnu %{nil}
 %ifarch sparc
@@ -395,17 +395,17 @@
 %patch3 -p0 -b .ia64-libunwind~
 %patch4 -p0 -b .gnuc-rh-release~
 %patch5 -p0 -b .java-nomulti~
-%patch8 -p0 -b .ada-pr18302~
-%patch9 -p0 -b .ada-tweaks~
-%patch11 -p0 -b .java-slow_pthread_self~
-%patch12 -p0 -b .fortran-finclude~
-%patch13 -p0 -b .ppc32-retaddr~
-%patch14 -p0 -b .ppc32-ldbl~
-%patch15 -p0 -b .ldbl-mangle-as-g~
-%patch16 -p0 -b .ldbl-default~
-%patch17 -p0 -b .ldbl-default-libstdc++~
-%patch18 -p0 -b .sparc64-g7~
-%patch20 -p0 -b .fortran-where~
+%patch6 -p0 -b .ada-pr18302~
+%patch7 -p0 -b .ada-tweaks~
+%patch8 -p0 -b .java-slow_pthread_self~
+%patch9 -p0 -b .fortran-finclude~
+%patch10 -p0 -b .ppc32-retaddr~
+%patch11 -p0 -b .ldbl-default~
+%patch12 -p0 -b .ldbl-default-libstdc++~
+%patch13 -p0 -b .sparc64-g7~
+%patch14 -p0 -b .fortran-where~
+%patch15 -p0 -b .pr26092~
+%patch16 -p0 -b .pr26246~
 
 sed -i -e 's/4\.1\.0/4.1.0/' gcc/BASE-VER gcc/version.c
 sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@@ -1424,8 +1424,17 @@
 %doc rpm.doc/changelogs/libmudflap/ChangeLog*
 
 %changelog
-* Fri Feb 10 2006 Jesse Keating <jkeating at redhat.com> - 4.1.0-0.24.1
-- bump again for double-long bug on ppc(64)
+* Mon Feb 13 2006 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.25
+- update from gcc-4_1-branch (-r110831:110903)
+  - PRs c++/16405, c++/24996, fortran/14771, fortran/20858, fortran/25756,
+	middle-end/22439
+- merge gomp changes from trunk (-r110719:110720, -r110852:110853 and
+  -r110907:110908)
+  - PR libgomp/25936
+- fix gimplification of const fn pointers to builting functions
+  (PR middle-end/26092)
+- make sure Fortran length artifical variables aren't SAVEd (Andrew Pinski,
+  PR fortran/26246)
 
 * Fri Feb 10 2006 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.24
 - update from gcc-4_1-branch (-r110632:110831)


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/sources,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -r1.134 -r1.135
--- sources	10 Feb 2006 15:19:31 -0000	1.134
+++ sources	13 Feb 2006 14:40:12 -0000	1.135
@@ -1 +1 @@
-36ce392e2b0466ebd1960456561bac5b  gcc-4.1.0-20060210.tar.bz2
+d1949cf2e79cf95e7f46d7b3e8f1dddc  gcc-4.1.0-20060213.tar.bz2


--- gcc41-ldbl-mangle-as-g.patch DELETED ---


--- gcc41-ppc32-ldbl.patch DELETED ---




More information about the fedora-cvs-commits mailing list