blob: fad729aaba3b6e02a9a9edfad1338ab6c2fb1cf2 [file] [log] [blame]
/* { dg-require-effective-target trampolines } */
/* Test that the GP gets properly restored, either by the nonlocal
receiver or the nested function. */
typedef __SIZE_TYPE__ size_t;
extern void abort (void);
extern void exit (int);
extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
int main ()
{
__label__ nonlocal;
int compare (const void *a, const void *b)
{
goto nonlocal;
}
char array[3];
qsort (array, 3, 1, compare);
abort ();
nonlocal:
exit (0);
}