Как найти UB, которое никто не хочет замечать: разбираем clang-tidy изнутри

Привет, Хабр! Меня зовут Анастасия Черникова, я занимаюсь разработкой компиляторных технологий и инструментов на базе LLVM в Синтакоре. Неопределенное поведение (undefined behavior, UB) по-разному выглядит с точки зрения компилятора и разработчика. Для первого оно, как правило, открывает дополнительные возможности для оптимизации. Для программиста же UB может стать проблемой, особенно если оно остается незамеченным и не учитывается при разработке. В этой статье рассмотрим подход к поиску UB с использованием статического анализа. В качестве примера я использую clang-tidy: сначала разберу, как устроены существующие чекеры и как работают AST matchers, а затем покажу, как расширять их и добавлять собственные проверки, если стандартных возможностей оказывается недостаточно. Отправимся на поиски и поимку UB →

https://habr.com/ru/companies/yadro/articles/1017930/

#llvm #clangtidy #ast #check #cpp #undefined_behavior #UB #compiler #sanitizers

Как найти UB, которое никто не хочет замечать: разбираем clang-tidy изнутри

Привет, Хабр! Меня зовут Анастасия Черникова, я занимаюсь разработкой компиляторов и инструментов на базе LLVM в Синтакоре. Неопределенное поведение (undefined behavior, UB) по-разному выглядит с...

Хабр

☕ and some staring...

#linuxadmin #gcc #compiler #opensource #gnu

☕ and some staring...

#linuxadmin #gcc #compiler #opensource #gnu

Oh wow.

Cross-module calls are working!

Next up: c-ffi.

#oberon #compiler #llvm

Forth VM and compiler written in C++ and Scryer Prolog

https://github.com/no382001/forth-vm

#compiler #github

GitHub - no382001/forth-vm: Forth VM and statically-typed s-expression compiler, written in C++ and Scryer Prolog

Forth VM and statically-typed s-expression compiler, written in C++ and Scryer Prolog - no382001/forth-vm

GitHub

[ #compiler ] I wrote a study notes blog post on Day 9 of Matt Godbolt's Advent of Compiler Optimisations 2025 series: "Induction variables and loops".

Read more here: https://gapry.github.io/2026/03/31/Advent-of-Compiler-Optimisations-Study-Notes-09.html

Gapry's Blog

[ #compiler ] I wrote a study notes blog post on Day 8 of Matt Godbolt's Advent of Compiler Optimisations 2025 series: "Going loopy".

Read more here: https://gapry.github.io/2026/03/31/Advent-of-Compiler-Optimisations-Study-Notes-08.html

Gapry's Blog

[ #compiler ] I wrote a study notes blog post on Day 7 of Matt Godbolt's Advent of Compiler Optimisations 2025 series: "Division by a Constant".

Read more here: https://gapry.github.io/2026/03/31/Advent-of-Compiler-Optimisations-Study-Notes-07.html

Gapry's Blog

Fixing our own problems in the Rust compiler

In our data compression projects, we use Rust where C is traditionally used. During the work, we've hit limitations in Rust itself and in the surrounding tooling. Over the years, we've become increasingly comfortable with fixing these issues ourselves. […]
— by @trifectatech

🦀 https://trifectatech.org/blog/fixing-our-own-problems-in-the-rust-compiler/

#rust #rustlang #zlib #coding #during #compiler #tooling #issues #codeissues #fixing #fix #code

Fixing our own problems in the Rust compiler - Trifecta Tech Foundation

Rust's next-generation trait solver

Rust's compiler team has been working on a long-term project to rewrite the trait solver — th [...]

LWN.net