[diff.cpp] # Annex C (informative) Compatibility [[diff]](./#diff) ## C.7 C++ and C [[diff.iso]](diff.iso#diff.cpp) ### C.7.8 [[cpp]](cpp "15 Preprocessing directives"): preprocessing directives [diff.cpp] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/compatibility.tex#L3661) **Affected subclause:** [[cpp.predefined]](cpp.predefined) **Change:** Whether __STDC__ is defined and if so, what its value is, areimplementation-defined[.](#1.sentence-1) **Rationale:** C++ is not identical to C[.](#1.sentence-2) Mandating that __STDC__ be defined would require that translators make an incorrect claim[.](#1.sentence-3) **Effect on original feature:** Change to semantics of well-defined feature[.](#1.sentence-4) **Difficulty of converting:** Semantic transformation[.](#1.sentence-5) **How widely used:** Programs and headers that reference __STDC__ are quite common[.](#1.sentence-6)