GCC 9.1


GCC 9.1

3. toukokuuta GCC:n yhdeksännen version ensimmäinen julkinen julkaisu: GCC 9.1.
Se sisältää monia merkittäviä parannuksia ja lisäyksiä kahdeksanteen verrattuna
versio.

Yleiset muutokset

Valinnat
Uusia sisäänrakennettuja ominaisuuksia
Uusi attribuutti
Muut

Lukuisia koodin luomiseen liittyviä parannuksia:

  • kytkinrakenteiden luominen;
  • proseduurien väliset optimoinnit;
  • profilointitietoihin perustuva optimointi;
  • optimointi kokoonpanovaiheessa (LTO);

Myös gcov:n sisäinen muoto on nyt JSON ja uusi vaihtoehto --käytä-kuumia-värejä sisältää koodirivien värittämisen sen mukaan, kuinka usein niitä käytetään.

Kielet

Toteutuksen laatu ja täydellisyys OpenACC kielet C, C++ ja Fortran kehittyvät jatkuvasti.

C:n kaltaiset kielet
  • OpenMP 5.0:n osittainen tuki on otettu käyttöön;
  • Lisätty toiminto __builtin_convertvector;
  • Lisätty varoitus -Waddress-of-pakattu-jäsen;
  • parannuksia useisiin olemassa oleviin varoituksiin;
  • Virheteksti, kun makrolle välitetään väärä määrä argumentteja, sisältää nyt itse makron ilmoituksen;
  • Parannuksia kirjoitusvirheiden korjausehdotuksiin.
C
  • Tue _Static_assert yhdellä argumentilla -std=c2x (tuleva C-standardi);
  • Uusi varoitus -Absoluuttinen arvo, joka saa kiinni väärän argumenttityypin funktioille, kuten abs().
C + +
  • Uudet varoitukset: -Wdeprecated-kopio,
    -Winit-list-elinikäinen,
    - Turha liike,
    -Wpessimizing-liikkua,
    -Wclass-muunnos;
  • Tulevan standardin uusia ominaisuuksia otetaan käyttöön parhaillaan C++2a;
  • Käyttöliittymä tallentaa nyt tarkempaa tietoa useista lähdekoodielementeistä, mikä mahdollistaa tarkempien tietojen näyttämisen diagnostiikassa;
  • Parannettu diagnostiikka ylikuormitetuille funktioille, binäärioperaattoreille, funktiokutsuille ja muotomerkkijonoille;
  • Lisätty joidenkin kehitysympäristöjen tukemat automaattiset korjaukset useisiin suosittuihin virheisiin (puuttuvat sulut, nimitilat, kirjoitusvirheet jne.).
libstdc++
  • C++17-toteutus ei ole enää kokeellinen;
  • Lisätty rinnakkaisia ​​algoritmeja, , , A ei enää vaadi -lstdc++fs;
  • Parannettu kokeellinen tuki C++2a:lle ( , , std::bind_front jne.);
  • Tuki tiedostojen avaamiseen Windowsissa, jonka polut sisältävät ei-merkkisiä merkkejä;
  • Alkutuki Windowsissa;
  • Ensimmäinen tuki Networking TS:lle.
D

D-kieliversio 2.076 sisältyy GCC:hen.

Fortran
  • Täysi tuki asynkroniselle I/O:lle;
  • Toteutettu BACK-argumentti MINLOC:lle ja MAXLOC:lle;
  • Toteutettu FINDLOC- ja IS_CONTIGOUS-funktiot;
  • Syntaksi kompleksilukujen komponentteihin pääsyä varten on toteutettu: c%re ja c%im;
  • Toteutettu syntaksi str%len ja a%kind;
  • Toteutetut C-kuvaajat ja ISO_Fortran_binding.h-otsikko;
  • Kevennetyt vaatimukset MAX- ja MIN-funktioiden tulokselle, kun yksi argumenteista on NaN;
  • Lisätty vaihtoehto -fdec-include;
  • Direktiivi lisätty SISÄÄNRAKENNETTU.
libgccjit

Muut

Monet arkkitehtuuri- ja käyttöjärjestelmäkohtaiset muutokset.

Lähde: linux.org.ru

Lisää kommentti