Newsgroups: comp.std.c Path: utzoo!henry From: henry@zoo.toronto.edu (Henry Spencer) Subject: Re: call to revolt Message-ID: <1991Jun25.181916.26586@zoo.toronto.edu> Date: Tue, 25 Jun 1991 18:19:16 GMT References: Organization: U of Toronto Zoology In article rabson@physics.ubc.ca (David Rabson) writes: >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)++; What do you mean by "treat properly"? What does this construct *mean*? Remember that `void *' and `int *' need not even be the same size, much less have the same representation. A cast is a conversion operation, not a "view these bits differently" operation. (See K&R1 page 42.) >The rest of us should stop sitting back and start fighting. If enough >customers insist on casting lvalues and otherwising ignoring ansi's >meddling in Kernighan's and Ritchie's work, vendors will create >correct, rather than compliant, compilers. Please cite K&R chapter and verse for thinking that casts are lvalues. You might also want to note that Dennis Ritchie has stated openly: "I think X3J11 did an excellent job, though there are legitimate criticisms". (Article <10039@alice.uucp>, 21 Oct 1989.) -- "We're thinking about upgrading from | Henry Spencer @ U of Toronto Zoology SunOS 4.1.1 to SunOS 3.5." | henry@zoo.toronto.edu utzoo!henry