Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!voder!apple!mikes From: mikes@apple.UUCP (Mike Shannon) Newsgroups: net.lang.c,net.bugs Subject: Re: C Compiler bug (and fix for a different one) Message-ID: <111@apple.UUCP> Date: Tue, 5-Aug-86 04:19:54 EDT Article-I.D.: apple.111 Posted: Tue Aug 5 04:19:54 1986 Date-Received: Tue, 5-Aug-86 22:44:52 EDT References: <273@watmath.UUCP> <5858@alice.uUCp> <461@watmath.UUCP> <504@hadron.UUCP> Reply-To: mikes@apple.UUCP (Mike Shannon) Organization: Apple Computer Inc., Cupertino, USA Lines: 15 Xref: mnetor net.lang.c:5559 net.bugs:309 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}