GCC 9.1


GCC 9.1

Mayın 3-də GCC-nin doqquzuncu versiyasının ilk ictimai buraxılışı baş tutdu: GCC 9.1.
Səkkizinci ilə müqayisədə çoxlu əhəmiyyətli təkmilləşdirmələr və əlavələr ehtiva edir
versiya.

Ümumi dəyişikliklər

Seçimlər
Yeni daxili xüsusiyyətlər
Yeni atribut
Digər

Aşağıdakılarla əlaqəli çoxsaylı kod yaratmaq təkmilləşdirmələri:

  • keçid konstruksiyalarının yaradılması;
  • prosedurlararası optimallaşdırmalar;
  • profilləşdirmə məlumatı əsasında optimallaşdırma;
  • montaj mərhələsində optimallaşdırma (LTO);

Həmçinin gcov-un daxili formatı indi JSON və yeni seçimdir --istilik-rənglərdən istifadə edin kod xətlərinin nə qədər tez-tez istifadə edildiyinə görə rənglənməsini nəzərdə tutur.

Dillər

Keyfiyyət və icranın tamlığı OpenACC C, C++ və Fortran dilləri təkmilləşməyə davam edir.

C kimi dillər
  • OpenMP 5.0 üçün qismən dəstək həyata keçirilib;
  • Əlavə edilmiş xüsusiyyət __quraşdırılmış_konvertor;
  • Əlavə xəbərdarlıq -Address-of-dolu-üzv;
  • Bir sıra mövcud xəbərdarlıqların təkmilləşdirilməsi;
  • Arqumentlərin yanlış sayını makroya ötürərkən xəta mətni indi makronun özünün elanını ehtiva edir;
  • Yazı xətasına düzəliş təklifləri üçün təkmilləşdirmələr.
C
  • -std=c2x (gələcək C standartı) üçün bir arqumentlə _Static_assert-i dəstəkləyin;
  • Yeni xəbərdarlıq -Mütləq dəyər, abs() kimi funksiyalar üçün səhv arqument tipini tutur.
C + +
  • Yeni xəbərdarlıqlar: -W köhnəlmiş-nüsxə,
    -Winit-list-ömür boyu,
    - Gərəksiz hərəkət,
    -Wpessizing-hərəkət,
    -Wclass-çevirmə;
  • Gələcək standartdan yeni funksiyaların tətbiqi istiqamətində işlər aparılır C++ 2a;
  • Frontend indi bir sıra mənbə kodu elementləri haqqında daha dəqiq məlumatları saxlayır ki, bu da diaqnostikada daha ətraflı məlumatı göstərməyə imkan verir;
  • Həddindən artıq yüklənmiş funksiyalar, ikili operatorlar, funksiya çağırışları və format sətirləri üçün təkmilləşdirilmiş diaqnostika;
  • Bir sıra məşhur səhvlər üçün bəzi inkişaf mühitləri tərəfindən dəstəklənən avtomatik düzəlişlər əlavə edildi (çatışmayan mötərizələr, ad boşluqları, yazı xətləri və s.).
libstdc++
  • C++ 17 tətbiqi artıq eksperimental deyil;
  • Əlavə edilmiş paralel alqoritmlər, , , A artıq -lstdc++fs tələb etmir;
  • C++2a üçün təkmilləşdirilmiş eksperimental dəstək ( , , std::bind_front və s.);
  • Yollarında simvol olmayan simvollar olan Windows-da fayl axınlarının açılması üçün dəstək;
  • İlkin dəstək Windows-da;
  • Networking TS üçün ilkin dəstək.
D

D dili versiyası 2.076 GCC-ə daxil edilmişdir.

Fortran
  • Asinxron I/O üçün tam dəstək;
  • MINLOC və MAXLOC üçün BACK arqumenti tətbiq edildi;
  • FINDLOC və IS_CONTIGOUS funksiyalarını həyata keçirdi;
  • Kompleks ədədlərin komponentlərinə daxil olmaq üçün sintaksis həyata keçirilib: c%re və c%im;
  • Həyata keçirilmiş sintaksis str%len və a%növ;
  • Tətbiq edilmiş C deskriptorları və ISO_Fortran_binding.h başlığı;
  • Arqumentlərdən biri NaN olduqda MAX və MIN funksiyalarının nəticəsi üçün yüngülləşdirilmiş tələblər;
  • Əlavə edilmiş seçim -fdec-daxildir;
  • Direktiv əlavə edildi QURULMUŞ.
libgccjit

Digər

Bir çox arxitektura və ƏS-ə xas dəyişikliklər.

Mənbə: linux.org.ru

Добавить комментарий