This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [Ada] Bootstrapping mainline GNAT fails
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: dewar at gnat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 18 Mar 02 21:27:34 EST
- Subject: Re: [Ada] Bootstrapping mainline GNAT fails
It's really hard to guess what is going on here. Especially since we
don' t duplicate this bomb. I wonder what is different about your
setup and ours?
I'm guessing this is compiling snames.adb and I think we *do* take the
exception here, which is a latent bug.
The real problem is that builtin setjmp/longjmp seems to be broken.
Zack, try compiling and running the following with the same compiler you
built gnat1 with:
int buf[20];
int
main ()
{
char *p = (char *) alloca (20);
strcpy (p, "test\n");
if (__builtin_setjmp (buf))
{
printf (p);
exit (0);
}
{
int *q = (int *) alloca (p[2] * sizeof (int));
int i;
for (i = 0; i < p[2]; i++)
q[i] = 0;
while (1)
sub2 ();
}
}
sub2 ()
{
__builtin_longjmp (buf, 1);
}