GCC 9.1


GCC 9.1

3. mai toimus GCC 9.1 esimene avalik versioon.
See sisaldab mitmeid olulisi parandusi ja lisandeid võrreldes kaheksanda
versiooniga.

Üldised muudatused

Valikud
Uued sisseehitatud funktsioonid
Uus atribuut
Teine

Mitmed parandused koodigeneratsioonis, mis on seotud:

  • switch-konstruktsioonide genereerimisega;
  • vaheprotseduuriliste optimeerimistega;
  • optimeerimisega, mis põhineb profiliseerimisinfos;
  • koosteetapiga optimeerimisega (LTO);

Samuti on gcov sisemine formaat nüüd JSON, ja uus valik —use-hotness-colors lisab koodirea värvimise sõltuvalt nende kasutamise sagedusest.

Keeled

Rakenduse kvaliteet ja täpsus OpenACC keeltes C, C++ ja Fortran jätkab paranemist.

C-sarnased keeled
  • Osaline toetus OpenMP 5.0 on realiseeritud;
  • Lisatud on funktsioon __builtin_convertvector;
  • Lisatud on hoiatus -Waddress-of-packed-member;
  • Mitmed parandused olemasolevates hoiatustes;
  • Viga teate pane olevatest makrode vale arvu argumentide edastamisest sisaldab nüüd ka makro enda deklaratsiooni;
  • Parandused õigekirja parandamise ettepanekutes.
C
  • _Static_assert toetamine ühe argumendiga -std=c2x (tulevane standard C);
  • Uus hoiatus -Wabsolute-value, mis tabab vale tüüpi argumente selliste funktsioonide nagu abs().
C++
  • Uued hoiatuste: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Töötatakse välja uusi võimalusi tulevasest standardist C++ 2a;
  • Frontend salvestab nüüd täpsema teabe mitmete lähtekoodi elementide kohta, mis võimaldab diagnostikas kuvada detailsemat teavet;
  • Parandatud diagnostikat ülekoormatud funktsioonide, binaarsete operaatorite, funktsioonikutsede ja formaati määravate stringide jaoks;
  • Mõnede arenduskeskkondade poolt toetatud automaatsed parandused mitmete populaarsete vigade (puuduvad sulud, nimed, trükivigade jms) jaoks;
libstdc++
  • C++17 rakendamine ei ole enam eksperimentaalne;
  • Lisatud paralleelsed algoritmid, , , ja ei vaja enam -lstdc++fs;
  • Parandatud eksperimentaalset tuge C++ 2a jaoks (, , std::bind_front jne);
  • Toetatakse failivoogude avamist Windowsis, mille teed sisaldavad märke, mis ületavad char-i piire;
  • Alustav tugi jaoks Windowsis;
  • Alustav tugi Networking TS.
D

D-keele versioon 2.076 on lisatud GCC-sse.

Fortran
  • Täielik tugi asünkroonsele sisend-/väljundile;
  • Rakendatud BACK argument MINLOC ja MAXLOC jaoks;
  • Rakendatud FINDLOC ja IS_CONTIGUOUS funktsioonid;
  • Rakendatud süntaks ligipääsuks kompleksnumberite koostisosadele: c%re ja c%im;
  • Rakendatud süntaks str%len ja a%kind;
  • Rakendatud C-deskriptorid ja pealkiri ISO_Fortran_binding.h;
  • Vähendatud nõudeid MAX ja MIN funktsioonide tulemusele, kui üks argument on NaN;
  • Lisatud on võimalus -fdec-include;
  • Lisatud direktiiv BUILTIN.
libgccjit

Teine

Palju arhitektuuri- ja operatsioonisüsteemi spetsiifilisi muudatusi.

Allikas: linux.org.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster