jbvb@mit-borax.ARPA (James B. VanBokkelen) (11/14/86)
In my last job, I managed/developed code for LSI11s and T-11s using the DECUS C compiler running on RSTS/E and RT11. The compiler supports a .PSECT extension that greatly aids the development of ROMed systems, and has a fairly simple and robust calling convention that simplifies integration into assembly-language systems (our real-time O/S was all MACRO, and we decided to add support for inclusion of DECUS C modules - it took about 2 man-months, including testing). The compiler and libraries are all MACRO-11, and can be built and run on RT11, RSTS/E, RSX and VMS (in compatibility mode). It would be fairly difficult to port it to Unix, except on an 11 equipped with a DEC-format assembler (I have seen one, ported from DOS-11 long ago, in use at one college). It would be essentially impossible to use it as a cross compiler, except from a Vax with compatibility mode. It comes with some pretty good utilities, but doesn't support a lot of modern C features, like structure returns and assignments, variable definitions on block boundaries, and bit fields. We did several big stand-alone systems, a lot of RT11 code, and a number of fair-sized RSTS/E utilities, and only got burned once by a compiler bug (the I/O library was not so clean, though, but certainly useable - all of the utilities ran out of the box when initially compiled). It will only do floating point if there is a hardware FPP. The only point of comparison I know with Whitesmiths is that the DECUS I/O library is more Unix-like, and that DECUS gives you source, where Whitesmiths has a support number. My former employer is still using the DECUS C. jbvb@ai.ai.mit.edu James B. VanBokkelen FTP Software Inc. (617) 864-1711