GCC 9.1


GCC 9.1

La 3-an de majo okazis la unua publika eldono de la naŭa versio de GCC: GCC 9.1.
Ĝi enhavas multajn signifajn plibonigojn kaj aldonojn kompare kun la oka
versio.

Ĝeneralaj ŝanĝoj

Opcioj
Novaj enkonstruitaj funkcioj
Nova atributo
Aliaj

Multaj kodogeneraciaj plibonigoj rilataj al:

  • generacio de ŝaltilkonstruaĵoj;
  • inter-proceduraj optimumigoj;
  • optimumigo bazita sur profilaj informoj;
  • optimumigo ĉe la kunvenstadio (LTO);

Ankaŭ la interna formato de gcov nun estas JSON, kaj la nova opcio --use-hotness-colors implikas kolorliniojn de kodo surbaze de kiom ofte ili estas uzitaj.

Lingvoj

Kvalito kaj kompleteco de efektivigo OpenACC la lingvoj C, C++ kaj Fortran daŭre pliboniĝas.

C-similaj lingvoj
  • Parta subteno por OpenMP 5.0 estis efektivigita;
  • Aldonita funkcio __enkonstruita_konvertvektoro;
  • Aldonita averto -Vadreso-de-pakita-membro;
  • Plibonigoj al kelkaj ekzistantaj avertoj;
  • La erarteksto pasinte la malĝustan nombron da argumentoj al makroo nun inkluzivas la deklaron de la makroo mem;
  • Plibonigoj al tajperkorektaj sugestoj.
C
  • Subtenu _Static_assert kun unu argumento por -std=c2x (estonta C-normo);
  • Nova averto -Wabsoluta-valoro, kiu kaptas la malĝustan argumentan tipon por funkcioj kiel abs().
C ++
  • Novaj avertoj: -Wmalrekomendita-kopio,
    -Winit-list-dumviva,
    -Wredundant-movo,
    -Wpesimiganta-movo,
    -Wklaso-konverto;
  • Laboras efektivigi novajn funkciojn de la estonta normo C++ 2a;
  • La fasado nun konservas pli precizajn informojn pri kelkaj fontkodaj elementoj, kio ebligas al vi montri pli detalajn informojn en diagnozo;
  • Plibonigita diagnozo por troŝarĝitaj funkcioj, binaraj funkciigistoj, funkciovokoj kaj formataj ĉenoj;
  • Aldonitaj aŭtomataj korektoj subtenataj de iuj evolumedioj por kelkaj popularaj eraroj (mankas krampoj, nomspacoj, tajperaroj, ktp.).
libstdc++
  • La efektivigo de C++17 ne plu estas eksperimenta;
  • Aldonitaj paralelaj algoritmoj, , , A ne plu postulas -lstdc++fs;
  • Plibonigita eksperimenta subteno por C++2a ( , , std::bind_front, ktp.);
  • Subteno por malfermi dosierfluojn en Vindozo, kies vojoj enhavas ne-karakterajn signojn;
  • Komenca subteno sur Vindozo;
  • Komenca subteno por Networking TS.
D

D-lingva versio 2.076 estas inkluzivita en GCC.

Fortran
  • Plena subteno por nesinkrona I/O;
  • Efektivigita BACK argumento por MINLOC kaj MAXLOC;
  • Efektivigitaj funkcioj FINDLOC kaj IS_CONTIGOUS;
  • La sintakso por aliri la komponantojn de kompleksaj nombroj estis efektivigita: c%re kaj c%im;
  • Efektivigita sintakso str%len kaj a%kind;
  • Efektivigitaj C-priskribiloj kaj ISO_Fortran_binding.h-kapo;
  • Malstreĉitaj postuloj por la rezulto de la funkcioj MAX kaj MIN kiam unu el la argumentoj estas NaN;
  • Aldonita opcio -fdec-inkluzivi;
  • Direktivo aldonita KONSTRUIS.
libgccjit

Aliaj

Multaj arkitekturo- kaj OS-specifaj ŝanĝoj.

fonto: linux.org.ru

Aldoni komenton