GCC 9.1


GCC 9.1

3. mail toimus GCC üheksanda versiooni esimene avalik väljalase: GCC 9.1.
See sisaldab palju olulisi parandusi ja täiendusi võrreldes kaheksandaga
versioon.

Üldised muudatused

Valikud
Uued sisseehitatud funktsioonid
Uus atribuut
muu

Arvukad koodi genereerimise täiustused, mis on seotud:

  • lüliti konstruktsioonide genereerimine;
  • protseduuridevahelised optimeerimised;
  • optimeerimine profiiliteabe alusel;
  • optimeerimine montaažifaasis (LTO);

Ka gcovi sisemine vorming on nüüd JSON ja uus valik --kasuta-kuumuse-värve hõlmab koodiridade värvimist nende kasutamise sageduse järgi.

Keeled

Teostuse kvaliteet ja täielikkus OpenACC keeled C, C++ ja Fortran paranevad jätkuvalt.

C-laadsed keeled
  • Rakendatud on OpenMP 5.0 osaline tugi;
  • Lisatud funktsioon __builtin_convertvector;
  • Lisatud hoiatus -Waddress-of-packed-liikme;
  • Mitmete olemasolevate hoiatuste täiustused;
  • Vea tekst makrole vale arvu argumentide edastamisel sisaldab nüüd makro enda deklaratsiooni;
  • Kirjavigade parandamise soovituste täiustused.
C
  • Toetage _Static_assert ühe argumendiga -std=c2x (tulevane C standard);
  • Uus hoiatus -Absoluutväärtus, mis püüab kinni vale argumenditüübi selliste funktsioonide jaoks nagu abs().
C + +
  • Uued hoiatused: -Weprecated-copy,
    - Winit-list-eluaeg,
    - Üleliigne liikumine,
    -Wpessimizing-liigutada,
    -Wclass-konversioon;
  • Töö on käimas tulevase standardi uute funktsioonide juurutamiseks C++2a;
  • Frontend salvestab nüüd täpsemat teavet mitme lähtekoodi elemendi kohta, mis võimaldab kuvada diagnostikas täpsemat teavet;
  • Täiustatud diagnostika ülekoormatud funktsioonide, binaaroperaatorite, funktsioonikutsete ja vormingustringide jaoks;
  • Lisatud automaatsed parandused, mida toetavad mõned arenduskeskkonnad, paljude populaarsete vigade jaoks (puuduvad sulud, nimeruumid, kirjavead jne).
libstdc++
  • C++17 juurutamine ei ole enam eksperimentaalne;
  • Lisatud paralleelsed algoritmid, , , A ei nõua enam -lstdc++fs;
  • Täiustatud eksperimentaalne tugi C++2a jaoks ( , , std::bind_front jne);
  • Tugi failivoogude avamiseks Windowsis, mille teed sisaldavad mittetähemärke;
  • Esialgne tugi Windowsis;
  • Võrgustiku TS esialgne tugi.
D

D-keeleversioon 2.076 sisaldub GCC-s.

Fortran
  • Asünkroonse I/O täielik tugi;
  • Rakendatud MINLOC ja MAXLOC argument BACK;
  • Rakendatud FINDLOC ja IS_CONTIGOUS funktsioonid;
  • Rakendatud on kompleksarvude komponentidele juurdepääsu süntaks: c%re ja c%im;
  • Rakendatud süntaks str%len ja a%kind;
  • Rakendatud C-deskriptorid ja ISO_Fortran_binding.h päis;
  • Leebemad nõuded funktsioonide MAX ja MIN tulemusele, kui üks argumentidest on NaN;
  • Lisatud valik -fdec-include;
  • Direktiiv lisatud EHITATUD.
libgccjit

muu

Paljud arhitektuuri- ja OS-spetsiifilised muudatused.

Allikas: linux.org.ru

Lisa kommentaar