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.