GCC 12.1 je već izašao, znajte njegove vijesti i njegovu 35. godišnjicu

GNU GCC logotip

Pokretanje novu verziju kompilatora GCC (Zbirka GNU kompilatora) 12.1 je već objavljen i kao i sa svim glavnim izdanjima GCC-a, ovo će izdanje donijeti mnoge dodatke, poboljšanja, ispravke pogrešaka i nove značajke, plus ovog mjeseca (23. svibnja) projekt će proslaviti 35 godina od formiranja prvog izdanja.

GCC 12 je već kompajler sustava za Fedoru 36, a GCC 12 će također biti dostupan na Red Hat Enterprise Linuxu u Red Hat Developer Toolsetu (verzija 7) ili Red Hat GCC Toolsetu (verzije 8 i 9).

Programeri GCC-a s ponosom najavljuju još jedno veliko izdanje GCC-a, 12.1.

Ove godine slavimo 35. godišnjicu prve beta verzije GCC-a
I ovog mjeseca proslavit ćemo 35 godina od izlaska GCC 1.0!

Ovo izdanje ukida podršku za STABS format za otklanjanje pogrešaka i
uvodi podršku za CTF format za otklanjanje pogrešaka [1]. C i C++
sučelja nastavljaju napredovati s proširenom podrškom za značajke
u nadolazećim standardima C2X i C++23 te standardnoj biblioteci C++
poboljšava podršku za eksperimentalne dijelove C++20 i C++23.
Fortran sučelje sada je u potpunosti usklađeno s TS 29113 za interoperabilnost s C.

Što je novo u GCC 12.1?

U ovoj novoj verziji Provedeno je nekoliko prijedloga, kao što je za jezike C i C++, dodano ugrađena funkcija __builtin_dynamic_object_size za određivanje veličine objekta, kompatibilan sa sličnom funkcijom Clang.

Dodano podrška za atribut "nedostupno" za jezike C i C++ (na primjer, možete označiti funkcije koje će rezultirati pogreškom kada se koriste), kao i dodanu podršku za direktive preprocesiranja "#elifdef" i "#elifndef" za jezike C i C++.

Također se napominje da je Oznaka "-Wbidi-chars" za upozorenje ako su UTF-8 znakovi zlouporabljeni, mijenjajući dvosmjerni redoslijed prikaza teksta, kao i oznaku "-Warray-compare" za izdavanje upozorenja kada pokušavate usporediti dva operanda koja se odnose na nizove.

Osim toga, iImplementacija OpenMP 5.0 i 5.1 standarda (Open Multi-Processing), koji definira API-je i metode za primjenu metoda paralelnog programiranja na višejezgrenim i hibridnim (CPU + GPU/DSP) sustavima sa zajedničkom memorijom i vektorizacijskim jedinicama (SIMD), nastavljen je.

Također poboljšana implementacija OpenACC 2.6 specifikacije paralelnog programiranja, definiranje sredstava za oslobađanje operacija na GPU-ovima i specijaliziranim procesorima kao što je NVIDIA PTX i dodavanje podrške za Intel AVX512-FP16 proširene upute i tip _Float16 u pozadinu generiranja koda x86.

Fortran front-end pruža punu podršku za TS 29113 specifikaciju, koja opisuje mogućnosti za osiguravanje prenosivosti između Fortrana i C koda.

Zastarjela podrška za format pohrane informacija za otklanjanje pogrešaka "STABS" stvoren 1980-ih.

Dodana podrška za proširenje __builtin_shufflevector(vec1, vec2, index1, index2, …) prethodno dodano u Clang, koje pruža jedan poziv za izvođenje uobičajenih operacija nasumice vektora i nasumice.

Kada koristite razinu optimizacije "-O2", vektorizacija je omogućena prema zadanim postavkama (omogućeni su načini -ftree-vectorize i -fvect-cost-model=very-cheap). "Vrlo jeftin" model dopušta vektorizaciju samo ako vektorski kod može u potpunosti zamijeniti skalarni kod koji se vektorizuje.

Dodan način rada "-ftrivial-auto-var-init". kako bi se omogućila eksplicitna inicijalizacija varijable na stogu za pronalaženje problema i blokiranje ranjivosti povezanih s korištenjem neinicijaliziranih varijabli.

Dodano implementacija C funkcija ugrađenih u prevodilac (Intrinsics) za atomsko učitavanje i pohranu podataka u memoriju, na temelju upotrebe proširenih ARM instrukcija (ls64). Dodana podrška za ubrzavanje funkcija memcpy, memmove i memset pomoću proširenja ARM mopoption.

Dodano novi način provjere "-fsanitize=shadow-call-stack" ( ShadowCallStack), koji je trenutno dostupan samo za arhitekturu AArch64 i radi pri prevođenju koda s opcijom "-fixed-r18". Način pruža zaštitu od ponovnog pisanja povratne adrese funkcije u slučaju prekoračenja međuspremnika stoga. Bit zaštite je spremanje povratne adrese u poseban stog "sjene" nakon prijenosa kontrole na funkciju i dohvat ove adrese prije izlaska iz funkcije.

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


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.