Π‘Π»Π΅Π΄ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° LLVM 13.0 - GCC-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ (ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ Π½Π° ΠΊΠΎΠ΄), ΠΊΠΎΠΉΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π² ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ Π±ΠΈΡΠΊΠΎΠ΄ Π½Π° RISC-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΠΎΡ Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ). ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°.
ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Clang 13.0:
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΈ ΠΎΠΏΠ°ΡΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ (ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π² ΡΠ°ΠΌΠΈΡ ΠΊΡΠ°ΠΉ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΠ°ΡΠ½Π° ΡΠ΅ΠΊΡΡΡΠΈΡ, Π°ΠΊΠΎ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ° ΡΠ°ΠΌΠ°). ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΈ ΠΎΠΏΠ°ΡΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΎΡ Π°ΡΡΠΈΠ±ΡΡΠ° "[[clang::musttail]]" Π² C++ ΠΈ "__attribute__((musttail))" Π² C, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ "return". Π€ΡΠ½ΠΊΡΠΈΡΡΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π°ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π· Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ Π² ΠΏΠ»ΠΎΡΠΊΠ° ΠΈΡΠ΅ΡΠ°ΡΠΈΡ, Π·Π° Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠ΅ΠΊΠ°.
- "using" Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈΡΠ΅ ΠΈ clang ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈ Π² ΡΡΠΈΠ» C++11, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠ° "[[]]".
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠ»Π°Π³ΡΡ β-Wreserved-identifierβ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΊΠΎΠ΄.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΠ»Π°Π³ΠΎΠ²Π΅ β-Wunused-but-set-parameterβ ΠΈ β-Wunused-but-set-variableβ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π°ΠΊΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π΅ Π·Π°Π΄Π°Π΄Π΅Π½, Π½ΠΎ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠ»Π°Π³ "-Wnull-pointer-subtraction" Π·Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π°ΠΊΠΎ ΠΊΠΎΠ΄ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ²Π΅Π΄Π΅ Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½ΡΠ»Π΅Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π» Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΈΠ·Π²Π°ΠΆΠ΄Π°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠ»Π°Π³ΡΡ "-fstack-usage", Π·Π° Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΊΠΎΠ΄ΠΎΠ² ΡΠ°ΠΉΠ» Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ".su" ΡΠ°ΠΉΠ», ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΡΠ΅ΠΊΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΠΌΠΊΠΈ Π·Π° Π²ΡΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΡ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ».
- ΠΡΠΌ ΡΡΠ°ΡΠΈΡΠ½ΠΈΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΡΠΈΠΏ ΠΈΠ·Ρ ΠΎΠ΄ - βsarif-htmlβ, ΠΊΠΎΠΉΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΡΠ΅ΡΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² HTML ΠΈ Sarif ΡΠΎΡΠΌΠ°ΡΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° allocClassWithName. ΠΠΎΠ³Π°ΡΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° β-analyzer-display-progressβ, ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Π²ΡΡΠΊΠ° ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Π»Π΅ΡΠ° (alpha.cplusplus.SmartPtr) Π΅ ΠΏΠΎΡΡΠΈ Π³ΠΎΡΠΎΠ².
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° OpenCL, ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ cl_khr_integer_dot_product, cl_khr_extended_bit_ops, __cl_clang_bitfields ΠΈ __cl_clang_non_portable_kernel_param_types. ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° OpenCL 3.0 ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ. ΠΠ° C ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° OpenCL 1.2 ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π½Π΅ Π΅ ΠΈΠ·Π±ΡΠ°Π½Π° Π΄ΡΡΠ³Π° Π²Π΅ΡΡΠΈΡ. ΠΠ° C++ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ β.clcppβ.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ Π·Π° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΠΈΠΊΡΠ» (β#pragma omp unrolβ ΠΈ β#pragma omp tileβ), Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π° OpenMP 5.1.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΠΎΠΏΡΠΈΠΈ ΠΊΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π·Π° clang-format: SpacesInLineCommentPrefix Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΈ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅, IndentAccessModifiers, LambdaBodyIndentation ΠΈ PPIndentWidth Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈ, Π»Π°ΠΌΠ±Π΄Π° ΠΈΠ·ΡΠ°Π·ΠΈ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ Π½Π° ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°. Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π±ΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (SortIncludes). ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° JSON ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΠΎΠ»ΡΠΌΠ° ΡΠ°ΡΡ ΠΎΡ Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ linter clang-tidy.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π² LLVM 13.0:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΡΠ° β-ehcontguardβ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° CET (Windows Control-flow Enforcement Technology) Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΉΡΠΈ, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΊΡΠΌ Π²ΡΡΡΠ°Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ (ROP) Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
- ΠΡΠΎΠ΅ΠΊΡΡΡ debuginfo-test Π΅ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ Π½Π° cross-project-tests ΠΈ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° ΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π° Π΄ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ.
- Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅Π΄Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, Π° Π΄ΡΡΠ³Π°ΡΠ° Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
- Π Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° AArch64 ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡΡΠ° Armv9-A RME (ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π°Π»Π½ΠΎΡΡ) ΠΈ SME (ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ° ΠΌΠ°ΡΡΠΈΡΠ°) Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½Π° Π² Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠ°.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ISA V68/HVX Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Hexagon.
- ΠΠ΅ΠΊΠ΅Π½Π΄ΡΡ x86 ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° AMD Zen 3 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° GFX1013 RDNA2 APU ΠΊΡΠΌ Π±Π΅ΠΊΠ΅Π½Π΄Π° Π½Π° AMDGPU.
- Libc++ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΠΏΡΠΈΠ»Π°Π³Π° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠΈΡΠ΅ C++20 ΠΈ C++2b, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° βconceptsβ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° std::filesystem Π·Π° Π±Π°Π·ΠΈΡΠ°Π½Π°ΡΠ° Π½Π° MinGW Windows ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΠ°Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ , ΠΈ ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ LIBCXX_ENABLE_INCOMPLETE_FEATURES Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ Π½Π΅Π½Π°ΠΏΡΠ»Π½ΠΎ Π²Π½Π΅Π΄ΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° LLD Π»ΠΈΠ½ΠΊΠ΅ΡΠ° ΡΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Big-endian Aarch64, Π° Π±Π΅ΠΊΠ΅Π½Π΄ΡΡ Mach-O Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Glibc Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° LLD.
- ΠΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° llvm-mca (Machine Code Analyzer) Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΡΠ΅Π΄ (ΠΏΠΎΡΠ΅Π΄Π΅Π½ ΡΡΠΏΠ΅ΡΡΠΊΠ°Π»Π°ΡΠ΅Π½ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ), ΠΊΠ°ΡΠΎ ARM Cortex-A55.
- ΠΠ΅Π±ΡΠ³Π΅ΡΡΡ LLDB Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° AArch64 ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Π»Π΅ΡΠ°, MTE (MemTag, ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°) ΠΈ SVE ΡΠ΅Π³ΠΈΡΡΡΠΈ. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΡΠ²ΡΡΠ·Π²Π°ΡΠ΅ ΡΠ°Π³ΠΎΠ²Π΅ ΠΊΡΠΌ Π²ΡΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΡΠ°Π³.
- ΠΠ΅Π±ΡΠ³Π΅ΡΡΡ LLDB ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π·Π° Π΅Π·ΠΈΠΊΠ° Fortran - Flang ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ Π°ΡΠ΅ΠΌΠ±Π»ΠΈ, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru