ΠΠΎ ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠΈ ΡΠ°Π·Π²ΠΎΡ, Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ LLVM 13.0 - ΠΊΠΎΠΌΠΏΠ»Π΅Ρ Π°Π»Π°ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π΅Π½ ΡΠΎ GCC (ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠΈ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΈ Π½Π° ΠΊΠΎΠ΄) ΠΊΠΎΡ Π³ΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π²ΠΎ ΡΡΠ΅Π΄Π΅Π½ Π±ΠΈΡΠΊΠΎΠ΄ Π½Π° Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ»ΠΈΡΠ½ΠΈ Π½Π° RISC (Π²ΠΈΡΡΡΠ΅Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ ΡΠΎ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΠ²ΠΎΠ°). ΠΠ΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° JIT ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ Π²ΠΎ ΠΌΠ°ΡΠΈΠ½ΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°.
ΠΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ° Π²ΠΎ Clang 13.0:
- Π‘ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° (ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ ΠΏΠΎΡΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π½Π° ΡΠ°ΠΌΠΈΠΎΡ ΠΊΡΠ°Ρ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ°, ΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΠ·ΠΈΡΠ° Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π°ΠΊΠΎ ΠΏΠΎΡΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ΅ ΠΏΠΎΠ²ΠΈΠΊΠ° ΡΠ°ΠΌΠ°ΡΠ°). ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° ΡΠΎ Π°ΡΡΠΈΠ±ΡΡΠΎΡ β[[clang::musttail]]β Π²ΠΎ C++ ΠΈ β__attribute__((musttail))β Π²ΠΎ C, ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ ΠΈΠ·ΡΠ°Π²Π°ΡΠ° βΠ²ΡΠ°ΡΠ°ΡΠ΅β. Π€ΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π²ΠΎ ΡΠ°ΠΌΠ½Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΡΠ° Π·Π° Π΄Π° Π·Π°ΡΡΠ΅Π΄ΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ° Π½Π° ΡΡΠ΅ΠΊ.
- βΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅β Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠΈ ΠΈ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Π½Π° ΠΊΠ»Π°Π½Π³ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°Π°Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠΈ Π²ΠΎ ΡΡΠΈΠ»ΠΎΡ Π½Π° 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: SpacesInLineCommentPrefix Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Π±ΡΠΎΡΠΎΡ Π½Π° ΠΏΡΠ°Π·Π½ΠΈ ΠΌΠ΅ΡΡΠ° ΠΏΡΠ΅Π΄ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅, IndentAccessModifiers, LambdaBodyIndentation ΠΈ PPIndentWidth Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΠΏΠΎΡΠ°ΠΌΠ½ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅, Π»Π°ΠΌΠ±Π΄Π° ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΡΠΎΡΠΈΡΠ΅Π½ΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π½Π°Π±ΡΠΎΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ (SortIncludes). ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ JSON.
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌ Π΄Π΅Π» ΠΎΠ΄ Π½ΠΎΠ²ΠΈ ΡΠ΅ΠΊΠΎΠ²ΠΈ Π½Π° Π»Π΅ΡΠ°Π»ΠΎΡΠΎ ΡΡΠΎ Π΅ ΡΡΠ΅Π΄Π½ΠΎ.
ΠΠ»ΡΡΠ½ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π²ΠΎ LLVM 13.0:
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΠ°ΡΠ° β-ehcontguardβ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° CET (Windows Control-flow Enforcement Technology) Π·Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°ΡΠ° ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΊΠΎΠ½ Π²ΡΠ°ΡΠ°ΡΠ΅ (ROP) Π²ΠΎ ΡΠ°Π·Π°ΡΠ° Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ.
- ΠΡΠΎΠ΅ΠΊΡΠΎΡ Π·Π° Π΄Π΅Π±Π°Π³ΠΈΠ½ΡΠΎ-ΡΠ΅ΡΡ Π΅ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ Π²ΠΎ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΌΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ Π΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ Π΄Π° ΡΠ΅ΡΡΠΈΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΡΠΈ ΡΠ΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅.
- Π‘ΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΈΠ·Π³ΡΠ°Π΄Π±Π° Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΄Π½Π° ΡΠΎ ΠΊΠΎΠΌΡΠ½Π°Π»Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, Π° Π΄ΡΡΠ³Π°ΡΠ° ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ.
- ΠΠΎ Π·Π°Π΄Π½ΠΈΠ½Π°ΡΠ° Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° AArch64, ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ Armv9-A RME (Π Π΅Π°Π»ΠΌ ΠΌΠ΅Π½Π°ΡΠΌΠ΅Π½Ρ Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ°) ΠΈ SME (ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ°ΡΡΠΈΡΠ° ΡΠΎ ΡΠΊΠ°Π»Π°Π±ΠΈΠ»Π½ΠΎΡΡ) Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° Π²ΠΎ Π°ΡΠ΅ΠΌΠ±Π»Π΅ΡΠΎΡ.
- ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ISA V68/HVX Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π° Π²ΠΎ Π·Π°Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π¨Π΅ΡΡΠΎΠ°Π³ΠΎΠ»Π½Π°.
- ΠΠ°Π΄Π½ΠΈΠ½Π°ΡΠ° x86 ΠΈΠΌΠ° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° AMD Zen 3 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅.
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° GFX1013 RDNA2 APU Π½Π° Π·Π°Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» Π½Π° AMDGPU.
- Libc++ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡΠ²Π° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈΡΠ΅ C++20 ΠΈ C++2b, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° βΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈβ. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° std::Π΄Π°ΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Windows Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° MinGW. ΠΠ°ΡΠΎΡΠ΅ΠΊΠΈΡΠ΅ Π·Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅ , ΠΈ ΡΠ΅ ΠΎΠ΄Π΄Π΅Π»Π΅Π½ΠΈ. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡΠ° Π·Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ LIBCXX_ENABLE_INCOMPLETE_FEATURES Π·Π° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΡΠ° ΡΠΎ Π½Π΅ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
- ΠΡΠΎΡΠΈΡΠ΅Π½ΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠΎΡ LLD, Π²ΠΎ ΠΊΠΎΡ Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° Big-endian Aarch64 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅, Π° Π·Π°Π΄Π½ΠΈΠ½Π°ΡΠ° Mach-O Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΄ΠΎ ΡΠΎΡΡΠΎΡΠ±Π° ΠΊΠΎΡΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ° ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π·Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ Π½Π° Glibc ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ LLD.
- Π£ΡΠ»ΡΠΆΠ½Π°ΡΠ° Π°Π»Π°ΡΠΊΠ° llvm-mca (Machine Code Analyzer) Π΄ΠΎΠ΄Π°Π΄Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΠΊΠΎΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ΅Π΄ (ΠΏΠΎ ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ ΡΡΠΏΠ΅ΡΡΠΊΠ°Π»Π°ΡΠ΅Π½ Π³Π°ΡΠΎΠ²ΠΎΠ΄), ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ARM Cortex-A55.
- ΠΠ΅Π±Π°Π³Π΅ΡΠΎΡ LLDB Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° AArch64 ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠ΅Π»ΠΎΡΠ½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Pointer Authentication, MTE (MemTag, Memory Tagging Extension) ΠΈ SVE ΡΠ΅Π³ΠΈΡΡΡΠΈ. ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° Π³ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΈΡΠ΅ Π·Π° ΡΠ΅ΠΊΠΎΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π·Π° Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΎΡ ΠΏΡΠΈ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΠΊΠΎΡΠ° ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ²ΡΠ·Π°Π½Π° ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° ΠΎΠ·Π½Π°ΠΊΠ°.
- ΠΠ΅Π±Π°Π³Π΅ΡΠΎΡ LLDB ΠΈ ΠΏΡΠ΅Π΄Π½ΠΈΠΎΡ Π΄Π΅Π» Π·Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Fortran - Flang ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π½Π° Π±ΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ ΡΠΊΠ»ΠΎΠΏΠΎΠ²ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ.
ΠΠ·Π²ΠΎΡ: opennet.ru