LLVM 17.0 Compilers Now Available

Release of LLVM 17.0 GCC-Compatible Tools

After six months of development, LLVM has presented the release of LLVM 17.0-GCC-compatible tools. These tools include compilers, optimizers, and code generators, which aid in the compilation of programs using low-level virtual machine instructions with multi-level optimizations. The generated pseudo-code can be transformed into machine instructions using a JIT compiler at runtime.

Main Improvements in Clang 17.0

  • Implemented possibilities for the future of the C2x standard, including:
    • Added new keywords such as Bool, static_assert, alignas, alignof, and Thread_Local.
    • Allowed indication of empty brackets “{}” to initialize with zero values.
    • Provided the possibility of indicating universal names of symbols as literals.
    • Added macro “unreachable” in “stddef.h”.
    • Excluded macro atomic_var_init from the specification.
  • Added the full implementation of the NULLPTR and NULLPTR_T types.
  • Provided the possibility of using “GOTO” expressions inside ASM blocks.
  • Added support for Si-expanding in “_GENERIC” with the first operand as a type.
  • Allowed the use of structures, unions, and arrays declared with the “const” sign in constant expressions.
  • Implemented capabilities associated with the
/Reports, release notes, official announcements.