GCC 9.1


GCC 9.1

Më 3 maj, u zhvillua publikimi i parë publik i versionit të nëntë të GCC: GCC 9.1.
Ai përmban shumë përmirësime dhe shtesa domethënëse në krahasim me të tetën
version.

Ndryshimet e përgjithshme

Options
Karakteristika të reja të integruara
Atribut i ri
Tjetër

Përmirësime të shumta të gjenerimit të kodit në lidhje me:

  • gjenerimi i konstruksioneve të ndërprerësve;
  • optimizimet ndërprocedurale;
  • optimizimi i bazuar në informacionin e profilizimit;
  • optimizimi në fazën e montimit (LTO);

Gjithashtu formati i brendshëm i gcov tani është JSON dhe opsioni i ri --përdorim-nxehtësi-ngjyra përfshin ngjyrosjen e linjave të kodit bazuar në sa shpesh ato përdoren.

Gjuhë

Cilësia dhe plotësia e zbatimit OpenACC gjuhët C, C++ dhe Fortran vazhdojnë të përmirësohen.

gjuhë të ngjashme me C
  • Është zbatuar mbështetje e pjesshme për OpenMP 5.0;
  • Funksioni i shtuar __ndërtuar_konvertues;
  • Paralajmërim i shtuar -Anëtari i paketuar;
  • Përmirësime në një numër paralajmërimesh ekzistuese;
  • Teksti i gabimit kur kalon numrin e gabuar të argumenteve në një makro tani përfshin deklarimin e vetë makros;
  • Përmirësime në sugjerimet për korrigjimin e gabimeve shkrimore.
C
  • Mbështet _Static_assert me një argument për -std=c2x (standardi C i ardhshëm);
  • Paralajmërim i ri -Vlera-absolute, i cili kap llojin e gabuar të argumentit për funksione si abs().
C + +
  • Paralajmërime të reja: -E pavlefshme-kopje,
    -Winit-list-jete,
    -Lëvizje e keqe,
    -Pezimizues-lëviz,
    -Klasi-konvertim;
  • Po punohet për zbatimin e veçorive të reja nga standardi i ardhshëm C++2a;
  • Frontend tani ruan informacion më të saktë për një numër elementësh të kodit burimor, gjë që ju lejon të shfaqni informacion më të detajuar në diagnostikim;
  • Diagnostifikimi i përmirësuar për funksionet e mbingarkuara, operatorët binare, thirrjet e funksioneve dhe vargjet e formatimit;
  • Rregullime automatike të shtuara të mbështetura nga disa mjedise zhvillimi për një numër gabimesh të njohura (kllapa që mungojnë, hapësira emrash, gabime shkrimi, etj.).
libstdc++
  • Zbatimi i C++17 nuk është më eksperimental;
  • Algoritme paralele të shtuara, , , A nuk kërkon më -lstdc++fs;
  • Mbështetje e përmirësuar eksperimentale për C++2a ( , , std::bind_front, etj.);
  • Mbështetje për hapjen e transmetimeve të skedarëve në Windows, shtigjet e të cilave përmbajnë karaktere jo char;
  • Mbështetja fillestare në Windows;
  • Mbështetje fillestare për Networking TS.
D

Versioni 2.076 i gjuhës D është përfshirë në GCC.

Fortran
  • Mbështetje e plotë për I/O asinkrone;
  • Argumenti BACK i zbatuar për MINLOC dhe MAXLOC;
  • Funksionet e implementuara FINDLOC dhe IS_CONTIGOUS;
  • Është zbatuar sintaksa për qasjen në komponentët e numrave kompleksë: c%re dhe c%im;
  • Sintaksa e implementuar str%len dhe a% kind;
  • Implementuar përshkruesit C dhe kokën ISO_Fortran_binding.h;
  • Kërkesa të relaksuara për rezultatin e funksioneve MAX dhe MIN kur një nga argumentet është NaN;
  • Opsioni i shtuar -fdec-përfshi;
  • U shtua direktiva TË NDËRTUAR.
libgccjit

Tjetër

Shumë ndryshime specifike për arkitekturën dhe sistemin operativ.

Burimi: linux.org.ru

Shto një koment