Dina 3 Méi, sékrési umum munggaran tina versi kasalapan GCC lumangsung: GCC 9.1.
Ieu ngandung loba perbaikan signifikan jeung tambahan dibandingkeun kadalapan
versi.
Parobihan umum
Pilihan
- Paréntah anu nampi ukuran ayeuna ngadukung nilai 64-bit sareng sufiks pikeun nangtukeun ukuran;
- pilihan ditambahkeun -flive-patching,pikeun ngadalikeun optimasi anu berpotensi ngaruksak kana dinamis, ngagantian kode;
- Ditambahkeun --completion pilihan pikeun ngarojong auto-completion dina cangkang paréntah;
- Diagnostik kompiler ayeuna kalebet nomer garis (-fno-diagnostics-show-line-angka) jeung
ngetik inpormasi (fno-diagnostics-show-labél); - pilihan ditambahkeun -fdiagnostics-format = json pikeun kaluaran diagnostik dina format JSON;
- Pilihan pikeun nangtukeun alignment (-Falign-fungsi, contona) ayeuna tiasa nampi sababaraha pilihan alignment;
- Ditambahkeun pilihan pikeun nyaring daptar file (-fprofile-filter-file, -fprofile-ngaluarkeun-file), nu instrumented ku profiler nu;
- AddressSanitizer ayeuna nganggo alignment langkung kompak pikeun nyekel aksés anu teu sah kana variabel dina tumpukan;
- Seueur perbaikan kaluaran -fopt-inpo;
- pilihan ditambahkeun -fsave-optimasi-catetan pikeun nyimpen laporan optimasi kana file;
- pilihan ditambahkeun -fipa-tumpukan-alignment и -fipa-rujukan-addressable.
Anyar diwangun-di fitur
Atribut anyar
nu lain
Seueur perbaikan generasi kode anu aya hubunganana sareng:
- generasi constructs switch;
- optimizations antar-prosedur;
- optimasi dumasar kana inpormasi profil;
- optimasi dina tahap assembly (LTO);
Ogé format internal gcov urang ayeuna JSON, sarta pilihan anyar --make-hotness-warna ngalibatkeun ngawarnaan garis kode dumasar kana sabaraha sering aranjeunna dipaké.
Basa
Kualitas sareng kasampurnaan palaksanaan OpenACC basa C, C ++, sareng Fortran terus ningkat.
Basa C-kawas
- Pangrojong parsial pikeun OpenMP 5.0 parantos dilaksanakeun;
- fitur ditambahkeun __builtin_convertvector;
- Ditambahkeun peringatan -Waddress-of-dipak-anggota;
- Perbaikan kana sababaraha peringatan anu aya;
- Téks kasalahan nalika ngirimkeun jumlah argumen anu salah ka makro ayeuna kalebet deklarasi makro sorangan;
- Perbaikan kana saran koreksi typo.
C
- Rojongan _Static_assert sareng hiji argumen pikeun -std = c2x (standar C kahareup);
- warning anyar -Wabsolute-nilai, nu nyekel tipe argumen salah pikeun fungsi kawas abs ().
C ++
- Peringatan anyar: -Wdeprecated-salinan,
-Winit-list-hirupna,
-Wredundant-move,
-Wpessimizing-move,
-Wclass-konversi; - Karya keur dijalankeun pikeun nerapkeun fitur anyar tina standar hareup C++ 2a;
- Frontend ayeuna nyimpen inpormasi anu langkung akurat ngeunaan sababaraha elemen kode sumber, anu ngamungkinkeun anjeun pikeun nampilkeun inpormasi anu langkung rinci dina diagnostik;
- Ningkatkeun diagnostics pikeun fungsi overloaded, operator binér, nelepon fungsi jeung format string;
- Nambahkeun perbaikan otomatis anu dirojong ku sababaraha lingkungan pamekaran pikeun sababaraha kasalahan anu populer (leungit kurung, spasi ngaran, typos, jsb.).
libstdc++
- C ++ 17 palaksanaan geus euweuh eksperimen;
- Ditambahkeun algoritma paralel, , , sareng henteu peryogi deui -lstdc++fs;
- Ningkatkeun rojongan eksperimen pikeun C ++ 2a (, , std :: bind_front, jsb);
- Rojongan pikeun muka aliran file dina Windows anu jalurna ngandung karakter non-char;
- Pangrojong awal dina Windows;
- Rojongan awal pikeun Networking TS.
D
Versi basa D 2.076 kalebet dina GCC.
Fortran
- Rojongan pinuh pikeun Asynchronous I / O;
- Dilaksanakeun argumen BACK pikeun MINLOC jeung MAXLOC;
- Dilaksanakeun fungsi FINDLOC sareng IS_CONTIGOUS;
- Sintaksis pikeun ngakses komponén wilangan kompléks geus dilaksanakeun: c%re jeung c%im;
- Dilaksanakeun sintaksis str%len jeung a% kind;
- Dilaksanakeun deskriptor C sareng lulugu ISO_Fortran_binding.h;
- Syarat santai pikeun hasil tina MAX sareng MIN fungsi nalika salah sahiji argumen nyaéta NaN;
- pilihan ditambahkeun -fdec-kaasup;
- Diréktif ditambahkeun BUILTIN.
libgccjit
- fitur ditambahkeun gcc_jit_context_add_driver_option.
nu lain
Loba arsitéktur- sarta parobahan OS-spésifik.
sumber: linux.org.ru