.. Clang documentation master file, created by
   sphinx-quickstart on Sun Dec  9 20:01:55 2012.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

.. title:: Welcome to Clang's documentation!

.. toctree::
   :maxdepth: 1

   ReleaseNotes

Using Clang as a Compiler
=========================

.. toctree::
   :maxdepth: 1

   UsersManual
   Toolchain
   LanguageExtensions
   ClangCommandLineReference
   AttributeReference
   DiagnosticsReference
   CrossCompilation
   ClangStaticAnalyzer
   ThreadSafetyAnalysis
   AddressSanitizer
   ThreadSanitizer
   MemorySanitizer
   UndefinedBehaviorSanitizer
   DataFlowSanitizer
   LeakSanitizer
   SanitizerCoverage
   SanitizerStats
   SanitizerSpecialCaseList
   ControlFlowIntegrity
   LTOVisibility
   SafeStack
   ShadowCallStack
   SourceBasedCodeCoverage
   Modules
   MSVCCompatibility
   OpenCLSupport
   OpenMPSupport
   ThinLTO
   APINotes
   CommandGuide/index
   FAQ

Using Clang as a Library
========================

.. toctree::
   :maxdepth: 1

   Tooling
   ExternalClangExamples
   IntroductionToTheClangAST
   LibTooling
   LibFormat
   ClangPlugins
   RAVFrontendAction
   LibASTMatchersTutorial
   LibASTMatchers
   LibASTImporter
   HowToSetupToolingForLLVM
   JSONCompilationDatabase
   RefactoringEngine

Using Clang Tools
=================

.. toctree::
   :maxdepth: 1

   ClangTools
   ClangCheck
   ClangFormat
   ClangFormatStyleOptions
   ClangFormattedStatus
   ClangOffloadBundler

Design Documents
================

.. toctree::
   :maxdepth: 1

   InternalsManual
   DriverInternals
   PCHInternals
   ItaniumMangleAbiTags
   HardwareAssistedAddressSanitizerDesign.rst
   ConstantInterpreter


Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

