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

3 рдордИ рдХреЛ, GCC рдХреЗ рдиреМрд╡реЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкрд╣рд▓реА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░рд┐рд▓реАрдЬрд╝ рд╣реБрдИ: GCC 9.1ред
рдЗрд╕рдореЗрдВ рдЖрдард╡реЗрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рдФрд░ рдкрд░рд┐рд╡рд░реНрдзрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
рд╕рдВрд╕реНрдХрд░рдгред

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

рд╡рд┐рдХрд▓реНрдк
рдирдИ рдЕрдВрддрд░реНрдирд┐рд░реНрдорд┐рдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ
рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛
рдЕрдиреНрдп

рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреЗрдХ рдХреЛрдб рдЬрдирд░реЗрд╢рди рд╕реБрдзрд╛рд░:

  • рд╕реНрд╡рд┐рдЪ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг;
  • рдЕрдВрддрд░-рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЕрдиреБрдХреВрд▓рди;
  • рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓рд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрдХреВрд▓рди;
  • рдЕрд╕реЗрдВрдмрд▓реА рдЪрд░рдг рдореЗрдВ рдЕрдиреБрдХреВрд▓рди (рдПрд▓рдЯреАрдУ);

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ gcov рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рд╛рд░реВрдк рдЕрдм JSON рд╣реИ, рдФрд░ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ --рдЙрдкрдпреЛрдЧ-рдЧрд░реНрдореА-рд░рдВрдЧ рдЗрд╕рдореЗрдВ рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░ рд░рдВрдЧрдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдХрд┐рддрдиреА рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рднрд╛рд╖рд╛рдПрдБ

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдкреВрд░реНрдгрддрд╛ рдУрдкрдирдПрд╕реАрд╕реА C, C++ рдФрд░ рдлреЛрд░рдЯреНрд░рд╛рди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдЬрд╛рд░реА рд╣реИред

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

рдбреА рднрд╛рд╖рд╛ рд╕рдВрд╕реНрдХрд░рдг 2.076 рдЬреАрд╕реАрд╕реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдлреЛрд░рдЯреНрд░рд╛рди
  • рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ I/O рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди;
  • MINLOC рдФрд░ MAXLOC рдХреЗ рд▓рд┐рдП рдмреИрдХ рддрд░реНрдХ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛;
  • FINDLOC рдФрд░ IS_CONTIGOUS рдлрд╝рдВрдХреНрд╢рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЧрдП;
  • рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдШрдЯрдХреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: c%re рдФрд░ c%im;
  • рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ str%len рдФрд░ a%kind;
  • рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╕реА рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдФрд░ рдЖрдИрдПрд╕рдУ_рдлреЛрд░рдЯреНрд░рд╛рди_рдмрд╛рдЗрдВрдбрд┐рдВрдЧ.рдПрдЪ рд╣реЗрдбрд░;
  • рдЬрдм рдХреЛрдИ рдПрдХ рддрд░реНрдХ NaN рд╣реЛ рддреЛ MAX рдФрд░ MIN рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рдвреАрд▓ рджреА рдЧрдИ;
  • рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ -fdec-include;
  • рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд.
libgccgit

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

рдХрдИ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░- рдФрд░ рдУрдПрд╕-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╡рд░реНрддрдиред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ