Pierangelo Masarati writes: int tests = 0; > for (i = 1; i <= ULONG_MAX; (i <<= 1) ) { > void *y = (void *)i; if (y == NULL) continue; ++tests; (...) > } return (tests > something_reasonably_large ? 0 : EXIT_FAILURE); in case the program does too few tests to give a reliable result. -- Hallvard