[comp.lang.c] Compiler Limitations

krl@datlog.co.uk ( Kevin Long ) (02/19/88)

We have just taken delivery of a 386 UNIX system (guess whos) and there is a
section in the 'C' compiler manual that says.

"The compiler does not set explicit limits on the number and complexity of
declarations, definitions, and statements ..... If the compiler encounters a
function or program that is too complex to be processed, it displays an error
message to that effect."

and earlier

"No matter what your source program contains these messages should not appear.
If they occur, you should break your program into smaller modules"

Great thinks I, a new fast machine to use... lets port conquest to it. But the
damm thing won't compile. The 'C' compiler throws a wobbly and generates an
internal error. Now I know that the conquest code is not the prettiest I've met
but when the compiler couldn't cope with an expression with x>>3 in the middle
of it, I changed it to x/8 and it compiled ! Also changing the size of variables
from shorts to longs helped. I managed to reduce one of the conquest files
to about 20 lines that refused to compile.

Should the second entry in the manual read,
"Break your compiler into smaller pieces, and send it back ?"