GCC 12.1 yakatoburitswa, ziva nhau dzayo uye yemakore makumi matatu nemashanu

GNU GCC logo

Kutanga kwe iyo itsva vhezheni yemuunganidzi GCC (GNU Compiler Collection) 12.1 yakatoburitswa uye sekuburitswa kukuru kweGCC, kuburitswa uku kuchaunza akawanda ekuwedzera, kuvandudzwa, kugadzirisa kwetsikidzi, uye maficha matsva, pamwe nemwedzi uno (Chivabvu 23), chirongwa ichi chichapemberera makore makumi matatu nemashanu kubva pakuumbwa kwekutanga kuburitswa.

GCC 12 yatova system compiler yeFedora 36, ​​​​uye GCC 12 ichave iripo zvakare paRed Hat Enterprise Linux muRed Hat Developer Toolset (vhezheni 7) kana Red Hat GCC Toolset (shanduro 8 uye 9).

Vagadziri veGCC vanodada kuzivisa kumwe kuburitswa kukuru kweGCC, 12.1.

Gore rino tinopemberera makore makumi matatu nemashanu ekutanga beta vhezheni yeGCC
Uye mwedzi uno tichapemberera makore makumi matatu nemashanu kubva pakaburitswa GCC 35!

Kuburitswa uku kunodonhedza rutsigiro rweSTABS debug fomati uye
inosuma rutsigiro rweiyo CTF debugging fomati [1]. Iyo C uye C ++
interfaces inoenderera mberi nekuwedzera rutsigiro rwezvimiro
mune iri kuuya C2X uye C++23 zviyero uye C++ Standard Library
inovandudza rutsigiro rwezvikamu zvekuedza zveC++20 uye C++23.
Iyo Fortran interface ikozvino yave kunyatsoenderana neTS 29113 yekudyidzana neC.

Chii chitsva muGCC 12.1?

Mune iyi vhezheni itsva Zvikumbiro zvakawanda zvakaitwa, zvakadai semitauro C uye C ++, yakawedzerwa basa rakavakirwa-mukati __buildin_dynamic_object_size kuona kukura kwechinhu, inoenderana nebasa rakafanana reClang.

Yakawedzerwa rutsigiro rwe "isipo" hunhu hweC uye C ++ mitauro (semuenzaniso, unogona kumaka mabasa anozokonzeresa kukanganisa kana ashandiswa), pamwe nekuwedzera tsigiro ye "#elifdef" uye "#elifndef" preprocessing dhairekitori dzemitauro yeC neC++.

Izvo zvinoonekwawo kuti iyo "-Wbidi-chars" mureza kunyevera kana mavara eUTF-8 akashandiswa zvisizvo, kushandura bidirectional text display order, pamwe ne "-Warray-compare" mureza kuti ubudise yambiro paunenge uchiedza kuenzanisa maoperand maviri anotaura nezve arrays.

Mukuwedzera, iyo iKuitwa kweOpenMP 5.0 uye 5.1 zviyero (Vhura Multi-Processing), iyo inotsanangura APIs uye nzira dzekushandisa dzakafanana hurongwa nzira pane multicore uye hybrid (CPU + GPU / DSP) masisitimu ane yakagovaniswa ndangariro uye vectorization zvikamu (SIMD), yakaenderera mberi.

Zvakare iyo yakagadziridzwa kuita kweOpenACC 2.6 parallel programming yakatarwa, kutsanangura nzira dzekuburitsa mashandiro paGPUs uye nyanzvi processors seNVIDIA PTX; uye nekuwedzera rutsigiro rweIntel AVX512-FP16 yakawedzera mirairo uye iyo _Float16 mhando kune x86 kodhi yechizvarwa backend.

Iyo Fortran yekumberi-yekupedzisira inopa rutsigiro rwakazara kune iyo TS 29113 yakatarwa, iyo inotsanangura iyo mikana yekuve nechokwadi chekutakurika pakati peFortran neC kodhi.

Tsigiro yakaderedzwa ye "STABS" yekubvisa ruzivo rwekuchengetedza fomati yakagadzirwa muma1980s.

Yakawedzera tsigiro ye __builtin_shufflevector(vec1, vec2, index1, index2, ...) yekuwedzera yakawedzerwa kuClang, iyo inopa runhare kamwe chete kuita zvakajairika vector shuffle uye shuffle mashandiro.

Paunenge uchishandisa "-O2" optimization level, vectorization inogoneswa neiyo default (iyo -ftree-vectorize uye -fvect-cost-model=very-cheap modes inogoneswa). Iyo "yakachipa kwazvo" modhi inobvumira vectorization chete kana vector kodhi inogona kutsiva zvachose vectorizable scalar kodhi.

Yakawedzera "-ftrivial-auto-var-init" maitiro kugonesa kujekesa kuchinjika kwekutanga pane stack kuronda pasi nyaya uye kuvharira kusakanganiswa kwakabatana nekushandiswa kweuninitialized variables.

Added the kuitwa kweC mabasa akavakirwa mumubatanidzwa (Intrinsics) yekurodha atomu uye kuchengetedza data mundangariro, zvichibva pakushandiswa kwemirairo yeARM yakawedzerwa (ls64). Yakawedzerwa rutsigiro rwekumhanyisa memcpy, memmove, uye memset mabasa uchishandisa iyo ARM mopoption yekuwedzera.

Yakawedzerwa nzira itsva yekusimbisa "-fsanitize = mumvuri-call-stack" ( ShadowCallStack ), iyo iripo chete iyo AArch64 architecture uye inoshanda kana ichigadzira kodhi ne "-fixed-r18" sarudzo. Iyo modhi inopa dziviriro kubva pakunyora patsva kero yebasa rekudzoka kana stack buffer ichifashukira. Chinokosha chekudzivirira ndechekuchengetedza kero yekudzoka mune imwe "mumvuri" stack mushure mekuendeswa kwekutonga kune basa uye kutora iyi kero isati yabuda basa.

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


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira data: AB Internet Networks 2008 SL
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako