CompCert release 22.10

New features

  • Support for the _Generic selection from ISO C 2011.
  • __builtin_nop is now available for all architectures.

Improved warnings

  • Improved warning for unprototyped function declarations.
  • Improved control-flow analysis of calls to “noreturn” functions, resulting in more accurate warnings.
  • Error messages now include conflicting SDA mappings if no satisfying SDA mapping is found.

Other improvements

  • Now recognizing more if-then-else statements that can be if-converted.
  • Support for mergeable string and literal sections on architectures that support mergeable sections.
  • Stricter type compatibility for enumeration types.
  • Improved support for unprototyped function types in casts.
  • Now emitting additional producer information that is stored in the .comment section of the binary.


  • Improved matching of routines located at address 0x0.
  • Improved Windows usability for .json input files.
  • PowerPC for VLE: Enforcing VLE mode for Valex to avoid problems with ambiguous binaries.


  • Reworked the computation of the struct layout data for debugging information.
  • RISC-V: Fixed link-time errors caused by tail calls to far-away functions.