Using Clang as a Compiler¶
- Clang Compiler User’s Manual
- Assembling a Complete Toolchain
- Clang Language Extensions
- Clang command line argument reference
- Attributes in Clang
- Diagnostic flags in Clang
- Cross-compilation using Clang
- Clang Static Analyzer
- Thread Safety Analysis
- Data flow analysis: an informal introduction
- AddressSanitizer
- ThreadSanitizer
- MemorySanitizer
- UndefinedBehaviorSanitizer
- DataFlowSanitizer
- LeakSanitizer
- SanitizerCoverage
- SanitizerStats
- Sanitizer special case list
- Control Flow Integrity
- LTO Visibility
- SafeStack
- ShadowCallStack
- Source-based Code Coverage
- Modules
- MSVC compatibility
- Misexpect
- OpenCL Support
- OpenMP Support
- General improvements
- Cuda devices support
- OpenMP 5.0 Implementation Details
- OpenMP 5.1 Implementation Details
- OpenMP Extensions
- SYCL Compiler and Runtime architecture design
- HLSL Support
- ThinLTO
- API Notes: Annotations Without Modifying Headers
- Debugging C++ Coroutines
- Clang “man” pages
- Frequently Asked Questions (FAQ)
Using Clang as a Library¶
- Choosing the Right Interface for Your Application
- External Clang Examples
- Introduction to the Clang AST
- LibTooling
- LibFormat
- Clang Plugins
- How to write RecursiveASTVisitor based ASTFrontendActions.
- Tutorial for building tools using LibTooling and LibASTMatchers
- Matching the Clang AST
- Clang Transformer Tutorial
- ASTImporter: Merging Clang ASTs
- How To Setup Clang Tooling For LLVM
- JSON Compilation Database Format Specification
- Clang’s refactoring engine