fix built-in-setjmp.c
Richard Henderson
rth@redhat.com
Tue Feb 5 00:33:00 GMT 2002
"buf" being the wrong type was causing it to be
misaligned on alpha.
r~
* gcc.c-torture/execute/built-in-setjmp.c: Prototype stuff.
(buf): Change to be an array of pointers, not ints.
Index: built-in-setjmp.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/gcc.c-torture/execute/built-in-setjmp.c,v
retrieving revision 1.1
diff -c -p -d -r1.1 built-in-setjmp.c
*** built-in-setjmp.c 2001/01/04 19:02:01 1.1
--- built-in-setjmp.c 2002/02/05 06:34:23
***************
*** 1,9 ****
! int buf[20];
int
main ()
{
! char *p = (char *) alloca (20);
strcpy (p, "test");
--- 1,20 ----
! extern int strcmp(const char *, const char *);
! extern char *strcpy(char *, const char *);
! extern void abort(void);
! extern void exit(int);
!
! void *buf[20];
!
! void __attribute__((noinline))
! sub2 (void)
! {
! __builtin_longjmp (buf, 1);
! }
int
main ()
{
! char *p = (char *) __builtin_alloca (20);
strcpy (p, "test");
*************** main ()
*** 16,22 ****
}
{
! int *q = (int *) alloca (p[2] * sizeof (int));
int i;
for (i = 0; i < p[2]; i++)
--- 27,33 ----
}
{
! int *q = (int *) __builtin_alloca (p[2] * sizeof (int));
int i;
for (i = 0; i < p[2]; i++)
*************** main ()
*** 25,33 ****
while (1)
sub2 ();
}
- }
-
- sub2 ()
- {
- __builtin_longjmp (buf, 1);
}
--- 36,39 ----
More information about the Gcc-patches
mailing list