LLVM 22 เด•เดฎเตเดชเตˆเดฒเตผ เดธเตเดฏเต‚เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเตเดฐเด•เดพเดถเดจเด‚

เด†เดฑเต เดฎเดพเดธเดคเตเดคเต† เดตเดฟเด•เดธเดจเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚, LLVM 22.1.0 เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เดฟ. RISC เดชเต‹เดฒเตเดณเตเดณ เดตเต†เตผเดšเตเดตเตฝ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต เดฌเดฟเดฑเตเดฑเตเด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เตพ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ (เด•เด‚เดชเตˆเดฒเดฑเตเด•เตพ, เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเดฑเตเด•เตพ, เด•เต‹เดกเต เดœเดจเดฑเต‡เดฑเตเดฑเดฑเตเด•เตพ) เด‡เดคเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต (เดฎเตพเดŸเตเดŸเดฟ-เดฒเต†เดตเตฝ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเตป เดธเดฟเดธเตเดฑเตเดฑเดฎเตเดณเตเดณ เด’เดฐเต เดฒเต‹-เดฒเต†เดตเตฝ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป). เดœเดจเดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดค เดธเตเดฏเต‚เดกเต‹เด•เต‹เดกเต เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเดจเดพเดฏเดฟ เดฎเต†เดทเต€เตป เด•เต‹เดกเดพเด•เตเด•เดฟ เดฎเดพเดฑเตเดฑเดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดธเดฎเดฏเดคเตเดคเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เดฎเต†เดทเต€เตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด’เดฐเต เดœเดธเตเดฑเตเดฑเต-เด‡เตป-เดŸเตˆเด‚ (JIT) เด•เด‚เดชเตˆเดฒเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. LLVM เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏเด•เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ, เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต C, C++, เด’เดฌเตเดœเด•เตเดฑเตเดฑเต€เดตเต-C เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเด•เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เด•เตเดฒเดพเด™เต เด•เด‚เดชเตˆเดฒเตผ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. 18.x เดฌเตเดฐเดพเดžเตเดšเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเดšเตเดšเต, เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด’เดฐเต เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดจเดฎเตเดชเดฑเดฟเด‚เด—เต เดธเตเด•เต€เดฎเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเดฟ, เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต เดตเดฟเด•เดธเดจ เดธเดฎเดฏเดคเตเดคเต เดฑเดฟเดฒเต€เดธเต 0 ("N.0") เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด†เดฆเตเดฏเดคเตเดคเต† เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ เดชเดคเดฟเดชเตเดชเดฟเดจเต "N.1" เดŽเดจเตเดจเต เดจเดฎเตเดชเดฑเดฟเดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เตเดฒเดพเด™เต 22-เดฒเต† เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เดณเดฟเตฝ เด‡เดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต:

  • malloc เดชเต‹เดฒเตเดณเตเดณ เดซเด‚เด—เตเดทเดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดŸเดคเตเดคเตเดจเตเดจ เดฎเต†เดฎเตเดฎเดฑเดฟ เด…เดฒเต‹เด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด’เดฐเต เด…เดฆเตเดตเดฟเดคเต€เดฏ เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดฎเต†เดฎเตเดฎเดฑเดฟ เด…เดฒเต‹เด•เตเด•เต‡เดทเตป เดŸเต‹เด•เตเด•เดฃเตเด•เตพเด•เตเด•เตเดณเตเดณ (เด…เดฒเต‹เด•เตเด•เต‡เดทเตป เดŸเต‹เด•เตเด•เดฃเตเด•เตพ) เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต. เด…เดฒเต‹เด•เตเด•เต‡เดทเตป เดŸเต‹เด•เตเด•เดฃเตเด•เตพ เดนเต€เดชเตเดชเต เดตเดฟเดตเดฐเด™เตเด™เตพ เด˜เดŸเดจเดพเดชเดฐเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดฎเต†เดฎเตเดฎเดฑเดฟ เดฒเต€เด•เตเด•เต เดกเดฟเดฑเตเดฑเด•เตเดทเตป เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดตเดธเตเดคเตเด•เตเด•เดณเตเดŸเต† เด‰เดฆเตเดฆเต‡เดถเตเดฏเดฎเต‹ เดชเดฐเดฟเดทเตเด•เดฐเดฃ เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เดณเต‹ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เด—เตเดฐเต‚เดชเตเดชเดฟเด‚เด—เต เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต (เด‰เดฆเดพ. "เดšเต‚เดŸเตเดณเตเดณ" เดกเดพเดฑเตเดฑเดฏเต† "เดคเดฃเตเดคเตเดค" เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต). เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป, "-fsanitize=alloc-token" เดซเตเดฒเดพเด—เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•.
  • เดธเดฟ เดญเดพเดทเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ:
    • "defer" deferded execution mechanism เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดกเตเดฐเดพเดซเตเดฑเตเดฑเต เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เด‡เดคเต เดจเดฟเดฒเดตเดฟเดฒเต† เดธเตเด•เต‹เดชเตเดชเต เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเดฎเตเดชเต‹เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. "defer" เดชเดฟเดจเตเดคเตเดฃ เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ "-fdefer-ts" เดซเตเดฒเดพเด—เต เดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต.
    • __builtin_stack_address() เดŽเดจเตเดจ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดซเด‚เด—เตเดทเตป เดšเต‡เตผเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต GCC-เดฏเดฟเดฒเต† เดธเดฎเดพเดจเดฎเดพเดฏ เดซเด‚เด—เตเดทเดจเต† เดชเตเดฐเดคเดฟเดซเดฒเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. __builtin_stack_address() เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจ เดจเดฟเดฒเดตเดฟเดฒเต† เดซเด‚เด—เตเดทเดจเตเดฑเต† เดธเตเดฑเตเดฑเดพเด•เตเด•เต เดเดฐเดฟเดฏเดฏเต† เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเตเดฑเตเดฑเดพเด•เตเด•เต เดตเดฟเดฒเดพเดธเดตเตเด‚ เด…เดคเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจ เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดซเด‚เด—เตเดทเดจเตเด•เดณเตเด‚ เดˆ เดซเด‚เด—เตเดทเตป เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเต.
  • เดญเดพเดตเดฟเดฏเดฟเดฒเต† C2y เดจเดฟเดฒเดตเดพเดฐเดคเตเดคเดฟเดจเดพเดฏเดฟ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เดดเดฟเดตเตเด•เตพ:
    • เดฒเต‚เดชเตเดชเตเด•เตพเด•เตเด•เต เดชเต‡เดฐเตเด•เตพ เดจเตฝเด•เดพเดจเตเด‚ เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตโ€Œเดฎเต†เดจเตเดฑเตเด•เตพ เดธเตเดตเดฟเดšเตเดšเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เดจเต†เดฏเดฟเด‚เดกเต เดฒเต‚เดชเตเดชเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต, เดฒเต‚เดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เต‡เดฃเตเดŸ เดฒเต‚เดชเตเดชเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฌเตเดฐเต‡เด•เตเด•เต, เด•เดฃเตเดŸเดฟเดจเตเดฏเต‚ เดธเตเดฑเตเดฑเต‡เดฑเตเดฑเตโ€Œเดฎเต†เดจเตเดฑเตเด•เดณเดฟเตฝ เด‡เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเด‚. outer: for (int i = 0; i < IK; ++ i) { for (int j = 0; j < JK; ++ j) { continue; // go to CONT1 continue outer; // go to CONT2 // CONT1 } // CONT2 }
    • เด…เดฆเตเดตเดฟเดคเต€เดฏ เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เดจเดพเดฎเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป "__COUNTER__" เดฎเดพเด•เตเดฐเต‹เดฏเตเดŸเต† เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเต เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดˆ เดฎเดพเด•เตเดฐเต‹เดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด•เต‹เดณเตเด•เดณเตเดŸเต† เดชเดฐเดฟเดงเดฟ 2147483647 เด†เดฏเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต; เดˆ เดชเดฐเดฟเดงเดฟ เด•เดตเดฟเดฏเตเดจเตเดจเดคเต เด’เดฐเต เดชเดฟเดถเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚.
    • "เดŽเด•เตเดธเตเดฑเตเดฑเต‡เตบ เด‡เตปเดฒเตˆเตป" เดŽเดจเตเดจเต เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดšเตเดš เดซเด‚เด—เตเดทเดจเตเด•เตพเด•เตเด•เตเดณเตเดณเดฟเดฒเต† เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดซเด‚เด—เตเดทเดจเตเด•เดณเต‹ เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เดณเต‹ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต (-Wstatic-in-inline) เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตโ€Œเดคเต.
  • C23 C เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เดดเดฟเดตเตเด•เตพ:
    • float.h เดนเต†เดกเตผ เดซเดฏเตฝ เด‡เดชเตเดชเต‹เตพ FLT_SNAN, DBL_SNAN, LDBL_SNAN เดฎเดพเด•เตเดฐเต‹เด•เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต, เด‡เดต เดซเตเดฒเต‹เดŸเตเดŸเต, เดกเดฌเดฟเตพ, เดฒเต‹เด‚เด—เต เดกเดฌเดฟเตพ เดคเดฐเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดธเดฟเด—เตเดจเตฝ เดšเต†เดฏเตเดค (เด—เดฃเดฟเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เด…เดชเดตเดพเดฆเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต) NaN เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต.
    • เด’เดฐเต‡ เดซเต€เตฝเดกเตเด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต‡ เดตเดฟเดตเตผเดคเตเดคเดจ เดฏเต‚เดฃเดฟเดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเต‡เดฐเดฟเดฒเตเดฒเดพเดคเตเดค เดคเดฐเด™เตเด™เดณเต† เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเต†เดจเตเดจเต เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดฌเด—เต เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต.
    • เดกเดฟเดชเตปเดกเตปเดธเดฟ เดธเตเด•เดพเดจเดฟเด‚เด—เต เดธเดฎเดฏเดคเตเดคเต เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดŸ เดนเต†เดกเตผ เดซเดฏเดฒเตเด•เตพ เด…เดตเด—เดฃเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดฐเตเดจเตเดจ "-MG" เดซเตเดฒเดพเด—เต "#embed" เดกเดฏเดฑเด•เตเดฑเตเดฑเต€เดตเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดชเตเดชเต‹เตพ "#embed" เดกเดฏเดฑเด•เตเดฑเตเดฑเต€เดตเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณ เด’เดฐเต เดซเดฏเตฝ เด•เดพเดฃเดพเดคเดพเด•เตเดฎเตเดชเต‹เตพ "เดซเดฏเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ" เดŽเดจเตเดจ เดชเดฟเดถเด•เต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเต.
  • เดธเดฟ++ เด…เดจเตเดฌเดจเตเดง เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ:
    • C++2c (C++26) เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเดคเตเดค "constexpr" เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเตฝ เด˜เดŸเดจเดพเดชเดฐเดฎเดพเดฏ เดฌเตˆเตปเดกเดฟเด‚เด—เตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฑเดซเดฑเตปเดธเตเด•เตพ เด‡เดชเตเดชเต‹เตพ เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเด•เดณเดพเด•เดพเด‚ เดŽเดจเตเดจเดพเดฃเต. เด…เดฑเต‡เด•เตพเด•เตเด•เตเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏ เด˜เดŸเดจเด•เตพเด•เตเด•เตเด‚ เดชเดฟเดจเตเดคเตเดฃ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต (เดŸเตเดฏเต‚เดชเตเดชเดฟเดณเตเด•เตพ เด‡เดคเตเดตเดฐเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ). constexpr int arr[] = {1, 2}; constexpr auto [x, y] = arr;
    • C++20 เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต เดชเต‹เดฒเต†, เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด•เตบเดธเตเดŸเตเดฐเตˆเดจเตเดฑเตโ€Œเดธเตเด•เตพ เด‡เดชเตเดชเต‹เตพ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดฐเต‚เดชเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด‡เดคเต เด•เตบเดธเต†เดชเตเดฑเตเดฑเต-เดเดกเดฟเด•เดณเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เด•เตƒเดคเตเดฏเดฎเดพเดฏ เดกเดฏเด—เตเดจเต‹เดธเตเดฑเตเดฑเดฟเด•เต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพเด•เตเด•เตเด‚ เดธเดฌเตเดธเตเดฑเตเดฑเดฟเดฑเตเดฑเตเดฏเต‚เดทเตป เดชเดฟเดถเด•เตเด•เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.
    • "<", ">", "<=", ">=" เดŽเดจเตเดจเต€ เดคเดพเดฐเดคเดฎเตเดฏ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเตเด•เตพ "<=>" เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป "__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_minnumn, __builtin_elementwise_maxnumn, __builtin_masked_load, __builtin_masked_expand_load, __builtin_masked_store, __builtin_masked_compress_store, __builtin_masked_gather, __builtin_masked_scatter, __builtin_dedup_pack เดŽเดจเตเดจเต€ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดซเด‚เด—เตเดทเดจเตเด•เตพ เดšเต‡เตผเดคเตเดคเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, MyTypeList = TypeList<__builtin_dedup_pack เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดจเดฟเดชเตเดชเด•เตผเดชเตเดชเตเด•เตพ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเดพเตป builtin_dedup_pack เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต: โ€ฆ>; // เดซเดฒเดฎเดพเดฏเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดคเดฐเด‚ TypeList เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚
  • UBSan (-fsanitize=undefined -fsanitize-trap=undefined) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดชเตเดชเต†เดŸเดพเดคเตเดค เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเด‚ เดกเต€เดฌเด—เต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดœเดจเดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดค เดกเต€เดฌเด—เต เดตเดฟเดตเดฐเด™เตเด™เดณเดฟเตฝ เดชเดฟเดถเด•เต เด•เดพเดฐเดฃ เดตเดฟเดตเดฐเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดชเดฟเดถเด•เต เดตเดฟเดตเดฐเด™เตเด™เดณเดฟเดฒเต† เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเตเดŸเต† เดฒเต†เดตเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต "-fsanitize-debug-trap-reasons" เดซเตเดฒเดพเด—เต เดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดชเตŠเดคเตเดตเดพเดฏ เดตเดฟเดตเดฐเดฃเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เด‡เดคเต "เด…เดŸเดฟเดธเตเดฅเดพเดจเด‚" เด†เดฏเตเด‚ (เด‰เดฆเดพ. "เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตฝ เด“เดตเตผเดซเตเดฒเต‹เดกเต") เดตเดฟเดถเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต "เดตเดฟเดถเดฆเดฎเดพเดฏเดคเต" เด†เดฏเตเด‚ เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเด‚ (เด‰เดฆเดพ. "'a + b'-เตฝ เด’เดชเตเดชเดฟเดŸเตเดŸ เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตฝ เด“เดตเตผเดซเตเดฒเต‹").
  • เดชเตเดคเดฟเดฏ เด•เด‚เดชเตˆเดฒเตผ เดซเตเดฒเดพเด—เตเด•เตพ เดšเต‡เตผเดคเตเดคเต:
    • "-fsanitize-trap" เดฎเต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดกเต€เดฌเด—เต เดตเดฟเดตเดฐเด™เตเด™เดณเดฟเตฝ เดŽเด•เตโ€Œเดธเต†เดชเตเดทเตป เดŸเตเดฐเดพเดชเตเดชเต เด•เดพเดฐเดฃเด™เตเด™เตพ เด‰เตพเดšเตเดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต "-f[no-]sanitize-debug-trap-reasons".
    • เดฎเต†เดฎเตเดฎเดฑเดฟ เด…เดฒเต‹เด•เตเด•เต‡เดทเตป เดŸเต‹เด•เตเด•เดฃเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ "-fsanitize=alloc-token", "-falloc-token-max", "-fsanitize-alloc-token-fast-abi", "-fsanitize-alloc-token-extended" เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.
    • เดฎเดพเดŸเตเดฐเดฟเด•เตเดธเต เดคเดฐเด™เตเด™เดณเตเดŸเต† เดฎเต†เดฎเตเดฎเดฑเดฟ เดฒเต‡เด”เดŸเตเดŸเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ "-fmatrix-memory-layout" (เด‰เดฆเดพ: เด•เต‹เดณเด‚-เดฎเต‡เดœเดฑเดฟเดจเต เด•เต‹เดณเด‚-เดฎเต‡เดœเตผ, เดฑเต‹-เดฎเต‡เดœเดฑเดฟเดจเต เดฑเต‹-เดฎเต‡เดœเตผ).
  • เดซเด‚เด—เตเดทเดจเตเด•เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เตพ เด’เดฐเต "malloc_span" เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด‰เดฃเตเดŸเต, malloc เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดฌเตเดฒเต‹เด•เตเด•เดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดตเดฒเตเดชเตเดชเดฎเต‹ เดชเต‹เดฏเดฟเดจเตเดฑเดฑเต‹ เด‰เดณเตเดณ เด’เดฐเต เดชเต‹เดฏเดฟเดจเตเดฑเดฑเตเด‚ เดซเต€เตฝเดกเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏ เดธเตเดชเดพเตป เดชเต‹เดฒเตเดณเตเดณ เด˜เดŸเดจเด•เดณเต† เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจ เดซเด‚เด—เตเดทเดจเตเด•เตพเด•เตเด•เต เด‡เดคเต เดฌเดพเดงเด•เดฎเดพเดฃเต.
  • เดฒเดฟเด™เตเด•เต เดธเดฎเดฏเดคเตเดคเต printf เดซเด‚เด—เตเดทเดจเตเดฑเต† เด†เดตเดถเตเดฏเดฎเดพเดฏ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เตเด•เดฒเดฟ เดฒเดฟเด™เตเด•เตเดกเต เด‡เด‚เดชเตเดฒเดฟเดฎเต†เดจเตเดฑเต‡เดทเตป เดกเตˆเดจเดพเดฎเดฟเด•เต เด†เดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต "modular_format" เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดšเต‡เตผเดคเตเดคเต.
  • เดกเดฏเด—เตเดจเต‹เดธเตเดฑเตเดฑเดฟเด•เต, เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดตเดฟเดถเด•เดฒเดจ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต, เดชเตเดคเดฟเดฏ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดšเต‡เตผเดคเตเดคเต (เดจเดฟเดฐเดตเดงเดฟ เดกเดธเตป เดกเดฏเด—เตเดจเต‹เดธเตเดฑเตเดฑเดฟเด•เต เดธเด‚เดฌเดจเตเดงเดฟเดฏเดพเดฏ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ).
  • SSE, AVX, AVX512 เดŽเด•เตเดธเตเดฑเตเดฑเต†เตปเดทเดจเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด…เดงเดฟเด• เด‡เตปเดŸเตเดฐเดฟเตปเดธเดฟเด•เตเด•เตเด•เตพ X86 เดฌเดพเด•เตเด•เต†เตปเดกเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต. Wildcat Lake (-march=wildcatlake), Nova Lake (-march=novalake) เดฎเตˆเด•เตเดฐเต‹เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเด•เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เด‡เดจเตเดฑเตฝ CPU-เด•เตพเด•เตเด•เดพเดฏเดฟ เดฌเดฟเตฝเดกเต เดฎเต‹เดกเตเด•เตพ เดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต.
  • AArch64 เดฌเดพเด•เตเด•เต†เตปเดกเต เด‡เดชเตเดชเต‹เตพ เด†เดฎเตเดชเดฟเดฏเตผ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฟเด‚เด—เต 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

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster