GCC 12.1 je že izšel, poznajte njegove novice in svojo 35. obletnico

Logotip GNU GCC

Izstrelitev novo različico prevajalnika GCC (Zbirka prevajalnika GNU) 12.1 je že izšel in tako kot pri vseh večjih izdajah GCC, bo ta izdaja prinesla številne dodatke, izboljšave, popravke napak in nove funkcije, poleg tega bo ta mesec (23. maja) projekt praznoval 35 let od nastanka prve izdaje.

GCC 12 je že sistemski prevajalnik za Fedoro 36, GCC 12 pa bo na voljo tudi v Red Hat Enterprise Linux iz Red Hat Developer Toolset (različica 7) ali Red Hat GCC Toolset (različica 8 in 9).

Razvijalci GCC s ponosom napovedujejo še eno veliko izdajo GCC, 12.1.

Letos praznujemo 35. obletnico prve beta različice GCC
In ta mesec bomo praznovali 35 let od izdaje GCC 1.0!

Ta izdaja opusti podporo za format za odpravljanje napak STABS in
uvaja podporo za format za odpravljanje napak CTF [1]. C in C++
vmesniki še naprej napredujejo z razširjeno podporo za funkcije
v prihajajočih standardih C2X in C++23 ter standardni knjižnici C++
izboljša podporo za eksperimentalne dele C++20 in C++23.
Vmesnik Fortran je zdaj v celoti skladen s TS 29113 za interoperabilnost s C.

Kaj je novega v GCC 12.1?

V tej novi različici Izvedenih je bilo več predlogov, na primer za jezike C in C++, dodano vgrajena funkcija __vgrajen_dinamični_object_size za določitev velikosti predmeta, združljiv s podobno funkcijo Clang.

Dodano podpora za atribut "nena voljo" za jezike C in C++ (na primer lahko označite funkcije, ki bodo ob uporabi povzročile napako), pa tudi podporo za direktivi za predhodno obdelavo "#elifdef" in "#elifndef" za jezike C in C++.

Opozoriti je treba tudi, da je Oznaka "-Wbidi-chars" za opozorilo, če so znaki UTF-8 zlorabljeni, ki spreminja dvosmerni vrstni red prikaza besedila, kot tudi zastavico "-Warray-compare", da izda opozorilo, ko poskušate primerjati dva operanda, ki se nanašata na matrike.

Poleg tega je iImplementacija standardov OpenMP 5.0 in 5.1 Nadaljevalo se je (Open Multi-Processing), ki definira API-je in metode za uporabo metod vzporednega programiranja na večjedrnih in hibridnih (CPU + GPU/DSP) sistemih s skupnim pomnilnikom in vektorizacijskimi enotami (SIMD).

Tudi izboljšano izvajanje specifikacije vzporednega programiranja OpenACC 2.6, definiranje sredstev za razbremenitev operacij na grafičnih procesorjih in specializiranih procesorjih, kot je NVIDIA PTX, ter dodajanje podpore za razširjena navodila Intel AVX512-FP16 in tip _Float16 zaledju za generiranje kode x86.

Fortran front-end zagotavlja popolno podporo za specifikacijo TS 29113, ki opisuje možnosti za zagotavljanje prenosljivosti med Fortranom in kodo C.

Zastarela podpora za format za shranjevanje informacij za odpravljanje napak "STABS", ustvarjen v 1980. letih prejšnjega stoletja.

Dodana podpora za razširitev __builtin_shufflevector(vec1, vec2, index1, index2, …), ki je bila prej dodana v Clang, ki omogoča en sam klic za izvajanje običajnih operacij premešanja in premešanja vektorjev.

Pri uporabi ravni optimizacije "-O2" je vektorizacija privzeto omogočena (omogočena sta načina -ftree-vectorize in -fvect-cost-model=zelo poceni). "Zelo poceni" model omogoča vektorizacijo le, če lahko vektorska koda v celoti nadomesti vektorizirano skalarno kodo.

Dodan način "-ftrivial-auto-var-init". omogočiti eksplicitno inicializacijo spremenljivk v skladu za odkrivanje težav in blokiranje ranljivosti, povezanih z uporabo neinicializiranih spremenljivk.

Dodano implementacija funkcij C, vgrajenih v prevajalnik (Intrinsics) za atomsko nalaganje in shranjevanje podatkov v pomnilnik, ki temelji na uporabi razširjenih navodil ARM (ls64). Dodana podpora za pospeševanje funkcij memcpy, memmove in memset z uporabo razširitve ARM mopoption.

Dodano nov način preverjanja "-fsanitize=shadow-call-stack" (ShadowCallStack), ki je trenutno na voljo samo za arhitekturo AArch64 in deluje pri prevajanju kode z možnostjo "-fixed-r18". Način zagotavlja zaščito pred prepisovanjem povratnega naslova funkcije v primeru prepolnitve medpomnilnika sklada. Bistvo zaščite je shraniti povratni naslov v ločen "senčni" sklad po prenosu nadzora na funkcijo in pridobiti ta naslov pred izstopom iz funkcije.

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


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.