This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 3.4.2 stack variable lifetime analysis
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Earl Chew <earl_chew at agilent dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 4 May 2005 16:37:04 +0200
- Subject: Re: gcc 3.4.2 stack variable lifetime analysis
- References: <4278DA94.3090900@agilent.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, May 04, 2005 at 07:22:12AM -0700, Earl Chew wrote:
> Can anyone tell me if there is a patch for this problem?
Yes, there is:
ftp://sources.redhat.com/pub/gcc/releases/gcc-4.0.0/diffs/gcc-3.4.3-4.0.0.diff.bz2
FYI, this is PR middle-end/9997
> Consider:
>
> void bar(char*);
>
> void foo(int x)
> {
> if (x) { char y[4096]; bar(y); }
> else { char z[4096]; bar(z); }
> }
>
> Cygwin gcc 3.4.2 -O2 yields:
>
> pushl %ebp
> movl $8216, %eax /* Should be about 4k */
> movl %esp, %ebp
> call __alloca
>
> PPC cross compiler 3.4.2 -O2 yields:
>
> cmpwi 7,3,0
> mflr 0
> stwu 1,-8208(1) /* Should be about 4k */
Jakub