The future of Clang-based tooling

Clang is a popular compiler known for its fast compile times, generated machine code, end-to-end correctness, quality diagnostic messages, and backing from the developer community. However, despite its success, Clang’s tooling capabilities leave much to be desired. The Clang AST (abstract syntax tree) lacks important information, the Clang CFG (control-flow graph) is an approximation, and LLVM IR (intermediate representation) is not always retargetable. Additionally, the libClang API is not designed as an external API, compile_commands.json format is incomplete, and the traditional compiler pipeline model does not accurately represent how Clang operates. But there is hope for the future with tools like PASTA and VAST that aim to improve Clang-based tooling.

To top