joe@emacs.uucp (Joe Chapman) (09/02/85)
<>
[ The discussion concerns putting statements like ``37;'' into your C
code. I'm addressing the claim that no known compilers will generate
code for this statement. ]
Well, I once worked with a C compiler on a 68000 which interpreted
statements consisting of a single number as 68K code. It was really
great! You get stuff which looks like this:
printf("hello, world!\n");
i++;
0x00ff12;
if (i > 3) {
And so forth. There was even a kernel include file which declared
spl0 & co. like this:
#define spl0() 0x0012345
Or whatever it was.
--
-- Joseph Chapman decvax!cca!emacs!joe
CCA Uniworks, Inc. emacs!joe@cca-unix.ARPA
20 William St.
Wellesley, MA 02181 (617) 235-2600rcd@opus.UUCP (Dick Dunn) (09/11/85)
> [ The discussion concerns putting statements like ``37;'' into your C > code. I'm addressing the claim that no known compilers will generate > code for this statement. ] > > Well, I once worked with a C compiler on a 68000 which interpreted > statements consisting of a single number as 68K code. It was really > great! You get stuff which looks like this: > ... > 0x00ff12; > ... Great? Well, it's cute, but the compiler is dead wrong...it's a pretty radical change to C's semantics. (Gee, I wonder if an expression like "i+j;" would compute the sum, store it, and execute the result?:-) Seems to me that this little extension could get into a dandy fight with some obscure macros and a clever optimizer. Aaaack. > And so forth. There was even a kernel include file which declared > spl0 & co. like this: > > #define spl0() 0x0012345 > ...(or whatever) "And so forth"??? Sounds a bit like Forth, right?! (but certainly not forthright...) -- Dick Dunn {hao,ucbvax,allegra}!nbires!rcd (303)444-5710 x3086 ...Relax...don't worry...have a homebrew.