1 /* Test that the GP gets properly restored, either by the nonlocal
2    receiver or the nested function.  */
3 
4 #ifndef NO_TRAMPOLINES
5 
6 typedef __SIZE_TYPE__ size_t;
7 extern void abort (void);
8 extern void exit (int);
9 extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
10 
main()11 int main ()
12 {
13   __label__ nonlocal;
14   int compare (const void *a, const void *b)
15   {
16     goto nonlocal;
17   }
18 
19   char array[3];
20   qsort (array, 3, 1, compare);
21   abort ();
22 
23  nonlocal:
24   exit (0);
25 }
26 
27 #else
main()28 int main() { return 0; }
29 #endif
30