Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!kithrup!sef From: sef@kithrup.COM (Sean Eric Fagan) Newsgroups: comp.std.c Subject: Re: call to revolt Message-ID: <1991Jun25.190854.3327@kithrup.COM> Date: 25 Jun 91 19:08:54 GMT References: Organization: Kithrup Enterprises, Ltd. Lines: 32 In article rabson@physics.ubc.ca (David Rabson) writes: >Eliminating the IDENTA/**/IDENTB concatenation >mechanism from the preprocessor was stupid but not enough to make me >post to this group. (I am aware of the argument that supports the action, >tokenizing compilers, but I am not convinced by it). How about this, then: correct C preprocessors replace comments with white space. The Reiser cpp was *broken*, and many, many other implementations existed that did not do that. >Outlawing lvalue casts, however, borders on fascism. I have yet to see >a pre-ansi compiler that fails to treat properly > > void *thing; > ((int *)thing)++; I can think of about 30. Ok, an exaggeration, but I can name at least 5 or 6 that did not do this. You can cast an lvalue. However, the result is no longer an lvalue. What is a compiler supposed to make of: int f; (float)f++; Learn the language. -- Sean Eric Fagan | "What *does* that 33 do? I have no idea." sef@kithrup.COM | -- Chris Torek -----------------+ (torek@ee.lbl.gov) Any opinions expressed are my own, and generally unpopular with others.