[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)
