แแฅแแกแแแแแแ แจแแแฃแจแแแแแแก แจแแแแแ, แแแแแแแแ LLVM 22.1.0. แแก แแแแแแ แแแก แแแกแขแ แฃแแแแขแแแก (แแแแแแแแขแแ แแแ, แแแขแแแแแแขแแ แแแ แแ แแแแแก แแแแแ แแขแแ แแแ), แ แแแแแแแช แแแแแแแแแ แแแแ แแ แแแ แแแแแก RISC-แแก แแกแแแแกแ แแแ แขแฃแแแฃแ แ แแแกแขแ แฃแฅแชแแแแแก (แแแแแแ แแแแแก แแแ แขแฃแแแฃแ แ แแแแฅแแแ แแ แแแแแแแแแแแ แแแขแแแแแแชแแแก แกแแกแขแแแแ) แจแฃแแแแแฃแ แแแขแแแแแ. แแแแแ แแ แแแฃแแ แคแกแแแแแแแแ แจแแแซแแแแ แแแ แแแแฅแแแแก แแแชแแแฃแแ แกแแแแแแ แแแแขแคแแ แแแก แแแแฅแแแฃแ แแแแแ แแ แแแแแงแแแแแฃแ แแฅแแแก แแ แแฃแแ (JIT) แแแแแแแแขแแ แแก แแแแ แแแแฅแแแฃแ แ แแแกแขแ แฃแฅแชแแแแแก แแแแแ แแ แแแแกแแแแก แฃแจแฃแแแแ แแ แแแ แแแแก แจแแกแ แฃแแแแแก แแ แแก. LLVM แขแแฅแแแแแแแแแแ แแแงแ แแแแแแ, แแ แแแฅแขแ แแแแแแ แแแก Clang แแแแแแแแขแแ แก, แ แแแแแแช แแฎแแ แก แฃแญแแ แก C, C++ แแ Objective-C แแ แแแ แแแแ แแแแก แแแแแก. 18.x แแแแจแขแแแแแแแ แแแฌแงแแแฃแแ, แแ แแแฅแขแ แแแแแแแแ แแแ แกแแแก แแฃแแแ แแชแแแก แแฎแแ แกแฅแแแแแ, แ แแแแแก แแแฎแแแแแแแช แจแแแฃแจแแแแแแก แแ แแก แแแแแแงแแแแแ แแแ แกแแ 0 ("N.0"), แฎแแแ แแแ แแแแ แกแขแแแแแฃแ แ แแแ แกแแ แแแแแแ แแแแ "N.1".
Clang 22-แแก แแแฃแแฏแแแแกแแแ แแแแชแแแก:
- แแแแแแขแ แแแฎแกแแแ แแแแก แแแแแฌแแแแแแก แขแแแแแแแแก (Allocation Tokens) แแฎแแ แแแญแแ แ, แ แแแ แแแแแจแแแก แแแฎแกแแแ แแแแก แแแแแฌแแแแแแก แแแแ แแชแแแแ, แ แแแแแแแช แจแแกแ แฃแแแแฃแแแ แแกแแแ แคแฃแแฅแชแแแแแก แแแแแงแแแแแแ, แ แแแแ แแชแแ malloc, แฃแแแแแแฃแ แ แแแแแขแแคแแแแขแแ แแ. แแแแแฌแแแแแแก แขแแแแแแแ แกแแจแฃแแแแแแก แแซแแแแ แกแขแ แฃแฅแขแฃแ แแ แแแก แแ แแแแก แแแคแแ แแแชแแ, แแแแแ แขแแแแแก แแแฎแกแแแ แแแแก แแแแแแแแก แแฆแแแฉแแแ แแ แจแแกแแซแแแแแแ แแแฎแแแก แแแแแฅแขแแแแก แแแฏแแฃแคแแแ แแแแ แแแแแจแแฃแแแแแก แแ แแแแแคแแแแชแแแก แแแแฃแจแแแแก แแแฎแแแแแ (แแแ., โแชแฎแแแโ แแแแแชแแแแแแก โแชแแแโ แแแแแชแแแแแแกแแแ แแแแแงแแคแ). แฉแแกแแ แแแแแ แแแแแแงแแแแ โ-fsanitize=alloc-tokenโ แคแแแแแแแ.
- C แแแแกแแแ แแแแแแจแแ แแแฃแแ แแแฎแแกแแแแแแแแแ:
- แแแแแ แแแแแ โdeferโ-แแก แแแแแแแแแแฃแแ แจแแกแ แฃแแแแแก แแแฅแแแแแแแก แแแแกแแแฆแแ แแก แกแแแชแแคแแแแชแแแก แแ แแแฅแขแ, แ แแแแแแช แกแแจแฃแแแแแแก แแซแแแแ แแแฅแแแแแแแแ แจแแกแ แฃแแแแก แแแแแแแแ แ แแแฅแแแแแแแก แคแแ แแแแแแก แแแกแ แฃแแแแแก แจแแแแแ. โdeferโ-แแก แแฎแแ แแแญแแ แแก แฉแแกแแ แแแแแ แแแแแแขแ โ-fdefer-tsโ แแ แแจแ.
- แแแแแแขแ แฉแแจแแแแแฃแแ แคแฃแแฅแชแแ __builtin_stack_address(), แ แแแแแแช แแกแแฎแแแก GCC-แจแ แแกแแแแก แคแฃแแฅแชแแแก. แแก แคแฃแแฅแชแแ แแแ แฃแแแแก แแแกแขแแก แแแกแแแแ แแก, แ แแแแแแช แฐแงแแคแก __builtin_stack_address() แแแแแซแแฎแแแฃแแ แแแแแแแแ แ แคแฃแแฅแชแแแก แแแกแขแแก แแ แแแแก แแแก แแแแ แแแแแซแแฎแแแฃแแ แจแแแแแแแ แคแฃแแฅแชแแแแแกแแแ.
- แแแแแแแแ C2y แกแขแแแแแ แขแแกแแแแก แจแแแฃแจแแแแแฃแแ แจแแกแแซแแแแแแแแแ:
- แแแแแแขแ แแแกแแฎแแแแแฃแแ แแแ แงแฃแแแแแก แแฎแแ แแแญแแ แ, แ แแช แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแญแแ แกแแฎแแแแแ แแแ แงแฃแแแแก แแ switch แแแแ แแขแแ แแแก, แ แแแแแแ แแแแแแแแ แจแแกแแซแแแแแแแ break แแ continue แแแแ แแขแแ แแแจแ, แ แแแ แชแแแกแแฎแแ แแแแแกแแแฆแแ แแก แแแกแแกแแแแแ แชแแแแ. outer: for (int i = 0; i < IK; ++ i) { for (int j = 0; j < JK; ++ j) { continue; // แแแแแกแแแ CONT1-แแ continue outer; // แแแแแกแแแ CONT2-แแ // CONT1 } // CONT2 }
- แฃแแแแแแฃแ แ แแแแแขแแคแแแแขแแ แแก แกแแฎแแแแแแก แแแแแ แแ แแแแกแแแแก แจแแฅแแแแแ แฉแแจแแแแแฃแแ โ__COUNTER__โ แแแแ แแก แแแแแแแแแขแแชแแ แแแคแแ แแแแแ แแ แกแขแแแแแ แขแจแ แจแแแแแ. แแ แแแแ แแแ แแแแแซแแฎแแแแแแก แแแแแขแ 2147483647-แแ; แแ แแแแแขแแก แแแแแญแแ แแแแ แจแแชแแแแแก แแแแแแฌแแแแก.
- แกแขแแขแแแฃแ แ แคแฃแแฅแชแแแแแก แแ แชแแแแแแแแก แแแแแงแแแแแแกแแก, แ แแแแแแแช โแแแ แ แฉแแ แแฃแ แฎแแแจแโ แแงแ แแแแแชแฎแแแแแฃแแ, แแแแฆแแแฃแแแ แแแคแ แแฎแแแแแ (-Wstatic-in-inline).
- C23 C แกแขแแแแแ แขแจแ แแแแกแแแฆแแ แฃแแ แจแแกแแซแแแแแแแแแ:
- float.h แกแแแแฃแ แแก แคแแแแ แแฎแแ แแฎแแ แก แฃแญแแ แก FLT_SNAN, DBL_SNAN แแ LDBL_SNAN แแแแ แแแแก, แ แแแแแแแช แแฎแแ แชแแแแแแแ แกแแแแแแแแแแฃแ (แแฌแแแแแ แแแแแแแแแแกแก แแ แแแแแขแแแฃแ แแแแ แแชแแแแจแ แแแแแงแแแแแแกแแก) NaN แแแแจแแแแแแแแแก float, double แแ long double แขแแแแแแกแแแแก.
- แแแแแกแฌแแ แแ แจแแชแแแแ, แ แแแแแก แแแแแช แกแฎแแแแแกแฎแแ แฃแกแแฎแแแ แขแแแ แแ แแกแ แแ แแแแแ แแแ แแแแแแก แแ แแแฃแแจแ แแแแกแแแแแแ แแแแแแแแแ, แแฃ แแแ แแ แแ แแ แแแแแ แแแแแแ แฐแฅแแแแแ.
- แแแแแแแแแแฃแแแแแก แกแแแแแ แแแแก แแ แแก แแแแแ แแฃแแ แกแแแแฃแ แแก แคแแแแแแแก แแแแแ แแ แแแแกแแแแก แแแแแงแแแแแฃแแ โ-MGโ แแ แแจแ แแแคแแ แแแแแ โ#embedโ แแแ แแฅแขแแแแแแ แแ แแฎแแ แแ แแฃแแแแก โfile not foundโ แจแแชแแแแแก, แ แแแแกแแช โ#embedโ แแแ แแฅแขแแแแจแ แแแแแแแแฃแแ แคแแแแ แแแแแ.
- C++-แแแ แแแแแแจแแ แแแฃแแ แแแฎแแกแแแแแแแแแ:
- แแแแแขแแแฃแแแ แกแขแ แฃแฅแขแฃแ แแ แแแฃแแ แจแแแแแจแแ แแแแแแก แแแแแงแแแแแแก แจแแกแแซแแแแแแแ โconstexprโ แแแแขแแฅแกแขแจแ, แ แแแแ แช แแก แจแแแฃแจแแแแแฃแแแ C++2c (C++26) แกแแแชแแคแแแแชแแแจแ. แแก แแแจแแแแก, แ แแ แแฃแแแแ แแแแแกแแฎแฃแแแแแแแ แแแแแแแแแแ แแฎแแ แแแแแ แจแแแซแแแแ แแงแแก แแฃแแแแแ แแแแแกแแฎแฃแแแแแแ. แแฎแแ แแแญแแ แ แแแแแ แแแแแ แแแกแแแแแแกแ แแ แแแ แขแแแ แกแขแ แฃแฅแขแฃแ แแแแกแแแแก (แขแฃแแแแแ แฏแแ แแ แแ แแก แแฎแแ แแแญแแ แแแ). constexpr int arr[] = {1, 2}; constexpr auto [x, y] = arr;
- C++20 แกแขแแแแแ แขแแก แแแแฎแแแแแก แจแแกแแแแแแกแแ, แจแแแฆแฃแแแแแ แแฎแแ แจแแแแฌแแแแแแแ แกแขแแแแแ แขแฃแ แคแแ แแแจแ แแแ แแแแฅแแแแแ, แ แแช แกแแจแฃแแแแแแก แแซแแแแ แฃแคแ แ แแฃแกแขแ แแแแแแแกแขแแแฃแ แ แจแแขแงแแแแแแแแแแก แแแกแแฆแแแแ แแ แฉแแแแชแแแแแแก แจแแชแแแแแแแก แกแแแแแแแแ แแแแฃแจแแแแแแกแแแแก แแฎแแแแ แแแแชแแคแชแแแก ID-แแแจแ แแแแแงแแแแแฃแ แจแแแแแแแก แแ แแฃแแแแขแแแจแ.
- แแแแแแขแ แฉแแจแแแแแฃแแ แคแฃแแฅแชแแแแแก แแฏแแฎแ โ__builtin_[lt|gt|le|ge]_synthesizes_from_spaceshipโ, แ แแแ แแแแ แแแแ, แจแแแแ แแแแก แแแแ แแขแแ แแแ โ<โ, โ>โ, โ<=โ แแ โ>=โ แกแแแแแแแ แแแฃแแ แแงแ แแฃ แแ แ โ<=>โ แแแแ แแขแแ แแแแ.
- แแแ แแแแขแ แ โ-Wincompatible-pointer-typesโ แจแแแชแแแแ แแ แแแคแ แแฎแแแแแแก แแแชแแแแ แจแแชแแแแแก แแฉแแแแแแก. แฌแแแ แฅแชแแแแแ แแแกแแแ แฃแแแแแแ แแแแแแงแแแแ แแคแชแแ โ-Wno-error=incompatible-pointer-typesโ.
- แแแแแแขแ แฉแแจแแแแแฃแแ แคแฃแแฅแชแแแแ __builtin_bswapg, __builtin_elementwise_ldexp, __builtin_elementwise_fshl, __builtin_elementwise_fshr, __builtin_elementwise_minnumnum, __builtin_elementwise_maxnumnum, __builtin_masked_load, __builtin_masked_expand_load, __builtin_masked_store, __builtin_masked_compress_store, __builtin_masked_gather, __builtin_masked_scatter แแ __builtin_dedup_pack. แแแแแแแแแ, builtin_dedup_pack แกแแจแฃแแแแแแก แแแซแแแแ แฌแแจแแแแ แแฃแแแแแแขแแแ แขแแแแแแก แกแแแแแ: MyTypeList = TypeList<__builtin_dedup_pack-แแก แแแแแงแแแแแแ. โฆ>; // แจแแแแแแ แแแฆแแแฃแแ แขแแแ แแฅแแแแ TypeList
- UBSan-แแก แแแแแงแแแแแแ แแแแฃแกแแแฆแแ แแแ แฅแชแแแแก แแแแแ แแแแกแแก (-fsanitize=undefined -fsanitize-trap=undefined), แจแแชแแแแแก แแแแแแแก แจแแกแแฎแแ แแแคแแ แแแชแแ แแฎแแ แแแแแ แแ แแแฃแ แแแแแ แแแแก แแแคแแ แแแชแแแจแ แจแแแแก. แจแแชแแแแแก แจแแกแแฎแแ แแแคแแ แแแชแแแก แแแขแแแแแแชแแแก แแแแแก แแแกแแแแแแแ แแแแแแขแ โ-fsanitize-debug-trap-reasonsโ แแ แแจแ. แแแแแแ แแฆแฌแแ แแแแแแแแกแแแแก (แแแ., โแแแแแ แ แแชแฎแแแแแก แจแแแ แแแ แแแแแแกแแแฃแแแโ) แแแกแ แแแงแแแแแ แจแแกแแซแแแแแแแ โแซแแ แแแแแแโ แแ แแแขแแแฃแ แ แแแคแแ แแแชแแแก แฉแแกแแ แแแแแ โแแแขแแแฃแ แแโ (แแแ., โแฎแแแแแฌแแ แแแ แแแแแ แ แแชแฎแแแแแก แจแแแ แแแแก แแแแแแกแแแ 'a + b'-แจแโ).
- แแแแแขแแแฃแแแ แแฎแแแ แจแแแแแแแแแ แแ แแจแแแ:
- โ-f[no-]sanitize-debug-trap-reasonsโ แแแแก แแแกแแแแแขแ แแแแแแแ, แแ แแก แแฃ แแ แ แแแแแแแแแแกแแก แฎแแคแแแแแก แแแแแแแแ แฉแแจแแแแแฃแแ แแแแแ แแแแก แแแคแแ แแแชแแแจแ โ-fsanitize-trapโ แ แแแแแแ แแแแแแแแชแแแกแแก.
- แแแฎแกแแแ แแแแก แแแแแฌแแแแแแก แขแแแแแแแแก แกแแแแ แแแแแ แแแแแแงแแแแ โ-fsanitize=alloc-tokenโ, โ-falloc-token-maxโ, โ-fsanitize-alloc-token-fast-abiโ แแ โ-fsanitize-alloc-token-extendedโ.
- โ-fmatrix-memory-layoutโ แแแขแ แแชแแก แขแแแแแแก แแแฎแกแแแ แแแแก แแแแแแแแแแก แกแแแแ แแแแแ (แแแ. column-major column-major-แแกแแแแก, row-major row-major-แแกแแแแก).
- แคแฃแแฅแชแแแแก แแฎแแ แแฅแแ โmalloc_spanโ แแขแ แแแฃแขแ, แ แแแแแแช malloc แแขแ แแแฃแขแแก แแกแแแแกแแ, แแแแ แแ แแแแแแงแแแแแ แแ แคแฃแแฅแชแแแแแกแแแแก, แ แแแแแแแช แแแ แฃแแแแแ span-แแก แแกแแแแก แกแขแ แฃแฅแขแฃแ แแแก, แ แแแแแแแช แจแแแชแแแก แแแฉแแแแแแแแก แแ แแแแก แแแแแ แแ แแแฉแแแแแแแแ แแแแแแก แแแแแจแ.
- แแแแแแจแแ แแแแก แแ แแก printf แคแฃแแฅแชแแแก แกแแญแแ แ แกแขแแขแแแฃแ แแ แแแแแแจแแ แแแฃแแ แแแแแแแแแขแแชแแแก แแแแแแแฃแ แแ แจแแกแแ แฉแแแแ แแแแแแขแ "modular_format" แแขแ แแแฃแขแ.
- แแแคแแ แแแแแ แแแแแแแกแขแแแฃแ แ แแ แกแขแแขแแแฃแ แ แแแแแแแแก แแแกแขแ แฃแแแแขแแแ, แแแแแแขแ แแฎแแแ แจแแแแฌแแแแแแ (แ แแแแแแแแ แแแแฃแแ แแแแแแแกแขแแแแกแแแ แแแแแแจแแ แแแฃแแ แแแฃแแฏแแแแกแแแ).
- X86 แแแฅแแแแก แแแแแแขแ SSE, AVX แแ AVX512 แแแคแแ แแแแแแแแก แแแแแขแแแแแ แจแแแแแแแ แแแฎแแกแแแแแแแแแ. Wildcat Lake (-march=wildcatlake) แแ Nova Lake (-march=novalake) แแแแ แแแ แฅแแขแแฅแขแฃแ แแแแ แแแคแฃแซแแแแฃแแ Intel CPU-แแแแกแแแแก แแแแแแขแ แแฌแงแแแแก แ แแแแแแแ.
- AArch64 แแแฅแแแแ แแฎแแ แแฎแแ แก แฃแญแแ แก Ampere Computing Ampere1C (ampere1c), Arm C1-Nano (c1-nano), Arm C1-Pro (c1-pro), Arm C1-Premium (c1-premium) แแ Arm C1-Ultra (c1-ultra) แแ แแชแแกแแ แแแก. FCVTZ[US], FCVTN[US], FCVTM[US], FCVTP[US] แแ FCVTA[US] แแแกแขแ แฃแฅแชแแแแแกแแแแก แแแแแแขแ แแแแแขแแแแแ แฉแแจแแแแแฃแแ แคแฃแแฅแชแแแแ. แกแขแแแแแแแแ แแแฃแแแ แคแฃแแฅแชแแแก แแ แแแแแแแ แกแแฃแแ แแแ แกแแแก (FMV) แแฎแแ แแแญแแ แ. แแแแฎแแแ แแแแแแก แแฎแแ แจแแฃแซแแแแ แกแฎแแแแแกแฎแแ แคแฃแแฅแชแแแก แแแ แกแแแแแก แแ แแแ แแขแแขแแก แแแแแคแแ แแ.
- แแแแแขแแแฃแแแ LoongArch32 (LA32R, LA32S) แแ แฅแแขแแฅแขแฃแ แแก แแฎแแ แแแญแแ แ.
- แแแฃแแฏแแแแกแแแฃแแ แแแฅแแแแแแ ARM, AMDGPU, RISC-V, LoongArch64, MIPS, WebAssembly แแ PowerPC แแ แฅแแขแแฅแขแฃแ แแแแกแแแแก.
แฌแงแแ แ: opennet.ru
