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