GCC 9.1


GCC 9.1

Pada 3 Mei, keluaran awam pertama versi kesembilan GCC telah berlangsung: GCC 9.1.
Ia mengandungi banyak penambahbaikan dan penambahan yang ketara berbanding dengan yang kelapan
versi.

Perubahan umum

Pilihan
Ciri terbina dalam baharu
Atribut baharu
Lain-lain

Banyak peningkatan penjanaan kod yang berkaitan dengan:

  • penjanaan binaan suis;
  • pengoptimuman antara prosedur;
  • pengoptimuman berdasarkan maklumat pemprofilan;
  • pengoptimuman pada peringkat pemasangan (LTO);

Juga format dalaman gcov kini ialah JSON, dan pilihan baharu --guna-warna-panas melibatkan mewarna garis kod berdasarkan kekerapan ia digunakan.

Bahasa

Kualiti dan kesempurnaan pelaksanaan OpenACC bahasa C, C++, dan Fortran terus bertambah baik.

Bahasa seperti C
  • Sokongan separa untuk OpenMP 5.0 telah dilaksanakan;
  • Fungsi tambahan __builtin_convertvector;
  • Ditambah amaran -Waddress-of-pack-member;
  • Penambahbaikan kepada beberapa amaran sedia ada;
  • Teks ralat apabila menghantar bilangan argumen yang salah kepada makro kini termasuk pengisytiharan makro itu sendiri;
  • Penambahbaikan kepada cadangan pembetulan kesilapan taip.
C
  • Sokong _Static_assert dengan satu hujah untuk -std=c2x (standard C masa hadapan);
  • Amaran baharu -Nilai-Wabsolut, yang menangkap jenis hujah yang salah untuk fungsi seperti abs().
C + +
  • Amaran baharu: -Wdeprecated-copy,
    -Winit-senarai-seumur hidup,
    -Pergerakan yang membosankan,
    -Wpessimizing-move,
    -Wclass-penukaran;
  • Kerja sedang dijalankan untuk melaksanakan ciri baharu daripada standard masa hadapan C++2a;
  • Bahagian hadapan kini menyimpan maklumat yang lebih tepat tentang beberapa elemen kod sumber, yang membolehkan anda memaparkan maklumat yang lebih terperinci dalam diagnostik;
  • Diagnostik yang dipertingkatkan untuk fungsi terlampau beban, pengendali binari, panggilan fungsi dan rentetan format;
  • Menambahkan pembetulan automatik yang disokong oleh beberapa persekitaran pembangunan untuk beberapa ralat popular (tanda kurungan hilang, ruang nama, kesilapan menaip, dsb.).
libstdc++
  • Pelaksanaan C++17 bukan lagi percubaan;
  • Ditambah algoritma selari, , , A tidak lagi memerlukan -lstdc++fs;
  • Sokongan percubaan yang lebih baik untuk C++2a ( , , std::bind_front, dsb.);
  • Sokongan untuk membuka aliran fail pada Windows yang laluannya mengandungi aksara bukan aksara;
  • Sokongan awal pada Windows;
  • Sokongan awal untuk Rangkaian TS.
D

Versi bahasa D 2.076 disertakan dalam GCC.

Fortran
  • Sokongan penuh untuk I/O tak segerak;
  • Melaksanakan hujah BACK untuk MINLOC dan MAXLOC;
  • Melaksanakan fungsi FINDLOC dan IS_CONTIGOUS;
  • Sintaks untuk mengakses komponen nombor kompleks telah dilaksanakan: c%re dan c%im;
  • Sintaks str%len dan a%kind dilaksanakan;
  • Deskriptor C yang dilaksanakan dan pengepala ISO_Fortran_binding.h;
  • Keperluan santai untuk hasil fungsi MAX dan MIN apabila salah satu argumen ialah NaN;
  • Pilihan tambahan -fdec-termasuk;
  • Arahan ditambah BUILTIN.
libgccjit

Lain-lain

Banyak perubahan seni bina dan khusus OS.

Sumber: linux.org.ru

Tambah komen