GCC 9.1

ืื•ื™ืฃ ืžืื™ 3, ื“ืขืจ ืขืจืฉื˜ืขืจ ืขืคื ื˜ืœืขืš ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ ื ื™ื™ึทื ื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹GCC ืื™ื– ื’ืขื•ื•ืขืŸ: GCC 9.1.
ืขืก ื›ึผื•ืœืœ ืคื™ืœืข ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืื•ืŸ ืึทื“ื™ืฉืึทื ื– ืงืึทืžืคึผืขืจื“ ืฆื• ื“ื™ ืึทื›ื˜
ื•ื•ืขืจืกื™ืข.

ืึทืœื’ืขืžื™ื™ื ืข ืขื ื“ืขืจื•ื ื’ืขืŸ

ืึธืคึผืฆื™ืขืก
  • ืงืึทืžืึทื ื“ื– ื•ื•ืึธืก ืึธื ื ืขืžืขืŸ ื’ืจื™ื™ืก ืื™ืฆื˜ ืฉื˜ื™ืฆืŸ 64-ื‘ื™ืกืœ ื•ื•ืึทืœื•ืขืก ืื•ืŸ ืกืึทืคื™ืงืกื™ื– ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื’ืจื™ื™ืก;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึธืคึผืฆื™ืข -ืคืœื™ื•ื•-ืคึผืึทื˜ื˜ืฉื™ื ื’, ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ื•ื•ืึธืก ื–ืขื ืขืŸ ืคึผืึทื˜ืขื ื˜ืฉืึทืœื™ ื“ืขืกื˜ืจื•ืงื˜ื™ื•ื•ืข ืฆื• ื“ื™ื ืึทืžื™ืฉ ืงืึธื“ ืคืึทืจื‘ื™ื™ึทื˜;
  • ืฆื•ื’ืขื’ืขื‘ืŸ -- ืงืึทืžืคึผืœื™ืฉืึทืŸ ืึธืคึผืฆื™ืข ืฆื• ืฉื˜ื™ืฆืŸ ืึทื•ื˜ืึธ ืงืึทืžืคึผืœื™ืฉืึทืŸ ืื™ืŸ ื“ื™ ื‘ืึทืคึฟืขืœ ืฉืึธืœ;
  • ืงืึทืžืคึผื™ื™ืœืขืจ ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก ืื™ืฆื˜ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืฉื•ืจื” ื ื•ืžืขืจืŸ (-fno-diagnostics-show-line-numbers) ืื•ืŸ
    ื˜ื™ืคึผ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข (ืคื ืึธ-ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก-ื•ื•ื™ื™ึทื–ืŸ-ืœืึทื‘ืขืœืก);
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึธืคึผืฆื™ืข -fdiagnostics-format=json ืฆื• ืจืขื–ื•ืœื˜ืึทื˜ ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก ืื™ืŸ JSON ืคึฟืึธืจืžืึทื˜;
  • ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึทืœื™ื™ื ืžืึทื ื˜ (-falign-ืคื•ื ืงืฆื™ืขืก, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ) ืงืขื ืขืŸ ืื™ืฆื˜ ืึธื ื ืขืžืขืŸ ืึท ืคึผืึธืจ ืคื•ืŸ ืึทืœื™ื™ื ืžืึทื ื˜ ืึธืคึผืฆื™ืขืก;
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืคื™ืœื˜ืขืจื™ื ื’ ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ื˜ืขืงืขืก (-fprofile-filter-files, -fprofile-exclude-files), ื•ื•ืึธืก ื–ืขื ืขืŸ ื™ื ืกื˜ืจื•ืžืขื ื˜ืขื“ ื“ื•ืจืš ื“ื™ ืคึผืจืึธืคื™ืœืขืจ;
  • AddressSanitizer ืื™ืฆื˜ ื ื™ืฆื˜ ืžืขืจ ืกืึธืœื™ื“ ืึทืœื™ื™ื ืžืึทื ื˜ ืฆื• ื›ืึทืคึผืŸ ืคืึทืจืงืจื™ืคึผืœื˜ ืึทืงืกืขืก ืฆื• ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืื•ื™ืฃ ื“ืขื ืึธื ืœื™ื™ื’ืŸ;
  • ืกืš ืจืขื–ื•ืœื˜ืึทื˜ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ -ืคืึธืคื˜-ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึธืคึผืฆื™ืข -fsave-optimization-record ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ื“ื™ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ื‘ืึทืจื™ื›ื˜ ืฆื• ืึท ื˜ืขืงืข;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึธืคึผืฆื™ืข -ืคื™ืคึผืึท-ืกื˜ืึทืง-ืึทืœื™ื™ื ืžืึทื ื˜ ะธ -ืคื™ืคึผืึท-ืจืขืคืขืจืขื ืฅ-ืึทื“ืจืขืกืกืึทื‘ืœืข.
ื ื™ื• ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ
ื ื™ื™ึท ืึทื˜ืจื™ื‘ื™ื•ื˜
ืึทื ื“ืขืจืขืจ

ืคื™ืœืข ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืคื•ืŸ ืงืึธื“ ื“ื•ืจ ืฉื™ื™ึทื›ื•ืช ืฆื•:

  • ื“ื•ืจ ืคื•ืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ืงืึทื ืกื˜ืจืึทืงืฉืึทื ื–;
  • ื™ื ื˜ืขืจ-ืคึผืจืึทืกื™ื“ื–ืฉืขืจืึทืœ ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก;
  • ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืคึผืจืึธืคื™ืœื™ื ื’ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข;
  • ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืื™ืŸ ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ื‘ื™ื ืข (ืœื˜ืึธ);

ืื•ื™ืš ื“ื™ ื™ื ืขืจืœืขืš ืคึฟืึธืจืžืึทื˜ ืคื•ืŸ gcov ืื™ื– ืื™ืฆื˜ JSON ืื•ืŸ ื“ื™ ื ื™ื™ึทืข ืึธืคึผืฆื™ืข --ื ื•ืฆืŸ-ื”ืึธื˜ื ืขืกืก-ืคืืจื‘ืŸ ื™ื ื•ื•ืึทืœื•ื•ื– ืงืึทืœืขืจื™ื ื’ ืฉื•ืจื•ืช ืคื•ืŸ ืงืึธื“ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื•ื•ื™ ืึธืคื˜ ื–ื™ื™ ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜.

ืฉืคึผืจืึทื›ืŸ

ืงื•ื•ืึทืœื™ื˜ืขื˜ ืื•ืŸ ืงืึทืžืคึผืœื™ื˜ื ืึทืก ืคื•ืŸ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ OpenACC ื“ื™ ืฉืคึผืจืึทื›ืŸ C, C ++ ืื•ืŸ Fortran ืคืึธืจื–ืขืฆืŸ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ.

C-ื•ื•ื™ ืฉืคึผืจืึทื›ืŸ
  • ื˜ื™ื™ืœ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ OpenMP 5.0 ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ืจื™ืš __builtin_convertvector;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื•ื•ืืจืขื ื•ื ื’ -ื•ื•ืื“ืจืขืกืก-ืคื•ืŸ-ืคืืงื˜-ืžื™ื˜ื’ืœื™ื“ืขืจ;
  • ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืฆื• ืึท ื ื•ืžืขืจ ืคื•ืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื•ื•ืึธืจื ื™ื ื’ื–;
  • ื“ืขืจ ื˜ืขื•ืช ื˜ืขืงืกื˜ ื•ื•ืขืŸ ื’ื™ื™ื˜ ืคืืจื‘ื™ื™ ื“ื™ ืื•ืžืจืขื›ื˜ ื ื•ืžืขืจ ืคื•ืŸ ืึทืจื’ื•ืžืขื ื˜ืŸ ืฆื• ืึท ืžืึทืงืจืึธื• ืื™ืฆื˜ ื›ื•ืœืœ ื“ื™ ื“ืขืงืœืึทืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืžืึทืงืจืึธื• ื–ื™ืš;
  • ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืฆื• ื˜ื™ืคึผืึธ ืงืขืจืขืงืฉืึทืŸ ืคึฟื™ืจืœื™ื™ื’ืŸ.
C
  • ืฉื˜ื™ืฆืŸ _ืกื˜ืึทื˜ื™ืง_ืึทืกืขืจื˜ ืžื™ื˜ ืื™ื™ืŸ ืึทืจื’ื•ืžืขื ื˜ ืคึฟืึทืจ -ืกื˜ื“ = ืง2ืงืก (ืฆื•ืงื•ื ืคื˜ C ื ืึธืจืžืึทืœ);
  • ื ื™ื™ืข ื•ื•ืืจืขื ื•ื ื’ -ื•ื•ืึทื‘ืกืึธืœื•ื˜ืข-ื•ื•ืขืจื˜, ื•ื•ืึธืก ืงืึทื˜ืฉืึทื– ื“ื™ ืื•ืžืจืขื›ื˜ ืึทืจื’ื•ืžืขื ื˜ ื˜ื™ืคึผ ืคึฟืึทืจ ืคืึทื ื’ืงืฉืึทื ื– ื•ื•ื™ ืึทื‘ืก ().
C ++
  • ื ื™ื™ึทืข ื•ื•ืึธืจื ื™ื ื’ื–: - ื•ื“ืขืคึผืจืขืกืึทื˜ืขื“-ืงืึธืคึผื™,
    -ื•ื•ื™ื ื™ื˜-ืจืฉื™ืžื”-ืœืขื‘ืŸ,
    -ื•ื•ืจืขื“ืึทื ื“ืึทื ื˜-ืžืึทืš,
    -ื•ื•ืคึผืขืกื™ืžื™ื™ื–ื™ื ื’-ืžืึทืš,
    -Wclass-ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ;
  • ืึทืจื‘ืขื˜ ืื™ื– ืึทื ื“ืขืจื•ื•ื™ื™ ืฆื• ื™ื ืกื˜ืจื•ืžืขื ื˜ ื ื™ื™ึท ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ ื“ื™ ืฆื•ืงื•ื ืคึฟื˜ ื ืึธืจืžืึทืœ C++2ืึท;
  • ื“ื™ ืคืจืึธื ื˜ืขื ื“ ืื™ืฆื˜ ืกื˜ืึธืจื– ืžืขืจ ืคึผื™ื ื˜ืœืขืš ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืžืงื•ืจ ืงืึธื“ ืขืœืขืžืขื ื˜ืŸ, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืžืขืจ ื“ื™ื˜ื™ื™ืœื“ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืื™ืŸ ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก;
  • ื™ืžืคึผืจื•ื•ื•ื“ ื“ื™ืึทื’ื ืึธืกื˜ื™ืงืก ืคึฟืึทืจ ืึธื•ื•ื•ืขืจืœืึธื•ื“ื™ื“ ืคืึทื ื’ืงืฉืึทื ื–, ื‘ื™ื™ื ืขืจื™ ืึธืคึผืขืจื™ื™ื˜ืขืจื–, ืคื•ื ืงืฆื™ืข ืจื•ืคื˜ ืื•ืŸ ืคึฟืึธืจืžืึทื˜ ืกื˜ืจื™ื ื’ืก;
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืึธื˜ืึทืžืึทื˜ื™ืง ืคื™ืงืกื™ื–, ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ืขื˜ืœืขื›ืข ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ, ืคึฟืึทืจ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืคืึธืœืงืก ืขืจืจืึธืจืก (ืคืขืœื ื“ื™ืง ืงืœืึทืžืขืจืŸ, ื ืึธืžืขืŸ ืกืคึผื™ื™ืกืึทื–, ื˜ื™ืคึผืึธืก, ืืื–"ื• ื•).
libstdc++
  • ื“ื™ C ++17 ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื™ื– ื ื™ื˜ ืžืขืจ ื™ืงืกืคึผืขืจืžืขื ืึทืœ;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืคึผืึทืจืึทืœืขืœ ืึทืœื’ืขืจื™ื“ืึทืžื–, , , ื ื ื™ื˜ ืžืขืจ ืจื™ืงื•ื•ื™ื™ืขืจื– -ืœืกื˜ื“ืง ++ืคืก;
  • ื™ืžืคึผืจื•ื•ื•ื“ ื™ืงืกืคึผืขืจืžืขื ืึทืœ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ C ++2a ( , , ืกื˜ื“ :: ื‘ื™ื ื“_ืคืจืึธื ื˜, ืืื–"ื• ื•);
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืขืคืŸ ื˜ืขืงืข ืกื˜ืจื™ืžื– ืื•ื™ืฃ Windows ื•ื•ืขืžืขื ืก ืคึผืึทื˜ืก ืึทื ื˜ื”ืึทืœื˜ืŸ ื ื™ื˜-ื˜ืฉืึทืจ ืื•ืชื™ื•ืช;
  • ืขืจืฉื˜ ืฉื˜ื™ืฆืŸ ืื•ื™ืฃ Windows;
  • ืขืจืฉื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื ืขื˜ื•ื•ืึธืจืงื™ื ื’ TS.
D

ื“ื™ ืฉืคึผืจืึทืš ื•ื•ืขืจืกื™ืข 2.076 ืื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ GCC.

ืคืึธืจื˜ืจืึทืŸ
  • ื’ืึทื ืฅ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก I/O;
  • ื™ืžืคึผืœืขืžืขื ื˜ืขื“ BACK ืึทืจื’ื•ืžืขื ื˜ ืคึฟืึทืจ MINLOC ืื•ืŸ MAXLOC;
  • ื™ืžืคึผืœืึทืžืขื ืึทื“ FINDLOC ืื•ืŸ IS_CONTIGOUS ืคืึทื ื’ืงืฉืึทื ื–;
  • ื“ื™ ืกื™ื ื˜ืึทืงืก ืคึฟืึทืจ ืึทืงืกืขืก ื“ื™ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืคื•ืŸ ืงืึธืžืคึผืœืขืงืก ื ื•ืžืขืจืŸ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“: c% re ืื•ืŸ c% ื™ื;
  • ื™ืžืคึผืœืขืžืขื ื˜ืขื“ ืกื™ื ื˜ืึทืงืก ืกื˜ืจ% ืœืขืŸ ืื•ืŸ ืึท% ืžื™ืŸ;
  • ื™ืžืคึผืœืขืžืขื ื˜ืขื“ C ื“ื™ืกืงืจื™ืคึผื˜ืึธืจืก ืื•ืŸ ISO_Fortran_binding.h ื›ืขื“ืขืจ;
  • ื“ื™ ืจืขืงื•ื•ื™ืจืขืžืขื ืฅ ืคึฟืึทืจ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ MAX ืื•ืŸ MIN ืคืึทื ื’ืงืฉืึทื ื– ื–ืขื ืขืŸ ืจื™ืœืึทืงืกื˜ ื•ื•ืขืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืึทืจื’ื•ืžืขื ื˜ืŸ ืื™ื– NaN;
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึธืคึผืฆื™ืข -fdec-include;
  • ื“ื™ืจืขืงื˜ื™ื•ื• ืฆื•ื’ืขื’ืขื‘ืŸ ื’ืขื‘ื•ื™ื˜.
libgccjit

ืึทื ื“ืขืจืขืจ

ืคื™ืœืข ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ- ืื•ืŸ ืึทืก-ืกืคึผืขืฆื™ืคื™ืฉ ืขื ื“ืขืจื•ื ื’ืขืŸ.

ืžืงื•ืจ: linux.org.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’