これがw3mのconftest.cの中身だけど、どこか止まる所の見当付く人いる?

マクロ定義が90行程度つづいて

long longval () { return (long) (sizeof (long long)); }
unsigned long ulongval () { return (long) (sizeof (long long)); }
#include <stdio.h>
#include <stdlib.h>
int
main (){
FILE *f = fopen ("conftest.val", "w");
if (! f)
exit (1);
if (((long) (sizeof (long long))) < 0) {
long i = longval ();
if (i != ((long) (sizeof (long long))))
exit (1);
fprintf (f, "%ld\n", i);
} else{
unsigned long i = ulongval ();
if (i != ((long) (sizeof (long long))))
exit (1);
fprintf (f, "%lu\n", i);
}
exit (ferror (f) || fclose (f) != 0);

;
return 0;
}