LLVM 13.0 āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¸ā§‡āĻŸā§‡āĻ° āĻ°āĻŋāĻ˛āĻŋāĻœ

āĻ›āĻ¯āĻŧ āĻŽāĻžāĻ¸ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻĒāĻ°, LLVM 13.0 āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ - āĻāĻ•āĻŸāĻŋ GCC- āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻŸā§āĻ˛āĻ•āĻŋāĻŸ (āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°, āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœāĻžāĻ° āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ°) āĻ¯āĻž RISC-āĻāĻ° āĻŽāĻ¤ā§‹ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€āĻ° āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻŸāĻ•ā§‹āĻĄā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ•āĻ°ā§‡ (āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻšā§-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ)āĨ¤ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¸āĻŋāĻ‰āĻĄā§‹āĻ•ā§‹āĻĄāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ JIT āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŽā§‡āĻļāĻŋāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ¨āĻžāĻ¯āĻŧ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•ā§āĻ˛ā§āĻ¯āĻžāĻ‚ 13.0-āĻ¤ā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ:

  • āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻŸā§‡āĻ‡āĻ˛ āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ (āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻļā§‡āĻˇā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ°ā§āĻŸāĻŋāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻž, āĻ¯āĻĻāĻŋ āĻ¸āĻžāĻŦāĻ°ā§āĻŸāĻŋāĻ¨ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ•āĻ˛ āĻ•āĻ°ā§‡ āĻ¤āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻ˛ āĻ°āĻŋāĻ•āĻžāĻ°āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡)āĨ¤ āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻŸā§‡āĻ‡āĻ˛ āĻ•āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ C++-āĻ "[[āĻ•ā§āĻ˛ā§āĻ¯āĻžāĻ‚::musttail]]" āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ C-āĻ¤ā§‡ "__attribute__((musttail))" āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ "āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨" āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ–āĻ°āĻš āĻŦāĻžāĻāĻšāĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻŸ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻ•ā§‹āĻĄ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • "āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ°" āĻ˜ā§‹āĻˇāĻŖāĻž āĻāĻŦāĻ‚ āĻ•ā§āĻ˛ā§āĻ¯āĻžāĻ‚ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ "[[]]" āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ C++11-āĻļā§ˆāĻ˛ā§€ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤
  • āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ•ā§‹āĻĄā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ "-āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤-āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧāĻ•āĻžāĻ°ā§€" āĻĒāĻ¤āĻžāĻ•āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŦāĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ "-Wunused-but-set-parameter" āĻāĻŦāĻ‚ "-Wunused-but-set-variable" āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ— āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻŦāĻŋāĻ¯āĻŧā§‹āĻ— āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻ˛ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¯āĻĻāĻŋ āĻ…āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ†āĻšāĻ°āĻŖ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻŦā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻœāĻžāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ "-Wnull-pointer-subtraction" āĻĒāĻ¤āĻžāĻ•āĻž āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§‹āĻĄ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ ".su" āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ "-fstack-usage" āĻĒāĻ¤āĻžāĻ•āĻž āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻĢā§āĻ°ā§‡āĻŽā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻžāĻ‡āĻœāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻŸāĻžāĻ‡āĻĒ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ - "āĻ¸āĻžāĻ°āĻŋāĻĢ-āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛", āĻ¯āĻž āĻāĻ•āĻ‡ āĻ¸āĻžāĻĨā§‡ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻāĻŦāĻ‚ āĻ¸āĻ°āĻŋāĻĢ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¨āĻ¤ā§āĻ¨ allocClassWithName āĻšā§‡āĻ• āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ "-āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ•-āĻĄāĻŋāĻ¸āĻĒā§āĻ˛ā§‡-āĻĒā§āĻ°āĻ—āĻ¤āĻŋ" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ• (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 āĻŸāĻžāĻ‡āĻ˛") āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ•ā§āĻ˛ā§āĻ¯āĻžāĻ‚-āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ā§‡āĻ° āĻ†āĻ—ā§‡ āĻ¸ā§āĻĒā§‡āĻ¸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ SpacesInLineCommentPrefix, IndentAccessModifiers, LambdaBodyIndentation āĻāĻŦāĻ‚ PPIndentWidth āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ, āĻ˛ā§āĻ¯āĻžāĻŽā§āĻŦāĻĄāĻž āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻŋāĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ (SortIncludes) āĻāĻ° āĻ—āĻŖāĻ¨āĻž āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ JSON āĻĢāĻžāĻ‡āĻ˛ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ¨āĻ¤ā§āĻ¨ āĻšā§‡āĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ…āĻ‚āĻļ āĻ˛āĻŋāĻ¨ā§āĻŸāĻžāĻ° āĻāĻ¨āĻāĻ¨-āĻĒāĻ°āĻŋāĻĒāĻžāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡.

LLVM 13.0-āĻ āĻŽā§‚āĻ˛ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨:

  • āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨-āĻ“āĻ°āĻŋāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻĄ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ (ROP) āĻ•ā§ŒāĻļāĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻļā§‹āĻˇāĻŖā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ CET (āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛-āĻĢā§āĻ˛ā§‹ āĻāĻ¨āĻĢā§‹āĻ°ā§āĻ¸āĻŽā§‡āĻ¨ā§āĻŸ āĻŸā§‡āĻ•āĻ¨ā§‹āĻ˛āĻœāĻŋ) āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ "-ehcontguard" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ¨āĻĢā§‹-āĻŸā§‡āĻ¸ā§āĻŸ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋāĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ•ā§āĻ°āĻ¸-āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ-āĻŸā§‡āĻ¸ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ¨āĻ¯āĻŧ, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ¸āĻš, āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡āĨ¤
  • AArch64 āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡, āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻžāĻ°ā§‡ Armv9-A RME (Realm Management Extension) āĻāĻŦāĻ‚ SME (Scalable Matrix Extension) āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
  • āĻšā§‡āĻ•ā§āĻ¸āĻžāĻ—āĻ¨ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡ ISA V68/HVX-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • x86 āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ AMD Zen 3 āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤
  • AMDGPU āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡ GFX1013 RDNA2 APU-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • Libc++ C++20 āĻāĻŦāĻ‚ C++2b āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°ā§‡ āĻšāĻ˛ā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ “āĻ§āĻžāĻ°āĻŖāĻžâ€ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ° āĻ¸āĻŽāĻžāĻĒā§āĻ¤āĻŋāĨ¤ MinGW-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ std::filesystem-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ , āĻāĻŦāĻ‚ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻš āĻšā§‡āĻĄāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ LIBCXX_ENABLE_INCOMPLETE_FEATURES āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ
  • āĻāĻ˛āĻāĻ˛āĻĄāĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ—-āĻāĻ¨ā§āĻĄāĻŋāĻ¯āĻŧāĻžāĻ¨ Aarch64 āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ Mach-O āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄ āĻāĻŽāĻ¨ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻ†āĻ¨āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ LLD āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Glibc āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤āĨ¤
  • llvm-mca (āĻŽā§‡āĻļāĻŋāĻ¨ āĻ•ā§‹āĻĄ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻ•) āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻāĻŽāĻ¨ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°ā§‡ (āĻ‡āĻ¨-āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ˛āĻžāĻ° āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨), āĻ¯ā§‡āĻŽāĻ¨ ARM Cortex-A55āĨ¤
  • AArch64 āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ LLDB āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖ, MTE (MemTag, āĻŽā§‡āĻŽāĻ°āĻŋ āĻŸā§āĻ¯āĻžāĻ—āĻŋāĻ‚ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨) āĻāĻŦāĻ‚ SVE āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻāĻ•āĻ°āĻŖ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻŸā§āĻ¯āĻžāĻ— āĻŦāĻžāĻāĻ§āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻšā§‡āĻ• āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°ā§‡, āĻ¯āĻž āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻ āĻŋāĻ• āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
  • LLDB āĻĄāĻŋāĻŦāĻžāĻ—āĻžāĻ° āĻāĻŦāĻ‚ Fortran āĻ­āĻžāĻˇāĻžāĻ° āĻĢā§āĻ°āĻ¨ā§āĻŸāĻāĻ¨ā§āĻĄ - āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ‚ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻŋāĻ¤ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨