Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!tut.cis.ohio-state.edu!snorkelwacker!paperboy!meissner From: meissner@osf.org (Michael Meissner) Newsgroups: comp.lang.c Subject: Re: Shouldn't ANSI have provided nonvolatile instead of volatile? Message-ID: Date: 13 Feb 90 22:40:01 GMT References: <1117.18:37:35@stealth.acf.nyu.edu> <680016@hpmwjaa.HP.COM> Sender: news@OSF.ORG Organization: Open Software Foundation Lines: 46 In-reply-to: jeffa@hpmwtd.HP.COM's message of 13 Feb 90 15:44:58 GMT In article <680016@hpmwjaa.HP.COM> jeffa@hpmwtd.HP.COM (Jeff Aguilera) writes: | > The few things that *were* X3J11 inventions | > are among the worst botches in the standard. | | I couldn't agree more. ANSI C should codify existing practice, rather than | introduce a new language with subtly different semantics than K&R. But K&R was already out of sync with current practice: 1) K&R demands that globals obey strict REF/DEF semantics (you can have only 1 definition of a global variable, everything else must be an 'extern' reference); 2) K&R demands that the preprocessor not substitute macro arguments into string literals and character constants; 3) The grammar in appendix A of K&R-I is incorrect with regard to functions returning pointers to functions, and where the arguments go; 4) K&R does not have the extensions (structure copy/args/return, possibly enumerations) that found their way into the V7 compilers, and were considered existing practice by the time ANSI started; 5) The Richie PDP-11 compiler and the Johnson PCC (portable C compiler) have different semantics with regard to incomplete nesting of braces in initializers; (and so on) I would also imagine, that more people use Turbo C nowadays than ever used PCC, so what is the current existing practice if it's a choice between these two? | And they should not have mucked with so many include files. | | Thank God they backed down on noalias! But why did they keep trigraphs? Because there was not enough votes. -- Michael Meissner email: meissner@osf.org phone: 617-621-8861 Open Software Foundation, 11 Cambridge Center, Cambridge, MA Catproof is an oxymoron, Childproof is nearly so