Ciccarelli.PA@PARC-MAXC.ARPA (05/24/83)
I'm looking at several C compilers for the IBM PC, to generate code for a ROM-based system. I've narrowed the choice down to the Lattice, Computer Innovations, and Whitesmiths compilers since I want a full implementation. I believe each of these compilers produces code that can operate in ROM, but I can't determine if they generate reentrant code (i.e. code that can be shared between two or more tasks). Can any of you compiler cognoscenti out there comment on this? Does the fact that C permits one to write recursive functions *imply* that the resulting code is reentrant? /John
INFO-IBMPC%USC-ISIB@sri-unix.UUCP (05/27/83)
From: Dick Gillmann <INFO-IBMPC@USC-ISIB> Not necessarily. A routine can be recursive and not reentrant. For example, a routine could have self-modifying code and as long this was restored before a recursive call, it would work. Ditto for own variables. It's not likely that a C compiler would do such things, though. -------