draft ANSI standard: major, quiet, unnoticed change
Karl Heuer
karl at haddock.UUCP
Fri Dec 5 11:54:05 AEST 1986
In article <1379 at hoptoad.uucp> gnu at hoptoad.uucp (John Gilmore) writes:
>The new standard disallows an implementation's pre-#defining any words
>that don't begin with _ (section 3.8.8, "No macro names without a
>leading underscore shall be predefined."). This breaks all the code
>that uses ["#ifdef vax", etc.]
I noticed this too, and wondered how we are expected to do architecture-
dependent conditional compilation in the future. Perhaps the idea is to
use "#ifdef _vax", etc.
>One possible workaround is a set of configuration #define's which are only
>visible to #if and #ifdef, not to program code. [Suggests "#pdefine vax"]
This would still break the letter of the proposal. But if it's permitted,
it's not necessary to make a new #-word; since macros cannot be recursive,
"#define vax vax" will do. I believe the old V6 cpp allowed this sort of
thing as a special case.
Karl W. Z. Heuer (ima!haddock!karl or karl at haddock.isc.com), The Walking Lint
More information about the Comp.lang.c
mailing list