рдЬреАрд╕реАрд╕реА 9.1

3 рдореЗ рд░реЛрдЬреА, GCC рдЪреНрдпрд╛ рдирд╡рд╡реНрдпрд╛ рдЖрд╡реГрддреНрддреАрдЪреЗ рдкрд╣рд┐рд▓реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреНрд░рдХрд╛рд╢рди рдЭрд╛рд▓реЗ: GCC 9.1.
рддреНрдпрд╛рдд рдЖрдард╡реАрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд рдЕрдиреЗрдХ рд▓рдХреНрд╖рдгреАрдп рд╕реБрдзрд╛рд░рдгрд╛ рдЖрдгрд┐ рдЬреЛрдбрдгреА рдЖрд╣реЗрдд
рдЖрд╡реГрддреНрддреА

рд╕рд╛рдорд╛рдиреНрдп рдмрджрд▓

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

рдпрд╛рдЪреНрдпрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рдВрдЦреНрдп рдХреЛрдб рдЬрдирд░реЗрд╢рди рд╕реБрдзрд╛рд░рдгрд╛:

  • рд╕реНрд╡рд┐рдЪ рд░рдЪрдирд╛рдВрдЪреА рдирд┐рд░реНрдорд┐рддреА;
  • рдЖрдВрддрд░-рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди;
  • рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдорд╛рд╣рд┐рддреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди;
  • рдЕрд╕реЗрдВрдмреНрд▓реА рд╕реНрдЯреЗрдЬрд╡рд░ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди (LTO);

рддрд╕реЗрдЪ gcov рдЪреЗ рдЕрдВрддрд░реНрдЧрдд рд╕реНрд╡рд░реВрдк рдЖрддрд╛ JSON рдЖрдгрд┐ рдирд╡реАрди рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ --рд╡рд╛рдкрд░-рдЙрд╖реНрдгрддрд╛-рд░рдВрдЧ рдХреЛрдбрдЪреНрдпрд╛ рд░рдВрдЧреАрдд рдУрд│реА рдХрд┐рддреА рд╡реЗрд│рд╛ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╕рддрд╛рдд.

рднрд╛рд╖рд╛

рдЧреБрдгрд╡рддреНрддрд╛ рдЖрдгрд┐ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рдкреВрд░реНрдгрддрд╛ OpenACC C, C++ рдЖрдгрд┐ Fortran рдпрд╛ рднрд╛рд╖рд╛ рд╕реБрдзрд╛рд░рдд рдЖрд╣реЗрдд.

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

D рднрд╛рд╖рд╛ рдЖрд╡реГрддреНрддреА 2.076 GCC рдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.

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

рдЗрддрд░

рдЕрдиреЗрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░- рдЖрдгрд┐ OS-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрджрд▓.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛