GCC 9.1


GCC 9.1

3 Mayıs'ta GCC'nin dokuzuncu versiyonunun ilk halka açık sürümü gerçekleşti: GCC 9.1.
Sekizinciye kıyasla birçok önemli iyileştirme ve ekleme içeriyor
sürüm.

Genel değişiklikler

Seçenekler
Yeni yerleşik özellikler
Yeni özellik
Diğer

Aşağıdakilerle ilgili çok sayıda kod oluşturma iyileştirmesi:

  • anahtar yapılarının oluşturulması;
  • prosedürler arası optimizasyonlar;
  • profil oluşturma bilgilerine dayalı optimizasyon;
  • montaj aşamasında optimizasyon (LTO);

Ayrıca gcov'un dahili formatı artık JSON'dur ve yeni seçenek --sıcaklık-renklerini kullanın ne sıklıkla kullanıldıklarına bağlı olarak kod satırlarının renklendirilmesini içerir.

Diller

Uygulamanın kalitesi ve eksiksizliği ACC'yi aç C, C++ ve Fortran dilleri gelişmeye devam ediyor.

C benzeri diller
  • OpenMP 5.0 için kısmi destek uygulandı;
  • Eklenen işlev __builtin_convertvector;
  • Uyarı eklendi -Paketlenmiş üyenin adresi;
  • Bir dizi mevcut uyarıda iyileştirmeler yapıldı;
  • Bir makroya yanlış sayıda bağımsız değişken aktarıldığında ortaya çıkan hata metni artık makronun kendisinin bildirimini de içeriyor;
  • Yazım hatası düzeltme önerilerinde iyileştirmeler.
C
  • -std=c2x (gelecekteki C standardı) için tek bağımsız değişkenle _Static_assert'i destekleyin;
  • Yeni uyarı -Wmutlak değerabs() gibi işlevler için yanlış argüman türünü yakalayan.
C + +
  • Yeni uyarılar: -Wkullanımdan kaldırılmış kopya,
    -Winit-listesi-ömür boyu,
    -Gereksiz hareket,
    -Wpessimizing-hareket,
    -Wclass dönüşümü;
  • Gelecekteki standarttan yeni özelliklerin uygulanması için çalışmalar devam ediyor C++2a;
  • Ön uç artık bir dizi kaynak kodu öğesi hakkında daha doğru bilgileri saklıyor ve bu da tanılamada daha ayrıntılı bilgi görüntülemenize olanak tanıyor;
  • Aşırı yüklenmiş işlevler, ikili operatörler, işlev çağrıları ve biçim dizeleri için geliştirilmiş tanılama;
  • Bir dizi popüler hata (eksik parantez, ad alanları, yazım hataları vb.) için bazı geliştirme ortamları tarafından desteklenen otomatik düzeltmeler eklendi.
libstdc ++
  • C++17 uygulaması artık deneysel değil;
  • Paralel algoritmalar eklendi, , , A artık -lstdc++fs gerektirmiyor;
  • C++2a için geliştirilmiş deneysel destek ( , , std::bind_front, vb.);
  • Yolları karakter olmayan karakterler içeren Windows'ta dosya akışlarını açma desteği;
  • İlk destek Windows'ta;
  • Networking TS için ilk destek.
D

D dili sürümü 2.076 GCC'ye dahildir.

Fortran
  • Eşzamansız G/Ç için tam destek;
  • MINLOC ve MAXLOC için BACK argümanı uygulandı;
  • FINDLOC ve IS_CONTIGOUS işlevleri uygulandı;
  • Karmaşık sayıların bileşenlerine erişim için kullanılan sözdizimi uygulanmıştır: c%re ve c%im;
  • str%len ve a%kind söz dizimi uygulandı;
  • C tanımlayıcıları ve ISO_Fortran_binding.h başlığı uygulandı;
  • Bağımsız değişkenlerden biri NaN olduğunda MAX ve MIN işlevlerinin sonucuna ilişkin gereksinimler gevşetildi;
  • Seçenek eklendi -fdec-include;
  • Yönerge eklendi İNŞAAT.
libgccjit

Diğer

Mimariye ve işletim sistemine özgü birçok değişiklik.

Kaynak: linux.org.ru

Yorum ekle