clang-tutor
clang-tutor copied to clipboard
A collection of out-of-tree Clang plugins for teaching and learning
Hi, author. Thanks for you excellent tutorial, I have some questions about your code in `UnusedForLoopVar`? - why ASTMatcher would work? you use API `LoopVar->isUsed(true)` in [line 64 of UnusedForLoopVar.cpp](https://github.com/banach-space/clang-tutor/blob/main/lib/UnusedForLoopVar.cpp#L64)...
Often when building third-party libraries I get a bunch of warnings "comparison between signed and unsigned types is UB". Not every such occurrence has a trivial solution. But—in my experience—most...
I want to work on a `const` qualify tool… concentrating on C with C++ as an afterthought (so don't want to get caught up on the `constexpr`, `const` ref, and...
Hi, I am learning the excellent tutorial, and I have some confusion in UnusedForLoopVar Tool. In UnusedForLoopVar especially in the implementation of RecursiveASTVisitor, the `TraverseForStmt()` is used to visit the...
The [tools](https://github.com/banach-space/clang-tutor/tree/main/tools) from **clang-tutor** fail to build when using Clang/LLVM that was build with `BUILD_SHARED_LIBS` set. This is the error that I see on Ubuntu 16.04: ``` [7/9] Linking CXX...
Thank you! This is very helpful. Do you have any example plugins for adding functions to source code? I would like an example for adding a new function, with simple...
Great work! So this tutor just focus on front-end? Will add some tutor about JIT of LLVM etc? thanks
Newer versions of `cmake` support `CMakePresets.json` which provide a convenient way of specifying platform and toolchain settings. This PR provides is a simple example which works with Ubuntu 20.04 I...
Makes sure it compiles with clang 16+ (Pushing a commit as I type)
Work with `conda-forge` packages. The following environment may be sufficient. ```yaml name: llvm channels: - conda-forge - defaults dependencies: # build tools - cmake - conan - ninja # -...