Date: Sat, 12 Oct 2002 15:13:36 +0100 From: Tony Finch <dot@dotat.at> To: Terry Lambert <tlambert2@mindspring.com> Cc: Bruce Evans <bde@zeta.org.au>, Craig Rodrigues <rodrigc@attbi.com>, freebsd-standards@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: Problem detecting POSIX symbolic constants Message-ID: <20021012151336.A24868@chiark.greenend.org.uk> In-Reply-To: <3DA7E0F4.5988CA77@mindspring.com>; from tlambert2@mindspring.com on Sat, Oct 12, 2002 at 01:44:36AM -0700 References: <20021012171803.F15910-100000@gamplex.bde.org> <3DA7E0F4.5988CA77@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 12, 2002 at 01:44:36AM -0700, Terry Lambert wrote: > > I think the lack of "||" and "&&" mostly had to do with the fact > that there was conditional evaluation of the RHS of the operator, > based on the result of the LHS. > > With just an "&" or an "|", you actually need a much less complicated > state machine to evaluate a constant expression. With the "||"/"&&", > you almost have to do an edge associative operation, which implies a > much more complex state machine for the preprocessor, I think. No -- the short-circuiting behaviour of && and || only matters if you can have side-effects, which you can't in the preprocessor, so there is no need to implement it (unifdef doesn't). Tony. -- f.a.n.finch <dot@dotat.at> http://dotat.at/ THAMES DOVER: SOUTHEASTERLY VEERING NORTHWESTERLY 4 OR 5, OCCASIONALLY 6, BECOMING VARIABLE 3. RAIN OR SHOWERS. MODERATE OR GOOD. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021012151336.A24868>