clanguage-lawyerc11standards-compliancec17

Do unsupported standard features affect conformance?


Context: C compilers deliberately do not support some features while being conforming implementations. Is it ok?

Some examples. All of the compilers down below are conforming implementations (__STDC__ is defined to 1). However:

Question: is it allowed for an implementation to deliberately provide a limited functionality (or its own version of such functionality) and still be conforming implementation at the same time?

Reason of the question: better understanding of the definition of conforming implementation and the state of affairs around existing conforming implementations.

Note: here the area of interest is conforming hosted implementation only. However, the question is applicable for conforming freestanding implementation as well.

UPD. Again: __STDC__ is defined to 1 means maybe conforming implementation rather than conforming implementation. Any discrepancy with the standard automatically makes such implementation be "nonconforming implementation that defines __STDC__ to 1".


Solution

  • If a standard has a rule that an implementation does X, and an implementation does not do X, then it is not conforming.