Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!cmcl2!philabs!rdin!delftcc!sam From: sam@delftcc.UUCP (Sam Kendall) Newsgroups: net.lang.c,net.lang.c++,net.bugs Subject: Problem with compiling automatically generating C Message-ID: <127@delftcc.UUCP> Date: Mon, 24-Feb-86 11:29:54 EST Article-I.D.: delftcc.127 Posted: Mon Feb 24 11:29:54 1986 Date-Received: Sat, 1-Mar-86 01:07:05 EST References: <347@watcgl.UUCP> Organization: Delft Consulting Corp., New York Lines: 26 Xref: watmath net.lang.c:8002 net.lang.c++:29 net.bugs:744 Summary: Expression tree space is too small on PCC-based C compilers In article <347@watcgl.UUCP>, mherman@omnitor.UUCP writes: > Second, [using C++] we ran into problems with the 4.2BSD C compiler with > expression stack overflows (I'm not real sure it was the expression > stack any more). Anyway, one of our trusty Unix people modified cc to > dynamically relocate the stack when the overflow occurred. Our product (Bcc, a C checkout compiler), like C++, generates C code which is compiled by the resident PCC-based compiler. I think the problem described above is the same one we run into: automatically generated code tends to have large expressions, and large expressions overflow the available storage for parse trees. For the PCC, that storage is a fixed-size array. I urge UNIX vendors either to do what the "trusty Unix person" did, or just to greatly increase ALL the table sizes in your PCC-based compiler, the expression tree storage table in particular. If you have virtual memory, then making the table sizes very large should not hurt--for most tables, the unused part will never be touched. Don't assume merely "reasonable" limits for table sizes, because automatically generated programs will exceed The Limits of the Imagination. ---- Sam Kendall allegra \ Delft Consulting Corp. seismo!cmcl2 ! delftcc!sam +1 212 243-8700 ihnp4 / ARPA: delftcc!sam@nyu.ARPA