Your C is not standard C
A developer blog lists practical mismatches between ISO C and GCC, Clang, glibc, and musl.
A blog post catalogs differences between ISO C and the C used with GCC, Clang, glibc, and musl. Examples include default recognition of the asm keyword, GCC defining FLT_ROUNDS as a constant 1, unimplemented STDC floating-point pragmas, Clang treating const on function return types as significant, and musl's va_start macro rejecting C23's single-argument form. The piece is a language-conformance critique, not a security vulnerability report.
- GCC and Clang accept asm by default, unlike strict ISO C.
- GCC's FLT_ROUNDS stays 1 and ignores fesetround.
- Standard floating-point pragmas are no-ops in GCC.
- musl's va_start blocks C23's optional second argument.
From the original article
4 min read at sebsite.pwThe committee has created an unreal language that no one can or will actually use. this is an incomplete list of some incompatibilities between c as it's written in the standard and c as it exists in the real world for people who use gcc/clang + glibc/musl. by default, gcc and clang recognize the asm keyword as an extension.
By dverlaeckt80 · sebsite.pw
A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.