GCC 9.1


GCC 9.1

3. maijā notika GCC devītās versijas pirmā publiskā izlaišana: GCC 9.1.
Tajā ir daudz būtisku uzlabojumu un papildinājumu salīdzinājumā ar astoto
versija.

Vispārīgas izmaiņas

Iespējas
Jaunas iebūvētās funkcijas
Jauns atribūts
Cits

Daudzi kodu ģenerēšanas uzlabojumi, kas saistīti ar:

  • slēdžu konstrukciju ģenerēšana;
  • starpprocedūru optimizācija;
  • optimizācija, pamatojoties uz profilēšanas informāciju;
  • optimizācija montāžas stadijā (LTO);

Arī gcov iekšējais formāts tagad ir JSON un jaunā opcija --izmantojiet karstuma krāsas ietver koda līniju krāsošanu, pamatojoties uz to lietošanas biežumu.

Valodas

Īstenošanas kvalitāte un pilnīgums OpenACC valodas C, C++ un Fortran turpina uzlaboties.

C līdzīgas valodas
  • Ir ieviests daļējs OpenMP 5.0 atbalsts;
  • Pievienota funkcija __builtin_convertvector;
  • Pievienots brīdinājums -Sapakotā biedra vatīte;
  • Vairāku esošo brīdinājumu uzlabojumi;
  • Kļūdas teksts, makrom nododot nepareizu argumentu skaitu, tagad ietver paša makro deklarāciju;
  • Uzlabojumi drukas kļūdu labošanas ieteikumiem.
C
  • Atbalstiet _Static_assert ar vienu argumentu -std=c2x (nākotnes C standarts);
  • Jauns brīdinājums -Absolūtā vērtība, kas uztver nepareizu argumenta veidu tādām funkcijām kā abs().
C + +
  • Jauni brīdinājumi: -Novecojis-kopija,
    - Winit-list mūža garumā,
    -Nepatīkama kustība,
    -Wpessimizing-pārvietoties,
    -Wclass konversija;
  • Notiek darbs, lai ieviestu jaunas funkcijas no nākotnes standarta C++2a;
  • Tagad frontend glabā precīzāku informāciju par vairākiem pirmkoda elementiem, kas ļauj parādīt detalizētāku informāciju diagnostikā;
  • Uzlabota diagnostika pārslogotām funkcijām, binārajiem operatoriem, funkciju izsaukumiem un formāta virknēm;
  • Pievienoti automātiskie labojumi, ko atbalsta dažas izstrādes vides attiecībā uz vairākām populārām kļūdām (trūkst iekavas, nosaukumvietas, drukas kļūdas utt.).
libstdc++
  • C++17 ieviešana vairs nav eksperimentāla;
  • Pievienoti paralēli algoritmi, , , A vairs nav nepieciešams -lstdc++fs;
  • Uzlabots eksperimentālais atbalsts C++2a ( , , std::bind_front utt.);
  • Atbalsts tādu failu straumju atvēršanai operētājsistēmā Windows, kuru ceļi satur rakstzīmes bez rakstzīmēm;
  • Sākotnējais atbalsts operētājsistēmā Windows;
  • Sākotnējais Networking TS atbalsts.
D

D valodas versija 2.076 ir iekļauta GCC.

Fortran
  • Pilns asinhronās I/O atbalsts;
  • Ieviests BACK arguments MINLOC un MAXLOC;
  • Ieviestas FINDLOC un IS_CONTIGOUS funkcijas;
  • Ir ieviesta sintakse piekļuvei komplekso skaitļu komponentiem: c%re un c%im;
  • Ieviesta sintakse str%len un a%kind;
  • Īstenoti C deskriptori un ISO_Fortran_binding.h galvene;
  • Atvieglinātas prasības funkciju MAX un MIN rezultātam, ja viens no argumentiem ir NaN;
  • Pievienota opcija -fdec-include;
  • Pievienota direktīva BUILTIN.
libgccjit

Cits

Daudzas arhitektūras un operētājsistēmas izmaiņas.

Avots: linux.org.ru

Pievieno komentāru