TITLE: detecting conforming compilers at compile time (Newsgroups: comp.lang.c++.moderated, 2 Dec 97) GRANT: John A. Grant wrote: [snip] > It might have been > nice for the C++ standard to require a preprocessor define indicating > the version of the standard the compiler supports, ... CLAMAGE: stephen.clamage_nospam@eng.Sun.COM (Steve Clamage) The C++ standard does have such a requirement. A conforming compiler must predefine the macro name "__cplusplus" with the value 199711L. Until at least the year 2003 there will be only one standard. Until now there has been no standard. (Technically, the standard is still a Draft International Standard, and awaits approval from the ISO member nations.) Maybe you meant support of an intermediate draft ("Working Paper"). Those drafts said on their front cover that they were known to be incomplete, incorrect, and inconsistent. Any attempt to support a particular draft precisely would be doomed to failure. Apart from that, no compiler has ever tried to support precisely any one particular draft. Instead, those implementors who wished to track the emerging standard have picked features they hoped were relatively stable, and didn't try to track those which were known to be volatile.