TGViewer
pro.cxx Channel pro.cxx Channel @procxxnews · 784 subscribers
Post #196 1.25K

Forwarded from Alex Fails Some News Channel

Вчера зарелизился 19-й LLVM, с чем всех нас и поздравляю! И с тем, что наконец-то clang поддерживает C++20 17 (но есть нюанс, читайте дальше)!
Из приятностей:
- немножко C++23, 26, в частности:
- полезный трейт (C++23) для проверки того, что ссылочка ссылается на временное значение (см. [P2255]);
- запрет возврата ссылок на временные значения (C++26, типа int &some() { int value; return value; } , см более сложные примеры и мотивацию в [P2748] );
- продление времени жизни на ссылку внутри range-based for (C++23, пример см в [P2718]);
- delete incomplete_pointer; (C++26) теперь ошибка компиляции (раньше было плохо отлаживаемое UB в случае не виртуального деструктора и у нас если пойнтер хранит производный класс, т.к. вызывался денструктор базового класса пойнтера или полиморфный. Теперь можно смазать #include-ом или просто взять std::unique_ptr<> - см [P3144]);
- больше constexpr, наконец-то deducing this до конца, атрибут [[assume]], и прочее;

- полная поддержка import-ов модулей (и module unit, и header unit, но не полная поддержка модулей!!!),
- экспериментальная поддержка модулей в clangd (автор просил больше фидбека, если что отломится, писать в этот репозиторий: https://github.com/ChuanqiXu9/clangd-for-modules/issues/ )
- директива #embed, позволяющая инклудить бинарные файлы и работать с ними, как с массивом (C23 и расширение для плюсов - я о ней писал немного раньше тут);
- пачка интересных проверок clang-tidy (например, лучше ловить use-after-move, лучше ловить висячие ссылки);
- переименовали часть LLVM IR-команд/интринсиков для большей консистентности, улучшили тулы, добавили пачку фич в ARM, RISCV
- выкинули AMD 3D-Now! из x86-бэкэнда, и интринсики к командам AVX512PF, AVX512ER, PREFETCHWT (хз, зачем их выбросили);
- начата работа над Parallel STL из C++17 (std::execution_policy::par) и спецматаном из C++17 (функция Бесселя и пр., см [P0226]);
- С LLVM 21 libcxx сделает режим "для ретроманов" - C++03 будет выделен в отдельный набор необновляемых хедеров, чтобы увеличить стабильность сборки старого легаси.

#длиннопостик #llvm #clang #clangd #libcxx #clang_tidy #release
  • 👍 7
  • 🔥 4
More from @procxxnews
  1. Sep 11, 2026Post #206
  2. May 15, 2026Уже завтра (завтра!) 16 мая откроется офлайн часть конференции C++Russia. Программа получи…
  3. Mar 30, 2026Утверждён стандарт C++26 Комитет ISO по стандартизации языка C++ завершил утвердил финальн…
  4. Nov 22, 2025Опа, релизнулся смак 4.2 (42). Из самых вкусных вещей это поддержка вышедшей студии 2026 и…
  5. May 12, 2025Очередной ежегодный небольшой опрос от ISO C++. Обещали закрыть к пятнице прошлой недели,…
  6. Mar 28, 2025Вышел-таки релиз смака 4.0! Авторы решились поднять мажор, чтобы подсветить изменения в об…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →