GCC .9.1.ред

рдореЗ рей рдорд╛, GCC рдХреЛ рдирд╡реМрдВ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рдкрд╣рд┐рд▓реЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдореЛрдЪрди рднрдпреЛ: GCC 3ред
рдпрд╕рд▓реЗ рдЖрдареМрдВрдХреЛ рддреБрд▓рдирд╛рдорд╛ рдзреЗрд░реИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рд░ рдердкрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ
рд╕рдВрд╕реНрдХрд░рдгред

рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди

рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ
  • рдЖрдХрд╛рд░ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрдиреЗ рдЖрджреЗрд╢рд╣рд░реВрд▓реЗ рдЕрдм рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди 64-рдмрд┐рдЯ рдорд╛рдирд╣рд░реВ рд░ рдкреНрд░рддреНрдпрдпрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ;
  • рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ -рдлреНрд▓рд╛рдЗрдн-рдкреНрдпрд╛рдЪрд┐рдЩ,рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рдирд╣рд░реВ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рдЬреБрди рд╕рдореНрднрд╛рд╡рд┐рдд рд░реВрдкрдорд╛ рдЧрддрд┐рд╢реАрд▓, рдХреЛрдб рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрдирдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реБрдиреНрдЫ;
  • рдХрдорд╛рдгреНрдб рд╢реЗрд▓рдорд╛ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди --completion рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ;
  • рдХрдореНрдкрд╛рдЗрд▓рд░ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕рд▓реЗ рдЕрдм рд▓рд╛рдЗрди рдирдореНрдмрд░рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ (-fno-diagnostics-show-line-numbers) рд░
    рдЬрд╛рдирдХрд╛рд░реА рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН (fno-рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕-рд╢реЛ-рд▓реЗрдмрд▓рд╣рд░реВ);
  • рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ -fdiagnostics-format=json JSON рдврд╛рдБрдЪрд╛рдорд╛ рдирд┐рджрд╛рди рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди;
  • рдкрдЩреНрдХреНрддрд┐рдмрджреНрдзрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ (-falign-рдХрд╛рд░реНрдпрд╣рд░реВ, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА) рдЕрдм рдкрдЩреНрдХреНрддрд┐рдмрджреНрдз рд╡рд┐рдХрд▓реНрдк рдХреЛ рдПрдХ рдЬреЛрдбреА рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ;
  • рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдлрд┐рд▓реНрдЯрд░ рдЧрд░реНрди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдердкрд┐рдпреЛ (-fprofile-filter-files, -fprofile-exclude-files), рдЬреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдХрд░рдг рд╣реЛ;
  • рдареЗрдЧрд╛рдирд╛ рд╕реЗрдирд┐рдЯрд╛рдЗрдЬрд░рд▓реЗ рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рдЪрд░рд╣рд░реВрдорд╛ рдЕрдорд╛рдиреНрдп рдкрд╣реБрдБрдЪрд╣рд░реВ рд╕рдорд╛рддреНрди рдЕрдм рдердк рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рдкрдЩреНрдХреНрддрд┐рдмрджреНрдзрддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ;
  • рдзреЗрд░реИ рдЙрддреНрдкрд╛рджрди рд╕реБрдзрд╛рд░рд╣рд░реВ -fopt-рдЬрд╛рдирдХрд╛рд░реА;
  • рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ -fsave-рдЕрдкреНрдЯрд┐рдорд╛рдЗрдЬреЗрд╕рди-рд░реЗрдХрд░реНрдб рдПрдХ рдлрд╛рдЗрд▓рдорд╛ рдЕрдиреБрдХреВрд▓рди рд░рд┐рдкреЛрд░реНрдЯ рдмрдЪрдд рдЧрд░реНрди;
  • рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ -рдлрд┐рдкрд╛-рд╕реНрдЯреНрдпрд╛рдХ-рдкрдЩреНрдХреНрддрд┐рдмрджреНрдзрддрд╛ ╨╕ -fipa-рд╕рдиреНрджрд░реНрдн-рдареЗрдЧрд╛рдирд╛.
рдирдпрд╛рдБ рдмрд┐рд▓реНрдЯ-рдЗрди рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ
рдирдпрд╛рдБ рд╡рд┐рд╢реЗрд╖рддрд╛
рдЕрдиреНрдп

рдпрд╕рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЕрд╕рдВрдЦреНрдп рдХреЛрдб рдЙрддреНрдкрд╛рджрди рд╕реБрдзрд╛рд░рд╣рд░реВ:

  • рд╕реНрд╡рд┐рдЪ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреАрдвреА;
  • рдЕрдиреНрддрд░-рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рди;
  • рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдЩ рдЬрд╛рдирдХрд╛рд░реАрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдХреВрд▓рди;
  • рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЪрд░рдг (LTO) рдорд╛ рдЕрдиреБрдХреВрд▓рди;

рд╕рд╛рдереИ gcov рдХреЛ рдЖрдиреНрддрд░рд┐рдХ рдврд╛рдБрдЪрд╛ рдЕрдм JSON, рд░ рдирдпрд╛рдБ рд╡рд┐рдХрд▓реНрдк рд╣реЛ --рдкреНрд░рдпреЛрдЧ-рддрд╛рддреЛрдкрди-рд░рдВрдЧрд╣рд░реВ рддрд┐рдиреАрд╣рд░реВ рдХрддрд┐ рдкрдЯрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рднрдиреНрдиреЗ рдЖрдзрд╛рд░рдорд╛ рдХреЛрдбрдХреЛ рд░рдВрдЧ рд░реЗрдЦрд╛рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

рднрд╛рд╖рд╛рд╣рд░реБ

рдЧреБрдгрд╕реНрддрд░ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдкреВрд░реНрдгрддрд╛ OpenACC рднрд╛рд╖рд╛рд╣рд░реВ C, C++, рд░ Fortran рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдЬрд╛рд░реА рдЫред

C-рдЬрд╕реНрддреЛ рднрд╛рд╖рд╛рд╣рд░реВ
  • OpenMP 5.0 рдХреЛ рд▓рд╛рдЧрд┐ рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ;
  • рдердкрд┐рдПрдХреЛ рдкреНрд░рдХрд╛рд░реНрдп __builtin_convertvector;
  • рдЪреЗрддрд╛рд╡рдиреА рдердкрд┐рдпреЛ -рдкреНрдпрд╛рдХреНрдб-рд╕рджрд╕реНрдпрдХреЛ рдареЗрдЧрд╛рдирд╛;
  • рд╡рд┐рджреНрдпрдорд╛рди рдЪреЗрддрд╛рд╡рдиреАрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рд╕реБрдзрд╛рд░рд╣рд░реВ;
  • рдореНрдпрд╛рдХреНрд░реЛрдорд╛ рддрд░реНрдХрд╣рд░реВрдХреЛ рдЧрд▓рдд рд╕рдВрдЦреНрдпрд╛ рдкрд╛рд╕ рдЧрд░реНрджрд╛ рддреНрд░реБрдЯрд┐рдХреЛ рдкрд╛рдард▓реЗ рдЕрдм рдореНрдпрд╛рдХреНрд░реЛрдХреЛ рдШреЛрд╖рдгрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ;
  • рдЯрд╛рдЗрдкреЛ рд╕реБрдзрд╛рд░ рд╕реБрдЭрд╛рд╡рд╣рд░реВрдорд╛ рд╕реБрдзрд╛рд░рд╣рд░реВред
C
  • -std=c2x (рднрд╡рд┐рд╖реНрдп C рдорд╛рдирдХ) рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рддрд░реНрдХрдХреЛ рд╕рд╛рде _Static_asser рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • рдирдпрд╛рдБ рдЪреЗрддрд╛рд╡рдиреА -рд╡рд╛рдмрд╕реЛрд▓реНрдпреБрдЯ-рдорд╛рди, рдЬрд╕рд▓реЗ abs() рдЬрд╕реНрддрд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЧрд▓рдд рддрд░реНрдХ рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рддреНрдЫред
рд╕реА ++
  • рдирдпрд╛рдБ рдЪреЗрддрд╛рд╡рдиреА: - рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд-рдкреНрд░рддрд┐рд▓рд┐рдкрд┐,
    -рд╡рд┐рдирд┐рдЯ-рд▓рд┐рд╕реНрдЯ-рд▓рд╛рдЗрдлрдЯрд╛рдЗрдо,
    - рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪрд╛рд▓,
    -Wpessimizing-рдЪрд╛рд▓,
    -Wclass-рд░реВрдкрд╛рдиреНрддрд░рдг;
  • рднрд╡рд┐рд╖реНрдпрдХреЛ рдорд╛рдкрджрдгреНрдбрдмрд╛рдЯ рдирдпрд╛рдБ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреЗ рдХрд╛рдо рднрдЗрд░рд╣реЗрдХреЛ рдЫ C++2a;
  • рдлреНрд░рдиреНрдЯрдПрдиреНрдбрд▓реЗ рдЕрдм рдзреЗрд░реИ рд╕реНрд░реЛрдд рдХреЛрдб рддрддреНрд╡рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рд╕рдЯреАрдХ рдЬрд╛рдирдХрд╛рд░реА рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдирд┐рджрд╛рдирдорд╛ рдердк рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ;
  • рдУрднрд░рд▓реЛрдб рдЧрд░рд┐рдПрдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ, рдмрд╛рдЗрдирд░реА рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ, рдкреНрд░рдХрд╛рд░реНрдп рдХрд▓рд╣рд░реВ, рд░ рдврд╛рдБрдЪрд╛ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдирд┐рджрд╛рди;
  • рдзреЗрд░реИ рд▓реЛрдХрдкреНрд░рд┐рдп рддреНрд░реБрдЯрд┐рд╣рд░реВ (рд╣рд░рд╛рдПрдХрд╛ рдХреЛрд╖реНрдардХрд╣рд░реВ, рдиреЗрдорд╕реНрдкреЗрд╕рд╣рд░реВ, рдЯрд╛рдЗрдкреЛрд╣рд░реВ, рдЖрджрд┐) рдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╣реА рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдгрджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рдорд╛рдзрд╛рдирд╣рд░реВ рдердкрд┐рдпреЛред
libstdc++
  • C++17 рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдм рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдЫреИрди;
  • рд╕рдорд╛рдирд╛рдиреНрддрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдердкрд┐рдпреЛ, , , рдП рдЕрдм рдЖрд╡рд╢реНрдпрдХ рдЫреИрди -lstdc++fs;
  • C++2a (рдХрд╛ рд▓рд╛рдЧрд┐ рд╕реБрдзрд╛рд░рд┐рдПрдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕рдорд░реНрдерди , , std::bind_front, etc.);
  • рд╡рд┐рдиреНрдбреЛрдЬрдорд╛ рдлрд╛рдЗрд▓ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рдЦреЛрд▓реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЬрд╕рдХреЛ рдкрдерд╣рд░реВрдорд╛ рдЧреИрд░-рдЪрд╛рд░ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдЫрдиреН;
  • рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдерди рд╡рд┐рдиреНрдбреЛрдЬ рдорд╛;
  • рдиреЗрдЯрд╡рд░реНрдХрд┐рдЩ TS рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд╕рдорд░реНрдердиред
D

D рднрд╛рд╖рд╛ рд╕рдВрд╕реНрдХрд░рдг 2.076 GCC рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдлреЛрд░реНрдЯреНрд░рд╛рди
  • рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ I/O рдХреЛ рд▓рд╛рдЧрд┐ рдкреВрд░реНрдг рд╕рдорд░реНрдерди;
  • MINLOC рд░ MAXLOC рдХреЛ рд▓рд╛рдЧрд┐ рд▓рд╛рдЧреВ рдмреНрдпрд╛рдХ рддрд░реНрдХ;
  • FINDLOC рд░ IS_CONTIGOUS рдХрд╛рд░реНрдпрд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛ;
  • рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрдХреЛ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ: c%re рд░ c%im;
  • рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ str%len рд░ a% рдкреНрд░рдХрд╛рд░;
  • рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ C рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рд░ ISO_Fortran_binding.h рд╣реЗрдбрд░;
  • MAX рд░ MIN рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдирддрд┐рдЬрд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЖрд░рд╛рдо рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрдм рддрд░реНрдХрд╣рд░реВ рдордзреНрдпреЗ рдПрдХ NaN рд╣реЛ;
  • рд╡рд┐рдХрд▓реНрдк рдердкрд┐рдпреЛ -fdec-рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреБрд╣реЛрд╕реН;
  • рдирд┐рд░реНрджреЗрд╢рди рдердкрд┐рдпреЛ рдмрд┐рд▓реНрдЯрд┐рди.
libgccjit

рдЕрдиреНрдп

рдзреЗрд░реИ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛- рд░ OS-рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВред

рд╕реНрд░реЛрдд: linux.org.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди