This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/43051] [4.5 Regression] VTA causes a stack living parameter unavailable in most of the function
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Feb 2010 14:05:26 -0000
- Subject: [Bug debug/43051] [4.5 Regression] VTA causes a stack living parameter unavailable in most of the function
- References: <bug-43051-87@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #1 from jakub at gcc dot gnu dot org 2010-02-12 14:05 -------
Slightly smaller testcase:
static void __attribute__((noinline))
foo (const char *x, long long y)
{
asm volatile ("" : : "r" (x), "r" ((int) y), "r" (0) : "memory");
}
typedef struct S
{
struct S *n;
int v;
} *P;
P
bar (P c, int v, P e)
{
register int si asm ("esi"), di asm ("edi"), bx asm ("ebx");
asm volatile ("" : "=r" (si), "=r" (di), "=r" (bx));
while (c < e)
{
foo ("c", (unsigned int) c);
foo ("v", v);
c++;
}
asm volatile ("" : : "r" (si), "r" (di), "r" (bx));
return 0;
}
again -g -O2 -m32.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43051