diff --git a/blackhole.c b/blackhole.c new file mode 100644 --- /dev/null +++ b/blackhole.c @@ -0,0 +1,30 @@ +/* + * $Id: blackhole.c,v 1.1.1.1 2008-04-28 17:32:53 mbroeker Exp $ + * $Source: /development/c/demos/blackhole.c,v $ + */ + +/* compile with -O0 or without optimizations or it won't crash */ + +#include +#include + +unsigned long blackhole (unsigned long i) +{ + /* + * blackhole stops after a datatype overrun + */ + if ((i + 1) < i) + return i; + + if (!(i % 10000)) + printf ("Recursion %lu\n", i); + + return blackhole (i + 1); +} + +int main (void) +{ + printf ("MAXIMUM RECURSION DEPTH ON YOUR MACHINE: %lu\n", blackhole (0)); + + return EXIT_SUCCESS; +}