.. 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
   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

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

.. toctree::
   :maxdepth: 1

   InternalsManual
   DriverInternals
   PCHInternals
   ItaniumMangleAbiTags
   HardwareAssistedAddressSanitizerDesign.rst
   ConstantInterpreter


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

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

