Blog post catalogs where GCC and Clang diverge from the C standard
A technical blog post lists concrete cases where GCC and Clang do not conform to the ISO C standard by default, including treatment of the asm keyword as a reserved extension and GCC's hardcoded FLT_ROUNDS macro that ignores runtime rounding-mode changes via fesetround. The author also flags unfinished coverage of the standard's five floating-point pragmas as an area of ongoing non-conformance.
GoKawiil's interpretation of the reporting above, not reported fact.
The post suggests that developers writing 'standard C' are often actually relying on compiler-specific extensions and defaults, which could cause portability surprises when code is compiled strictly or on other toolchains. It implies a gap between the formal specification process and everyday compiler behavior, a point the author frames by noting compilers aren't conformant out of the box even though flags like -std exist to fix this.
- GCC and Clang treat 'asm' as a reserved keyword by default, despite it being a valid identifier in standard C.
- GCC hardcodes FLT_ROUNDS to 1 (round-to-nearest) instead of updating it dynamically as the standard requires.
- The author plans further posts examining how compilers handle the C standard's floating-point pragmas, suggesting more inconsistencies exist.
Source: sebsite.pw, 2026-10-13
Published there as: “Your C is not standard C”
Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.