Shouldn't ANSI have provided nonvolatile instead of volatile?
Michael Meissner
meissner at osf.org
Wed Feb 14 09:40:01 AEST 1990
In article <680016 at hpmwjaa.HP.COM> jeffa at 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 at osf.org phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA
Catproof is an oxymoron, Childproof is nearly so
More information about the Comp.lang.c
mailing list