GCC 9.1


GCC 9.1

3. mai toimus GCC üheksanda versiooni avalik väljaanne: GCC 9.1.
See sisaldab palju olulisi täiustusi ja lisandeid võrreldes eelmise
versiooniga.

Üldised muudatused

Valikud
Uued sisseehitatud funktsioonid
Uus atribuut
Muu

Mitmed parendused koodigeneratsioonis, mis on seotud:

  • switch-konstruktsioonide genereerimisega;
  • vaheprotseduuriliste optimeerimistega;
  • optimeerimisega, mis põhineb profiliseerimise teabel;
  • optimiseerimisega siduri etapis (LTO);

Gcovi sisemine formaat on nüüd JSON ja uus valik --use-hotness-colors võimaldab koodiread värvida sageduse alusel, millega neid kasutatakse.

Keeled

Rakenduse kvaliteet ja täiuslikkus OpenACC keeltes C, C++ ja Fortran jätkuvalt paranevad.

C-sarnased keeled
  • Osaline toetus OpenMP 5.0;
  • Lisa funktsionaalsus __builtin_convertvector;
  • Lisatud on hoiatus -Waddress-of-packed-member;
  • Parandused mitmesugustes olemasolevates hoiatustes;
  • Veakäskude tekst, kui makrosse antakse vale argumentide arvu, sisaldab nüüd makro enda deklaratsiooni;
  • Parandused õigekirja paranduste ettepanekutes.
C
  • Toetatud on _Static_assert ühe argumendiga -std=c2x (tulevane C standard);
  • Uus hoiatus -Wabsolute-value, mis tuvastab vale argumentide tüübi sellistele funktsioonidele nagu abs().
C++
  • Uued hoiatused: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Tulevaste standardite uusimate funktsioonide rakendamine C++ 2a;
  • Front-end säilitab nüüd täpsemat teavet mitmete algkoodi elementide kohta, mis võimaldab kuvada täpsemat teavet diagnostikas;
  • Parandatud on diagnostika ületulevate funktsioonide, binaarsete operaatorite, funktsioonide ja vorminduse määrati stringide jaoks;
  • Mõned arenduskeskkonnad on lisatud automaatsed parandused populaarsete vigade jaoks (puuduvad sulud, nimed, õigekirja vead jne).
libstdc++
  • C++17 rakendamine ei ole enam eksperimentaalne;
  • Lisatud on paralleelsed algoritmid, <execution>, <memory_resource>, ja <filesystem> ei vaja enam -lstdc++fs;
  • Eksperimentaalne toetus C++ 2a jaoks (<bit>, <version>, std::bind_front jne) paranes;
  • Toetatud on failide avamine Windowsis, mille teed sisaldavad sümboleid, mis ületavad chari;
  • Algeline toetus <filesystem> Windowsis;
  • Algeline toetus Networking TS.
D

D keele versioon 2.076 on saadud GCC-ga.

Fortran
  • Täielik toetus asünkroonsele sisend-/väljundile;
  • Argumendi BACK rakendamine MINLOC ja MAXLOC jaoks;
  • FINDLOC ja IS_CONTIGUOUS funktsioonide rakendamine;
  • Komplekssete arvude koostisosadele juurdepääsuv syntaks: c%re ja c%im;
  • str%len ja a%kind juurdepääsuv syntaks;
  • C deskriptorite ja ISO_Fortran_binding.h pealkirja rakendamine;
  • NaN aritmeetika korral nõuded MAX ja MIN funktsioonide tulemustele on leebemaks muudetud;
  • Lisatud valik -fdec-include;
  • Lisatud direktiiv BUILTIN.
libgccjit

Muu

Palju arhitektuuri- ja OS-spetsiifilisi muudatusi.

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster