GCC 9.1


GCC 9.1

Op 3 Mei het die eerste openbare vrystelling van die negende weergawe van GCC plaasgevind: GCC 9.1.
Dit bevat baie beduidende verbeterings en toevoegings in vergelyking met die agtste
weergawe.

Algemene veranderinge

Opsies
Nuwe ingeboude kenmerke
Nuwe kenmerk
Ander

Talle kodegenerering verbeterings wat verband hou met:

  • generering van skakelaarkonstrukte;
  • interprosedurele optimaliserings;
  • optimalisering gebaseer op profileringsinligting;
  • optimalisering by die monteerstadium (LTO);

Ook gcov se interne formaat is nou JSON, en die nuwe opsie --gebruik-warmheid-kleure behels die inkleur van kodelyne gebaseer op hoe gereeld dit gebruik word.

Tale

Kwaliteit en volledigheid van implementering OpenACC die tale C, C++ en Fortran verbeter steeds.

C-agtige tale
  • Gedeeltelike ondersteuning vir OpenMP 5.0 is geïmplementeer;
  • Kenmerk bygevoeg __ingeboude_omskakelaar;
  • Bygevoeg waarskuwing -Wadadres-van-gepakte-lid;
  • Verbeterings aan 'n aantal bestaande waarskuwings;
  • Die foutteks wanneer die verkeerde aantal argumente na 'n makro oorgedra word, sluit nou die verklaring van die makro self in;
  • Verbeterings aan voorstelle vir tikfoutregstelling.
C
  • Ondersteun _Static_assert met een argument vir -std=c2x (toekomstige C-standaard);
  • Nuwe waarskuwing -Wabsoluut-waarde, wat die verkeerde argumenttipe vang vir funksies soos abs().
C + +
  • Nuwe waarskuwings: -W verouderde-kopie,
    - Winit-lys-leeftyd,
    -Oorbodig-skuif,
    -Wpessimisering-skuif,
    -Wklas-omskakeling;
  • Werk is aan die gang om nuwe kenmerke vanaf die toekomstige standaard te implementeer C++2a;
  • Die frontend stoor nou meer akkurate inligting oor 'n aantal bronkode-elemente, wat jou toelaat om meer gedetailleerde inligting in diagnostiek te vertoon;
  • Verbeterde diagnostiek vir oorlaaide funksies, binêre operateurs, funksie-oproepe en formaatstringe;
  • Bygevoeg outomatiese regstellings wat deur sommige ontwikkelingsomgewings ondersteun word vir 'n aantal gewilde foute (ontbrekende hakies, naamspasies, tikfoute, ens.).
libstdc++
  • Die C++17-implementering is nie meer eksperimenteel nie;
  • Bygevoeg parallelle algoritmes, , , A vereis nie meer -lstdc++fs nie;
  • Verbeterde eksperimentele ondersteuning vir C++2a ( , , std::bind_front, ens.);
  • Ondersteuning vir die opening van lêerstrome op Windows wie se paaie nie-char karakters bevat;
  • Aanvanklike ondersteuning op Windows;
  • Aanvanklike ondersteuning vir Networking TS.
D

D-taalweergawe 2.076 is by GCC ingesluit.

Fortran
  • Volle ondersteuning vir asinchroniese I/O;
  • geïmplementeer BACK argument vir MINLOC en MAXLOC;
  • FINLOC en IS_CONTIGOUS funksies geïmplementeer;
  • Die sintaksis vir toegang tot die komponente van komplekse getalle is geïmplementeer: c%re en c%im;
  • Geïmplementeerde sintaksis str%len en a%kind;
  • Geïmplementeerde C-beskrywers en ISO_Fortran_binding.h-kopskrif;
  • Verslapper vereistes vir die resultaat van die MAX- en MIN-funksies wanneer een van die argumente NaN is;
  • Bygevoeg opsie -fdec-insluit;
  • Richtlijn bygevoeg GEBOU.
libgccjit

Ander

Baie argitektuur- en OS-spesifieke veranderinge.

Bron: linux.org.ru

Voeg 'n opmerking