This commit is contained in:
Jakub Jelinek 2006-10-06 00:03:44 +00:00
parent 4f7e86848f
commit 41b83a3de0
4 changed files with 26 additions and 55 deletions

View File

@ -1 +1 @@
gcc-4.1.1-20060928.tar.bz2 gcc-4.1.1-20061006.tar.bz2

View File

@ -1,56 +1,7 @@
2006-04-06 Jakub Jelinek <jakub@redhat.com> 2006-04-06 Jakub Jelinek <jakub@redhat.com>
* objc-act.c (objc_push_param): If changing type, run relayout_decl
on the parameter.
* objc/compile/20060406-1.m: New test. * objc/compile/20060406-1.m: New test.
--- gcc/objc/objc-act.c.jj 2006-03-04 08:01:27.000000000 +0100
+++ gcc/objc/objc-act.c 2006-04-06 16:56:57.000000000 +0200
@@ -1,6 +1,6 @@
/* Implement classes and message passing for Objective C.
Copyright (C) 1992, 1993, 1994, 1995, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Contributed by Steve Naroff.
This file is part of GCC.
@@ -8222,21 +8222,29 @@ static GTY(()) tree objc_parmlist = NULL
static void
objc_push_parm (tree parm)
{
+ tree type = TREE_TYPE (parm);
+
/* Decay arrays and functions into pointers. */
if (TREE_CODE (TREE_TYPE (parm)) == ARRAY_TYPE)
- TREE_TYPE (parm) = build_pointer_type (TREE_TYPE (TREE_TYPE (parm)));
+ TREE_TYPE (parm) = build_pointer_type (TREE_TYPE (type));
else if (TREE_CODE (TREE_TYPE (parm)) == FUNCTION_TYPE)
- TREE_TYPE (parm) = build_pointer_type (TREE_TYPE (parm));
+ TREE_TYPE (parm) = build_pointer_type (type);
DECL_ARG_TYPE (parm)
= lang_hooks.types.type_promotes_to (TREE_TYPE (parm));
+ if (type != TREE_TYPE (parm))
+ {
+ relayout_decl (parm);
+ type = TREE_TYPE (parm);
+ }
+
/* Record constancy and volatility. */
c_apply_type_quals_to_decl
- ((TYPE_READONLY (TREE_TYPE (parm)) ? TYPE_QUAL_CONST : 0)
- | (TYPE_RESTRICT (TREE_TYPE (parm)) ? TYPE_QUAL_RESTRICT : 0)
- | (TYPE_VOLATILE (TREE_TYPE (parm)) ? TYPE_QUAL_VOLATILE : 0), parm);
-
+ ((TYPE_READONLY (type) ? TYPE_QUAL_CONST : 0)
+ | (TYPE_RESTRICT (type) ? TYPE_QUAL_RESTRICT : 0)
+ | (TYPE_VOLATILE (type) ? TYPE_QUAL_VOLATILE : 0), parm);
+
objc_parmlist = chainon (objc_parmlist, parm);
}
--- gcc/testsuite/objc/compile/20060406-1.m.jj 2006-04-06 17:25:59.000000000 +0200 --- gcc/testsuite/objc/compile/20060406-1.m.jj 2006-04-06 17:25:59.000000000 +0200
+++ gcc/testsuite/objc/compile/20060406-1.m 2006-04-06 17:20:48.000000000 +0200 +++ gcc/testsuite/objc/compile/20060406-1.m 2006-04-06 17:20:48.000000000 +0200
@@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@

View File

@ -1,6 +1,6 @@
%define DATE 20060928 %define DATE 20061006
%define gcc_version 4.1.1 %define gcc_version 4.1.1
%define gcc_release 28 %define gcc_release 29
%define _unpackaged_files_terminate_build 0 %define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64 %define multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64 %ifarch %{ix86} x86_64 ia64
@ -135,9 +135,12 @@ Patch26: gcc41-pr27567.patch
Patch27: gcc41-pr29272.patch Patch27: gcc41-pr29272.patch
Patch28: gcc41-pr29059.patch Patch28: gcc41-pr29059.patch
Patch29: gcc41-strncat-chk.patch Patch29: gcc41-strncat-chk.patch
Patch30: gcc41-pr29154.patch Patch30: gcc41-pr28415.patch
Patch31: gcc41-pr29198.patch Patch31: gcc41-pr29198.patch
Patch32: gcc41-power6x.patch Patch32: gcc41-power6x.patch
Patch33: gcc41-pr28924.patch
Patch34: gcc41-pr29091.patch
Patch35: gcc41-pr29290.patch
%define _gnu %{nil} %define _gnu %{nil}
%ifarch sparc %ifarch sparc
@ -450,9 +453,12 @@ which are required to run programs compiled with the GNAT.
%patch27 -p0 -b .pr29272~ %patch27 -p0 -b .pr29272~
%patch28 -p0 -b .pr29059~ %patch28 -p0 -b .pr29059~
%patch29 -p0 -b .strncat-chk~ %patch29 -p0 -b .strncat-chk~
%patch30 -p0 -b .pr29154~ %patch30 -p0 -b .pr28415~
%patch31 -p0 -b .pr29198~ %patch31 -p0 -b .pr29198~
%patch32 -p0 -b .power6x~ %patch32 -p0 -b .power6x~
%patch33 -p0 -b .pr28924~
%patch34 -p0 -b .pr29091~
%patch35 -p0 -b .pr29290~
sed -i -e 's/4\.1\.2/4.1.1/' gcc/BASE-VER gcc/version.c sed -i -e 's/4\.1\.2/4.1.1/' gcc/BASE-VER gcc/version.c
sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@ -1514,6 +1520,20 @@ fi
%doc rpm.doc/changelogs/libmudflap/ChangeLog* %doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog %changelog
* Fri Oct 6 2006 Jakub Jelinek <jakub@redhat.com> 4.1.1-29
- update from gcc-4_1-branch (-r117266:117464)
- PRs bootstrap/26764, bootstrap/27334, c++/29080, c++/29138, c++/29226,
c/27489, c/27490, debug/28980, fortran/18791, libfortran/18791,
middle-end/28862, objc/29195, other/25035, tree-opt/28952
- fix s390{,x} address legitimization with TLS symbols (Angel Nunez
Mencias)
- fix -fno-automatic with Fortran auto arrays with non-constant size
(#203928, PR fortran/28415)
- fix char and short __sync_fetch_and_XXX (PR target/28924)
- fix emitting of vector constants with incomplete initializers (PR c/29091)
- fix ICE with multiple exit loop and -ftree-loop-linear
(#208935, PR tree-optimization/29290)
* Sat Sep 30 2006 Jakub Jelinek <jakub@redhat.com> 4.1.1-28 * Sat Sep 30 2006 Jakub Jelinek <jakub@redhat.com> 4.1.1-28
- fix i386/x86_64 legitimize_pic_address with TLS symbols (PR target/29198) - fix i386/x86_64 legitimize_pic_address with TLS symbols (PR target/29198)
- fix gimplification of post-increment with side-effects on the inner - fix gimplification of post-increment with side-effects on the inner

View File

@ -1 +1 @@
64e2992874d48722891f2a7ccb9cf613 gcc-4.1.1-20060928.tar.bz2 4a9847ef71de5cfbbaf35989490e61ad gcc-4.1.1-20061006.tar.bz2