GCC 9.1


GCC 9.1

Május 3-án került sor a GCC kilencedik verziójának első nyilvános kiadására: a GCC 9.1-re.
Sok jelentős fejlesztést és kiegészítést tartalmaz a nyolcadikhoz képest
változat.

Általános változások

Lehetőségek
Új beépített funkciók
Új attribútum
Más

Számos kódgenerálási fejlesztés a következőkhöz kapcsolódóan:

  • kapcsolókonstrukciók generálása;
  • eljárások közötti optimalizálás;
  • profilalkotási információkon alapuló optimalizálás;
  • optimalizálás az összeszerelési szakaszban (LTO);

A gcov belső formátuma is JSON, és az új opció --használjon-forró színeket magában foglalja a kódsorok színezését a használatuk gyakorisága alapján.

Nyelvek

A megvalósítás minősége és teljessége OpenACC a C, C++ és Fortran nyelvek tovább javulnak.

C-szerű nyelvek
  • Az OpenMP 5.0 részleges támogatása megtörtént;
  • Funkció hozzáadva __builtin_convertvector;
  • Figyelmeztetés hozzáadva -Csomagolt tag vattája;
  • Számos meglévő figyelmeztetés továbbfejlesztése;
  • A hibaszöveg, amikor rossz számú argumentumot adunk át egy makrónak, most magának a makrónak a deklarációját tartalmazza;
  • Javítások a helyesírási javaslatokhoz.
C
  • A _Static_assert támogatása egy argumentummal a -std=c2x (jövőbeni C szabvány);
  • Új figyelmeztetés -Abszolút érték, amely rossz argumentumtípust fog el olyan függvényekhez, mint az abs().
C + +
  • Új figyelmeztetések: -Elavult-másolat,
    -Winit-list-élettartam,
    -Rendkívüli lépés,
    -Wpesszimista-mozog,
    -Wclass-konverzió;
  • Folyamatban van a jövőbeli szabvány új funkcióinak bevezetése C++2a;
  • A frontend mostantól pontosabb információkat tárol számos forráskód-elemről, ami lehetővé teszi, hogy részletesebb információkat jelenítsen meg a diagnosztikában;
  • Túlterhelt függvények, bináris operátorok, függvényhívások és formátum karakterláncok továbbfejlesztett diagnosztikája;
  • Egyes fejlesztői környezetek által támogatott automatikus javítások hozzáadva számos népszerű hibához (hiányzó zárójelek, névterek, elírási hibák stb.).
libstdc++
  • A C++17 implementáció már nem kísérleti jellegű;
  • Párhuzamos algoritmusok hozzáadva, , , A már nem igényel -lstdc++fs;
  • Továbbfejlesztett kísérleti támogatás a C++2a-hoz ( , , std::bind_front stb.);
  • Támogatás olyan fájlfolyamok megnyitásához Windows rendszeren, amelyek elérési útja nem karakteres karaktereket tartalmaz;
  • Kezdeti támogatás Windows rendszeren;
  • A Networking TS kezdeti támogatása.
D

A D nyelvi 2.076-os verziót a GCC tartalmazza.

Fortran
  • Az aszinkron I/O teljes támogatása;
  • Implementált BACK argumentum a MINLOC és MAXLOC számára;
  • Megvalósított FINDLOC és IS_CONTIGOUS függvények;
  • Megvalósult a komplex számok összetevőinek eléréséhez szükséges szintaxis: c%re és c%im;
  • Implementált szintaxis str%len és a%kind;
  • Megvalósított C-leírók és ISO_Fortran_binding.h fejléc;
  • Enyhített követelmények a MAX és MIN függvények eredményére vonatkozóan, ha az egyik argumentum NaN;
  • Hozzáadott opció -fdec-include;
  • Az irányelv hozzáadva BEÉPÍTETT.
libgccjit

Más

Számos architektúra- és operációs rendszer-specifikus változás.

Forrás: linux.org.ru

Hozzászólás