C Compiler bug (and fix for a different one)

Mike Shannon mikes at apple.UUCP
Tue Aug 5 18:19:54 AEST 1986

Just to be sure we're all on the same wavelength about void expressions
with the ?: operator:
	Consider the case where you're writing a really complex #define macro,
and you decide that you'd like some sort of IF statement in it,
(take a look at getchar()).  Can't you see a case where you might want to
call a void function, and then set the value of the #define macro to be
a side effect of the function?  Sort of like
#define foo(c) buffer_empty?fill_buff(),first_char_in_buf:first_char_in_buf
	I mean, it seems to me that the 'pro' argument is that you get flow of
control in #define's. Although when you way that 'void things cannot participate
in expressions', a rational person would say that conditional expressions are
expressions and so you can't have a void thing in that kind of expression.
			Michael Shannon {apple!mikes}

More information about the Comp.lang.c mailing list