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

เด†เดฑเต เดฎเดพเดธเดคเตเดคเต† เดตเดฟเด•เดธเดจเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเต เดชเดฆเตเดงเดคเดฟ เดชเตเดฐเด•เดพเดถเดจเด‚ LLVM 10.0 โ€” GCC-เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดŸเต‚เดณเตเด•เตพ (เด•เด‚เดชเตˆเดฒเดฑเตเด•เตพ, เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเดฑเตเด•เตพ, เด•เต‹เดกเต เดœเดจเดฑเต‡เดฑเตเดฑเดฑเตเด•เตพ), เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตเด•เตพ RISC-เดชเต‹เดฒเตเดณเตเดณ เดตเต†เตผเดšเตเดตเตฝ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต เดฌเดฟเดฑเตเดฑเตเด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เดฎเตพเดŸเตเดŸเดฟ-เดฒเต†เดตเตฝ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเตป เดธเดฟเดธเตเดฑเตเดฑเดฎเตเดณเตเดณ เดฒเต‹-เดฒเต†เดตเตฝ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป). เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดธเตเดฏเต‚เดกเต‹เด•เต‹เดกเต เด’เดฐเต JIT เด•เดฎเตเดชเตˆเดฒเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดธเดฎเดฏเดคเตเดคเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เดฎเต†เดทเต€เตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเดพเด•เตเด•เดฟ เดฎเดพเดฑเตเดฑเดพเดตเตเดจเตเดจเดคเดพเดฃเต.

LLVM 10.0-เดฒเต† เดชเตเดคเดฟเดฏ เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเดฟเตฝ C++ เด†เดถเดฏเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด‡เดจเดฟ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดพเดฏเดฟ Clang เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดฟเดฒเตเดฒ, Windows-เดจเตเดณเตเดณ CFG (เด•เตบเดŸเตเดฐเต‹เตพ เดซเตเดฒเต‹ เด—เดพเตผเดกเต) เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ, เดชเตเดคเดฟเดฏ CPU เด•เดดเดฟเดตเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ เด•เตเดฒเดพเด™เต 10.0-เตฝ:

  • " เดŽเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเตเด†เดถเดฏเด™เตเด™เตพ", เด’เดฐเต C++ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚, C++2a (-std=c++2a เดซเตเดฒเดพเด—เต เด“เดฃเดพเด•เตเด•เดฟเดฏเดคเต) เด•เต‹เดกเต เดจเดพเดฎเดฎเตเดณเตเดณ, เด…เดŸเตเดคเตเดค เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด‚.
    เด•เด‚เดชเตˆเตฝ เดธเดฎเดฏเดคเตเดคเต, เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเดพเดฏเดฟ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเดŸเต† เดธเต†เดฑเตเดฑเต เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด†เดตเดถเตเดฏเด•เดคเด•เตพ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเตป เด†เดถเดฏเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑเดพ เดคเดฐเด™เตเด™เดณเตเดŸเต† เด—เตเดฃเด™เตเด™เดณเตเด‚ เด‡เตปเดชเตเดŸเตเดŸเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเตเดŸเต† เดกเดพเดฑเตเดฑเดพ เดคเดฐเด‚ เด—เตเดฃเด™เตเด™เดณเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฒเต‹เดœเดฟเด•เตเด•เตฝ เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเตเด•เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป เด†เดถเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

    เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต
    เด†เดถเดฏ เดธเดฎเดคเตเดตเด‚ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดตเตเดจเตเดจ = เด†เดตเดถเตเดฏเดฎเดพเดฃเต (T a, T b) {
    { a == b } -> std:: boolean;
    { a != b } -> std::boolean;
    };

  • เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, เด•เด‚เดชเตˆเดฒเต‡เดทเตป เดจเดŸเดคเตเดคเตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเดŸเต† ("cang -cc1") เดธเดฎเดพเดฐเด‚เดญเด‚ เดจเดฟเตผเดคเตเดคเดฟ. เด•เด‚เดชเตˆเดฒเต‡เดทเตป เด‡เดชเตเดชเต‹เตพ เดชเตเดฐเดงเดพเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเดฟเตฝ เดšเต†เดฏเตเดคเต, เดชเดดเดฏ เดธเตเดตเดญเดพเดตเด‚ เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป "-fno-integrated-cc1" เด“เดชเตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.
  • เดชเตเดคเดฟเดฏ เดกเดฏเด—เตเดจเต‹เดธเตเดฑเตเดฑเดฟเด•เต เดฎเต‹เดกเตเด•เตพ:
    • "-Wc99-designator", "-Wreorder-init-list" เดŽเดจเตเดจเดฟเดต C99 เด‡เดจเต€เดทเตเดฏเดฒเตˆเดธเดฑเตเด•เตพ C99-เตฝ เดถเดฐเดฟเดฏเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚ C++20-เตฝ เด…เดฒเตเดฒเดพเดคเตเดค เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ C++ เดฎเต‹เดกเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เดคเดฟเดฐเต† เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต.
    • "-Wsizeof-array-div" - "int arr[10] เดชเต‹เดฒเตเดณเตเดณ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เตพ เดชเดฟเดŸเดฟเด•เตเด•เตเดจเตเดจเต; โ€ฆsizeof(arr) / sizeof(short)โ€ฆโ€ (โ€œsizeof(arr) / sizeof(int)โ€ เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚).
    • "-Wxor-used-as-po" - เดŽเด•เตเดธเตเดชเต‹เดฃเตปเดทเตเดฏเต‡เดทเดจเตเดฎเดพเดฏเดฟ (2^16) เด†เดถเดฏเด•เตเด•เตเดดเดชเตเดชเดคเตเดคเดฟเดฒเดพเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเดฟเตฝ "^" (xor) เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเตเดณเตเดณ เดจเดฟเตผเดฎเตเดฎเดพเดฃเด™เตเด™เดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต†เดคเดฟเดฐเต† เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต.
    • "-Wfinal-dtor-non-final-class" - "เดซเตˆเดจเตฝ" เดธเตเดชเต†เดธเดฟเดซเดฏเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเดพเดคเตเดค, เดŽเดจเตเดจเดพเตฝ "เดซเตˆเดจเตฝ" เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด‰เดณเตเดณ เด’เดฐเต เดกเดฟเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เด‰เดณเตเดณ เด•เตเดฒเดพเดธเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต.
    • "-Wtautological-bitwise-compare" เดŽเดจเตเดจเดคเต เด’เดฐเต เดฌเดฟเดฑเตเดฑเตโ€Œเดตเตˆเดธเต เด“เดชเตเดชเดฑเต‡เดทเดจเตเด‚ เดธเตเดฅเดฟเดฐเดพเด™เตเด•เดตเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดŸเต—เดŸเตเดŸเต‹เดณเดœเดฟเด•เตเด•เตฝ เดคเดพเดฐเดคเดฎเตเดฏเด™เตเด™เตพ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดฌเดฟเดฑเตเดฑเตโ€Œเดตเตˆเดธเต OR เด“เดชเตเดชเดฑเต‡เดทเตป เด’เดฐเต เดจเต‹เตบ-เดจเต†เด—เดฑเตเดฑเต€เดตเต เดจเดฎเตเดชเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพเดฏเตโ€Œเดชเตเดชเต‹เดดเตเด‚ เดถเดฐเดฟเดฏเดพเดฏ เดคเดพเดฐเดคเดฎเตเดฏเด™เตเด™เตพ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเตเด•เดณเตเดŸเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเดฎเดพเดฃเต.
    • "-Wbitwise-conditional-parentheses" เดฒเต‹เดœเดฟเด•เตเด•เตฝ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเดฐเต† AND (&) เด‰เด‚ OR (|) เดธเต‹เดชเดพเดงเดฟเด• เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเตเดฎเดพเดฏเดฟ (?:) เดฎเดฟเด•เตเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เดดเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดชเตเดฐเดถเตเดจเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต.
    • โ€œ-Wmisleading-indentationโ€ เดŽเดจเตเดจเดคเต GCC-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด…เดคเต‡ เดชเต‡เดฐเดฟเดฒเตเดณเตเดณ เดšเต†เด•เตเด•เดฟเดจเตเดฑเต† เด’เดฐเต เด…เดจเดฒเต‹เด—เต เด†เดฃเต, เด…เดคเต if/else/for/while เดฌเตเดฒเต‹เด•เตเด•เดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ เด‡เตปเดกเดจเตเดฑเต เดšเต†เดฏเตเดค เดชเดฆเดชเตเดฐเดฏเต‹เด—เด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ เด…เดต เดˆ เดฌเตเดฒเต‹เด•เตเด•เดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. .
    • โ€œ-Wextraโ€ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, โ€œ-Wdeprecated-copyโ€ เดชเดฐเดฟเดถเต‹เดงเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เด•เตบเดธเตเดŸเตเดฐเด•เตโ€Œเดฑเตเดฑเดฑเตเด•เดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต.
      เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดกเดฟเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เดจเดฟเตผเดตเดšเดจเดฎเตเดณเตเดณ เด•เตเดฒเดพเดธเตเด•เดณเดฟเตฝ "เดจเต€เด•เตเด•เตเด•", "เดชเด•เตผเดคเตเดคเตเด•".

    • "-Wtautological-overlap-compare", "-Wsizeof-pointer-div", "-Wtautological-compare", "-Wrange-loop-analysis" เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเต.
    • "-Wbitwise-op-parentheses", "-Wlogical-op-parentheses" เดŽเดจเตเดจเต€ เดšเต†เด•เตเด•เตเด•เตพ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • C, C++ เด•เต‹เดกเตเด•เดณเดฟเตฝ, เดชเต‹เดฏเดฟเดจเตเดฑเตผ เด—เดฃเดฟเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด…เดฑเต‡เด•เดณเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดจเตเดตเดฆเดฟเด•เตเด•เต‚. "-fsanitize=pointer-overflow" เดฎเต‹เดกเดฟเดฒเต† เดจเดฟเตผเดตเดšเดฟเด•เตเด•เดพเดคเตเดค เดฌเดฟเดนเต‡เดตเดฟเดฏเตผ เดธเดพเดจเดฟเดฑเตเดฑเตˆเดธเตผ เด‡เดชเตเดชเต‹เตพ เด’เดฐเต เดจเตพ เดชเต‹เดฏเดฟเดจเตเดฑเดฑเดฟเดฒเต‡เด•เตเด•เต เดจเต‹เตบ-เดธเต€เดฑเต‹ เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเต‹เตบ-เดจเตพ เดชเต‹เดฏเดฟเดจเตเดฑเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ เด•เตเดฑเดฏเตเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เดจเตพ เดชเต‹เดฏเดฟเดจเตเดฑเตผ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเตเดณเตเดณ เด•เต‡เดธเตเด•เตพ เดชเดฟเดŸเดฟเด•เตเด•เตเดจเตเดจเต.
  • "-fsanitize=inmplicit-conversion" (Implicit Conversion Sanitizer) เดฎเต‹เดกเต "int" เดคเดฐเดคเตเดคเต‡เด•เตเด•เดพเตพ เด…เตฝเดชเตเดชเด‚ เดตเดฒเดฟเดชเตเดชเด‚ เด•เตเดฑเดžเตเดž เดคเดฐเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เด‡เตปเด•เตเดฐเดฟเดฎเต†เดจเตเดฑเต, เดกเดฟเด•เตเดฐเดฟเดฎเต†เดจเตเดฑเต เด“เดชเตเดชเดฑเต‡เดทเดจเตเด•เดณเดฟเดฒเต† เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต.
  • x86 เดŸเดพเตผเด—เต†เดฑเตเดฑเต เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ "-march=skylake-avx512", "-march=icelake-client", "-march=icelake-server", "-march=cascadelake", "-march=cooperlake" เดŽเดจเตเดจเดฟเดต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดตเต†เด•เตโ€ŒเดŸเดฑเตˆเดธเต เดšเต†เดฏเตเดค The เดธเต‹เดดเตเดธเต เด•เต‹เดกเดฟเดฒเต† เดจเต‡เดฐเดฟเดŸเตเดŸเตเดณเตเดณ เดธเต‚เดšเดจ เด’เดดเดฟเด•เต†, 512-เดฌเดฟเดฑเตเดฑเต zmm เดฐเดœเดฟเดธเตเดฑเตเดฑเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด•เต‹เดกเต เดจเดฟเตผเดคเตเดคเดฟ. เด•เดพเดฐเดฃเด‚, 512-เดฌเดฟเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดŸเดคเตเดคเตเดฎเตเดชเต‹เตพ เดธเดฟเดชเดฟเดฏเต เดซเตเดฐเต€เด•เตเดตเตปเดธเดฟ เด•เตเดฑเดฏเตเดจเตเดจเต, เด‡เดคเต เดฎเตŠเดคเตเดคเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเด•เดŸเดจเดคเตเดคเต† เดชเตเดฐเดคเดฟเด•เต‚เดฒเดฎเดพเดฏเดฟ เดฌเดพเดงเดฟเด•เตเด•เตเด‚. เดชเตเดคเดฟเดฏ เดธเตเดตเดญเดพเดตเด‚ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเต, "-mprefer-vector-width=512" เดŽเดจเตเดจ เด“เดชเตเดทเตป เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  • "-เดซเตเดฒเดพเด•เตเดธเต-เดตเต†เด•เตเดฑเตเดฑเตผ-เด•เตบเดตเต‡เตผเดทเตปเดธเต" เดซเตเดฒเดพเด—เดฟเดจเตเดฑเต† เดธเตเดตเดญเดพเดตเด‚ เดœเดฟเดธเดฟเดธเดฟเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฃเต: เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเตเด‚ เดซเตเดฒเต‹เดŸเตเดŸเดฟเด‚เด—เต-เดชเต‹เดฏเดฟเดจเตเดฑเต เดตเต†เด•เตเดฑเตเดฑเดฑเตเด•เดณเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด‡เด‚เดชเตเดฒเดฟเดธเดฟเดฑเตเดฑเต เดตเต†เด•เตเดฑเตเดฑเตผ เดฌเดฟเดฑเตเดฑเต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดจเดฟเดฐเต‹เดงเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดชเดฐเดฟเดฎเดฟเดคเดฟ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเตป, เดชเดคเดพเด• เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต
    "-flax-vector-conversions=all" เด‡เดคเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฃเต.

  • Octeon เด•เตเดŸเตเด‚เดฌเดคเตเดคเดฟเดฒเต† MIPS CPU-เด•เตพเด•เตเด•เตเดณเตเดณ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดŸ เดชเดฟเดจเตเดคเตเดฃ. เดธเดพเดงเตเดตเดพเดฏ เดธเดฟเดชเดฟเดฏเต เดคเดฐเด™เตเด™เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเดฒเต‡เด•เตเด•เต "octeon+" เดšเต‡เตผเดคเตเดคเต.
  • WebAssembly เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต เด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, wasm-opt เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเตผ เดธเตเดตเดฏเดฎเต‡เดต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚.
  • RISC-V เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เต, เด…เดธเด‚เดฌเตเดฒเตผ เด‡เตปเดฒเตˆเตป เด‡เตปเดธเต†เตผเดŸเตเดŸเตเด•เดณเตเดŸเต† เดธเต‹เดชเดพเดงเดฟเด• เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเดฟเตฝ เดซเตเดฒเต‹เดŸเตเดŸเดฟเด‚เด—เต เดชเต‹เดฏเดฟเดจเตเดฑเต เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฐเดœเดฟเดธเตเดฑเตเดฑเดฑเตเด•เดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เด‚ เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต.
  • เดชเตเดคเดฟเดฏ เด•เดฎเตเดชเตˆเดฒเตผ เดซเตเดฒเดพเด—เตเด•เตพ เดšเต‡เตผเดคเตเดคเต: "__GNUC__" เดŽเดจเตเดจเดคเดฟเดจเตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏ เดฎเดพเด•เตเดฐเต‹เด•เตพเด•เตเด•เตเดฎเตเดณเตเดณ เดชเดคเดฟเดชเตเดชเต เดฎเต‚เดฒเตเดฏเด‚ เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเตป "-fgnuc-version"; "__FILE__" เดชเต‹เดฒเตเดณเตเดณ เดฎเดพเด•เตเดฐเต‹เด•เดณเดฟเตฝ OLD เดŽเดจเตเดจ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเดฟเดจเต เดชเด•เดฐเด‚ เดชเตเดคเดฟเดฏเดคเต เดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเต "-fmacro-prefix-map=OLD=NEW"; "-fpatchable-function-entry=N[,M]" เดซเด‚เด—เตโ€Œเดทเตป เดŽเตปเดŸเตเดฐเดฟ เดชเต‹เดฏเดฟเดจเตเดฑเดฟเดจเต เดฎเตเดฎเตเดชเตเด‚ เดถเต‡เดทเดตเตเด‚ เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดŽเดฃเตเดฃเด‚ NOP เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป. RISC-V-เดฏเตโ€Œเด•เตเด•เต
    "-ffixed-xX", "-mcmodel=medany", "-mcmodel=medlow" เดŽเดจเตเดจเต€ เดซเตเดฒเดพเด—เตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต.

  • '__attribute__((เดฒเด•เตเดทเตเดฏเด‚(โ€œเดฌเตเดฐเดพเดžเตเดšเต-เดชเตเดฐเตŠเดŸเตเดŸเด•เตเดทเตป=...")))) เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต, เด‡เดคเดฟเดจเตเดฑเต† เด‡เดซเด•เตเดฑเตเดฑเต เด“เดชเตเดทเดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต - เดถเดพเด–-เดธเด‚เดฐเด•เตเดทเดฃเด‚.
  • เดตเดฟเตปเดกเต‹เดธเต เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเดฟเตฝ, "-cfguard" เดซเตเดฒเดพเด—เต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดชเดฐเต‹เด•เตเดท เดซเด‚เด—เตเดทเตป เด•เต‹เดณเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดซเตเดฒเต‹ เด‡เดจเตเดฑเด—เตเดฐเดฟเดฑเตเดฑเดฟ เดšเต†เด•เตเด•เตเด•เดณเตเดŸเต† (เด•เตบเดŸเตเดฐเต‹เตพ เดซเตเดฒเต‹ เด—เดพเตผเดกเต) เดชเด•เดฐเด‚ เดตเดฏเตเด•เตเด•เตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต. เดšเต†เด•เตเด•เต เดธเดฌเตเดธเตเดฑเตเดฑเดฟเดฑเตเดฑเตเดฏเต‚เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดพเตป, เดจเดฟเด™เตเด™เตพเด•เตเด•เต "-cfguard-nochecks" เดซเตเดฒเดพเด—เต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "__declspec(guard(nocf))" เดฎเต‹เดกเดฟเดซเดฏเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.
  • "เดŽเด•เตเดธเตโ€Œเดฑเตเดฑเต‡เตบ" เด•เต€เดตเต‡เดกเต เด‡เดฒเตเดฒเดพเดคเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ gnu_inline เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเดจเตเดฑเต† เดธเตเดตเดญเดพเดตเด‚ GCC-เดจเต เดธเดฎเดพเดจเดฎเดพเดฃเต.
  • OpenCL, CUDA เดชเดฟเดจเตเดคเตเดฃเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เด•เดดเดฟเดตเตเด•เตพ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเต. เดชเตเดคเดฟเดฏ OpenMP 5.0 เดธเดตเดฟเดถเต‡เดทเดคเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต.
  • เด•เต‹เดกเต เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เดดเตเด‚ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เดดเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ C++ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเดฟเดจเตเดฑเต† เดชเดคเดฟเดชเตเดชเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด•เตเดฒเดพเด™เต เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด“เดชเตเดทเตป เดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต (เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏเดคเต, เด“เดŸเตเดŸเต‹, c++03, c++11, c++14, c++17, c++20 ).
  • เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด…เดจเดฒเตˆเดธเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเตเดคเดฟเดฏ เดšเต†เด•เตเด•เตเด•เตพ เดšเต‡เตผเดคเตเดคเต: alpha.cplusplus.PlacementNew, เดฎเดคเดฟเดฏเดพเดฏ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เด‡เดŸเดฎเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป, Fuchsia.HandleChecker, Fuchsia เดนเดพเตปเดกเตโ€Œเดฒเดฑเตเด•เดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดšเต‹เตผเดšเตเดš เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดจเต, security.insecureAPI.decodeValueOfObjCType เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเดพเดงเตเดฏเดคเดฏเตเดณเตเดณ เดฌเดซเตผ เด“เดตเตผเดซเตเดฒเต‹เด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดจเต. :at:] .
  • เดจเต‹เตบ-เดธเต€เดฑเต‹ เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเตเด•เดณเตเดŸเต† NULL เดชเต‹เดฏเดฟเดจเตเดฑเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต‹ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ NULL เดชเต‹เดฏเดฟเดจเตเดฑเตผ เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเดฟเดจเตเดฑเต† เดซเดฒเดฎเดพเดฏเดฟ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‹ เด•เตเดฏเดพเดšเตเดšเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ Undefined Behavior Sanitizer (UBSan) เด…เดคเดฟเดจเตเดฑเต† เดชเต‹เดฏเดฟเดจเตเดฑเตผ เด“เดตเตผเดซเตเดฒเต‹ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเต.
  • เดฒเดฟเดจเตเดฑเดฑเดฟเตฝ เด•เตเดฒเต‹เด™เตเด™เต-เดŸเตˆเดกเดฟ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเดคเตเดคเต เดชเตเดคเดฟเดฏ เดšเต†เด•เตเด•เตเด•เดณเตเดŸเต† เดตเดฒเดฟเดฏเตŠเดฐเต เดญเดพเด—เด‚.

เดชเตเดฐเดงเดพเดจ เดชเตเดคเตเดฎเด•เตพ LLVM 10.0:

  • เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเดฟเดฒเต‡เด•เตเด•เต เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเตผ เดชเตเดคเดฟเดฏ เด‡เดจเตเดฑเตผเดชเตเดฐเตŠเดธเต€เดœเดฑเตฝ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต‡เดทเดจเตเด•เดณเตเด‚ เด…เดจเดฒเตˆเดธเดฑเตเด•เดณเตเด‚ เดšเต‡เตผเดคเตเดคเต. 19 เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเตเด•เตพ 12 LLVM IR, เดฒเตˆเดตเตเดจเต†เดธเต เดชเต‹เดฒเตเดณเตเดณ 12 เด…เดฎเต‚เตผเดคเตเดค เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเตเด•เตพ เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเต† 7 เดตเตเดฏเดคเตเดฏเดธเตเดค เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเตเด•เดณเตเดŸเต† เด…เดตเดธเตเดฅ เดชเตเดฐเดตเดšเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต.
  • เด•เดฎเตเดชเตˆเดฒเดฑเดฟเตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดš เดชเตเดคเดฟเดฏ เดฎเดพเดŸเตเดฐเดฟเด•เตเดธเต เดฎเดพเดคเตเดคเดฎเดพเดฑเตเดฑเดฟเด•เตเด•เตฝ เดซเด‚เด—เตเดทเดจเตเด•เตพ เดšเต‡เตผเดคเตเดคเต (เด…เดจเตเดคเตผเดฒเต€เดจเด™เตเด™เตพ), เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดพเดฏ เดตเต†เด•เตเดฑเตเดฑเตผ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเดพเตฝ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต.
  • X86, AArch64, ARM, SystemZ, MIPS, AMDGPU, PowerPC เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเด•เดณเตเดŸเต† เดฌเดพเด•เตเด•เต†เตปเดกเตเด•เดณเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ เดตเดฐเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. CPU เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต
    Cortex-A65, Cortex-A65AE, Neoverse E1, Neoverse N1. ARMv8.1-M-เดจเต, เด•เต‹เดกเต เดœเดจเดฑเต‡เดทเตป เดชเตเดฐเด•เตเดฐเดฟเดฏ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตโ€Œเดคเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เตเดฑเดžเตเดž เด“เดตเตผเดนเต†เดกเตเดณเตเดณ เดฒเต‚เดชเตเดชเตเด•เตพเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดŸเต) เด•เต‚เดŸเดพเดคเต† MVE เดŽเด•เตเดธเตเดฑเตเดฑเตปเดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด“เดŸเตเดŸเต‹เดตเต†เด•เตโ€ŒเดŸเดฑเตˆเดธเต‡เดทเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต. เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏ CPU MIPS Octeon เดชเดฟเดจเตเดคเตเดฃ. PowerPC-เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ, MASSV (เดฎเดพเดคเตเดคเดฎเดพเดฑเตเดฑเดฟเด•เตเด•เตฝ เด†เด•เตโ€Œเดธเดฟเดฒเดฑเต‡เดทเตป เดธเดฌเตโ€Œเดธเดฟเดธเตเดฑเตเดฑเด‚) เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด—เดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐ เดธเดฌเตโ€Œเดฑเต‚เดŸเตเดŸเต€เดจเตเด•เดณเตเดŸเต† เดตเต†เด•เตโ€ŒเดŸเดฑเตˆเดธเต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟ, เด•เต‹เดกเต เดœเดจเดฑเต‡เดทเตป เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ, เดฒเต‚เดชเตเดชเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเต†เดฎเตเดฎเดฑเดฟ เด†เด•เตโ€Œเดธเดธเต เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตโ€Œเดคเต. x86-เดจเดพเดฏเดฟ, v2i32, v4i16, v2i16, v8i8, v4i8, v2i8 เดŽเดจเตเดจเต€ เดตเต†เด•เตเดฑเตเดฑเตผ เดคเดฐเด™เตเด™เดณเตเดŸเต† เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตฝ เดฎเดพเดฑเตเดฑเดฟ.

  • WebAssembly-เดจเตเดณเตเดณ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดŸ เด•เต‹เดกเต เดœเดจเดฑเต‡เดฑเตเดฑเตผ. TLS (เดคเตเดฐเต†เดกเต-เดฒเต‹เด•เตเด•เตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต), atomic.fence เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเดคเตเดคเต. SIMD เดชเดฟเดจเตเดคเตเดฃ เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเดšเตเดšเต. WebAssembly เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เดซเดฏเดฒเตเด•เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เตพ เดฎเตพเดŸเตเดŸเดฟ-เดตเดพเดฒเตเดฏเต‚เดกเต เดซเด‚เด—เตโ€Œเดทเตป เดธเดฟเด—เตโ€Œเดจเต‡เดšเตเดšเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเตเดฃเตเดŸเต.
  • เดฒเต‚เดชเตเดชเตเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด…เดจเดฒเตˆเดธเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เดฎเต†เดฎเตเดฎเดฑเดฟเดŽเดธเตเดŽเดธเตเดŽ, เดตเตเดฏเดคเตเดฏเดธเตเดค เดฎเต†เดฎเตเดฎเดฑเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพเด•เตเด•เดฟเดŸเดฏเดฟเดฒเตเดณเตเดณ เดกเดฟเดชเตปเดกเตปเดธเดฟเด•เตพ เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. MemorySSA เดฏเตเด•เตเด•เต เดธเดฎเดพเดนเดพเดฐเดตเตเด‚ เดจเดฟเตผเดตเตเดตเดนเดฃ เดธเดฎเดฏเดตเตเด‚ เด•เตเดฑเดฏเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ AliasSetTracker-เดจเต เดชเด•เดฐเด‚ เดชเตเดฐเด•เดŸเดจเด‚ เดจเดทเตเดŸเดชเตเดชเต†เดŸเดพเดคเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.
  • DWARF v5 เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ LLDB เดกเต€เดฌเด—เตเด—เตผ เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ. MinGW เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดŸ เดชเดฟเดจเตเดคเตเดฃ
    เด•เต‚เดŸเดพเดคเต† ARM, ARM64 เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเตปเดกเต‹เดธเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเดฌเดฟเดณเตเด•เตพ เดกเต€เดฌเด—เต เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เดชเตเดฐเดพเดฐเด‚เดญ เด•เดดเดฟเดตเต เดšเต‡เตผเดคเตเดคเต. เดŸเดพเดฌเต เด…เดฎเตผเดคเตเดคเดฟ เด‡เตปเดชเตเดŸเตเดŸเต เดธเตเดตเดฏเดฎเต‡เดต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ เด“เดซเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด“เดชเตเดทเดจเตเด•เดณเตเดŸเต† เดตเดฟเดตเดฐเดฃเด™เตเด™เตพ เดšเต‡เตผเดคเตเดคเต.

  • เดตเดฟเดชเตเดฒเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ LLD เดฒเดฟเด™เตเด•เตผ เด•เดดเดฟเดตเตเด•เตพ. GNU เดฒเดฟเด™เตเด•เดฑเตเดฎเดพเดฏเตเดณเตเดณ เด—เตเดฒเต‹เดฌเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เด…เดจเตเดฏเต‹เดœเตเดฏเดค เด‰เดฑเดชเตเดชเดพเด•เตเด•เตฝ, เด•เด‚เดชเตเดฐเดธเต เดšเต†เดฏเตเดค เดกเต€เดฌเด—เต เดตเดฟเดญเดพเด—เด™เตเด™เตพ ".zdebug" เดŽเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเด•เตเด•เตฝ, .note.gnu.property เดตเดฟเดญเดพเด—เด‚ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต PT_GNU_PROPERTY เดชเตเดฐเต‹เดชเตเดชเตผเดŸเตเดŸเดฟ เดšเต‡เตผเด•เตเด•เตฝ เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเต† ELF เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดจเตเดณเตเดณ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดŸ เดชเดฟเดจเตเดคเตเดฃ (เดญเดพเดตเดฟเดฏเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเดฒเตเด•เตพ),
    โ€œ-z noseparate-codeโ€, โ€œ-z specific-codeโ€, โ€œ-z specific-loadable-segmentsโ€ เดŽเดจเตเดจเต€ เดฎเต‹เดกเตเด•เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ. MinGW, WebAssembly เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดŸ เดชเดฟเดจเตเดคเตเดฃ.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•