llvm – alusta kääntäjien ja työkaluketjujen kehittämiseen lisenssillä Apache 2.0 poikkeuksin.
Muutamia muutoksia kalahtaa:
-
Nyt oletusarvoisesti käännös ei ala uudessa prosessissa kuten ennen.
-
Tuettu C++20 käsitteet.
-
Osoittimen aritmetiikka C:ssä ja C++:ssa on sallittu vain taulukoissa standardien mukaan. Lisätty asianmukaiset tarkistukset Undefined Behaviour Sanitizeriin.
-
Parannettu tuki OpenCL:lle ja OpemMP 5.0:lle.
-
Joissakin tapauksissa käyttäytyminen on lähellä GCC:n käyttäytymistä.
Muutamia yleisiä muutoksia llvm:
-
Uusia ominaisuuksia optimoitujen vektorikäskyjen luomiseen.
-
Proseduurien välisen optimoinnin mahdollisuuksia kokeellisessa Attractor-kehyksessä on laajennettu merkittävästi.
-
Useita parannuksia eri arkkitehtuurien tukemiseen (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
Sekä erilaisia parannuksia libclang-, clangd-, clang-format-, clang-tidy-, Static Analyzer- ja LLDB-sovelluksiin.
Lähde: linux.org.ru