- { "HAVE_NESTED_FUNCTIONS", DEFINES_FUNC, NULL,
- "void (*func(int val))(int);\n"
- "void (*func(int val))(int) {\n"
- " auto void add(int val2);\n"
- " void add(int val2) { val += val2; }\n"
- " return add;\n"
+ { "HAVE_QSORT_R_PRIVATE_LAST",
+ DEFINES_EVERYTHING|EXECUTE|MAY_NOT_COMPILE, NULL,
+ "#define _GNU_SOURCE 1\n"
+ "#include <stdlib.h>\n"
+ "static int cmp(const void *lp, const void *rp, void *priv) {\n"
+ " *(unsigned int *)priv = 1;\n"
+ " return *(const int *)lp - *(const int *)rp; }\n"
+ "int main(void) {\n"
+ " int array[] = { 9, 2, 5 };\n"
+ " unsigned int called = 0;\n"
+ " qsort_r(array, 3, sizeof(int), cmp, &called);\n"
+ " return called && array[0] == 2 && array[1] == 5 && array[2] == 9 ? 0 : 1;\n"