GCC 9.1


GCC 9.1

Noong Mayo 3, naganap ang unang pampublikong paglabas ng ikasiyam na bersyon ng GCC: GCC 9.1.
Naglalaman ito ng maraming makabuluhang pagpapabuti at pagdaragdag kumpara sa ikawalo
bersyon.

Pangkalahatang pagbabago

Mga Pagpipilian sa
Mga bagong built-in na feature
Bagong katangian
Iba

Maraming pagpapahusay sa pagbuo ng code na nauugnay sa:

  • henerasyon ng mga switch construct;
  • inter-procedural optimizations;
  • pag-optimize batay sa impormasyon sa pag-profile;
  • pag-optimize sa yugto ng pagpupulong (LTO);

Gayundin ang internal na format ng gcov ay JSON na ngayon, at ang bagong opsyon --use-hotness-colors nagsasangkot ng mga linya ng pangkulay ng code batay sa kung gaano kadalas ginagamit ang mga ito.

Wika

Kalidad at pagkakumpleto ng pagpapatupad OpenACC patuloy na umuunlad ang mga wikang C, C++, at Fortran.

C-like na mga wika
  • Ang bahagyang suporta para sa OpenMP 5.0 ay ipinatupad;
  • Idinagdag na tampok __builtin_convertvector;
  • Nagdagdag ng babala -Waddress-of-packed-member;
  • Mga pagpapabuti sa ilang umiiral na mga babala;
  • Ang text ng error kapag nagpapasa ng maling bilang ng mga argumento sa isang macro ay kasama na ngayon ang deklarasyon ng macro mismo;
  • Mga pagpapabuti sa mga mungkahi sa pagwawasto ng typo.
C
  • Suportahan ang _Static_assert na may isang argumento para sa -std=c2x (pangunahing pamantayan ng C);
  • Bagong babala -Wabsolute-halaga, na nakakakuha ng maling uri ng argumento para sa mga function tulad ng abs().
C + +
  • Mga bagong babala: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Ang trabaho ay isinasagawa upang ipatupad ang mga bagong tampok mula sa hinaharap na pamantayan C++2a;
  • Nag-iimbak na ngayon ang frontend ng mas tumpak na impormasyon tungkol sa isang bilang ng mga elemento ng source code, na nagbibigay-daan sa iyong magpakita ng mas detalyadong impormasyon sa mga diagnostic;
  • Mga pinahusay na diagnostic para sa mga overload na function, binary operator, function call at format string;
  • Nagdagdag ng mga awtomatikong pag-aayos na sinusuportahan ng ilang development environment para sa ilang sikat na error (nawawalang panaklong, namespace, typo, atbp.).
libstdc++
  • Ang pagpapatupad ng C++17 ay hindi na eksperimental;
  • Nagdagdag ng mga parallel na algorithm, , , A hindi na nangangailangan ng -lstdc++fs;
  • Pinahusay na pang-eksperimentong suporta para sa C++2a ( , , std::bind_front, atbp.);
  • Suporta para sa pagbubukas ng mga stream ng file sa Windows na ang mga landas ay naglalaman ng mga hindi char na character;
  • Paunang suporta sa Windows;
  • Paunang suporta para sa Networking TS.
D

D wika na bersyon 2.076 ay kasama sa GCC.

Fortran
  • Buong suporta para sa asynchronous na I/O;
  • Ipinatupad ang BACK argument para sa MINLOC at MAXLOC;
  • Ipinatupad ang FINDLOC at IS_CONTIGOUS function;
  • Ang syntax para sa pag-access sa mga bahagi ng kumplikadong mga numero ay ipinatupad: c%re at c%im;
  • Ipinatupad ang syntax str%len at a%kind;
  • Ipinatupad ang mga C descriptor at ISO_Fortran_binding.h header;
  • Mga nakakarelaks na kinakailangan para sa resulta ng MAX at MIN function kapag ang isa sa mga argumento ay NaN;
  • Idinagdag na opsyon -fdec-include;
  • Idinagdag ang direktiba BUILTIN.
libgccjit

Iba

Maraming pagbabago sa arkitektura at partikular sa OS.

Pinagmulan: linux.org.ru

Magdagdag ng komento