CompCert Release 23.04
----------------------

New features
-------------
● Support for Duff’s device and other unstructured switch statements.
● Support for Unicode character constants and string literals.
● New command-line switch -std=<standard>.


Improved warnings
-------------
● Improved the precision of warnings for functions with _Noreturn.
● Improved warning for non-linear conditional expressions,


Other improvements
-------------
● Improved instruction selection to use more Thumb instructions.
● Improved instruction selection for load/store operations
  with immediate offsets for the ARM backend.
● Changed register allocation for Thumb mode to prefer 
  the Thumb registers (r0 - r7).
● Enabled CSE optimization for address and integer constants 
  for the ARM backend.
● Improved register constraints for integer division 
  for ARM in Thumb mode.
● Improved if-conversion for some special cases.
● The driver program to run QSK packages has been renamed to qualify.
● Now using the .data.rel.ro section for const data with relocatable 
  inits for AArch64, ARM, RISC-V and x86 ELF.
● Now emitting the appropriate attribute Tag_ABI_VFP 
  for the calling conventions used.


Valex
-------------
● Improved speed for large code sizes.


Fixes
-------------
● Fixed an issue with the re-usage of temporary variables
  in the frontend translation to avoid typing problems.
● Fixed problems with Windows newlines
  when printing intermixed C and assembly code.


------------------------------------------------------------------------------
Last updated on 26 April 2023 by alex@absint.com. Copyright 2023 AbsInt.
------------------------------------------------------------------------------
An HTML version of these release notes is available at
absint.com/releasenotes/compcert/23.04