Pull to refresh

Comments 3

Межмодульный анализ выполняется в три этапа:

А почему бы не брать уже готовое AST, подготовленное фронтендом компилятора? Я имею ввиду то, что компилятор оставляет для LTO/PGO.

Дело в том, что мы не используем фронтенд какого либо компилятора для трансляции C++ кода и не можем взять уже готовое AST. PVS-Studio анализатор поддерживает несколько компиляторов, в том числе для Embedded разработки с их расширениями, и нам не подойдёт какой то конкретный из них.

PVS-Studio анализатор поддерживает несколько компиляторов

И я как раз об этом!

Ведь логично предположить, что Ваш продукт будет использоваться на машине с уже установленным тулсетом, а не отдельно. И, учитывая, что сишных компиляторов в основной массе не так много, особенно для энтерпрайз, внедрить поддержку двух-трёх ABI (если можно так выразиться) было бы не сложнее, чем делать свой транслятор. Ведь так или иначе Вам придётся учитывать индивидуальные особенности целевого компилятора хотя бы на уровне препроцесора, разве нет?

Тем более, что gcc и clang доступны открыто, а msvc... тоже можно распарсить.

Sign up to leave a comment.