Want the word on __STDC__

Stephen Clamage steve at taumet.com
Sat Mar 9 02:23:31 AEST 1991


rbutterw at watmath.waterloo.edu (Ray Butterworth) writes:

>In article <2986 at cirrusl.UUCP> dhesi%cirrusl at oliveb.ATC.olivetti.com (Rahul Dhesi) writes:
>>First, it is quite possible that a future ANSI C standard will bump up
>>the value of __STDC__ to 2, thus breaking code that assumes that
>>(__STDC__ != 1) implies (not standard C).

>The failure to fully define __STDC__ was obviously a mistake,
>and some vendors have thoroughly abused it.

Wait a minute!  My copy of X3.159-1989 says __STDC__ is defined as
"the decimal constant 1".  That seems about as clear and fully-defined
as it could be.  A processor which defines it to be some other value is
not in compliance with the Standard.  The purpose of a standard is act as
a contract between the compiler writer and the compiler user; if the user
writes a conforming program, the compiler will behave in a predictable way.
A processor might intend not to be in compliance with the standard, in
which case all bets are off.
-- 

Steve Clamage, TauMetric Corp, steve at taumet.com



More information about the Comp.std.c mailing list