clang 20.0.0git
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
clang Namespace Reference

The JSON file list parser is used to communicate input to InstallAPI. More...

Namespaces

namespace  AArch64
 AArch64 builtins.
 
namespace  AMDGPU
 AMDGPU builtins.
 
namespace  analyze_format_string
 Common components of both fprintf and fscanf format strings.
 
namespace  analyze_os_log
 
namespace  analyze_printf
 Pieces specific to fprintf format strings.
 
namespace  analyze_scanf
 Pieces specific to fscanf format strings.
 
namespace  api_notes
 
namespace  arcmt
 
namespace  ARM
 ARM builtins.
 
namespace  ast_matchers
 
namespace  attr
 
namespace  attrvisitor
 
namespace  BPF
 BPF builtins.
 
namespace  Builtin
 
namespace  charinfo
 
namespace  CodeGen
 
namespace  comments
 
namespace  concepts
 
namespace  consumed
 
namespace  cross_tu
 
namespace  data_collection
 
namespace  dataflow
 Dataflow Directional Tag Classes.
 
namespace  declvisitor
 
namespace  dependency_directives_scan
 
namespace  detail
 
namespace  diag
 
namespace  diff
 
namespace  driver
 
namespace  edit
 
namespace  ento
 
namespace  extractapi
 
namespace  FileMgr
 
namespace  format
 
namespace  frontend
 
namespace  Hexagon
 Hexagon builtins.
 
namespace  hlsl
 
namespace  html
 
namespace  index
 
namespace  installapi
 The DirectoryScanner for collecting library files on the file system.
 
namespace  internal
 
namespace  interp
 
namespace  LoongArch
 LoongArch builtins.
 
namespace  markup
 
namespace  Mips
 MIPS builtins.
 
namespace  NEON
 
namespace  NVPTX
 NVPTX builtins.
 
namespace  ObjCPropertyAttribute
 ObjCPropertyAttribute::Kind - list of property attributes.
 
namespace  optional_detail
 
namespace  PPC
 PPC builtins.
 
namespace  prec
 PrecedenceLevels - These are precedences for the binary/ternary operators in the C99 grammar.
 
namespace  randstruct
 
namespace  reachable_code
 
namespace  RISCV
 RISCV builtins.
 
namespace  RISCVVector
 
namespace  sema
 
namespace  serialization
 
namespace  serialized_diags
 
namespace  SME
 
namespace  SrcMgr
 Public enums and private classes that are part of the SourceManager implementation.
 
namespace  SVE
 
namespace  syntax
 
namespace  SystemZ
 SystemZ builtins.
 
namespace  targets
 
namespace  templateargumentvisitor
 
namespace  threadSafety
 
namespace  tok
 
namespace  tooling
 
namespace  transformer
 
namespace  TypeName
 
namespace  VE
 VE builtins.
 
namespace  WebAssembly
 WebAssembly builtins.
 
namespace  X86
 X86 builtins.
 
namespace  XCore
 XCore builtins.
 
namespace  XRayInstrKind
 

Classes

class  AbstractConditionalOperator
 AbstractConditionalOperator - An abstract base class for ConditionalOperator and BinaryConditionalOperator. More...
 
class  AccessSpecDecl
 Represents an access specifier followed by colon ':'. More...
 
class  ActionResult
 The result of parsing/analyzing an expression, statement etc. More...
 
class  ActionResult< PtrTy, true >
 
struct  AddFlagValue
 
class  AddrLabelExpr
 AddrLabelExpr - The GNU address of label extension, representing &&label. More...
 
struct  AdjustedLocInfo
 
class  AdjustedType
 Represents a type which was implicitly adjusted by the semantic engine for arbitrary reasons. More...
 
class  AdjustedTypeLoc
 
class  ADLResult
 A class for storing results from argument-dependent lookup. More...
 
struct  AmbiguousConversionSequence
 Represents an ambiguous user-defined conversion sequence. More...
 
class  AnalysisDeclContext
 AnalysisDeclContext contains the context data for the function, method or block under analysis. More...
 
class  AnalysisDeclContextManager
 
class  AnalyzerOptions
 Stores options for the analyzer from the command line. More...
 
class  AnyCall
 An instance of this class corresponds to a call. More...
 
class  APFloatStorage
 
class  APINotesOptions
 Tracks various options which control how API notes are found and handled. More...
 
class  APIntStorage
 
class  APNumericStorage
 Used by IntegerLiteral/FloatingLiteral/EnumConstantDecl to store the numeric without leaking memory. More...
 
class  APValue
 APValue - This class implements a discriminated union of [uninitialized] [APSInt] [APFloat], [Complex APSInt] [Complex APFloat], [Expr + Offset], [Vector: N * APValue], [Array: N * APValue]. More...
 
class  ArgumentConstructionContext
 
class  ArrayInitIndexExpr
 Represents the index of the current element of an array being initialized by an ArrayInitLoopExpr. More...
 
class  ArrayInitLoopExpr
 Represents a loop initializing the elements of an array. More...
 
struct  ArrayLocInfo
 
class  ArrayParameterType
 Represents a constant array type that does not decay to a pointer when used as a function parameter. More...
 
class  ArrayParameterTypeLoc
 Wrapper for source info for array parameter types. More...
 
class  ArraySectionExpr
 This class represents BOTH the OpenMP Array Section and OpenACC 'subarray', with a boolean differentiator. More...
 
class  ArraySubscriptExpr
 ArraySubscriptExpr - [C99 6.5.2.1] Array Subscripting. More...
 
class  ArrayType
 Represents an array type, per C99 6.7.5.2 - Array Declarators. More...
 
class  ArrayTypeLoc
 Wrapper for source info for arrays. More...
 
class  ArrayTypeTraitExpr
 An Embarcadero array type trait, as used in the implementation of __array_rank and __array_extent. More...
 
class  AsmStmt
 AsmStmt is the base class for GCCAsmStmt and MSAsmStmt. More...
 
class  AssumedTemplateStorage
 A structure for storing the information associated with a name that has been assumed to be a template name (despite finding no TemplateDecls). More...
 
struct  ASTConstraintSatisfaction
 The result of a constraint satisfaction check, containing the necessary information to diagnose an unsatisfied constraint. More...
 
class  ASTConsumer
 ASTConsumer - This is an abstract interface that should be implemented by clients that read ASTs. More...
 
class  ASTContext
 Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic analysis of a file. More...
 
class  ASTDeclListAction
 
class  ASTDeclMerger
 
class  ASTDeclReader
 
class  ASTDeclWriter
 
class  ASTDeserializationListener
 
class  ASTDumpAction
 
class  ASTDumper
 
struct  ASTFileSignature
 The signature of a module, which is a hash of the AST content. More...
 
class  ASTFrontendAction
 Abstract base class to use for AST consumer-based frontend actions. More...
 
class  ASTIdentifierIterator
 An identifier-lookup iterator that enumerates all of the identifiers stored within a set of AST files. More...
 
class  ASTImporter
 Imports selected nodes from one AST context into another context, merging AST nodes where appropriate. More...
 
class  ASTImporterLookupTable
 
class  ASTImportError
 
class  ASTImporterSharedState
 Importer specific state, which may be shared amongst several ASTImporter objects. More...
 
class  ASTMergeAction
 Frontend action adaptor that merges ASTs together. More...
 
class  ASTMutationListener
 An abstract interface that should be implemented by listeners that want to be notified when an AST entity gets modified after its initial creation. More...
 
class  ASTNameGenerator
 
class  ASTNodeImporter
 
class  ASTNodeKind
 Kind identifier. More...
 
class  ASTNodeTraverser
 ASTNodeTraverser traverses the Clang AST for dumping purposes. More...
 
class  ASTPrintAction
 
class  ASTReader
 Reads an AST files chain containing the contents of a translation unit. More...
 
class  ASTReaderListener
 Abstract interface for callback invocations by the ASTReader. More...
 
class  ASTRecordLayout
 ASTRecordLayout - This class contains layout information for one RecordDecl, which is a struct/union/class. More...
 
class  ASTRecordReader
 An object for streaming information from a record. More...
 
class  ASTRecordWriter
 An object for streaming information to a record. More...
 
class  ASTSourceDescriptor
 Abstracts clang modules and precompiled header files and holds everything needed to generate debug info for an imported module or PCH. More...
 
class  ASTStmtReader
 
class  ASTStmtWriter
 
struct  ASTTemplateArgumentListInfo
 Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>". More...
 
struct  ASTTemplateKWAndArgsInfo
 Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>". More...
 
class  ASTUnit
 Utility class for loading a ASTContext from an AST file. More...
 
class  ASTUnresolvedSet
 An UnresolvedSet-like class which uses the ASTContext's allocator. More...
 
class  ASTVector
 
class  ASTViewAction
 
class  ASTWriter
 Writes an AST file containing the contents of a translation unit. More...
 
class  AsTypeExpr
 AsTypeExpr - Clang builtin function __builtin_astype [OpenCL 6.2.4.2] This AST node provides support for reinterpreting a type to another type of the same size. More...
 
struct  AtomicConstraint
 
class  AtomicExpr
 AtomicExpr - Variadic atomic builtins: __atomic_exchange, __atomic_fetch_*, __atomic_load, __atomic_store, and __atomic_compare_exchange_*, for the similarly-named C++11 instructions, and __c11 variants for <stdatomic.h>, and corresponding __opencl_atomic_* for OpenCL 2.0. More...
 
class  AtomicScopeGenericModel
 Defines the generic atomic scope model. More...
 
class  AtomicScopeHIPModel
 Defines the synch scope model for HIP. More...
 
class  AtomicScopeModel
 Defines the interface for synch scope model. More...
 
class  AtomicScopeOpenCLModel
 Defines the synch scope model for OpenCL. More...
 
class  AtomicType
 
class  AtomicTypeLoc
 
struct  AtomicTypeLocInfo
 
class  Attr
 Attr - This represents one attribute. More...
 
class  AttributeCommonInfo
 
struct  AttributedLocInfo
 
class  AttributedStmt
 Represents an attribute applied to a statement. More...
 
class  AttributedType
 An attributed type is a type to which a type attribute has been applied. More...
 
class  AttributedTypeLoc
 Type source information for an attributed type. More...
 
class  AttributeFactory
 A factory, from which one makes pools, from which one creates individual attributes which are deallocated with the pool. More...
 
class  AttributePool
 
class  AttrVisitor
 A simple visitor class that helps create attribute visitors. More...
 
class  AutoType
 Represents a C++11 auto or C++14 decltype(auto) type, possibly constrained by a type-constraint. More...
 
class  AutoTypeLoc
 
struct  AutoTypeLocInfo
 
struct  AvailabilityChange
 Represents information about a change in availability for an entity, which is part of the encoding of the 'availability' attribute. More...
 
struct  AvailabilityInfo
 Storage of availability attributes for a declaration. More...
 
class  AvailabilitySpec
 One specifier in an @available expression. More...
 
class  BackendConsumer
 
struct  BackwardDataflowWorklist
 A worklist implementation for backward dataflow analysis. More...
 
struct  BadConversionSequence
 BadConversionSequence - Records information about an invalid conversion sequence. More...
 
class  BalancedDelimiterTracker
 RAII class that helps handle the parsing of an open/close delimiter pair, such as braces { ... } or parentheses ( ... ). More...
 
class  BaseSubobject
 
class  BaseUsingDecl
 Represents a C++ declaration that introduces decls from somewhere else. More...
 
class  BeforeThanCompare
 Comparison function object. More...
 
class  BeforeThanCompare< SourceLocation >
 Compare two source locations. More...
 
class  BeforeThanCompare< SourceRange >
 Compare two non-overlapping source ranges. More...
 
class  BinaryConditionalOperator
 BinaryConditionalOperator - The GNU extension to the conditional operator which allows the middle operand to be omitted. More...
 
class  BinaryOperator
 A builtin binary operation expression such as "x + y" or "x <= y". More...
 
class  BindingDecl
 A binding in a decomposition declaration. More...
 
class  BitIntType
 A fixed int type of a specified bitwidth. More...
 
class  BitIntTypeLoc
 
class  BitsPacker
 A simple helper class to pack several bits in order into (a) 32 bit integer(s). More...
 
class  BitsUnpacker
 A simple helper class to unpack an integer to bits and consuming the bits in order. More...
 
class  BlockDecl
 Represents a block literal declaration, which is like an unnamed FunctionDecl. More...
 
class  BlockEdge
 
class  BlockEntrance
 
class  BlockExit
 
class  BlockExpr
 BlockExpr - Adaptor class for mixing a BlockDecl with expressions. More...
 
class  BlockInvocationContext
 It represents a block invocation (based on BlockCall). More...
 
class  BlockPointerType
 Pointer to a block type. More...
 
class  BlockPointerTypeLoc
 Wrapper for source info for block pointers. More...
 
struct  BlockVarCopyInit
 Copy initialization expr of a __block variable and a boolean flag that indicates whether the expression can throw. More...
 
class  BodyFarm
 
struct  BoundsAttributedLocInfo
 
class  BoundsAttributedType
 [BoundsSafety] Represents a parent type class for CountAttributedType and similar sugar types that will be introduced to represent a type with a bounds attribute. More...
 
class  BoundsAttributedTypeLoc
 
class  BreakStmt
 BreakStmt - This represents a break. More...
 
struct  BTFTagAttributedLocInfo
 
class  BTFTagAttributedType
 
class  BTFTagAttributedTypeLoc
 Type source information for an btf_tag attributed type. More...
 
class  BuildPreambleErrorCategory
 
struct  BuildResult
 
class  BuiltinBitCastExpr
 Represents a C++2a __builtin_bit_cast(T, v) expression. More...
 
struct  BuiltinLocInfo
 
class  BuiltinTemplateDecl
 Represents the builtin template declaration which is used to implement __make_integer_seq and other builtin templates. More...
 
class  BuiltinType
 This class is used for builtin types like 'int'. More...
 
class  BuiltinTypeLoc
 Wrapper for source info for builtin types. More...
 
class  BumpVector
 
class  BumpVectorContext
 
class  CalledOnceCheckHandler
 
class  CallEnter
 Represents a point when we begin processing an inlined call. More...
 
class  CallExitBegin
 Represents a point when we start the call exit sequence (for inlined call). More...
 
class  CallExitEnd
 Represents a point when we finish the call exit sequence (for inlined call). More...
 
class  CallExpr
 CallExpr - Represents a function call (C99 6.5.2.2, C++ [expr.call]). More...
 
class  CallGraph
 The AST-based call graph. More...
 
class  CallGraphNode
 
class  CanonicalDeclPtr
 A wrapper class around a pointer that always points to its canonical declaration. More...
 
class  CanProxy
 Canonical proxy type returned when retrieving the members of a canonical type or as the result of the CanQual<T>::getAs member function. More...
 
struct  CanProxyAdaptor
 Replaceable canonical proxy adaptor class that provides the link between a canonical type and the accessors of the type. More...
 
struct  CanProxyAdaptor< BlockPointerType >
 
struct  CanProxyAdaptor< ComplexType >
 
struct  CanProxyAdaptor< DecltypeType >
 
struct  CanProxyAdaptor< DependentSizedExtVectorType >
 
struct  CanProxyAdaptor< EnumType >
 
struct  CanProxyAdaptor< ExtVectorType >
 
struct  CanProxyAdaptor< FunctionNoProtoType >
 
struct  CanProxyAdaptor< FunctionProtoType >
 
struct  CanProxyAdaptor< FunctionType >
 
struct  CanProxyAdaptor< LValueReferenceType >
 
struct  CanProxyAdaptor< MemberPointerType >
 
struct  CanProxyAdaptor< ObjCObjectPointerType >
 
struct  CanProxyAdaptor< ObjCObjectType >
 
struct  CanProxyAdaptor< PointerType >
 
struct  CanProxyAdaptor< RecordType >
 
struct  CanProxyAdaptor< ReferenceType >
 
struct  CanProxyAdaptor< RValueReferenceType >
 
struct  CanProxyAdaptor< TagType >
 
struct  CanProxyAdaptor< TemplateTypeParmType >
 
struct  CanProxyAdaptor< TypeOfType >
 
struct  CanProxyAdaptor< UnaryTransformType >
 
struct  CanProxyAdaptor< VectorType >
 
class  CanProxyBase
 Base class of all canonical proxy types, which is responsible for storing the underlying canonical type and providing basic conversions. More...
 
class  CanQual
 Represents a canonical, potentially-qualified type. More...
 
struct  CanTypeIterator
 Iterator adaptor that turns an iterator over canonical QualTypes into an iterator over CanQualTypes. More...
 
class  CapturedDecl
 Represents the body of a CapturedStmt, and serves as its DeclContext. More...
 
class  CapturedStmt
 This captures a statement into a function. More...
 
class  CaseStmt
 CaseStmt - Represent a case statement. More...
 
struct  cast_convert_decl_context
 
struct  cast_convert_decl_context< ToTy, true >
 
class  CastExpr
 CastExpr - Base class for type casts, including both implicit casts (ImplicitCastExpr) and explicit casts that have some representation in the source code (ExplicitCastExpr's derived classes). More...
 
class  CFG
 Represents a source-level, intra-procedural CFG that represents the control-flow of a Stmt. More...
 
class  CFGAutomaticObjDtor
 Represents C++ object destructor implicitly generated for automatic object or temporary bound to const reference at the point of leaving its local scope. More...
 
class  CFGBaseDtor
 Represents C++ object destructor implicitly generated for base object in destructor. More...
 
class  CFGBlock
 Represents a single basic block in a source-level CFG. More...
 
class  CFGCallback
 CFGCallback defines methods that should be called when a logical operator error is found when building the CFG. More...
 
class  CFGCleanupFunction
 
class  CFGConstructor
 Represents C++ constructor call. More...
 
class  CFGCXXRecordTypedCall
 Represents a function call that returns a C++ object by value. More...
 
class  CFGDeleteDtor
 Represents C++ object destructor generated from a call to delete. More...
 
class  CFGDominatorTreeImpl
 Dominator tree builder for Clang's CFG based on llvm::DominatorTreeBase. More...
 
class  CFGElement
 Represents a top-level expression in a basic block. More...
 
class  CFGImplicitDtor
 Represents C++ object destructor implicitly generated by compiler on various occasions. More...
 
class  CFGInitializer
 Represents C++ base or member initializer from constructor's initialization list. More...
 
class  CFGLifetimeEnds
 Represents the point where the lifetime of an automatic object ends. More...
 
class  CFGLoopExit
 Represents the point where a loop ends. More...
 
class  CFGMemberDtor
 Represents C++ object destructor implicitly generated for member object in destructor. More...
 
class  CFGNewAllocator
 Represents C++ allocator call. More...
 
class  CFGReverseBlockReachabilityAnalysis
 
class  CFGScopeBegin
 Represents beginning of a scope implicitly generated by the compiler on encountering a CompoundStmt. More...
 
class  CFGScopeEnd
 Represents end of a scope implicitly generated by the compiler after the last Stmt in a CompoundStmt's body. More...
 
class  CFGStmt
 
class  CFGStmtMap
 
class  CFGTemporaryDtor
 Represents C++ object destructor implicitly generated at the end of full expression for temporary object. More...
 
class  CFGTerminator
 Represents CFGBlock terminator statement. More...
 
class  ChainedASTReaderListener
 Simple wrapper class for chaining listeners. More...
 
class  ChainedDiagnosticConsumer
 ChainedDiagnosticConsumer - Chain two diagnostic clients so that diagnostics go to the first client and then the second. More...
 
class  CharacterLiteral
 
class  CharLiteralParser
 CharLiteralParser - Perform interpretation and semantic analysis of a character literal. More...
 
class  CharSourceRange
 Represents a character-granular source range. More...
 
class  CharUnits
 CharUnits - This is an opaque type for sizes expressed in character units. More...
 
class  ChildErrorHandlingStrategy
 How to handle import errors that occur when import of a child declaration of a DeclContext fails. More...
 
class  ChooseExpr
 ChooseExpr - GNU builtin-in function __builtin_choose_expr. More...
 
class  ClangDiagnosticHandler
 
class  ClassTemplateDecl
 Declaration of a class template. More...
 
class  ClassTemplatePartialSpecializationDecl
 
class  ClassTemplateSpecializationDecl
 Represents a class template specialization, which refers to a class template with a given set of template arguments. More...
 
class  CleanupInfo
 
class  CloneConstraint
 This class is a utility class that contains utility functions for building custom constraints. More...
 
class  CloneDetector
 Searches for similar subtrees in the AST. More...
 
class  CoawaitExpr
 Represents a 'co_await' expression. More...
 
class  CodeCompleteConsumer
 Abstract interface for a consumer of code-completion information. More...
 
class  CodeCompleteOptions
 Options controlling the behavior of code completion. More...
 
class  CodeCompletionAllocator
 An allocator used specifically for the purpose of code completion. More...
 
class  CodeCompletionBuilder
 A builder class used to construct new code-completion strings. More...
 
class  CodeCompletionContext
 The context in which code completion occurred, so that the code-completion consumer can process the results accordingly. More...
 
class  CodeCompletionHandler
 Callback handler that receives notifications when performing code completion within the preprocessor. More...
 
class  CodeCompletionResult
 Captures a result of code completion. More...
 
class  CodeCompletionString
 A "string" used to describe how code completion can be performed for an entity. More...
 
class  CodeCompletionTUInfo
 
class  CodeGenAction
 
class  CodeGenerator
 The primary public interface to the Clang code generator. More...
 
class  CodeGenOptions
 CodeGenOptions - Track various options which control how the code is optimized and passed to the backend. More...
 
class  CodeGenOptionsBase
 Bitfields of CodeGenOptions, split out from CodeGenOptions to ensure that this large collection of bitfields is a trivial class type. More...
 
class  CodeInjector
 CodeInjector is an interface which is responsible for injecting AST of function definitions that may not be available in the original source. More...
 
class  ColonProtectionRAIIObject
 ColonProtectionRAIIObject - This sets the Parser::ColonIsSacred bool and restores it when destroyed. More...
 
class  ColorScope
 
class  CommentHandler
 Abstract base class that describes a handler that will receive source ranges for each of the comments encountered in the source file. More...
 
struct  CommentOptions
 Options for controlling comment parsing. More...
 
class  ComparisonCategories
 
class  ComparisonCategoryInfo
 
class  CompilerInstance
 CompilerInstance - Helper class for managing a single instance of the Clang compiler. More...
 
class  CompilerInvocation
 Helper class for holding the data necessary to invoke the compiler. More...
 
class  CompilerInvocationBase
 The base class of CompilerInvocation. More...
 
class  CompletionContextHandler
 The class CompletionContextHandler contains four interfaces, each of which handles one type of completion result. More...
 
class  ComplexType
 Complex values, per C99 6.2.5p11. More...
 
class  ComplexTypeLoc
 
class  CompoundAssignOperator
 CompoundAssignOperator - For compound assignments (e.g. More...
 
class  CompoundLiteralExpr
 CompoundLiteralExpr - [C99 6.5.2.5]. More...
 
class  CompoundStmt
 CompoundStmt - This represents a group of statements like { stmt stmt }. More...
 
class  CompressedOffloadBundle
 
class  ConceptDecl
 Declaration of a C++20 concept. More...
 
class  ConceptReference
 A reference to a concept and its template args, as it appears in the code. More...
 
class  ConceptSpecializationExpr
 Represents the specialization of a concept - evaluates to a prvalue of type bool. More...
 
class  ConcreteTypeLoc
 A metaprogramming base class for TypeLoc classes which correspond to a particular Type subclass. More...
 
class  ConditionalOperator
 ConditionalOperator - The ?: ternary operator. More...
 
class  ConstantArrayType
 Represents the canonical version of C arrays with a specified constant size. More...
 
class  ConstantArrayTypeLoc
 
class  ConstantExpr
 ConstantExpr - An expression that occurs in a constant context and optionally the result of evaluating the expression. More...
 
class  ConstantMatrixType
 Represents a concrete matrix type with constant number of rows and columns. More...
 
class  ConstantMatrixTypeLoc
 
class  ConstAttrVisitor
 A simple visitor class that helps create attribute visitors. More...
 
class  ConstDeclVisitor
 A simple visitor class that helps create declaration visitors. More...
 
class  ConstEvaluatedExprVisitor
 ConstEvaluatedExprVisitor - This class visits 'const Expr *'s. More...
 
class  ConstOMPClauseVisitor
 
class  ConstraintSatisfaction
 The result of a constraint satisfaction check, containing the necessary information to diagnose an unsatisfied constraint. More...
 
class  ConstructionContext
 ConstructionContext's subclasses describe different ways of constructing an object in C++. More...
 
class  ConstructionContextItem
 Represents a single point (AST node) in the program that requires attention during construction of an object. More...
 
class  ConstructionContextLayer
 Construction context can be seen as a linked list of multiple layers. More...
 
struct  ConstructorInfo
 
class  ConstructorInitializerConstructionContext
 
class  ConstructorUsingShadowDecl
 Represents a shadow constructor declaration introduced into a class by a C++11 using-declaration that names a constructor. More...
 
struct  ConstStmtIterator
 
class  ConstStmtVisitor
 ConstStmtVisitor - This class implements a simple visitor for Stmt subclasses. More...
 
class  ConstTemplateArgumentVisitor
 A simple visitor class that helps create template argument visitors. More...
 
class  ContinueStmt
 ContinueStmt - This represents a continue. More...
 
class  ContinuousRangeMap
 A map from continuous integer ranges to some value, with a very specialized interface. More...
 
class  ControlDependencyCalculator
 
struct  ConversionFixItGenerator
 The class facilities generation and storage of conversion FixIts. More...
 
class  ConvertVectorExpr
 ConvertVectorExpr - Clang builtin function __builtin_convertvector This AST node provides support for converting a vector type to another vector type of the same arity. More...
 
struct  CopiedTypeVisitor
 
class  CoreturnStmt
 Represents a 'co_return' statement in the C++ Coroutines TS. More...
 
class  CoroutineBodyStmt
 Represents the body of a coroutine. More...
 
class  CoroutineStmtBuilder
 
class  CoroutineSuspendExpr
 Represents an expression that might suspend coroutine execution; either a co_await or co_yield expression. More...
 
class  CorrectionCandidateCallback
 Base class for callback objects used by Sema::CorrectTypo to check the validity of a potential typo correction. More...
 
class  CountAttributedType
 Represents a sugar type with __counted_by or __sized_by annotations, including their _or_null variants. More...
 
class  CountAttributedTypeLoc
 
class  CoverageSourceInfo
 Stores additional source code information like skipped ranges which is required by the coverage mapping generator and is obtained from the preprocessor. More...
 
class  CowCompilerInvocation
 Same as CompilerInvocation, but with copy-on-write optimization. More...
 
class  CoyieldExpr
 Represents a 'co_yield' expression. More...
 
struct  CreateInvocationOptions
 Optional inputs to createInvocation. More...
 
class  CStyleCastExpr
 CStyleCastExpr - An explicit cast in C (C99 6.5.4) or a C-style cast in C++ (C++ [expr.cast]), which uses the syntax (Type)expr. More...
 
class  CUDAKernelCallExpr
 Represents a call to a CUDA kernel function. More...
 
struct  CudaVersionMapEntry
 
class  CurrentSourceLocExprScope
 Represents the current source location and context used to determine the value of the source location builtins (ex. More...
 
class  CustomizableOptional
 
class  CXX17ElidedCopyConstructorInitializerConstructionContext
 Represents construction into a field or a base class within a bigger object via a constructor initializer, with a single constructor, eg. More...
 
class  CXX17ElidedCopyReturnedValueConstructionContext
 Represents a temporary object that is being immediately returned from a function by value, eg. More...
 
class  CXX17ElidedCopyVariableConstructionContext
 Represents construction into a simple variable with an initializer syntax, with a single constructor, eg. More...
 
class  CXX20ModulesGenerator
 
class  CXXABI
 Implements C++ ABI-specific semantic analysis functions. More...
 
class  CXXAddrspaceCastExpr
 A C++ addrspace_cast expression (currently only enabled for OpenCL). More...
 
class  CXXBasePath
 Represents a path from a specific derived class (which is not represented as part of the path) to a particular (direct or indirect) base class subobject. More...
 
struct  CXXBasePathElement
 Represents an element in a path from a derived class to a base class. More...
 
class  CXXBasePaths
 BasePaths - Represents the set of paths from a derived class to one of its (direct or indirect) bases. More...
 
class  CXXBaseSpecifier
 Represents a base class of a C++ class. More...
 
class  CXXBindTemporaryExpr
 Represents binding an expression to a temporary. More...
 
class  CXXBoolLiteralExpr
 A boolean literal, per ([C++ lex.bool] Boolean literals). More...
 
class  CXXCatchStmt
 CXXCatchStmt - This represents a C++ catch block. More...
 
class  CXXConstCastExpr
 A C++ const_cast expression (C++ [expr.const.cast]). More...
 
class  CXXConstructExpr
 Represents a call to a C++ constructor. More...
 
class  CXXConstructorDecl
 Represents a C++ constructor within a class. More...
 
class  CXXConversionDecl
 Represents a C++ conversion function within a class. More...
 
class  CXXCtorInitializer
 Represents a C++ base or member initializer. More...
 
class  CXXDeductionGuideDecl
 Represents a C++ deduction guide declaration. More...
 
class  CXXDefaultArgExpr
 A default argument (C++ [dcl.fct.default]). More...
 
class  CXXDefaultInitExpr
 A use of a default initializer in a constructor or in aggregate initialization. More...
 
class  CXXDeleteExpr
 Represents a delete expression for memory deallocation and destructor calls, e.g. More...
 
class  CXXDependentScopeMemberExpr
 Represents a C++ member access expression where the actual member referenced could not be resolved because the base expression or the member name was dependent. More...
 
class  CXXDestructorDecl
 Represents a C++ destructor within a class. More...
 
class  CXXDynamicCastExpr
 A C++ dynamic_cast expression (C++ [expr.dynamic.cast]). More...
 
class  CXXFieldCollector
 CXXFieldCollector - Used to keep track of CXXFieldDecls during parsing of C++ classes. More...
 
class  CXXFinalOverriderMap
 A mapping from each virtual member function to its set of final overriders. More...
 
class  CXXFoldExpr
 Represents a folding of a pack over an operator. More...
 
class  CXXForRangeStmt
 CXXForRangeStmt - This represents C++0x [stmt.ranged]'s ranged for statement, represented as 'for (range-declarator : range-expression)' or 'for (init-statement range-declarator : range-expression)'. More...
 
class  CXXFunctionalCastExpr
 Represents an explicit C++ type conversion that uses "functional" notation (C++ [expr.type.conv]). More...
 
class  CXXIndirectPrimaryBaseSet
 A set of all the primary bases for a class. More...
 
class  CXXInheritedCtorInitExpr
 Represents a call to an inherited base class constructor from an inheriting constructor. More...
 
class  CXXMemberCallExpr
 Represents a call to a member function that may be written either with member call syntax (e.g., "obj.func()" or "objptr->func()") or with normal function-call syntax ("func()") within a member function that ends up calling a member function. More...
 
class  CXXMethodDecl
 Represents a static or instance method of a struct/union/class. More...
 
class  CXXNamedCastExpr
 Abstract class common to all of the C++ "named"/"keyword" casts. More...
 
class  CXXNewExpr
 Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)". More...
 
class  CXXNoexceptExpr
 Represents a C++11 noexcept expression (C++ [expr.unary.noexcept]). More...
 
class  CXXNullPtrLiteralExpr
 The null pointer literal (C++11 [lex.nullptr]) More...
 
class  CXXOperatorCallExpr
 A call to an overloaded operator written using operator syntax. More...
 
class  CXXParenListInitExpr
 Represents a list-initialization with parenthesis. More...
 
class  CXXPseudoDestructorExpr
 Represents a C++ pseudo-destructor (C++ [expr.pseudo]). More...
 
class  CXXRecordDecl
 Represents a C++ struct/union/class. More...
 
class  CXXReinterpretCastExpr
 A C++ reinterpret_cast expression (C++ [expr.reinterpret.cast]). More...
 
class  CXXRewrittenBinaryOperator
 A rewritten comparison expression that was originally written using operator syntax. More...
 
class  CXXScalarValueInitExpr
 An expression "T()" which creates a value-initialized rvalue of type T, which is a non-class type. More...
 
class  CXXScopeSpec
 Represents a C++ nested-name-specifier or a global scope specifier. More...
 
class  CXXStaticCastExpr
 A C++ static_cast expression (C++ [expr.static.cast]). More...
 
class  CXXStdInitializerListExpr
 Implicit construction of a std::initializer_list<T> object from an array temporary within list-initialization (C++11 [dcl.init.list]p5). More...
 
class  CXXTemporary
 Represents a C++ temporary. More...
 
class  CXXTemporaryObjectExpr
 Represents a C++ functional cast expression that builds a temporary object. More...
 
class  CXXThisExpr
 Represents the this expression in C++. More...
 
class  CXXThrowExpr
 A C++ throw-expression (C++ [except.throw]). More...
 
class  CXXTryStmt
 CXXTryStmt - A C++ try block, including all handlers. More...
 
class  CXXTypeidExpr
 A C++ typeid expression (C++ [expr.typeid]), which gets the type_info that corresponds to the supplied type, or the (possibly dynamic) type of the supplied expression. More...
 
class  CXXUnresolvedConstructExpr
 Describes an explicit type conversion that uses functional notion but could not be resolved because one or more arguments are type-dependent. More...
 
class  CXXUuidofExpr
 A Microsoft C++ __uuidof expression, which gets the _GUID that corresponds to the supplied type or expression. More...
 
class  DarwinSDKInfo
 The information about the darwin SDK that was used during this compilation. More...
 
class  DataflowValues
 DataflowValues. Container class to store dataflow values for a CFG. More...
 
class  DataflowWorklistBase
 A worklist implementation where the enqueued blocks will be dequeued based on the order defined by 'Comp'. More...
 
class  DecayedType
 Represents a pointer type decayed from an array or function type. More...
 
class  DecayedTypeLoc
 Wrapper for source info for pointers decayed from arrays and functions. More...
 
class  Decl
 Decl - This represents one declaration (or definition), e.g. More...
 
class  DeclAccessPair
 A POD class for pairing a NamedDecl* with an access specifier. More...
 
class  DeclarationName
 The name of a declaration. More...
 
struct  DeclarationNameInfo
 DeclarationNameInfo - A collector data type for bundling together a DeclarationName and the corresponding source/type location info. More...
 
class  DeclarationNameLoc
 DeclarationNameLoc - Additional source/type location info for a declaration name. More...
 
class  DeclarationNameTable
 DeclarationNameTable is used to store and retrieve DeclarationName instances for the various kinds of declaration names, e.g., normal identifiers, C++ constructor names, etc. More...
 
class  Declarator
 Information about one declarator, including the parsed type information and the identifier. More...
 
struct  DeclaratorChunk
 One instance of this struct is used for each type in a declarator that is parsed. More...
 
class  DeclaratorDecl
 Represents a ValueDecl that came out of a declarator. More...
 
class  DeclContext
 DeclContext - This is used only as base class of specific decl types that can act as declaration contexts. More...
 
class  DeclContextLookupResult
 The results of name lookup within a DeclContext. More...
 
class  DeclFilterCCC
 Simple template class for restricting typo correction candidates to ones having a single Decl* of the given type. More...
 
class  DeclGroup
 
class  DeclGroupRef
 
class  DeclIDBase
 GlobalDeclID means DeclID in the current ASTContext and LocalDeclID means DeclID specific to a certain ModuleFile. More...
 
class  DeclIDIterator
 A helper iterator adaptor to convert the iterators to SmallVector<SomeDeclID> to the iterators to SmallVector<OtherDeclID>. More...
 
class  DeclListNode
 A list storing NamedDecls in the lookup tables. More...
 
class  DeclOrStmtAttr
 
class  DeclRefExpr
 A reference to a declared variable, function, enum, etc. More...
 
class  DeclSpec
 Captures information about "declaration specifiers". More...
 
class  DeclStmt
 DeclStmt - Adaptor class for mixing declarations with statements and expressions. More...
 
class  DecltypeType
 Represents the type decltype(expr) (C++11). More...
 
class  DecltypeTypeLoc
 
struct  DecltypeTypeLocInfo
 
class  DeclVisitor
 A simple visitor class that helps create declaration visitors. More...
 
class  DecompositionDecl
 A decomposition declaration. More...
 
class  DecompositionDeclarator
 A parsed C++17 decomposition declarator of the form '[' identifier-list ']'. More...
 
struct  DeducedPack
 A pack that we're currently deducing. More...
 
class  DeducedTemplateArgument
 Captures a template argument whose value has been deduced via c++ template argument deduction. More...
 
class  DeducedTemplateSpecializationType
 Represents a C++17 deduced template specialization type. More...
 
class  DeducedTemplateSpecializationTypeLoc
 
class  DeducedType
 Common base class for placeholders for types that get replaced by placeholder type deduction: C++11 auto, C++14 decltype(auto), C++17 deduced class template types, and constrained type names. More...
 
class  DeducedTypeLoc
 
struct  DeductionFailureInfo
 A structure used to record information about a failed template argument deduction, for diagnosis. More...
 
class  DefaultArgStorage
 Storage for a default argument. More...
 
class  DefaultFilterCCC
 
struct  DefaultInitializedTypeVisitor
 
class  DefaultStmt
 
class  DefMacroDirective
 A directive for a defined macro or a macro imported from a module. More...
 
class  DeltaTree
 DeltaTree - a multiway search tree (BTree) structure with some fancy features. More...
 
class  Dependence
 
class  DependencyCollector
 An interface for collecting the dependencies of a compilation. More...
 
class  DependencyFileGenerator
 Builds a dependency file when attached to a Preprocessor (for includes) and ASTReader (for module imports), and writes it out at the end of processing a source file. More...
 
class  DependencyOutputOptions
 DependencyOutputOptions - Options for controlling the compiler dependency file generation. More...
 
struct  DependentAddressSpaceLocInfo
 
class  DependentAddressSpaceType
 Represents an extended address space qualifier where the input address space value is dependent. More...
 
class  DependentAddressSpaceTypeLoc
 
class  DependentBitIntType
 
class  DependentBitIntTypeLoc
 
class  DependentCoawaitExpr
 Represents a 'co_await' expression while the type of the promise is dependent. More...
 
class  DependentDecltypeType
 Internal representation of canonical, dependent decltype(expr) types. More...
 
class  DependentDiagnostic
 A dependently-generated diagnostic. More...
 
class  DependentFunctionTemplateSpecializationInfo
 Provides information about a dependent function-template specialization declaration. More...
 
struct  DependentNameLocInfo
 
class  DependentNameType
 Represents a qualified type name for which the type name is dependent. More...
 
class  DependentNameTypeLoc
 
class  DependentScopeDeclRefExpr
 A qualified reference to a name whose declaration cannot yet be resolved. More...
 
class  DependentSizedArrayType
 Represents an array type in C++ whose size is a value-dependent expression. More...
 
class  DependentSizedArrayTypeLoc
 
class  DependentSizedExtVectorType
 Represents an extended vector type where either the type or size is dependent. More...
 
class  DependentSizedExtVectorTypeLoc
 
class  DependentSizedMatrixType
 Represents a matrix type where the type and the number of rows and columns is dependent on a template. More...
 
class  DependentSizedMatrixTypeLoc
 
class  DependentStoredDeclsMap
 
class  DependentTemplateName
 Represents a dependent template name that cannot be resolved prior to template instantiation. More...
 
struct  DependentTemplateSpecializationLocInfo
 
class  DependentTemplateSpecializationType
 Represents a template specialization type whose template cannot be resolved, e.g. More...
 
class  DependentTemplateSpecializationTypeLoc
 
class  DependentTypeOfExprType
 Internal representation of canonical, dependent typeof(expr) types. More...
 
class  DependentUnaryTransformType
 Internal representation of canonical, dependent __underlying_type(type) types. More...
 
class  DependentVectorType
 Represents a vector type where either the type or size is dependent. More...
 
class  DependentVectorTypeLoc
 
class  DesignatedInitExpr
 Represents a C99 designated initializer expression. More...
 
class  DesignatedInitUpdateExpr
 
class  Designation
 Designation - Represent a full designation, which is a sequence of designators. More...
 
class  Designator
 Designator - A designator in a C99 designated initializer. More...
 
struct  DestructedTypeVisitor
 
class  Diagnostic
 A little helper class (which is basically a smart pointer that forwards info from DiagnosticsEngine) that allows clients to enquire about the currently in-flight diagnostic. More...
 
class  DiagnosticBuilder
 A little helper class used to produce diagnostics. More...
 
class  DiagnosticConsumer
 Abstract interface, implemented by clients of the front-end, which formats and prints fully processed diagnostics. More...
 
class  DiagnosticError
 Carries a Clang diagnostic in an llvm::Error. More...
 
class  DiagnosticErrorTrap
 RAII class that determines when any errors have occurred between the time the instance was created and the time it was queried. More...
 
class  DiagnosticIDs
 Used for handling and querying diagnostic IDs. More...
 
class  DiagnosticMapping
 
class  DiagnosticNoteRenderer
 Subclass of DiagnosticRender that turns all subdiagostics into explicit notes. More...
 
class  DiagnosticOptions
 Options for controlling the compiler diagnostics engine. More...
 
class  DiagnosticRenderer
 Class to encapsulate the logic for formatting a diagnostic message. More...
 
class  DiagnosticsEngine
 Concrete class used by the front-end to report problems and issues. More...
 
struct  DiagnosticStorage
 
class  DirectoryEntry
 Cached information about one directory (either on disk or in the virtual file system). More...
 
class  DirectoryEntryRef
 A reference to a DirectoryEntry that includes the name of the directory as it was accessed by the FileManager's client. More...
 
class  DirectoryLookup
 DirectoryLookup - This class represents one entry in the search list that specifies the search order for directories in #include directives. More...
 
class  DirectoryWatcher
 Provides notifications for file changes in a directory. More...
 
class  DoStmt
 DoStmt - This represents a 'do/while' stmt. More...
 
class  DotMemberAccessHandler
 
class  DumpCompilerOptionsAction
 
class  DumpModuleInfoAction
 Dump information about the given module file, to be used for basic debugging and discovery. More...
 
class  DumpRawTokensAction
 
class  DumpTokensAction
 
class  DynamicAllocLValue
 Symbolic representation of a dynamic allocation. More...
 
class  DynTypedNode
 A dynamically typed AST node container. More...
 
class  DynTypedNodeList
 Container for either a single DynTypedNode or for an ArrayRef to DynTypedNode. More...
 
class  EffectConditionExpr
 Wrap a function effect's condition expression in another struct so that FunctionProtoType's TrailingObjects can treat it separately. More...
 
struct  ElaboratedLocInfo
 
class  ElaboratedType
 Represents a type that was referred to using an elaborated type keyword, e.g., struct S, or via a qualified name, e.g., N::M::type, or both. More...
 
class  ElaboratedTypeLoc
 
class  ElidedTemporaryObjectConstructionContext
 Represents a temporary object that is constructed for the sole purpose of being immediately copied by an elidable copy/move constructor. More...
 
struct  EmbedAnnotationData
 Helper class to shuttle information about #embed directives from the preprocessor to the parser through an annotation token. More...
 
struct  EmbedDataStorage
 Stores data related to a single #embed directive. More...
 
class  EmbedExpr
 Represents a reference to #emded data. More...
 
class  EmitAssemblyAction
 
class  EmitBCAction
 
class  EmitCodeGenOnlyAction
 
class  EmitLLVMAction
 
class  EmitLLVMOnlyAction
 
class  EmitObjAction
 
class  EmptyDecl
 Represents an empty-declaration. More...
 
class  EmptylineHandler
 Abstract base class that describes a handler that will receive source ranges for empty lines encountered in the source file. More...
 
class  EmptyPragmaHandler
 EmptyPragmaHandler - A pragma handler which takes no action, which can be used to ignore particular pragmas. More...
 
class  EnterExpressionEvaluationContext
 RAII object that enters a new expression evaluation context. More...
 
class  EnumConstantDecl
 An instance of this object exists for each enum constant that is defined. More...
 
class  EnumDecl
 Represents an enum. More...
 
class  EnumType
 A helper class that allows the use of isa/cast/dyncast to detect TagType objects of enums. More...
 
class  EnumTypeLoc
 Wrapper for source info for enum types. More...
 
class  EpsilonPoint
 This is a meta program point, which should be skipped by all the diagnostic reasoning etc. More...
 
class  EvaluatedExprVisitor
 EvaluatedExprVisitor - This class visits 'Expr *'s. More...
 
class  EvaluatedExprVisitorBase
 Given a potentially-evaluated expression, this visitor visits all of its potentially-evaluated subexpressions, recursively. More...
 
struct  EvaluatedStmt
 Structure used to store a statement, the constant value to which it was evaluated (if any), and whether or not the statement is an integral constant expression (if known). More...
 
class  ExplicitCastExpr
 ExplicitCastExpr - An explicit cast written in the source code. More...
 
struct  ExplicitInstantiationInfo
 Provides information about an explicit instantiation of a variable or class template. More...
 
class  ExplicitSpecifier
 Store information needed for an explicit specifier. More...
 
class  ExportDecl
 Represents a standard C++ module export declaration. More...
 
class  Expr
 This represents one expression. More...
 
struct  ExprDependenceScope
 
class  ExpressionTraitExpr
 An expression trait intrinsic. More...
 
class  ExprMutationAnalyzer
 Analyzes whether any mutative operations are applied to an expression within a given statement. More...
 
class  ExprWithCleanups
 Represents an expression – generally a full-expression – that introduces cleanups to be run at the end of the sub-expression's evaluation. More...
 
class  ExtensionRAIIObject
 ExtensionRAIIObject - This saves the state of extension warnings when constructed and disables them. More...
 
class  ExternalASTMerger
 ExternalASTSource implementation that merges information from several ASTContexts. More...
 
class  ExternalASTSource
 Abstract interface for external sources of AST nodes. More...
 
class  ExternalHeaderFileInfoSource
 An external source of header file information, which may supply information about header files already included. More...
 
class  ExternalPreprocessingRecordSource
 An abstract class that should be subclassed by any external source of preprocessing record entries. More...
 
class  ExternalPreprocessorSource
 Abstract interface for external sources of preprocessor information. More...
 
class  ExternalSemaSource
 An abstract interface that should be implemented by external AST sources that also provide information for semantic analysis. More...
 
class  ExternalSLocEntrySource
 External source of source location entries. More...
 
class  ExternalSource
 
struct  ExternalVTableUse
 A simple structure that captures a vtable use for the purposes of the ExternalSemaSource. More...
 
class  ExternCContextDecl
 Declaration context for names declared as extern "C" in C++. More...
 
class  ExtQuals
 We can encode up to four bits in the low bits of a type pointer, but there are many more type qualifiers that we want to be able to apply to an arbitrary type. More...
 
class  ExtQualsTypeCommonBase
 Base class that is common to both the ExtQuals and Type classes, which allows QualType to access the common fields between the two. More...
 
class  ExtractAPIAction
 ExtractAPIAction sets up the output file and creates the ExtractAPIVisitor. More...
 
class  ExtractAPIActionBase
 Base class to be used by front end actions to generate ExtarctAPI info. More...
 
class  ExtVectorElementExpr
 ExtVectorElementExpr - This represents access to specific elements of a vector, and may occur on the left hand side or right hand side. More...
 
class  ExtVectorType
 ExtVectorType - Extended vector type. More...
 
class  ExtVectorTypeLoc
 
class  FieldDecl
 Represents a member of a struct/union/class. More...
 
struct  FieldDeclarator
 This little struct is used to capture information about structure field declarators, which is basically just a bitfield size. More...
 
class  FileEntry
 Cached information about one file (either on disk or in the virtual file system). More...
 
class  FileEntryRef
 A reference to a FileEntry that includes the name of the file as it was accessed by the FileManager's client. More...
 
class  FileID
 An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with its #include path and #line data. More...
 
class  FileManager
 Implements support for file system lookup, file system caching, and directory search management. More...
 
struct  FilenamePatternConstraint
 
struct  FileNullability
 Describes whether we've seen any nullability information for the given file. More...
 
class  FileNullabilityMap
 A mapping from file IDs to a record of whether we've seen nullability information in that file. More...
 
class  FileScopeAsmDecl
 
class  FileSystemOptions
 Keeps track of options that affect how file operations are performed. More...
 
class  FileSystemStatCache
 Abstract interface for introducing a FileManager cache for 'stat' system calls, which is used by precompiled and pretokenized headers to improve performance. More...
 
class  FixedPointLiteral
 
class  FixedSizeTemplateParameterListStorage
 Stores a list of template parameters and the associated requires-clause (if any) for a TemplateDecl and its derived classes. More...
 
class  FixItAction
 
class  FixItHint
 Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the problem. More...
 
class  FixItOptions
 
class  FixItRecompile
 Emits changes to temporary files and uses them for the original frontend action. More...
 
class  FixItRewriter
 
class  FixitStrategy
 
class  FloatingLiteral
 
struct  FoldExpandedConstraint
 
class  ForStmt
 ForStmt - This represents a 'for (init;cond;inc)' stmt. More...
 
struct  ForwardDataflowWorklist
 A worklist implementation for forward dataflow analysis. More...
 
class  ForwardingDiagnosticConsumer
 Diagnostic consumer that forwards diagnostics along to an existing, already-initialized diagnostic consumer. More...
 
class  FPOptions
 
class  FPOptionsOverride
 Represents difference between two FPOptions values. More...
 
struct  FrameworkCacheEntry
 This structure is used to record entries in our framework cache. More...
 
class  FriendDecl
 FriendDecl - Represents the declaration of a friend entity, which can be a function, a type, or a templated function or type. More...
 
class  FriendTemplateDecl
 Declaration of a friend template. More...
 
class  FrontendAction
 Abstract base class for actions which can be performed by the frontend. More...
 
class  FrontendInputFile
 An input file for the front end. More...
 
class  FrontendOptions
 FrontendOptions - Options for controlling the behavior of the frontend. More...
 
class  FullExpr
 FullExpr - Represents a "full-expression" node. More...
 
class  FullSourceLoc
 A SourceLocation and its associated SourceManager. More...
 
class  FunctionCallFilterCCC
 
class  FunctionDecl
 Represents a function declaration or definition. More...
 
class  FunctionEffect
 Represents an abstract function effect, using just an enumeration describing its kind. More...
 
struct  FunctionEffectDiff
 
struct  FunctionEffectDifferences
 
class  FunctionEffectIterator
 Support iteration in parallel through a pair of FunctionEffect and EffectConditionExpr containers. More...
 
class  FunctionEffectSet
 A mutable set of FunctionEffects and possibly conditions attached to them. More...
 
class  FunctionEffectsRef
 An immutable set of FunctionEffects and possibly conditions attached to them. More...
 
struct  FunctionEffectWithCondition
 A FunctionEffect plus a potential boolean expression determining whether the effect is declared (e.g. More...
 
class  FunctionExitPoint
 
struct  FunctionLocInfo
 
class  FunctionNoProtoType
 Represents a K&R-style 'int foo()' function, which has no information available about its arguments. More...
 
class  FunctionNoProtoTypeLoc
 
class  FunctionParmMutationAnalyzer
 
class  FunctionParmPackExpr
 Represents a reference to a function parameter pack or init-capture pack that has been substituted but not yet expanded. More...
 
class  FunctionProtoType
 Represents a prototype with parameter type info, e.g. More...
 
class  FunctionProtoTypeLoc
 
class  FunctionTemplateDecl
 Declaration of a template function. More...
 
class  FunctionTemplateSpecializationInfo
 Provides information about a function template specialization, which is a FunctionDecl that has been explicitly specialization or instantiated from a function template. More...
 
class  FunctionType
 FunctionType - C99 6.7.5.3 - Function Declarators. More...
 
class  FunctionTypeLoc
 Wrapper for source info for functions. More...
 
class  GCCAsmStmt
 This represents a GCC inline-assembly statement extension. More...
 
class  GenerateHeaderUnitAction
 
class  GenerateInterfaceStubsAction
 
class  GenerateModuleAction
 
class  GenerateModuleFromModuleMapAction
 
class  GenerateModuleInterfaceAction
 Generates full BMI (which contains full information to generate the object files) for C++20 Named Modules. More...
 
class  GeneratePCHAction
 
class  GenerateReducedModuleInterfaceAction
 Only generates the reduced BMI. This action is mainly used by tests. More...
 
class  GenericSelectionExpr
 Represents a C11 generic selection. More...
 
class  GetDependenciesByModuleNameAction
 
class  GlobalCodeCompletionAllocator
 Allocator for a cached set of global code completions. More...
 
class  GlobalDecl
 GlobalDecl - represents a global declaration. More...
 
class  GlobalDeclID
 
class  GlobalModuleIndex
 A global index for a set of module files, providing information about the identifiers within those module files. More...
 
class  GNUNullExpr
 GNUNullExpr - Implements the GNU __null extension, which is a name for a null pointer constant that has integral type (e.g., int or long) and is the same size and alignment as a pointer. More...
 
class  GotoStmt
 GotoStmt - This represents a direct goto. More...
 
class  GreaterThanIsOperatorScope
 RAII object that makes '>' behave either as an operator or as the closing angle bracket for a template argument list. More...
 
struct  HeaderDesc
 
struct  HeaderFileInfo
 The preprocessor keeps track of this information for each file that is #included. More...
 
class  HeaderMap
 This class represents an Apple concept known as a 'header map'. More...
 
class  HeaderMapImpl
 Implementation for HeaderMap that doesn't depend on FileManager. More...
 
class  HeaderSearch
 Encapsulates the information needed to find the file referenced by a #include or #include_next, (sub-)framework lookup, etc. More...
 
class  HeaderSearchOptions
 HeaderSearchOptions - Helper class for storing options related to the initialization of the HeaderSearch object. More...
 
class  HLSLAnnotationAttr
 
class  HLSLBufferDecl
 HLSLBufferDecl - Represent a cbuffer or tbuffer declaration. More...
 
class  HLSLExternalSemaSource
 
struct  HMapBucket
 
struct  HMapHeader
 
class  HTMLPrintAction
 
class  IdentifierInfo
 One of these records is kept for each identifier that is lexed. More...
 
class  IdentifierInfoLookup
 Provides lookups to, and iteration over, IdentiferInfo objects. More...
 
class  IdentifierIterator
 An iterator that walks over all of the known identifiers in the lookup table. More...
 
struct  IdentifierLoc
 Wraps an identifier and optional source location for the identifier. More...
 
class  IdentifierResolver
 IdentifierResolver - Keeps track of shadowed decls on enclosing scopes. More...
 
class  IdentifierTable
 Implements an efficient mapping from strings to IdentifierInfo nodes. More...
 
class  IfStmt
 IfStmt - This represents an if/then/else. More...
 
class  IgnoringDiagConsumer
 A diagnostic client that ignores all diagnostics. More...
 
class  ImaginaryLiteral
 ImaginaryLiteral - We support imaginary integer and floating point literals, like "1.0i". More...
 
class  ImplicitCallPoint
 Represents an implicit call event. More...
 
class  ImplicitCastExpr
 ImplicitCastExpr - Allows us to explicitly represent implicit type conversions, which have no direct representation in the original source code. More...
 
class  ImplicitConceptSpecializationDecl
 
class  ImplicitConversionSequence
 ImplicitConversionSequence - Represents an implicit conversion sequence, which may be a standard conversion sequence (C++ 13.3.3.1.1), user-defined conversion sequence (C++ 13.3.3.1.2), or an ellipsis conversion sequence (C++ 13.3.3.1.3). More...
 
class  ImplicitParamDecl
 
class  ImplicitValueInitExpr
 Represents an implicitly-generated value initialization of an object of a given type. More...
 
class  ImportDecl
 Describes a module import declaration, which makes the contents of the named module visible in the current translation unit. More...
 
class  InBeforeInTUCacheEntry
 Holds the cache used by isBeforeInTranslationUnit. More...
 
class  InclusionDirective
 Record the location of an inclusion directive, such as an #include or #import statement. More...
 
class  IncompleteArrayType
 Represents a C array with an unspecified size. More...
 
class  IncompleteArrayTypeLoc
 
class  IncrementalAction
 A custom action enabling the incremental processing functionality. More...
 
class  IncrementalASTConsumer
 
class  IncrementalCompilerBuilder
 Create a pre-configured CompilerInstance for incremental processing. More...
 
class  IncrementalCUDADeviceParser
 
class  IncrementalExecutor
 
class  IncrementalParser
 Provides support for incremental compilation. More...
 
class  IncrementalSyntaxOnlyAction
 
class  IndirectFieldDecl
 Represents a field injected from an anonymous union/struct into the parent scope. More...
 
class  IndirectGotoStmt
 IndirectGotoStmt - This represents an indirect goto. More...
 
class  InheritableAttr
 
class  InheritableParamAttr
 
class  InheritedConstructor
 Description of a constructor that was inherited from a base class. More...
 
class  InheritingConcreteTypeLoc
 A metaprogramming class designed for concrete subtypes of abstract types where all subtypes share equivalently-structured source information. More...
 
class  InitializationKind
 Describes the kind of initialization being performed, along with location information for tokens related to the initialization (equal sign, parentheses). More...
 
class  InitializationSequence
 Describes the sequence of initializations required to initialize a given object or reference with a set of arguments. More...
 
class  InitializedEntity
 Describes an entity that is being initialized. More...
 
class  InitListExpr
 Describes an C or C++ initializer list. More...
 
class  InitOnlyAction
 
class  InjectedClassNameType
 The injected class name of a C++ class template or class template partial specialization. More...
 
class  InjectedClassNameTypeLoc
 Wrapper for source info for injected class names of class templates. More...
 
class  InMemoryModuleCache
 In-memory cache for modules. More...
 
class  InMessageExpressionRAIIObject
 
class  InputKind
 The kind of a file that we've been handed as an input. More...
 
class  IntegerLiteral
 
class  Interpreter
 Provides top-level interfaces for incremental compilation and execution. More...
 
struct  InventedTemplateParameterInfo
 
struct  IsResultPtrLowBitFree
 
struct  IsResultPtrLowBitFree< CXXBaseSpecifier * >
 
struct  IsResultPtrLowBitFree< CXXCtorInitializer * >
 
struct  IsResultPtrLowBitFree< Expr * >
 
struct  IsResultPtrLowBitFree< Stmt * >
 
class  ItaniumMangleContext
 
class  ItaniumVTableContext
 
class  JSONDumper
 
class  JSONNodeDumper
 
class  LabelDecl
 Represents the declaration of a label. More...
 
class  LabelStmt
 LabelStmt - Represents a label, which has a substatement. More...
 
class  LambdaCapture
 Describes the capture of a variable or of this, or of a C++1y init-capture. More...
 
class  LambdaCaptureConstructionContext
 
class  LambdaExpr
 A C++ lambda expression, which produces a function object (of unspecified type) that can be invoked later. More...
 
struct  LambdaIntroducer
 Represents a complete lambda introducer. More...
 
class  LangOptions
 Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that is accepted. More...
 
class  LangOptionsBase
 Bitfields of LangOptions, split out from LangOptions in order to ensure that this large collection of bitfields is a trivial class type. More...
 
struct  LangStandard
 LangStandard - Information about the properties of a particular language standard. More...
 
struct  LateParsedTemplate
 Contains a late templated function. More...
 
class  LayoutOverrideSource
 An external AST source that overrides the layout of a specified set of record types. More...
 
class  LazyASTUnresolvedSet
 An UnresolvedSet-like class that might not have been loaded from the external AST source yet. More...
 
class  LazyDetector
 Simple wrapper for toolchain detector with costly initialization. More...
 
struct  LazyGenerationalUpdatePtr
 A lazy value (of type T) that is within an AST node of type Owner, where the value might change in later generations of the external AST source. More...
 
class  LazyIdentifierInfoPtr
 
struct  LazyOffsetPtr
 A lazy pointer to an AST node (of base type T) that resides within an external AST source. More...
 
class  LazyVector
 Represents a lazily-loaded vector of data. More...
 
struct  LexEmbedParametersResult
 
class  Lexer
 Lexer - This provides a simple interface that turns a text buffer into a stream of tokens. More...
 
class  LexicallyOrderedRecursiveASTVisitor
 A RecursiveASTVisitor subclass that guarantees that AST traversal is performed in a lexical order (i.e. More...
 
class  LifetimeExtendedTemporaryDecl
 Implicit declaration of a temporary that was materialized by a MaterializeTemporaryExpr and lifetime-extended by a declaration. More...
 
struct  LineEntry
 
class  LineTableInfo
 Used to hold and unique data used to represent #line information. More...
 
class  LinkageComputer
 
class  LinkageInfo
 
class  LinkageSpecDecl
 Represents a linkage specification. More...
 
class  LiveVariables
 
class  LocalDeclID
 
class  LocalInstantiationScope
 A stack-allocated class that identifies which local variable declaration instantiations are present in this scope. More...
 
class  LocationCheck
 
class  LocationContext
 It wraps the AnalysisDeclContext to represent both the call stack with the help of StackFrameContext and inside the function calls the BlockInvocationContext. More...
 
class  LocationContextManager
 
class  LocInfoType
 Holds a QualType and a TypeSourceInfo* that came out of a declarator parsing. More...
 
class  LogDiagnosticPrinter
 
class  LookupResult
 Represents the results of name lookup. More...
 
class  LoopExit
 Represents a point when we exit a loop. More...
 
struct  LoopHint
 Loop optimization hint for loop and unroll pragmas. More...
 
class  LValueReferenceType
 An lvalue reference type, per C++11 [dcl.ref]. More...
 
class  LValueReferenceTypeLoc
 
struct  LVComputationKind
 Kinds of LV computation. More...
 
class  MacroArgs
 MacroArgs - An instance of this class captures information about the formal arguments specified to a function-like macro invocation. More...
 
class  MacroBuilder
 
class  MacroDefinition
 A description of the current definition of a macro. More...
 
class  MacroDefinitionRecord
 Record the location of a macro definition. More...
 
class  MacroDirective
 Encapsulates changes to the "macros namespace" (the location where the macro name became active, the location where it was undefined, etc.). More...
 
class  MacroExpansion
 Records the location of a macro expansion. More...
 
class  MacroExpansionContext
 MacroExpansionContext tracks the macro expansions processed by the Preprocessor. More...
 
class  MacroInfo
 Encapsulates the data about a macro definition (e.g. More...
 
class  MacroPPCallbacks
 
struct  MacroQualifiedLocInfo
 
class  MacroQualifiedType
 Sugar type that represents a type that was qualified by a qualifier written as a macro invocation. More...
 
class  MacroQualifiedTypeLoc
 
class  ManagedAnalysis
 The base class of a hierarchy of objects representing analyses tied to AnalysisDeclContext. More...
 
class  MangleContext
 MangleContext - Context for tracking state which persists across multiple calls to the C++ name mangler. More...
 
class  MangleNumberingContext
 Keeps track of the mangled names of lambda expressions and block literals within a particular context. More...
 
struct  MatchingVariablePatternConstraint
 Ensures that all clones reference variables in the same pattern. More...
 
class  MaterializeTemporaryExpr
 Represents a prvalue temporary that is written into memory so that a reference can bind to it. More...
 
class  MatrixSubscriptExpr
 MatrixSubscriptExpr - Matrix subscript expression for the MatrixType extension. More...
 
class  MatrixType
 Represents a matrix type, as defined in the Matrix Types clang extensions. More...
 
class  MatrixTypeLoc
 
struct  MatrixTypeLocInfo
 
class  MemberExpr
 MemberExpr - [C99 6.5.2.3] Structure and Union Members. More...
 
struct  MemberPointerLocInfo
 
class  MemberPointerType
 A pointer to member type per C++ 8.3.3 - Pointers to members. More...
 
class  MemberPointerTypeLoc
 Wrapper for source info for member pointers. More...
 
class  MemberSpecializationInfo
 Provides information a specialization of a member of a class template, which may be a member function, static data member, member class or member enumeration. More...
 
class  MemorizeStatCalls
 A stat "cache" that can be used by FileManager to keep track of the results of stat() calls that occur throughout the execution of the front end. More...
 
class  Mergeable
 Provides common interface for the Decls that cannot be redeclared, but can be merged if the same declaration is brought in from multiple modules. More...
 
struct  MethodVFTableLocation
 
class  MicrosoftMangleContext
 
class  MicrosoftVTableContext
 
class  MigratorOptions
 
class  MinComplexityConstraint
 Ensures that every clone has at least the given complexity. More...
 
class  MinGroupSizeConstraint
 Ensures that all clone groups contain at least the given amount of clones. More...
 
struct  MMToken
 A token in a module map file. More...
 
class  Module
 Describes a module or submodule. More...
 
class  ModuleDependencyCollector
 Collects the dependencies for imported modules into a directory. More...
 
class  ModuleFileExtension
 An abstract superclass that describes a custom extension to the module/precompiled header file format. More...
 
struct  ModuleFileExtensionMetadata
 Metadata for a module file extension. More...
 
class  ModuleFileExtensionReader
 Abstract base class that reads a module file extension block from a module file. More...
 
class  ModuleFileExtensionWriter
 Abstract base class that writes a module file extension block into a module file. More...
 
class  ModuleLoader
 Abstract interface for a module loader. More...
 
class  ModuleLoadResult
 Describes the result of attempting to load a module. More...
 
class  ModuleMacro
 Represents a macro directive exported by a module. More...
 
class  ModuleMap
 
class  ModuleMapCallbacks
 A mechanism to observe the actions of the module map parser as it reads module map files. More...
 
class  ModuleMapParser
 
class  MSAsmStmt
 This represents a Microsoft inline-assembly statement extension. More...
 
class  MSDependentExistsStmt
 Representation of a Microsoft __if_exists or __if_not_exists statement with a dependent name. More...
 
class  MSGuidDecl
 A global _GUID constant. More...
 
struct  MSGuidDeclParts
 Parts of a decomposed MSGuidDecl. More...
 
class  MSPropertyDecl
 An instance of this class represents the declaration of a property member. More...
 
class  MSPropertyRefExpr
 A member reference to an MSPropertyDecl. More...
 
class  MSPropertySubscriptExpr
 MS property subscript expression. More...
 
class  MultiKeywordSelector
 One of these variable length records is kept for each selector containing more than one keyword. More...
 
class  MultiLevelTemplateArgumentList
 Data structure that captures multiple levels of template argument lists for use in template instantiation. More...
 
class  MultipleIncludeOpt
 Implements the simple state machine that the Lexer class uses to detect files subject to the 'multiple-include' optimization. More...
 
class  MultiplexASTDeserializationListener
 
class  MultiplexASTMutationListener
 
class  MultiplexConsumer
 
class  MultiplexExternalSemaSource
 An abstract interface that should be implemented by external AST sources that also provide information for semantic analysis. More...
 
class  NamedDecl
 This represents a decl that may have a name. More...
 
class  NamespaceAliasDecl
 Represents a C++ namespace alias. More...
 
class  NamespaceDecl
 Represent a C++ namespace. More...
 
class  NeonTypeFlags
 Flags to identify the types for overloaded Neon builtins. More...
 
class  NestedNameSpecifier
 Represents a C++ nested name specifier, such as "\::std::vector<int>::". More...
 
class  NestedNameSpecifierLoc
 A C++ nested-name-specifier augmented with source location information. More...
 
class  NestedNameSpecifierLocBuilder
 Class that aids in the construction of nested-name-specifiers along with source-location information for all of the components of the nested-name-specifier. More...
 
class  NewAllocatedObjectConstructionContext
 Represents immediate initialization of memory allocated by operator new, eg. More...
 
class  NodeStreamer
 
class  NoInitExpr
 Represents a place-holder for an object not to be initialized by anything. More...
 
class  NonTypeTemplateParmDecl
 NonTypeTemplateParmDecl - Declares a non-type template parameter, e.g., "Size" in. More...
 
struct  NormalizedConstraint
 A normalized constraint, as defined in C++ [temp.constr.normal], is either an atomic constraint, a conjunction of normalized constraints or a disjunction of normalized constraints. More...
 
struct  NormalizedConstraintPair
 
class  NoSanitizeList
 
class  NoTypoCorrectionCCC
 
class  NSAPI
 
class  NullStmt
 NullStmt - This is the null statement ";": C99 6.8.3p3. More...
 
class  NumericLiteralParser
 NumericLiteralParser - This performs strict semantic analysis of the content of a ppnumber, classifying it as either integer, floating, or erroneous, determines the radix of the value and can convert it to a useful value. More...
 
class  ObjCArrayLiteral
 ObjCArrayLiteral - used for objective-c array containers; as in: @["Hello", NSApp, [NSNumber numberWithInt:42]];. More...
 
class  ObjCAtCatchStmt
 Represents Objective-C's @catch statement. More...
 
class  ObjCAtDefsFieldDecl
 Represents a field declaration created by an @defs(...). More...
 
class  ObjCAtFinallyStmt
 Represents Objective-C's @finally statement. More...
 
class  ObjCAtSynchronizedStmt
 Represents Objective-C's @synchronized statement. More...
 
class  ObjCAtThrowStmt
 Represents Objective-C's @throw statement. More...
 
class  ObjCAtTryStmt
 Represents Objective-C's @try ... @catch ... @finally statement. More...
 
class  ObjCAutoreleasePoolStmt
 Represents Objective-C's @autoreleasepool Statement. More...
 
class  ObjCAvailabilityCheckExpr
 A runtime availability query. More...
 
class  ObjCBoolLiteralExpr
 ObjCBoolLiteralExpr - Objective-C Boolean Literal. More...
 
class  ObjCBoxedExpr
 ObjCBoxedExpr - used for generalized expression boxing. More...
 
class  ObjCBridgedCastExpr
 An Objective-C "bridged" cast expression, which casts between Objective-C pointers and C pointers, transferring ownership in the process. More...
 
class  ObjCCategoryDecl
 ObjCCategoryDecl - Represents a category declaration. More...
 
class  ObjCCategoryImplDecl
 ObjCCategoryImplDecl - An object of this class encapsulates a category @implementation declaration. More...
 
class  ObjCCompatibleAliasDecl
 ObjCCompatibleAliasDecl - Represents alias of a class. More...
 
class  ObjCContainerDecl
 ObjCContainerDecl - Represents a container for method declarations. More...
 
class  ObjCDeclSpec
 Captures information about "declaration specifiers" specific to Objective-C. More...
 
struct  ObjCDictionaryElement
 An element in an Objective-C dictionary literal. More...
 
class  ObjCDictionaryLiteral
 ObjCDictionaryLiteral - AST node to represent objective-c dictionary literals; as in:"name" : NSUserName(), @"date" : [NSDate date] };. More...
 
struct  ObjCDictionaryLiteral_ExpansionData
 Internal struct to describes an element that is a pack expansion, used if any of the elements in the dictionary literal are pack expansions. More...
 
struct  ObjCDictionaryLiteral_KeyValuePair
 Internal struct for storing Key/value pair. More...
 
class  ObjCEncodeExpr
 ObjCEncodeExpr, used for @encode in Objective-C. More...
 
class  ObjCForCollectionStmt
 Represents Objective-C's collection statement. More...
 
class  ObjCImplDecl
 
class  ObjCImplementationDecl
 ObjCImplementationDecl - Represents a class definition - this is where method definitions are specified. More...
 
class  ObjCIndirectCopyRestoreExpr
 ObjCIndirectCopyRestoreExpr - Represents the passing of a function argument by indirect copy-restore in ARC. More...
 
class  ObjCInterfaceDecl
 Represents an ObjC class declaration. More...
 
struct  ObjCInterfaceLocInfo
 
class  ObjCInterfaceType
 Interfaces are the core concept in Objective-C for object oriented design. More...
 
class  ObjCInterfaceTypeLoc
 Wrapper for source info for ObjC interfaces. More...
 
class  ObjCIsaExpr
 ObjCIsaExpr - Represent X->isa and X.isa when X is an ObjC 'id' type. More...
 
class  ObjCIvarDecl
 ObjCIvarDecl - Represents an ObjC instance variable. More...
 
class  ObjCIvarRefExpr
 ObjCIvarRefExpr - A reference to an ObjC instance variable. More...
 
class  ObjCList
 ObjCList - This is a simple template class used to hold various lists of decls etc, which is heavily used by the ObjC front-end. More...
 
class  ObjCListBase
 
class  ObjCMessageExpr
 An expression that sends a message to the given Objective-C object or class. More...
 
class  ObjCMethodDecl
 ObjCMethodDecl - Represents an instance or class method declaration. More...
 
struct  ObjCMethodList
 a linked list of methods with the same selector name but different signatures. More...
 
class  ObjCNoReturn
 
class  ObjCObjectPointerType
 Represents a pointer to an Objective C object. More...
 
class  ObjCObjectPointerTypeLoc
 Wraps an ObjCPointerType with source location information. More...
 
class  ObjCObjectType
 Represents a class type in Objective C. More...
 
class  ObjCObjectTypeImpl
 A class providing a concrete implementation of ObjCObjectType, so as to not increase the footprint of ObjCInterfaceType. More...
 
class  ObjCObjectTypeLoc
 
struct  ObjCObjectTypeLocInfo
 
class  ObjCPropertyDecl
 Represents one property declaration in an Objective-C interface. More...
 
class  ObjCPropertyImplDecl
 ObjCPropertyImplDecl - Represents implementation declaration of a property in a class or category implementation block. More...
 
class  ObjCPropertyRefExpr
 ObjCPropertyRefExpr - A dot-syntax expression to access an ObjC property. More...
 
class  ObjCProtocolDecl
 Represents an Objective-C protocol declaration. More...
 
class  ObjCProtocolExpr
 ObjCProtocolExpr used for protocol expression in Objective-C. More...
 
class  ObjCProtocolList
 A list of Objective-C protocols, along with the source locations at which they were referenced. More...
 
class  ObjCProtocolLoc
 
class  ObjCProtocolQualifiers
 This class wraps the list of protocol qualifiers. More...
 
class  ObjCRuntime
 The basic abstraction for the target Objective-C runtime. More...
 
class  ObjCSelectorExpr
 ObjCSelectorExpr used for @selector in Objective-C. More...
 
class  ObjCStringLiteral
 ObjCStringLiteral, used for Objective-C string literals i.e. More...
 
class  ObjCSubscriptRefExpr
 ObjCSubscriptRefExpr - used for array and dictionary subscripting. More...
 
class  ObjCTypeParamDecl
 Represents the declaration of an Objective-C type parameter. More...
 
class  ObjCTypeParamList
 Stores a list of Objective-C type parameters for a parameterized class or a category/extension thereof. More...
 
class  ObjCTypeParamType
 Represents a type parameter type in Objective C. More...
 
class  ObjCTypeParamTypeLoc
 ProtocolLAngleLoc, ProtocolRAngleLoc, and the source locations for protocol qualifiers are stored after Info. More...
 
struct  ObjCTypeParamTypeLocInfo
 
class  ObjectFilePCHContainerReader
 A PCHContainerReader implementation that uses LLVM to wraps Clang modules inside a COFF, ELF, or Mach-O container. More...
 
class  ObjectFilePCHContainerWriter
 A PCHContainerWriter implementation that uses LLVM to wraps Clang modules inside a COFF, ELF, or Mach-O container. More...
 
class  ODRDiagsEmitter
 
class  ODRHash
 
class  OffloadBundler
 
class  OffloadBundlerConfig
 
struct  OffloadTargetInfo
 Obtain the offload kind, real machine triple, and an optional TargetID out of the target information specified by the user. More...
 
class  OffsetOfExpr
 OffsetOfExpr - [C99 7.17] - This represents an expression of the form offsetof(record-type, member-designator). More...
 
class  OffsetOfNode
 Helper class for OffsetOfExpr. More...
 
class  OffsetOfStateRAIIObject
 
class  OMPAbsentClause
 This represents the 'absent' clause in the '#pragma omp assume' directive. More...
 
class  OMPAcqRelClause
 This represents 'acq_rel' clause in the '#pragma omp atomic|flush' directives. More...
 
class  OMPAcquireClause
 This represents 'acquire' clause in the '#pragma omp atomic|flush' directives. More...
 
class  OMPAffinityClause
 This represents clause 'affinity' in the '#pragma omp task'-based directives. More...
 
class  OMPAlignClause
 This represents the 'align' clause in the '#pragma omp allocate' directive. More...
 
class  OMPAlignedClause
 This represents clause 'aligned' in the '#pragma omp ...' directives. More...
 
class  OMPAllocateClause
 This represents clause 'allocate' in the '#pragma omp ...' directives. More...
 
class  OMPAllocateDecl
 This represents '#pragma omp allocate ...' directive. More...
 
class  OMPAllocatorClause
 This represents 'allocator' clause in the '#pragma omp ...' directive. More...
 
class  OMPArrayShapingExpr
 An explicit cast in C or a C-style cast in C++, which uses the syntax ([s1][s2]...[sn])expr. More...
 
class  OMPAssumeDirective
 
class  OMPAtClause
 This represents 'at' clause in the '#pragma omp error' directive. More...
 
class  OMPAtomicDefaultMemOrderClause
 This represents 'atomic_default_mem_order' clause in the '#pragma omp requires' directive. More...
 
class  OMPAtomicDirective
 This represents '#pragma omp atomic' directive. More...
 
class  OMPBarrierDirective
 This represents '#pragma omp barrier' directive. More...
 
class  OMPBindClause
 This represents 'bind' clause in the '#pragma omp ...' directives. More...
 
class  OMPCancelDirective
 This represents '#pragma omp cancel' directive. More...
 
class  OMPCancellationPointDirective
 This represents '#pragma omp cancellation point' directive. More...
 
class  OMPCanonicalLoop
 Representation of an OpenMP canonical loop. More...
 
class  OMPCaptureClause
 This represents 'capture' clause in the '#pragma omp atomic' directive. More...
 
class  OMPCapturedExprDecl
 Pseudo declaration for capturing expressions. More...
 
class  OMPChildren
 Contains data for OpenMP directives: clauses, children expressions/statements (helpers for codegen) and associated statement, if any. More...
 
class  OMPClause
 This is a basic class for representing single OpenMP clause. More...
 
class  OMPClauseMappableExprCommon
 Struct that defines common infrastructure to handle mappable expressions used in OpenMP clauses. More...
 
class  OMPClausePrinter
 
class  OMPClauseReader
 
class  OMPClauseVisitor
 
class  OMPClauseVisitorBase
 This class implements a simple visitor for OMPClause subclasses. More...
 
class  OMPClauseWithPostUpdate
 Class that handles post-update expression for some clauses, like 'lastprivate', 'reduction' etc. More...
 
class  OMPClauseWithPreInit
 Class that handles pre-initialization statement for some clauses, like 'shedule', 'firstprivate' etc. More...
 
class  OMPCollapseClause
 This represents 'collapse' clause in the '#pragma omp ...' directive. More...
 
class  OMPCompareClause
 This represents 'compare' clause in the '#pragma omp atomic' directive. More...
 
class  OMPContainsClause
 This represents the 'contains' clause in the '#pragma omp assume' directive. More...
 
class  OMPCopyinClause
 This represents clause 'copyin' in the '#pragma omp ...' directives. More...
 
class  OMPCopyprivateClause
 This represents clause 'copyprivate' in the '#pragma omp ...' directives. More...
 
class  OMPCriticalDirective
 This represents '#pragma omp critical' directive. More...
 
class  OMPDeclarativeDirective
 This is a basic class for representing single OpenMP declarative directive. More...
 
class  OMPDeclareMapperDecl
 This represents '#pragma omp declare mapper ...' directive. More...
 
class  OMPDeclareReductionDecl
 This represents '#pragma omp declare reduction ...' directive. More...
 
class  OMPDefaultClause
 This represents 'default' clause in the '#pragma omp ...' directive. More...
 
class  OMPDefaultmapClause
 This represents 'defaultmap' clause in the '#pragma omp ...' directive. More...
 
class  OMPDependClause
 This represents implicit clause 'depend' for the '#pragma omp task' directive. More...
 
class  OMPDepobjClause
 This represents implicit clause 'depobj' for the '#pragma omp depobj' directive. More...
 
class  OMPDepobjDirective
 This represents '#pragma omp depobj' directive. More...
 
class  OMPDestroyClause
 This represents 'destroy' clause in the '#pragma omp depobj' directive or the '#pragma omp interop' directive. More...
 
class  OMPDetachClause
 This represents 'detach' clause in the '#pragma omp task' directive. More...
 
class  OMPDeviceClause
 This represents 'device' clause in the '#pragma omp ...' directive. More...
 
class  OMPDirectiveListClause
 Class that represents a list of directive kinds (parallel, target, etc.) as used in absent, contains clauses. More...
 
class  OMPDispatchDirective
 This represents '#pragma omp dispatch' directive. More...
 
class  OMPDistributeDirective
 This represents '#pragma omp distribute' directive. More...
 
class  OMPDistributeParallelForDirective
 This represents '#pragma omp distribute parallel for' composite directive. More...
 
class  OMPDistributeParallelForSimdDirective
 This represents '#pragma omp distribute parallel for simd' composite directive. More...
 
class  OMPDistributeSimdDirective
 This represents '#pragma omp distribute simd' composite directive. More...
 
class  OMPDistScheduleClause
 This represents 'dist_schedule' clause in the '#pragma omp ...' directive. More...
 
class  OMPDoacrossClause
 This represents the 'doacross' clause for the '#pragma omp ordered' directive. More...
 
class  OMPDynamicAllocatorsClause
 This represents 'dynamic_allocators' clause in the '#pragma omp requires' directive. More...
 
class  OMPErrorDirective
 This represents '#pragma omp error' directive. More...
 
class  OMPExclusiveClause
 This represents clause 'exclusive' in the '#pragma omp scan' directive. More...
 
class  OMPExecutableDirective
 This is a basic class for representing single OpenMP executable directive. More...
 
class  OMPFailClause
 This represents 'fail' clause in the '#pragma omp atomic' directive. More...
 
class  OMPFilterClause
 This represents 'filter' clause in the '#pragma omp ...' directive. More...
 
class  OMPFinalClause
 This represents 'final' clause in the '#pragma omp ...' directive. More...
 
class  OMPFirstprivateClause
 This represents clause 'firstprivate' in the '#pragma omp ...' directives. More...
 
class  OMPFlushClause
 This represents implicit clause 'flush' for the '#pragma omp flush' directive. More...
 
class  OMPFlushDirective
 This represents '#pragma omp flush' directive. More...
 
class  OMPForDirective
 This represents '#pragma omp for' directive. More...
 
class  OMPForSimdDirective
 This represents '#pragma omp for simd' directive. More...
 
class  OMPFromClause
 This represents clause 'from' in the '#pragma omp ...' directives. More...
 
class  OMPFullClause
 Representation of the 'full' clause of the '#pragma omp unroll' directive. More...
 
class  OMPGenericLoopDirective
 This represents '#pragma omp loop' directive. More...
 
class  OMPGrainsizeClause
 This represents 'grainsize' clause in the '#pragma omp ...' directive. More...
 
class  OMPHasDeviceAddrClause
 This represents clause 'has_device_ptr' in the '#pragma omp ...' directives. More...
 
class  OMPHintClause
 This represents 'hint' clause in the '#pragma omp ...' directive. More...
 
class  OMPHoldsClause
 This represents the 'holds' clause in the '#pragma omp assume' directive. More...
 
class  OMPIfClause
 This represents 'if' clause in the '#pragma omp ...' directive. More...
 
class  OMPInclusiveClause
 This represents clause 'inclusive' in the '#pragma omp scan' directive. More...
 
class  OMPInitClause
 This represents the 'init' clause in '#pragma omp ...' directives. More...
 
class  OMPInReductionClause
 This represents clause 'in_reduction' in the '#pragma omp task' directives. More...
 
class  OMPInterchangeDirective
 Represents the '#pragma omp interchange' loop transformation directive. More...
 
class  OMPInteropDirective
 This represents '#pragma omp interop' directive. More...
 
struct  OMPInteropInfo
 
class  OMPIsDevicePtrClause
 This represents clause 'is_device_ptr' in the '#pragma omp ...' directives. More...
 
class  OMPIteratorExpr
 OpenMP 5.0 [2.1.6 Iterators] Iterators are identifiers that expand to multiple values in the clause on which they appear. More...
 
struct  OMPIteratorHelperData
 Helper expressions and declaration for OMPIteratorExpr class for each iteration space. More...
 
class  OMPLastprivateClause
 This represents clause 'lastprivate' in the '#pragma omp ...' directives. More...
 
class  OMPLinearClause
 This represents clause 'linear' in the '#pragma omp ...' directives. More...
 
class  OMPLoopBasedDirective
 The base class for all loop-based directives, including loop transformation directives. More...
 
class  OMPLoopDirective
 This is a common base class for loop directives ('omp simd', 'omp for', 'omp for simd' etc.). More...
 
class  OMPLoopTransformationDirective
 The base class for all loop transformation directives. More...
 
class  OMPMapClause
 This represents clause 'map' in the '#pragma omp ...' directives. More...
 
class  OMPMappableExprListClause
 This represents clauses with a list of expressions that are mappable. More...
 
struct  OMPMappableExprListSizeTy
 This structure contains all sizes needed for by an OMPMappableExprListClause. More...
 
class  OMPMaskedDirective
 This represents '#pragma omp masked' directive. More...
 
class  OMPMaskedTaskLoopDirective
 This represents '#pragma omp masked taskloop' directive. More...
 
class  OMPMaskedTaskLoopSimdDirective
 This represents '#pragma omp masked taskloop simd' directive. More...
 
class  OMPMasterDirective
 This represents '#pragma omp master' directive. More...
 
class  OMPMasterTaskLoopDirective
 This represents '#pragma omp master taskloop' directive. More...
 
class  OMPMasterTaskLoopSimdDirective
 This represents '#pragma omp master taskloop simd' directive. More...
 
class  OMPMergeableClause
 This represents 'mergeable' clause in the '#pragma omp ...' directive. More...
 
class  OMPMessageClause
 This represents 'message' clause in the '#pragma omp error' directive. More...
 
class  OMPMetaDirective
 This represents '#pragma omp metadirective' directive. More...
 
struct  OMPNoChildClause
 
class  OMPNocontextClause
 This represents 'nocontext' clause in the '#pragma omp ...' directive. More...
 
class  OMPNogroupClause
 This represents 'nogroup' clause in the '#pragma omp ...' directive. More...
 
class  OMPNontemporalClause
 This represents clause 'nontemporal' in the '#pragma omp ...' directives. More...
 
class  OMPNoOpenMPClause
 This represents the 'no_openmp' clause in the '#pragma omp assume' directive. More...
 
class  OMPNoOpenMPRoutinesClause
 This represents the 'no_openmp_routines' clause in the '#pragma omp assume' directive. More...
 
class  OMPNoParallelismClause
 This represents the 'no_parallelism' clause in the '#pragma omp assume' directive. More...
 
class  OMPNovariantsClause
 This represents 'novariants' clause in the '#pragma omp ...' directive. More...
 
class  OMPNowaitClause
 This represents 'nowait' clause in the '#pragma omp ...' directive. More...
 
class  OMPNumTasksClause
 This represents 'num_tasks' clause in the '#pragma omp ...' directive. More...
 
class  OMPNumTeamsClause
 This represents 'num_teams' clause in the '#pragma omp ...' directive. More...
 
class  OMPNumThreadsClause
 This represents 'num_threads' clause in the '#pragma omp ...' directive. More...
 
class  OMPOneStmtClause
 
class  OMPOrderClause
 This represents 'order' clause in the '#pragma omp ...' directive. More...
 
class  OMPOrderedClause
 This represents 'ordered' clause in the '#pragma omp ...' directive. More...
 
class  OMPOrderedDirective
 This represents '#pragma omp ordered' directive. More...
 
class  OMPParallelDirective
 This represents '#pragma omp parallel' directive. More...
 
class  OMPParallelForDirective
 This represents '#pragma omp parallel for' directive. More...
 
class  OMPParallelForSimdDirective
 This represents '#pragma omp parallel for simd' directive. More...
 
class  OMPParallelGenericLoopDirective
 This represents '#pragma omp parallel loop' directive. More...
 
class  OMPParallelMaskedDirective
 This represents '#pragma omp parallel masked' directive. More...
 
class  OMPParallelMaskedTaskLoopDirective
 This represents '#pragma omp parallel masked taskloop' directive. More...
 
class  OMPParallelMaskedTaskLoopSimdDirective
 This represents '#pragma omp parallel masked taskloop simd' directive. More...
 
class  OMPParallelMasterDirective
 This represents '#pragma omp parallel master' directive. More...
 
class  OMPParallelMasterTaskLoopDirective
 This represents '#pragma omp parallel master taskloop' directive. More...
 
class  OMPParallelMasterTaskLoopSimdDirective
 This represents '#pragma omp parallel master taskloop simd' directive. More...
 
class  OMPParallelSectionsDirective
 This represents '#pragma omp parallel sections' directive. More...
 
class  OMPPartialClause
 Representation of the 'partial' clause of the '#pragma omp unroll' directive. More...
 
class  OMPPriorityClause
 This represents 'priority' clause in the '#pragma omp ...' directive. More...
 
class  OMPPrivateClause
 This represents clause 'private' in the '#pragma omp ...' directives. More...
 
class  OMPProcBindClause
 This represents 'proc_bind' clause in the '#pragma omp ...' directive. More...
 
class  OMPReadClause
 This represents 'read' clause in the '#pragma omp atomic' directive. More...
 
class  OMPReductionClause
 This represents clause 'reduction' in the '#pragma omp ...' directives. More...
 
class  OMPRelaxedClause
 This represents 'relaxed' clause in the '#pragma omp atomic' directives. More...
 
class  OMPReleaseClause
 This represents 'release' clause in the '#pragma omp atomic|flush' directives. More...
 
class  OMPRequiresDecl
 This represents '#pragma omp requires...' directive. More...
 
class  OMPReverseDirective
 Represents the '#pragma omp reverse' loop transformation directive. More...
 
class  OMPReverseOffloadClause
 This represents 'reverse_offload' clause in the '#pragma omp requires' directive. More...
 
class  OMPSafelenClause
 This represents 'safelen' clause in the '#pragma omp ...' directive. More...
 
class  OMPScanDirective
 This represents '#pragma omp scan' directive. More...
 
class  OMPScheduleClause
 This represents 'schedule' clause in the '#pragma omp ...' directive. More...
 
class  OMPScopeDirective
 This represents '#pragma omp scope' directive. More...
 
class  OMPSectionDirective
 This represents '#pragma omp section' directive. More...
 
class  OMPSectionsDirective
 This represents '#pragma omp sections' directive. More...
 
class  OMPSeqCstClause
 This represents 'seq_cst' clause in the '#pragma omp atomic' directive. More...
 
class  OMPSeverityClause
 This represents 'severity' clause in the '#pragma omp error' directive. More...
 
class  OMPSharedClause
 This represents clause 'shared' in the '#pragma omp ...' directives. More...
 
class  OMPSIMDClause
 This represents 'simd' clause in the '#pragma omp ...' directive. More...
 
class  OMPSimdDirective
 This represents '#pragma omp simd' directive. More...
 
class  OMPSimdlenClause
 This represents 'simdlen' clause in the '#pragma omp ...' directive. More...
 
class  OMPSingleDirective
 This represents '#pragma omp single' directive. More...
 
class  OMPSizesClause
 This represents the 'sizes' clause in the '#pragma omp tile' directive. More...
 
class  OMPTargetDataDirective
 This represents '#pragma omp target data' directive. More...
 
class  OMPTargetDirective
 This represents '#pragma omp target' directive. More...
 
class  OMPTargetEnterDataDirective
 This represents '#pragma omp target enter data' directive. More...
 
class  OMPTargetExitDataDirective
 This represents '#pragma omp target exit data' directive. More...
 
class  OMPTargetParallelDirective
 This represents '#pragma omp target parallel' directive. More...
 
class  OMPTargetParallelForDirective
 This represents '#pragma omp target parallel for' directive. More...
 
class  OMPTargetParallelForSimdDirective
 This represents '#pragma omp target parallel for simd' directive. More...
 
class  OMPTargetParallelGenericLoopDirective
 This represents '#pragma omp target parallel loop' directive. More...
 
class  OMPTargetSimdDirective
 This represents '#pragma omp target simd' directive. More...
 
class  OMPTargetTeamsDirective
 This represents '#pragma omp target teams' directive. More...
 
class  OMPTargetTeamsDistributeDirective
 This represents '#pragma omp target teams distribute' combined directive. More...
 
class  OMPTargetTeamsDistributeParallelForDirective
 This represents '#pragma omp target teams distribute parallel for' combined directive. More...
 
class  OMPTargetTeamsDistributeParallelForSimdDirective
 This represents '#pragma omp target teams distribute parallel for simd' combined directive. More...
 
class  OMPTargetTeamsDistributeSimdDirective
 This represents '#pragma omp target teams distribute simd' combined directive. More...
 
class  OMPTargetTeamsGenericLoopDirective
 This represents '#pragma omp target teams loop' directive. More...
 
class  OMPTargetUpdateDirective
 This represents '#pragma omp target update' directive. More...
 
class  OMPTaskDirective
 This represents '#pragma omp task' directive. More...
 
class  OMPTaskgroupDirective
 This represents '#pragma omp taskgroup' directive. More...
 
class  OMPTaskLoopDirective
 This represents '#pragma omp taskloop' directive. More...
 
class  OMPTaskLoopSimdDirective
 This represents '#pragma omp taskloop simd' directive. More...
 
class  OMPTaskReductionClause
 This represents clause 'task_reduction' in the '#pragma omp taskgroup' directives. More...
 
class  OMPTaskwaitDirective
 This represents '#pragma omp taskwait' directive. More...
 
class  OMPTaskyieldDirective
 This represents '#pragma omp taskyield' directive. More...
 
class  OMPTeamsDirective
 This represents '#pragma omp teams' directive. More...
 
class  OMPTeamsDistributeDirective
 This represents '#pragma omp teams distribute' directive. More...
 
class  OMPTeamsDistributeParallelForDirective
 This represents '#pragma omp teams distribute parallel for' composite directive. More...
 
class  OMPTeamsDistributeParallelForSimdDirective
 This represents '#pragma omp teams distribute parallel for simd' composite directive. More...
 
class  OMPTeamsDistributeSimdDirective
 This represents '#pragma omp teams distribute simd' combined directive. More...
 
class  OMPTeamsGenericLoopDirective
 This represents '#pragma omp teams loop' directive. More...
 
class  OMPThreadLimitClause
 This represents 'thread_limit' clause in the '#pragma omp ...' directive. More...
 
class  OMPThreadPrivateDecl
 This represents '#pragma omp threadprivate ...' directive. More...
 
class  OMPThreadsClause
 This represents 'threads' clause in the '#pragma omp ...' directive. More...
 
class  OMPTileDirective
 This represents the '#pragma omp tile' loop transformation directive. More...
 
class  OMPToClause
 This represents clause 'to' in the '#pragma omp ...' directives. More...
 
class  OMPTraitInfo
 Helper data structure representing the traits in a match clause of an declare variant or metadirective. More...
 
struct  OMPTraitProperty
 
struct  OMPTraitSelector
 
struct  OMPTraitSet
 
class  OMPUnifiedAddressClause
 This represents 'unified_address' clause in the '#pragma omp requires' directive. More...
 
class  OMPUnifiedSharedMemoryClause
 This represents 'unified_shared_memory' clause in the '#pragma omp requires' directive. More...
 
class  OMPUnrollDirective
 This represents the '#pragma omp unroll' loop transformation directive. More...
 
class  OMPUntiedClause
 This represents 'untied' clause in the '#pragma omp ...' directive. More...
 
class  OMPUpdateClause
 This represents 'update' clause in the '#pragma omp atomic' directive. More...
 
class  OMPUseClause
 This represents the 'use' clause in '#pragma omp ...' directives. More...
 
class  OMPUseDeviceAddrClause
 This represents clause 'use_device_addr' in the '#pragma omp ...' directives. More...
 
class  OMPUseDevicePtrClause
 This represents clause 'use_device_ptr' in the '#pragma omp ...' directives. More...
 
class  OMPUsesAllocatorsClause
 This represents clause 'uses_allocators' in the '#pragma omp target'-based directives. More...
 
class  OMPVarListClause
 This represents clauses with the list of variables like 'private', 'firstprivate', 'copyin', 'shared', or 'reduction' clauses in the '#pragma omp ...' directives. More...
 
struct  OMPVarListLocTy
 This structure contains most locations needed for by an OMPVarListClause. More...
 
class  OMPWeakClause
 This represents 'weak' clause in the '#pragma omp atomic' directives. More...
 
class  OMPWriteClause
 This represents 'write' clause in the '#pragma omp atomic' directive. More...
 
class  OMPXAttributeClause
 This represents 'ompx_attribute' clause in a directive that might generate an outlined function. More...
 
class  OMPXBareClause
 This represents 'ompx_bare' clause in the '#pragma omp target teams ...' directive. More...
 
class  OMPXDynCGroupMemClause
 This represents 'ompx_dyn_cgroup_mem' clause in the '#pragma omp target ...' directive. More...
 
struct  OnlyLargestCloneConstraint
 Ensures that no clone group fully contains another clone group. More...
 
class  OpaquePtr
 Wrapper for void* pointer. More...
 
class  OpaqueValueExpr
 OpaqueValueExpr - An expression referring to an opaque object of a fixed type and value class. More...
 
class  OpenACCAssociatedStmtConstruct
 This is a base class for any OpenACC statement-level constructs that have an associated statement. More...
 
class  OpenACCAsyncClause
 
class  OpenACCAttachClause
 
class  OpenACCAutoClause
 
class  OpenACCClause
 This is the base type for all OpenACC Clauses. More...
 
class  OpenACCClausePrinter
 
class  OpenACCClauseVisitor
 
class  OpenACCClauseWithCondition
 Represents one of the handful of classes that has an optional/required 'condition' expression as an argument. More...
 
class  OpenACCClauseWithExprs
 Represents a clause that has one or more expressions associated with it. More...
 
class  OpenACCClauseWithParams
 Represents a clause that has a list of parameters. More...
 
class  OpenACCClauseWithSingleIntExpr
 Represents one of a handful of clauses that have a single integer expression. More...
 
class  OpenACCClauseWithVarList
 Represents a clause with one or more 'var' objects, represented as an expr, as its arguments. More...
 
class  OpenACCComputeConstruct
 This class represents a compute construct, representing a 'Kind' of ‘parallel’, 'serial', or 'kernel'. More...
 
class  OpenACCConstructStmt
 This is the base class for an OpenACC statement-level construct, other construct types are expected to inherit from this. More...
 
class  OpenACCCopyClause
 
class  OpenACCCopyInClause
 
class  OpenACCCopyOutClause
 
class  OpenACCCreateClause
 
class  OpenACCDefaultClause
 A 'default' clause, has the optional 'none' or 'present' argument. More...
 
class  OpenACCDevicePtrClause
 
class  OpenACCDeviceTypeClause
 A 'device_type' or 'dtype' clause, takes a list of either an 'asterisk' or an identifier. More...
 
class  OpenACCFirstPrivateClause
 
class  OpenACCGangClause
 
class  OpenACCIfClause
 An 'if' clause, which has a required condition expression. More...
 
class  OpenACCIndependentClause
 
class  OpenACCLoopConstruct
 This class represents a 'loop' construct. More...
 
class  OpenACCNoCreateClause
 
class  OpenACCNumGangsClause
 
class  OpenACCNumWorkersClause
 
class  OpenACCPresentClause
 
class  OpenACCPrivateClause
 
class  OpenACCReductionClause
 
class  OpenACCSelfClause
 A 'self' clause, which has an optional condition expression. More...
 
class  OpenACCSeqClause
 
class  OpenACCVectorClause
 
class  OpenACCVectorLengthClause
 
class  OpenACCWaitClause
 
class  OpenACCWorkerClause
 
class  OpenCLOptions
 OpenCL supported extensions and optional core features. More...
 
struct  OpenMPScheduleTy
 Scheduling data for loop-based OpenMP directives. More...
 
class  OptionalDiagnostic
 A partial diagnostic which we might know in advance that we are not going to emit. More...
 
struct  OverloadCandidate
 OverloadCandidate - A single candidate in an overload set (C++ 13.3). More...
 
class  OverloadCandidateSet
 OverloadCandidateSet - A set of overload candidates, used in C++ overload resolution (C++ 13.3). More...
 
class  OverloadedTemplateStorage
 A structure for storing the information associated with an overloaded template name. More...
 
class  OverloadExpr
 A reference to an overloaded function set, either an UnresolvedLookupExpr or an UnresolvedMemberExpr. More...
 
class  OverridingMethods
 The set of methods that override a given virtual method in each subobject where it occurs. More...
 
class  PackExpansionExpr
 Represents a C++11 pack expansion that produces a sequence of expressions. More...
 
class  PackExpansionType
 Represents a pack expansion of types. More...
 
class  PackExpansionTypeLoc
 
struct  PackExpansionTypeLocInfo
 
class  PackIndexingExpr
 
class  PackIndexingType
 
class  PackIndexingTypeLoc
 
struct  PackIndexingTypeLocInfo
 
class  ParameterABIAttr
 A parameter attribute which changes the argument-passing ABI rule for the parameter. More...
 
class  ParamIdx
 A single parameter index whose accessors require each use to make explicit the parameter index encoding needed. More...
 
class  ParenBraceBracketBalancer
 RAII object that makes sure paren/bracket/brace count is correct after declaration/statement parsing, even when there's a parsing error. More...
 
class  ParenExpr
 ParenExpr - This represents a parenthesized expression, e.g. More...
 
class  ParenListExpr
 
struct  ParenLocInfo
 
class  ParentMap
 
class  ParentMapContext
 
class  ParenType
 Sugar for parentheses used when specifying types. More...
 
class  ParenTypeLoc
 
class  ParmVarDecl
 Represents a parameter to a function. More...
 
class  ParsedAttr
 ParsedAttr - Represents a syntactic attribute. More...
 
struct  ParsedAttributeArgumentsProperties
 
class  ParsedAttributes
 ParsedAttributes - A collection of parsed attributes. More...
 
class  ParsedAttributesView
 
struct  ParsedAttrInfo
 
struct  ParsedSourceLocation
 A source location that has been parsed on the command line. More...
 
struct  ParsedSourceRange
 A source range that has been parsed on the command line. More...
 
struct  ParsedTargetAttr
 Contains information gathered from parsing the contents of TargetAttr. More...
 
class  ParsedTemplateArgument
 Represents the parsed form of a C++ template argument. More...
 
class  Parser
 Parser - This implements a parser for the C family of languages. More...
 
class  ParsingDeclarator
 A class for parsing a declarator. More...
 
class  ParsingDeclRAIIObject
 RAII object used to inform the actions that we're currently parsing a declaration. More...
 
class  ParsingDeclSpec
 A class for parsing a DeclSpec. More...
 
class  ParsingFieldDeclarator
 A class for parsing a field declarator. More...
 
class  ParsingOpenACCDirectiveRAII
 Activates OpenACC parsing mode to preseve OpenACC specific annotation tokens. More...
 
class  ParsingOpenMPDirectiveRAII
 Activates OpenMP parsing mode to preseve OpenMP specific annotation tokens. More...
 
class  PartialDiagnostic
 
struct  PartialTranslationUnit
 The class keeps track of various objects created as part of processing incremental inputs. More...
 
struct  PCHBuffer
 
class  PCHContainerOperations
 A registry of PCHContainerWriter and -Reader objects for different formats. More...
 
class  PCHContainerReader
 This abstract interface provides operations for unwrapping containers for serialized ASTs (precompiled headers and clang modules). More...
 
class  PCHContainerWriter
 This abstract interface provides operations for creating containers for serialized ASTs (precompiled headers and clang modules). More...
 
class  PCHGenerator
 AST and semantic-analysis consumer that generates a precompiled header from the parsed source code. More...
 
class  PCHValidator
 ASTReaderListener implementation to validate the information of the PCH file against an initialized Preprocessor. More...
 
class  PipeType
 PipeType - OpenCL20. More...
 
class  PipeTypeLoc
 
struct  PipeTypeLocInfo
 
class  PluginASTAction
 
struct  PointerAuthOptions
 
class  PointerAuthQualifier
 Pointer-authentication qualifiers. More...
 
class  PointerAuthSchema
 
struct  PointerLikeLocInfo
 
class  PointerLikeTypeLoc
 A base class for. More...
 
class  PointerType
 PointerType - C99 6.7.5.1 - Pointer Declarators. More...
 
class  PointerTypeLoc
 Wrapper for source info for pointers. More...
 
class  PoisonIdentifierRAIIObject
 An RAII object for [un]poisoning an identifier within a scope. More...
 
class  PoisonSEHIdentifiersRAIIObject
 
class  PostAllocatorCall
 
class  PostCondition
 
class  PostImplicitCall
 Represents a program point just after an implicit call event. More...
 
class  PostInitializer
 
class  PostLoad
 
class  PostLValue
 
class  PostOrderCFGView
 
class  PostStmt
 
class  PostStmtPurgeDeadSymbols
 Represents a point after we ran remove dead bindings AFTER processing the given statement. More...
 
class  PostStore
 Represents a program point after a store evaluation. More...
 
class  PPCallbacks
 This interface provides a way to observe the actions of the preprocessor as it does its thing. More...
 
class  PPChainedCallbacks
 Simple wrapper class for chaining callbacks. More...
 
class  PPConditionalDirectiveRecord
 Records preprocessor conditional directive regions and allows querying in which region source locations belong to. More...
 
struct  PPConditionalInfo
 Information about the conditional stack (#if directives) currently active. More...
 
class  PPDirectiveParameter
 Captures basic information about a preprocessor directive parameter. More...
 
class  PPEmbedParameterIfEmpty
 Preprocessor standard embed parameter "if_empty" if_empty( balanced-token-seq ) More...
 
class  PPEmbedParameterLimit
 Preprocessor standard embed parameter "limit" limit( constant-expression ) More...
 
class  PPEmbedParameterOffset
 Preprocessor extension embed parameter "clang::offset" clang::offset( constant-expression ) More...
 
class  PPEmbedParameterPrefix
 Preprocessor standard embed parameter "prefix" prefix( balanced-token-seq ) More...
 
class  PPEmbedParameterSuffix
 Preprocessor standard embed parameter "suffix" suffix( balanced-token-seq ) More...
 
class  PragmaCommentDecl
 Represents a #pragma comment line. More...
 
class  PragmaDetectMismatchDecl
 Represents a #pragma detect_mismatch line. More...
 
class  PragmaHandler
 PragmaHandler - Instances of this interface defined to handle the various pragmas that the language front-end uses. More...
 
struct  PragmaIntroducer
 Describes how and where the pragma was introduced. More...
 
struct  PragmaLoopHintInfo
 
class  PragmaNamespace
 PragmaNamespace - This PragmaHandler subdivides the namespace of pragmas, allowing hierarchical pragmas to be defined. More...
 
struct  PreambleBounds
 Describes the bounds (start, size) of the preamble and a flag required by PreprocessorOptions::PrecompiledPreambleBytes. More...
 
class  PreambleCallbacks
 A set of callbacks to gather useful information while building a preamble. More...
 
class  PrecompiledPreamble
 A class holding a PCH and all information to check whether it is valid to reuse the PCH for the subsequent runs. More...
 
class  PredefinedExpr
 [C99 6.4.2.2] - A predefined identifier such as func. More...
 
class  PreferredTypeBuilder
 Tracks expected type during expression parsing, for use in code completion. More...
 
class  PreImplicitCall
 Represents a program point just before an implicit call event. More...
 
class  PreLoad
 
class  PreprocessedEntity
 Base class that describes a preprocessed entity, which may be a preprocessor directive or macro expansion. More...
 
class  PreprocessingDirective
 Records the presence of a preprocessor directive. More...
 
class  PreprocessingRecord
 A record of the steps taken while preprocessing a source file, including the various preprocessing directives processed, macros expanded, etc. More...
 
class  PreprocessOnlyAction
 
class  Preprocessor
 Engages in a tight little dance with the lexer to efficiently preprocess tokens. More...
 
class  PreprocessorFrontendAction
 Abstract base class to use for preprocessor-based frontend actions. More...
 
class  PreprocessorLexer
 
class  PreprocessorOptions
 PreprocessorOptions - This class is used for passing the various options used in preprocessor initialization to InitializePreprocessor(). More...
 
class  PreprocessorOutputOptions
 PreprocessorOutputOptions - Options for controlling the C preprocessor output (e.g., -E). More...
 
class  PreStmt
 
class  PreStmtPurgeDeadSymbols
 Represents a point after we ran remove dead bindings BEFORE processing the given statement. More...
 
class  PreStore
 
class  PresumedLoc
 Represents an unpacked "presumed" location which can be presented to the user. More...
 
class  PrettyDeclStackTraceEntry
 PrettyDeclStackTraceEntry - If a crash occurs in the parser while parsing something related to a declaration, include that declaration in the stack trace. More...
 
class  PrettyStackTraceDecl
 PrettyStackTraceDecl - If a crash occurs, indicate that it happened when doing something to a specific decl. More...
 
class  PrettyStackTraceLoc
 If a crash happens while one of these objects are live, the message is printed out along with the specified source location. More...
 
class  PrintDependencyDirectivesSourceMinimizerAction
 
class  PrinterHelper
 
class  PrintingCallbacks
 Callbacks to use to customize the behavior of the pretty-printer. More...
 
class  PrintingCodeCompleteConsumer
 A simple code-completion consumer that prints the results it receives in a simple format. More...
 
struct  PrintingPolicy
 Describes how types, statements, expressions, and declarations should be printed. More...
 
class  PrintPreambleAction
 
class  PrintPreprocessedAction
 
class  ProfileList
 
class  ProfileSpecialCaseList
 
class  ProgramPoint
 
class  ProgramPointTag
 ProgramPoints can be "tagged" as representing points specific to a given analysis entity. More...
 
class  PseudoDestructorTypeStorage
 Stores the type being destroyed by a pseudo-destructor expression. More...
 
class  PseudoObjectExpr
 PseudoObjectExpr - An expression which accesses a pseudo-object l-value. More...
 
class  QualifiedTemplateName
 Represents a template name as written in source code. More...
 
class  QualifiedTypeLoc
 Wrapper of type source information for a type with non-trivial direct qualifiers. More...
 
class  QualifierCollector
 A qualifier set is used to build a set of qualifiers. More...
 
struct  QualifierInfo
 A struct with extended info about a syntactic name qualifier, to be used for the case of out-of-line declarations. More...
 
class  Qualifiers
 The collection of all-type qualifiers we support. More...
 
class  QualifiersAndAtomic
 
class  QualType
 A (possibly-)qualified type. More...
 
struct  QualTypeOrdering
 Function object that provides a total ordering on QualType values. More...
 
class  RawComment
 
class  RawCommentList
 This class represents all comments included in the translation unit, sorted in order of appearance in the translation unit. More...
 
class  RawPCHContainerReader
 Implements read operations for a raw pass-through PCH container. More...
 
class  RawPCHContainerWriter
 Implements write operations for a raw pass-through PCH container. More...
 
class  ReadPCHAndPreprocessAction
 Preprocessor-based frontend action that also loads PCH files. More...
 
class  RecordDecl
 Represents a struct/union/class. More...
 
class  RecordType
 A helper class that allows the use of isa/cast/dyncast to detect TagType objects of structs/unions/classes. More...
 
class  RecordTypeLoc
 Wrapper for source info for record types. More...
 
class  RecoveryExpr
 Frontend produces RecoveryExprs on semantic errors that prevent creating other well-formed expressions. More...
 
class  RecursiveASTVisitor
 A class that does preorder or postorder depth-first traversal on the entire Clang AST and visits each node. More...
 
class  RecursiveCloneTypeIIHashConstraint
 This constraint moves clones into clone groups of type II via hashing. More...
 
class  RecursiveCloneTypeIIVerifyConstraint
 This constraint moves clones into clone groups of type II by comparing them. More...
 
class  Redeclarable
 Provides common interface for the Decls that can be redeclared. More...
 
class  RedeclarableTemplateDecl
 Declaration of a redeclarable template. More...
 
class  ReducedBMIGenerator
 
class  ReferenceType
 Base for LValueReferenceType and RValueReferenceType. More...
 
class  ReferenceTypeLoc
 
class  RelaxedLiveVariables
 
struct  ReplCodeCompleter
 
class  ReplCompletionConsumer
 
class  RequiresExpr
 C++2a [expr.prim.req]: A requires-expression provides a concise way to express requirements on template arguments. More...
 
class  RequiresExprBodyDecl
 Represents the body of a requires-expression. More...
 
struct  ReturnAdjustment
 A return adjustment. More...
 
class  ReturnedValueConstructionContext
 
class  ReturnStmt
 ReturnStmt - This represents a return, optionally of an expression: return; return 4;. More...
 
struct  ReversePostOrderCompare
 
class  RewriteBuffer
 RewriteBuffer - As code is rewritten, SourceBuffer's from the original input with modifications get a new RewriteBuffer associated with them. More...
 
class  RewriteIncludesAction
 
class  RewriteMacrosAction
 
class  RewriteObjCAction
 
class  Rewriter
 Rewriter - This is the main interface to the rewrite buffers. More...
 
class  RewriteRope
 RewriteRope - A powerful string class. More...
 
class  RewriteTestAction
 
struct  RopePiece
 RopePiece - This class represents a view into a RopeRefCountString object. More...
 
class  RopePieceBTree
 
class  RopePieceBTreeIterator
 RopePieceBTreeIterator - This class provides read-only forward iteration over bytes that are in a RopePieceBTree. More...
 
struct  RopeRefCountString
 RopeRefCountString - This struct is allocated with 'new char[]' from the heap, and represents a reference counted chunk of string data. More...
 
class  RuntimeInterfaceBuilder
 Generate glue code between the Interpreter's built-in runtime and user code. More...
 
class  RValueReferenceType
 An rvalue reference type, per C++11 [dcl.ref]. More...
 
class  RValueReferenceTypeLoc
 
struct  SanitizerKind
 
class  SanitizerMask
 
struct  SanitizerSet
 
class  SanitizerSpecialCaseList
 
class  SARIFDiagnostic
 
class  SARIFDiagnosticPrinter
 
class  SarifDocumentWriter
 This class handles creating a valid SARIF document given various input attributes. More...
 
class  SarifReportingConfiguration
 A SARIF Reporting Configuration (reportingConfiguration) object contains properties for a SarifRule that can be configured at runtime before analysis begins. More...
 
class  SarifResult
 A SARIF result (also called a "reporting item") is a unit of output produced when one of the tool's reportingDescriptor encounters a match on the file being analysed by the tool. More...
 
class  SarifRule
 A SARIF rule (reportingDescriptor object) contains information that describes a reporting item generated by a tool. More...
 
struct  SavedStreamPosition
 Helper class that saves the current stream position and then restores it when destroyed. More...
 
class  Scope
 Scope - A scope is a transient data structure that is used while parsing the program. More...
 
class  ScratchBuffer
 ScratchBuffer - This class exposes a simple interface for the dynamic construction of tokens. More...
 
class  SEHExceptStmt
 
class  SEHFinallyStmt
 
class  SEHLeaveStmt
 Represents a __leave statement. More...
 
class  SEHTryStmt
 
class  Selector
 Smart pointer class that efficiently represents Objective-C method names. More...
 
class  SelectorTable
 This table allows us to fully hide how we implement multi-keyword caching. More...
 
class  Sema
 Sema - This implements semantic analysis and AST building for C. More...
 
class  SemaAMDGPU
 
class  SemaARM
 
class  SemaAVR
 
class  SemaBase
 
class  SemaBPF
 
class  SemaCodeCompletion
 
class  SemaConsumer
 An abstract interface that should be implemented by clients that read ASTs and then require further semantic analysis of the entities in those ASTs. More...
 
class  SemaCUDA
 
class  SemaHexagon
 
class  SemaHLSL
 
class  SemaLoongArch
 
class  SemaM68k
 
class  SemaMIPS
 
class  SemaMSP430
 
class  SemaNVPTX
 
class  SemaObjC
 
class  SemaOpenACC
 
class  SemaOpenCL
 
class  SemaOpenMP
 
class  SemaPPC
 
class  SemaPseudoObject
 
class  SemaRISCV
 
class  SemaSwift
 
class  SemaSYCL
 
class  SemaSystemZ
 
class  SemaWasm
 
class  SemaX86
 
class  ShuffleVectorExpr
 ShuffleVectorExpr - clang-specific builtin-in function __builtin_shufflevector. More...
 
class  SimpleASTReaderListener
 ASTReaderListenter implementation to set SuggestedPredefines of ASTReader which is required to use a pch file. More...
 
class  SimpleConstructorInitializerConstructionContext
 Represents construction into a field or a base class within a bigger object via a constructor initializer, eg. More...
 
class  SimpleProgramPointTag
 
class  SimpleReturnedValueConstructionContext
 Represents a temporary object that is being immediately returned from a function by value, eg. More...
 
class  SimpleTemporaryObjectConstructionContext
 Represents a temporary object that is not constructed for the purpose of being immediately copied/moved by an elidable copy/move-constructor. More...
 
class  SimpleVariableConstructionContext
 Represents construction into a simple local variable, eg. More...
 
class  SizeOfPackExpr
 Represents an expression that computes the length of a parameter pack. More...
 
struct  SkipBodyInfo
 
struct  SkippedRange
 
class  SourceLocation
 Encodes a location in the source. More...
 
class  SourceLocationEncoding
 Serialized encoding of SourceLocations without context. More...
 
class  SourceLocationSequence
 Serialized encoding of a sequence of SourceLocations. More...
 
class  SourceLocExpr
 Represents a function call to one of __builtin_LINE(), __builtin_COLUMN(), __builtin_FUNCTION(), __builtin_FUNCSIG(), __builtin_FILE(), __builtin_FILE_NAME() or __builtin_source_location(). More...
 
class  SourceManager
 This class handles loading and caching of source files into memory. More...
 
class  SourceManagerForFile
 SourceManager and necessary dependencies (e.g. More...
 
class  SourceMgrAdapter
 An adapter that can be used to translate diagnostics from one or more llvm::SourceMgr instances to a ,. More...
 
class  SourceRange
 A trivial tuple used to represent a source range. More...
 
class  specific_attr_iterator
 specific_attr_iterator - Iterates over a subrange of an AttrVec, only providing attributes that are of a specific type. More...
 
struct  SplitQualType
 A std::pair-like structure for storing a qualified type split into its local qualifiers and its locally-unqualified type. More...
 
class  StackFrameContext
 It represents a stack frame of the call stack (based on CallEvent). More...
 
class  StandardConversionSequence
 StandardConversionSequence - represents a standard conversion sequence (C++ 13.3.3.1.1). More...
 
class  StaticAssertDecl
 Represents a C++11 static_assert declaration. More...
 
class  Stmt
 Stmt - This represents one statement. More...
 
class  StmtAttr
 
class  StmtExpr
 StmtExpr - This is the GNU Statement Expression extension: ({int X=4; X;}). More...
 
struct  StmtIterator
 
class  StmtIteratorBase
 
class  StmtIteratorImpl
 
class  StmtPoint
 
class  StmtSequence
 Identifies a list of statements. More...
 
class  StmtVisitor
 StmtVisitor - This class implements a simple visitor for Stmt subclasses. More...
 
class  StmtVisitorBase
 StmtVisitorBase - This class implements a simple visitor for Stmt subclasses. More...
 
class  StoredDeclsList
 An array of decls optimized for the common case of only containing one entry. More...
 
class  StoredDeclsMap
 
class  StoredDiagnostic
 Represents a diagnostic in a form that can be retained until its corresponding source manager is destroyed. More...
 
class  StreamingDiagnostic
 The streaming interface shared between DiagnosticBuilder and PartialDiagnostic. More...
 
class  StringLiteral
 StringLiteral - This represents a string literal expression, e.g. More...
 
class  StringLiteralParser
 StringLiteralParser - This decodes string escape characters and performs wide string analysis and Translation Phase #6 (concatenation of string literals) (C99 5.1.1.2p1). More...
 
class  StringSizerHelper
 
struct  StructuralEquivalenceContext
 
struct  SubobjectAdjustment
 An adjustment to be made to the temporary created when emitting a reference binding, which accesses a particular subobject of that temporary. More...
 
class  SubstNonTypeTemplateParmExpr
 Represents a reference to a non-type template parameter that has been substituted with a template argument. More...
 
class  SubstNonTypeTemplateParmPackExpr
 Represents a reference to a non-type template parameter pack that has been substituted with a non-template argument pack. More...
 
class  SubstTemplateTemplateParmPackStorage
 A structure for storing an already-substituted template template parameter pack. More...
 
class  SubstTemplateTemplateParmStorage
 A structure for storing the information associated with a substituted template template parameter. More...
 
class  SubstTemplateTypeParmPackType
 Represents the result of substituting a set of types for a template type parameter pack. More...
 
class  SubstTemplateTypeParmPackTypeLoc
 Wrapper for substituted template type parameters. More...
 
class  SubstTemplateTypeParmType
 Represents the result of substituting a type for a template type parameter. More...
 
class  SubstTemplateTypeParmTypeLoc
 Wrapper for substituted template type parameters. More...
 
class  SuppressAccessChecks
 A RAII object used to temporarily suppress access-like checking. More...
 
class  SVETypeFlags
 Flags to identify the types for overloaded SVE builtins. More...
 
class  SwitchCase
 
class  SwitchStmt
 SwitchStmt - This represents a 'switch' stmt. More...
 
class  SYCLUniqueStableNameExpr
 
class  SyntaxOnlyAction
 
class  TagDecl
 Represents the declaration of a struct/union/class/enum. More...
 
class  TagType
 
class  TagTypeLoc
 Wrapper for source info for tag types. More...
 
class  TargetCXXABI
 The basic abstraction for the target C++ ABI. More...
 
class  TargetInfo
 Exposes information about the current target. More...
 
struct  TargetOMPContext
 Clang specific specialization of the OMPContext to lookup target features. More...
 
class  TargetOptions
 Options for controlling the target. More...
 
class  TemplateArgument
 Represents a template argument. More...
 
class  TemplateArgumentList
 A template argument list. More...
 
class  TemplateArgumentListInfo
 A convenient class for passing around template argument information. More...
 
class  TemplateArgumentLoc
 Location wrapper for a TemplateArgument. More...
 
class  TemplateArgumentLocContainerIterator
 Simple iterator that traverses the template arguments in a container that provides a getArgLoc() member function. More...
 
struct  TemplateArgumentLocInfo
 Location information for a TemplateArgument. More...
 
class  TemplateArgumentLocInventIterator
 Iterator adaptor that invents template argument location information for each of the template arguments in its underlying iterator. More...
 
class  TemplateArgumentVisitor
 A simple visitor class that helps create template argument visitors. More...
 
class  TemplateDecl
 The base class of all kinds of template declarations (e.g., class, function, etc.). More...
 
class  TemplateDeclInstantiator
 
struct  TemplateDiffTypes
 
struct  TemplateIdAnnotation
 Information about a template-id annotation token. More...
 
class  TemplateInstantiationCallback
 This is a base class for callbacks that will be notified at every template instantiation. More...
 
class  TemplateName
 Represents a C++ template name within the type system. More...
 
struct  TemplateNameLocInfo
 
class  TemplateParameterList
 Stores a list of template parameters for a TemplateDecl and its derived classes. More...
 
class  TemplateParamObjectDecl
 A template parameter object. More...
 
class  TemplateParmPosition
 Defines the position of a template parameter within a template parameter list. More...
 
class  TemplatePartialOrderingContext
 
struct  TemplateSpecCandidate
 TemplateSpecCandidate - This is a generalization of OverloadCandidate which keeps track of template argument deduction failure info, when handling explicit specializations (and instantiations) of templates beyond function overloading. More...
 
class  TemplateSpecCandidateSet
 TemplateSpecCandidateSet - A set of generalized overload candidates, used in template specializations. More...
 
struct  TemplateSpecializationLocInfo
 
class  TemplateSpecializationType
 Represents a type template specialization; the template must be a class template, a type alias template, or a template template parameter. More...
 
class  TemplateSpecializationTypeLoc
 
class  TemplateTemplateParmDecl
 TemplateTemplateParmDecl - Declares a template template parameter, e.g., "T" in. More...
 
class  TemplateTypeParmDecl
 Declaration of a template type parameter. More...
 
class  TemplateTypeParmType
 
class  TemplateTypeParmTypeLoc
 Wrapper for template type parameters. More...
 
class  TemplightDumpAction
 
class  TemporaryObjectConstructionContext
 Represents a temporary object, eg. More...
 
struct  TerminalColor
 
class  TestAST
 The result of parsing a file specified by TestInputs. More...
 
struct  TestClangConfig
 A Clang configuration for end-to-end tests that can be converted to command line arguments for the driver. More...
 
struct  TestInputs
 Specifies a virtual source file to be parsed as part of a test. More...
 
class  TestModuleFileExtension
 A module file extension used for testing purposes. More...
 
class  TextDiagnostic
 Class to encapsulate the logic for formatting and printing a textual diagnostic message. More...
 
class  TextDiagnosticBuffer
 
class  TextDiagnosticPrinter
 
class  TextNodeDumper
 
class  TextTreeStructure
 
struct  ThisAdjustment
 A this pointer adjustment. More...
 
class  ThreadFlow
 A thread flow is a sequence of code locations that specify a possible path through a single thread of execution. More...
 
struct  ThunkInfo
 The this pointer adjustment as well as an optional return adjustment for a thunk. More...
 
class  Token
 Token - This structure provides full information about a lexed token. More...
 
class  TokenConcatenation
 TokenConcatenation class, which answers the question of "Is it safe to emit two tokens without a whitespace between them, or would that cause implicit concatenation of the tokens?". More...
 
class  TokenLexer
 TokenLexer - This implements a lexer that returns tokens from a macro body or token stream instead of lexing from a character buffer. More...
 
class  TokenRewriter
 
class  TokenValue
 Stores token information for comparing actual tokens with predefined values. More...
 
class  TopLevelStmtDecl
 A declaration that models statements at global scope. More...
 
struct  TransferrableTargetInfo
 Fields controlling how types are laid out in memory; these may need to be copied for targets like AMDGPU that base their ABIs on an auxiliary CPU target. More...
 
class  TranslationUnitDecl
 The top declaration context. More...
 
class  TraversalKindScope
 
class  TreeTransform
 A semantic tree transformation that allows one to transform one abstract syntax tree into another. More...
 
class  TrivialFunctionAnalysis
 An inter-procedural analysis facility that detects functions with "trivial" behavior with respect to reference counting, such as simple field getters. More...
 
class  TrivialFunctionAnalysisVisitor
 
class  TrivialModuleLoader
 A module loader that doesn't know how to create or load modules. More...
 
class  Type
 The base class of the type hierarchy. More...
 
class  TypeAliasDecl
 Represents the declaration of a typedef-name via a C++11 alias-declaration. More...
 
class  TypeAliasTemplateDecl
 Declaration of an alias template. More...
 
class  TypeAttr
 
class  TypeConstraint
 Models the abbreviated syntax to constrain a template type parameter: template <convertible_to<string> T> void print(T object); ~~~~~~~~~~~~~~~~~~~~~~ Semantically, this adds an "immediately-declared constraint" with extra arg: requires convertible_to<T, string> More...
 
class  TypeCoupledDeclRefInfo
 [BoundsSafety] Represents information of declarations referenced by the arguments of the counted_by attribute and the likes. More...
 
class  TypeDecl
 Represents a declaration of a type. More...
 
class  TypedefDecl
 Represents the declaration of a typedef-name via the 'typedef' type specifier. More...
 
class  TypedefNameDecl
 Base class for declarations which introduce a typedef-name. More...
 
class  TypedefType
 
class  TypedefTypeLoc
 Wrapper for source info for typedefs. More...
 
struct  TypeDependenceScope
 
struct  TypeInfo
 
struct  TypeInfoChars
 
class  TypeInfoLValue
 Symbolic representation of typeid(T) for some type T. More...
 
class  TypeLoc
 Base wrapper for a particular "section" of type source info. More...
 
class  TypeLocBuilder
 
class  TypeLocReader
 
class  TypeLocVisitor
 
class  TypeOfExprType
 Represents a typeof (or typeof) expression (a C23 feature and GCC extension) or a typeof_unqual expression (a C23 feature). More...
 
class  TypeOfExprTypeLoc
 
struct  TypeOfExprTypeLocInfo
 
class  TypeofLikeTypeLoc
 
struct  TypeofLocInfo
 
class  TypeOfType
 Represents typeof(type), a C23 feature and GCC extension, or `typeof_unqual(type), a C23 feature. More...
 
class  TypeOfTypeLoc
 
struct  TypeOfTypeLocInfo
 
class  TypePropertyCache
 The type-property cache. More...
 
class  TypeSourceInfo
 A container of type source information. More...
 
struct  TypeSpecLocInfo
 
class  TypeSpecTypeLoc
 A reasonable base class for TypeLocs that correspond to types that are written as a type-specifier. More...
 
class  TypeTraitExpr
 A type trait used in the implementation of various C++11 and Library TR1 trait templates. More...
 
class  TypeVisitor
 An operation on a type. More...
 
class  TypeWithKeyword
 A helper class for Type nodes having an ElaboratedTypeKeyword. More...
 
class  TypoCorrection
 Simple class containing the result of Sema::CorrectTypo. More...
 
class  TypoCorrectionConsumer
 
class  TypoExpr
 TypoExpr - Internal placeholder for expressions where typo correction still needs to be performed and/or an error diagnostic emitted. More...
 
class  UnaryExprOrTypeTraitExpr
 UnaryExprOrTypeTraitExpr - expression with either a type or (unevaluated) expression operand. More...
 
class  UnaryOperator
 UnaryOperator - This represents the unary-expression's (except sizeof and alignof), the postinc/postdec operators from postfix-expression, and various extensions. More...
 
class  UnaryTransformType
 A unary type transform, which is a type constructed from another. More...
 
class  UnaryTransformTypeLoc
 
struct  UnaryTransformTypeLocInfo
 
class  UncommonTemplateNameStorage
 Implementation class used to describe either a set of overloaded template names or an already-substituted template template parameter pack. More...
 
class  UndefMacroDirective
 A directive for an undefined macro. More...
 
class  UninitUse
 A use of a variable, which might be uninitialized. More...
 
struct  UninitVariablesAnalysisStats
 
class  UninitVariablesHandler
 
struct  UnionOpaquePtr
 UnionOpaquePtr - A version of OpaquePtr suitable for membership in a union. More...
 
struct  UniqueVirtualMethod
 Uniquely identifies a virtual method within a class hierarchy by the method itself and a class subobject number. More...
 
class  UnnamedGlobalConstantDecl
 An artificial decl, representing a global anonymous constant value which is uniquified by value within a translation unit. More...
 
class  UnqualifiedId
 Represents a C++ unqualified-id that has been parsed. More...
 
class  UnqualTypeLoc
 Wrapper of type source information for a type with no direct qualifiers. More...
 
class  UnresolvedLookupExpr
 A reference to a name which we were able to look up during parsing but could not resolve to a specific declaration. More...
 
class  UnresolvedMemberExpr
 Represents a C++ member access expression for which lookup produced a set of overloaded functions. More...
 
class  UnresolvedSet
 A set of unresolved declarations. More...
 
class  UnresolvedSetImpl
 A set of unresolved declarations. More...
 
class  UnresolvedSetIterator
 The iterator over UnresolvedSets. More...
 
class  UnresolvedUsingIfExistsDecl
 This node is generated when a using-declaration that was annotated with attribute((using_if_exists)) failed to resolve to a known declaration. More...
 
class  UnresolvedUsingType
 Represents the dependent type named by a dependently-scoped typename using declaration, e.g. More...
 
class  UnresolvedUsingTypeLoc
 Wrapper for source info for unresolved typename using decls. More...
 
class  UnresolvedUsingTypenameDecl
 Represents a dependent using declaration which was marked with typename. More...
 
class  UnresolvedUsingValueDecl
 Represents a dependent using declaration which was not marked with typename. More...
 
class  UnsafeBufferUsageHandler
 The interface that lets the caller handle unsafe buffer usage analysis results by overriding this class's handle... methods. More...
 
class  UpdateOnReturn
 
class  UsedDeclVisitor
 
struct  UserDefinedConversionSequence
 UserDefinedConversionSequence - Represents a user-defined conversion sequence (C++ 13.3.3.1.2). More...
 
class  UserDefinedLiteral
 A call to a literal operator (C++11 [over.literal]) written as a user-defined literal (C++11 [lit.ext]). More...
 
class  UsingDecl
 Represents a C++ using-declaration. More...
 
class  UsingDirectiveDecl
 Represents C++ using-directive. More...
 
class  UsingEnumDecl
 Represents a C++ using-enum-declaration. More...
 
class  UsingPackDecl
 Represents a pack of using declarations that a single using-declarator pack-expanded into. More...
 
class  UsingShadowDecl
 Represents a shadow declaration implicitly introduced into a scope by a (resolved) using-declaration or using-enum-declaration to achieve the desired lookup semantics. More...
 
class  UsingType
 
class  UsingTypeLoc
 Wrapper for source info for types used via transparent aliases. More...
 
class  VAArgExpr
 Represents a call to the builtin function __builtin_va_arg. More...
 
class  Value
 
class  ValueDecl
 Represent the declaration of a variable (in which case it is an lvalue) a function (in which case it is a function designator) or an enum constant. More...
 
class  ValueStmt
 Represents a statement that could possibly have a value and type. More...
 
class  VAOptDefinitionContext
 A class for tracking whether we're inside a VA_OPT during a traversal of the tokens of a variadic macro definition. More...
 
class  VAOptExpansionContext
 A class for tracking whether we're inside a VA_OPT during a traversal of the tokens of a macro during macro expansion. More...
 
class  VarDecl
 Represents a variable declaration or definition. More...
 
class  VariableArrayType
 Represents a C array with a specified size that is not an integer-constant-expression. More...
 
class  VariableArrayTypeLoc
 
class  VariableConstructionContext
 An abstract base class for local variable constructors. More...
 
class  VariableGroupsManager
 
class  VariablePattern
 Analyzes the pattern of the referenced variables in a statement. More...
 
class  VariadicMacroScopeGuard
 An RAII class that tracks when the Preprocessor starts and stops lexing the definition of a (ISO C/C++) variadic macro. More...
 
class  VarTemplateDecl
 Declaration of a variable template. More...
 
class  VarTemplatePartialSpecializationDecl
 
class  VarTemplateSpecializationDecl
 Represents a variable template specialization, which refers to a variable template with a given set of template arguments. More...
 
class  VectorType
 Represents a GCC generic vector type. More...
 
class  VectorTypeLoc
 
struct  VectorTypeLocInfo
 
class  VerifyDiagnosticConsumer
 VerifyDiagnosticConsumer - Create a diagnostic client which will use markers in the input source to check that all the emitted diagnostics match those expected. More...
 
class  VerifyPCHAction
 
class  VirtSpecifiers
 Represents a C++11 virt-specifier-seq. More...
 
struct  VirtualBaseInfo
 All virtual base related information about a given record decl. More...
 
class  VisibilityMacroDirective
 A directive for setting the module visibility of a macro. More...
 
class  VisibleDeclConsumer
 Consumes visible declarations found when searching for all visible names within a given scope or context. More...
 
class  VisibleModuleSet
 A set of visible modules. More...
 
struct  VPtrInfo
 Holds information about the inheritance path to a virtual base or function table pointer. More...
 
class  VTableComponent
 Represents a single component in a vtable. More...
 
class  VTableContextBase
 
class  VTableLayout
 
class  VTTBuilder
 Class for building VTT layout information. More...
 
struct  VTTComponent
 
class  VTTVTable
 
class  WasmIncrementalExecutor
 
class  WeakInfo
 Captures information about a #pragma weak directive. More...
 
class  WhileStmt
 WhileStmt - This represents a 'while' stmt. More...
 
class  WrapperFrontendAction
 A frontend action which simply wraps some other runtime-specified frontend action. More...
 
class  WrappingExtractAPIAction
 Wrap ExtractAPIAction on top of a pre-existing action. More...
 
struct  WrittenBuiltinSpecs
 Structure that packs information about the type specifiers that were written in a particular type specifier sequence. More...
 
struct  WTOCompare
 
struct  WTODataflowWorklist
 A worklist implementation for forward dataflow analysis based on a weak topological ordering of the nodes. More...
 
class  XRayFunctionFilter
 
struct  XRayInstrSet
 

Typedefs

using DomTreeNode = llvm::DomTreeNodeBase< CFGBlock >
 
using CFGDomTree = CFGDominatorTreeImpl< false >
 
using CFGPostDomTree = CFGDominatorTreeImpl< true >
 
using WeakTopologicalOrdering = std::vector< const CFGBlock * >
 A weak topological ordering (WTO) of CFG nodes provides a total order over the CFG (defined in WTOCompare, below), which can guide the order in which to visit nodes in fixpoint computations over the CFG.
 
using VarGrpTy = std::vector< const VarDecl * >
 
using VarGrpRef = ArrayRef< const VarDecl * >
 
using UnsatisfiedConstraintRecord = llvm::PointerUnion< Expr *, std::pair< SourceLocation, StringRef > * >
 Pairs of unsatisfied atomic constraint expressions along with the substituted constraint expr, if the template arguments could be substituted into them, or a diagnostic if substitution resulted in an invalid expression.
 
typedef SmallVector< CXXBaseSpecifier *, 4 > CXXCastPath
 A simple array of base specifiers.
 
using AttrVec = SmallVector< Attr *, 4 >
 AttrVec - A vector of Attr, which is how they are stored on the AST.
 
using CanQualType = CanQual< Type >
 Represents a canonical, potentially-qualified type.
 
using TemplateParameter = llvm::PointerUnion< TemplateTypeParmDecl *, NonTypeTemplateParmDecl *, TemplateTemplateParmDecl * >
 Stores a template parameter of any kind.
 
using SpecializationOrInstantiationInfo = llvm::PointerUnion< const ASTTemplateArgumentListInfo *, ExplicitInstantiationInfo * >
 
using ExprDependence = ExprDependenceScope::ExprDependence
 
using TypeDependence = TypeDependenceScope::TypeDependence
 
using ConstantExprKind = Expr::ConstantExprKind
 
using LazyDeclStmtPtr = LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >
 A lazy pointer to a statement.
 
using LazyDeclPtr = LazyOffsetPtr< Decl, GlobalDeclID, &ExternalASTSource::GetExternalDecl >
 A lazy pointer to a declaration.
 
using LazyCXXCtorInitializersPtr = LazyOffsetPtr< CXXCtorInitializer *, uint64_t, &ExternalASTSource::GetExternalCXXCtorInitializers >
 A lazy pointer to a set of CXXCtorInitializers.
 
using LazyCXXBaseSpecifiersPtr = LazyOffsetPtr< CXXBaseSpecifier, uint64_t, &ExternalASTSource::GetExternalCXXBaseSpecifiers >
 A lazy pointer to a set of CXXBaseSpecifiers.
 
using DeviceTypeArgument = std::pair< IdentifierInfo *, SourceLocation >
 
template<typename T >
using const_ptr = std::add_pointer_t< std::add_const_t< T > >
 
template<typename T >
using TypeIsArrayType = std::integral_constant< bool, std::is_same< T, ArrayType >::value||std::is_base_of< ArrayType, T >::value >
 
typedef SmallVector< std::unique_ptr< VPtrInfo >, 2 > VPtrInfoVector
 
using LangASMap = unsigned[(unsigned) LangAS::FirstTargetAddressSpace]
 The type of a lookup table which maps from language-specific address spaces to target-specific ones.
 
using DiagNullabilityKind = std::pair< NullabilityKind, bool >
 A nullability kind paired with a bit indicating whether it used a context-sensitive keyword.
 
using TextDiagnosticFormat = DiagnosticOptions::TextDiagnosticFormat
 
using OptionalDirectoryEntryRef = CustomizableOptional< DirectoryEntryRef >
 
using OptionalFileEntryRef = CustomizableOptional< FileEntryRef >
 
using IdentifierLocPair = std::pair< IdentifierInfo *, SourceLocation >
 A simple pair of identifier info and location.
 
using ModuleId = SmallVector< std::pair< std::string, SourceLocation >, 2 >
 Describes the name of a module.
 
using OpenMPDirectiveKind = llvm::omp::Directive
 OpenMP directives.
 
using OpenMPClauseKind = llvm::omp::Clause
 OpenMP clauses.
 
typedef llvm::Registry< ParsedAttrInfoParsedAttrInfoRegistry
 
using PartialDiagnosticAt = std::pair< SourceLocation, PartialDiagnostic >
 A partial diagnostic along with the source location where this diagnostic occurs.
 
using ModuleBuildStack = ArrayRef< std::pair< std::string, FullSourceLoc > >
 The stack used when building modules on demand, which is used to provide a link between the source managers of the different compiler instances.
 
using XRayInstrMask = uint32_t
 
using DiagOrStoredDiag = llvm::PointerUnion< const Diagnostic *, const StoredDiagnostic * >
 
using FrontendPluginRegistry = llvm::Registry< PluginASTAction >
 The frontend plugin registry.
 
using ConstSearchDirIterator = detail::SearchDirIteratorImpl< true >
 
using SearchDirIterator = detail::SearchDirIteratorImpl< false >
 
using ConstSearchDirRange = llvm::iterator_range< ConstSearchDirIterator >
 
using SearchDirRange = llvm::iterator_range< SearchDirIterator >
 
using ModuleIdPath = ArrayRef< std::pair< IdentifierInfo *, SourceLocation > >
 A sequence of identifier/location pairs used to describe a particular module or submodule, e.g., std.vector.
 
using PragmaHandlerRegistry = llvm::Registry< PragmaHandler >
 Registry of pragma handlers added by plugins.
 
typedef SmallVector< Token, 4 > CachedTokens
 A set of tokens that has been cached for later parsing.
 
using ConversionSequenceList = llvm::MutableArrayRef< ImplicitConversionSequence >
 A list of implicit conversion sequences for the arguments of an OverloadCandidate.
 
using ParsedType = OpaquePtr< QualType >
 An opaque type for threading parsed type information through the parser.
 
using UnionParsedType = UnionOpaquePtr< QualType >
 
using ExprResult = ActionResult< Expr * >
 
using StmtResult = ActionResult< Stmt * >
 
using TypeResult = ActionResult< ParsedType >
 
using BaseResult = ActionResult< CXXBaseSpecifier * >
 
using MemInitResult = ActionResult< CXXCtorInitializer * >
 
using DeclResult = ActionResult< Decl * >
 
using ParsedTemplateTy = OpaquePtr< TemplateName >
 
using UnionParsedTemplateTy = UnionOpaquePtr< TemplateName >
 
using MultiExprArg = MutableArrayRef< Expr * >
 
using MultiStmtArg = MutableArrayRef< Stmt * >
 
using ASTTemplateArgsPtr = MutableArrayRef< ParsedTemplateArgument >
 
using MultiTypeArg = MutableArrayRef< ParsedType >
 
using MultiTemplateParamsArg = MutableArrayRef< TemplateParameterList * >
 
using ArgsUnion = llvm::PointerUnion< Expr *, IdentifierLoc * >
 A union of the various pointer types that can be passed to an ParsedAttr as an argument.
 
using ArgsVector = llvm::SmallVector< ArgsUnion, 12U >
 
typedef std::pair< llvm::PointerUnion< const TemplateTypeParmType *, NamedDecl * >, SourceLocationUnexpandedParameterPack
 
using NormalFormConstraint = llvm::PointerUnion< AtomicConstraint *, FoldExpandedConstraint * >
 
using NormalForm = llvm::SmallVector< llvm::SmallVector< NormalFormConstraint, 2 >, 4 >
 
using AnalyzerOptionsRef = IntrusiveRefCntPtr< AnalyzerOptions >
 
using ExpectedTypePtr = llvm::Expected< const Type * >
 
using ExpectedType = llvm::Expected< QualType >
 
using ExpectedStmt = llvm::Expected< Stmt * >
 
using ExpectedExpr = llvm::Expected< Expr * >
 
using ExpectedDecl = llvm::Expected< Decl * >
 
using ExpectedSLoc = llvm::Expected< SourceLocation >
 
using ExpectedName = llvm::Expected< DeclarationName >
 

Enumerations

enum class  NeverCalledReason {
  IfThen , IfElse , Switch , SwitchSkipped ,
  LoopEntered , LoopSkipped , FallbackReason , LARGEST_VALUE = FallbackReason
}
 
enum class  AlignRequirementKind { None , RequiredByTypedef , RequiredByRecord , RequiredByEnum }
 
enum  ASTDumpOutputFormat { ADOF_Default , ADOF_JSON }
 Used to specify the format for printing AST dump information. More...
 
enum class  StructuralEquivalenceKind { Default , Minimal }
 Whether to perform a normal or minimal equivalence check. More...
 
enum  TraversalKind { TK_AsIs , TK_IgnoreUnlessSpelledInSource }
 Defines how we descend a level in the AST when we pass through expressions. More...
 
enum class  ComparisonCategoryType : unsigned char {
  PartialOrdering , WeakOrdering , StrongOrdering , First = PartialOrdering ,
  Last = StrongOrdering
}
 An enumeration representing the different comparison categories types. More...
 
enum class  ComparisonCategoryResult : unsigned char {
  Equal , Equivalent , Less , Greater ,
  Unordered , Last = Unordered
}
 An enumeration representing the possible results of a three-way comparison. More...
 
enum class  ImplicitParamKind {
  ObjCSelf , ObjCCmd , CXXThis , CXXVTT ,
  CapturedContext , ThreadPrivateVar , Other
}
 Defines the kind of the implicit parameter: is this an implicit parameter with pointer to 'this', 'self', '_cmd', virtual table pointers, captured context or something else. More...
 
enum class  MultiVersionKind {
  None , Target , CPUSpecific , CPUDispatch ,
  TargetClones , TargetVersion
}
 
enum class  RecordArgPassingKind { CanPassInRegs , CannotPassInRegs , CanNeverPassInRegs }
 Enum that represents the different ways arguments are passed to and returned from function calls. More...
 
enum  AvailabilityResult { AR_Available = 0 , AR_NotYetIntroduced , AR_Deprecated , AR_Unavailable }
 Captures the result of checking the availability of a declaration. More...
 
enum class  DeductionCandidate : unsigned char { Normal , Copy , Aggregate }
 Only used by CXXDeductionGuideDecl. More...
 
enum class  LinkageSpecLanguageIDs { C = 1 , CXX = 2 }
 Represents the language in a linkage specification. More...
 
enum  PredefinedDeclIDs {
  PREDEF_DECL_NULL_ID = 0 , PREDEF_DECL_TRANSLATION_UNIT_ID = 1 , PREDEF_DECL_OBJC_ID_ID = 2 , PREDEF_DECL_OBJC_SEL_ID = 3 ,
  PREDEF_DECL_OBJC_CLASS_ID = 4 , PREDEF_DECL_OBJC_PROTOCOL_ID = 5 , PREDEF_DECL_INT_128_ID = 6 , PREDEF_DECL_UNSIGNED_INT_128_ID = 7 ,
  PREDEF_DECL_OBJC_INSTANCETYPE_ID = 8 , PREDEF_DECL_BUILTIN_VA_LIST_ID = 9 , PREDEF_DECL_VA_LIST_TAG = 10 , PREDEF_DECL_BUILTIN_MS_VA_LIST_ID = 11 ,
  PREDEF_DECL_BUILTIN_MS_GUID_ID = 12 , PREDEF_DECL_EXTERN_C_CONTEXT_ID = 13 , PREDEF_DECL_MAKE_INTEGER_SEQ_ID = 14 , PREDEF_DECL_CF_CONSTANT_STRING_ID = 15 ,
  PREDEF_DECL_CF_CONSTANT_STRING_TAG_ID = 16 , PREDEF_DECL_TYPE_PACK_ELEMENT_ID = 17
}
 Predefined declaration IDs. More...
 
enum class  ObjCImplementationControl { None , Required , Optional }
 
enum class  ObjCTypeParamVariance : uint8_t { Invariant , Covariant , Contravariant }
 Describes the variance of a given generic parameter. More...
 
enum class  ObjCPropertyQueryKind : uint8_t { OBJC_PR_query_unknown = 0x00 , OBJC_PR_query_instance , OBJC_PR_query_class }
 
enum  { NumObjCPropertyAttrsBits = 16 }
 
enum class  OMPDeclareReductionInitKind { Call , Direct , Copy }
 
enum class  ConstantResultStorageKind { None , Int64 , APValue }
 Describes the kind of result that can be tail-allocated. More...
 
enum class  CharacterLiteralKind {
  Ascii , Wide , UTF8 , UTF16 ,
  UTF32
}
 
enum class  StringLiteralKind {
  Ordinary , Wide , UTF8 , UTF16 ,
  UTF32 , Unevaluated
}
 
enum class  PredefinedIdentKind {
  Func , Function , LFunction , FuncDName ,
  FuncSig , LFuncSig , PrettyFunction , PrettyFunctionNoVirtual
}
 
enum class  SourceLocIdentKind {
  Function , FuncSig , File , FileName ,
  Line , Column , SourceLocStruct
}
 
enum class  CXXConstructionKind { Complete , NonVirtualBase , VirtualBase , Delegating }
 
enum class  CXXNewInitializationStyle { None , Parens , Braces }
 
enum class  DynamicInitKind : unsigned { NoStub = 0 , Initializer , AtExit , GlobalArrayDestructor }
 
enum class  KernelReferenceKind : unsigned { Kernel = 0 , Stub = 1 }
 
enum  CastKind
 CastKind - The kind of operation required for a conversion. More...
 
enum  BinaryOperatorKind
 
enum  UnaryOperatorKind
 
enum  ObjCBridgeCastKind { OBC_Bridge , OBC_BridgeTransfer , OBC_BridgeRetained }
 The kind of bridging performed by the Objective-C bridge cast. More...
 
enum  SelectorLocationsKind { SelLoc_NonStandard = 0 , SelLoc_StandardNoSpace = 1 , SelLoc_StandardWithSpace = 2 }
 Whether all locations of the selector identifiers are in a "standard" position. More...
 
enum  { TypeAlignmentInBits = 4 , TypeAlignment = 1 << TypeAlignmentInBits }
 
enum class  ObjCSubstitutionContext {
  Ordinary , Result , Parameter , Property ,
  Superclass
}
 The kind of type we are substituting Objective-C type arguments into. More...
 
enum class  TypeOfKind : uint8_t { Qualified , Unqualified }
 The kind of 'typeof' expression we're after. More...
 
enum  RefQualifierKind { RQ_None = 0 , RQ_LValue , RQ_RValue }
 The kind of C++11 ref-qualifier associated with a function type. More...
 
enum class  AutoTypeKeyword { Auto , DecltypeAuto , GNUAutoType }
 Which keyword(s) were used to create an AutoType. More...
 
enum class  ArraySizeModifier { Normal , Static , Star }
 Capture whether this is a normal array (e.g. More...
 
enum class  VectorKind {
  Generic , AltiVecVector , AltiVecPixel , AltiVecBool ,
  Neon , NeonPoly , SveFixedLengthData , SveFixedLengthPredicate ,
  RVVFixedLengthData , RVVFixedLengthMask , RVVFixedLengthMask_1 , RVVFixedLengthMask_2 ,
  RVVFixedLengthMask_4
}
 
enum class  ElaboratedTypeKeyword {
  Struct , Interface , Union , Class ,
  Enum , Typename , None
}
 The elaboration keyword that precedes a qualified type name or introduces an elaborated-type-specifier. More...
 
enum class  TagTypeKind {
  Struct , Interface , Union , Class ,
  Enum
}
 The kind of a tag type. More...
 
enum  CXXCtorType {
  Ctor_Complete , Ctor_Base , Ctor_Comdat , Ctor_CopyingClosure ,
  Ctor_DefaultClosure
}
 C++ constructor types. More...
 
enum  CXXDtorType { Dtor_Deleting , Dtor_Complete , Dtor_Base , Dtor_Comdat }
 C++ destructor types. More...
 
enum class  LangAS : unsigned {
  Default = 0 , opencl_global , opencl_local , opencl_constant ,
  opencl_private , opencl_generic , opencl_global_device , opencl_global_host ,
  cuda_device , cuda_constant , cuda_shared , sycl_global ,
  sycl_global_device , sycl_global_host , sycl_local , sycl_private ,
  ptr32_sptr , ptr32_uptr , ptr64 , hlsl_groupshared ,
  wasm_funcref , FirstTargetAddressSpace
}
 Defines the address space values used by the address space qualifier of QualType. More...
 
enum  LanguageID : uint16_t {
  GNU_LANG = 0x1 , C_LANG = 0x2 , CXX_LANG = 0x4 , OBJC_LANG = 0x8 ,
  MS_LANG = 0x10 , OMP_LANG = 0x20 , CUDA_LANG = 0x40 , COR_LANG = 0x80 ,
  OCL_GAS = 0x100 , OCL_PIPE = 0x200 , OCL_DSE = 0x400 , ALL_OCL_LANGUAGES = 0x800 ,
  HLSL_LANG = 0x1000 , ALL_LANGUAGES = C_LANG | CXX_LANG | OBJC_LANG , ALL_GNU_LANGUAGES = ALL_LANGUAGES | GNU_LANG , ALL_MS_LANGUAGES = ALL_LANGUAGES | MS_LANG
}
 
enum  BuiltinTemplateKind : int { BTK__make_integer_seq , BTK__type_pack_element }
 Kinds of BuiltinTemplateDecl. More...
 
enum  CapturedRegionKind { CR_Default , CR_ObjCAtFinally , CR_OpenMP }
 The different kinds of captured statement. More...
 
enum class  EscapeChar { Single = 1 , Double = 2 , SingleAndDouble = static_cast<int>(Single) | static_cast<int>(Double) }
 
enum class  CudaVersion {
  UNKNOWN , CUDA_70 , CUDA_75 , CUDA_80 ,
  CUDA_90 , CUDA_91 , CUDA_92 , CUDA_100 ,
  CUDA_101 , CUDA_102 , CUDA_110 , CUDA_111 ,
  CUDA_112 , CUDA_113 , CUDA_114 , CUDA_115 ,
  CUDA_116 , CUDA_117 , CUDA_118 , CUDA_120 ,
  CUDA_121 , CUDA_122 , CUDA_123 , CUDA_124 ,
  CUDA_125 , FULLY_SUPPORTED = CUDA_123 , PARTIALLY_SUPPORTED , NEW = 10000
}
 
enum class  OffloadArch {
  UNUSED , UNKNOWN , SM_20 , SM_21 ,
  SM_30 , SM_32_ , SM_35 , SM_37 ,
  SM_50 , SM_52 , SM_53 , SM_60 ,
  SM_61 , SM_62 , SM_70 , SM_72 ,
  SM_75 , SM_80 , SM_86 , SM_87 ,
  SM_89 , SM_90 , SM_90a , GFX600 ,
  GFX601 , GFX602 , GFX700 , GFX701 ,
  GFX702 , GFX703 , GFX704 , GFX705 ,
  GFX801 , GFX802 , GFX803 , GFX805 ,
  GFX810 , GFX9_GENERIC , GFX900 , GFX902 ,
  GFX904 , GFX906 , GFX908 , GFX909 ,
  GFX90a , GFX90c , GFX940 , GFX941 ,
  GFX942 , GFX10_1_GENERIC , GFX1010 , GFX1011 ,
  GFX1012 , GFX1013 , GFX10_3_GENERIC , GFX1030 ,
  GFX1031 , GFX1032 , GFX1033 , GFX1034 ,
  GFX1035 , GFX1036 , GFX11_GENERIC , GFX1100 ,
  GFX1101 , GFX1102 , GFX1103 , GFX1150 ,
  GFX1151 , GFX1152 , GFX12_GENERIC , GFX1200 ,
  GFX1201 , AMDGCNSPIRV , Generic , LAST ,
  CudaDefault = OffloadArch::SM_52 , HIPDefault = OffloadArch::GFX906
}
 
enum class  CUDAFunctionTarget {
  Device , Global , Host , HostDevice ,
  InvalidTarget
}
 
enum class  CudaFeature { CUDA_USES_NEW_LAUNCH , CUDA_USES_FATBIN_REGISTER_END }
 
enum  OverloadsShown : unsigned { Ovl_All , Ovl_Best }
 Specifies which overload candidates to display when overload resolution fails. More...
 
enum class  DiagnosticLevelMask : unsigned {
  None = 0 , Note = 1 << 0 , Remark = 1 << 1 , Warning = 1 << 2 ,
  Error = 1 << 3 , All = Note | Remark | Warning | Error
}
 A bitmask representing the diagnostic levels used by VerifyDiagnosticConsumer. More...
 
enum  ExceptionSpecificationType {
  EST_None , EST_DynamicNone , EST_Dynamic , EST_MSAny ,
  EST_NoThrow , EST_BasicNoexcept , EST_DependentNoexcept , EST_NoexceptFalse ,
  EST_NoexceptTrue , EST_Unevaluated , EST_Uninstantiated , EST_Unparsed
}
 The various types of exception specifications that exist in C++11. More...
 
enum  CanThrowResult { CT_Cannot , CT_Dependent , CT_Can }
 Possible results from evaluation of a noexcept expression. More...
 
enum  ExpressionTrait { ET_Last }
 
enum  HeaderIncludeFormatKind { HIFMT_None , HIFMT_Textual , HIFMT_JSON }
 The format in which header information is emitted. More...
 
enum  HeaderIncludeFilteringKind { HIFIL_None , HIFIL_Only_Direct_System }
 Whether header information is filtered or not. More...
 
enum class  ReservedIdentifierStatus {
  NotReserved = 0 , StartsWithUnderscoreAtGlobalScope , StartsWithUnderscoreAndIsExternC , StartsWithDoubleUnderscore ,
  StartsWithUnderscoreFollowedByCapitalLetter , ContainsDoubleUnderscore
}
 
enum class  ReservedLiteralSuffixIdStatus { NotReserved = 0 , NotStartsWithUnderscore , ContainsDoubleUnderscore }
 
enum  { IdentifierInfoAlignment = 8 }
 IdentifierInfo and other related classes are aligned to 8 bytes so that DeclarationName can use the lower 3 bits of a pointer to one of these classes. More...
 
enum class  InterestingIdentifier {
  OBJC_AT_KEYWORD , NUM_OBJC_KEYWORDS , NOTABLE_IDENTIFIER , NUM_OBJC_KEYWORDS_AND_NOTABLE_IDENTIFIERS ,
  NotBuiltin , BUILTIN , FirstTSBuiltin , NotInterestingIdentifier = 65534
}
 The "layout" of InterestingIdentifier is: More...
 
enum  ObjCMethodFamily {
  OMF_None , OMF_alloc , OMF_copy , OMF_init ,
  OMF_mutableCopy , OMF_new , OMF_autorelease , OMF_dealloc ,
  OMF_finalize , OMF_release , OMF_retain , OMF_retainCount ,
  OMF_self , OMF_initialize , OMF_performSelector
}
 A family of Objective-C methods. More...
 
enum  { ObjCMethodFamilyBitWidth = 4 }
 Enough bits to store any enumerator in ObjCMethodFamily or InvalidObjCMethodFamily. More...
 
enum  { InvalidObjCMethodFamily = (1 << ObjCMethodFamilyBitWidth) - 1 }
 An invalid value of ObjCMethodFamily. More...
 
enum  ObjCInstanceTypeFamily {
  OIT_None , OIT_Array , OIT_Dictionary , OIT_Singleton ,
  OIT_Init , OIT_ReturnsSelf
}
 A family of Objective-C methods. More...
 
enum  ObjCStringFormatFamily { SFF_None , SFF_NSString , SFF_CFString }
 
enum  LambdaCaptureDefault { LCD_None , LCD_ByCopy , LCD_ByRef }
 The default, if any, capture method for a lambda expression. More...
 
enum  LambdaCaptureKind {
  LCK_This , LCK_StarThis , LCK_ByCopy , LCK_ByRef ,
  LCK_VLAType
}
 The different capture forms in a lambda introducer. More...
 
enum class  MSVtorDispMode { Never , ForVBaseOverride , ForVFTable }
 In the Microsoft ABI, this controls the placement of virtual displacement members used to implement virtual inheritance. More...
 
enum class  ShaderStage {
  Pixel = 0 , Vertex , Geometry , Hull ,
  Domain , Compute , Library , RayGeneration ,
  Intersection , AnyHit , ClosestHit , Miss ,
  Callable , Mesh , Amplification , Invalid
}
 Shader programs run in specific pipeline stages. More...
 
enum class  PointerAuthenticationMode : unsigned { None , Strip , SignAndStrip , SignAndAuth }
 
enum  TranslationUnitKind { TU_Complete , TU_Prefix , TU_ClangModule , TU_Incremental }
 Describes the kind of translation unit being processed. More...
 
enum class  Language : uint8_t {
  Unknown , Asm , CIR , LLVM_IR ,
  C , CXX , ObjC , ObjCXX ,
  OpenCL , OpenCLCXX , CUDA , RenderScript ,
  HIP , HLSL
}
 The language for the input, used to select and validate the language standard and possible actions. More...
 
enum  LangFeatures {
  LineComment = (1 << 0) , C99 = (1 << 1) , C11 = (1 << 2) , C17 = (1 << 3) ,
  C23 = (1 << 4) , C2y = (1 << 5) , CPlusPlus = (1 << 6) , CPlusPlus11 = (1 << 7) ,
  CPlusPlus14 = (1 << 8) , CPlusPlus17 = (1 << 9) , CPlusPlus20 = (1 << 10) , CPlusPlus23 = (1 << 11) ,
  CPlusPlus26 = (1 << 12) , Digraphs = (1 << 13) , GNUMode = (1 << 14) , HexFloat = (1 << 15) ,
  OpenCL = (1 << 16) , HLSL = (1 << 17)
}
 
enum class  Linkage : unsigned char {
  Invalid = 0 , None , Internal , UniqueExternal ,
  VisibleNone , Module , External
}
 Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have. More...
 
enum  LanguageLinkage { CLanguageLinkage , CXXLanguageLinkage , NoLanguageLinkage }
 Describes the different kinds of language linkage (C++ [dcl.link]) that an entity may have. More...
 
enum  GVALinkage {
  GVA_Internal , GVA_AvailableExternally , GVA_DiscardableODR , GVA_StrongExternal ,
  GVA_StrongODR
}
 A more specific kind of linkage than enum Linkage. More...
 
enum class  OpenACCDirectiveKind {
  Parallel , Serial , Kernels , Data ,
  EnterData , ExitData , HostData , Loop ,
  Cache , ParallelLoop , SerialLoop , KernelsLoop ,
  Atomic , Declare , Init , Shutdown ,
  Set , Update , Wait , Routine ,
  Invalid
}
 
enum class  OpenACCAtomicKind {
  Read , Write , Update , Capture ,
  Invalid
}
 
enum class  OpenACCClauseKind {
  Finalize , IfPresent , Seq , Independent ,
  Auto , Worker , Vector , NoHost ,
  Default , If , Self , Copy ,
  PCopy , PresentOrCopy , UseDevice , Attach ,
  Delete , Detach , Device , DevicePtr ,
  DeviceResident , FirstPrivate , Host , Link ,
  NoCreate , Present , Private , CopyOut ,
  PCopyOut , PresentOrCopyOut , CopyIn , PCopyIn ,
  PresentOrCopyIn , Create , PCreate , PresentOrCreate ,
  Reduction , Collapse , Bind , VectorLength ,
  NumGangs , NumWorkers , DeviceNum , DefaultAsync ,
  DeviceType , DType , Async , Tile ,
  Gang , Wait , Invalid
}
 Represents the kind of an OpenACC clause. More...
 
enum class  OpenACCDefaultClauseKind { None , Present , Invalid }
 
enum class  OpenACCReductionOperator {
  Addition , Multiplication , Max , Min ,
  BitwiseAnd , BitwiseOr , BitwiseXOr , And ,
  Or , Invalid
}
 
enum  OpenMPScheduleClauseKind { OMPC_SCHEDULE_unknown }
 OpenMP attributes for 'schedule' clause. More...
 
enum  OpenMPScheduleClauseModifier { OMPC_SCHEDULE_MODIFIER_unknown = OMPC_SCHEDULE_unknown , OMPC_SCHEDULE_MODIFIER_last }
 OpenMP modifiers for 'schedule' clause. More...
 
enum  OpenMPDeviceClauseModifier { OMPC_DEVICE_unknown }
 OpenMP modifiers for 'device' clause. More...
 
enum  OpenMPDependClauseKind { OMPC_DEPEND_unknown }
 OpenMP attributes for 'depend' clause. More...
 
enum  OpenMPLinearClauseKind { OMPC_LINEAR_unknown }
 OpenMP attributes for 'linear' clause. More...
 
enum  OpenMPMapClauseKind { OMPC_MAP_unknown }
 OpenMP mapping kind for 'map' clause. More...
 
enum  OpenMPMapModifierKind { OMPC_MAP_MODIFIER_unknown = OMPC_MAP_unknown , OMPC_MAP_MODIFIER_last }
 OpenMP modifier kind for 'map' clause. More...
 
enum  OpenMPMotionModifierKind { OMPC_MOTION_MODIFIER_unknown }
 OpenMP modifier kind for 'to' or 'from' clause. More...
 
enum  OpenMPDistScheduleClauseKind { OMPC_DIST_SCHEDULE_unknown }
 OpenMP attributes for 'dist_schedule' clause. More...
 
enum  OpenMPDefaultmapClauseKind { OMPC_DEFAULTMAP_unknown }
 OpenMP attributes for 'defaultmap' clause. More...
 
enum  OpenMPDefaultmapClauseModifier { OMPC_DEFAULTMAP_MODIFIER_unknown = OMPC_DEFAULTMAP_unknown , OMPC_DEFAULTMAP_MODIFIER_last }
 OpenMP modifiers for 'defaultmap' clause. More...
 
enum  OpenMPAtomicDefaultMemOrderClauseKind { OMPC_ATOMIC_DEFAULT_MEM_ORDER_unknown }
 OpenMP attributes for 'atomic_default_mem_order' clause. More...
 
enum  OpenMPAtClauseKind { OMPC_AT_unknown }
 OpenMP attributes for 'at' clause. More...
 
enum  OpenMPSeverityClauseKind { OMPC_SEVERITY_unknown }
 OpenMP attributes for 'severity' clause. More...
 
enum  OpenMPDeviceType { OMPC_DEVICE_TYPE_unknown }
 OpenMP device type for 'device_type' clause. More...
 
enum  OpenMPLastprivateModifier { OMPC_LASTPRIVATE_unknown }
 OpenMP 'lastprivate' clause modifier. More...
 
enum  OpenMPOrderClauseKind { OMPC_ORDER_unknown }
 OpenMP attributes for 'order' clause. More...
 
enum  OpenMPOrderClauseModifier { OMPC_ORDER_MODIFIER_unknown = OMPC_ORDER_unknown , OMPC_ORDER_MODIFIER_last }
 OpenMP modifiers for 'order' clause. More...
 
enum  OpenMPReductionClauseModifier { OMPC_REDUCTION_unknown }
 OpenMP modifiers for 'reduction' clause. More...
 
enum  OpenMPAdjustArgsOpKind { OMPC_ADJUST_ARGS_unknown }
 OpenMP adjust-op kinds for 'adjust_args' clause. More...
 
enum  OpenMPBindClauseKind { OMPC_BIND_unknown }
 OpenMP bindings for the 'bind' clause. More...
 
enum  OpenMPGrainsizeClauseModifier { OMPC_GRAINSIZE_unknown }
 
enum  OpenMPNumTasksClauseModifier { OMPC_NUMTASKS_unknown }
 
enum  OpenMPDoacrossClauseModifier { OMPC_DOACROSS_unknown }
 OpenMP dependence types for 'doacross' clause. More...
 
enum  OverloadedOperatorKind : int { OO_None , NUM_OVERLOADED_OPERATORS }
 Enumeration specifying the different kinds of C++ overloaded operators. More...
 
enum  PragmaMSCommentKind {
  PCK_Unknown , PCK_Linker , PCK_Lib , PCK_Compiler ,
  PCK_ExeStr , PCK_User
}
 
enum  PragmaMSStructKind { PMSST_OFF , PMSST_ON }
 
enum  PragmaFloatControlKind {
  PFC_Unknown , PFC_Precise , PFC_NoPrecise , PFC_Except ,
  PFC_NoExcept , PFC_Push , PFC_Pop
}
 
enum  PragmaFPKind {
  PFK_Contract , PFK_Reassociate , PFK_Reciprocal , PFK_Exceptions ,
  PFK_EvalMethod
}
 
enum class  ThreadFlowImportance { Important , Essential , Unimportant }
 
enum class  SarifResultLevel { None , Note , Warning , Error }
 The level of severity associated with a SarifResult. More...
 
enum class  ExplicitSpecKind : unsigned { ResolvedFalse , ResolvedTrue , Unresolved }
 Define the meaning of possible values of the kind in ExplicitSpecifier. More...
 
enum class  ConstexprSpecKind { Unspecified , Constexpr , Consteval , Constinit }
 Define the kind of constexpr specifier. More...
 
enum class  IfStatementKind : unsigned { Ordinary , Constexpr , ConstevalNonNegated , ConstevalNegated }
 In an if statement, this denotes whether the statement is a constexpr or consteval if statement. More...
 
enum class  TypeSpecifierWidth { Unspecified , Short , Long , LongLong }
 Specifies the width of a type, e.g., short, long, or long long. More...
 
enum class  TypeSpecifierSign { Unspecified , Signed , Unsigned }
 Specifies the signedness of a type, e.g., signed or unsigned. More...
 
enum class  TypeSpecifiersPipe { Unspecified , Pipe }
 
enum  TypeSpecifierType {
  TST_unspecified , TST_void , TST_char , TST_wchar ,
  TST_char8 , TST_char16 , TST_char32 , TST_int ,
  TST_int128 , TST_bitint , TST_half , TST_Float16 ,
  TST_Accum , TST_Fract , TST_BFloat16 , TST_float ,
  TST_double , TST_float128 , TST_ibm128 , TST_bool ,
  TST_decimal32 , TST_decimal64 , TST_decimal128 , TST_enum ,
  TST_union , TST_struct , TST_class , TST_interface ,
  TST_typename , TST_typeofType , TST_typeofExpr , TST_typeof_unqualType ,
  TST_typeof_unqualExpr , TST_decltype , TST_auto , TST_decltype_auto ,
  TST_auto_type , TST_unknown_anytype , TST_atomic , TST_typename_pack_indexing ,
  TST_error
}
 Specifies the kind of type. More...
 
enum  AccessSpecifier { AS_public , AS_protected , AS_private , AS_none }
 A C++ access specifier (public, private, protected), plus the special value "none" which means different things in different contexts. More...
 
enum  ExprValueKind { VK_PRValue , VK_LValue , VK_XValue }
 The categorization of expression values, currently following the C++11 scheme. More...
 
enum  ExprObjectKind {
  OK_Ordinary , OK_BitField , OK_VectorComponent , OK_ObjCProperty ,
  OK_ObjCSubscript , OK_MatrixComponent
}
 A further classification of the kind of object referenced by an l-value or x-value. More...
 
enum  NonOdrUseReason { NOUR_None = 0 , NOUR_Unevaluated , NOUR_Constant , NOUR_Discarded }
 The reason why a DeclRefExpr does not constitute an odr-use. More...
 
enum  TemplateSpecializationKind {
  TSK_Undeclared = 0 , TSK_ImplicitInstantiation , TSK_ExplicitSpecialization , TSK_ExplicitInstantiationDeclaration ,
  TSK_ExplicitInstantiationDefinition
}
 Describes the kind of template specialization that a particular template specialization declaration represents. More...
 
enum  ThreadStorageClassSpecifier { TSCS_unspecified , TSCS___thread , TSCS_thread_local , TSCS__Thread_local }
 Thread storage-class-specifier. More...
 
enum  StorageClass {
  SC_None , SC_Extern , SC_Static , SC_PrivateExtern ,
  SC_Auto , SC_Register
}
 Storage classes. More...
 
enum  InClassInitStyle { ICIS_NoInit , ICIS_CopyInit , ICIS_ListInit }
 In-class initialization styles for non-static data members. More...
 
enum  CallingConv {
  CC_C , CC_X86StdCall , CC_X86FastCall , CC_X86ThisCall ,
  CC_X86VectorCall , CC_X86Pascal , CC_Win64 , CC_X86_64SysV ,
  CC_X86RegCall , CC_AAPCS , CC_AAPCS_VFP , CC_IntelOclBicc ,
  CC_SpirFunction , CC_OpenCLKernel , CC_Swift , CC_SwiftAsync ,
  CC_PreserveMost , CC_PreserveAll , CC_AArch64VectorCall , CC_AArch64SVEPCS ,
  CC_AMDGPUKernelCall , CC_M68kRTD , CC_PreserveNone , CC_RISCVVectorCall
}
 CallingConv - Specifies the calling convention that a function uses. More...
 
enum  StorageDuration {
  SD_FullExpression , SD_Automatic , SD_Thread , SD_Static ,
  SD_Dynamic
}
 The storage duration for an object (per C++ [basic.stc]). More...
 
enum class  NullabilityKind : uint8_t { NonNull = 0 , Nullable , Unspecified , NullableResult }
 Describes the nullability of a particular type. More...
 
enum class  ParameterABI {
  Ordinary , SwiftIndirectResult , SwiftErrorResult , SwiftContext ,
  SwiftAsyncContext
}
 Kinds of parameter ABI. More...
 
enum class  MSInheritanceModel { Single = 0 , Multiple = 1 , Virtual = 2 , Unspecified = 3 }
 Assigned inheritance model for a class in the MS C++ ABI. More...
 
enum class  SyncScope {
  SystemScope , DeviceScope , WorkgroupScope , WavefrontScope ,
  SingleScope , HIPSingleThread , HIPWavefront , HIPWorkgroup ,
  HIPAgent , HIPSystem , OpenCLWorkGroup , OpenCLDevice ,
  OpenCLAllSVMDevices , OpenCLSubGroup , Last = OpenCLSubGroup
}
 Defines synch scope values used internally by clang. More...
 
enum class  AtomicScopeModelKind { None , OpenCL , HIP , Generic }
 Defines the kind of atomic scope models. More...
 
enum class  FloatModeKind {
  NoFloat = 0 , Half = 1 << 0 , Float = 1 << 1 , Double = 1 << 2 ,
  LongDouble = 1 << 3 , Float128 = 1 << 4 , Ibm128 = 1 << 5
}
 
enum  OpenCLTypeKind : uint8_t {
  OCLTK_Default , OCLTK_ClkEvent , OCLTK_Event , OCLTK_Image ,
  OCLTK_Pipe , OCLTK_Queue , OCLTK_ReserveID , OCLTK_Sampler
}
 OpenCL type kinds. More...
 
enum  TemplateNameKind {
  TNK_Non_template = 0 , TNK_Function_template , TNK_Type_template , TNK_Var_template ,
  TNK_Dependent_template_name , TNK_Undeclared_template , TNK_Concept_template
}
 Specifies the kind of template name that an identifier refers to. More...
 
enum  TypeTrait { UTT_Last , BTT_Last , TT_Last }
 Names for traits that operate specifically on types. More...
 
enum  ArrayTypeTrait { ATT_Last }
 Names for the array type traits. More...
 
enum  UnaryExprOrTypeTrait { UETT_Last }
 Names for the "expression or type" traits. More...
 
enum  Visibility { HiddenVisibility , ProtectedVisibility , DefaultVisibility }
 Describes the different kinds of visibility that a declaration may have. More...
 
enum  BackendAction {
  Backend_EmitAssembly , Backend_EmitBC , Backend_EmitLL , Backend_EmitNothing ,
  Backend_EmitMCNull , Backend_EmitObj
}
 
enum class  SkipFunctionBodiesScope { None , Preamble , PreambleAndMainFile }
 Enumerates the available scopes for skipping function bodies. More...
 
enum class  CaptureDiagsKind { None , All , AllWithoutNonErrorsFromIncludes }
 Enumerates the available kinds for capturing diagnostics. More...
 
enum class  ShowIncludesDestination { None , Stdout , Stderr }
 ShowIncludesDestination - Destination for /showIncludes output. More...
 
enum class  DependencyOutputFormat { Make , NMake }