After six months of development, LLVM presented the release of the project llvm 19.1.0 . This project focuses on developing tools such as compilers, optimizers, and code generators that compile programs into intermediate bit of RISC-like virtual instructions. The generated pseudo-code can be converted into machine code for a specific target platform or used by a Just-In-Time (JIT) compiler to directly form machine instructions during program execution. The Clang compiler, based on LLVM technology, supports programming languages like C, C++, and Objective-C. With the latest branch, the project has transitioned to a new versioning scheme where the zero output (“N.0”) is used during development and the first stable version is numbered “N.1”.
Among the improvements in Clang 19:
- Added support for features defined in the C23 standard, including the use of the CONSTEXPR specifier, macros in float.h, the #embed mechanism for binary resource integration, and the char8_t type for UTF-8 strings and symbols.
- Ensured implementation of all features defined in the standard C++ 17, including support for comparing template parameters with compatible arguments.
- In C++ 14 mode, default support for the Delete function with size deallocation was added
- Added features related to the standard C++ 20, such as built-in functions, complete support for expressions in importing modules, initial support for automatic determination of class argument types for pseudonyms created using templates, and more.
- Additional features associated with the standard C++ 20 include extension of the life of temporary objects in cycles, portable assumptions, weakening restrictions for CONSTEXPR, and support for static and obvious member functions with the same parameter lists.