about void voids (Re: efopen.c)

Mike Shannon mikes at 3comvax.UUCP
Tue Nov 19 06:23:03 AEST 1985


> 
> /* Written  9:12 am  Nov  2, 1985 by guido at boring in net.lang.c */
> 
> particular compiler you're using (this will also teach compiler writers
> not to add non-standard syntax to the language, one of my major gripes against
> some Macintosh C compilers!).
> 
> > Some of the non-standard things are quite useful, and a Macintosh program
> > that uses them is very likely to be doing things that are very Mac specific
> > and unportable anyway, so what is wrong with them?

If the compiler supports "non-standard" syntax, then it is not a C compiler,
it is a "something else" compiler.  And it should be called something else.
You won't get any complaints if you call your language "X", "Hacked C",
"Monstrosity", or "Heaven".  It's just that problems arise when people
start thinking that the programs which the compiler compiles are actually
C.

One thing which many Unix compilers support is the 'asm' statement, that is:
proc()
{
	asm("mov	r0, r1");
}
	the effect of the 'asm' procedure call is not to generate code.
Instead, the string is passed 'directly' thru as assembly language in the
generated output.  This allows the programmer to generate assembly
language directly.  Not only is it machine specific, but it is also
dependent on the optimizer in the compiler.
	I'd sure like to see someone defend this particularly disgusting
(but supported on our 4.1bsd system) "feature"!
-- 
			Michael Shannon {ihnp4,hplabs}!oliveb!3comvax!mikes



More information about the Comp.lang.c mailing list