I-GCC 12.1 isivele ikhishiwe, yazi izindaba zayo kanye nokugubha kwayo iminyaka engama-35

Ilogo ye-GNU GCC

Ukwethulwa kwe inguqulo entsha yomdidiyeli I-GCC (Iqoqo le-GNU Compiler) 12.1 yayisivele ikhululiwe futhi njengakho konke ukukhishwa okukhulu kwe-GCC, lokhu kukhululwa kuzoletha izengezo eziningi, ukuthuthukiswa, ukulungiswa kweziphazamisi, nezici ezintsha, kanye nale nyanga (May 23), iphrojekthi izogubha iminyaka engu-35 kusukela kwasungulwa ukukhishwa kokuqala.

I-GCC 12 isivele ingumdidiyeli wesistimu we-Fedora 36, ​​​​futhi i-GCC 12 izophinde itholakale ku-Red Hat Enterprise Linux ku-Red Hat Developer Toolset (inguqulo 7) noma i-Red Hat GCC Toolset (izinguqulo 8 no-9).

Abathuthukisi be-GCC bayaziqhenya ngokumemezela okunye ukukhishwa okukhulu kwe-GCC, i-12.1.

Kulo nyaka sigubha iminyaka engama-35 yenguqulo yokuqala ye-beta ye-GCC
Futhi kule nyanga sizogubha iminyaka engama-35 kusukela kwakhululwa i-GCC 1.0!

Lokhu kukhishwa kwehlisa usekelo lwefomethi yokususa iphutha le-STABS kanye
yethula ukusekelwa kwefomethi yokususa iphutha ye-CTF [1]. I-C no-C++
ukuxhumana kuyaqhubeka nokuthuthuka ngosekelo olunwetshiwe lwezici
kumazinga azayo e-C2X kanye ne-C++23 kanye ne-C++ Standard Library
ithuthukisa ukusekelwa kwezingxenye zokuhlola ze-C++20 kanye ne-C++23.
I-interface ye-Fortran manje isihambisana ngokugcwele ne-TS 29113 yokusebenzisana ne-C.

Yini entsha ku-GCC 12.1?

Kule nguqulo entsha Iziphakamiso ezimbalwa sezisetshenziswe, njengezilimi U-C no-C++, wengeziwe umsebenzi owakhelwe ngaphakathi __buildin_dynamic_object_size ukunquma usayizi wento, ihambisana nomsebenzi ofanayo we-Clang.

Kungeziwe ukusekelwa kwesibaluli "esingatholakali" sezilimi ze-C kanye ne-C++ (ngokwesibonelo, ungakwazi ukumaka imisebenzi ezoholela ephutheni uma isetshenziswa), kanye nokwesekwa okwengeziwe kwe-"#elifdef" kanye ne-"#elifndef" yokucubungula iziqondiso zezilimi C kanye no-C++.

Kuyaziwa futhi ukuthi Ifulegi elithi "-Wbidi-chars" ukuze lixwayise uma izinhlamvu ze-UTF-8 zisetshenziswa kabi, ukushintsha uhlelo lokubonisa umbhalo oqondiswe kabili, kanye nefulegi elithi "-Warray-compare" ukuze kukhishwe isexwayiso lapho uzama ukuqhathanisa ama-operand amabili abhekisela kumalungu afanayo.

Ngaphezu kwalokho, i-iUkuqaliswa kwe-OpenMP 5.0 kanye namazinga we-5.1 (I-Open Multi-Processing), echaza ama-API nezindlela zokusebenzisa izindlela zokuhlela ezifanayo ezinhlelweni ze-multicore ne-hybrid (CPU + GPU / DSP) ezinenkumbulo eyabiwe kanye namayunithi e-vectorization (SIMD), kwaqhutshekwa.

Futhi i- ukuqaliswa okuthuthukisiwe kokucaciswa kwezinhlelo ezihambisanayo ze-OpenACC 2.6, ichaza izindlela zokukhipha ukusebenza kuma-GPU namaphrosesa akhethekile afana ne-NVIDIA PTX; kanye nokwengeza usekelo lwemiyalelo enwetshiwe ye-Intel AVX512-FP16 kanye nohlobo lwe-_Float16 ku-backend yekhodi ye-x86.

Ingaphambili le-Fortran linikeza ukwesekwa okugcwele kokucaciswa kwe-TS 29113, okuchaza amathuba okuqinisekisa ukuphatheka phakathi kwekhodi ye-Fortran ne-C.

Usekelo oluhoxisiwe lwefomethi ye-"STABS" yokususa iphutha yolwazi eyakhiwe ngeminyaka yawo-1980s.

Usekelo olungeziwe lwesandiso __builtin_shufflevector(vec1, vec2, index1, index2, ...) esingezwe ngaphambilini ku-Clang, esihlinzeka ngocingo olulodwa ukuze kwenziwe ukushova kwevekhtha okuvamile nokushova imisebenzi.

Uma usebenzisa izinga lokulungiselela le-"-O2", i-vectorization ivulwa ngokuzenzakalelayo (i- -ftree-vectorize kanye ne -fvect-cost-model=izindlela ezishibhile kakhulu zinikwe amandla). Imodeli "eshibhile kakhulu" ivumela i-vectorization kuphela uma ikhodi ye-vector ingangena esikhundleni ngokuphelele sekhodi yesikala esivezwayo.

Kwengezwe imodi "-ftrivial-auto-var-init". ukuze unike amandla ukuqaliswa kokuhluka okusobala kusitaki ukuze kulandelelwe izinkinga futhi kuvinjwe ubungozi obuhlobene nokusetshenziswa kwezinto eziguquguqukayo ezingaqalisiwe.

Kwengezwe i ukuqaliswa kwemisebenzi engu-C eyakhelwe kumdidiyeli (I-Intrinsics) yokulayisha i-athomu nokugcinwa kwedatha enkumbulweni, ngokusekelwe ekusetshenzisweni kwemiyalelo ye-ARM enwetshiwe (ls64). Usekelo olungeziwe lokusheshisa imisebenzi ye-memcpy, memmove, ne-memset kusetshenziswa isandiso se-ARM mopoption.

Kungeziwe imodi entsha yokuqinisekisa "-fsanitize=shadow-call-stack" ( ShadowCallStack ), okwamanje etholakala kuphela ku-Architecture ye-AArch64 futhi isebenza lapho kuhlanganiswa ikhodi ngenketho ethi "-fixed-r18". Imodi inikeza ukuvikeleka ekubhaleni kabusha ikheli lokubuyisela lomsebenzi esimweni sokuchichima kwebhafa yesitaki. Ingqikithi yokuvikela iwukulondoloza ikheli lokubuyisela kusitaki "sethunzi" esihlukile ngemva kokudluliselwa kokulawula kumsebenzi kanye nokuthola leli kheli ngaphambi kokuphuma emsebenzini.

Umthombo: https://gcc.gnu.org/pipermail


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Unomthwalo wemfanelo ngedatha: AB Internet Networks 2008 SL
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.