pcc compiled with gcc works reasonably well.
ccom compiled with pcc has problems with the sizeof() operator. sizeof() always returns 0.
cpp compiled with pcc has problems with long comparisons eg (__STDC_VERSION__ > 199901L)
So, if logic is right: since cpp and ccom didn't crash unpredictably, it's unlikely that it is a codegen bug. So, maybe pcc is having a problem in the first pass. I'll continue to look for a specific fragment of C.
printf("size = %d\n", sizeof(unsigned long int));