GCC 9.1


GCC 9.1

2019. gada 3. maijā notika pirmā publiskā devītās GCC versijas izlaidums: GCC 9.1.
Tā satur daudzas būtiskas uzlabojumus un papildinājumus salīdzinājumā ar astoto
versiju.

Vispārīgas izmaiņas

Opcijas
Jaunas iebūvētas funkcijas
Jauns atribūts
Cits

Daudzi uzlabojumi koda ģenerēšanā saistībā ar:

  • switch konstrukciju ģenerēšanu;
  • starpproduktīvu optimizāciju;
  • optimizāciju, kas balstīta uz profilu informāciju;
  • optimizāciju kompilācijas posmā (LTO);

Tāpat tagad iekšējais gcov formāts ir JSON, un jaunā opcija --use-hotness-colors ietver koda rindu krāsošanu atkarībā no to lietošanas biežuma.

Valodas

Kvalitāte un īstenojamība OpenACC valodās C, C++ un Fortran turpina uzlaboties.

C līdzīgas valodas
  • Daļēja OpenMP 5.0 atbalsta īstenošana;
  • Pievienots funkcija __builtin_convertvector;
  • Pievienots brīdinājums -Waddress-of-packed-member;
  • Uzlabojumi vairākos esošajos brīdinājumos;
  • Kļūdas teksts, pārsniedzot nepareizo argumentu skaitu makrosā, tagad ietver paša makrosa deklarāciju;
  • Uzlabojumi pareizrakstības labojumu ieteikumos.
C
  • Atbalsts _Static_assert ar vienu argumentu -std=c2x (nākotnes C standarts);
  • Jauns brīdinājums -Wabsolute-value, kas noķer nepareiza tipa argumentus tādām funkcijām kā abs().
C++
  • Jaunas brīdinājumi: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Tiek veikts darbs pie jaunu iespēju īstenošanas no nākotnes standarta C++ 2a;
  • Frontend tagad saglabā precīzāku informāciju par virkni avota koda elementu, ļaujot attēlot detalizētāku informāciju diagnostikā;
  • Uzlabota diagnostika pārslodzītām funkcijām, binārajiem operatoriem, funkciju izsaukumiem un formāta virknēm;
  • Pievienoti automātiskie labojumi, ko atbalsta dažas izstrādes vides, daudziem populāriem kļūdu gadījumiem (trūkstošas iekavas, nosaukumu telpas, drukas kļūdas utt.).
libstdc++
  • C++17 īstenošana vairs nav eksperimentāla;
  • Pievienoti paralēlie algoritmi, , , un vairs neprasa -lstdc++fs;
  • Uzlabota eksperimentālā atbalsta C++ 2a ( , , std::bind_front utt.);
  • Atbalsts failu plūsmu atvēršanai Windows, kuru ceļi satur simbolus, kas pārsniedz char;
  • Sākotnējais atbalsts Windows;
  • Sākotnējais atbalsts Networking TS.
D

D valodas versija 2.076 ir iekļauta GCC sastāvā.

Fortran
  • Pilnīgs asinhrono ievades/izvades atbalsts;
  • Izdoti argumenti BACK MINLOC un MAXLOC;
  • Ieviestas funkcijas FINDLOC un IS_CONTIGUOUS;
  • Ieviests piekļuves sintakse sastāvdaļām kompleksajiem skaitļiem: c%re un c%im;
  • Ieviests piekļuves sintakse str%len un a%kind;
  • Ieviesti C deskriptori un galvene ISO_Fortran_binding.h;
  • Atviegloti prasības funkciju MAX un MIN rezultātiem, kad viens no argumentiem ir NaN;
  • Pievienota opcija -fdec-include;
  • Pievienota direktīva BUILTIN.
libgccjit

Cits

Liels skaits arhitektūras un OS specifisku izmaiņu.

Avots: linux.org.ru

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster