GCC 9.1

На 3 ΠΌΠ°ΠΉ сС ΡΡŠΡΡ‚ΠΎΡ ΠΏΡŠΡ€Π²ΠΎΡ‚ΠΎ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π΄Π΅Π²Π΅Ρ‚Π°Ρ‚Π° вСрсия Π½Π° GCC: GCC 9.1.
Вя ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° мноТСство ΡΡŠΡ‰Π΅ΡΡ‚Π²Π΅Π½ΠΈ подобрСния ΠΈ добавяния Π² сравнСниС с осмата
вСрсия.

ΠžΠ±Ρ‰ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ

ΠžΠΏΡ†ΠΈΠΈ
  • ΠšΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π²Π΅Ρ‡Π΅ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ 64-Π±ΠΈΡ‚ΠΎΠ²ΠΈ стойности ΠΈ суфикси Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π°;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията -flive-patching, Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»Π½ΠΈ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π°Ρ‚Π° замяна Π½Π° ΠΊΠΎΠ΄;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията β€”completion Π·Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ допълванС Π² командния Ρ€Π΅Π΄;
  • Диагностиката Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Π²Π΅Ρ‡Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ (-fno-diagnostics-show-line-numbers) ΠΈ
    информация Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ (fno-diagnostics-show-labels);
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията -fdiagnostics-format=json Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° диагностикитС във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON;
  • ΠžΠΏΡ†ΠΈΠΈ Π·Π° ΡƒΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° подравняванСто (-falign-functions, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚ Π΄Π²ΠΎΠΉΠΊΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π·Π° подравняванС;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΎΠΏΡ†ΠΈΠΈ Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° списъка с Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (-fprofile-filter-files, -fprofile-exclude-files), ΠΊΠΎΠΈΡ‚ΠΎ са ΠΏΠΎΠ΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° инструмСнтиранС ΠΎΡ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°;
  • AddressSanitizer Π²Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎ подравняванС Π·Π° улавянС Π½Π° Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΈ обращСния към ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π² стСка;
  • ΠœΠ½ΠΎΠ³ΠΎΠ±Ρ€ΠΎΠΉΠ½ΠΈ подобрСния Π² ΠΈΠ·Π²ΠΎΠ΄Π° -fopt-info;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията -fsave-optimization-record Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Ρ„Π°ΠΉΠ»;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията -fipa-stack-alignment ΠΈ -fipa-reference-addressable.
Нови Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
Нов Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚
Π”Ρ€ΡƒΠ³ΠΈ

ΠœΠ½ΠΎΠ³ΠΎΠ±Ρ€ΠΎΠΉΠ½ΠΈ подобрСния Π² Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с:

  • Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° конструкции switch;
  • ΠΌΠ΅ΠΆΠ΄ΡƒΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ;
  • оптимизация, основана Π½Π° информация Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ;
  • оптимизация Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° компилация (LTO);

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ gcov Π²Π΅Ρ‡Π΅ Π΅ JSON, Π° Π½ΠΎΠ²Π°Ρ‚Π° опция β€”use-hotness-colors Π²ΠΊΠ»ΡŽΡ‡Π²Π° оцвСтяванС Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π² зависимост ΠΎΡ‚ чСстотата Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.

Π•Π·ΠΈΡ†ΠΈ

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎΡ‚ΠΎ ΠΈ ΠΏΡŠΠ»Π½ΠΎΡ‚Π°Ρ‚Π° Π½Π° рСализацията Π½Π° OpenACC Π² Π΅Π·ΠΈΡ†ΠΈΡ‚Π΅ C, C++ ΠΈ Fortran ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Π΄Π° сС подобрява.

Π‘-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ частична ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° OpenMP 5.0;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ функция __builtin_convertvector;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ -Waddress-of-packed-member;
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΡ Π² Ρ€Π΅Π΄ΠΈΡ†Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ прСдупрСТдСния;
  • Π’Π΅ΠΊΡΡ‚ΡŠΡ‚ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° макроса сСга Π²ΠΊΠ»ΡŽΡ‡Π²Π° самото ΠΌΡƒ обявлСниС;
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΡ Π² прСдлоТСнията Π·Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ° Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ.
C
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° _Static_assert с Π΅Π΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π·Π° -std=c2x (Π±ΡŠΠ΄Π΅Ρ‰ стандарт C);
  • Новo ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ -Wabsolute-value, ΠΊΠΎΠΉΡ‚ΠΎ улавя Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½ Ρ‚ΠΈΠΏ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ abs().
C++
  • Нови прСдупрСТдСния: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Π Π°Π±ΠΎΡ‚ΠΈ сС ΠΏΠΎ рСализацията Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π±ΡŠΠ΄Π΅Ρ‰ΠΈΡ стандарт C++ 2a;
  • Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ΡŠΡ‚ сСга Π·Π°ΠΏΠ°Π·Π²Π° ΠΏΠΎ-Ρ‚ΠΎΡ‡Π½Π° информация Π·Π° Ρ€Π΅Π΄ΠΈΡ†Π° Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ изходния ΠΊΠΎΠ΄, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° информация Π² диагностикитС;
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ Π΅ диагностичният инструмСнтариум Π·Π° ΠΏΡ€Π΅Ρ‚ΠΎΠ²Π°Ρ€Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π±ΠΈΠ½Π°Ρ€Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ, извиквания Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΈ стринговС;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ ΠΎΡ‚ някои срСди Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π·Π° Ρ€Π΅Π΄ΠΈΡ†Π° популярни Π³Ρ€Π΅ΡˆΠΊΠΈ (липсващи скоби, пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π°, Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΡ€ΠΈ писанС ΠΈ Ρ‚.Π½.).
libstdc++
  • РСализацията Π½Π° C++17 Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ СкспСримСнтална;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ, , , Π° Π²Π΅Ρ‡Π΅ Π½Π΅ изисква -lstdc++fs;
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° Π΅ СкспСримСнталната ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° C++ 2a (, , std::bind_front ΠΈ Ρ‚.Π½.);
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° отварянС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ Π² Windows с ΠΏΡŠΡ‚ΠΈΡ‰Π°, ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ΠΈ символи извън char;
  • Начална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π² Windows;
  • Начална ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Networking TS.
D

Π•Π·ΠΈΠΊΡŠΡ‚ D вСрсия 2.076 Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² GCC.

Fortran
  • Пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° асинхронСн Π²Ρ…ΠΎΠ΄/ΠΈΠ·Ρ…ΠΎΠ΄;
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ BACK Π·Π° MINLOC ΠΈ MAXLOC;
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ FINDLOC ΠΈ IS_CONTIGUOUS;
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ синтаксис Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° комплСксни числа: c%re ΠΈ c%im;
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ синтаксис str%len ΠΈ a%kind;
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са дСскриптори C ΠΈ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ ISO_Fortran_binding.h;
  • ОслабСни са изискванията Π·Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ MAX ΠΈ MIN, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΅ NaN;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията -fdec-include;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° BUILTIN.
libgccjit

Π”Ρ€ΡƒΠ³ΠΈ

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΈ ΠΈ ОБ-спСцифични ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster