mem (11/02/82)
c So! This newsgroup was meant to contain discussions of extensions to the C language? Great! I hadn't heard that. But is anyone listening? Here are a couple of items on my wishlist, then. - Declaration of a routine as an interrupt service routine. Essentially, minimum state save and the PROPER EXIT (RTE vs RTS). Alternatively, the choice of exits, since RTE isn't universally desirable from within an interrupt routine (often a semi- or full- state save routine or a call to an event scheduler is made and the proper exit is to jump off to a complementary routine or return from event scheduling or what-have-you). - More control over linkage. For instance: o The above-mentioned interrupt-server linkage. o Pass things in registers without having to thread them through the stack along the way. o Bypass the full entry-exit sequence for routines which are likely to be called a lot. It would be nice to have a means by which the compiler at the point of the call would know how much would be lost in the call. Here is the call for a smart linker. - Better support of re-entrant code. This is the big thing that C lacks by having no global automatic variable scoping. To have usefully re-entrant code without assuming memory mapping hardware you need to be able to reference outer level stack variables, or have a pointer to the global data base. - Be able to dedicate a register to a global location. Obviously the compiler would have to trust the programmer, here, to make this declaration in ALL modules. Or this could be a run-time parameter and not a compilation parameter. Ok! I'll stop now. Mark Mallett