diff options
Diffstat (limited to 'stdlib/tst-qsort.c')
-rw-r--r-- | stdlib/tst-qsort.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/stdlib/tst-qsort.c b/stdlib/tst-qsort.c deleted file mode 100644 index 2b26e74d0b..0000000000 --- a/stdlib/tst-qsort.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Test case by Paul Eggert <eggert@twinsun.com> */ -#include <stdio.h> -#include <stdlib.h> -#include <tst-stack-align.h> - -struct big { char c[4 * 1024]; }; - -struct big *array; -struct big *array_end; - -static int align_check; - -int -compare (void const *a1, void const *b1) -{ - struct big const *a = a1; - struct big const *b = b1; - - if (!align_check) - align_check = TEST_STACK_ALIGN () ? -1 : 1; - - if (! (array <= a && a < array_end - && array <= b && b < array_end)) - { - exit (EXIT_FAILURE); - } - return b->c[0] - a->c[0]; -} - -int -main (int argc, char **argv) -{ - size_t i; - size_t array_members = argv[1] ? atoi (argv[1]) : 50; - array = (struct big *) malloc (array_members * sizeof *array); - if (array == NULL) - { - puts ("no memory"); - exit (EXIT_FAILURE); - } - - array_end = array + array_members; - for (i = 0; i < array_members; i++) - array[i].c[0] = i % 128; - - qsort (array, array_members, sizeof *array, compare); - - if (align_check == -1) - { - puts ("stack not sufficiently aligned"); - exit (EXIT_FAILURE); - } - - return 0; -} |