ืืืืจ ืฉืืฉื ืืืืฉืื ืฉื ืคืืชืื, ืืืฆืื ืืฉืืจืืจ ืฉื ืคืจืืืงื LLVM 13.0 - ืขืจืืช ืืืื ืชืืืืช GCC (ืืืืจืื, ืืืคืืืืืืฆืื ืืืืืืื ืงืื) ืืืจืืืื ืชืืื ืืืช ืืงืื ืืื ืืื ืฉื ืืืจืืืช ืืืจืืืืืืืช ืืืืืืช RISC (ืืืื ื ืืืจืืืืืืช ืืจืื ื ืืืื ืขื ืืขืจืืช ืืืคืืืืืืฆืื ืืจืืืช ืจืืืช). ื ืืชื ืืืืืจ ืืช ืืคืกืืืืืงืื ืฉื ืืฆืจ ืืืืฆืขืืช ืืืืจ JIT ืืืืจืืืช ืืืื ื ืืฉืืจืืช ืืืื ืืืฆืืข ืืชืืื ืืช.
ืฉืืคืืจืื ื-Clang 13.0:
- ืืืืืขื ืชืืืื ืืงืจืืืืช ืื ื ืืืืืืืช (ืงืจืืื ืืชืชื ืฉืืจื ืืืฉ ืืกืืฃ ืคืื ืงืฆืื, ืืฆืืจืช ืจืงืืจืกืืืช ืื ื ืื ืชืช-ืืฉืืจื ืงืืจืืช ืืขืฆืื). ืชืืืื ืืฉืืืืช ืื ื ืืืืืืืช ืืกืืคืงืช ืขื ืืื ืืชืืื ื "[[clang::musttail]]" ื-C++ ื-"__attribute__((musttail))" ื-C, ืืืฉืืฉืช ืืืฆืืจืช "ืืืืจื". ืืชืืื ื ืืืคืฉืจืช ืื ืืืืฉื ืืืคืืืืืืฆืืืช ืขื ืืื ืคืจืืกืช ืงืื ืืืืืจืฆืื ืฉืืืื ืืื ืืืกืื ืืฆืจืืืช ืืืกื ืืช.
- ืืฆืืจืืช "ืฉืืืืฉ" ืืชืืกืคืืช clang ืืกืคืงืืช ืชืืืื ืืืืืจืช ืชืืื ืืช ืืกืื ืื C++11 ืืืืฆืขืืช ืืคืืจืื "[[]]".
- ืืืกืืฃ ืืช ืืืื "-Wreserved-identifier" ืืื ืืืฆืื ืืืืจื ืืืฉืจ ืืชื ืืฆืืื ืืืืื ืฉืืืจืื ืืงืื ืืืฉืชืืฉ.
- ื ืืกืคื ืืืืื "-Wunused-but-set-parameter" ื-"-Wunused-but-set-variable" ืืื ืืืฆืื ืืืืจื ืื ืคืจืืืจ ืื ืืฉืชื ื ืืืืืจ ืื ืื ื ืขืฉื ืื ืฉืืืืฉ.
- ื ืืกืฃ ืืื "-Wnull-pointer-subtraction" ืืื ืืื ืคืืง ืืืืจื ืื ืืงืื ืขืฉืื ืืืฆืื ืืชื ืืืืช ืื ืืืืืจืช ืขืงื ืืฉืืืืฉ ืืืฆืืืข null ืืคืขืืืืช ืืืกืืจ.
- ืืืกืืฃ ืืช ืืืื "-fstack-usage" ืืื ืืืฆืืจ ืขืืืจ ืื ืงืืืฅ ืงืื ืงืืืฅ ".su" ื ืืกืฃ ืืืืื ืืืืข ืขื ืืืื ื-stack frames ืขืืืจ ืื ืคืื ืงืฆืื ืฉืืืืืจื ืืงืืืฅ ืืืขืืื.
- ืกืื ืคืื ืืืฉ ื ืืกืฃ ืื ืชื ืืกืืื - "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 ืืื ืืฉืืื ืืืืฉืืจ ืฉื ืขืจืืื, ืืืืืื lambda ืืื ืืืืช ืงืื-ืืขืื. ืืืจืืื ืืืคืฉืจืืืืช ืืืืื ืกืคืืจืช ืงืืืฆื ืืืืชืจืืช (SortIncludes). ื ืืกืคื ืชืืืื ืืขืืฆืื ืงืืฆื JSON.
- ืืืง ืืืื ืฉื ืฆ'ืงืื ืืืฉืื ื ืืกืคื ื-linter clang-klang.
ืืืืืฉืื ืืจืืืืื ื-LLVM 13.0:
- ืืืกืืคื ืืช ืืืคืฉืจืืช "-ehcontguard" ืืฉืืืืฉ ืืืื ืืืืืืืช CET (ืืื ืืืืืืืช Windows Control-flow Enforcement) ืืื ืืืื ืืคื ื ืืืฆืืข ืฉื ื ืืฆืืืื ืฉื ืื ื ืืืืฆืขืืช ืืื ืืงืืช ืชืื ืืช ืืื ืื ืืืืจื (ROP) ืืฉืื ืืืืคืื ืืืจืืืื.
- ืคืจืืืงื debuginfo-test ืฉืื ื ื-cross-project-tests ืืืื ื ืืขื ืืืืื ืจืืืืื ืืคืจืืืงืืื ืฉืื ืื, ืื ืืืืื ืืืืืข ืืืืื.
- ืืขืจืืช ืืืจืืื ืืกืคืงืช ืชืืืื ืืื ืืืช ืืกืคืจ ืืคืฆืืช, ืืืฉื, ืืืช ืขื ืืื ืขืืจ, ืืืฉื ืืื ืขื ืกืคืจืืืช ืืืคืชืืื.
- ืืงืฆื ืืืืืจื ืฉื ืืจืืืืงืืืจืช AArch64, ืชืืืื ืืืจืืืืช Armv9-A RME (Realm Management Extension) ื-SME (Scalable Matrix Extension) ืืืืฉืืช ื-assembler.
- ืชืืืื ื-ISA V68/HVX ื ืืกืคื ืืงืฆื ืืืืืจื ืฉื ืืจืืืืงืืืจืช ื-Hexagon.
- ื-x86 backend ืืฉ ืชืืืื ืืฉืืคืจืช ืขืืืจ ืืขืืื AMD Zen 3.
- ื ืืกืคื ืชืืืื ืขืืืจ GFX1013 RDNA2 APU ืืงืฆื ืืืืืจื ืฉื AMDGPU.
- Libc++ ืืืฉืืื ืืืืฉื ืชืืื ืืช ืืืฉืืช ืฉื ืชืงื ื C++20 ื-C++2b, ืืืื ืืฉืืืช ืกืคืจืืืช "ืืืืฉืืื". ื ืืกืคื ืชืืืื ืขืืืจ std::filesystem ืขืืืจ ืคืืืคืืจืืช Windows ืืืืกืกืช MinGW. ืงืืืฆื ืืืืชืจืช , ื- ืืืคืจืืื. ื ืืกืคื ืืคืฉืจืืช ืื ืืื LIBCXX_ENABLE_INCOMPLETE_FEATURES ืืื ืืืฉืืืช ืงืืฆื ืืืชืจืืช ืขื ืคืื ืงืฆืืื ืืืืช ืฉืืื ื ืืืืฉืืช ืืืืืื.
- ืืืจืืื ืืืืืืืช ืฉื ืืงืฉืจ ื-LLD, ืืืกืืจืชื ืืืืฉืืช ืชืืืื ืืืขืืื Big-endian Aarch64, ืื-backend ืฉื Mach-O ืืืื ืืืฆื ืืืืคืฉืจ ืงืืฉืืจ ืืื ืชืืื ืืืช ืจืืืืืช. ืืืื ืฉืืคืืจืื ืืืจืืฉืื ืืงืืฉืืจ Glibc ืืืืฆืขืืช LLD.
- ืืื ืืฉืืจืืช llvm-mca (Machine Code Analyzer) ืืืกืืคื ืชืืืื ืืืขืืืื ืืืืฆืขืื ืืืจืืืช ืืคื ืืกืืจ (ืฆืื ืืจ ืขื-ืกืงืืืจื ืืคื ืืกืืจ), ืืืื ARM Cortex-A55.
- ืืืชืจ ืืืืืื LLDB ืขืืืจ ืคืืืคืืจืืช AArch64 ืืกืคืง ืชืืืื ืืืื ืขืืืจ ืืืืืช ืืฆืืืข, MTE (MemTag, ืืจืืืช ืชืืื ืืืืจืื) ืืืืืจื SVE. ื ืืกืคื ืคืงืืืืช ืืืืคืฉืจืืช ืืืื ืชืืืืช ืืื ืคืขืืืช ืืงืฆืืช ืืืืจืื ืืืืจืื ืืืืงื ืฉื ืืืฆืืืข ืืขืช ืืืฉื ืืืืืจืื, ืืฉืจ ืืืื ืืืืืช ืืฉืืื ืืชื ืื ืืื.
- ืืืชืจ ืืืืืื LLDB ืืืืืืช ืืฉืคืช Fortran - Flang ื ืืกืคื ืืืืืืืื ืืืื ืืจืืื ืฉื ืืฆืจื ืขื ืืื ืืคืจืืืงื.
ืืงืืจ: OpenNet.ru