I-LLVM iwuhlaka lokuthuthukisa abahlanganisi kanye nokusiza ukwakha izilimi zokuhlela ezintsha nokuthuthukisa izilimi ezikhona.
Ngemuva kwezinyanga eziyisithupha zentuthuko Inguqulo entsha ye-LLVM 17.0 yethuliwe, lapho ukuthuthukiswa okuhlukahlukene, izinguquko, ukulungiswa kweziphazamisi futhi, ngaphezu kwakho konke, izici ezihlukahlukene ezibalulekile zisetshenziswe ku-Clang 17.0.
Kulabo abangayijwayele i-LLVM, kufanele wazi ukuthi lokhu ingumqambi ohambisana ne-GCC (abadidiyeli, izilungiseleli, nezikhiqizi zekhodi) ezihlanganisa izinhlelo zibe yibhithikhodi emaphakathi yokufundisa efana ne-RISC (umshini wezinga eliphansi onohlelo lokwenza amaleveli amaningi).
I-pseudocode ekhiqiziwe ingashintshwa yi-JIT compiler ibe imiyalelo yomshini ngesikhathi sokwenziwa kohlelo.
Izici ezintsha eziyinhloko ze-LLVM 17.0
Kule nguqulo entsha ye-LLVM 17.0 eyethulwa, kunezici ezihlukahlukene ezifanele okufanele zicatshangelwe, okungukuthi, isibonelo, ukuthuthukiswa kwe-backend ye-X86, kahle wengezeo ukusekelwa kwezandiso imfundo set bokwakha ISA SHA512, ISA SM3, ISA SM4 kanye ne-ISA AVX-VNNI-INT16.
Ngaphezu kwalokhu, ibuye igqamise i- ukuthuthuka ku- amakhono backend for izakhiwo I-RISC-V eziye zanda kakhulu, kusukela ungeze ukwesekwa kwephrosesa ye-sifive-x280.
Olunye ushintsho esingaluthola yi- Usekelo olusetshenzisiwe lwezandiso zephrosesa ye-XTH*, kanye nokuhambisana nezandiso LSX, LASX, LVZ kanye ne-LBT ISA emuva kwesakhiwo se-LoongArch.
Izingemuva ezithuthukisiwe ze-AArch64, i-ARM, iWebAssembly, i-MIPS, i-PowerPC, i-AMDGPU yezakhiwo, amakhono okuxhumanisa i-LLD anwetshiwe, futhi yengeza umyalo omusha "wolwazi lokubhalisa" kusilungisi sephutha se-LLDB ukuze sibonise lonke ulwazi olwaziwayo mayelana nerekhodi .
Mayelana nokuthuthukiswa kwe-Clang 17.0, kugqanyiswe ukuthi izici ezichazwe esikhathini esizayo C2x ejwayelekile njenge-bool, static_assert, aligns, alignof kanye namagama angukhiye we-thread_local asetshenzisiwe, kanye nekhono lokucacisa abakaki abayisikwele abangenalutho «{ } » ukuze kuqaliswe amanani aziro.
Ikhodio C inikeza ikhono lokudlulisa isisho esithi "goto". ngaphakathi kwamabhulokhi e-"asm" ngamathegi akhethwe ngokungaqondile, usekelo lwengezwe kusandiso esingu-C esivumela ukusetshenziswa kohlobo esikhundleni senkulumo njengohlelo lokuqala ku-"_Generic", ngaphezu kokuvumela izinkulumo ezingaguquki ngolimi C ukuthi zisebenzise izakhiwo, izinyunyana. namalungu afanayo amenyezelwe ngesibaluli se-"const".
Mayelana nentuthuko ehlobene nezinga le-C++20, kushiwo lokho manje Kuwo wonke amapulatifomu ngaphandle kweWindows, kukhona ukwesekwa okugcwele kwe-Coroutines, Ngaphezu kwalokho, izimfuneko ezengeziwe zemisebenzi yokuqhathanisa isisho esiqhubekayo seyenziwe.
Kuyagqanyiswa lokho manjeUkuhlukaniswa okulungile kwezifanekiso ze-lambda kuqinisekisiwe ecaciswe ngokushesha ngemva kwemingcele yesifanekiso futhi iqukethe okuguquguqukayo nohlobo oluncikile kubhulokhi. Igodlile ukusetshenziswa kwama-underscore akabili kuma-user literals futhi yanqanda ukusetshenziswa kwegama elingukhiye elithi "opharetha" ezincazelweni zomsebenzi ezinezihlonzi ezigodliwe egameni
Ngokuqondene ne ukuthuthukiswa okufanele kwenziwe okuhlobene nezinga le-C++23 , kushiwo ukuthi isesigabeni sokugcina sokugunyazwa yi-ISO, kusukela kushintshwe ububanzi bohlobo lokugcina lokubuyisela emisebenzini ye-lambda ukubuka izingwegwe kuqala bese kulandela umbhalo ozungezile.
Of ezinye izinguquko okugqamile:
- Kwengezwe amandla okuchaza amalungu afanayo amaningi kusetshenziswa
- Lapho kuhlanganiswa izinhlelo zokusebenza ze-C++ kusetshenziswa imodi yokwenza "-O0", ukukhiqizwa kwekhodi kwamakholi kuye kwathuthukiswa.
- Kwengezwe usekelo lokuhlukahluka kwemvelo NO_COLOR ukuze kukhubazwe umbala ophumayo.
- Ukuhlaziya okuqinile kanye namathuluzi okuxilonga anwetshwe ngokuphawulekayo, isibonelo, ukuhlolwa kokuchichima kwenombolo entsha esayiniwe, ukulungiswa kwesifanekiso se-lambda, izinkulumo ze-constexpr, ukuqhathanisa okuyizikhomba ezingenalutho, ukusetshenziswa kwezakhiwo ezingakaqalwa, njll.
- Umtapo wezincwadi we-Libc++ uyaqhubeka nokusebenzisa ukusekelwa kwamakhono wezindinganiso ze-C++20 kanye ne-C++23, futhi umsebenzi usuqalile futhi ukunikeza ukusekela kokucaciswa kwe-C++26.
- Ukwesekwa okwengeziwe kwenkulumo ethi “idinga i-cplusplus23” ezincazelweni zokuxhumana phakathi kwamafayela anhlokweni namamojula.
Okokugcina, uma ungathanda ukwazi okwengeziwe ngakho, ungathintana nemininingwane ku isixhumanisi esilandelayo.