microsoft / hlsl-specs

HLSL Specifications
MIT License
118 stars 30 forks source link

Cleanup C++ references in the language spec #215

Closed llvm-beanz closed 4 months ago

llvm-beanz commented 4 months ago

This just cleans up the C++ references in the document. It includes the following changes:

With this change references from \gls{...} will expand to a readable name (e.g. "ISO C Standard (2011)") rather than the ISO/IEC number.

This change also makes general references to C and C++ (the isoC and isoCPP glossary entries) point to C11 and C++11 respectively. We still have an explicit reference to C23 for integer value behaviors (C23 adopted two's compliement).

The intent of basing on C11 and C++11 is that HLSL 202x is unlikely to support most C++ features beyond C++98, but C11 and C++11 contained a lot of improvements and clarifications in wording. Also C++11 features are highly requested, so HLSL 202y will almost certainly gain C++11 (and maybe later version) features.

I did not want to base on newer C++ because the differences between HLSL and C++17+ are substantial, so the benefit of citing a base specification is limited in those cases.

We should continue to cite newer specifictions by version explicitly where it is helpful.

damyanp commented 4 months ago

This change also makes general references to C and C++ (the isoC and isoCPP glossar entries)

Should that be "glossary"?