GCC 9.1


GCC 9.1

Pada tanggal 3 Mei, rilis publik pertama dari GCC versi kesembilan berlangsung: GCC 9.1.
Ini berisi banyak perbaikan dan penambahan yang signifikan dibandingkan dengan yang kedelapan
Versi: kapan.

Perubahan umum

Pilihan
Fitur bawaan baru
Atribut baru
Lain

Banyak perbaikan pembuatan kode yang terkait dengan:

  • pembuatan konstruksi saklar;
  • optimasi antar-prosedural;
  • optimasi berdasarkan informasi profil;
  • optimalisasi pada tahap perakitan (LTO);

Format internal gcov juga sekarang menjadi JSON, dan opsi baru --gunakan-warna-panas melibatkan pewarnaan baris kode berdasarkan seberapa sering digunakan.

Bahasa

Kualitas dan kelengkapan pelaksanaan Buka ACC bahasa C, C++, dan Fortran terus mengalami peningkatan.

Bahasa mirip C
  • Dukungan parsial untuk OpenMP 5.0 telah diterapkan;
  • Fitur tambahan __builtin_convertvector;
  • Peringatan tambahan -Alamat-anggota-yang-dikemas;
  • Perbaikan terhadap sejumlah peringatan yang ada;
  • Teks kesalahan saat meneruskan jumlah argumen yang salah ke makro kini menyertakan deklarasi makro itu sendiri;
  • Perbaikan pada saran koreksi kesalahan ketik.
C
  • Mendukung _Static_assert dengan satu argumen untuk -std=c2x (standar C masa depan);
  • Peringatan baru -Nilai mutlak, yang menangkap tipe argumen yang salah untuk fungsi seperti abs().
C + +
  • Peringatan baru: -Wusang-salinan,
    -Winit-daftar-seumur hidup,
    -Gerakan yang berlebihan,
    -Wessimizing-bergerak,
    -Konversi kelas W;
  • Pekerjaan sedang dilakukan untuk mengimplementasikan fitur-fitur baru dari standar masa depan C++2a;
  • Frontend sekarang menyimpan informasi yang lebih akurat tentang sejumlah elemen kode sumber, yang memungkinkan Anda menampilkan informasi lebih rinci dalam diagnostik;
  • Peningkatan diagnostik untuk fungsi yang kelebihan beban, operator biner, pemanggilan fungsi, dan string format;
  • Menambahkan perbaikan otomatis yang didukung oleh beberapa lingkungan pengembangan untuk sejumlah kesalahan populer (tanda kurung hilang, namespace, kesalahan ketik, dll.).
libstdc++
  • Implementasi C++17 tidak lagi bersifat eksperimental;
  • Menambahkan algoritma paralel, , , A tidak lagi membutuhkan -lstdc++fs;
  • Peningkatan dukungan eksperimental untuk C++2a ( , , std::bind_front, dll.);
  • Dukungan untuk membuka aliran file di Windows yang jalurnya berisi karakter non-char;
  • Dukungan awal di Windows;
  • Dukungan awal untuk Jaringan TS.
D

Bahasa D versi 2.076 disertakan dalam GCC.

Fortran
  • Dukungan penuh untuk I/O asinkron;
  • Argumen BACK yang diterapkan untuk MINLOC dan MAXLOC;
  • Mengimplementasikan fungsi FINDLOC dan IS_CONTIGOUS;
  • Sintaks untuk mengakses komponen bilangan kompleks telah diterapkan: c%re dan c%im;
  • Sintaks yang diterapkan str%len dan a%kind;
  • Deskriptor C yang diterapkan dan header ISO_Fortran_binding.h;
  • Persyaratan yang dilonggarkan untuk hasil fungsi MAX dan MIN jika salah satu argumennya adalah NaN;
  • Opsi yang ditambahkan -fdec-termasuk;
  • Petunjuk ditambahkan DIBANGUN.
libgccjit

Lain

Banyak perubahan khusus arsitektur dan OS.

Sumber: linux.org.ru

Tambah komentar