Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site 3comvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!oliveb!3comvax!mikes From: mikes@3comvax.UUCP (Mike Shannon) Newsgroups: net.lang.c Subject: Re: Re: about void voids (Re: efopen.c) Message-ID: <284@3comvax.UUCP> Date: Mon, 18-Nov-85 15:23:03 EST Article-I.D.: 3comvax.284 Posted: Mon Nov 18 15:23:03 1985 Date-Received: Wed, 20-Nov-85 00:18:18 EST References: <6679@boring.UUCP> <25500120@ISM780B.UUCP> Organization: 3Com Corp; Mountain View, CA Lines: 32 > > /* Written 9:12 am Nov 2, 1985 by guido@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