Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-clang
Useful resources and samples for using Clang-related tools, or for building stuff on top of Clang.
https://github.com/ingve/awesome-clang
Last synced: 4 days ago
JSON representation
-
Tools
-
clang-format
- clang-format docs - A tool to format C/C++/Java/JavaScript/Objective-C/Protobuf code.
- style options - clang-format style options.
- configurator - clang-format configurator.
-
clang-tidy
- clang-tidy - clang-based C++ linter tool.
- List of clang-tidy checks
- Writing a basic clang static analysis check
-
-
pp-trace
-
clang-tidy
- pp-trace - tool that traces preprocessor activity.
-
Clang static analyzer
- Clang Static Analyzer - a source code analysis tool that finds bugs in C, C++, and Objective-C programs.
- scan-build - Running the analyzer from the command line.
- Static Analysis with clang
- CodeChecker - defect database and viewer extension for Clang Static Analyzer.
- clang-analyzer-guide
-
AddressSanitizer
- AddressSanitizer - a fast memory error detector.
- Address Sanitizer - overview by Mike Ash.
-
Other Clang-based tools
- C++ Insights - a clang-based tool which does source to source transformation. Its goal is it to make things visible which normally, and intentionally, happen behind the scenes. [Live/online demo](https://cppinsights.io/) available.
- Clang Power Tools - Visual Studio extension with Clang/LLVM tools (`clang++`, `clang-tidy` and `clang-format`).
-
-
Libraries
-
LibClang
- libclang: - C Interface to Clang.
- Introduction to libclang
- LLVM & Clang library usage samples
- lloccount - C/C++ Logical Lines Of Code Counter.
- libclangmm - C++-wrapper for libclang (developed for [juCi++](https://github.com/cppit/jucipp))
- Customizable Naming Convention Checker - similar to clang-format, but for naming conventions only.
- irony-mode - A C/C++ minor mode for Emacs powered by libclang.
- c99-to-c89 - Tool to convert C99 code to MSVC-compatible C89.
- ClangKit - Objective-C frontend to LibClang.
- Customizable Naming Convention Checker - similar to clang-format, but for naming conventions only.
- c99-to-c89 - Tool to convert C99 code to MSVC-compatible C89.
- Skipping library code in gdb with help from libClang - using libClang’s Python bindings.
-
LibTooling
- LibTooling - library to support writing standalone tools based on Clang
- Tutorial for building tools using LibTooling and LibASTMatchers
- Modern source-to-source transformation with Clang and libTooling
- AST matchers and Clang refactoring tools
- Compilation databases for Clang-based tools
- LibTooling Example
-
Important Clang concepts
- Quick overview of how Clang works internally
- Getting Started with LLVM Core Libraries - PacktPub books can be a bit hit and miss, but this one is excellent. (A [PDF with updates for Clang 3.5](https://www.packtpub.com/sites/default/files/downloads/6924OS_Appendix.pdf) is available for free download).
- Introduction to the Clang AST - a gentle introduction to the mysteries of the Clang AST.
- Matching the Clang AST - how to use Clang’s LibASTMatchers to match interesting nodes of the AST and execute code that uses the matched nodes.
- AST Matcher Reference - AST matchers implemented by Clang.
- How to build LLVM from source - Step-by step, using the GitHub mirror.
- The future of Clang-based tooling
- Writing LLVM Pass in 2018 — Part I - New Pass & Pass Manager in a Peek.
- Quick overview of how Clang works internally
- Getting Started with LLVM Core Libraries - PacktPub books can be a bit hit and miss, but this one is excellent. (A [PDF with updates for Clang 3.5](https://www.packtpub.com/sites/default/files/downloads/6924OS_Appendix.pdf) is available for free download).
-
-
Videos
-
Important Clang concepts
- Create your own Refactoring Tool in Clang - Richard Thompson's presentation from C++Now 2014.
- Refactoring C++ with Clang - Chandler Carruth's talk from C++Now 2012.
- Automatic C++ source code generation with clang - Sergei Sadovnikov's ACCU 2017 talk.
-
Categories
Sub Categories
Keywords
clang
5
llvm
4
cpp
3
static-analysis
3
c
2
clang-tidy
2
objective-c
2
cplusplus-17
1
cplusplus-14
1
cplusplus-11
1
cplusplus
1
ast
1
vue
1
static-analyzers
1
static-analyzer
1
results-viewer
1
macosx
1
linux
1
docker
1
defects
1
database
1
codechecker
1
tokenization
1
syntax-highlighting
1
source
1
parsing
1
diagnostics
1
code
1
c-plus-plus
1
libclang
1
irony-mode
1
emacs
1
compilation-database
1
modernize
1
clang-format
1
clang-compile
1
cpp26
1
cpp23
1
cpp20
1
cpp17
1
cpp14
1
cpp11
1
cplusplus-23
1
cplusplus-20
1
analysis
1