[comp.os.minix] ANSI C - Let's beat a dead horse back to life...

bds@lzaz.ATT.COM (Buce Szablak) (10/11/89)

In article <3539@ast.cs.vu.nl>, ast@cs.vu.nl (Andy Tanenbaum) writes:
> 3. If you promise to write a lint for MINIX, I promise to use it.
> Andy Tanenbaum (ast@cs.vu.nl)

*sigh* If you used function prototypes and a compiler that supported them
you would not need lint.

Does anyone seriously doubt that ANSI C will not be the C dialect of choice
in the the 1991 time frame (my guess on MINIX 2.0 availability)? Compilers
for DOS machines supporting the *proposed* standard have been available for
over a year! I think Andy believes this too since he posted that an attempt
to constructing an ANSI compiler failed since it wouldn't fit into 64 K.

Now at the time, I was tempted to post a note suggesting once again that
PC MINIX should adopt the ST MINIX fork/exec approach (perhaps based on the
binaries magic number) so that large model programs could be supported.
However, that has been shot down before; so I won't mention it.

It has occurred to me, that a compromise might be to support the Medium
model - 64K data, >64K text. Thus, you could keep the same fork/exec
semantics, but maybe you could support an ANSI C compiler. I suspect that
the ACK compiler will choke on function pointers and data pointers being
of differing size, so I would recommend making all pointers 32 bits.
Thus, you will even be set up for 386 implementations that have 32 bit
segments (I also expect 386 processors to be more prevalent in 1991).

We have a currently diverging community: ST MINIX, PC MINIX, and someday
386 MINIX.  The ST (probably Amiga and maybe Mac by 1991) and 386 MINIX
groups will have the large address space but will be hampered by an
environment restricted by the fundamental 64K PC limitation. An example
of this was the GNU C port that supports ANSI C for the ST: the MINIX kernel
cannot be compiled by that compiler without modifications, and those
changes result in a kernel that cannot be compiled by the ACK compiler
(at last report). Yet the utility of an ANSI C compiler cannot be denied!

Well, I've taken another swipe at that old horse. I'll let someone else
take the next shot!