LLVM 13.0 แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ

แƒ”แƒฅแƒ•แƒกแƒ—แƒ•แƒ˜แƒแƒœแƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ 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โ€œ.
  • แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ OpenMP 5.1 แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ˜แƒก แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ (โ€ž#pragma omp unrolโ€œ แƒ“แƒ โ€ž#pragma omp tileโ€œ).
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒคแƒชแƒ˜แƒ”แƒ‘แƒ˜ clang-แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: 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 (Realm Management Extension) แƒ“แƒ SME (Scalable Matrix Extension) แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜แƒ แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ แƒจแƒ˜.
  • ISA V68/HVX-แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ”แƒฅแƒ•แƒกแƒ™แƒฃแƒ—แƒฎแƒ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒกแƒแƒ–แƒฃแƒ แƒ’แƒ”แƒก.
  • x86 backend-แƒ›แƒ แƒ’แƒแƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ AMD Zen 3 แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ.
  • แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ GFX1013 RDNA2 APU-แƒกแƒ—แƒ•แƒ˜แƒก AMDGPU-แƒ˜แƒก แƒคแƒแƒœแƒ–แƒ”.
  • Libc++ แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒก C++20 แƒ“แƒ C++2b แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒแƒก, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก โ€žแƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกโ€œ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก. แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ std::แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก MinGW-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ Windows แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ , แƒ“แƒ . แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ build-แƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ LIBCXX_ENABLE_INCOMPLETE_FEATURES, แƒ แƒแƒ—แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ‘แƒแƒšแƒแƒ›แƒ“แƒ” แƒแƒ  แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—.
  • แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ•แƒ“แƒ LLD แƒšแƒ˜แƒœแƒ™แƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Big-Endian Aarch64 แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ“แƒ Mach-O backend แƒ›แƒ˜แƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜แƒ แƒ˜แƒ› แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒ›แƒ“แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒก แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒ˜. แƒ›แƒแƒ˜แƒชแƒแƒ•แƒ“แƒ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ Glibc-แƒ˜แƒก แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“ LLD-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.
  • llvm-mca (Machine Code Analyzer) แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒแƒ› แƒ“แƒแƒแƒ›แƒแƒขแƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ”แƒœ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ— (แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒ— แƒกแƒฃแƒžแƒ”แƒ แƒกแƒ™แƒแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒ˜), แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ ARM Cortex-A55.
  • AArch64 แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก LLDB แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒกแƒ แƒฃแƒš แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒก Pointer Authentication, MTE (MemTag, Memory Tagging Extension) แƒ“แƒ SVE แƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒแƒ— แƒขแƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ›แƒแƒแƒฌแƒงแƒแƒ— แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฌแƒแƒ  แƒขแƒ”แƒ’แƒ—แƒแƒœ.
  • LLDB แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒ“แƒ Fortran แƒ”แƒœแƒ˜แƒก แƒคแƒ แƒแƒœแƒขแƒ”แƒœแƒขแƒ˜ - Flang แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒš แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ”แƒ‘แƒก.

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ