Explore the world of LLVM and clang library infrastructure for creating custom tools in this comprehensive conference talk. Dive into the ecosystem of LLVM and clang tooling, learning about different approaches to tool creation such as plugins and LibTooling executables. Gain insights into clang's representation of C++ source code through Abstract Syntax Trees (AST) and discover techniques for traversing ASTs to identify specific code patterns. Delve into practical applications, including static analysis for emitting warnings or errors, and source-to-source transformations like those performed by clang-tidy. Walk through real-world code examples demonstrating how to approach common tasks in each category. By the end of this talk, acquire the knowledge and skills to immediately build tools that can significantly enhance your workflow and productivity in C++ development. Presented by Peter Goldsborough, a computer science student with internship experience at major tech companies, this talk aims to empower developers with the ability to create custom, useful tools using LLVM and clang.
Overview
Syllabus
Introduction
About me
LLVM
Compilers
Syntax tree
LVM pipeline
Statement
Declarations
Expression
Types
LipTooling
Tools
cppgrip
cppgrep
clang
cyclomatic complexity
diltf
client diagnostics
endsourcel
fluid data structure
Taught by
CppNow