clang  8.0.0
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
clang Namespace Reference

Dataflow Directional Tag Classes. More...

Namespaces

 AArch64
 AArch64 builtins.
 
 AMDGPU
 AMDGPU builtins.
 
 analyze_format_string
 Common components of both fprintf and fscanf format strings.
 
 analyze_os_log
 
 analyze_printf
 Pieces specific to fprintf format strings.
 
 analyze_scanf
 Pieces specific to fscanf format strings.
 
 arcmt
 
 ARM
 ARM builtins.
 
 ast_matchers
 
 ast_type_traits
 
 attr
 
 attrvisitor
 
 Builtin
 
 charinfo
 
 CodeGen
 
 codegenoptions
 
 comments
 
 consumed
 
 cross_tu
 
 data_collection
 
 dataflow
 
 declvisitor
 
 detail
 
 diag
 
 diff
 
 driver
 
 edit
 
 ento
 
 format
 
 frontend
 
 Hexagon
 Hexagon builtins.
 
 html
 
 index
 
 Le64
 Le64 builtins.
 
 markup
 
 Mips
 MIPS builtins.
 
 NEON
 
 NVPTX
 NVPTX builtins.
 
 PPC
 PPC builtins.
 
 prec
 PrecedenceLevels - These are precedences for the binary/ternary operators in the C99 grammar.
 
 reachable_code
 
 SanitizerKind
 
 sema
 
 serialization
 
 serialized_diags
 
 SrcMgr
 Public enums and private classes that are part of the SourceManager implementation.
 
 SystemZ
 SystemZ builtins.
 
 targets
 
 templateargumentvisitor
 
 threadSafety
 
 tok
 
 tooling
 
 TypeName
 
 WebAssembly
 WebAssembly builtins.
 
 X86
 X86 builtins.
 
 XCore
 XCore builtins.
 
 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
 ActionResult - This structure is used while parsing/acting on expressions, stmts, 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 or method under analysis. More...
 
class  AnalysisDeclContextManager
 
class  AnalyzerOptions
 Stores options for the analyzer from the command line. More...
 
class  AnyFunctionDecl
 Represents any kind of function declaration, whether it is a concrete function or a function template. More...
 
class  APFixedPoint
 The APFixedPoint class works similarly to APInt/APSInt in that it is a functional replacement for a scaled integer. More...
 
class  APFloatStorage
 
class  APIntStorage
 
class  APNumericStorage
 Used by IntegerLiteral/FloatingLiteral 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  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  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  ASTDeclReader
 
class  ASTDeclWriter
 
class  ASTDeserializationListener
 
class  ASTDumpAction
 
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  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  ASTNodeImporter
 
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  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  ASTTypeWriter
 
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...
 
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  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...
 
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. More...
 
class  AutoTypeLoc
 
struct  AvailabilityChange
 Represents information about a change in availability for an entity, which is part of the encoding of the 'availability' attribute. More...
 
class  AvailabilitySpec
 One specifier in an expression. More...
 
class  BackendConsumer
 
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 { ... More...
 
class  BaseSubobject
 
class  BeforeThanCompare
 Comparison function object. More...
 
class  BeforeThanCompare< RawComment >
 Compare comments' source locations. 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  BlockCall
 
class  BlockDecl
 Pepresents 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
 
class  BlockPointerType
 Pointer to a block type. More...
 
class  BlockPointerTypeLoc
 Wrapper for source info for block pointers. More...
 
class  BodyFarm
 
class  BreakStmt
 BreakStmt - This represents a break. More...
 
class  BuildPreambleErrorCategory
 
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  CallEnter
 Represents a point when we begin processing an inlined call. More...
 
class  CallEventManager
 Manages the lifetime of CallEvent objects. 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  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  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  CGOpenMPSIMDRuntime
 Class supports emissionof SIMD-only code. 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  ChooseExpr
 ChooseExpr - GNU builtin-in function __builtin_choose_expr. More...
 
class  ClangDiagnosticHandler
 
class  ClassScopeFunctionSpecializationDecl
 Declaration of a function specialization at template class scope. More...
 
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
 
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  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. More...
 
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  ConstrainedTemplateDeclInfo
 Stores the template parameter list and associated constraints for TemplateDecl objects that track associated constraints. 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...
 
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  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  CoyieldExpr
 Represents a 'co_yield' expression. 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...
 
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  CXXABI
 Implements C++ ABI-specific semantic analysis functions. More...
 
class  CXXAllocatorCall
 Represents the memory allocation call in a C++ new-expression. 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  CXXConstructorCall
 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  CXXDestructorCall
 Represents an implicit call to a C++ destructor. 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  CXXInstanceCall
 Represents a non-static C++ member function call, no matter how it is written. More...
 
class  CXXMemberCall
 Represents a non-static C++ member function call. 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  CXXMemberOperatorCall
 Represents a C++ overloaded operator call where the operator is implemented as a non-static 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  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  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  DataflowValues
 DataflowValues. Container class to store dataflow values for a CFG. 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 correspnding source/type location info. More...
 
struct  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  DeclContextPrintAction
 
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  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
 
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 (eventually) constrained type names from the C++ Concepts TS. 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...
 
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  DependencyCollector
 An interface for collecting the dependencies of a compilation. More...
 
class  DependencyFileGenerator
 Builds a depdenency 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  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  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...
 
class  DestroyTemplateIdAnnotationsRAIIObj
 RAIIObject to destroy the contents of a SmallVector of TemplateIdAnnotation pointers and clear the vector. 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...
 
class  DirectoryEntry
 Cached information about one directory (either on disk or in the virtual file system). 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  DominatorTree
 Concrete subclass of DominatorTreeBase for Clang This class implements the dominators tree functionality given a Clang CFG. More...
 
class  DoStmt
 DoStmt - This represents a 'do/while' stmt. More...
 
class  DumpCompilerOptionsAction
 
class  DumpModuleInfoAction
 Dump information about the given module file, to be used for basic debugging and discovery. More...
 
class  DumpRawTokensAction
 
class  DumpTokensAction
 
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...
 
class  EmitAssemblyAction
 
class  EmitBCAction
 
class  EmitCodeGenOnlyAction
 
class  EmitLLVMAction
 
class  EmitLLVMOnlyAction
 
class  EmitObjAction
 
class  EmptyDecl
 Represents an empty-declaration. 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...
 
class  ExportDecl
 Represents a C++ Modules TS module export declaration. More...
 
class  Expr
 This represents one expression. More...
 
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...
 
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  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...
 
struct  FileData
 
class  FileEntry
 Cached information about one file (either on disk or in the virtual file system). 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  FixedPointSemantics
 The fixed point semantics work similarly to llvm::fltSemantics. More...
 
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  FloatingLiteral
 
class  ForStmt
 ForStmt - This represents a 'for (init;cond;inc)' stmt. More...
 
class  ForwardingDiagnosticConsumer
 Diagnostic consumer that forwards diagnostics along to an existing, already-initialized diagnostic consumer. More...
 
class  FPOptions
 Floating point control options. 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  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 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  GenerateHeaderModuleAction
 
class  GenerateModuleAction
 
class  GenerateModuleFromModuleMapAction
 
class  GenerateModuleInterfaceAction
 
class  GeneratePCHAction
 
class  GenericSelectionExpr
 Represents a C11 generic selection. More...
 
class  GlobalCodeCompletionAllocator
 Allocator for a cached set of global code completions. More...
 
class  GlobalDecl
 GlobalDecl - represents a global declaration. More...
 
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  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...
 
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  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  ImportError
 
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  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  InMessageExpressionRAIIObject
 
class  InputKind
 The kind of a file that we've been handed as an input. More...
 
class  IntegerLiteral
 
struct  IsResultPtrLowBitFree
 
struct  IsResultPtrLowBitFree< CXXBaseSpecifier * >
 
struct  IsResultPtrLowBitFree< CXXCtorInitializer * >
 
struct  IsResultPtrLowBitFree< Expr * >
 
struct  IsResultPtrLowBitFree< Stmt * >
 
class  ItaniumMangleContext
 
class  ItaniumVTableContext
 
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  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...
 
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...
 
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...
 
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...
 
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  LocalInstantiationScope
 A stack-allocated class that identifies which local variable declaration instantiations are present in this scope. More...
 
class  LocationCheck
 
class  LocationContext
 
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  MacroInfo
 Encapsulates the data about a macro definition (e.g. More...
 
class  MacroPPCallbacks
 
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  MemberExpr
 MemberExpr - [C99 6.5.2.3] Structure and Union Members. More...
 
struct  MemberExprNameQualifier
 Extra data stored in some MemberExpr objects. 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  MemoryBufferCache
 Manage memory buffers across multiple users. 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  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  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...
 
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  ObjCMethodCall
 Represents any expression that calls an Objective-C method. 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  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  ODRHash
 
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  OMPArraySectionExpr
 OpenMP 4.0 [2.4, Array Sections]. 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  OMPCancelDirective
 This represents '#pragma omp cancel' directive. More...
 
class  OMPCancellationPointDirective
 This represents '#pragma omp cancellation point' directive. More...
 
class  OMPCaptureClause
 This represents 'capture' clause in the '#pragma omp atomic' directive. More...
 
class  OMPCapturedExprDecl
 Pseudo declaration for capturing expressions. More...
 
class  OMPClause
 This is a basic class for representing single OpenMP clause. More...
 
class  OMPClauseReader
 
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  OMPClauseWriter
 
class  OMPCollapseClause
 This represents 'collapse' clause in the '#pragma omp ...' directive. More...
 
class  OMPCriticalDirective
 This represents '#pragma omp critical' 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  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  OMPDynamicAllocatorsClause
 This represents 'dynamic_allocators' clause in the '#pragma omp requires' directive. More...
 
class  OMPExecutableDirective
 This is a basic class for representing single OpenMP executable 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  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  OMPIfClause
 This represents 'if' clause in the '#pragma omp ...' directive. More...
 
class  OMPInReductionClause
 This represents clause 'in_reduction' in the '#pragma omp task' directives. 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  OMPLoopDirective
 This is a common base class for loop directives ('omp simd', 'omp for', 'omp for simd' etc.). More...
 
class  OMPMasterDirective
 This represents '#pragma omp master' directive. More...
 
class  OMPMergeableClause
 This represents 'mergeable' clause in the '#pragma omp ...' directive. More...
 
class  OMPNowaitClause
 This represents 'nowait' clause in the '#pragma omp ...' directive. More...
 
class  OMPNumThreadsClause
 This represents 'num_threads' 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  OMPParallelSectionsDirective
 This represents '#pragma omp parallel sections' 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  OMPRequiresDecl
 This represents '#pragma omp requires...' 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  OMPScheduleClause
 This represents 'schedule' clause in the '#pragma omp ...' 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  OMPSharedClause
 This represents clause 'shared' in the '#pragma omp ...' directives. 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  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  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  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  OMPThreadPrivateDecl
 This represents '#pragma omp threadprivate ...' directive. More...
 
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  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  OMPVarListClause
 This represents clauses with the list of variables like 'private', 'firstprivate', 'copyin', 'shared', or 'reduction' clauses in the '#pragma omp ...' directives. More...
 
class  OMPWriteClause
 This represents 'write' clause in the '#pragma omp atomic' 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  OpenCLOptions
 OpenCL supported extensions and optional core features. More...
 
struct  OpenMPScheduleTy
 Scheduling data for loop-based OpenMP directives. 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  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 parethesized expression, e.g. More...
 
class  ParenListExpr
 
struct  ParenLocInfo
 
class  ParentMap
 
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...
 
class  ParsedAttributes
 ParsedAttributes - A collection of parsed attributes. More...
 
class  ParsedAttributesView
 
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...
 
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  PartialDiagnostic
 
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  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  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...
 
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  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  PrinterHelper
 
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  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 that was expressed as a qualified name. 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  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  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  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  ReferenceType
 Base for LValueReferenceType and RValueReferenceType. More...
 
class  ReferenceTypeLoc
 
class  RelaxedLiveVariables
 
struct  ReturnAdjustment
 A return adjustment. More...
 
class  ReturnedValueConstructionContext
 
class  ReturnStmt
 ReturnStmt - This represents a return, optionally of an expression: return; return 4;. More...
 
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  RValueReferenceType
 An rvalue reference type, per C++11 [dcl.ref]. More...
 
class  RValueReferenceTypeLoc
 
class  SanitizerBlacklist
 
struct  SanitizerSet
 
class  SanitizerSpecialCaseList
 
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  ScopeContext
 
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  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  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...
 
class  SourceLocation
 Encodes a location in the source. More...
 
class  SourceManager
 This class handles loading and caching of source files into memory. More...
 
class  SourceManagerForFile
 SourceManager and necessary depdencies (e.g. 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
 
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...
 
struct  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  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  SwitchCase
 
class  SwitchStmt
 SwitchStmt - This represents a 'switch' stmt. More...
 
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...
 
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  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  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...
 
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  TranslationUnitDecl
 The top declaration context. More...
 
class  TreeTransform
 A semantic tree transformation that allows one to transform one abstract syntax tree into another. More...
 
class  TrivialModuleLoader
 A module loader that doesn't know how to 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  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  TypeInfo
 
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 GCC extension). More...
 
class  TypeOfExprTypeLoc
 
struct  TypeOfExprTypeLocInfo
 
class  TypeofLikeTypeLoc
 
struct  TypeofLocInfo
 
class  TypeOfType
 Represents typeof(type), a GCC extension. 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  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  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  UpdateOnReturn
 
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  UsingPackDecl
 Represents a pack of using declarations that a single using-declarator pack-expanded into. More...
 
class  UsingShadowDecl
 Represents a shadow declaration introduced into a scope by a (resolved) using declaration. More...
 
class  VAArgExpr
 Represents a call to the builtin function __builtin_va_arg. More...
 
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  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  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
 
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  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...
 
struct  WrittenBuiltinSpecs
 Structure that packs information about the type specifiers that were written in a particular type specifier sequence. More...
 
class  XRayFunctionFilter
 
struct  XRayInstrSet
 

Typedefs

using DomTreeNode = llvm::DomTreeNodeBase< CFGBlock >
 
using AttrVec = SmallVector< Attr *, 4 >
 AttrVec - A vector of Attr, which is how they are stored on the AST. More...
 
using CanQualType = CanQual< Type >
 Represents a canonical, potentially-qualified type. More...
 
using TemplateParameter = llvm::PointerUnion3< TemplateTypeParmDecl *, NonTypeTemplateParmDecl *, TemplateTemplateParmDecl * >
 Stores a template parameter of any kind. More...
 
typedef SmallVector< CXXBaseSpecifier *, 4 > CXXCastPath
 A simple array of base specifiers. More...
 
using LazyDeclStmtPtr = LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >
 A lazy pointer to a statement. More...
 
using LazyDeclPtr = LazyOffsetPtr< Decl, uint32_t, &ExternalASTSource::GetExternalDecl >
 A lazy pointer to a declaration. More...
 
using LazyCXXCtorInitializersPtr = LazyOffsetPtr< CXXCtorInitializer *, uint64_t, &ExternalASTSource::GetExternalCXXCtorInitializers >
 A lazy pointer to a set of CXXCtorInitializers. More...
 
using LazyCXXBaseSpecifiersPtr = LazyOffsetPtr< CXXBaseSpecifier, uint64_t, &ExternalASTSource::GetExternalCXXBaseSpecifiers >
 A lazy pointer to a set of CXXBaseSpecifiers. More...
 
using privates_iterator = MutableArrayRef< Expr * >::iterator
 
using privates_const_iterator = ArrayRef< const Expr * >::iterator
 
using privates_range = llvm::iterator_range< privates_iterator >
 
using privates_const_range = llvm::iterator_range< privates_const_iterator >
 
using inits_iterator = MutableArrayRef< Expr * >::iterator
 
using inits_const_iterator = ArrayRef< const Expr * >::iterator
 
using inits_range = llvm::iterator_range< inits_iterator >
 
using inits_const_range = llvm::iterator_range< inits_const_iterator >
 
using updates_iterator = MutableArrayRef< Expr * >::iterator
 
using updates_const_iterator = ArrayRef< const Expr * >::iterator
 
using updates_range = llvm::iterator_range< updates_iterator >
 
using updates_const_range = llvm::iterator_range< updates_const_iterator >
 
using finals_iterator = MutableArrayRef< Expr * >::iterator
 
using finals_const_iterator = ArrayRef< const Expr * >::iterator
 
using finals_range = llvm::iterator_range< finals_iterator >
 
using finals_const_range = llvm::iterator_range< finals_const_iterator >
 
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. More...
 
using DiagNullabilityKind = std::pair< NullabilityKind, bool >
 A nullability kind paired with a bit indicating whether it used a context-sensitive keyword. More...
 
using TextDiagnosticFormat = DiagnosticOptions::TextDiagnosticFormat
 
using IdentifierLocPair = std::pair< IdentifierInfo *, SourceLocation >
 A simple pair of identifier info and location. More...
 
using ModuleId = SmallVector< std::pair< std::string, SourceLocation >, 2 >
 Describes the name of a module. More...
 
using PartialDiagnosticAt = std::pair< SourceLocation, PartialDiagnostic >
 A partial diagnostic along with the source location where this diagnostic occurs. More...
 
using SanitizerMask = uint64_t
 
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. More...
 
using XRayInstrMask = uint32_t
 
using DiagOrStoredDiag = llvm::PointerUnion< const Diagnostic *, const StoredDiagnostic * >
 
using FrontendPluginRegistry = llvm::Registry< PluginASTAction >
 The frontend plugin registry. More...
 
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. More...
 
using PragmaHandlerRegistry = llvm::Registry< PragmaHandler >
 Registry of pragma handlers added by plugins. More...
 
typedef SmallVector< Token, 4 > CachedTokens
 A set of tokens that has been cached for later parsing. More...
 
using ConversionSequenceList = llvm::MutableArrayRef< ImplicitConversionSequence >
 A list of implicit conversion sequences for the arguments of an OverloadCandidate. More...
 
using ParsedType = OpaquePtr< QualType >
 An opaque type for threading parsed type information through the parser. More...
 
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. More...
 
using ArgsVector = llvm::SmallVector< ArgsUnion, 12U >
 
typedef std::pair< llvm::PointerUnion< const TemplateTypeParmType *, NamedDecl * >, SourceLocationUnexpandedParameterPack
 
using AnalyzerOptionsRef = IntrusiveRefCntPtr< AnalyzerOptions >
 
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 >
 

Enumerations

enum  StructuralEquivalenceKind { StructuralEquivalenceKind::Default, StructuralEquivalenceKind::Minimal }
 Whether to perform a normal or minimal equivalence check. More...
 
enum  ComparisonCategoryType : unsigned char {
  ComparisonCategoryType::WeakEquality, ComparisonCategoryType::StrongEquality, ComparisonCategoryType::PartialOrdering, ComparisonCategoryType::WeakOrdering,
  ComparisonCategoryType::StrongOrdering, ComparisonCategoryType::First = WeakEquality, ComparisonCategoryType::Last = StrongOrdering
}
 An enumeration representing the different comparison categories types. More...
 
enum  ComparisonCategoryResult : unsigned char {
  ComparisonCategoryResult::Equal, ComparisonCategoryResult::Equivalent, ComparisonCategoryResult::Nonequivalent, ComparisonCategoryResult::Nonequal,
  ComparisonCategoryResult::Less, ComparisonCategoryResult::Greater, ComparisonCategoryResult::Unordered, ComparisonCategoryResult::Last = Unordered
}
 An enumeration representing the possible results of a three-way comparison. More...
 
enum  MultiVersionKind { MultiVersionKind::None, MultiVersionKind::Target, MultiVersionKind::CPUSpecific, MultiVersionKind::CPUDispatch }
 
enum  AvailabilityResult { AR_Available = 0, AR_NotYetIntroduced, AR_Deprecated, AR_Unavailable }
 Captures the result of checking the availability of a declaration. More...
 
enum  ObjCTypeParamVariance : uint8_t { ObjCTypeParamVariance::Invariant, ObjCTypeParamVariance::Covariant, ObjCTypeParamVariance::Contravariant }
 Describes the variance of a given generic parameter. More...
 
enum  ObjCPropertyQueryKind : uint8_t { ObjCPropertyQueryKind::OBJC_PR_query_unknown = 0x00, ObjCPropertyQueryKind::OBJC_PR_query_instance, ObjCPropertyQueryKind::OBJC_PR_query_class }
 
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  ObjCSubstitutionContext {
  ObjCSubstitutionContext::Ordinary, ObjCSubstitutionContext::Result, ObjCSubstitutionContext::Parameter, ObjCSubstitutionContext::Property,
  ObjCSubstitutionContext::Superclass
}
 The kind of type we are substituting Objective-C type arguments into. More...
 
enum  RefQualifierKind { RQ_None = 0, RQ_LValue, RQ_RValue }
 The kind of C++11 ref-qualifier associated with a function type. More...
 
enum  AutoTypeKeyword { AutoTypeKeyword::Auto, AutoTypeKeyword::DecltypeAuto, AutoTypeKeyword::GNUAutoType }
 Which keyword(s) were used to create an AutoType. More...
 
enum  TagTypeKind {
  TTK_Struct, TTK_Interface, TTK_Union, TTK_Class,
  TTK_Enum
}
 The kind of a tag type. More...
 
enum  ElaboratedTypeKeyword {
  ETK_Struct, ETK_Interface, ETK_Union, ETK_Class,
  ETK_Enum, ETK_Typename, ETK_None
}
 The elaboration keyword that precedes a qualified type name or introduces an elaborated-type-specifier. 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  LangAS : unsigned {
  LangAS::Default = 0, LangAS::opencl_global, LangAS::opencl_local, LangAS::opencl_constant,
  LangAS::opencl_private, LangAS::opencl_generic, LangAS::cuda_device, LangAS::cuda_constant,
  LangAS::cuda_shared, LangAS::FirstTargetAddressSpace
}
 Defines the address space values used by the address space qualifier of QualType. More...
 
enum  AttrSyntax {
  AttrSyntax::GNU, AttrSyntax::Declspec, AttrSyntax::Microsoft, AttrSyntax::CXX,
  AttrSyntax::C, AttrSyntax::Pragma
}
 
enum  LanguageID {
  GNU_LANG = 0x1, C_LANG = 0x2, CXX_LANG = 0x4, OBJC_LANG = 0x8,
  MS_LANG = 0x10, OCLC20_LANG = 0x20, OCLC1X_LANG = 0x40, OMP_LANG = 0x80,
  ALL_LANGUAGES = C_LANG | CXX_LANG | OBJC_LANG, ALL_GNU_LANGUAGES = ALL_LANGUAGES | GNU_LANG, ALL_MS_LANGUAGES = ALL_LANGUAGES | MS_LANG, ALL_OCLC_LANGUAGES = OCLC1X_LANG | OCLC20_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  CudaVersion {
  CudaVersion::UNKNOWN, CudaVersion::CUDA_70, CudaVersion::CUDA_75, CudaVersion::CUDA_80,
  CudaVersion::CUDA_90, CudaVersion::CUDA_91, CudaVersion::CUDA_92, CudaVersion::CUDA_100,
  CudaVersion::LATEST = CUDA_100
}
 
enum  CudaArch {
  CudaArch::UNKNOWN, CudaArch::SM_20, CudaArch::SM_21, CudaArch::SM_30,
  CudaArch::SM_32, CudaArch::SM_35, CudaArch::SM_37, CudaArch::SM_50,
  CudaArch::SM_52, CudaArch::SM_53, CudaArch::SM_60, CudaArch::SM_61,
  CudaArch::SM_62, CudaArch::SM_70, CudaArch::SM_72, CudaArch::SM_75,
  CudaArch::GFX600, CudaArch::GFX601, CudaArch::GFX700, CudaArch::GFX701,
  CudaArch::GFX702, CudaArch::GFX703, CudaArch::GFX704, CudaArch::GFX801,
  CudaArch::GFX802, CudaArch::GFX803, CudaArch::GFX810, CudaArch::GFX900,
  CudaArch::GFX902, CudaArch::GFX904, CudaArch::GFX906, CudaArch::GFX909,
  CudaArch::LAST
}
 
enum  CudaVirtualArch {
  CudaVirtualArch::UNKNOWN, CudaVirtualArch::COMPUTE_20, CudaVirtualArch::COMPUTE_30, CudaVirtualArch::COMPUTE_32,
  CudaVirtualArch::COMPUTE_35, CudaVirtualArch::COMPUTE_37, CudaVirtualArch::COMPUTE_50, CudaVirtualArch::COMPUTE_52,
  CudaVirtualArch::COMPUTE_53, CudaVirtualArch::COMPUTE_60, CudaVirtualArch::COMPUTE_61, CudaVirtualArch::COMPUTE_62,
  CudaVirtualArch::COMPUTE_70, CudaVirtualArch::COMPUTE_72, CudaVirtualArch::COMPUTE_75, CudaVirtualArch::COMPUTE_AMDGCN
}
 
enum  OverloadsShown : unsigned { Ovl_All, Ovl_Best }
 Specifies which overload candidates to display when overload resolution fails. More...
 
enum  DiagnosticLevelMask : unsigned {
  DiagnosticLevelMask::None = 0, DiagnosticLevelMask::Note = 1 << 0, DiagnosticLevelMask::Remark = 1 << 1, DiagnosticLevelMask::Warning = 1 << 2,
  DiagnosticLevelMask::Error = 1 << 3, DiagnosticLevelMask::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_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_IsLValueExpr, ET_IsRValueExpr }
 
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  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  TranslationUnitKind { TU_Complete, TU_Prefix, TU_Module }
 Describes the kind of translation unit being processed. More...
 
enum  Linkage : unsigned char {
  NoLinkage = 0, InternalLinkage, UniqueExternalLinkage, VisibleNoLinkage,
  ModuleInternalLinkage, ModuleLinkage, ExternalLinkage
}
 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  OpenMPDirectiveKind { OMPD_unknown }
 OpenMP directives. More...
 
enum  OpenMPClauseKind { OMPC_threadprivate, OMPC_uniform, OMPC_unknown }
 OpenMP clauses. More...
 
enum  OpenMPDefaultClauseKind { OMPC_DEFAULT_unknown }
 OpenMP attributes for 'default' clause. More...
 
enum  OpenMPProcBindClauseKind { OMPC_PROC_BIND_unknown }
 OpenMP attributes for 'proc_bind' clause. More...
 
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  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  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  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  TypeSpecifierWidth { TSW_unspecified, TSW_short, TSW_long, TSW_longlong }
 Specifies the width of a type, e.g., short, long, or long long. More...
 
enum  TypeSpecifierSign { TSS_unspecified, TSS_signed, TSS_unsigned }
 Specifies the signedness of a type, e.g., signed or unsigned. More...
 
enum  TypeSpecifiersPipe { TSP_unspecified, TSP_pipe }
 
enum  TypeSpecifierType {
  TST_unspecified, TST_void, TST_char, TST_wchar,
  TST_char8, TST_char16, TST_char32, TST_int,
  TST_int128, TST_half, TST_Float16, TST_Accum,
  TST_Fract, TST_float, TST_double, TST_float128,
  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_decltype, TST_underlyingType, TST_auto, TST_decltype_auto,
  TST_auto_type, TST_unknown_anytype, TST_atomic, 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_RValue, 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
}
 A further classification of the kind of object referenced by an l-value or x-value. 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_PreserveMost,
  CC_PreserveAll, CC_AArch64VectorCall
}
 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  NullabilityKind : uint8_t { NullabilityKind::NonNull = 0, NullabilityKind::Nullable, NullabilityKind::Unspecified }
 Describes the nullability of a particular type. More...
 
enum  ParameterABI { ParameterABI::Ordinary, ParameterABI::SwiftIndirectResult, ParameterABI::SwiftErrorResult, ParameterABI::SwiftContext }
 Kinds of parameter ABI. More...
 
enum  SyncScope {
  SyncScope::OpenCLWorkGroup, SyncScope::OpenCLDevice, SyncScope::OpenCLAllSVMDevices, SyncScope::OpenCLSubGroup,
  SyncScope::Last = OpenCLSubGroup
}
 Defines synch scope values used internally by clang. More...
 
enum  AtomicScopeModelKind { AtomicScopeModelKind::None, AtomicScopeModelKind::OpenCL }
 Defines the kind of atomic scope models. More...
 
enum  TemplateNameKind {
  TNK_Non_template = 0, TNK_Function_template, TNK_Type_template, TNK_Var_template,
  TNK_Dependent_template_name
}
 Specifies the kind of template name that an identifier refers to. More...
 
enum  TypeTrait {
  UTT_HasNothrowAssign, UTT_HasNothrowMoveAssign, UTT_HasNothrowCopy, UTT_HasNothrowConstructor,
  UTT_HasTrivialAssign, UTT_HasTrivialMoveAssign, UTT_HasTrivialCopy, UTT_HasTrivialDefaultConstructor,
  UTT_HasTrivialMoveConstructor, UTT_HasTrivialDestructor, UTT_HasVirtualDestructor, UTT_IsAbstract,
  UTT_IsAggregate, UTT_IsArithmetic, UTT_IsArray, UTT_IsClass,
  UTT_IsCompleteType, UTT_IsCompound, UTT_IsConst, UTT_IsDestructible,
  UTT_IsEmpty, UTT_IsEnum, UTT_IsFinal, UTT_IsFloatingPoint,
  UTT_IsFunction, UTT_IsFundamental, UTT_IsIntegral, UTT_IsInterfaceClass,
  UTT_IsLiteral, UTT_IsLvalueReference, UTT_IsMemberFunctionPointer, UTT_IsMemberObjectPointer,
  UTT_IsMemberPointer, UTT_IsNothrowDestructible, UTT_IsObject, UTT_IsPOD,
  UTT_IsPointer, UTT_IsPolymorphic, UTT_IsReference, UTT_IsRvalueReference,
  UTT_IsScalar, UTT_IsSealed, UTT_IsSigned, UTT_IsStandardLayout,
  UTT_IsTrivial, UTT_IsTriviallyCopyable, UTT_IsTriviallyDestructible, UTT_IsUnion,
  UTT_IsUnsigned, UTT_IsVoid, UTT_IsVolatile, UTT_HasUniqueObjectRepresentations,
  UTT_Last = UTT_HasUniqueObjectRepresentations, BTT_IsBaseOf, BTT_IsConvertible, BTT_IsConvertibleTo,
  BTT_IsSame, BTT_TypeCompatible, BTT_IsAssignable, BTT_IsNothrowAssignable,
  BTT_IsTriviallyAssignable, BTT_ReferenceBindsToTemporary, BTT_Last = BTT_ReferenceBindsToTemporary, TT_IsConstructible,
  TT_IsNothrowConstructible, TT_IsTriviallyConstructible
}
 Names for traits that operate specifically on types. More...
 
enum  ArrayTypeTrait { ATT_ArrayRank, ATT_ArrayExtent }
 Names for the array type traits. More...
 
enum  UnaryExprOrTypeTrait {
  UETT_SizeOf, UETT_AlignOf, UETT_VecStep, UETT_OpenMPRequiredSimdAlign,
  UETT_PreferredAlignOf
}
 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  SkipFunctionBodiesScope { SkipFunctionBodiesScope::None, SkipFunctionBodiesScope::Preamble, SkipFunctionBodiesScope::PreambleAndMainFile }
 Enumerates the available scopes for skipping function bodies. More...
 
enum  ShowIncludesDestination { ShowIncludesDestination::None, ShowIncludesDestination::Stdout, ShowIncludesDestination::Stderr }
 ShowIncludesDestination - Destination for /showIncludes output. More...
 
enum  DependencyOutputFormat { DependencyOutputFormat::Make, DependencyOutputFormat::NMake }
 DependencyOutputFormat - Format for the compiler dependency file. More...
 
enum  BuildPreambleError { BuildPreambleError::CouldntCreateTempFile = 1, BuildPreambleError::CouldntCreateTargetInfo, BuildPreambleError::BeginSourceFileFailed, BuildPreambleError::CouldntEmitPCH }
 
enum  { HMAP_HeaderMagicNumber = ('h' << 24) | ('m' << 16) | ('a' << 8) | 'p', HMAP_HeaderVersion = 1, HMAP_EmptyBucketKey = 0 }
 
enum  ConflictMarkerKind { CMK_None, CMK_Normal, CMK_Perforce }
 ConflictMarkerKind - Kinds of conflict marker which the lexer might be recovering from. More...
 
enum  PragmaIntroducerKind { PIK_HashPragma, PIK__Pragma, PIK___pragma }
 Describes how the pragma was introduced, e.g., with #pragma, _Pragma, or __pragma. More...
 
enum  MacroUse { MU_Other = 0, MU_Define = 1, MU_Undef = 2 }
 Context in which macro name is used. More...
 
enum  ObjCXXARCStandardLibraryKind { ARCXX_nolib, ARCXX_libcxx, ARCXX_libstdcxx }
 Enumerate the kinds of standard library that. More...
 
enum  {
  CCP_NextInitializer = 7, CCP_EnumInCase = 7, CCP_SuperCompletion = 20, CCP_LocalDeclaration = 34,
  CCP_MemberDeclaration = 35, CCP_Keyword = 40, CCP_CodePattern = 40, CCP_Declaration = 50,
  CCP_Type = CCP_Declaration, CCP_Constant = 65, CCP_Macro = 70, CCP_NestedNameSpecifier = 75,
  CCP_Unlikely = 80, CCP_ObjC_cmd = CCP_Unlikely
}
 Default priority values for code-completion results based on their kind. More...
 
enum  {
  CCD_InBaseClass = 2, CCD_ObjectQualifierMatch = -1, CCD_SelectorMatch = -3, CCD_bool_in_ObjC = 1,
  CCD_ProbablyNotObjCCollection = 15, CCD_MethodAsProperty = 2, CCD_BlockPropertySetter = 3
}
 Priority value deltas that are added to code-completion results based on the context of the result. More...
 
enum  { CCF_ExactTypeMatch = 4, CCF_SimilarTypeMatch = 2 }
 Priority value factors by which we will divide or multiply the priority of a code-completion result. More...
 
enum  SimplifiedTypeClass {
  STC_Arithmetic, STC_Array, STC_Block, STC_Function,
  STC_ObjectiveC, STC_Other, STC_Pointer, STC_Record,
  STC_Void
}
 A simplified classification of types used when determining "similar" types for code completion. More...
 
enum  UnqualifiedIdKind {
  UnqualifiedIdKind::IK_Identifier, UnqualifiedIdKind::IK_OperatorFunctionId, UnqualifiedIdKind::IK_ConversionFunctionId, UnqualifiedIdKind::IK_LiteralOperatorId,
  UnqualifiedIdKind::IK_ConstructorName, UnqualifiedIdKind::IK_ConstructorTemplateId, UnqualifiedIdKind::IK_DestructorName, UnqualifiedIdKind::IK_TemplateId,
  UnqualifiedIdKind::IK_ImplicitSelfParam, UnqualifiedIdKind::IK_DeductionGuideName
}
 Describes the kind of unqualified-id parsed. More...
 
enum  FunctionDefinitionKind { FDK_Declaration, FDK_Definition, FDK_Defaulted, FDK_Deleted }
 Described the kind of function definition (if any) provided for a function. More...
 
enum  DeclaratorContext {
  DeclaratorContext::FileContext, DeclaratorContext::PrototypeContext, DeclaratorContext::ObjCResultContext, DeclaratorContext::ObjCParameterContext,
  DeclaratorContext::KNRTypeListContext, DeclaratorContext::TypeNameContext, DeclaratorContext::FunctionalCastContext, DeclaratorContext::MemberContext,
  DeclaratorContext::BlockContext, DeclaratorContext::ForContext, DeclaratorContext::InitStmtContext, DeclaratorContext::ConditionContext,
  DeclaratorContext::TemplateParamContext, DeclaratorContext::CXXNewContext, DeclaratorContext::CXXCatchContext, DeclaratorContext::ObjCCatchContext,
  DeclaratorContext::BlockLiteralContext, DeclaratorContext::LambdaExprContext, DeclaratorContext::LambdaExprParameterContext, DeclaratorContext::ConversionIdContext,
  DeclaratorContext::TrailingReturnContext, DeclaratorContext::TrailingReturnVarContext, DeclaratorContext::TemplateArgContext, DeclaratorContext::TemplateTypeArgContext,
  DeclaratorContext::AliasDeclContext, DeclaratorContext::AliasTemplateContext
}
 
enum  LambdaCaptureInitKind { LambdaCaptureInitKind::NoInit, LambdaCaptureInitKind::CopyInit, LambdaCaptureInitKind::DirectInit, LambdaCaptureInitKind::ListInit }
 
enum  OverloadingResult { OR_Success, OR_No_Viable_Function, OR_Ambiguous, OR_Deleted }
 OverloadingResult - Capture the result of performing overload resolution. More...
 
enum  OverloadCandidateDisplayKind { OCD_AllCandidates, OCD_ViableCandidates }
 
enum  ImplicitConversionKind {
  ICK_Identity = 0, ICK_Lvalue_To_Rvalue, ICK_Array_To_Pointer, ICK_Function_To_Pointer,
  ICK_Function_Conversion, ICK_Qualification, ICK_Integral_Promotion, ICK_Floating_Promotion,
  ICK_Complex_Promotion, ICK_Integral_Conversion, ICK_Floating_Conversion, ICK_Complex_Conversion,
  ICK_Floating_Integral, ICK_Pointer_Conversion, ICK_Pointer_Member, ICK_Boolean_Conversion,
  ICK_Compatible_Conversion, ICK_Derived_To_Base, ICK_Vector_Conversion, ICK_Vector_Splat,
  ICK_Complex_Real, ICK_Block_Pointer_Conversion, ICK_TransparentUnionConversion, ICK_Writeback_Conversion,
  ICK_Zero_Event_Conversion, ICK_Zero_Queue_Conversion, ICK_C_Only_Conversion, ICK_Incompatible_Pointer_Conversion,
  ICK_Num_Conversion_Kinds
}
 ImplicitConversionKind - The kind of implicit conversion used to convert an argument to a parameter's type. More...
 
enum  ImplicitConversionRank {
  ICR_Exact_Match = 0, ICR_Promotion, ICR_Conversion, ICR_OCL_Scalar_Widening,
  ICR_Complex_Real_Conversion, ICR_Writeback_Conversion, ICR_C_Conversion, ICR_C_Conversion_Extension
}
 ImplicitConversionRank - The rank of an implicit conversion kind. More...
 
enum  NarrowingKind {
  NK_Not_Narrowing, NK_Type_Narrowing, NK_Constant_Narrowing, NK_Variable_Narrowing,
  NK_Dependent_Narrowing
}
 NarrowingKind - The kind of narrowing conversion being performed by a standard conversion sequence according to C++11 [dcl.init.list]p7. More...
 
enum  OverloadFailureKind {
  ovl_fail_too_many_arguments, ovl_fail_too_few_arguments, ovl_fail_bad_conversion, ovl_fail_bad_deduction,
  ovl_fail_trivial_conversion, ovl_fail_illegal_constructor, ovl_fail_bad_final_conversion, ovl_fail_final_conversion_not_exact,
  ovl_fail_bad_target, ovl_fail_enable_if, ovl_fail_addr_not_available, ovl_fail_ext_disabled,
  ovl_fail_inhctor_slice, ovl_non_default_multiversion_function
}
 
enum  AttributeArgumentNType { AANT_ArgumentIntOrBool, AANT_ArgumentIntegerConstant, AANT_ArgumentString, AANT_ArgumentIdentifier }
 These constants match the enumerated choices of err_attribute_argument_n_type and err_attribute_argument_type. More...
 
enum  AttributeDeclKind {
  ExpectedFunction, ExpectedUnion, ExpectedVariableOrFunction, ExpectedFunctionOrMethod,
  ExpectedFunctionMethodOrBlock, ExpectedFunctionMethodOrParameter, ExpectedVariable, ExpectedVariableOrField,
  ExpectedVariableFieldOrTag, ExpectedTypeOrNamespace, ExpectedFunctionVariableOrClass, ExpectedKernelFunction,
  ExpectedFunctionWithProtoType
}
 These constants match the enumerated choices of warn_attribute_wrong_decl_type and err_attribute_wrong_decl_type. More...
 
enum  OverloadFixItKind {
  OFIK_Undefined = 0, OFIK_Dereference, OFIK_TakeAddress, OFIK_RemoveDereference,
  OFIK_RemoveTakeAddress
}
 
enum  TPOC { TPOC_Call, TPOC_Conversion, TPOC_Other }
 The context in which partial ordering of function templates occurs. More...
 
enum  Analyses { NumAnalyses }
 Analysis - Set of available source code analyses. More...
 
enum  AnalysisStores { NumStores }
 AnalysisStores - Set of available analysis store models. More...
 
enum  AnalysisConstraints { NumConstraints }
 AnalysisConstraints - Set of available constraint models. More...
 
enum  AnalysisDiagClients { PD_NONE, NUM_ANALYSIS_DIAG_CLIENTS }
 AnalysisDiagClients - Set of available diagnostic clients for rendering analysis results. More...
 
enum  AnalysisPurgeMode { NumPurgeModes }
 AnalysisPurgeModes - Set of available strategies for dead symbol removal. More...
 
enum  AnalysisInliningMode { NumInliningModes }
 AnalysisInlineFunctionSelection - Set of inlining function selection heuristics. More...
 
enum  CXXInlineableMemberKind { CIMK_None, CIMK_MemberFunctions, CIMK_Constructors, CIMK_Destructors }
 Describes the different kinds of C++ member functions which can be considered for inlining by the analyzer. More...
 
enum  IPAKind {
  IPAK_None = 1, IPAK_BasicInlining = 2, IPAK_Inlining = 3, IPAK_DynamicDispatch = 4,
  IPAK_DynamicDispatchBifurcate = 5
}
 Describes the different modes of inter-procedural analysis. More...
 
enum  ExplorationStrategyKind {
  ExplorationStrategyKind::DFS, ExplorationStrategyKind::BFS, ExplorationStrategyKind::UnexploredFirst, ExplorationStrategyKind::UnexploredFirstQueue,
  ExplorationStrategyKind::UnexploredFirstLocationQueue, ExplorationStrategyKind::BFSBlockDFSContents
}
 
enum  UserModeKind { UMK_Shallow = 1, UMK_Deep = 2 }
 Describes the kinds for high-level analyzer mode. More...
 
enum  ObjCMessageKind { OCM_PropertyAccess, OCM_Subscript, OCM_Message }
 Represents the ways an Objective-C message send can occur. More...
 
enum  TemplateDeductionFlags {
  TDF_None = 0, TDF_ParamWithReferenceType = 0x1, TDF_IgnoreQualifiers = 0x02, TDF_DerivedClass = 0x04,
  TDF_SkipNonDependent = 0x08, TDF_TopLevelParameterTypeList = 0x10, TDF_AllowCompatibleFunctionType = 0x20, TDF_ArgWithReferenceType = 0x40
}
 Various flags that control template argument deduction. More...
 

Functions

void runUninitializedVariablesAnalysis (const DeclContext &dc, const CFG &cfg, AnalysisDeclContext &ac, UninitVariablesHandler &handler, UninitVariablesAnalysisStats &stats)
 
template<typename... IdentifierInfos>
static Selector getKeywordSelector (ASTContext &Ctx, IdentifierInfos *... IIs)
 
template<typename... IdentifierInfos>
static void lazyInitKeywordSelector (Selector &Sel, ASTContext &Ctx, IdentifierInfos *... IIs)
 
Selector GetNullarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing a nullary selector. More...
 
Selector GetUnarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing an unary selector. More...
 
void FormatASTNodeDiagnosticArgument (DiagnosticsEngine::ArgumentKind Kind, intptr_t Val, StringRef Modifier, StringRef Argument, ArrayRef< DiagnosticsEngine::ArgumentValue > PrevArgs, SmallVectorImpl< char > &Output, void *Cookie, ArrayRef< intptr_t > QualTypeVals)
 DiagnosticsEngine argument formatting function for diagnostics that involve AST nodes. More...
 
llvm::SmallVector< Decl *, 2 > getCanonicalForwardRedeclChain (Decl *D)
 
StringRef getLambdaStaticInvokerName ()
 
bool isLambdaCallOperator (const CXXMethodDecl *MD)
 
bool isLambdaCallOperator (const DeclContext *DC)
 
bool isGenericLambdaCallOperatorSpecialization (const CXXMethodDecl *MD)
 
bool isLambdaConversionOperator (CXXConversionDecl *C)
 
bool isLambdaConversionOperator (Decl *D)
 
bool isGenericLambdaCallOperatorSpecialization (DeclContext *DC)
 
DeclContextgetLambdaAwareParentOfDeclContext (DeclContext *DC)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const Attr *At)
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, const Attr *At)
 
template<typename SpecificAttr , typename Container >
specific_attr_iterator< SpecificAttr, Container > specific_attr_begin (const Container &container)
 
template<typename SpecificAttr , typename Container >
specific_attr_iterator< SpecificAttr, Container > specific_attr_end (const Container &container)
 
template<typename SpecificAttr , typename Container >
bool hasSpecificAttr (const Container &container)
 
template<typename SpecificAttr , typename Container >
SpecificAttr * getSpecificAttr (const Container &container)
 
template<typename T , typename U >
bool operator== (CanQual< T > x, CanQual< U > y)
 
template<typename T , typename U >
bool operator!= (CanQual< T > x, CanQual< U > y)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, CanQualType T)
 
raw_ostream & operator<< (raw_ostream &OS, const NamedDecl &ND)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const NamedDecl *ND)
 Insertion operator for diagnostics. More...
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, const NamedDecl *ND)
 
bool IsEnumDeclComplete (EnumDecl *ED)
 Check if the given decl is complete. More...
 
bool IsEnumDeclScoped (EnumDecl *ED)
 Check if the given decl is scoped. More...
 
raw_ostream & operator<< (raw_ostream &OS, DeclarationName N)
 
bool operator< (DeclarationName LHS, DeclarationName RHS)
 Ordering on two declaration names. More...
 
bool operator> (DeclarationName LHS, DeclarationName RHS)
 Ordering on two declaration names. More...
 
bool operator<= (DeclarationName LHS, DeclarationName RHS)
 Ordering on two declaration names. More...
 
bool operator>= (DeclarationName LHS, DeclarationName RHS)
 Ordering on two declaration names. More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, DeclarationName N)
 Insertion operator for diagnostics. More...
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, DeclarationName N)
 Insertion operator for partial diagnostics. More...
 
raw_ostream & operator<< (raw_ostream &OS, DeclarationNameInfo DNInfo)
 
bool declaresSameEntity (const Decl *D1, const Decl *D2)
 Determine whether two declarations declare the same entity. More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, AccessSpecifier AS)
 Insertion operator for diagnostics. More...
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &DB, AccessSpecifier AS)
 
raw_ostream & operator<< (raw_ostream &OS, const ObjCCategoryImplDecl &CID)
 
raw_ostream & operator<< (raw_ostream &OS, const ObjCImplementationDecl &ID)
 
NamedDeclgetAsNamedDecl (TemplateParameter P)
 
void * allocateDefaultArgStorageChain (const ASTContext &C)
 
TemplateDeclgetAsTypeTemplateDecl (Decl *D)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, NestedNameSpecifier *NNS)
 Insertion operator for diagnostics. More...
 
clang::OMPLinearClause OMPVarListClause, OMPClauseWithPostUpdate, llvm::TrailingObjects getPrivates ()
 
MutableArrayRef< Expr * > getInits ()
 
MutableArrayRef< Expr * > getUpdates ()
 Sets the list of update expressions for linear variables. More...
 
MutableArrayRef< Expr * > getFinals ()
 Sets the list of final update expressions for linear variables. More...
 
void setPrivates (ArrayRef< Expr *> PL)
 Sets the list of the copies of original linear variables. More...
 
void setInits (ArrayRef< Expr *> IL)
 Sets the list of the initial values for linear variables. More...
 
static OMPLinearClauseCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, OpenMPLinearClauseKind Modifier, SourceLocation ModifierLoc, SourceLocation ColonLoc, SourceLocation EndLoc, ArrayRef< Expr *> VL, ArrayRef< Expr *> PL, ArrayRef< Expr *> IL, Expr *Step, Expr *CalcStep, Stmt *PreInit, Expr *PostUpdate)
 Creates clause with a list of variables VL and a linear step Step. More...
 
static OMPLinearClauseCreateEmpty (const ASTContext &C, unsigned NumVars)
 Creates an empty clause with the place for NumVars variables. More...
 
void setModifier (OpenMPLinearClauseKind Kind)
 Set modifier. More...
 
OpenMPLinearClauseKind getModifier () const
 Return modifier. More...
 
void setModifierLoc (SourceLocation Loc)
 Set modifier location. More...
 
SourceLocation getModifierLoc () const
 Return modifier location. More...
 
void setColonLoc (SourceLocation Loc)
 Sets the location of ':'. More...
 
SourceLocation getColonLoc () const
 Returns the location of ':'. More...
 
ExprgetStep ()
 Returns linear step. More...
 
ExprgetCalcStep ()
 Returns expression to calculate linear step. More...
 
void setUpdates (ArrayRef< Expr *> UL)
 Sets the list of update expressions for linear variables. More...
 
void setFinals (ArrayRef< Expr *> FL)
 Sets the list of final update expressions for linear variables. More...
 
privates_range privates ()
 
inits_range inits ()
 
updates_range updates ()
 
finals_range finals ()
 
child_range children ()
 
static bool classof (const OMPClause *T)
 
 DEF_TRAVERSE_TYPE (ComplexType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(PointerType
 
 DEF_TRAVERSE_TYPE (BlockPointerType, { TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(LValueReferenceType
 
 DEF_TRAVERSE_TYPE (RValueReferenceType, { TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(MemberPointerType
 
 TRY_TO (TraverseType(T->getPointeeType()))
 
 DEF_TRAVERSE_TYPE (AdjustedType, { TRY_TO(TraverseType(T->getOriginalType()));}) DEF_TRAVERSE_TYPE(DecayedType
 
 DEF_TRAVERSE_TYPE (ConstantArrayType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(IncompleteArrayType
 
 DEF_TRAVERSE_TYPE (VariableArrayType, { TRY_TO(TraverseType(T->getElementType()));TRY_TO(TraverseStmt(T->getSizeExpr()));}) DEF_TRAVERSE_TYPE(DependentSizedArrayType
 
 if (T->getSizeExpr()) TRY_TO(TraverseStmt(T -> getSizeExpr()))
 
 DEF_TRAVERSE_TYPE (DependentAddressSpaceType, { TRY_TO(TraverseStmt(T->getAddrSpaceExpr()));TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(DependentVectorType
 
 TRY_TO (TraverseType(T->getElementType()))
 
 DEF_TRAVERSE_TYPE (DependentSizedExtVectorType, { if(T->getSizeExpr()) TRY_TO(TraverseStmt(T->getSizeExpr()));TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(VectorType
 
 DEF_TRAVERSE_TYPE (ExtVectorType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(FunctionNoProtoType
 
 DEF_TRAVERSE_TYPE (FunctionProtoType, { TRY_TO(TraverseType(T->getReturnType()));for(const auto &A :T->param_types()) { TRY_TO(TraverseType(A));} for(const auto &E :T->exceptions()) { TRY_TO(TraverseType(E));} if(Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE));}) DEF_TRAVERSE_TYPE(TypeOfExprType
 
 DEF_TRAVERSE_TYPE (TypeOfType, { TRY_TO(TraverseType(T->getUnderlyingType()));}) DEF_TRAVERSE_TYPE(DecltypeType
 
 DEF_TRAVERSE_TYPE (UnaryTransformType, { TRY_TO(TraverseType(T->getBaseType()));TRY_TO(TraverseType(T->getUnderlyingType()));}) DEF_TRAVERSE_TYPE(AutoType
 
 DEF_TRAVERSE_TYPE (DeducedTemplateSpecializationType, { TRY_TO(TraverseTemplateName(T->getTemplateName()));TRY_TO(TraverseType(T->getDeducedType()));}) DEF_TRAVERSE_TYPE(SubstTemplateTypeParmType
 
 DEF_TRAVERSE_TYPE (SubstTemplateTypeParmPackType, { TRY_TO(TraverseTemplateArgument(T->getArgumentPack()));}) DEF_TRAVERSE_TYPE(TemplateSpecializationType
 
 TRY_TO (TraverseTemplateArguments(T->getArgs(), T->getNumArgs()))
 
 DEF_TRAVERSE_TYPE (AttributedType, { TRY_TO(TraverseType(T->getModifiedType()));}) DEF_TRAVERSE_TYPE(ParenType
 
 DEF_TRAVERSE_TYPE (ElaboratedType, { if(T->getQualifier()) { TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));} TRY_TO(TraverseType(T->getNamedType()));}) DEF_TRAVERSE_TYPE(DependentNameType
 
 DEF_TRAVERSE_TYPE (DependentTemplateSpecializationType, { TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));TRY_TO(TraverseTemplateArguments(T->getArgs(), T->getNumArgs()));}) DEF_TRAVERSE_TYPE(PackExpansionType
 
 DEF_TRAVERSE_TYPE (ObjCObjectType, { if(T->getBaseType().getTypePtr() !=T) TRY_TO(TraverseType(T->getBaseType()));for(auto typeArg :T->getTypeArgsAsWritten()) { TRY_TO(TraverseType(typeArg));} }) DEF_TRAVERSE_TYPE(ObjCObjectPointerType
 
 DEF_TRAVERSE_TYPE (AtomicType, { TRY_TO(TraverseType(T->getValueType()));}) DEF_TRAVERSE_TYPE(PipeType
 
 DEF_TRAVERSE_TYPELOC (ComplexType, { TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(PointerType
 
 DEF_TRAVERSE_TYPELOC (BlockPointerType, { TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()));}) DEF_TRAVERSE_TYPELOC(LValueReferenceType
 
 DEF_TRAVERSE_TYPELOC (RValueReferenceType, { TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()));}) DEF_TRAVERSE_TYPELOC(MemberPointerType
 
 TRY_TO (TraverseTypeLoc(TL.getPointeeLoc()))
 
 DEF_TRAVERSE_TYPELOC (AdjustedType, { TRY_TO(TraverseTypeLoc(TL.getOriginalLoc()));}) DEF_TRAVERSE_TYPELOC(DecayedType
 
 DEF_TRAVERSE_TYPELOC (ConstantArrayType, { TRY_TO(TraverseTypeLoc(TL.getElementLoc()));return TraverseArrayTypeLocHelper(TL);}) DEF_TRAVERSE_TYPELOC(IncompleteArrayType
 
return TraverseArrayTypeLocHelper (TL)
 
 DEF_TRAVERSE_TYPELOC (VariableArrayType, { TRY_TO(TraverseTypeLoc(TL.getElementLoc()));return TraverseArrayTypeLocHelper(TL);}) DEF_TRAVERSE_TYPELOC(DependentSizedArrayType
 
 DEF_TRAVERSE_TYPELOC (DependentAddressSpaceType, { TRY_TO(TraverseStmt(TL.getTypePtr() ->getAddrSpaceExpr()));TRY_TO(TraverseType(TL.getTypePtr() ->getPointeeType()));}) DEF_TRAVERSE_TYPELOC(DependentSizedExtVectorType
 
 TRY_TO (TraverseType(TL.getTypePtr() ->getElementType()))
 
 DEF_TRAVERSE_TYPELOC (VectorType, { TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(DependentVectorType
 
 DEF_TRAVERSE_TYPELOC (ExtVectorType, { TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(FunctionNoProtoType
 
 DEF_TRAVERSE_TYPELOC (FunctionProtoType, { TRY_TO(TraverseTypeLoc(TL.getReturnLoc()));const FunctionProtoType *T=TL.getTypePtr();for(unsigned I=0, E=TL.getNumParams();I !=E;++I) { if(TL.getParam(I)) { TRY_TO(TraverseDecl(TL.getParam(I)));} else if(I< T->getNumParams()) { TRY_TO(TraverseType(T->getParamType(I)));} } for(const auto &E :T->exceptions()) { TRY_TO(TraverseType(E));} if(Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE));}) DEF_TRAVERSE_TYPELOC(TypeOfExprType
 
 DEF_TRAVERSE_TYPELOC (TypeOfType, { TRY_TO(TraverseTypeLoc(TL.getUnderlyingTInfo() ->getTypeLoc()));}) DEF_TRAVERSE_TYPELOC(DecltypeType
 
 DEF_TRAVERSE_TYPELOC (UnaryTransformType, { TRY_TO(TraverseTypeLoc(TL.getUnderlyingTInfo() ->getTypeLoc()));}) DEF_TRAVERSE_TYPELOC(AutoType
 
 DEF_TRAVERSE_TYPELOC (DeducedTemplateSpecializationType, { TRY_TO(TraverseTemplateName(TL.getTypePtr() ->getTemplateName()));TRY_TO(TraverseType(TL.getTypePtr() ->getDeducedType()));}) DEF_TRAVERSE_TYPELOC(SubstTemplateTypeParmType
 
 DEF_TRAVERSE_TYPELOC (SubstTemplateTypeParmPackType, { TRY_TO(TraverseTemplateArgument(TL.getTypePtr() ->getArgumentPack()));}) DEF_TRAVERSE_TYPELOC(TemplateSpecializationType
 
 for (unsigned I=0, E=TL.getNumArgs();I !=E;++I)
 
 DEF_TRAVERSE_TYPELOC (ParenType, { TRY_TO(TraverseTypeLoc(TL.getInnerLoc()));}) DEF_TRAVERSE_TYPELOC(AttributedType
 
 DEF_TRAVERSE_TYPELOC (ElaboratedType, { if(TL.getQualifierLoc()) { TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));} TRY_TO(TraverseTypeLoc(TL.getNamedTypeLoc()));}) DEF_TRAVERSE_TYPELOC(DependentNameType
 
 DEF_TRAVERSE_TYPELOC (DependentTemplateSpecializationType, { if(TL.getQualifierLoc()) { TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));} for(unsigned I=0, E=TL.getNumArgs();I !=E;++I) { TRY_TO(TraverseTemplateArgumentLoc(TL.getArgLoc(I)));} }) DEF_TRAVERSE_TYPELOC(PackExpansionType
 
 DEF_TRAVERSE_TYPELOC (ObjCObjectType, { if(TL.getTypePtr() ->getBaseType().getTypePtr() !=TL.getTypePtr()) TRY_TO(TraverseTypeLoc(TL.getBaseLoc()));for(unsigned i=0, n=TL.getNumTypeArgs();i !=n;++i) TRY_TO(TraverseTypeLoc(TL.getTypeArgTInfo(i) ->getTypeLoc()));}) DEF_TRAVERSE_TYPELOC(ObjCObjectPointerType
 
 DEF_TRAVERSE_TYPELOC (AtomicType, { TRY_TO(TraverseTypeLoc(TL.getValueLoc()));}) DEF_TRAVERSE_TYPELOC(PipeType
 
 DEF_TRAVERSE_DECL (BlockDecl, { if(TypeSourceInfo *TInfo=D->getSignatureAsWritten()) TRY_TO(TraverseTypeLoc(TInfo->getTypeLoc()));TRY_TO(TraverseStmt(D->getBody()));for(const auto &I :D->captures()) { if(I.hasCopyExpr()) { TRY_TO(TraverseStmt(I.getCopyExpr()));} } ShouldVisitChildren=false;}) DEF_TRAVERSE_DECL(CapturedDecl
 
 DEF_TRAVERSE_DECL (FileScopeAsmDecl, { TRY_TO(TraverseStmt(D->getAsmString()));}) DEF_TRAVERSE_DECL(FriendDecl
 
else TRY_TO (TraverseDecl(D->getFriendDecl()))
 
 DEF_TRAVERSE_DECL (FriendTemplateDecl, { if(D->getFriendType()) TRY_TO(TraverseTypeLoc(D->getFriendType() ->getTypeLoc()));else TRY_TO(TraverseDecl(D->getFriendDecl()));for(unsigned I=0, E=D->getNumTemplateParameters();I< E;++I) { TemplateParameterList *TPL=D->getTemplateParameterList(I);for(TemplateParameterList::iterator ITPL=TPL->begin(), ETPL=TPL->end();ITPL !=ETPL;++ITPL) { TRY_TO(TraverseDecl(*ITPL));} } }) DEF_TRAVERSE_DECL(ClassScopeFunctionSpecializationDecl
 
 if (D->hasExplicitTemplateArgs())
 
 DEF_TRAVERSE_DECL (ObjCPropertyImplDecl, { }) DEF_TRAVERSE_DECL(StaticAssertDecl
 
 TRY_TO (TraverseStmt(D->getMessage()))
 
 DEF_TRAVERSE_DECL (TranslationUnitDecl, { }) DEF_TRAVERSE_DECL(NamespaceAliasDecl
 
 DEF_TRAVERSE_DECL (LabelDecl, { }) DEF_TRAVERSE_DECL(NamespaceDecl
 
DeclgetPrimaryMergedDecl (Decl *D)
 Get the primary declaration for a declaration from an AST file. More...
 
SelectorLocationsKind hasStandardSelectorLocs (Selector Sel, ArrayRef< SourceLocation > SelLocs, ArrayRef< Expr *> Args, SourceLocation EndLoc)
 Returns true if all SelLocs are in a "standard" location. More...
 
SourceLocation getStandardSelectorLoc (unsigned Index, Selector Sel, bool WithArgSpace, ArrayRef< Expr *> Args, SourceLocation EndLoc)
 Get the "standard" location of a selector identifier, e.g: For nullary selectors, immediately before ']': "[foo release]". More...
 
SelectorLocationsKind hasStandardSelectorLocs (Selector Sel, ArrayRef< SourceLocation > SelLocs, ArrayRef< ParmVarDecl *> Args, SourceLocation EndLoc)
 Returns true if all SelLocs are in a "standard" location. More...
 
SourceLocation getStandardSelectorLoc (unsigned Index, Selector Sel, bool WithArgSpace, ArrayRef< ParmVarDecl *> Args, SourceLocation EndLoc)
 Get the "standard" location of a selector identifier, e.g: For nullary selectors, immediately before ']': "[foo release]". More...
 
StmtIterator cast_away_const (const ConstStmtIterator &RHS)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const TemplateArgument &Arg)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, TemplateName N)
 Insertion operator for diagnostics. More...
 
void printTemplateArgumentList (raw_ostream &OS, ArrayRef< TemplateArgument > Args, const PrintingPolicy &Policy)
 Print a template argument list, including the '<' and '>' enclosing the template arguments. More...
 
void printTemplateArgumentList (raw_ostream &OS, ArrayRef< TemplateArgumentLoc > Args, const PrintingPolicy &Policy)
 
void printTemplateArgumentList (raw_ostream &OS, const TemplateArgumentListInfo &Args, const PrintingPolicy &Policy)
 
FunctionType::ExtInfo getFunctionExtInfo (const Type &t)
 
FunctionType::ExtInfo getFunctionExtInfo (QualType t)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, Qualifiers Q)
 Insertion operator for diagnostics. More...
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, Qualifiers Q)
 Insertion operator for partial diagnostics. More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, QualType T)
 Insertion operator for diagnostics. More...
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, QualType T)
 Insertion operator for partial diagnostics. More...
 
void FixedPointValueToString (SmallVectorImpl< char > &Str, llvm::APSInt Val, unsigned Scale)
 
bool isTargetAddressSpace (LangAS AS)
 
unsigned toTargetAddressSpace (LangAS AS)
 
LangAS getLangASFromTargetAS (unsigned TargetAS)
 
llvm::VersionTuple alignedAllocMinVersion (llvm::Triple::OSType OS)
 
int hasAttribute (AttrSyntax Syntax, const IdentifierInfo *Scope, const IdentifierInfo *Attr, const TargetInfo &Target, const LangOptions &LangOpts)
 Return the version number associated with the attribute if we recognize and implement the attribute specified by the given information. More...
 
 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ()
 
LLVM_READNONE bool isASCII (char c)
 Returns true if this is an ASCII character. More...
 
LLVM_READONLY bool isIdentifierHead (unsigned char c, bool AllowDollar=false)
 Returns true if this is a valid first character of a C identifier, which is [a-zA-Z_]. More...
 
LLVM_READONLY bool isIdentifierBody (unsigned char c, bool AllowDollar=false)
 Returns true if this is a body character of a C identifier, which is [a-zA-Z0-9_]. More...
 
LLVM_READONLY bool isHorizontalWhitespace (unsigned char c)
 Returns true if this character is horizontal ASCII whitespace: ' ', '\t', '\f', '\v'. More...
 
LLVM_READONLY bool isVerticalWhitespace (unsigned char c)
 Returns true if this character is vertical ASCII whitespace: '\n', '\r'. More...
 
LLVM_READONLY bool isWhitespace (unsigned char c)
 Return true if this character is horizontal or vertical ASCII whitespace: ' ', '\t', '\f', '\v', '\n', '\r'. More...
 
LLVM_READONLY bool isDigit (unsigned char c)
 Return true if this character is an ASCII digit: [0-9]. More...
 
LLVM_READONLY bool isLowercase (unsigned char c)
 Return true if this character is a lowercase ASCII letter: [a-z]. More...
 
LLVM_READONLY bool isUppercase (unsigned char c)
 Return true if this character is an uppercase ASCII letter: [A-Z]. More...
 
LLVM_READONLY bool isLetter (unsigned char c)
 Return true if this character is an ASCII letter: [a-zA-Z]. More...
 
LLVM_READONLY bool isAlphanumeric (unsigned char c)
 Return true if this character is an ASCII letter or digit: [a-zA-Z0-9]. More...
 
LLVM_READONLY bool isHexDigit (unsigned char c)
 Return true if this character is an ASCII hex digit: [0-9a-fA-F]. More...
 
LLVM_READONLY bool isPunctuation (unsigned char c)
 Return true if this character is an ASCII punctuation character. More...
 
LLVM_READONLY bool isPrintable (unsigned char c)
 Return true if this character is an ASCII printable character; that is, a character that should take exactly one column to print in a fixed-width terminal. More...
 
LLVM_READONLY bool isPreprocessingNumberBody (unsigned char c)
 Return true if this is the body character of a C preprocessing number, which is [a-zA-Z0-9_. More...
 
LLVM_READONLY bool isRawStringDelimBody (unsigned char c)
 Return true if this is the body character of a C++ raw string delimiter. More...
 
LLVM_READONLY char toLowercase (char c)
 Converts the given ASCII character to its lowercase equivalent. More...
 
LLVM_READONLY char toUppercase (char c)
 Converts the given ASCII character to its uppercase equivalent. More...
 
LLVM_READONLY bool isValidIdentifier (StringRef S, bool AllowDollar=false)
 Return true if this is a valid ASCII identifier. More...
 
const char * CudaVersionToString (CudaVersion V)
 
const char * CudaArchToString (CudaArch A)
 
CudaArch StringToCudaArch (llvm::StringRef S)
 
const char * CudaVirtualArchToString (CudaVirtualArch A)
 
CudaVirtualArch StringToCudaVirtualArch (llvm::StringRef S)
 
CudaVirtualArch VirtualArchForCudaArch (CudaArch A)
 Get the compute_xx corresponding to an sm_yy. More...
 
CudaVersion MinVersionForCudaArch (CudaArch A)
 Get the earliest CudaVersion that supports the given CudaArch. More...
 
CudaVersion MaxVersionForCudaArch (CudaArch A)
 Get the latest CudaVersion that supports the given CudaArch. More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const AddFlagValue V)
 Register a value for the flag in the current diagnostic. More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, StringRef S)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const char *Str)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, int I)
 
template<typename T >
std::enable_if< std::is_same< T, bool >::value, const DiagnosticBuilder & >::type operator<< (const DiagnosticBuilder &DB, T I)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, unsigned I)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, tok::TokenKind I)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const IdentifierInfo *II)
 
template<typename T >
std::enable_if< std::is_same< typename std::remove_const< T >::type, DeclContext >::value, const DiagnosticBuilder & >::type operator<< (const DiagnosticBuilder &DB, T *DC)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, SourceRange R)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, ArrayRef< SourceRange > Ranges)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const CharSourceRange &R)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const FixItHint &Hint)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, ArrayRef< FixItHint > Hints)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, DiagNullabilityKind nullability)
 
void ProcessWarningOptions (DiagnosticsEngine &Diags, const DiagnosticOptions &Opts, bool ReportDiags=true)
 ProcessWarningOptions - Initialize the diagnostic client and process the warning options specified on the command line. More...
 
DiagnosticLevelMask operator~ (DiagnosticLevelMask M)
 
DiagnosticLevelMask operator| (DiagnosticLevelMask LHS, DiagnosticLevelMask RHS)
 
DiagnosticLevelMask operator & (DiagnosticLevelMask LHS, DiagnosticLevelMask RHS)
 
raw_ostream & operator<< (raw_ostream &Out, DiagnosticLevelMask M)
 
bool isDynamicExceptionSpec (ExceptionSpecificationType ESpecType)
 
bool isComputedNoexcept (ExceptionSpecificationType ESpecType)
 
bool isNoexceptExceptionSpec (ExceptionSpecificationType ESpecType)
 
bool isUnresolvedExceptionSpec (ExceptionSpecificationType ESpecType)
 
CanThrowResult mergeCanThrow (CanThrowResult CT1, CanThrowResult CT2)
 
bool isDiscardableGVALinkage (GVALinkage L)
 
bool isExternallyVisible (Linkage L)
 
Linkage getFormalLinkage (Linkage L)
 
bool isExternalFormalLinkage (Linkage L)
 
Linkage minLinkage (Linkage L1, Linkage L2)
 Compute the minimum linkage given two linkages. More...
 
raw_ostream & operator<< (raw_ostream &out, const ObjCRuntime &value)
 
OpenMPDirectiveKind getOpenMPDirectiveKind (llvm::StringRef Str)
 
const char * getOpenMPDirectiveName (OpenMPDirectiveKind Kind)
 
OpenMPClauseKind getOpenMPClauseKind (llvm::StringRef Str)
 
const char * getOpenMPClauseName (OpenMPClauseKind Kind)
 
unsigned getOpenMPSimpleClauseType (OpenMPClauseKind Kind, llvm::StringRef Str)
 
const char * getOpenMPSimpleClauseTypeName (OpenMPClauseKind Kind, unsigned Type)
 
bool isAllowedClauseForDirective (OpenMPDirectiveKind DKind, OpenMPClauseKind CKind)
 
bool isOpenMPLoopDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a directive with an associated loop construct. More...
 
bool isOpenMPWorksharingDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a worksharing directive. More...
 
bool isOpenMPTaskLoopDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a taskloop directive. More...
 
bool isOpenMPParallelDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a parallel-kind directive. More...
 
bool isOpenMPTargetExecutionDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a target code offload directive. More...
 
bool isOpenMPTargetDataManagementDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a target data offload directive. More...
 
bool isOpenMPNestingTeamsDirective (OpenMPDirectiveKind DKind)
 Checks if the specified composite/combined directive constitutes a teams directive in the outermost nest. More...
 
bool isOpenMPTeamsDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a teams-kind directive. More...
 
bool isOpenMPSimdDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a simd directive. More...
 
bool isOpenMPDistributeDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a distribute directive. More...
 
bool isOpenMPNestingDistributeDirective (OpenMPDirectiveKind DKind)
 Checks if the specified composite/combined directive constitutes a distribute directive in the outermost nest. More...
 
bool isOpenMPPrivate (OpenMPClauseKind Kind)
 Checks if the specified clause is one of private clauses like 'private', 'firstprivate', 'reduction' etc. More...
 
bool isOpenMPThreadPrivate (OpenMPClauseKind Kind)
 Checks if the specified clause is one of threadprivate clauses like 'threadprivate', 'copyin' or 'copyprivate'. More...
 
bool isOpenMPTaskingDirective (OpenMPDirectiveKind Kind)
 Checks if the specified directive kind is one of tasking directives - task, taskloop or taksloop simd. More...
 
bool isOpenMPLoopBoundSharingDirective (OpenMPDirectiveKind Kind)
 Checks if the specified directive kind is one of the composite or combined directives that need loop bound sharing across loops outlined in nested functions. More...
 
void getOpenMPCaptureRegions (llvm::SmallVectorImpl< OpenMPDirectiveKind > &CaptureRegions, OpenMPDirectiveKind DKind)
 Return the captured regions of an OpenMP directive. More...
 
const char * getOperatorSpelling (OverloadedOperatorKind Operator)
 Retrieve the spelling of the given overloaded operator, without the preceding "operator" keyword. More...
 
prec::Level getBinOpPrecedence (tok::TokenKind Kind, bool GreaterThanIsOperator, bool CPlusPlus11)
 Return the precedence of the specified binary operator token. More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const PartialDiagnostic &PD)
 
SanitizerMask parseSanitizerValue (StringRef Value, bool AllowGroups)
 Parse a single value from a -fsanitize= or -fno-sanitize= value list. More...
 
SanitizerMask expandSanitizerGroups (SanitizerMask Kinds)
 For each sanitizer group bit set in Kinds, set the bits for sanitizers this group enables. More...
 
SanitizerMask getPPTransparentSanitizers ()
 Return the sanitizers which do not affect preprocessing. More...
 
bool operator== (const SourceLocation &LHS, const SourceLocation &RHS)
 
bool operator!= (const SourceLocation &LHS, const SourceLocation &RHS)
 
bool operator< (const SourceLocation &LHS, const SourceLocation &RHS)
 
bool operator< (const LineEntry &lhs, const LineEntry &rhs)
 
bool operator< (const LineEntry &E, unsigned Offset)
 
bool operator< (unsigned Offset, const LineEntry &E)
 
bool isTemplateInstantiation (TemplateSpecializationKind Kind)
 Determine whether this template specialization kind refers to an instantiation of an entity (as opposed to a non-template or an explicit specialization). More...
 
bool isTemplateExplicitInstantiationOrSpecialization (TemplateSpecializationKind Kind)
 True if this template specialization kind is an explicit specialization, explicit instantiation declaration, or explicit instantiation definition. More...
 
bool isLegalForFunction (StorageClass SC)
 Checks whether the given storage class is legal for functions. More...
 
bool isLegalForVariable (StorageClass SC)
 Checks whether the given storage class is legal for variables. More...
 
bool supportsVariadicCall (CallingConv CC)
 Checks whether the given calling convention supports variadic calls. More...
 
bool hasWeakerNullability (NullabilityKind L, NullabilityKind R)
 Return true if L has a weaker nullability annotation than R. More...
 
llvm::StringRef getNullabilitySpelling (NullabilityKind kind, bool isContextSensitive=false)
 Retrieve the spelling of the given nullability kind. More...
 
llvm::StringRef getParameterABISpelling (ParameterABI kind)
 
llvm::StringRef getAsString (SyncScope S)
 
std::string getClangRepositoryPath ()
 Retrieves the repository path (e.g., Subversion path) that identifies the particular Clang branch, tag, or trunk from which this Clang was built. More...
 
std::string getLLVMRepositoryPath ()
 Retrieves the repository path from which LLVM was built. More...
 
std::string getClangRevision ()
 Retrieves the repository revision number (or identifier) from which this Clang was built. More...
 
std::string getLLVMRevision ()
 Retrieves the repository revision number (or identifier) from which LLVM was built. More...
 
std::string getClangFullRepositoryVersion ()
 Retrieves the full repository version that is an amalgamation of the information in getClangRepositoryPath() and getClangRevision(). More...
 
std::string getClangFullVersion ()
 Retrieves a string representing the complete clang version, which includes the clang version number, the repository version, and the vendor tag. More...
 
std::string getClangToolFullVersion (llvm::StringRef ToolName)
 Like getClangFullVersion(), but with a custom tool name. More...
 
std::string getClangFullCPPVersion ()
 Retrieves a string representing the complete clang version suitable for use in the CPP VERSION macro, which includes the clang version number, the repository version, and the vendor tag. More...
 
Visibility minVisibility (Visibility L, Visibility R)
 
XRayInstrMask parseXRayInstrValue (StringRef Value)
 
void EmitBackendOutput (DiagnosticsEngine &Diags, const HeaderSearchOptions &, const CodeGenOptions &CGOpts, const TargetOptions &TOpts, const LangOptions &LOpts, const llvm::DataLayout &TDesc, llvm::Module *M, BackendAction Action, std::unique_ptr< raw_pwrite_stream > OS)
 
void EmbedBitcode (llvm::Module *M, const CodeGenOptions &CGOpts, llvm::MemoryBufferRef Buf)
 
llvm::Expected< llvm::BitcodeModule > FindThinLTOModule (llvm::MemoryBufferRef MBRef)
 
llvm::BitcodeModule * FindThinLTOModule (llvm::MutableArrayRef< llvm::BitcodeModule > BMs)
 
CodeGeneratorCreateLLVMCodeGen (DiagnosticsEngine &Diags, llvm::StringRef ModuleName, const HeaderSearchOptions &HeaderSearchOpts, const PreprocessorOptions &PreprocessorOpts, const CodeGenOptions &CGO, llvm::LLVMContext &C, CoverageSourceInfo *CoverageInfo=nullptr)
 CreateLLVMCodeGen - Create a CodeGenerator instance. More...
 
std::unique_ptr< ASTConsumerCreateASTPrinter (std::unique_ptr< raw_ostream > OS, StringRef FilterString)
 
std::unique_ptr< ASTConsumerCreateASTDumper (std::unique_ptr< raw_ostream > OS, StringRef FilterString, bool DumpDecls, bool Deserialize, bool DumpLookups)
 
std::unique_ptr< ASTConsumerCreateASTDeclNodeLister ()
 
std::unique_ptr< ASTConsumerCreateASTViewer ()
 
bool ParseDiagnosticArgs (DiagnosticOptions &Opts, llvm::opt::ArgList &Args, DiagnosticsEngine *Diags=nullptr, bool DefaultDiagColor=true, bool DefaultShowOpt=true)
 Fill out Opts based on the options given in Args. More...
 
IntrusiveRefCntPtr< llvm::vfs::FileSystem > createVFSFromCompilerInvocation (const CompilerInvocation &CI, DiagnosticsEngine &Diags)
 
IntrusiveRefCntPtr< llvm::vfs::FileSystem > createVFSFromCompilerInvocation (const CompilerInvocation &CI, DiagnosticsEngine &Diags, IntrusiveRefCntPtr< llvm::vfs::FileSystem > BaseFS)
 
PreambleBounds ComputePreambleBounds (const LangOptions &LangOpts, llvm::MemoryBuffer *Buffer, unsigned MaxLines)
 Runs lexer to compute suggested preamble bounds. More...
 
std::error_code make_error_code (BuildPreambleError Error)
 
void ApplyHeaderSearchOptions (HeaderSearch &HS, const HeaderSearchOptions &HSOpts, const LangOptions &Lang, const llvm::Triple &triple)
 Apply the header search options to get given HeaderSearch object. More...
 
void InitializePreprocessor (Preprocessor &PP, const PreprocessorOptions &PPOpts, const PCHContainerReader &PCHContainerRdr, const FrontendOptions &FEOpts)
 InitializePreprocessor - Initialize the preprocessor getting it and the environment ready to process a single file. More...
 
void DoPrintPreprocessedInput (Preprocessor &PP, raw_ostream *OS, const PreprocessorOutputOptions &Opts)
 DoPrintPreprocessedInput - Implement -E mode. More...
 
void AttachDependencyGraphGen (Preprocessor &PP, StringRef OutputFile, StringRef SysRoot)
 AttachDependencyGraphGen - Create a dependency graph generator, and attach it to the given preprocessor. More...
 
void AttachHeaderIncludeGen (Preprocessor &PP, const DependencyOutputOptions &DepOpts, bool ShowAllHeaders=false, StringRef OutputPath={}, bool ShowDepth=true, bool MSStyle=false)
 AttachHeaderIncludeGen - Create a header include list generator, and attach it to the given preprocessor. More...
 
IntrusiveRefCntPtr< ExternalSemaSourcecreateChainedIncludesSource (CompilerInstance &CI, IntrusiveRefCntPtr< ExternalSemaSource > &Reader)
 The ChainedIncludesSource class converts headers to chained PCHs in memory, mainly for testing. More...
 
std::unique_ptr< CompilerInvocationcreateInvocationFromCommandLine (ArrayRef< const char *> Args, IntrusiveRefCntPtr< DiagnosticsEngine > Diags=IntrusiveRefCntPtr< DiagnosticsEngine >(), IntrusiveRefCntPtr< llvm::vfs::FileSystem > VFS=nullptr)
 createInvocationFromCommandLine - Construct a compiler invocation object for a command line argument vector. More...
 
int getLastArgIntValue (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, int Default, DiagnosticsEngine *Diags=nullptr)
 Return the value of the last argument as an integer, or a default. More...
 
int getLastArgIntValue (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, int Default, DiagnosticsEngine &Diags)
 
uint64_t getLastArgUInt64Value (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, uint64_t Default, DiagnosticsEngine *Diags=nullptr)
 
uint64_t getLastArgUInt64Value (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, uint64_t Default, DiagnosticsEngine &Diags)
 
std::unique_ptr< FrontendActionCreateFrontendAction (CompilerInstance &CI)
 Construct the FrontendAction of a compiler invocation based on the options specified for the compiler invocation. More...
 
bool ExecuteCompilerInvocation (CompilerInstance *Clang)
 ExecuteCompilerInvocation - Execute the given actions described by the compiler invocation object in the given compiler instance. More...
 
void expandUCNs (SmallVectorImpl< char > &Buf, StringRef Input)
 Copy characters from Input to Buf, expanding any UCNs. More...
 
void ParseAST (Preprocessor &pp, ASTConsumer *C, ASTContext &Ctx, bool PrintStats=false, TranslationUnitKind TUKind=TU_Complete, CodeCompleteConsumer *CompletionConsumer=nullptr, bool SkipFunctionBodies=false)
 Parse the entire file specified, notifying the ASTConsumer as the file is parsed. More...
 
void ParseAST (Sema &S, bool PrintStats=false, bool SkipFunctionBodies=false)
 Parse the main file known to the preprocessor, producing an abstract syntax tree. More...
 
std::unique_ptr< ASTConsumerCreateObjCRewriter (const std::string &InFile, std::unique_ptr< raw_ostream > OS, DiagnosticsEngine &Diags, const LangOptions &LOpts, bool SilenceRewriteMacroWarning)
 
std::unique_ptr< ASTConsumerCreateModernObjCRewriter (const std::string &InFile, std::unique_ptr< raw_ostream > OS, DiagnosticsEngine &Diags, const LangOptions &LOpts, bool SilenceRewriteMacroWarning, bool LineInfo)
 
std::unique_ptr< ASTConsumerCreateHTMLPrinter (std::unique_ptr< raw_ostream > OS, Preprocessor &PP, bool SyntaxHighlight=true, bool HighlightMacros=true)
 CreateHTMLPrinter - Create an AST consumer which rewrites source code to HTML with syntax highlighting suitable for viewing in a web-browser. More...
 
void RewriteMacrosInInput (Preprocessor &PP, raw_ostream *OS)
 RewriteMacrosInInput - Implement -rewrite-macros mode. More...
 
void DoRewriteTest (Preprocessor &PP, raw_ostream *OS)
 DoRewriteTest - A simple test for the TokenRewriter class. More...
 
void RewriteIncludesInInput (Preprocessor &PP, raw_ostream *OS, const PreprocessorOutputOptions &Opts)
 RewriteIncludesInInput - Implement -frewrite-includes mode. More...
 
SimplifiedTypeClass getSimplifiedTypeClass (CanQualType T)
 Determine the simplified type class of the given canonical type. More...
 
QualType getDeclUsageType (ASTContext &C, const NamedDecl *ND)
 Determine the type that this declaration will have if it is used as a type or in an expression. More...
 
unsigned getMacroUsagePriority (StringRef MacroName, const LangOptions &LangOpts, bool PreferredTypeIsPointer=false)
 Determine the priority to be given to a macro code completion result with the given name. More...
 
CXCursorKind getCursorKindForDecl (const Decl *D)
 Determine the libclang cursor kind associated with the given declaration. More...
 
llvm::StringRef getCompletionKindString (CodeCompletionContext::Kind Kind)
 Get string representation of Kind, useful for for debugging. More...
 
bool operator< (const CodeCompletionResult &X, const CodeCompletionResult &Y)
 
bool operator> (const CodeCompletionResult &X, const CodeCompletionResult &Y)
 
bool operator<= (const CodeCompletionResult &X, const CodeCompletionResult &Y)
 
bool operator>= (const CodeCompletionResult &X, const CodeCompletionResult &Y)
 
raw_ostream & operator<< (raw_ostream &OS, const CodeCompletionString &CCS)
 
const RawCommentgetCompletionComment (const ASTContext &Ctx, const NamedDecl *Decl)
 Get the documentation comment used to produce CodeCompletionString::BriefComment for RK_Declaration. More...
 
const RawCommentgetPatternCompletionComment (const ASTContext &Ctx, const NamedDecl *Decl)
 Get the documentation comment used to produce CodeCompletionString::BriefComment for RK_Pattern. More...
 
const RawCommentgetParameterComment (const ASTContext &Ctx, const CodeCompleteConsumer::OverloadCandidate &Result, unsigned ArgIndex)
 Get the documentation comment used to produce CodeCompletionString::BriefComment for OverloadCandidate. More...
 
ImplicitConversionRank GetConversionRank (ImplicitConversionKind Kind)
 GetConversionRank - Retrieve the implicit conversion rank corresponding to the given implicit conversion kind. More...
 
bool isBetterOverloadCandidate (Sema &S, const OverloadCandidate &Cand1, const OverloadCandidate &Cand2, SourceLocation Loc, OverloadCandidateSet::CandidateSetKind Kind)
 isBetterOverloadCandidate - Determines whether the first overload candidate is a better candidate than the second (C++ 13.3.3p1). More...
 
ConstructorInfo getConstructorInfo (NamedDecl *ND)
 
ExprResult ExprError ()
 
StmtResult StmtError ()
 
ExprResult ExprError (const DiagnosticBuilder &)
 
StmtResult StmtError (const DiagnosticBuilder &)
 
ExprResult ExprEmpty ()
 
StmtResult StmtEmpty ()
 
ExprAssertSuccess (ExprResult R)
 
StmtAssertSuccess (StmtResult R)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const ParsedAttr &At)
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, const ParsedAttr &At)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const ParsedAttr *At)
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, const ParsedAttr *At)
 
SourceRange getTemplateParamsRange (TemplateParameterList const *const *Params, unsigned NumParams)
 Retrieves the range of the given template parameter lists. More...
 
DeductionFailureInfo MakeDeductionFailureInfo (ASTContext &Context, Sema::TemplateDeductionResult TDK, sema::TemplateDeductionInfo &Info)
 Convert from Sema's representation of template deduction information to the form used in overload-candidate information. More...
 
bool FTIHasSingleVoidParameter (const DeclaratorChunk::FunctionTypeInfo &FTI)
 
bool FTIHasNonVoidParameters (const DeclaratorChunk::FunctionTypeInfo &FTI)
 
bool IsVariableAConstantExpression (VarDecl *Var, ASTContext &Context)
 
bool DeclAttrsMatchCUDAMode (const LangOptions &LangOpts, Decl *D)
 
void MarkVarDeclODRUsed (VarDecl *Var, SourceLocation Loc, Sema &SemaRef, const unsigned *const FunctionScopeIndexToStopAt)
 
InheritableAttrgetDLLAttr (Decl *D)
 Return a DLL attribute from the declaration. More...
 
std::pair< unsigned, unsigned > getDepthAndIndex (NamedDecl *ND)
 Retrieve the depth and index of a template parameter. More...
 
std::pair< unsigned, unsigned > getDepthAndIndex (UnexpandedParameterPack UPP)
 Retrieve the depth and index of an unexpanded parameter pack. More...
 
Optional< unsigned > getStackIndexOfNearestEnclosingCaptureCapableLambda (ArrayRef< const sema::FunctionScopeInfo *> FunctionScopes, VarDecl *VarToCapture, Sema &S)
 Examines the FunctionScopeInfo stack to determine the nearest enclosing lambda (to the current lambda) that is 'capture-capable' for the variable referenced in the current lambda (i.e. More...
 
template<class TemplateInstantiationCallbackPtrs >
void initialize (TemplateInstantiationCallbackPtrs &Callbacks, const Sema &TheSema)
 
template<class TemplateInstantiationCallbackPtrs >
void finalize (TemplateInstantiationCallbackPtrs &Callbacks, const Sema &TheSema)
 
template<class TemplateInstantiationCallbackPtrs >
void atTemplateBegin (TemplateInstantiationCallbackPtrs &Callbacks, const Sema &TheSema, const Sema::CodeSynthesisContext &Inst)
 
template<class TemplateInstantiationCallbackPtrs >
void atTemplateEnd (TemplateInstantiationCallbackPtrs &Callbacks, const Sema &TheSema, const Sema::CodeSynthesisContext &Inst)
 
llvm::SmallString< 32 > GetIssueHash (const SourceManager &SM, FullSourceLoc &IssueLoc, llvm::StringRef CheckerName, llvm::StringRef BugType, const Decl *D, const LangOptions &LangOpts)
 Get an MD5 hash to help identify bugs. More...
 
std::string GetIssueString (const SourceManager &SM, FullSourceLoc &IssueLoc, llvm::StringRef CheckerName, llvm::StringRef BugType, const Decl *D, const LangOptions &LangOpts)
 Get the string representation of issue hash. More...
 
template<class T >
SmallVector< Decl *, 2 > getCanonicalForwardRedeclChain (Redeclarable< T > *D)
 
void updateFlags (const Decl *From, Decl *To)
 
static bool isWhitespace (llvm::StringRef S)
 
CXXABICreateItaniumCXXABI (ASTContext &Ctx)
 Creates an instance of a C++ ABI class. More...
 
CXXABICreateMicrosoftCXXABI (ASTContext &Ctx)
 
std::string getClangToolFullVersion (StringRef ToolName)
 
template<class U >
cast (CodeGen::Address addr)
 
template<class U >
bool isa (CodeGen::Address addr)
 
int getLastArgIntValue (const ArgList &Args, OptSpecifier Id, int Default, DiagnosticsEngine *Diags)
 
uint64_t getLastArgUInt64Value (const ArgList &Args, OptSpecifier Id, uint64_t Default, DiagnosticsEngine *Diags)
 
static std::unique_ptr< FrontendActionCreateFrontendBaseAction (CompilerInstance &CI)
 
static const FunctionProtoTypeGetUnderlyingFunction (QualType T)
 
static bool exceptionSpecNotKnownYet (const FunctionDecl *FD)
 
static bool CheckEquivalentExceptionSpecImpl (Sema &S, const PartialDiagnostic &DiagID, const PartialDiagnostic &NoteID, const FunctionProtoType *Old, SourceLocation OldLoc, const FunctionProtoType *New, SourceLocation NewLoc, bool *MissingExceptionSpecification, bool *MissingEmptyExceptionSpecification, bool AllowNoexceptAllMatchWithNoSpec, bool IsOperatorNew)
 CheckEquivalentExceptionSpec - Check if the two types have compatible exception specifications. More...
 
static bool hasImplicitExceptionSpec (FunctionDecl *Decl)
 Determine whether a function has an implicitly-generated exception specification. More...
 
static bool CheckSpecForTypesEquivalent (Sema &S, const PartialDiagnostic &DiagID, const PartialDiagnostic &NoteID, QualType Target, SourceLocation TargetLoc, QualType Source, SourceLocation SourceLoc)
 
static CanThrowResult canSubExprsThrow (Sema &S, const Expr *E)
 
static CanThrowResult canCalleeThrow (Sema &S, const Expr *E, const Decl *D)
 
static CanThrowResult canDynamicCastThrow (const CXXDynamicCastExpr *DC)
 
static CanThrowResult canTypeidThrow (Sema &S, const CXXTypeidExpr *DC)
 
static ExprformAssociatedConstraints (TemplateParameterList *Params, FunctionDecl *FD)
 [temp.constr.decl]p2: A template's associated constraints are defined as a single constraint-expression derived from the introduced constraint-expressions [ ... More...
 
template<class TyLoc >
static QualType TransformTypeSpecType (TypeLocBuilder &TLB, TyLoc T)
 
static bool isUndeducedReturnType (QualType T)
 

Variables

static const TerminalColor DeclKindNameColor = {llvm::raw_ostream::GREEN, true}
 
static const TerminalColor AttrColor = {llvm::raw_ostream::BLUE, true}
 
static const TerminalColor StmtColor = {llvm::raw_ostream::MAGENTA, true}
 
static const TerminalColor CommentColor = {llvm::raw_ostream::BLUE, false}
 
static const TerminalColor TypeColor = {llvm::raw_ostream::GREEN, false}
 
static const TerminalColor AddressColor = {llvm::raw_ostream::YELLOW, false}
 
static const TerminalColor LocationColor = {llvm::raw_ostream::YELLOW, false}
 
static const TerminalColor ValueKindColor = {llvm::raw_ostream::CYAN, false}
 
static const TerminalColor ObjectKindColor = {llvm::raw_ostream::CYAN, false}
 
static const TerminalColor NullColor = {llvm::raw_ostream::BLUE, false}
 
static const TerminalColor UndeserializedColor
 
static const TerminalColor CastColor = {llvm::raw_ostream::RED, false}
 
static const TerminalColor ValueColor = {llvm::raw_ostream::CYAN, true}
 
static const TerminalColor DeclNameColor = {llvm::raw_ostream::CYAN, true}
 
static const TerminalColor IndentColor = {llvm::raw_ostream::BLUE, false}
 
 ShouldVisitChildren = false
 
const char ToggleHighlight = 127
 Special character that the diagnostic printer will use to toggle the bold attribute. More...
 
constexpr size_t DesiredStackSize = 8 << 20
 The amount of stack space that Clang would like to be provided with. More...
 
bool FrontendTimesIsEnabled = false
 If the user specifies the -ftime-report argument on an Clang command line then the value of this boolean will be true, otherwise false. More...
 

Detailed Description

Dataflow Directional Tag Classes.

This header contains the declarations of functions which are used to widen loops which do not otherwise exit.

This header contains the declarations of functions which are used to decide which loops should be completely unrolled and mark their corresponding CFGBlocks.

These are used for tag dispatching within the dataflow solver/transfer functions to determine what direction a dataflow analysis flows.

It is done by tracking a stack of loops in the ProgramState. This way specific loops can be marked as completely unrolled. For considering a loop to be completely unrolled it has to fulfill the following requirements:

Typedef Documentation

◆ AnalyzerOptionsRef

Definition at line 344 of file AnalyzerOptions.h.

◆ ArgsUnion

using clang::ArgsUnion = typedef llvm::PointerUnion<Expr *, IdentifierLoc *>

A union of the various pointer types that can be passed to an ParsedAttr as an argument.

Definition at line 105 of file ParsedAttr.h.

◆ ArgsVector

Definition at line 106 of file ParsedAttr.h.

◆ ASTTemplateArgsPtr

Definition at line 279 of file Ownership.h.

◆ AttrVec

using clang::AttrVec = typedef SmallVector<Attr *, 4>

AttrVec - A vector of Attr, which is how they are stored on the AST.

Definition at line 30 of file AttrIterator.h.

◆ BaseResult

Definition at line 270 of file Ownership.h.

◆ CachedTokens

A set of tokens that has been cached for later parsing.

Definition at line 1142 of file DeclSpec.h.

◆ CanQualType

Represents a canonical, potentially-qualified type.

Definition at line 213 of file CanonicalType.h.

◆ ConversionSequenceList

A list of implicit conversion sequences for the arguments of an OverloadCandidate.

Definition at line 727 of file Overload.h.

◆ CXXCastPath

A simple array of base specifiers.

Definition at line 54 of file Expr.h.

◆ DeclResult

using clang::DeclResult = typedef ActionResult<Decl *>

Definition at line 273 of file Ownership.h.

◆ DiagNullabilityKind

using clang::DiagNullabilityKind = typedef std::pair<NullabilityKind, bool>

A nullability kind paired with a bit indicating whether it used a context-sensitive keyword.

Definition at line 1290 of file Diagnostic.h.

◆ DiagOrStoredDiag

using clang::DiagOrStoredDiag = typedef llvm::PointerUnion<const Diagnostic *, const StoredDiagnostic *>

Definition at line 34 of file DiagnosticRenderer.h.

◆ DomTreeNode

using clang::DomTreeNode = typedef llvm::DomTreeNodeBase<CFGBlock>

Definition at line 38 of file Dominators.h.

◆ ExpectedDecl

Definition at line 81 of file ASTImporter.cpp.

◆ ExpectedExpr

Definition at line 80 of file ASTImporter.cpp.

◆ ExpectedSLoc

Definition at line 82 of file ASTImporter.cpp.

◆ ExpectedStmt

Definition at line 79 of file ASTImporter.cpp.

◆ ExpectedType

Definition at line 78 of file ASTImporter.cpp.

◆ ExprResult

using clang::ExprResult = typedef ActionResult<Expr *>

Definition at line 267 of file Ownership.h.

◆ finals_const_iterator

using clang::finals_const_iterator = typedef ArrayRef<const Expr *>::iterator

Definition at line 2815 of file OpenMPClause.h.

◆ finals_const_range

using clang::finals_const_range = typedef llvm::iterator_range<finals_const_iterator>

Definition at line 2817 of file OpenMPClause.h.

◆ finals_iterator

using clang::finals_iterator = typedef MutableArrayRef<Expr *>::iterator

Definition at line 2814 of file OpenMPClause.h.

◆ finals_range

using clang::finals_range = typedef llvm::iterator_range<finals_iterator>

Definition at line 2816 of file OpenMPClause.h.

◆ FrontendPluginRegistry

using clang::FrontendPluginRegistry = typedef llvm::Registry<PluginASTAction>

The frontend plugin registry.

Definition at line 23 of file FrontendPluginRegistry.h.

◆ IdentifierLocPair

A simple pair of identifier info and location.

Definition at line 45 of file IdentifierTable.h.

◆ inits_const_iterator

using clang::inits_const_iterator = typedef ArrayRef<const Expr *>::iterator

Definition at line 2789 of file OpenMPClause.h.

◆ inits_const_range

using clang::inits_const_range = typedef llvm::iterator_range<inits_const_iterator>

Definition at line 2791 of file OpenMPClause.h.

◆ inits_iterator

using clang::inits_iterator = typedef MutableArrayRef<Expr *>::iterator

Definition at line 2788 of file OpenMPClause.h.

◆ inits_range

using clang::inits_range = typedef llvm::iterator_range<inits_iterator>

Definition at line 2790 of file OpenMPClause.h.

◆ LangASMap

using clang::LangASMap = typedef unsigned[(unsigned)LangAS::FirstTargetAddressSpace]

The type of a lookup table which maps from language-specific address spaces to target-specific ones.

Definition at line 54 of file AddressSpaces.h.

◆ LazyCXXBaseSpecifiersPtr

A lazy pointer to a set of CXXBaseSpecifiers.

Definition at line 612 of file ExternalASTSource.h.

◆ LazyCXXCtorInitializersPtr

A lazy pointer to a set of CXXCtorInitializers.

Definition at line 607 of file ExternalASTSource.h.

◆ LazyDeclPtr

A lazy pointer to a declaration.

Definition at line 602 of file ExternalASTSource.h.

◆ LazyDeclStmtPtr

A lazy pointer to a statement.

Definition at line 598 of file ExternalASTSource.h.

◆ MemInitResult

Definition at line 271 of file Ownership.h.

◆ ModuleBuildStack

using clang::ModuleBuildStack = typedef 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.

Definition at line 568 of file SourceManager.h.

◆ ModuleId

using clang::ModuleId = typedef SmallVector<std::pair<std::string, SourceLocation>, 2>

Describes the name of a module.

Definition at line 52 of file Module.h.

◆ ModuleIdPath

A sequence of identifier/location pairs used to describe a particular module or submodule, e.g., std.vector.

Definition at line 33 of file ModuleLoader.h.

◆ MultiExprArg

Definition at line 277 of file Ownership.h.

◆ MultiStmtArg

Definition at line 278 of file Ownership.h.

◆ MultiTemplateParamsArg

Definition at line 281 of file Ownership.h.

◆ MultiTypeArg

Definition at line 280 of file Ownership.h.

◆ ParsedTemplateTy

Definition at line 274 of file Ownership.h.

◆ ParsedType

An opaque type for threading parsed type information through the parser.

Definition at line 248 of file Ownership.h.

◆ PartialDiagnosticAt

A partial diagnostic along with the source location where this diagnostic occurs.

Definition at line 419 of file PartialDiagnostic.h.

◆ PragmaHandlerRegistry

using clang::PragmaHandlerRegistry = typedef llvm::Registry<PragmaHandler>

Registry of pragma handlers added by plugins.

Definition at line 2219 of file Preprocessor.h.

◆ privates_const_iterator

using clang::privates_const_iterator = typedef ArrayRef<const Expr *>::iterator

Definition at line 2776 of file OpenMPClause.h.

◆ privates_const_range

using clang::privates_const_range = typedef llvm::iterator_range<privates_const_iterator>

Definition at line 2778 of file OpenMPClause.h.

◆ privates_iterator

using clang::privates_iterator = typedef MutableArrayRef<Expr *>::iterator

Definition at line 2775 of file OpenMPClause.h.

◆ privates_range

using clang::privates_range = typedef llvm::iterator_range<privates_iterator>

Definition at line 2777 of file OpenMPClause.h.

◆ SanitizerMask

using clang::SanitizerMask = typedef uint64_t

Definition at line 26 of file Sanitizers.h.

◆ StmtResult

using clang::StmtResult = typedef ActionResult<Stmt *>

Definition at line 268 of file Ownership.h.

◆ TemplateParameter

Stores a template parameter of any kind.

Definition at line 62 of file DeclTemplate.h.

◆ TextDiagnosticFormat

Definition at line 125 of file DiagnosticOptions.h.

◆ TypeIsArrayType

template<typename T >
using clang::TypeIsArrayType = typedef std::integral_constant<bool, std::is_same<T, ArrayType>::value || std::is_base_of<ArrayType, T>::value>

Definition at line 6745 of file Type.h.

◆ TypeResult

Definition at line 269 of file Ownership.h.

◆ UnexpandedParameterPack

typedef std::pair<llvm::PointerUnion<const TemplateTypeParmType*, NamedDecl*>, SourceLocation> clang::UnexpandedParameterPack

Definition at line 227 of file Sema.h.

◆ UnionParsedTemplateTy

Definition at line 275 of file Ownership.h.

◆ UnionParsedType

Definition at line 249 of file Ownership.h.

◆ updates_const_iterator

using clang::updates_const_iterator = typedef ArrayRef<const Expr *>::iterator

Definition at line 2802 of file OpenMPClause.h.

◆ updates_const_range

using clang::updates_const_range = typedef llvm::iterator_range<updates_const_iterator>

Definition at line 2804 of file OpenMPClause.h.

◆ updates_iterator

using clang::updates_iterator = typedef MutableArrayRef<Expr *>::iterator

Definition at line 2801 of file OpenMPClause.h.

◆ updates_range

using clang::updates_range = typedef llvm::iterator_range<updates_iterator>

Definition at line 2803 of file OpenMPClause.h.

◆ VPtrInfoVector

typedef SmallVector<std::unique_ptr<VPtrInfo>, 2> clang::VPtrInfoVector

Definition at line 460 of file VTableBuilder.h.

◆ XRayInstrMask

using clang::XRayInstrMask = typedef uint32_t

Definition at line 26 of file XRayInstr.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TypeAlignmentInBits 
TypeAlignment 

Definition at line 65 of file Type.h.

◆ anonymous enum

anonymous enum

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.

Enumerator
IdentifierInfoAlignment 

Definition at line 50 of file IdentifierTable.h.

◆ anonymous enum

anonymous enum

Enough bits to store any enumerator in ObjCMethodFamily or InvalidObjCMethodFamily.

Enumerator
ObjCMethodFamilyBitWidth 

Definition at line 642 of file IdentifierTable.h.

◆ anonymous enum

anonymous enum

An invalid value of ObjCMethodFamily.

Enumerator
InvalidObjCMethodFamily 

Definition at line 645 of file IdentifierTable.h.

◆ anonymous enum

anonymous enum
Enumerator
HMAP_HeaderMagicNumber 
HMAP_HeaderVersion 
HMAP_EmptyBucketKey 

Definition at line 17 of file HeaderMapTypes.h.

◆ anonymous enum

anonymous enum

Default priority values for code-completion results based on their kind.

Enumerator
CCP_NextInitializer 

Priority for the next initialization in a constructor initializer list.

CCP_EnumInCase 

Priority for an enumeration constant inside a switch whose condition is of the enumeration type.

CCP_SuperCompletion 

Priority for a send-to-super completion.

CCP_LocalDeclaration 

Priority for a declaration that is in the local scope.

CCP_MemberDeclaration 

Priority for a member declaration found from the current method or member function.

CCP_Keyword 

Priority for a language keyword (that isn't any of the other categories).

CCP_CodePattern 

Priority for a code pattern.

CCP_Declaration 

Priority for a non-type declaration.

CCP_Type 

Priority for a type.

CCP_Constant 

Priority for a constant value (e.g., enumerator).

CCP_Macro 

Priority for a preprocessor macro.

CCP_NestedNameSpecifier 

Priority for a nested-name-specifier.

CCP_Unlikely 

Priority for a result that isn't likely to be what the user wants, but is included for completeness.

CCP_ObjC_cmd 

Priority for the Objective-C "_cmd" implicit parameter.

Definition at line 55 of file CodeCompleteConsumer.h.

◆ anonymous enum

anonymous enum

Priority value deltas that are added to code-completion results based on the context of the result.

Enumerator
CCD_InBaseClass 

The result is in a base class.

CCD_ObjectQualifierMatch 

The result is a C++ non-static member function whose qualifiers exactly match the object type on which the member function can be called.

CCD_SelectorMatch 

The selector of the given message exactly matches the selector of the current method, which might imply that some kind of delegation is occurring.

CCD_bool_in_ObjC 

Adjustment to the "bool" type in Objective-C, where the typedef "BOOL" is preferred.

CCD_ProbablyNotObjCCollection 

Adjustment for KVC code pattern priorities when it doesn't look like the.

CCD_MethodAsProperty 

An Objective-C method being used as a property.

CCD_BlockPropertySetter 

An Objective-C block property completed as a setter with a block placeholder.

Definition at line 106 of file CodeCompleteConsumer.h.

◆ anonymous enum

anonymous enum

Priority value factors by which we will divide or multiply the priority of a code-completion result.

Enumerator
CCF_ExactTypeMatch 

Divide by this factor when a code-completion result's type exactly matches the type we expect.

CCF_SimilarTypeMatch 

Divide by this factor when a code-completion result's type is similar to the type we expect (e.g., both arithmetic types, both Objective-C object pointer types).

Definition at line 137 of file CodeCompleteConsumer.h.

◆ AccessSpecifier

A C++ access specifier (public, private, protected), plus the special value "none" which means different things in different contexts.

Enumerator
AS_public 
AS_protected 
AS_private 
AS_none 

Definition at line 98 of file Specifiers.h.

◆ Analyses

Analysis - Set of available source code analyses.

Enumerator
NumAnalyses 

Definition at line 37 of file AnalyzerOptions.h.

◆ AnalysisConstraints

AnalysisConstraints - Set of available constraint models.

Enumerator
NumConstraints 

Definition at line 51 of file AnalyzerOptions.h.

◆ AnalysisDiagClients

AnalysisDiagClients - Set of available diagnostic clients for rendering analysis results.

Enumerator
PD_NONE 
NUM_ANALYSIS_DIAG_CLIENTS 

Definition at line 59 of file AnalyzerOptions.h.

◆ AnalysisInliningMode

AnalysisInlineFunctionSelection - Set of inlining function selection heuristics.

Enumerator
NumInliningModes 

Definition at line 74 of file AnalyzerOptions.h.

◆ AnalysisPurgeMode

AnalysisPurgeModes - Set of available strategies for dead symbol removal.

Enumerator
NumPurgeModes 

Definition at line 67 of file AnalyzerOptions.h.

◆ AnalysisStores

AnalysisStores - Set of available analysis store models.

Enumerator
NumStores 

Definition at line 44 of file AnalyzerOptions.h.

◆ ArrayTypeTrait

Names for the array type traits.

Enumerator
ATT_ArrayRank 
ATT_ArrayExtent 

Definition at line 91 of file TypeTraits.h.

◆ AtomicScopeModelKind

Defines the kind of atomic scope models.

Enumerator
None 
OpenCL 

Definition at line 66 of file SyncScope.h.

◆ AttributeArgumentNType

These constants match the enumerated choices of err_attribute_argument_n_type and err_attribute_argument_type.

Enumerator
AANT_ArgumentIntOrBool 
AANT_ArgumentIntegerConstant 
AANT_ArgumentString 
AANT_ArgumentIdentifier 

Definition at line 956 of file ParsedAttr.h.

◆ AttributeDeclKind

These constants match the enumerated choices of warn_attribute_wrong_decl_type and err_attribute_wrong_decl_type.

Enumerator
ExpectedFunction 
ExpectedUnion 
ExpectedVariableOrFunction 
ExpectedFunctionOrMethod 
ExpectedFunctionMethodOrBlock 
ExpectedFunctionMethodOrParameter 
ExpectedVariable 
ExpectedVariableOrField 
ExpectedVariableFieldOrTag 
ExpectedTypeOrNamespace 
ExpectedFunctionVariableOrClass 
ExpectedKernelFunction 
ExpectedFunctionWithProtoType 

Definition at line 965 of file ParsedAttr.h.

◆ AttrSyntax

enum clang::AttrSyntax
strong
Enumerator
GNU 

Is the identifier known as a GNU-style attribute?

Declspec 

Is the identifier known as a __declspec-style attribute?

Microsoft 

Is the identifier known as a [] Microsoft-style attribute?

CXX 
Pragma 

Definition at line 20 of file Attributes.h.

◆ AutoTypeKeyword

Which keyword(s) were used to create an AutoType.

Enumerator
Auto 

auto

DecltypeAuto 

decltype(auto)

GNUAutoType 

__auto_type (GNU extension)

Definition at line 1370 of file Type.h.

◆ AvailabilityResult

Captures the result of checking the availability of a declaration.

Enumerator
AR_Available 
AR_NotYetIntroduced 
AR_Deprecated 
AR_Unavailable 

Definition at line 73 of file DeclBase.h.

◆ BackendAction

Enumerator
Backend_EmitAssembly 

Emit native assembly files.

Backend_EmitBC 

Emit LLVM bitcode files.

Backend_EmitLL 

Emit human-readable LLVM assembly.

Backend_EmitNothing 

Don't emit anything (benchmarking mode)

Backend_EmitMCNull 

Run CodeGen, but don't emit anything.

Backend_EmitObj 

Emit native object files.

Definition at line 31 of file BackendUtil.h.

◆ BinaryOperatorKind

Definition at line 26 of file OperationKinds.h.

◆ BuildPreambleError

Enumerator
CouldntCreateTempFile 
CouldntCreateTargetInfo 
BeginSourceFileFailed 
CouldntEmitPCH 

Definition at line 289 of file PrecompiledPreamble.h.

◆ BuiltinTemplateKind

Kinds of BuiltinTemplateDecl.

Enumerator
BTK__make_integer_seq 

This names the __make_integer_seq BuiltinTemplateDecl.

BTK__type_pack_element 

This names the __type_pack_element BuiltinTemplateDecl.

Definition at line 243 of file Builtins.h.

◆ CallingConv

CallingConv - Specifies the calling convention that a function uses.

Enumerator
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_PreserveMost 
CC_PreserveAll 
CC_AArch64VectorCall 

Definition at line 236 of file Specifiers.h.

◆ CanThrowResult

Possible results from evaluation of a noexcept expression.

Enumerator
CT_Cannot 
CT_Dependent 
CT_Can 

Definition at line 53 of file ExceptionSpecificationType.h.

◆ CapturedRegionKind

The different kinds of captured statement.

Enumerator
CR_Default 
CR_ObjCAtFinally 
CR_OpenMP 

Definition at line 17 of file CapturedStmt.h.

◆ CastKind

CastKind - The kind of operation required for a conversion.

Definition at line 21 of file OperationKinds.h.

◆ ComparisonCategoryResult

enum clang::ComparisonCategoryResult : unsigned char
strong

An enumeration representing the possible results of a three-way comparison.

These values map onto instances of comparison category types defined in the standard library. e.g. 'std::strong_ordering::less'.

Enumerator
Equal 
Equivalent 
Nonequivalent 
Nonequal 
Less 
Greater 
Unordered 
Last 

Definition at line 57 of file ComparisonCategories.h.

◆ ComparisonCategoryType

enum clang::ComparisonCategoryType : unsigned char
strong

An enumeration representing the different comparison categories types.

C++2a [cmp.categories.pre] The types weak_equality, strong_equality, partial_ordering, weak_ordering, and strong_ordering are collectively termed the comparison category types.

Enumerator
WeakEquality 
StrongEquality 
PartialOrdering 
WeakOrdering 
StrongOrdering 
First 
Last 

Definition at line 44 of file ComparisonCategories.h.

◆ ConflictMarkerKind

ConflictMarkerKind - Kinds of conflict marker which the lexer might be recovering from.

Enumerator
CMK_None 

Not within a conflict marker.

CMK_Normal 

A normal or diff3 conflict marker, initiated by at least 7 "<"s, separated by at least 7 "="s or "|"s, and terminated by at least 7 ">"s.

CMK_Perforce 

A Perforce-style conflict marker, initiated by 4 ">"s, separated by 4 "="s, and terminated by 4 "<"s.

Definition at line 43 of file Lexer.h.

◆ CudaArch

enum clang::CudaArch
strong
Enumerator
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 
GFX600 
GFX601 
GFX700 
GFX701 
GFX702 
GFX703 
GFX704 
GFX801 
GFX802 
GFX803 
GFX810 
GFX900 
GFX902 
GFX904 
GFX906 
GFX909 
LAST 

Definition at line 35 of file Cuda.h.

◆ CudaVersion

enum clang::CudaVersion
strong
Enumerator
UNKNOWN 
CUDA_70 
CUDA_75 
CUDA_80 
CUDA_90 
CUDA_91 
CUDA_92 
CUDA_100 
LATEST 

Definition at line 19 of file Cuda.h.

◆ CudaVirtualArch

Enumerator
UNKNOWN 
COMPUTE_20 
COMPUTE_30 
COMPUTE_32 
COMPUTE_35 
COMPUTE_37 
COMPUTE_50 
COMPUTE_52 
COMPUTE_53 
COMPUTE_60 
COMPUTE_61 
COMPUTE_62 
COMPUTE_70 
COMPUTE_72 
COMPUTE_75 
COMPUTE_AMDGCN 

Definition at line 75 of file Cuda.h.

◆ CXXCtorType

C++ constructor types.

Enumerator
Ctor_Complete 

Complete object ctor.

Ctor_Base 

Base object ctor.

Ctor_Comdat 

The COMDAT used for ctors.

Ctor_CopyingClosure 

Copying closure variant of a ctor.

Ctor_DefaultClosure 

Default closure variant of a ctor.

Definition at line 25 of file ABI.h.

◆ CXXDtorType

C++ destructor types.

Enumerator
Dtor_Deleting 

Deleting dtor.

Dtor_Complete 

Complete object dtor.

Dtor_Base 

Base object dtor.

Dtor_Comdat 

The COMDAT used for dtors.

Definition at line 34 of file ABI.h.

◆ CXXInlineableMemberKind

Describes the different kinds of C++ member functions which can be considered for inlining by the analyzer.

These options are cumulative; enabling one kind of member function will enable all kinds with lower enum values.

Enumerator
CIMK_None 

A dummy mode in which no C++ inlining is enabled.

CIMK_MemberFunctions 

Refers to regular member function and operator calls.

CIMK_Constructors 

Refers to constructors (implicit or explicit).

Note that a constructor will not be inlined if the corresponding destructor is non-trivial.

CIMK_Destructors 

Refers to destructors (implicit or explicit).

Definition at line 85 of file AnalyzerOptions.h.

◆ DeclaratorContext

Enumerator
FileContext 
PrototypeContext 
ObjCResultContext 
ObjCParameterContext 
KNRTypeListContext 
TypeNameContext 
FunctionalCastContext 
MemberContext 
BlockContext 
ForContext 
InitStmtContext 
ConditionContext 
TemplateParamContext 
CXXNewContext 
CXXCatchContext 
ObjCCatchContext 
BlockLiteralContext 
LambdaExprContext 
LambdaExprParameterContext 
ConversionIdContext 
TrailingReturnContext 
TrailingReturnVarContext 
TemplateArgContext 
TemplateTypeArgContext 
AliasDeclContext 
AliasTemplateContext 

Definition at line 1723 of file DeclSpec.h.

◆ DependencyOutputFormat

DependencyOutputFormat - Format for the compiler dependency file.

Enumerator
Make 
NMake 

Definition at line 22 of file DependencyOutputOptions.h.

◆ DiagnosticLevelMask

enum clang::DiagnosticLevelMask : unsigned
strong

A bitmask representing the diagnostic levels used by VerifyDiagnosticConsumer.

Enumerator
None 
Note 
Remark 
Warning 
Error 
All 

Definition at line 33 of file DiagnosticOptions.h.

◆ ElaboratedTypeKeyword

The elaboration keyword that precedes a qualified type name or introduces an elaborated-type-specifier.

Enumerator
ETK_Struct 

The "struct" keyword introduces the elaborated-type-specifier.

ETK_Interface 

The "__interface" keyword introduces the elaborated-type-specifier.

ETK_Union 

The "union" keyword introduces the elaborated-type-specifier.

ETK_Class 

The "class" keyword introduces the elaborated-type-specifier.

ETK_Enum 

The "enum" keyword introduces the elaborated-type-specifier.

ETK_Typename 

The "typename" keyword precedes the qualified type name, e.g., typename T::type.

ETK_None 

No keyword precedes the qualified type name.

Definition at line 5050 of file Type.h.

◆ ExceptionSpecificationType

The various types of exception specifications that exist in C++11.

Enumerator
EST_None 

no exception specification

EST_DynamicNone 

throw()

EST_Dynamic 

throw(T1, T2)

EST_MSAny 

Microsoft throw(...) extension.

EST_BasicNoexcept 

noexcept

EST_DependentNoexcept 

noexcept(expression), value-dependent

EST_NoexceptFalse 

noexcept(expression), evals to 'false'

EST_NoexceptTrue 

noexcept(expression), evals to 'true'

EST_Unevaluated 

not evaluated yet, for special member function

EST_Uninstantiated 

not instantiated yet

EST_Unparsed 

not parsed yet

Definition at line 21 of file ExceptionSpecificationType.h.

◆ ExplorationStrategyKind

Enumerator
DFS 
BFS 
UnexploredFirst 
UnexploredFirstQueue 
UnexploredFirstLocationQueue 
BFSBlockDFSContents 

Definition at line 123 of file AnalyzerOptions.h.

◆ ExpressionTrait

Enumerator
ET_IsLValueExpr 
ET_IsRValueExpr 

Definition at line 20 of file ExpressionTraits.h.

◆ ExprObjectKind

A further classification of the kind of object referenced by an l-value or x-value.

Enumerator
OK_Ordinary 

An ordinary object is located at an address in memory.

OK_BitField 

A bitfield object is a bitfield on a C or C++ record.

OK_VectorComponent 

A vector component is an element or range of elements on a vector.

OK_ObjCProperty 

An Objective-C property is a logical field of an Objective-C object which is read and written via Objective-C method calls.

OK_ObjCSubscript 

An Objective-C array/dictionary subscripting which reads an object or writes at the subscripted array/dictionary element via Objective-C method calls.

Definition at line 124 of file Specifiers.h.

◆ ExprValueKind

The categorization of expression values, currently following the C++11 scheme.

Enumerator
VK_RValue 

An r-value expression (a pr-value in the C++11 taxonomy) produces a temporary value.

VK_LValue 

An l-value expression is a reference to an object with independent storage.

VK_XValue 

An x-value expression is a reference to an object with independent storage but which can be "moved", i.e.

efficiently cannibalized for its resources.

Definition at line 107 of file Specifiers.h.

◆ FunctionDefinitionKind

Described the kind of function definition (if any) provided for a function.

Enumerator
FDK_Declaration 
FDK_Definition 
FDK_Defaulted 
FDK_Deleted 

Definition at line 1716 of file DeclSpec.h.

◆ GVALinkage

A more specific kind of linkage than enum Linkage.

This is relevant to CodeGen and AST file reading.

Enumerator
GVA_Internal 
GVA_AvailableExternally 
GVA_DiscardableODR 
GVA_StrongExternal 
GVA_StrongODR 

Definition at line 74 of file Linkage.h.

◆ ImplicitConversionKind

ImplicitConversionKind - The kind of implicit conversion used to convert an argument to a parameter's type.

The enumerator values match with the table titled 'Conversions' in [over.ics.scs] and are listed such that better conversion kinds have smaller values.

Enumerator
ICK_Identity 

Identity conversion (no conversion)

ICK_Lvalue_To_Rvalue 

Lvalue-to-rvalue conversion (C++ [conv.lval])

ICK_Array_To_Pointer 

Array-to-pointer conversion (C++ [conv.array])

ICK_Function_To_Pointer 

Function-to-pointer (C++ [conv.array])

ICK_Function_Conversion 

Function pointer conversion (C++17 [conv.fctptr])

ICK_Qualification 

Qualification conversions (C++ [conv.qual])

ICK_Integral_Promotion 

Integral promotions (C++ [conv.prom])

ICK_Floating_Promotion 

Floating point promotions (C++ [conv.fpprom])

ICK_Complex_Promotion 

Complex promotions (Clang extension)

ICK_Integral_Conversion 

Integral conversions (C++ [conv.integral])

ICK_Floating_Conversion 

Floating point conversions (C++ [conv.double].

ICK_Complex_Conversion 

Complex conversions (C99 6.3.1.6)

ICK_Floating_Integral 

Floating-integral conversions (C++ [conv.fpint])

ICK_Pointer_Conversion 

Pointer conversions (C++ [conv.ptr])

ICK_Pointer_Member 

Pointer-to-member conversions (C++ [conv.mem])

ICK_Boolean_Conversion 

Boolean conversions (C++ [conv.bool])

ICK_Compatible_Conversion 

Conversions between compatible types in C99.

ICK_Derived_To_Base 

Derived-to-base (C++ [over.best.ics])

ICK_Vector_Conversion 

Vector conversions.

ICK_Vector_Splat 

A vector splat from an arithmetic type.

ICK_Complex_Real 

Complex-real conversions (C99 6.3.1.7)

ICK_Block_Pointer_Conversion 

Block Pointer conversions.

ICK_TransparentUnionConversion 

Transparent Union Conversions.

ICK_Writeback_Conversion 

Objective-C ARC writeback conversion.

ICK_Zero_Event_Conversion 

Zero constant to event (OpenCL1.2 6.12.10)

ICK_Zero_Queue_Conversion 

Zero constant to queue.

ICK_C_Only_Conversion 

Conversions allowed in C, but not C++.

ICK_Incompatible_Pointer_Conversion 

C-only conversion between pointers with incompatible types.

ICK_Num_Conversion_Kinds 

The number of conversion kinds.

Definition at line 79 of file Overload.h.

◆ ImplicitConversionRank

ImplicitConversionRank - The rank of an implicit conversion kind.

The enumerator values match with Table 9 of (C++ 13.3.3.1.1) and are listed such that better conversion ranks have smaller values.

Enumerator
ICR_Exact_Match 

Exact Match.

ICR_Promotion 

Promotion.

ICR_Conversion 

Conversion.

ICR_OCL_Scalar_Widening 

OpenCL Scalar Widening.

ICR_Complex_Real_Conversion 

Complex <-> Real conversion.

ICR_Writeback_Conversion 

ObjC ARC writeback conversion.

ICR_C_Conversion 

Conversion only allowed in the C standard (e.g. void* to char*).

ICR_C_Conversion_Extension 

Conversion not allowed by the C standard, but that we accept as an extension anyway.

Definition at line 172 of file Overload.h.

◆ InClassInitStyle

In-class initialization styles for non-static data members.

Enumerator
ICIS_NoInit 

No in-class initializer.

ICIS_CopyInit 

Copy initialization.

ICIS_ListInit 

Direct list-initialization.

Definition at line 229 of file Specifiers.h.

◆ IPAKind

Describes the different modes of inter-procedural analysis.

Enumerator
IPAK_None 

Perform only intra-procedural analysis.

IPAK_BasicInlining 

Inline C functions and blocks when their definitions are available.

IPAK_Inlining 

Inline callees(C, C++, ObjC) when their definitions are available.

IPAK_DynamicDispatch 

Enable inlining of dynamically dispatched methods.

IPAK_DynamicDispatchBifurcate 

Enable inlining of dynamically dispatched methods, bifurcate paths when exact type info is unavailable.

Definition at line 105 of file AnalyzerOptions.h.

◆ LambdaCaptureDefault

The default, if any, capture method for a lambda expression.

Enumerator
LCD_None 
LCD_ByCopy 
LCD_ByRef 

Definition at line 23 of file Lambda.h.

◆ LambdaCaptureInitKind

Enumerator
NoInit 

[a]

CopyInit 

[a = b], [a = {b}]

DirectInit 

[a(b)]

ListInit 

[a{b}]

Definition at line 2541 of file DeclSpec.h.

◆ LambdaCaptureKind

The different capture forms in a lambda introducer.

C++11 allows capture of this, or of local variables by copy or by reference. C++1y also allows "init-capture", where the initializer is an expression.

Enumerator
LCK_This 

Capturing the *this object by reference.

LCK_StarThis 
LCK_ByCopy 

< Capturing the *this object by copy

Capturing by copy (a.k.a., by value)

LCK_ByRef 

Capturing by reference.

LCK_VLAType 

Capturing variable-length array type.

Definition at line 34 of file Lambda.h.

◆ LangAS

enum clang::LangAS : unsigned
strong

Defines the address space values used by the address space qualifier of QualType.

Enumerator
Default 
opencl_global 
opencl_local 
opencl_constant 
opencl_private 
opencl_generic 
cuda_device 
cuda_constant 
cuda_shared 
FirstTargetAddressSpace 

Definition at line 26 of file AddressSpaces.h.

◆ LanguageID

Enumerator
GNU_LANG 
C_LANG 
CXX_LANG 
OBJC_LANG 
MS_LANG 
OCLC20_LANG 
OCLC1X_LANG 
OMP_LANG 
ALL_LANGUAGES 
ALL_GNU_LANGUAGES 
ALL_MS_LANGUAGES 
ALL_OCLC_LANGUAGES 

Definition at line 33 of file Builtins.h.

◆ LanguageLinkage

Describes the different kinds of language linkage (C++ [dcl.link]) that an entity may have.

Enumerator
CLanguageLinkage 
CXXLanguageLinkage 
NoLanguageLinkage 

Definition at line 65 of file Linkage.h.

◆ Linkage

enum clang::Linkage : unsigned char

Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have.

Enumerator
NoLinkage 

No linkage, which means that the entity is unique and can only be referred to from within its scope.

InternalLinkage 

Internal linkage, which indicates that the entity can be referred to from within the translation unit (but not other translation units).

UniqueExternalLinkage 

External linkage within a unique namespace.

From the language perspective, these entities have external linkage. However, since they reside in an anonymous namespace, their names are unique to this translation unit, which is equivalent to having internal linkage from the code-generation point of view.

VisibleNoLinkage 

No linkage according to the standard, but is visible from other translation units because of types defined in a inline function.

ModuleInternalLinkage 

Internal linkage according to the Modules TS, but can be referred to from other translation units indirectly through inline functions and templates in the module interface.

ModuleLinkage 

Module linkage, which indicates that the entity can be referred to from other translation units within the same module, and indirectly from arbitrary other translation units through inline functions and templates in the module interface.

ExternalLinkage 

External linkage, which indicates that the entity can be referred to from other translation units.

Definition at line 24 of file Linkage.h.

◆ MacroUse

Context in which macro name is used.

Enumerator
MU_Other 
MU_Define 
MU_Undef 

Definition at line 108 of file Preprocessor.h.

◆ MultiVersionKind

Enumerator
None 
Target 
CPUSpecific 
CPUDispatch 

Definition at line 1721 of file Decl.h.

◆ NarrowingKind

NarrowingKind - The kind of narrowing conversion being performed by a standard conversion sequence according to C++11 [dcl.init.list]p7.

Enumerator
NK_Not_Narrowing 

Not a narrowing conversion.

NK_Type_Narrowing 

A narrowing conversion by virtue of the source and destination types.

NK_Constant_Narrowing 

A narrowing conversion, because a constant expression got narrowed.

NK_Variable_Narrowing 

A narrowing conversion, because a non-constant-expression variable might have got narrowed.

NK_Dependent_Narrowing 

Cannot tell whether this is a narrowing conversion because the expression is value-dependent.

Definition at line 203 of file Overload.h.

◆ NullabilityKind

enum clang::NullabilityKind : uint8_t
strong

Describes the nullability of a particular type.

Enumerator
NonNull 

Values of this type can never be null.

Nullable 

Values of this type can be null.

Unspecified 

Whether values of this type can be null is (explicitly) unspecified.

This captures a (fairly rare) case where we can't conclude anything about the nullability of the type even though it has been considered.

Definition at line 286 of file Specifiers.h.

◆ ObjCBridgeCastKind

The kind of bridging performed by the Objective-C bridge cast.

Enumerator
OBC_Bridge 

Bridging via __bridge, which does nothing but reinterpret the bits.

OBC_BridgeTransfer 

Bridging via __bridge_transfer, which transfers ownership of an Objective-C pointer into ARC.

OBC_BridgeRetained 

Bridging via __bridge_retain, which makes an ARC object available as a +1 C pointer.

Definition at line 37 of file OperationKinds.h.

◆ ObjCInstanceTypeFamily

A family of Objective-C methods.

These are family of methods whose result type is initially 'id', but but are candidate for the result type to be changed to 'instancetype'.

Enumerator
OIT_None 
OIT_Array 
OIT_Dictionary 
OIT_Singleton 
OIT_Init 
OIT_ReturnsSelf 

Definition at line 651 of file IdentifierTable.h.

◆ ObjCMessageKind

Represents the ways an Objective-C message send can occur.

Enumerator
OCM_PropertyAccess 
OCM_Subscript 
OCM_Message 

Definition at line 961 of file CallEvent.h.

◆ ObjCMethodFamily

A family of Objective-C methods.

These families have no inherent meaning in the language, but are nonetheless central enough in the existing implementations to merit direct AST support. While, in theory, arbitrary methods can be considered to form families, we focus here on the methods involving allocation and retain-count management, as these are the most "core" and the most likely to be useful to diverse clients without extra information.

Both selectors and actual method declarations may be classified into families. Method families may impose additional restrictions beyond their selector name; for example, a method called '_init' that returns void is not considered to be in the 'init' family (but would be if it returned 'id'). It is also possible to explicitly change or remove a method's family. Therefore the method's family should be considered the single source of truth.

Enumerator
OMF_None 

No particular method family.

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 

Definition at line 611 of file IdentifierTable.h.

◆ ObjCPropertyQueryKind

enum clang::ObjCPropertyQueryKind : uint8_t
strong
Enumerator
OBJC_PR_query_unknown 
OBJC_PR_query_instance 
OBJC_PR_query_class 

Definition at line 717 of file DeclObjC.h.

◆ ObjCStringFormatFamily

Enumerator
SFF_None 
SFF_NSString 
SFF_CFString 

Definition at line 660 of file IdentifierTable.h.

◆ ObjCSubstitutionContext

The kind of type we are substituting Objective-C type arguments into.

The kind of substitution affects the replacement of type parameters when no concrete type information is provided, e.g., when dealing with an unspecialized type.

Enumerator
Ordinary 

An ordinary type.

Result 

The result type of a method or function.

Parameter 

The parameter type of a method or function.

Property 

The type of a property.

Superclass 

The superclass of a type.

Definition at line 607 of file Type.h.

◆ ObjCTypeParamVariance

enum clang::ObjCTypeParamVariance : uint8_t
strong

Describes the variance of a given generic parameter.

Enumerator
Invariant 

The parameter is invariant: must match exactly.

Covariant 

The parameter is covariant, e.g., X<T> is a subtype of X<U> when the type parameter is covariant and T is a subtype of U.

Contravariant 

The parameter is contravariant, e.g., X<T> is a subtype of X<U> when the type parameter is covariant and U is a subtype of T.

Definition at line 534 of file DeclObjC.h.

◆ ObjCXXARCStandardLibraryKind

Enumerate the kinds of standard library that.

Enumerator
ARCXX_nolib 
ARCXX_libcxx 

libc++

ARCXX_libstdcxx 

libstdc++

Definition at line 31 of file PreprocessorOptions.h.

◆ OpenMPAtomicDefaultMemOrderClauseKind

OpenMP attributes for 'atomic_default_mem_order' clause.

Enumerator
OMPC_ATOMIC_DEFAULT_MEM_ORDER_unknown 

Definition at line 133 of file OpenMPKinds.h.

◆ OpenMPClauseKind

OpenMP clauses.

Enumerator
OMPC_threadprivate 
OMPC_uniform 
OMPC_unknown 

Definition at line 33 of file OpenMPKinds.h.

◆ OpenMPDefaultClauseKind

OpenMP attributes for 'default' clause.

Enumerator
OMPC_DEFAULT_unknown 

Definition at line 43 of file OpenMPKinds.h.

◆ OpenMPDefaultmapClauseKind

OpenMP attributes for 'defaultmap' clause.

Enumerator
OMPC_DEFAULTMAP_unknown 

Definition at line 116 of file OpenMPKinds.h.

◆ OpenMPDefaultmapClauseModifier

OpenMP modifiers for 'defaultmap' clause.

Enumerator
OMPC_DEFAULTMAP_MODIFIER_unknown 
OMPC_DEFAULTMAP_MODIFIER_last 

Definition at line 124 of file OpenMPKinds.h.

◆ OpenMPDependClauseKind

OpenMP attributes for 'depend' clause.

Enumerator
OMPC_DEPEND_unknown 

Definition at line 76 of file OpenMPKinds.h.

◆ OpenMPDirectiveKind

OpenMP directives.

Enumerator
OMPD_unknown 

Definition at line 23 of file OpenMPKinds.h.

◆ OpenMPDistScheduleClauseKind

OpenMP attributes for 'dist_schedule' clause.

Enumerator
OMPC_DIST_SCHEDULE_unknown 

Definition at line 109 of file OpenMPKinds.h.

◆ OpenMPLinearClauseKind

OpenMP attributes for 'linear' clause.

Enumerator
OMPC_LINEAR_unknown 

Definition at line 84 of file OpenMPKinds.h.

◆ OpenMPMapClauseKind

OpenMP mapping kind for 'map' clause.

Enumerator
OMPC_MAP_unknown 

Definition at line 92 of file OpenMPKinds.h.

◆ OpenMPMapModifierKind

OpenMP modifier kind for 'map' clause.

Enumerator
OMPC_MAP_MODIFIER_unknown 
OMPC_MAP_MODIFIER_last 

Definition at line 100 of file OpenMPKinds.h.

◆ OpenMPProcBindClauseKind

OpenMP attributes for 'proc_bind' clause.

Enumerator
OMPC_PROC_BIND_unknown 

Definition at line 51 of file OpenMPKinds.h.

◆ OpenMPScheduleClauseKind

OpenMP attributes for 'schedule' clause.

Enumerator
OMPC_SCHEDULE_unknown 

Definition at line 59 of file OpenMPKinds.h.

◆ OpenMPScheduleClauseModifier

OpenMP modifiers for 'schedule' clause.

Enumerator
OMPC_SCHEDULE_MODIFIER_unknown 
OMPC_SCHEDULE_MODIFIER_last 

Definition at line 67 of file OpenMPKinds.h.

◆ OverloadCandidateDisplayKind

Enumerator
OCD_AllCandidates 

Requests that all candidates be shown.

Viable candidates will be printed first.

OCD_ViableCandidates 

Requests that only viable candidates be shown.

Definition at line 66 of file Overload.h.

◆ OverloadedOperatorKind

Enumeration specifying the different kinds of C++ overloaded operators.

Enumerator
OO_None 

Not an overloaded operator.

NUM_OVERLOADED_OPERATORS 

Definition at line 22 of file OperatorKinds.h.

◆ OverloadFailureKind

Enumerator
ovl_fail_too_many_arguments 
ovl_fail_too_few_arguments 
ovl_fail_bad_conversion 
ovl_fail_bad_deduction 
ovl_fail_trivial_conversion 

This conversion candidate was not considered because it duplicates the work of a trivial or derived-to-base conversion.

ovl_fail_illegal_constructor 

This conversion candidate was not considered because it is an illegal instantiation of a constructor temploid: it is callable with one argument, we only have one argument, and its first parameter type is exactly the type of the class.

Defining such a constructor directly is illegal, and template-argument deduction is supposed to ignore such instantiations, but we can still get one with the right kind of implicit instantiation.

ovl_fail_bad_final_conversion 

This conversion candidate is not viable because its result type is not implicitly convertible to the desired type.

ovl_fail_final_conversion_not_exact 

This conversion function template specialization candidate is not viable because the final conversion was not an exact match.

ovl_fail_bad_target 

(CUDA) This candidate was not viable because the callee was not accessible from the caller's target (i.e.

host->device, global->host, device->host).

ovl_fail_enable_if 

This candidate function was not viable because an enable_if attribute disabled it.

ovl_fail_addr_not_available 

This candidate was not viable because its address could not be taken.

ovl_fail_ext_disabled 

This candidate was not viable because its OpenCL extension is disabled.

ovl_fail_inhctor_slice 

This inherited constructor is not viable because it would slice the argument.

ovl_non_default_multiversion_function 

This candidate was not viable because it is a non-default multiversioned function.

Definition at line 670 of file Overload.h.

◆ OverloadFixItKind

Enumerator
OFIK_Undefined 
OFIK_Dereference 
OFIK_TakeAddress 
OFIK_RemoveDereference 
OFIK_RemoveTakeAddress 

Definition at line 20 of file SemaFixItUtils.h.

◆ OverloadingResult

OverloadingResult - Capture the result of performing overload resolution.

Enumerator
OR_Success 

Overload resolution succeeded.

OR_No_Viable_Function 

No viable function found.

OR_Ambiguous 

Ambiguous candidates found.

OR_Deleted 

Succeeded, but refers to a deleted function.

Definition at line 52 of file Overload.h.

◆ OverloadsShown

enum clang::OverloadsShown : unsigned

Specifies which overload candidates to display when overload resolution fails.

Enumerator
Ovl_All 

Show all overloads.

Ovl_Best 

Show just the "best" overload candidates.

Definition at line 23 of file DiagnosticOptions.h.

◆ ParameterABI

enum clang::ParameterABI
strong

Kinds of parameter ABI.

Enumerator
Ordinary 

This parameter uses ordinary ABI rules for its type.

SwiftIndirectResult 

This parameter (which must have pointer type) is a Swift indirect result parameter.

SwiftErrorResult 

This parameter (which must have pointer-to-pointer type) uses the special Swift error-result ABI treatment.

There can be at most one parameter on a given function that uses this treatment.

SwiftContext 

This parameter (which must have pointer type) uses the special Swift context-pointer ABI treatment.

There can be at most one parameter on a given function that uses this treatment.

Definition at line 309 of file Specifiers.h.

◆ PragmaIntroducerKind

Describes how the pragma was introduced, e.g., with #pragma, _Pragma, or __pragma.

Enumerator
PIK_HashPragma 

The pragma was introduced via #pragma.

PIK__Pragma 

The pragma was introduced via the C99 _Pragma(string-literal).

PIK___pragma 

The pragma was introduced via the Microsoft __pragma(token-string).

Definition at line 32 of file Pragma.h.

◆ PragmaMSCommentKind

Enumerator
PCK_Unknown 
PCK_Linker 
PCK_Lib 
PCK_Compiler 
PCK_ExeStr 
PCK_User 

Definition at line 15 of file PragmaKinds.h.

◆ PragmaMSStructKind

Enumerator
PMSST_OFF 
PMSST_ON 

Definition at line 24 of file PragmaKinds.h.

◆ RefQualifierKind

The kind of C++11 ref-qualifier associated with a function type.

This determines whether a member function's "this" object can be an lvalue, rvalue, or neither.

Enumerator
RQ_None 

No ref-qualifier was provided.

RQ_LValue 

An lvalue ref-qualifier was provided (&).

RQ_RValue 

An rvalue ref-qualifier was provided (&&).

Definition at line 1358 of file Type.h.

◆ SelectorLocationsKind

Whether all locations of the selector identifiers are in a "standard" position.

Enumerator
SelLoc_NonStandard 

Non-standard.

SelLoc_StandardNoSpace 

For nullary selectors, immediately before the end: "[foo release]" / "-(void)release;" Or immediately before the arguments: "[foo first:1 second:2]" / "-(id)first:(int)x second:(int)y;.

SelLoc_StandardWithSpace 

For nullary selectors, immediately before the end: "[foo release]" / "-(void)release;" Or with a space between the arguments: "[foo first: 1 second: 2]" / "-(id)first: (int)x second: (int)y;.

Definition at line 28 of file SelectorLocationsKind.h.

◆ ShowIncludesDestination

ShowIncludesDestination - Destination for /showIncludes output.

Enumerator
None 
Stdout 
Stderr 

Definition at line 19 of file DependencyOutputOptions.h.

◆ SimplifiedTypeClass

A simplified classification of types used when determining "similar" types for code completion.

Enumerator
STC_Arithmetic 
STC_Array 
STC_Block 
STC_Function 
STC_ObjectiveC 
STC_Other 
STC_Pointer 
STC_Record 
STC_Void 

Definition at line 150 of file CodeCompleteConsumer.h.

◆ SkipFunctionBodiesScope

Enumerates the available scopes for skipping function bodies.

Enumerator
None 
Preamble 
PreambleAndMainFile 

Definition at line 84 of file ASTUnit.h.

◆ StorageClass

Storage classes.

Enumerator
SC_None 
SC_Extern 
SC_Static 
SC_PrivateExtern 
SC_Auto 
SC_Register 

Definition at line 206 of file Specifiers.h.

◆ StorageDuration

The storage duration for an object (per C++ [basic.stc]).

Enumerator
SD_FullExpression 

Full-expression storage duration (for temporaries).

SD_Automatic 

Automatic storage duration (most local variables).

SD_Thread 

Thread storage duration.

SD_Static 

Static storage duration.

SD_Dynamic 

Dynamic storage duration.

Definition at line 277 of file Specifiers.h.

◆ StructuralEquivalenceKind

Whether to perform a normal or minimal equivalence check.

In case of Minimal, we do not perform a recursive check of decls with external storage.

Enumerator
Default 
Minimal 

Definition at line 37 of file ASTStructuralEquivalence.h.

◆ SyncScope

enum clang::SyncScope
strong

Defines synch scope values used internally by clang.

The enum values start from 0 and are contiguous. They are mainly used for enumerating all supported synch scope values and mapping them to LLVM synch scopes. Their numerical values may be different from the corresponding synch scope enums used in source languages.

In atomic builtin and expressions, language-specific synch scope enums are used. Currently only OpenCL memory scope enums are supported and assumed to be used by all languages. However, in the future, other languages may define their own set of synch scope enums. The language-specific synch scope values are represented by class AtomicScopeModel and its derived classes.

To add a new enum value: Add the enum value to enum class SyncScope. Update enum value Last if necessary. Update getAsString.

Enumerator
OpenCLWorkGroup 
OpenCLDevice 
OpenCLAllSVMDevices 
OpenCLSubGroup 
Last 

Definition at line 43 of file SyncScope.h.

◆ TagTypeKind

The kind of a tag type.

Enumerator
TTK_Struct 

The "struct" keyword.

TTK_Interface 

The "__interface" keyword.

TTK_Union 

The "union" keyword.

TTK_Class 

The "class" keyword.

TTK_Enum 

The "enum" keyword.

Definition at line 5031 of file Type.h.

◆ TemplateDeductionFlags

Various flags that control template argument deduction.

These flags can be bitwise-OR'd together.

Enumerator
TDF_None 

No template argument deduction flags, which indicates the strictest results for template argument deduction (as used for, e.g., matching class template partial specializations).

TDF_ParamWithReferenceType 

Within template argument deduction from a function call, we are matching with a parameter type for which the original parameter was a reference.

TDF_IgnoreQualifiers 

Within template argument deduction from a function call, we are matching in a case where we ignore cv-qualifiers.

TDF_DerivedClass 

Within template argument deduction from a function call, we are matching in a case where we can perform template argument deduction from a template-id of a derived class of the argument type.

TDF_SkipNonDependent 

Allow non-dependent types to differ, e.g., when performing template argument deduction from a function call where conversions may apply.

TDF_TopLevelParameterTypeList 

Whether we are performing template argument deduction for parameters and arguments in a top-level template argument.

TDF_AllowCompatibleFunctionType 

Within template argument deduction from overload resolution per C++ [over.over] allow matching function types that are compatible in terms of noreturn and default calling convention adjustments, or similarly matching a declared template specialization against a possible template, per C++ [temp.deduct.decl].

In either case, permit deduction where the parameter is a function type that can be converted to the argument type.

TDF_ArgWithReferenceType 

Within template argument deduction for a conversion function, we are matching with an argument type for which the original argument was a reference.

Definition at line 65 of file SemaTemplateDeduction.cpp.

◆ TemplateNameKind

Specifies the kind of template name that an identifier refers to.

Be careful when changing this: this enumeration is used in diagnostics.

Enumerator
TNK_Non_template 

The name does not refer to a template.

TNK_Function_template 

The name refers to a function template or a set of overloaded functions that includes at least one function template.

TNK_Type_template 

The name refers to a template whose specialization produces a type.

The template itself could be a class template, template template parameter, or template alias.

TNK_Var_template 

The name refers to a variable template whose specialization produces a variable.

TNK_Dependent_template_name 

The name refers to a dependent template name:

template<typename MetaFun, typename T1, typename T2> struct apply2 {
typedef typename MetaFun::template apply<T1, T2>::type type;
};

Here, "apply" is a dependent template name within the typename specifier in the typedef. "apply" is a nested template, and whether the template name is assumed to refer to a type template or a function template depends on the context in which the template name occurs.

Definition at line 21 of file TemplateKinds.h.

◆ TemplateSpecializationKind

Describes the kind of template specialization that a particular template specialization declaration represents.

Enumerator
TSK_Undeclared 

This template specialization was formed from a template-id but has not yet been declared, defined, or instantiated.

TSK_ImplicitInstantiation 

This template specialization was implicitly instantiated from a template.

(C++ [temp.inst]).

TSK_ExplicitSpecialization 

This template specialization was declared or defined by an explicit specialization (C++ [temp.expl.spec]) or partial specialization (C++ [temp.class.spec]).

TSK_ExplicitInstantiationDeclaration 

This template specialization was instantiated from a template due to an explicit instantiation declaration request (C++11 [temp.explicit]).

TSK_ExplicitInstantiationDefinition 

This template specialization was instantiated from a template due to an explicit instantiation definition request (C++ [temp.explicit]).

Definition at line 146 of file Specifiers.h.

◆ ThreadStorageClassSpecifier

Thread storage-class-specifier.

Enumerator
TSCS_unspecified 
TSCS___thread 

GNU __thread.

TSCS_thread_local 

C++11 thread_local.

Implies 'static' at block scope, but not at class scope.

TSCS__Thread_local 

C11 _Thread_local.

Must be combined with either 'static' or 'extern' if used at block scope.

Definition at line 193 of file Specifiers.h.

◆ TPOC

The context in which partial ordering of function templates occurs.

Enumerator
TPOC_Call 

Partial ordering of function templates for a function call.

TPOC_Conversion 

Partial ordering of function templates for a call to a conversion function.

TPOC_Other 

Partial ordering of function templates in other contexts, e.g., taking the address of a function template or matching a function template specialization to a function template.

Definition at line 161 of file Template.h.

◆ TranslationUnitKind

Describes the kind of translation unit being processed.

Enumerator
TU_Complete 

The translation unit is a complete translation unit.

TU_Prefix 

The translation unit is a prefix to a translation unit, and is not complete.

TU_Module 

The translation unit is a module.

Definition at line 362 of file LangOptions.h.

◆ TypeSpecifierSign

Specifies the signedness of a type, e.g., signed or unsigned.

Enumerator
TSS_unspecified 
TSS_signed 
TSS_unsigned 

Definition at line 33 of file Specifiers.h.

◆ TypeSpecifiersPipe

Enumerator
TSP_unspecified 
TSP_pipe 

Definition at line 39 of file Specifiers.h.

◆ TypeSpecifierType

Specifies the kind of type.

Enumerator
TST_unspecified 
TST_void 
TST_char 
TST_wchar 
TST_char8 
TST_char16 
TST_char32 
TST_int 
TST_int128 
TST_half 
TST_Float16 
TST_Accum 
TST_Fract 
TST_float 
TST_double 
TST_float128 
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_decltype 
TST_underlyingType 
TST_auto 
TST_decltype_auto 
TST_auto_type 
TST_unknown_anytype 
TST_atomic 
TST_error 

Definition at line 45 of file Specifiers.h.

◆ TypeSpecifierWidth

Specifies the width of a type, e.g., short, long, or long long.

Enumerator
TSW_unspecified 
TSW_short 
TSW_long 
TSW_longlong 

Definition at line 25 of file Specifiers.h.

◆ TypeTrait

Names for traits that operate specifically on types.

Enumerator
UTT_HasNothrowAssign 
UTT_HasNothrowMoveAssign 
UTT_HasNothrowCopy 
UTT_HasNothrowConstructor 
UTT_HasTrivialAssign 
UTT_HasTrivialMoveAssign 
UTT_HasTrivialCopy 
UTT_HasTrivialDefaultConstructor 
UTT_HasTrivialMoveConstructor 
UTT_HasTrivialDestructor 
UTT_HasVirtualDestructor 
UTT_IsAbstract 
UTT_IsAggregate 
UTT_IsArithmetic 
UTT_IsArray 
UTT_IsClass 
UTT_IsCompleteType 
UTT_IsCompound 
UTT_IsConst 
UTT_IsDestructible 
UTT_IsEmpty 
UTT_IsEnum 
UTT_IsFinal 
UTT_IsFloatingPoint 
UTT_IsFunction 
UTT_IsFundamental 
UTT_IsIntegral 
UTT_IsInterfaceClass 
UTT_IsLiteral 
UTT_IsLvalueReference 
UTT_IsMemberFunctionPointer 
UTT_IsMemberObjectPointer 
UTT_IsMemberPointer 
UTT_IsNothrowDestructible 
UTT_IsObject 
UTT_IsPOD 
UTT_IsPointer 
UTT_IsPolymorphic 
UTT_IsReference 
UTT_IsRvalueReference 
UTT_IsScalar 
UTT_IsSealed 
UTT_IsSigned 
UTT_IsStandardLayout 
UTT_IsTrivial 
UTT_IsTriviallyCopyable 
UTT_IsTriviallyDestructible 
UTT_IsUnion 
UTT_IsUnsigned 
UTT_IsVoid 
UTT_IsVolatile 
UTT_HasUniqueObjectRepresentations 
UTT_Last 
BTT_IsBaseOf 
BTT_IsConvertible 
BTT_IsConvertibleTo 
BTT_IsSame 
BTT_TypeCompatible 
BTT_IsAssignable 
BTT_IsNothrowAssignable 
BTT_IsTriviallyAssignable 
BTT_ReferenceBindsToTemporary 
BTT_Last 
TT_IsConstructible 
TT_IsNothrowConstructible 
TT_IsTriviallyConstructible 

Definition at line 21 of file TypeTraits.h.

◆ UnaryExprOrTypeTrait

Names for the "expression or type" traits.

Enumerator
UETT_SizeOf 
UETT_AlignOf 

Used for C's _Alignof and C++'s alignof.

_Alignof and alignof return the required ABI alignment.

UETT_VecStep 
UETT_OpenMPRequiredSimdAlign 
UETT_PreferredAlignOf 

Used for GCC's __alignof.

__alignof returns the preferred alignment of a type, the alignment clang will attempt to give an object of the type if allowed by ABI.

Definition at line 97 of file TypeTraits.h.

◆ UnaryOperatorKind

Definition at line 31 of file OperationKinds.h.

◆ UnqualifiedIdKind

Describes the kind of unqualified-id parsed.

Enumerator
IK_Identifier 

An identifier.

IK_OperatorFunctionId 

An overloaded operator name, e.g., operator+.

IK_ConversionFunctionId 

A conversion function name, e.g., operator int.

IK_LiteralOperatorId 

A user-defined literal name, e.g., operator "" _i.

IK_ConstructorName 

A constructor name.

IK_ConstructorTemplateId 

A constructor named via a template-id.

IK_DestructorName 

A destructor name.

IK_TemplateId 

A template-id, e.g., f<int>.

IK_ImplicitSelfParam 

An implicit 'self' parameter.

IK_DeductionGuideName 

A deduction-guide name (a template-name)

Definition at line 910 of file DeclSpec.h.

◆ UserModeKind

Describes the kinds for high-level analyzer mode.

Enumerator
UMK_Shallow 

Perform shallow but fast analyzes.

UMK_Deep 

Perform deep analyzes.

Definition at line 133 of file AnalyzerOptions.h.

◆ Visibility

Describes the different kinds of visibility that a declaration may have.

Visibility determines how a declaration interacts with the dynamic linker. It may also affect whether the symbol can be found by runtime symbol lookup APIs.

Visibility is not described in any language standard and (nonetheless) sometimes has odd behavior. Not all platforms support all visibility kinds.

Enumerator
HiddenVisibility 

Objects with "hidden" visibility are not seen by the dynamic linker.

ProtectedVisibility 

Objects with "protected" visibility are seen by the dynamic linker but always dynamically resolve to an object within this shared object.

DefaultVisibility 

Objects with "default" visibility are seen by the dynamic linker and act like normal objects.

Definition at line 34 of file Visibility.h.

Function Documentation

◆ alignedAllocMinVersion()

llvm::VersionTuple clang::alignedAllocMinVersion ( llvm::Triple::OSType  OS)
inline

◆ allocateDefaultArgStorageChain()

void * clang::allocateDefaultArgStorageChain ( const ASTContext C)

◆ ApplyHeaderSearchOptions()

void clang::ApplyHeaderSearchOptions ( HeaderSearch HS,
const HeaderSearchOptions HSOpts,
const LangOptions Lang,
const llvm::Triple &  triple 
)

◆ AssertSuccess() [1/2]

Expr* clang::AssertSuccess ( ExprResult  R)
inline

◆ AssertSuccess() [2/2]

Stmt* clang::AssertSuccess ( StmtResult  R)
inline

◆ AttachDependencyGraphGen()

void clang::AttachDependencyGraphGen ( Preprocessor PP,
StringRef  OutputFile,
StringRef  SysRoot 
)

◆ AttachHeaderIncludeGen()

void clang::AttachHeaderIncludeGen ( Preprocessor PP,
const DependencyOutputOptions DepOpts,
bool  ShowAllHeaders = false,
StringRef  OutputPath = {},
bool  ShowDepth = true,
bool  MSStyle = false 
)

AttachHeaderIncludeGen - Create a header include list generator, and attach it to the given preprocessor.

Parameters
DepOpts- Options controlling the output.
ShowAllHeaders- If true, show all header information instead of just headers following the predefines buffer. This is useful for making sure includes mentioned on the command line are also reported, but differs from the default behavior used by -H.
OutputPath- If non-empty, a path to write the header include information to, instead of writing to stderr.
ShowDepth- Whether to indent to show the nesting of the includes.
MSStyle- Whether to print in cl.exe /showIncludes style.

Definition at line 79 of file HeaderIncludeGen.cpp.

References clang::Preprocessor::addPPCallbacks(), clang::PPCallbacks::EnterFile, clang::PPCallbacks::ExitFile, clang::DependencyOutputOptions::ExtraDeps, clang::Preprocessor::getDiagnostics(), clang::PresumedLoc::getFilename(), clang::SourceManager::getPresumedLoc(), clang::PresumedLoc::isInvalid(), PrintHeaderInfo(), clang::DiagnosticsEngine::Report(), clang::DependencyOutputOptions::ShowIncludesDest, SM, Stderr, and Stdout.

Referenced by clang::CompilerInstance::createPreprocessor(), and clang::ModuleDependencyCollector::hasErrors().

◆ atTemplateBegin()

template<class TemplateInstantiationCallbackPtrs >
void clang::atTemplateBegin ( TemplateInstantiationCallbackPtrs &  Callbacks,
const Sema TheSema,
const Sema::CodeSynthesisContext Inst 
)

◆ atTemplateEnd()

template<class TemplateInstantiationCallbackPtrs >
void clang::atTemplateEnd ( TemplateInstantiationCallbackPtrs &  Callbacks,
const Sema TheSema,
const Sema::CodeSynthesisContext Inst 
)

◆ canCalleeThrow()

static CanThrowResult clang::canCalleeThrow ( Sema S,
const Expr E,
const Decl D 
)
static

◆ canDynamicCastThrow()

static CanThrowResult clang::canDynamicCastThrow ( const CXXDynamicCastExpr DC)
static

◆ canSubExprsThrow()

static CanThrowResult clang::canSubExprsThrow ( Sema S,
const Expr E 
)
static

◆ canTypeidThrow()

static CanThrowResult clang::canTypeidThrow ( Sema S,
const CXXTypeidExpr DC 
)
static

◆ cast()

template<class U >
U clang::cast ( CodeGen::Address  addr)
inline

◆ cast_away_const()

StmtIterator clang::cast_away_const ( const ConstStmtIterator RHS)
inline

◆ CheckEquivalentExceptionSpecImpl()

static bool clang::CheckEquivalentExceptionSpecImpl ( Sema S,
const PartialDiagnostic DiagID,
const PartialDiagnostic NoteID,
const FunctionProtoType Old,
SourceLocation  OldLoc,
const FunctionProtoType New,
SourceLocation  NewLoc,
bool MissingExceptionSpecification,
bool MissingEmptyExceptionSpecification,
bool  AllowNoexceptAllMatchWithNoSpec,
bool  IsOperatorNew 
)
static

◆ CheckSpecForTypesEquivalent()

static bool clang::CheckSpecForTypesEquivalent ( Sema S,
const PartialDiagnostic DiagID,
const PartialDiagnostic NoteID,
QualType  Target,
SourceLocation  TargetLoc,
QualType  Source,
SourceLocation  SourceLoc 
)
static

◆ children()

child_range clang::children ( )

◆ classof()

static bool clang::classof ( const OMPClause T)
static

◆ ComputePreambleBounds()

PreambleBounds clang::ComputePreambleBounds ( const LangOptions LangOpts,
llvm::MemoryBuffer *  Buffer,
unsigned  MaxLines 
)

Runs lexer to compute suggested preamble bounds.

Definition at line 226 of file PrecompiledPreamble.cpp.

References clang::Lexer::ComputePreamble().

Referenced by makeStandaloneDiagnostic(), and clang::PrecompiledPreamble::OverridePreamble().

◆ Create()

static OMPLinearClause* clang::Create ( const ASTContext C,
SourceLocation  StartLoc,
SourceLocation  LParenLoc,
OpenMPLinearClauseKind  Modifier,
SourceLocation  ModifierLoc,
SourceLocation  ColonLoc,
SourceLocation  EndLoc,
ArrayRef< Expr *>  VL,
ArrayRef< Expr *>  PL,
ArrayRef< Expr *>  IL,
Expr Step,
Expr CalcStep,
Stmt PreInit,
Expr PostUpdate 
)
static

Creates clause with a list of variables VL and a linear step Step.

Parameters
CAST Context.
StartLocStarting location of the clause.
LParenLocLocation of '('.
ModifierModifier of 'linear' clause.
ModifierLocModifier location.
ColonLocLocation of ':'.
EndLocEnding location of the clause.
VLList of references to the variables.
PLList of private copies of original variables.
ILList of initial values for the variables.
StepLinear step.
CalcStepCalculation of the linear step.
PreInitStatement that must be executed before entering the OpenMP region with this clause.
PostUpdateExpression that must be executed after exit from the OpenMP region with this clause.

Referenced by buildGlobalBlock(), clang::StringLiteral::Create(), clang::FunctionDecl::Create(), clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::OMPSharedClause::CreateEmpty(), clang::CXXMethodDecl::CXXMethodDecl(), destroyOptimisticNormalEntry(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CodeGenFunction::EmitCfiCheckStub(), emitCopyprivateCopyFunction(), emitCXXDestructor(), emitDestructorsFunction(), emitInterWarpCopyFunction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitOutlinedFunctionCall(), emitOutlinedFunctionPrologue(), emitProxyTaskFunction(), emitReduceCombFunction(), emitReduceFiniFunction(), emitReduceInitFunction(), emitReductionCombiner(), emitShuffleAndReduceFunction(), emitTaskDupFunction(), emitTaskPrivateMappingFunction(), clang::UsingPackDecl::expansions(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateDestroyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicGetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicSetterCopyHelperFunction(), getClangCallTerminateFn(), clang::EnumDecl::getDefinition(), clang::UnresolvedUsingValueDecl::getEllipsisLoc(), clang::UnresolvedUsingTypenameDecl::getEllipsisLoc(), getFinals(), clang::UsingDirectiveDecl::getIdentLocation(), GetIntrinsic(), getMasterThreadID(), clang::CallExpr::getNumPreArgs(), clang::DesignatedInitExpr::Designator::getSourceRange(), getThreadLocalWrapperLinkage(), GetVprintfDeclaration(), clang::CXXRecordDecl::hasDefinition(), isDiagnosedResult(), clang::VarTemplateDecl::isThisDeclarationADefinition(), clang::MemberExpr::MemberExpr(), clang::ASTTemplateArgumentListInfo::operator[](), replaceUsesOfNonProtoConstant(), clang::TranslationUnitDecl::setAnonymousNamespace(), clang::BlockDecl::Capture::setCopyExpr(), clang::ImplicitCastExpr::setIsPartOfExplicitCast(), and TransitionToCleanupSwitch().

◆ CreateASTDeclNodeLister()

std::unique_ptr< ASTConsumer > clang::CreateASTDeclNodeLister ( )

Definition at line 156 of file ASTConsumers.cpp.

Referenced by clang::ASTDeclListAction::CreateASTConsumer().

◆ CreateASTDumper()

std::unique_ptr< ASTConsumer > clang::CreateASTDumper ( std::unique_ptr< raw_ostream >  OS,
StringRef  FilterString,
bool  DumpDecls,
bool  Deserialize,
bool  DumpLookups 
)

Definition at line 143 of file ASTConsumers.cpp.

References None.

Referenced by clang::ASTDumpAction::CreateASTConsumer().

◆ CreateASTPrinter()

std::unique_ptr< ASTConsumer > clang::CreateASTPrinter ( std::unique_ptr< raw_ostream >  OS,
StringRef  FilterString 
)

Definition at line 136 of file ASTConsumers.cpp.

Referenced by clang::ASTPrintAction::CreateASTConsumer().

◆ CreateASTViewer()

std::unique_ptr< ASTConsumer > clang::CreateASTViewer ( )

Definition at line 193 of file ASTConsumers.cpp.

Referenced by clang::ASTViewAction::CreateASTConsumer().

◆ createChainedIncludesSource()

IntrusiveRefCntPtr< ExternalSemaSource > clang::createChainedIncludesSource ( CompilerInstance CI,
IntrusiveRefCntPtr< ExternalSemaSource > &  Reader 
)

◆ CreateEmpty()

static OMPLinearClause* clang::CreateEmpty ( const ASTContext C,
unsigned  NumVars 
)
static

Creates an empty clause with the place for NumVars variables.

Parameters
CAST context.
NumVarsNumber of variables.

Referenced by clang::CompoundStmt::CompoundStmt(), clang::StringLiteral::Create(), clang::OMPSharedClause::CreateEmpty(), getFinals(), clang::CallExpr::getNumPreArgs(), and clang::DesignatedInitExpr::Designator::getSourceRange().

◆ CreateFrontendAction()

std::unique_ptr< FrontendAction > clang::CreateFrontendAction ( CompilerInstance CI)

◆ CreateFrontendBaseAction()

static std::unique_ptr<FrontendAction> clang::CreateFrontendBaseAction ( CompilerInstance CI)
static

Definition at line 39 of file ExecuteCompilerInvocation.cpp.

References clang::FrontendOptions::ActionName, clang::frontend::ASTDeclList, clang::frontend::ASTDump, clang::frontend::ASTPrint, clang::frontend::ASTView, clang::PluginASTAction::Cmdline, clang::frontend::DumpCompilerOptions, clang::frontend::DumpRawTokens, clang::frontend::DumpTokens, clang::frontend::EmitAssembly, clang::frontend::EmitBC, clang::frontend::EmitCodeGenOnly, clang::frontend::EmitHTML, clang::frontend::EmitLLVM, clang::frontend::EmitLLVMOnly, clang::frontend::EmitObj, clang::frontend::FixIt, clang::frontend::GenerateHeaderModule, clang::frontend::GenerateModule, clang::frontend::GenerateModuleInterface, clang::frontend::GeneratePCH, clang::CompilerInstance::getDiagnostics(), clang::CompilerInstance::getFrontendOpts(), clang::CompilerInstance::getPreprocessorOutputOpts(), clang::frontend::InitOnly, clang::frontend::MigrateSource, clang::frontend::ModuleFileInfo, P, clang::frontend::ParseSyntaxOnly, clang::frontend::PluginAction, clang::FrontendOptions::PluginArgs, clang::frontend::PrintPreamble, clang::frontend::PrintPreprocessedInput, clang::FrontendOptions::ProgramAction, clang::PluginASTAction::ReplaceAction, clang::DiagnosticsEngine::Report(), clang::PreprocessorOutputOptions::RewriteImports, clang::PreprocessorOutputOptions::RewriteIncludes, clang::frontend::RewriteMacros, clang::frontend::RewriteObjC, clang::frontend::RewriteTest, clang::frontend::RunAnalysis, clang::frontend::RunPreprocessorOnly, clang::frontend::TemplightDump, and clang::frontend::VerifyPCH.

Referenced by CreateFrontendAction().

◆ CreateHTMLPrinter()

std::unique_ptr< ASTConsumer > clang::CreateHTMLPrinter ( std::unique_ptr< raw_ostream >  OS,
Preprocessor PP,
bool  SyntaxHighlight = true,
bool  HighlightMacros = true 
)

CreateHTMLPrinter - Create an AST consumer which rewrites source code to HTML with syntax highlighting suitable for viewing in a web-browser.

Definition at line 50 of file HTMLPrint.cpp.

References clang::ASTContext::getLangOpts(), clang::ASTContext::getSourceManager(), clang::html::HighlightMacros(), and clang::html::SyntaxHighlight().

Referenced by clang::HTMLPrintAction::CreateASTConsumer().

◆ createInvocationFromCommandLine()

std::unique_ptr< CompilerInvocation > clang::createInvocationFromCommandLine ( ArrayRef< const char *>  ArgList,
IntrusiveRefCntPtr< DiagnosticsEngine Diags = IntrusiveRefCntPtr<DiagnosticsEngine>(),
IntrusiveRefCntPtr< llvm::vfs::FileSystem >  VFS = nullptr 
)

◆ CreateItaniumCXXABI()

CXXABI * clang::CreateItaniumCXXABI ( ASTContext Ctx)

Creates an instance of a C++ ABI class.

Definition at line 227 of file ItaniumCXXABI.cpp.

Referenced by clang::ASTContext::getCommentForDecl().

◆ CreateLLVMCodeGen()

CodeGenerator * clang::CreateLLVMCodeGen ( DiagnosticsEngine Diags,
llvm::StringRef  ModuleName,
const HeaderSearchOptions HeaderSearchOpts,
const PreprocessorOptions PreprocessorOpts,
const CodeGenOptions CGO,
llvm::LLVMContext &  C,
CoverageSourceInfo CoverageInfo = nullptr 
)

CreateLLVMCodeGen - Create a CodeGenerator instance.

It is the responsibility of the caller to call delete on the allocated CodeGenerator instance.

Definition at line 325 of file ModuleBuilder.cpp.

◆ CreateMicrosoftCXXABI()

CXXABI * clang::CreateMicrosoftCXXABI ( ASTContext Ctx)

Definition at line 261 of file MicrosoftCXXABI.cpp.

Referenced by clang::ASTContext::getCommentForDecl().

◆ CreateModernObjCRewriter()

std::unique_ptr< ASTConsumer > clang::CreateModernObjCRewriter ( const std::string &  InFile,
std::unique_ptr< raw_ostream >  OS,
DiagnosticsEngine Diags,
const LangOptions LOpts,
bool  SilenceRewriteMacroWarning,
bool  LineInfo 
)

◆ CreateObjCRewriter()

std::unique_ptr< ASTConsumer > clang::CreateObjCRewriter ( const std::string &  InFile,
std::unique_ptr< raw_ostream >  OS,
DiagnosticsEngine Diags,
const LangOptions LOpts,
bool  SilenceRewriteMacroWarning 
)

◆ createVFSFromCompilerInvocation() [1/2]

IntrusiveRefCntPtr< llvm::vfs::FileSystem > clang::createVFSFromCompilerInvocation ( const CompilerInvocation CI,
DiagnosticsEngine Diags 
)

◆ createVFSFromCompilerInvocation() [2/2]

IntrusiveRefCntPtr< llvm::vfs::FileSystem > clang::createVFSFromCompilerInvocation ( const CompilerInvocation CI,
DiagnosticsEngine Diags,
IntrusiveRefCntPtr< llvm::vfs::FileSystem >  BaseFS 
)

◆ CudaArchToString()

const char * clang::CudaArchToString ( CudaArch  A)

◆ CudaVersionToString()

const char * clang::CudaVersionToString ( CudaVersion  V)

◆ CudaVirtualArchToString()

const char * clang::CudaVirtualArchToString ( CudaVirtualArch  A)

◆ declaresSameEntity()

bool clang::declaresSameEntity ( const Decl D1,
const Decl D2 
)
inline

◆ DeclAttrsMatchCUDAMode()

bool clang::DeclAttrsMatchCUDAMode ( const LangOptions LangOpts,
Decl D 
)
inline

Definition at line 54 of file SemaInternal.h.

References clang::Decl::hasAttr().

Referenced by clang::Sema::ActOnGCCAsmStmt().

◆ DEF_TRAVERSE_DECL() [1/6]

clang::DEF_TRAVERSE_DECL ( BlockDecl  ,
{ if(TypeSourceInfo *TInfo=D->getSignatureAsWritten()) TRY_TO(TraverseTypeLoc(TInfo->getTypeLoc()));TRY_TO(TraverseStmt(D->getBody()));for(const auto &I :D->captures()) { if(I.hasCopyExpr()) { TRY_TO(TraverseStmt(I.getCopyExpr()));} } ShouldVisitChildren=false;}   
)

Referenced by if().

◆ DEF_TRAVERSE_DECL() [2/6]

clang::DEF_TRAVERSE_DECL ( FileScopeAsmDecl  ,
{ TRY_TO(TraverseStmt(D->getAsmString()));}   
)

◆ DEF_TRAVERSE_DECL() [3/6]

clang::DEF_TRAVERSE_DECL ( FriendTemplateDecl  ,
{ if(D->getFriendType()) TRY_TO(TraverseTypeLoc(D->getFriendType() ->getTypeLoc()));else TRY_TO(TraverseDecl(D->getFriendDecl()));for(unsigned I=0, E=D->getNumTemplateParameters();I< E;++I) { TemplateParameterList *TPL=D->getTemplateParameterList(I);for(TemplateParameterList::iterator ITPL=TPL->begin(), ETPL=TPL->end();ITPL !=ETPL;++ITPL) { TRY_TO(TraverseDecl(*ITPL));} } }   
)

◆ DEF_TRAVERSE_DECL() [4/6]

clang::DEF_TRAVERSE_DECL ( ObjCPropertyImplDecl  ,
{ }   
)

◆ DEF_TRAVERSE_DECL() [5/6]

clang::DEF_TRAVERSE_DECL ( TranslationUnitDecl  ,
{ }   
)

◆ DEF_TRAVERSE_DECL() [6/6]

clang::DEF_TRAVERSE_DECL ( LabelDecl  ,
{ }   
)

◆ DEF_TRAVERSE_TYPE() [1/19]

clang::DEF_TRAVERSE_TYPE ( ComplexType  ,
{ TRY_TO(TraverseType(T->getElementType()));}   
)

◆ DEF_TRAVERSE_TYPE() [2/19]

clang::DEF_TRAVERSE_TYPE ( BlockPointerType  ,
{ TRY_TO(TraverseType(T->getPointeeType()));}   
)

◆ DEF_TRAVERSE_TYPE() [3/19]

clang::DEF_TRAVERSE_TYPE ( RValueReferenceType  ,
{ TRY_TO(TraverseType(T->getPointeeType()));}   
)

◆ DEF_TRAVERSE_TYPE() [4/19]

clang::DEF_TRAVERSE_TYPE ( AdjustedType  ,
{ TRY_TO(TraverseType(T->getOriginalType()));}   
)

◆ DEF_TRAVERSE_TYPE() [5/19]

clang::DEF_TRAVERSE_TYPE ( ConstantArrayType  ,
{ TRY_TO(TraverseType(T->getElementType()));}   
)

◆ DEF_TRAVERSE_TYPE() [6/19]

clang::DEF_TRAVERSE_TYPE ( VariableArrayType  ,
{ TRY_TO(TraverseType(T->getElementType()));TRY_TO(TraverseStmt(T->getSizeExpr()));}   
)

◆ DEF_TRAVERSE_TYPE() [7/19]

clang::DEF_TRAVERSE_TYPE ( DependentAddressSpaceType  ,
{ TRY_TO(TraverseStmt(T->getAddrSpaceExpr()));TRY_TO(TraverseType(T->getPointeeType()));}   
)

◆ DEF_TRAVERSE_TYPE() [8/19]

clang::DEF_TRAVERSE_TYPE ( DependentSizedExtVectorType  ,
{ if(T->getSizeExpr()) TRY_TO(TraverseStmt(T->getSizeExpr()));TRY_TO(TraverseType(T->getElementType()));}   
)

◆ DEF_TRAVERSE_TYPE() [9/19]

clang::DEF_TRAVERSE_TYPE ( ExtVectorType  ,
{ TRY_TO(TraverseType(T->getElementType()));}   
)

◆ DEF_TRAVERSE_TYPE() [10/19]

clang::DEF_TRAVERSE_TYPE ( FunctionProtoType  ,
{ TRY_TO(TraverseType(T->getReturnType()));for(const auto &A :T->param_types()) { TRY_TO(TraverseType(A));} for(const auto &E :T->exceptions()) { TRY_TO(TraverseType(E));} if(Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE));}   
)

◆ DEF_TRAVERSE_TYPE() [11/19]

clang::DEF_TRAVERSE_TYPE ( TypeOfType  ,
{ TRY_TO(TraverseType(T->getUnderlyingType()));}   
)

◆ DEF_TRAVERSE_TYPE() [12/19]

clang::DEF_TRAVERSE_TYPE ( UnaryTransformType  ,
{ TRY_TO(TraverseType(T->getBaseType()));TRY_TO(TraverseType(T->getUnderlyingType()));}   
)

◆ DEF_TRAVERSE_TYPE() [13/19]

clang::DEF_TRAVERSE_TYPE ( DeducedTemplateSpecializationType  ,
{ TRY_TO(TraverseTemplateName(T->getTemplateName()));TRY_TO(TraverseType(T->getDeducedType()));}   
)

◆ DEF_TRAVERSE_TYPE() [14/19]

clang::DEF_TRAVERSE_TYPE ( SubstTemplateTypeParmPackType  ,
{ TRY_TO(TraverseTemplateArgument(T->getArgumentPack()));}   
)

◆ DEF_TRAVERSE_TYPE() [15/19]

clang::DEF_TRAVERSE_TYPE ( AttributedType  ,
{ TRY_TO(TraverseType(T->getModifiedType()));}   
)

◆ DEF_TRAVERSE_TYPE() [16/19]

clang::DEF_TRAVERSE_TYPE ( ElaboratedType  ,
{ if(T->getQualifier()) { TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));} TRY_TO(TraverseType(T->getNamedType()));}   
)

◆ DEF_TRAVERSE_TYPE() [17/19]

clang::DEF_TRAVERSE_TYPE ( DependentTemplateSpecializationType  ,
{ TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));TRY_TO(TraverseTemplateArguments(T->getArgs(), T->getNumArgs()));}   
)

◆ DEF_TRAVERSE_TYPE() [18/19]

clang::DEF_TRAVERSE_TYPE ( ObjCObjectType  ,
{ if(T->getBaseType().getTypePtr() !=T) TRY_TO(TraverseType(T->getBaseType()));for(auto typeArg :T->getTypeArgsAsWritten()) { TRY_TO(TraverseType(typeArg));} }   
)

◆ DEF_TRAVERSE_TYPE() [19/19]

clang::DEF_TRAVERSE_TYPE ( AtomicType  ,
{ TRY_TO(TraverseType(T->getValueType()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [1/19]

clang::DEF_TRAVERSE_TYPELOC ( ComplexType  ,
{ TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}   
)

Referenced by for().

◆ DEF_TRAVERSE_TYPELOC() [2/19]

clang::DEF_TRAVERSE_TYPELOC ( BlockPointerType  ,
{ TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [3/19]

clang::DEF_TRAVERSE_TYPELOC ( RValueReferenceType  ,
{ TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [4/19]

clang::DEF_TRAVERSE_TYPELOC ( AdjustedType  ,
{ TRY_TO(TraverseTypeLoc(TL.getOriginalLoc()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [5/19]

clang::DEF_TRAVERSE_TYPELOC ( ConstantArrayType  ,
{ TRY_TO(TraverseTypeLoc(TL.getElementLoc()));return TraverseArrayTypeLocHelper(TL);}   
)

◆ DEF_TRAVERSE_TYPELOC() [6/19]

clang::DEF_TRAVERSE_TYPELOC ( VariableArrayType  ,
{ TRY_TO(TraverseTypeLoc(TL.getElementLoc()));return TraverseArrayTypeLocHelper(TL);}   
)

◆ DEF_TRAVERSE_TYPELOC() [7/19]

clang::DEF_TRAVERSE_TYPELOC ( DependentAddressSpaceType  ,
{ TRY_TO(TraverseStmt(TL.getTypePtr() ->getAddrSpaceExpr()));TRY_TO(TraverseType(TL.getTypePtr() ->getPointeeType()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [8/19]

clang::DEF_TRAVERSE_TYPELOC ( VectorType  ,
{ TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [9/19]

clang::DEF_TRAVERSE_TYPELOC ( ExtVectorType  ,
{ TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [10/19]

clang::DEF_TRAVERSE_TYPELOC ( FunctionProtoType  ,
{ TRY_TO(TraverseTypeLoc(TL.getReturnLoc()));const FunctionProtoType *T=TL.getTypePtr();for(unsigned I=0, E=TL.getNumParams();I !=E;++I) { if(TL.getParam(I)) { TRY_TO(TraverseDecl(TL.getParam(I)));} else if(I< T->getNumParams()) { TRY_TO(TraverseType(T->getParamType(I)));} } for(const auto &E :T->exceptions()) { TRY_TO(TraverseType(E));} if(Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE));}   
)

◆ DEF_TRAVERSE_TYPELOC() [11/19]

clang::DEF_TRAVERSE_TYPELOC ( TypeOfType  ,
{ TRY_TO(TraverseTypeLoc(TL.getUnderlyingTInfo() ->getTypeLoc()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [12/19]

clang::DEF_TRAVERSE_TYPELOC ( UnaryTransformType  ,
{ TRY_TO(TraverseTypeLoc(TL.getUnderlyingTInfo() ->getTypeLoc()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [13/19]

clang::DEF_TRAVERSE_TYPELOC ( DeducedTemplateSpecializationType  ,
{ TRY_TO(TraverseTemplateName(TL.getTypePtr() ->getTemplateName()));TRY_TO(TraverseType(TL.getTypePtr() ->getDeducedType()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [14/19]

clang::DEF_TRAVERSE_TYPELOC ( SubstTemplateTypeParmPackType  ,
{ TRY_TO(TraverseTemplateArgument(TL.getTypePtr() ->getArgumentPack()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [15/19]

clang::DEF_TRAVERSE_TYPELOC ( ParenType  ,
{ TRY_TO(TraverseTypeLoc(TL.getInnerLoc()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [16/19]

clang::DEF_TRAVERSE_TYPELOC ( ElaboratedType  ,
{ if(TL.getQualifierLoc()) { TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));} TRY_TO(TraverseTypeLoc(TL.getNamedTypeLoc()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [17/19]

clang::DEF_TRAVERSE_TYPELOC ( DependentTemplateSpecializationType  ,
{ if(TL.getQualifierLoc()) { TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));} for(unsigned I=0, E=TL.getNumArgs();I !=E;++I) { TRY_TO(TraverseTemplateArgumentLoc(TL.getArgLoc(I)));} }   
)

◆ DEF_TRAVERSE_TYPELOC() [18/19]

clang::DEF_TRAVERSE_TYPELOC ( ObjCObjectType  ,
{ if(TL.getTypePtr() ->getBaseType().getTypePtr() !=TL.getTypePtr()) TRY_TO(TraverseTypeLoc(TL.getBaseLoc()));for(unsigned i=0, n=TL.getNumTypeArgs();i !=n;++i) TRY_TO(TraverseTypeLoc(TL.getTypeArgTInfo(i) ->getTypeLoc()));}   
)

◆ DEF_TRAVERSE_TYPELOC() [19/19]

clang::DEF_TRAVERSE_TYPELOC ( AtomicType  ,
{ TRY_TO(TraverseTypeLoc(TL.getValueLoc()));}   
)

◆ DoPrintPreprocessedInput()

void clang::DoPrintPreprocessedInput ( Preprocessor PP,
raw_ostream *  OS,
const PreprocessorOutputOptions Opts 
)

◆ DoRewriteTest()

void clang::DoRewriteTest ( Preprocessor PP,
raw_ostream *  OS 
)

◆ EmbedBitcode()

void clang::EmbedBitcode ( llvm::Module *  M,
const CodeGenOptions CGOpts,
llvm::MemoryBufferRef  Buf 
)

◆ EmitBackendOutput()

void clang::EmitBackendOutput ( DiagnosticsEngine Diags,
const HeaderSearchOptions ,
const CodeGenOptions CGOpts,
const TargetOptions TOpts,
const LangOptions LOpts,
const llvm::DataLayout &  TDesc,
llvm::Module *  M,
BackendAction  Action,
std::unique_ptr< raw_pwrite_stream >  OS 
)

◆ exceptionSpecNotKnownYet()

static bool clang::exceptionSpecNotKnownYet ( const FunctionDecl FD)
static

◆ ExecuteCompilerInvocation()

bool clang::ExecuteCompilerInvocation ( CompilerInstance Clang)

◆ expandSanitizerGroups()

SanitizerMask clang::expandSanitizerGroups ( SanitizerMask  Kinds)

For each sanitizer group bit set in Kinds, set the bits for sanitizers this group enables.

Definition at line 29 of file Sanitizers.cpp.

Referenced by describeSanitizeArg(), lastArgumentForMask(), and clang::driver::SanitizerArgs::SanitizerArgs().

◆ expandUCNs()

void clang::expandUCNs ( SmallVectorImpl< char > &  Buf,
StringRef  Input 
)

◆ ExprEmpty()

ExprResult clang::ExprEmpty ( )
inline

Definition at line 289 of file Ownership.h.

◆ ExprError() [1/2]

ExprResult clang::ExprError ( )
inline

Definition at line 283 of file Ownership.h.

Referenced by clang::Sema::ActOnCallExpr(), clang::Sema::ActOnCaseExpr(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnClassMessage(), clang::Sema::ActOnClassPropertyRefExpr(), clang::Sema::ActOnConditionalOp(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXNamedCast(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnCXXTypeConstructExpr(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnDecltypeExpression(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnExpressionTrait(), clang::Sema::ActOnFinishFullExpr(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnInstanceMessage(), clang::Sema::ActOnMemberAccessExpr(), clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnObjCAtSynchronizedOperand(), clang::Sema::ActOnOMPArraySectionExpr(), clang::Sema::ActOnOpenMPIdExpression(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStringLiteral(), clang::Sema::ActOnUnaryExprOrTypeTraitExpr(), addConstexprToLambdaDeclSpecifier(), attemptRecovery(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBinOp(), clang::Sema::BuildCallToObjectOfClassType(), buildCapture(), BuildCookedLiteralOperatorCall(), buildCounterInit(), buildCounterUpdate(), clang::Sema::BuildCoyieldExpr(), clang::Sema::BuildCStyleCastExpr(), clang::Sema::BuildCXXConstructExpr(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXFunctionalCastExpr(), clang::Sema::BuildCXXNamedCast(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildCXXUuidof(), clang::Sema::BuildDeclarationNameExpr(), buildDeclareReductionRef(), clang::Sema::BuildExpressionTrait(), clang::Sema::BuildLambdaExpr(), clang::Sema::BuildLiteralOperatorCall(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildObjCArrayLiteral(), clang::Sema::BuildObjCBridgedCast(), clang::Sema::BuildObjCDictionaryLiteral(), clang::Sema::BuildObjCSubscriptExpression(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::buildOverloadedCallSet(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildQualifiedTemplateIdExpr(), BuildRecoveryCallExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildResolvedCoawaitExpr(), clang::Sema::BuildTemplateIdExpr(), clang::Sema::BuildTypeTrait(), clang::Sema::BuildUnaryOp(), clang::Sema::BuildUnresolvedCoawaitExpr(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorLiteral(), CheckArrayDesignatorSyntax(), checkArrayLikeDecomposition(), CheckAvailabilitySpecList(), clang::Sema::CheckBooleanCondition(), checkBuiltinArgument(), clang::Sema::CheckConditionVariable(), CheckConvertedConstantExpression(), CheckKeyForObjCARCConversion(), CheckObjCCollectionLiteralElement(), clang::Sema::CheckObjCForCollectionOperand(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckPlaceholderExpr(), clang::Sema::checkUnknownAnyArg(), clang::Sema::checkUnknownAnyCast(), clang::Sema::CheckVarTemplateId(), CopyObject(), CorrectDelayedTyposInBinOp(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DefaultFunctionArrayLvalueConversion(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefaultVariadicArgumentPromotion(), diagnoseAmbiguousConversion(), DiagnoseBadFunctionCast(), DiagnoseReinterpretUpDownCast(), ExprError(), FinishOverloadedCallExpr(), getCastAwayConstnessCastKind(), clang::Sema::getOpenMPCapturedExpr(), clang::Sema::HandleExprEvaluationContextForTypeof(), clang::Sema::HandleExprPropertyRefExpr(), clang::Sema::ImpCastExprToType(), isValidOrderingForOp(), clang::Sema::LookupInlineAsmIdentifier(), clang::Sema::LookupInObjCMethod(), LookupMemberExpr(), LookupMethodInReceiverType(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MaybeConvertParenListExprToParenExpr(), clang::Sema::MaybeCreateExprWithCleanups(), clang::Parser::ParseAssignmentExpression(), clang::Parser::ParseConstraintExpression(), clang::Parser::ParseOpenMPParensExpr(), clang::Parser::ParseTopLevelDecl(), clang::Parser::ParseUnqualifiedId(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformContextuallyConvertToObjCPointer(), clang::Sema::PerformCopyInitialization(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformMoveOrCopyInitialization(), clang::Sema::PerformOpenMPImplicitIntegerConversion(), clang::TreeTransform< Derived >::RebuildCXXConstructExpr(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), clang::TreeTransform< Derived >::RebuildDesignatedInitExpr(), clang::TreeTransform< Derived >::RebuildUnaryExprOrTypeTrait(), resolveBuiltinNewDeleteOverload(), SemaBuiltinLaunder(), clang::Sema::SemaBuiltinShuffleVector(), clang::Sema::SemaConvertVectorExpr(), SubstDefaultTemplateArgument(), takeDeclAttributes(), clang::Sema::TemporaryMaterializationConversion(), clang::TreeTransform< Derived >::TransformAddressOfOperand(), clang::TreeTransform< Derived >::TransformCXXNamedCastExpr(), clang::TreeTransform< Derived >::TransformDependentScopeDeclRefExpr(), clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), TryReinterpretCast(), clang::Sema::tryToRecoverWithCall(), TypeTraitArity(), clang::Sema::UsualUnaryConversions(), clang::Sema::VerifyBitField(), and widenIterationCount().

◆ ExprError() [2/2]

ExprResult clang::ExprError ( const DiagnosticBuilder )
inline

Definition at line 286 of file Ownership.h.

References ExprError().

◆ finalize()

template<class TemplateInstantiationCallbackPtrs >
void clang::finalize ( TemplateInstantiationCallbackPtrs &  Callbacks,
const Sema TheSema 
)

Definition at line 53 of file TemplateInstCallback.h.

References C.

Referenced by llvm::yaml::MappingTraits< TemplightEntry >::mapping().

◆ finals()

finals_const_range clang::finals ( )

Definition at line 2819 of file OpenMPClause.h.

References getFinals().

◆ FindThinLTOModule() [1/2]

llvm::Expected<llvm::BitcodeModule> clang::FindThinLTOModule ( llvm::MemoryBufferRef  MBRef)

Referenced by runThinLTOBackend().

◆ FindThinLTOModule() [2/2]

llvm::BitcodeModule* clang::FindThinLTOModule ( llvm::MutableArrayRef< llvm::BitcodeModule >  BMs)

◆ FixedPointValueToString()

void clang::FixedPointValueToString ( SmallVectorImpl< char > &  Str,
llvm::APSInt  Val,
unsigned  Scale 
)

Definition at line 4017 of file Type.cpp.

Referenced by clang::DecayedType::getPointeeType().

◆ for()

clang::for ( unsigned  I = 0,
= TL.getNumArgs(); I != E; ++I 
)

◆ formAssociatedConstraints()

static Expr * clang::formAssociatedConstraints ( TemplateParameterList Params,
FunctionDecl FD 
)
static

[temp.constr.decl]p2: A template's associated constraints are defined as a single constraint-expression derived from the introduced constraint-expressions [ ...

].

Parameters
ParamsThe template parameter list and optional requires-clause.
FDThe underlying templated function declaration for a function template.

Definition at line 61 of file SemaTemplate.cpp.

References clang::TemplateParameterList::getRequiresClause().

Referenced by getTemplateParamsRange().

◆ FormatASTNodeDiagnosticArgument()

void clang::FormatASTNodeDiagnosticArgument ( DiagnosticsEngine::ArgumentKind  Kind,
intptr_t  Val,
StringRef  Modifier,
StringRef  Argument,
ArrayRef< DiagnosticsEngine::ArgumentValue PrevArgs,
SmallVectorImpl< char > &  Output,
void *  Cookie,
ArrayRef< intptr_t QualTypeVals 
)

DiagnosticsEngine argument formatting function for diagnostics that involve AST nodes.

This function formats diagnostic arguments for various AST nodes, including types, declaration names, nested name specifiers, and declaration contexts, into strings that can be printed as part of diagnostics. It is meant to be used as the argument to DiagnosticsEngine::SetArgToStringFn(), where the cookie is an ASTContext pointer.

Definition at line 320 of file ASTDiagnostic.cpp.

References clang::DiagnosticsEngine::ak_qual, and clang::Qualifiers::fromOpaqueValue().

Referenced by clang::ASTMergeAction::ExecuteAction().

◆ FTIHasNonVoidParameters()

bool clang::FTIHasNonVoidParameters ( const DeclaratorChunk::FunctionTypeInfo FTI)
inline

◆ FTIHasSingleVoidParameter()

bool clang::FTIHasSingleVoidParameter ( const DeclaratorChunk::FunctionTypeInfo FTI)
inline

◆ getAsNamedDecl()

NamedDecl * clang::getAsNamedDecl ( TemplateParameter  P)
inline

Definition at line 3016 of file DeclTemplate.h.

◆ getAsString()

llvm::StringRef clang::getAsString ( SyncScope  S)
inline

◆ getAsTypeTemplateDecl()

TemplateDecl* clang::getAsTypeTemplateDecl ( Decl D)
inline

Definition at line 3024 of file DeclTemplate.h.

◆ getBinOpPrecedence()

prec::Level clang::getBinOpPrecedence ( tok::TokenKind  Kind,
bool  GreaterThanIsOperator,
bool  CPlusPlus11 
)

◆ getCalcStep()

const Expr * clang::getCalcStep ( )

Returns expression to calculate linear step.

Definition at line 2762 of file OpenMPClause.h.

References getFinals(), setFinals(), and setUpdates().

◆ getCanonicalForwardRedeclChain() [1/2]

SmallVector< Decl *, 2 > clang::getCanonicalForwardRedeclChain ( Decl D)

◆ getCanonicalForwardRedeclChain() [2/2]

template<class T >
SmallVector<Decl *, 2> clang::getCanonicalForwardRedeclChain ( Redeclarable< T > *  D)

Definition at line 110 of file ASTImporter.cpp.

References clang::Redeclarable< decl_type >::getFirstDecl().

◆ getClangFullCPPVersion()

std::string clang::getClangFullCPPVersion ( )

Retrieves a string representing the complete clang version suitable for use in the CPP VERSION macro, which includes the clang version number, the repository version, and the vendor tag.

Definition at line 139 of file Version.cpp.

References getClangFullRepositoryVersion().

◆ getClangFullRepositoryVersion()

std::string clang::getClangFullRepositoryVersion ( )

◆ getClangFullVersion()

std::string clang::getClangFullVersion ( )

Retrieves a string representing the complete clang version, which includes the clang version number, the repository version, and the vendor tag.

Definition at line 118 of file Version.cpp.

References getClangToolFullVersion().

Referenced by clang::driver::tools::ClangAs::ConstructJob(), createTool(), clang::driver::Driver::generateCompilationDiagnostics(), clang::CodeGen::CodeGenModule::lookupRepresentativeDecl(), clang::driver::Driver::PrintVersion(), and clang::CodeGen::CGDebugInfo::remapDIPath().

◆ getClangRepositoryPath()

std::string clang::getClangRepositoryPath ( )

Retrieves the repository path (e.g., Subversion path) that identifies the particular Clang branch, tag, or trunk from which this Clang was built.

Definition at line 27 of file Version.cpp.

Referenced by getClangFullRepositoryVersion().

◆ getClangRevision()

std::string clang::getClangRevision ( )

Retrieves the repository revision number (or identifier) from which this Clang was built.

Definition at line 74 of file Version.cpp.

Referenced by getClangFullRepositoryVersion().

◆ getClangToolFullVersion() [1/2]

std::string clang::getClangToolFullVersion ( llvm::StringRef  ToolName)

Like getClangFullVersion(), but with a custom tool name.

Referenced by getClangFullVersion().

◆ getClangToolFullVersion() [2/2]

std::string clang::getClangToolFullVersion ( StringRef  ToolName)

Definition at line 122 of file Version.cpp.

References getClangFullRepositoryVersion().

◆ getColonLoc()

SourceLocation clang::getColonLoc ( ) const

Returns the location of ':'.

Definition at line 2753 of file OpenMPClause.h.

References ColonLoc.

Referenced by clang::AccessSpecDecl::getSourceRange().

◆ getCompletionComment()

const RawComment * clang::getCompletionComment ( const ASTContext Ctx,
const NamedDecl Decl 
)

Get the documentation comment used to produce CodeCompletionString::BriefComment for RK_Declaration.

Definition at line 3172 of file SemaCodeComplete.cpp.

References clang::ObjCPropertyDecl::findPropertyDecl(), and clang::ASTContext::getRawCommentForAnyRedecl().

Referenced by clang::CodeCompletionResult::createCodeCompletionStringForDecl().

◆ getCompletionKindString()

StringRef clang::getCompletionKindString ( CodeCompletionContext::Kind  Kind)

Get string representation of Kind, useful for for debugging.

Definition at line 91 of file CodeCompleteConsumer.cpp.

Referenced by clang::CodeCompletionContext::getCXXScopeSpecifier().

◆ getConstructorInfo()

ConstructorInfo clang::getConstructorInfo ( NamedDecl ND)
inline

◆ GetConversionRank()

ImplicitConversionRank clang::GetConversionRank ( ImplicitConversionKind  Kind)

GetConversionRank - Retrieve the implicit conversion rank corresponding to the given implicit conversion kind.

Definition at line 112 of file SemaOverload.cpp.

References ICK_Num_Conversion_Kinds, ICR_C_Conversion, ICR_C_Conversion_Extension, ICR_Complex_Real_Conversion, ICR_Conversion, ICR_Exact_Match, ICR_OCL_Scalar_Widening, ICR_Promotion, and ICR_Writeback_Conversion.

Referenced by clang::StandardConversionSequence::getRank().

◆ getCursorKindForDecl()

CXCursorKind clang::getCursorKindForDecl ( const Decl D)

Determine the libclang cursor kind associated with the given declaration.

Definition at line 3361 of file SemaCodeComplete.cpp.

References CXCursor_ClassDecl, CXCursor_ClassTemplate, CXCursor_ClassTemplatePartialSpecialization, CXCursor_Constructor, CXCursor_ConversionFunction, CXCursor_CXXAccessSpecifier, CXCursor_CXXMethod, CXCursor_Destructor, CXCursor_EnumConstantDecl, CXCursor_EnumDecl, CXCursor_FieldDecl, CXCursor_FriendDecl, CXCursor_FunctionDecl, CXCursor_FunctionTemplate, CXCursor_ModuleImportDecl, CXCursor_Namespace, CXCursor_NamespaceAlias, CXCursor_NonTypeTemplateParameter, CXCursor_ObjCCategoryDecl, CXCursor_ObjCCategoryImplDecl, CXCursor_ObjCClassMethodDecl, CXCursor_ObjCDynamicDecl, CXCursor_ObjCImplementationDecl, CXCursor_ObjCInstanceMethodDecl, CXCursor_ObjCInterfaceDecl, CXCursor_ObjCIvarDecl, CXCursor_ObjCPropertyDecl, CXCursor_ObjCProtocolDecl, CXCursor_ObjCSynthesizeDecl, CXCursor_ParmDecl, CXCursor_StaticAssert, CXCursor_StructDecl, CXCursor_TemplateTemplateParameter, CXCursor_TemplateTypeParameter, CXCursor_TranslationUnit, CXCursor_TypeAliasDecl, CXCursor_TypeAliasTemplateDecl, CXCursor_TypedefDecl, CXCursor_UnexposedDecl, CXCursor_UnionDecl, CXCursor_UsingDeclaration, CXCursor_UsingDirective, CXCursor_VarDecl, clang::ObjCPropertyImplDecl::Dynamic, clang::XRayInstrKind::Function, clang::Decl::getKind(), isInstanceMethod(), clang::ObjCPropertyImplDecl::Synthesize, TTK_Class, TTK_Enum, TTK_Interface, TTK_Struct, and TTK_Union.

Referenced by getDeclAvailability().

◆ getDeclUsageType()

QualType clang::getDeclUsageType ( ASTContext C,
const NamedDecl ND 
)

Determine the type that this declaration will have if it is used as a type or in an expression.

Get the type that a given expression will have if this declaration is used as an expression in its "typical" code-completion form.

Definition at line 665 of file SemaCodeComplete.cpp.

References clang::CodeCompletionContext::CCC_ObjCMessageReceiver, clang::CodeCompletionContext::CCC_ParenthesizedExpression, clang::CodeCompletionContext::CCC_Statement, CCD_SelectorMatch, CCF_ExactTypeMatch, CCF_SimilarTypeMatch, CCP_Constant, CCP_Declaration, CCP_LocalDeclaration, CCP_MemberDeclaration, CCP_ObjC_cmd, CCP_Type, CCP_Unlikely, clang::Sema::Context, clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationName::CXXLiteralOperatorName, clang::DeclarationName::CXXOperatorName, clang::Type::getAs(), clang::Decl::getAsFunction(), clang::ASTContext::getCanonicalType(), clang::Decl::getDeclContext(), clang::NamedDecl::getDeclName(), clang::CodeCompletionContext::getKind(), clang::Decl::getLexicalDeclContext(), clang::DeclarationName::getNameKind(), clang::ASTContext::getObjCInterfaceType(), clang::Type::getPointeeType(), clang::DeclContext::getRedeclContext(), getSimplifiedTypeClass(), clang::ASTContext::getTypeDeclType(), clang::NamedDecl::getUnderlyingDecl(), clang::ASTContext::hasSameUnqualifiedType(), if(), clang::DeclContext::isFunctionOrMethod(), clang::CanQual< T >::isNull(), clang::QualType::isNull(), clang::Selector::isNull(), clang::DeclContext::isRecord(), Pointer, and Property.

Referenced by isObjCReceiverType().

◆ getDepthAndIndex() [1/2]

std::pair<unsigned, unsigned> clang::getDepthAndIndex ( NamedDecl ND)
inline

Retrieve the depth and index of a template parameter.

Definition at line 105 of file SemaInternal.h.

Referenced by getDepthAndIndex().

◆ getDepthAndIndex() [2/2]

std::pair<unsigned, unsigned> clang::getDepthAndIndex ( UnexpandedParameterPack  UPP)
inline

Retrieve the depth and index of an unexpanded parameter pack.

Definition at line 118 of file SemaInternal.h.

References getDepthAndIndex().

◆ getDLLAttr()

InheritableAttr* clang::getDLLAttr ( Decl D)
inline

◆ getFinals()

ArrayRef< const Expr * > clang::getFinals ( )

Sets the list of final update expressions for linear variables.

Definition at line 2689 of file OpenMPClause.h.

References C, Create(), CreateEmpty(), getUpdates(), setInits(), and setPrivates().

Referenced by clang::OMPLoopDirective::finals(), finals(), getCalcStep(), getStep(), and clang::OMPLoopDirective::setFinals().

◆ getFormalLinkage()

Linkage clang::getFormalLinkage ( Linkage  L)
inline

◆ getFunctionExtInfo() [1/2]

FunctionType::ExtInfo clang::getFunctionExtInfo ( const Type t)
inline

Definition at line 6197 of file Type.h.

References clang::Type::getAs().

Referenced by getFunctionExtInfo(), and clang::ASTContext::mergeObjCGCQualifiers().

◆ getFunctionExtInfo() [2/2]

FunctionType::ExtInfo clang::getFunctionExtInfo ( QualType  t)
inline

Definition at line 6207 of file Type.h.

References getFunctionExtInfo().

◆ getInits()

ArrayRef< const Expr * > clang::getInits ( )

◆ GetIssueHash()

llvm::SmallString<32> clang::GetIssueHash ( const SourceManager SM,
FullSourceLoc IssueLoc,
llvm::StringRef  CheckerName,
llvm::StringRef  BugType,
const Decl D,
const LangOptions LangOpts 
)

Get an MD5 hash to help identify bugs.

This function returns a hash that helps identify bugs within a source file. This identification can be utilized to diff diagnostic results on different snapshots of a projects, or maintain a database of suppressed diagnotics.

The hash contains the normalized text of the location associated with the diagnostic. Normalization means removing the whitespaces. The associated location is the either the last location of a diagnostic path or a uniqueing location. The bugtype and the name of the checker is also part of the hash. The last component is the string representation of the enclosing declaration of the associated location.

In case a new hash is introduced, the old one should still be maintained for a while. One should not introduce a new hash for every change, it is possible to introduce experimental hashes that may change in the future. Such hashes should be marked as experimental using a comment in the plist files.

Referenced by GetHashOfContent().

◆ GetIssueString()

std::string clang::GetIssueString ( const SourceManager SM,
FullSourceLoc IssueLoc,
llvm::StringRef  CheckerName,
llvm::StringRef  BugType,
const Decl D,
const LangOptions LangOpts 
)

Get the string representation of issue hash.

See GetIssueHash() for more information.

Referenced by getArgumentValueString(), and GetHashOfContent().

◆ getKeywordSelector()

template<typename... IdentifierInfos>
static Selector clang::getKeywordSelector ( ASTContext Ctx,
IdentifierInfos *...  IIs 
)
inlinestatic

◆ getLambdaAwareParentOfDeclContext()

DeclContext* clang::getLambdaAwareParentOfDeclContext ( DeclContext DC)
inline

◆ getLambdaStaticInvokerName()

StringRef clang::getLambdaStaticInvokerName ( )
inline

Definition at line 23 of file ASTLambda.h.

◆ getLangASFromTargetAS()

LangAS clang::getLangASFromTargetAS ( unsigned  TargetAS)
inline

◆ getLastArgIntValue() [1/3]

int clang::getLastArgIntValue ( const llvm::opt::ArgList &  Args,
llvm::opt::OptSpecifier  Id,
int  Default,
DiagnosticsEngine Diags = nullptr 
)

Return the value of the last argument as an integer, or a default.

If Diags is non-null, emits an error if the argument is given, but non-integral.

Referenced by checkVerifyPrefixes(), clang::CompilerInvocation::CreateFromArgs(), and ParseHeaderSearchArgs().

◆ getLastArgIntValue() [2/3]

int clang::getLastArgIntValue ( const llvm::opt::ArgList &  Args,
llvm::opt::OptSpecifier  Id,
int  Default,
DiagnosticsEngine Diags 
)
inline

Definition at line 209 of file Utils.h.

References getLastArgUInt64Value().

Referenced by clang::ModuleDependencyCollector::hasErrors().

◆ getLastArgIntValue() [3/3]

int clang::getLastArgIntValue ( const ArgList &  Args,
OptSpecifier  Id,
int  Default,
DiagnosticsEngine Diags 
)

Definition at line 3453 of file CompilerInvocation.cpp.

References Default, and Id.

◆ getLastArgUInt64Value() [1/3]

uint64_t clang::getLastArgUInt64Value ( const llvm::opt::ArgList &  Args,
llvm::opt::OptSpecifier  Id,
uint64_t  Default,
DiagnosticsEngine Diags = nullptr 
)

Referenced by ParseHeaderSearchArgs().

◆ getLastArgUInt64Value() [2/3]

uint64_t clang::getLastArgUInt64Value ( const llvm::opt::ArgList &  Args,
llvm::opt::OptSpecifier  Id,
uint64_t  Default,
DiagnosticsEngine Diags 
)
inline

Definition at line 219 of file Utils.h.

References FrontendTimesIsEnabled.

Referenced by getLastArgIntValue().

◆ getLastArgUInt64Value() [3/3]

uint64_t clang::getLastArgUInt64Value ( const ArgList &  Args,
OptSpecifier  Id,
uint64_t  Default,
DiagnosticsEngine Diags 
)

Definition at line 3458 of file CompilerInvocation.cpp.

References Default, and Id.

◆ getLLVMRepositoryPath()

std::string clang::getLLVMRepositoryPath ( )

Retrieves the repository path from which LLVM was built.

This supports LLVM residing in a separate repository from clang.

Definition at line 57 of file Version.cpp.

Referenced by getClangFullRepositoryVersion().

◆ getLLVMRevision()

std::string clang::getLLVMRevision ( )

Retrieves the repository revision number (or identifier) from which LLVM was built.

If Clang and LLVM are in the same repository, this returns the same string as getClangRevision.

Definition at line 82 of file Version.cpp.

Referenced by getClangFullRepositoryVersion().

◆ getMacroUsagePriority()

unsigned clang::getMacroUsagePriority ( StringRef  MacroName,
const LangOptions LangOpts,
bool  PreferredTypeIsPointer = false 
)

Determine the priority to be given to a macro code completion result with the given name.

Parameters
MacroNameThe name of the macro.
LangOptsOptions describing the current language dialect.
PreferredTypeIsPointerWhether the preferred type for the context of this macro is a pointer type.

Definition at line 3338 of file SemaCodeComplete.cpp.

References CCD_bool_in_ObjC, CCF_SimilarTypeMatch, CCP_Constant, CCP_Macro, and CCP_Type.

Referenced by AddMacroResults().

◆ getModifier()

OpenMPLinearClauseKind clang::getModifier ( ) const

Return modifier.

Definition at line 2741 of file OpenMPClause.h.

References Modifier.

Referenced by clang::GCCAsmStmt::AsmStringPiece::getRange().

◆ getModifierLoc()

SourceLocation clang::getModifierLoc ( ) const

Return modifier location.

Definition at line 2747 of file OpenMPClause.h.

References ModifierLoc.

◆ getNullabilitySpelling()

StringRef clang::getNullabilitySpelling ( NullabilityKind  kind,
bool  isContextSensitive = false 
)

Retrieve the spelling of the given nullability kind.

Definition at line 683 of file IdentifierTable.cpp.

References NonNull, Nullable, and Unspecified.

Referenced by checkNullabilityTypeSpecifier(), fixItNullability(), and hasWeakerNullability().

◆ GetNullarySelector()

Selector clang::GetNullarySelector ( StringRef  name,
ASTContext Ctx 
)
inline

◆ getOpenMPCaptureRegions()

void clang::getOpenMPCaptureRegions ( llvm::SmallVectorImpl< OpenMPDirectiveKind > &  CaptureRegions,
OpenMPDirectiveKind  DKind 
)

◆ getOpenMPClauseKind()

OpenMPClauseKind clang::getOpenMPClauseKind ( llvm::StringRef  Str)

◆ getOpenMPClauseName()

const char * clang::getOpenMPClauseName ( OpenMPClauseKind  Kind)

Definition at line 62 of file OpenMPKinds.cpp.

References getOpenMPSimpleClauseType(), OMPC_ATOMIC_DEFAULT_MEM_ORDER_unknown, OMPC_DEFAULT_unknown, OMPC_DEFAULTMAP_unknown, OMPC_DEPEND_unknown, OMPC_DIST_SCHEDULE_unknown, OMPC_LINEAR_unknown, OMPC_MAP_unknown, OMPC_PROC_BIND_unknown, OMPC_SCHEDULE_unknown, OMPC_threadprivate, OMPC_uniform, OMPC_unknown, OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND, OPENMP_DEFAULT_KIND, OPENMP_DEFAULTMAP_KIND, OPENMP_DEPEND_KIND, OPENMP_DIST_SCHEDULE_KIND, OPENMP_LINEAR_KIND, OPENMP_MAP_KIND, OPENMP_PROC_BIND_KIND, and OPENMP_SCHEDULE_KIND.

Referenced by clang::Sema::ActOnOpenMPAtomicDefaultMemOrderClause(), clang::Sema::ActOnOpenMPAtomicDirective(), clang::Sema::ActOnOpenMPCopyinClause(), clang::Sema::ActOnOpenMPCopyprivateClause(), clang::Sema::ActOnOpenMPDeclareSimdDirective(), clang::Sema::ActOnOpenMPDefaultClause(), clang::Sema::ActOnOpenMPDefaultmapClause(), clang::Sema::ActOnOpenMPDependClause(), clang::Sema::ActOnOpenMPDistScheduleClause(), clang::Sema::ActOnOpenMPIsDevicePtrClause(), clang::Sema::ActOnOpenMPLastprivateClause(), clang::Sema::ActOnOpenMPLinearClause(), clang::Sema::ActOnOpenMPOrderedDirective(), clang::Sema::ActOnOpenMPPrivateClause(), clang::Sema::ActOnOpenMPProcBindClause(), clang::Sema::ActOnOpenMPScheduleClause(), clang::Sema::ActOnOpenMPSharedClause(), checkGrainsizeNumTasksClauses(), checkIfClauses(), checkMapClauseExpressionBase(), checkMappableExpressionList(), checkScheduleModifiers(), isNonNegativeIntegerValue(), clang::Parser::ParseOpenMPParensExpr(), clang::Parser::ParseOpenMPVarList(), reportOriginalDsa(), and clang::TextNodeDumper::Visit().

◆ getOpenMPDirectiveKind()

OpenMPDirectiveKind clang::getOpenMPDirectiveKind ( llvm::StringRef  Str)

◆ getOpenMPDirectiveName()

const char * clang::getOpenMPDirectiveName ( OpenMPDirectiveKind  Kind)

◆ getOpenMPSimpleClauseType()

unsigned clang::getOpenMPSimpleClauseType ( OpenMPClauseKind  Kind,
llvm::StringRef  Str 
)

◆ getOpenMPSimpleClauseTypeName()

const char * clang::getOpenMPSimpleClauseTypeName ( OpenMPClauseKind  Kind,
unsigned  Type 
)

◆ getOperatorSpelling()

const char * clang::getOperatorSpelling ( OverloadedOperatorKind  Operator)

Retrieve the spelling of the given overloaded operator, without the preceding "operator" keyword.

Definition at line 669 of file IdentifierTable.cpp.

References NUM_OVERLOADED_OPERATORS, and OO_None.

Referenced by OMPIsDevicePtrClause::CreateEmpty(), and clang::TemplateName::print().

◆ getParameterABISpelling()

StringRef clang::getParameterABISpelling ( ParameterABI  kind)

Definition at line 759 of file TypePrinter.cpp.

References clang::TemplateArgumentList::asArray(), Auto, clang::Type::castAs(), CC_AAPCS, CC_AAPCS_VFP, CC_AArch64VectorCall, CC_C, CC_IntelOclBicc, CC_OpenCLKernel, CC_PreserveAll, CC_PreserveMost, CC_SpirFunction, CC_Swift, CC_Win64, CC_X86_64SysV, CC_X86FastCall, CC_X86Pascal, CC_X86RegCall, CC_X86StdCall, CC_X86ThisCall, CC_X86VectorCall, DecltypeAuto, clang::Qualifiers::empty(), clang::UnaryTransformType::EnumUnderlyingType, ETK_None, clang::FunctionType::ExtParameterInfo::getABI(), clang::Type::getAs(), clang::Qualifiers::getAsString(), clang::Decl::getASTContext(), clang::AttributedType::getAttrKind(), clang::UnaryTransformType::getBaseType(), clang::FunctionType::ExtInfo::getCC(), clang::PresumedLoc::getColumn(), clang::UnresolvedUsingType::getDecl(), clang::TypedefType::getDecl(), clang::RecordType::getDecl(), clang::EnumType::getDecl(), clang::ObjCTypeParamType::getDecl(), clang::ObjCInterfaceType::getDecl(), clang::Decl::getDeclContext(), clang::DeducedType::getDeducedType(), clang::TemplateTypeParmType::getDepth(), clang::PipeType::getElementType(), clang::AttributedType::getEquivalentType(), clang::FunctionType::getExtInfo(), clang::FunctionProtoType::getExtParameterInfo(), clang::PresumedLoc::getFilename(), clang::NamedDecl::getIdentifier(), clang::TemplateTypeParmType::getIdentifier(), clang::DependentNameType::getIdentifier(), clang::DependentTemplateSpecializationType::getIdentifier(), clang::AttributedType::getImmediateNullability(), clang::TemplateTypeParmType::getIndex(), clang::InjectedClassNameType::getInjectedTST(), clang::ParenType::getInnerType(), clang::AutoType::getKeyword(), clang::TypeWithKeyword::getKeyword(), clang::TypeWithKeyword::getKeywordName(), clang::TagDecl::getKindName(), clang::PresumedLoc::getLine(), clang::Decl::getLocation(), clang::AttributedType::getModifiedType(), clang::IdentifierInfo::getName(), clang::NamedDecl::getName(), clang::ElaboratedType::getNamedType(), clang::FunctionType::ExtInfo::getNoCallerSavedRegs(), clang::FunctionType::ExtInfo::getNoCfCheck(), clang::FunctionType::ExtInfo::getNoReturn(), clang::FunctionProtoType::getNumParams(), clang::ElaboratedType::getOwnedTagDecl(), clang::FunctionProtoType::getParamType(), clang::DeclContext::getParent(), clang::PackExpansionType::getPattern(), clang::Type::getPointeeType(), clang::SourceManager::getPresumedLoc(), clang::FunctionType::ExtInfo::getProducesResult(), clang::ElaboratedType::getQualifier(), clang::DependentNameType::getQualifier(), clang::DependentTemplateSpecializationType::getQualifier(), clang::FunctionProtoType::getRefQualifier(), clang::FunctionType::ExtInfo::getRegParm(), clang::SubstTemplateTypeParmPackType::getReplacedParameter(), clang::SubstTemplateTypeParmType::getReplacementType(), clang::FunctionType::getReturnType(), clang::ASTContext::getSourceManager(), clang::DeducedTemplateSpecializationType::getTemplateName(), clang::TemplateSpecializationType::getTemplateName(), clang::TagDecl::getTypedefNameForAnonDecl(), clang::TypeDecl::getTypeForDecl(), clang::QualType::getTypePtr(), clang::FunctionProtoType::getTypeQuals(), clang::TypeOfExprType::getUnderlyingExpr(), clang::DecltypeType::getUnderlyingExpr(), clang::TypeOfType::getUnderlyingType(), clang::UnaryTransformType::getUTTKind(), clang::AtomicType::getValueType(), GNUAutoType, clang::FunctionProtoType::hasTrailingReturn(), Id, clang::PrintingPolicy::IncludeTagDefinition, clang::AttributedType::isCallingConv(), clang::DeclContext::isFunctionOrMethod(), clang::Type::isFunctionType(), clang::AttributedType::isMSTypeSpec(), clang::QualType::isNull(), clang::PipeType::isReadOnly(), clang::DeclContext::isTranslationUnit(), clang::PresumedLoc::isValid(), clang::FunctionProtoType::isVariadic(), Ordinary, clang::NestedNameSpecifier::print(), clang::TemplateName::print(), clang::Decl::print(), clang::FunctionProtoType::printExceptionSpecification(), clang::Stmt::printPretty(), printTemplateArgumentList(), clang::ObjCProtocolQualifiers< T >::qual_empty(), clang::ObjCProtocolQualifiers< T >::quals(), RQ_LValue, RQ_None, RQ_RValue, SwiftContext, SwiftErrorResult, SwiftIndirectResult, clang::TemplateSpecializationType::template_arguments(), and clang::DependentTemplateSpecializationType::template_arguments().

Referenced by isTypeSubstitutable().

◆ getParameterComment()

const RawComment * clang::getParameterComment ( const ASTContext Ctx,
const CodeCompleteConsumer::OverloadCandidate Result,
unsigned  ArgIndex 
)

Get the documentation comment used to produce CodeCompletionString::BriefComment for OverloadCandidate.

Definition at line 3213 of file SemaCodeComplete.cpp.

References clang::CodeCompleteConsumer::OverloadCandidate::getFunction(), and clang::ASTContext::getRawCommentForAnyRedecl().

◆ getPatternCompletionComment()

const RawComment * clang::getPatternCompletionComment ( const ASTContext Ctx,
const NamedDecl Decl 
)

Get the documentation comment used to produce CodeCompletionString::BriefComment for RK_Pattern.

Definition at line 3190 of file SemaCodeComplete.cpp.

References clang::ObjCPropertyDecl::findPropertyDecl(), clang::ObjCPropertyDecl::getGetterName(), clang::NamedDecl::getIdentifier(), and clang::ASTContext::getRawCommentForAnyRedecl().

Referenced by clang::CodeCompletionResult::CreateCodeCompletionString().

◆ getPPTransparentSanitizers()

SanitizerMask clang::getPPTransparentSanitizers ( )
inline

Return the sanitizers which do not affect preprocessing.

Definition at line 85 of file Sanitizers.h.

Referenced by checkLanguageOptions(), and clang::CompilerInvocation::getModuleHash().

◆ getPrimaryMergedDecl()

Decl * clang::getPrimaryMergedDecl ( Decl D)

Get the primary declaration for a declaration from an AST file.

That will be the first-loaded declaration.

Definition at line 76 of file Decl.cpp.

References clang::Decl::getASTContext(), and clang::ASTContext::getPrimaryMergedDecl().

Referenced by clang::Mergeable< UnresolvedUsingTypenameDecl >::getFirstDecl(), and clang::Redeclarable< VarDecl >::redecls_end().

◆ getPrivates()

ArrayRef< const Expr * > clang::getPrivates ( )

◆ getSimplifiedTypeClass()

SimplifiedTypeClass clang::getSimplifiedTypeClass ( CanQualType  T)

Determine the simplified type class of the given canonical type.

A simplified classification of types used to determine whether two types are "similar enough" when adjusting priorities.

Definition at line 596 of file SemaCodeComplete.cpp.

References clang::CanQual< T >::getAs(), clang::ReferenceType::getPointeeType(), STC_Arithmetic, STC_Array, STC_Block, STC_Function, STC_ObjectiveC, STC_Other, STC_Pointer, STC_Record, and STC_Void.

Referenced by getDeclUsageType().

◆ getSpecificAttr()

template<typename SpecificAttr , typename Container >
SpecificAttr* clang::getSpecificAttr ( const Container &  container)
inline

Definition at line 118 of file AttrIterator.h.

◆ getStackIndexOfNearestEnclosingCaptureCapableLambda()

Optional< unsigned > clang::getStackIndexOfNearestEnclosingCaptureCapableLambda ( ArrayRef< const sema::FunctionScopeInfo *>  FunctionScopes,
VarDecl VarToCapture,
Sema S 
)

Examines the FunctionScopeInfo stack to determine the nearest enclosing lambda (to the current lambda) that is 'capture-capable' for the variable referenced in the current lambda (i.e.

VarToCapture). If successful, returns the index into Sema's FunctionScopeInfo stack of the capture-capable lambda's LambdaScopeInfo. See Implementation for more detailed comments.

VarToCapture). If successful, returns the index into Sema's FunctionScopeInfo stack of the capture-capable lambda's LambdaScopeInfo.

Given the current stack of lambdas being processed by Sema and the variable of interest, to identify the nearest enclosing lambda (to the current lambda at the top of the stack) that can truly capture a variable, it has to have the following two properties: a) 'capture-ready' - be the innermost lambda that is 'capture-ready':

  • climb down the stack (i.e. starting from the innermost and examining each outer lambda step by step) checking if each enclosing lambda can either implicitly or explicitly capture the variable. Record the first such lambda that is enclosed in a non-dependent context. If no such lambda currently exists return failure. b) 'capture-capable' - make sure the 'capture-ready' lambda can truly capture the variable by checking all its enclosing lambdas:
  • check if all outer lambdas enclosing the 'capture-ready' lambda identified above in 'a' can also capture the variable (this is done via tryCaptureVariable for variables and CheckCXXThisCapture for 'this' by passing in the index of the Lambda identified in step 'a')
Parameters
FunctionScopes- Sema's stack of nested FunctionScopeInfo's (which a LambdaScopeInfo inherits from). The current/deepest/innermost lambda is at the top of the stack.
VarToCapture- the variable to capture. If NULL, capture 'this'.
Returns
An Optional<unsigned> Index that if evaluates to 'true' contains the index (into Sema's FunctionScopeInfo stack) of the innermost lambda which is capture-capable. If the return value evaluates to 'false' then no lambda is capture-capable for VarToCapture.

Definition at line 173 of file SemaLambda.cpp.

◆ getStandardSelectorLoc() [1/2]

SourceLocation clang::getStandardSelectorLoc ( unsigned  Index,
Selector  Sel,
bool  WithArgSpace,
ArrayRef< Expr *>  Args,
SourceLocation  EndLoc 
)

Get the "standard" location of a selector identifier, e.g: For nullary selectors, immediately before ']': "[foo release]".

Parameters
WithArgSpaceif true the standard location is with a space apart before arguments: "[foo first: 1 second: 2]" If false: "[foo first:1 second:2]"

Definition at line 104 of file SelectorLocationsKind.cpp.

◆ getStandardSelectorLoc() [2/2]

SourceLocation clang::getStandardSelectorLoc ( unsigned  Index,
Selector  Sel,
bool  WithArgSpace,
ArrayRef< ParmVarDecl *>  Args,
SourceLocation  EndLoc 
)

Get the "standard" location of a selector identifier, e.g: For nullary selectors, immediately before ']': "[foo release]".

Parameters
WithArgSpaceif true the standard location is with a space apart before arguments: "-(id)first: (int)x second: (int)y;" If false: "-(id)first:(int)x second:(int)y;"

Definition at line 121 of file SelectorLocationsKind.cpp.

◆ getStep()

const Expr * clang::getStep ( )

Returns linear step.

Definition at line 2756 of file OpenMPClause.h.

References getFinals().

◆ getTemplateParamsRange()

SourceRange clang::getTemplateParamsRange ( TemplateParameterList const *const *  Params,
unsigned  NumParams 
)

Retrieves the range of the given template parameter lists.

Definition at line 42 of file SemaTemplate.cpp.

References formAssociatedConstraints().

◆ GetUnarySelector()

Selector clang::GetUnarySelector ( StringRef  name,
ASTContext Ctx 
)
inline

Utility function for constructing an unary selector.

Definition at line 2959 of file ASTContext.h.

References clang::IdentifierTable::get(), clang::SelectorTable::getSelector(), clang::ASTContext::Idents, and clang::ASTContext::Selectors.

Referenced by getMethodReceiverIfKnownImmutable().

◆ GetUnderlyingFunction()

static const FunctionProtoType* clang::GetUnderlyingFunction ( QualType  T)
static

◆ getUpdates()

ArrayRef< const Expr * > clang::getUpdates ( )

Sets the list of update expressions for linear variables.

Definition at line 2681 of file OpenMPClause.h.

References getInits().

Referenced by clang::OMPSharedClause::CreateEmpty(), getFinals(), clang::OMPLoopDirective::setUpdates(), clang::OMPLoopDirective::updates(), and updates().

◆ hasAttribute()

int clang::hasAttribute ( AttrSyntax  Syntax,
const IdentifierInfo Scope,
const IdentifierInfo Attr,
const TargetInfo Target,
const LangOptions LangOpts 
)

Return the version number associated with the attribute if we recognize and implement the attribute specified by the given information.

Definition at line 7 of file Attributes.cpp.

Referenced by IsBuiltInOrStandardCXX11Attribute(), and isTargetEnvironment().

◆ hasImplicitExceptionSpec()

static bool clang::hasImplicitExceptionSpec ( FunctionDecl Decl)
static

◆ hasSpecificAttr()

template<typename SpecificAttr , typename Container >
bool clang::hasSpecificAttr ( const Container &  container)
inline

Definition at line 113 of file AttrIterator.h.

◆ hasStandardSelectorLocs() [1/2]

SelectorLocationsKind clang::hasStandardSelectorLocs ( Selector  Sel,
ArrayRef< SourceLocation SelLocs,
ArrayRef< Expr *>  Args,
SourceLocation  EndLoc 
)

Returns true if all SelLocs are in a "standard" location.

Definition at line 97 of file SelectorLocationsKind.cpp.

Referenced by clang::ObjCMethodDecl::setMethodParams().

◆ hasStandardSelectorLocs() [2/2]

SelectorLocationsKind clang::hasStandardSelectorLocs ( Selector  Sel,
ArrayRef< SourceLocation SelLocs,
ArrayRef< ParmVarDecl *>  Args,
SourceLocation  EndLoc 
)

Returns true if all SelLocs are in a "standard" location.

Definition at line 114 of file SelectorLocationsKind.cpp.

◆ hasWeakerNullability()

bool clang::hasWeakerNullability ( NullabilityKind  L,
NullabilityKind  R 
)
inline

Return true if L has a weaker nullability annotation than R.

The ordering is: Unspecified < Nullable < NonNull.

Definition at line 300 of file Specifiers.h.

References getNullabilitySpelling().

◆ if() [1/2]

clang::if ( T->  getSizeExpr()) -> getSizeExpr()))

Referenced by adjustCallLocations(), clang::AtomicExpr::AtomicExpr(), clang::Sema::BuildLambdaExpr(), CheckOperatorDeleteDeclaration(), checkPointerTypesForAssignment(), ComputeDefaultedSpecialMemberExceptionSpec(), clang::PseudoObjectExpr::Create(), clang::ObjCArrayLiteral::CreateEmpty(), clang::OffsetOfExpr::CreateEmpty(), clang::CallExpr::CreateEmpty(), clang::CompilerInvocation::CreateFromArgs(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::DeclRefExpr::DeclRefExpr(), clang::CodeGen::CGDebugInfo::finalize(), clang::ModuleMap::findModuleForHeader(), clang::FunctionParmMutationAnalyzer::findMutation(), clang::ExprMutationAnalyzer::findPointeeMutation(), clang::CodeGen::CGOpenMPRuntimeNVPTX::getAddressOfLocalVariable(), clang::CXXScalarValueInitExpr::getBeginLoc(), getDecltypeForExpr(), getDeclUsageType(), clang::DesignatedInitUpdateExpr::getEndLoc(), getLiteralInfo(), clang::ASTReader::getModuleImportLoc(), getMSMemberPointerSlots(), clang::FunctionType::getNameForCallConv(), clang::DiagnosticIDs::getNearestOption(), clang::HeaderSearch::getPrebuiltModuleFileName(), clang::ObjCPropertyRefExpr::getReceiverType(), clang::index::getSymbolInfo(), getTopImportImplicitModule(), clang::ASTContext::getTypeUnadjustedAlign(), clang::InitListExpr::InitListExpr(), clang::ModuleMap::isHeaderUnavailableInModule(), isRecordWithSSEVectorType(), clang::ComparisonCategories::lookupInfo(), MethodsAndNestedClassesComplete(), ParseFrontendArgs(), ParseLangArgs(), ParseLoopHintValue(), clang::ModuleMap::parseModuleMapFile(), clang::format::CommaSeparatedList::precomputeFormattingInfos(), clang::ASTDeclReader::ReadFunctionDefinition(), clang::ASTReader::resolvePendingMacro(), clang::ento::ScanReachableSymbols::scan(), searchForFile(), clang::format::ShouldBreakBeforeBrace(), and clang::ShuffleVectorExpr::ShuffleVectorExpr().

◆ if() [2/2]

clang::if ( D->  hasExplicitTemplateArgs())

Definition at line 1461 of file RecursiveASTVisitor.h.

References clang::CXXRecordDecl::bases(), clang::TemplateParameterList::begin(), clang::InitListExpr::children(), DEF_TRAVERSE_DECL(), DEF_TRAVERSE_STMT, DEF_TRAVERSE_TMPL_DECL, DEF_TRAVERSE_TMPL_PART_SPEC_DECL, DEF_TRAVERSE_TMPL_SPEC_DECL, clang::TemplateParameterList::end(), clang::TemplateArgumentListInfo::getArgumentArray(), clang::Decl::getBody(), clang::FunctionDecl::getBody(), clang::RecursiveASTVisitor< Derived >::getDerived(), clang::VarDecl::getInit(), clang::FunctionDecl::getNameInfo(), clang::DeclaratorDecl::getQualifierLoc(), clang::TagDecl::getQualifierLoc(), clang::RecursiveASTVisitor< Derived >::getStmtChildren(), clang::InitListExpr::getSyntacticForm(), clang::FunctionTemplateDecl::getTemplatedDecl(), clang::TemplateDecl::getTemplateParameters(), clang::FunctionDecl::getTemplateSpecializationInfo(), clang::CXXRecordDecl::getTemplateSpecializationKind(), clang::ValueDecl::getType(), clang::TypeSourceInfo::getTypeLoc(), clang::CXXBaseSpecifier::getTypeSourceInfo(), clang::DeclaratorDecl::getTypeSourceInfo(), clang::TagDecl::isCompleteDefinition(), clang::VarDecl::isCXXForRangeDecl(), clang::InitListExpr::isSemanticForm(), clang::FunctionDecl::isThisDeclarationADefinition(), Parameter, clang::FunctionDecl::parameters(), clang::RecursiveASTVisitor< Derived >::shouldTraversePostOrder(), ShouldVisitChildren, clang::RecursiveASTVisitor< Derived >::shouldVisitImplicitCode(), clang::RecursiveASTVisitor< Derived >::shouldVisitTemplateInstantiations(), clang::TemplateArgumentListInfo::size(), clang::FunctionTemplateDecl::specializations(), clang::ClassTemplateDecl::specializations(), clang::VarTemplateDecl::specializations(), STMT, clang::RecursiveASTVisitor< Derived >::TraverseConstructorInitializer(), clang::RecursiveASTVisitor< Derived >::TraverseCXXBaseSpecifier(), clang::RecursiveASTVisitor< Derived >::TraverseDecl(), clang::RecursiveASTVisitor< Derived >::TraverseDeclarationNameInfo(), clang::RecursiveASTVisitor< Derived >::TraverseNestedNameSpecifierLoc(), clang::RecursiveASTVisitor< Derived >::TraverseStmt(), clang::RecursiveASTVisitor< Derived >::TraverseSynOrSemInitListExpr(), clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc(), clang::RecursiveASTVisitor< Derived >::TraverseType(), clang::RecursiveASTVisitor< Derived >::TraverseTypeLoc(), TRY_TO, TRY_TO(), TRY_TO_TRAVERSE_OR_ENQUEUE_STMT, TSK_ExplicitInstantiationDeclaration, TSK_ExplicitInstantiationDefinition, TSK_ExplicitSpecialization, TSK_ImplicitInstantiation, and TSK_Undeclared.

◆ initialize()

template<class TemplateInstantiationCallbackPtrs >
void clang::initialize ( TemplateInstantiationCallbackPtrs &  Callbacks,
const Sema TheSema 
)

◆ InitializePreprocessor()

void clang::InitializePreprocessor ( Preprocessor PP,
const PreprocessorOptions InitOpts,
const PCHContainerReader PCHContainerRdr,
const FrontendOptions FEOpts 
)

InitializePreprocessor - Initialize the preprocessor getting it and the environment ready to process a single file.

This returns true on error.

Definition at line 1088 of file InitPreprocessor.cpp.

References clang::Preprocessor::getLangOpts().

Referenced by clang::CompilerInstance::createPreprocessor().

◆ inits()

inits_const_range clang::inits ( )

Definition at line 2793 of file OpenMPClause.h.

References getInits().

◆ isa()

template<class U >
bool clang::isa ( CodeGen::Address  addr)
inline

Definition at line 112 of file Address.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitBlockLiteral().

◆ isAllowedClauseForDirective()

bool clang::isAllowedClauseForDirective ( OpenMPDirectiveKind  DKind,
OpenMPClauseKind  CKind 
)

Definition at line 348 of file OpenMPKinds.cpp.

References OMPC_unknown, and OMPD_unknown.

◆ isAlphanumeric()

LLVM_READONLY bool clang::isAlphanumeric ( unsigned char  c)
inline

◆ isASCII()

LLVM_READNONE bool clang::isASCII ( char  c)
inline

Returns true if this is an ASCII character.

Definition at line 43 of file CharInfo.h.

Referenced by clang::StringLiteral::containsNonAscii(), clang::StringLiteral::containsNonAsciiOrNull(), findPlaceholderEnd(), and maybeDiagnoseUTF8Homoglyph().

◆ isBetterOverloadCandidate()

bool clang::isBetterOverloadCandidate ( Sema S,
const OverloadCandidate Cand1,
const OverloadCandidate Cand2,
SourceLocation  Loc,
OverloadCandidateSet::CandidateSetKind  Kind 
)

isBetterOverloadCandidate - Determines whether the first overload candidate is a better candidate than the second (C++ 13.3.3p1).

Definition at line 9098 of file SemaOverload.cpp.

Referenced by mergeCandidatesWithResults().

◆ isComputedNoexcept()

bool clang::isComputedNoexcept ( ExceptionSpecificationType  ESpecType)
inline

◆ isDigit()

LLVM_READONLY bool clang::isDigit ( unsigned char  c)
inline

◆ isDiscardableGVALinkage()

bool clang::isDiscardableGVALinkage ( GVALinkage  L)
inline

Definition at line 82 of file Linkage.h.

References GVA_DiscardableODR.

Referenced by clang::ASTContext::DeclMustBeEmitted(), and IsKnownEmitted().

◆ isDynamicExceptionSpec()

bool clang::isDynamicExceptionSpec ( ExceptionSpecificationType  ESpecType)
inline

◆ IsEnumDeclComplete()

bool clang::IsEnumDeclComplete ( EnumDecl ED)
inline

Check if the given decl is complete.

We use this function to break a cycle between the inline definitions in Type.h and Decl.h.

Definition at line 4327 of file Decl.h.

References clang::EnumDecl::isComplete().

Referenced by clang::Type::isIntegerType(), clang::Type::isIntegralOrEnumerationType(), clang::Type::isNullPtrType(), and clang::Type::isScalarType().

◆ IsEnumDeclScoped()

bool clang::IsEnumDeclScoped ( EnumDecl ED)
inline

Check if the given decl is scoped.

We use this function to break a cycle between the inline definitions in Type.h and Decl.h.

Definition at line 4335 of file Decl.h.

References clang::EnumDecl::isScoped().

Referenced by clang::Type::isIntegerType(), and clang::Type::isNullPtrType().

◆ isExternalFormalLinkage()

bool clang::isExternalFormalLinkage ( Linkage  L)
inline

◆ isExternallyVisible()

bool clang::isExternallyVisible ( Linkage  L)
inline

◆ isGenericLambdaCallOperatorSpecialization() [1/2]

bool clang::isGenericLambdaCallOperatorSpecialization ( const CXXMethodDecl MD)
inline

◆ isGenericLambdaCallOperatorSpecialization() [2/2]

bool clang::isGenericLambdaCallOperatorSpecialization ( DeclContext DC)
inline

Definition at line 63 of file ASTLambda.h.

References isGenericLambdaCallOperatorSpecialization().

◆ isHexDigit()

LLVM_READONLY bool clang::isHexDigit ( unsigned char  c)
inline

◆ isHorizontalWhitespace()

LLVM_READONLY bool clang::isHorizontalWhitespace ( unsigned char  c)
inline

Returns true if this character is horizontal ASCII whitespace: ' ', '\t', '\f', '\v'.

Note that this returns false for '\0'.

Definition at line 71 of file CharInfo.h.

References clang::charinfo::CHAR_HORZ_WS, clang::charinfo::CHAR_SPACE, and clang::charinfo::InfoTable.

Referenced by clang::Lexer::findLocationAfterToken(), findPlaceholderEnd(), isEndOfBlockCommentWithEscapedNewLine(), clang::Lexer::isNewLineEscaped(), and onlyWhitespaceOnLineBefore().

◆ isIdentifierBody()

LLVM_READONLY bool clang::isIdentifierBody ( unsigned char  c,
bool  AllowDollar = false 
)
inline

Returns true if this is a body character of a C identifier, which is [a-zA-Z0-9_].

Definition at line 59 of file CharInfo.h.

References clang::charinfo::CHAR_DIGIT, clang::charinfo::CHAR_LOWER, clang::charinfo::CHAR_UNDER, clang::charinfo::CHAR_UPPER, and clang::charinfo::InfoTable.

Referenced by fixItNullability(), clang::Lexer::isIdentifierBodyChar(), and maybeDiagnoseUTF8Homoglyph().

◆ isIdentifierHead()

LLVM_READONLY bool clang::isIdentifierHead ( unsigned char  c,
bool  AllowDollar = false 
)
inline

Returns true if this is a valid first character of a C identifier, which is [a-zA-Z_].

Definition at line 49 of file CharInfo.h.

References clang::charinfo::CHAR_LOWER, clang::charinfo::CHAR_UNDER, clang::charinfo::CHAR_UPPER, and clang::charinfo::InfoTable.

◆ isLambdaCallOperator() [1/2]

bool clang::isLambdaCallOperator ( const CXXMethodDecl MD)
inline

◆ isLambdaCallOperator() [2/2]

bool clang::isLambdaCallOperator ( const DeclContext DC)
inline

Definition at line 34 of file ASTLambda.h.

References isLambdaCallOperator().

◆ isLambdaConversionOperator() [1/2]

bool clang::isLambdaConversionOperator ( CXXConversionDecl C)
inline

◆ isLambdaConversionOperator() [2/2]

bool clang::isLambdaConversionOperator ( Decl D)
inline

Definition at line 52 of file ASTLambda.h.

References isLambdaConversionOperator().

◆ isLegalForFunction()

bool clang::isLegalForFunction ( StorageClass  SC)
inline

Checks whether the given storage class is legal for functions.

Definition at line 219 of file Specifiers.h.

References SC_PrivateExtern.

◆ isLegalForVariable()

bool clang::isLegalForVariable ( StorageClass  SC)
inline

Checks whether the given storage class is legal for variables.

Definition at line 224 of file Specifiers.h.

Referenced by clang::VarDecl::setStorageClass().

◆ isLetter()

LLVM_READONLY bool clang::isLetter ( unsigned char  c)
inline

◆ isLowercase()

LLVM_READONLY bool clang::isLowercase ( unsigned char  c)
inline

Return true if this character is a lowercase ASCII letter: [a-z].

Definition at line 100 of file CharInfo.h.

References clang::charinfo::CHAR_LOWER, and clang::charinfo::InfoTable.

Referenced by clang::ento::coreFoundation::followsCreateRule(), isSetterLikeSelector(), LookupMethodInReceiverType(), startsWithWord(), and toUppercase().

◆ isNoexceptExceptionSpec()

bool clang::isNoexceptExceptionSpec ( ExceptionSpecificationType  ESpecType)
inline

◆ isOpenMPDistributeDirective()

bool clang::isOpenMPDistributeDirective ( OpenMPDirectiveKind  DKind)

◆ isOpenMPLoopBoundSharingDirective()

bool clang::isOpenMPLoopBoundSharingDirective ( OpenMPDirectiveKind  Kind)

Checks if the specified directive kind is one of the composite or combined directives that need loop bound sharing across loops outlined in nested functions.

Definition at line 910 of file OpenMPKinds.cpp.

Referenced by checkOpenMPLoop(), emitEmptyOrdered(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitOutlinedFunctionCall(), clang::OMPLoopDirective::getArraysOffset(), clang::OMPLoopDirective::getCombinedCond(), clang::OMPLoopDirective::getCombinedDistCond(), clang::OMPLoopDirective::getCombinedEnsureUpperBound(), clang::OMPLoopDirective::getCombinedInit(), clang::OMPLoopDirective::getCombinedLowerBoundVariable(), clang::OMPLoopDirective::getCombinedNextLowerBound(), clang::OMPLoopDirective::getCombinedNextUpperBound(), clang::OMPLoopDirective::getCombinedParForInDistCond(), clang::OMPLoopDirective::getCombinedUpperBoundVariable(), clang::OMPLoopDirective::getDistInc(), clang::OMPLoopDirective::getPrevEnsureUpperBound(), clang::OMPLoopDirective::getPrevLowerBoundVariable(), clang::OMPLoopDirective::getPrevUpperBoundVariable(), clang::OMPLoopDirective::setCombinedCond(), clang::OMPLoopDirective::setCombinedDistCond(), clang::OMPLoopDirective::setCombinedEnsureUpperBound(), clang::OMPLoopDirective::setCombinedInit(), clang::OMPLoopDirective::setCombinedLowerBoundVariable(), clang::OMPLoopDirective::setCombinedNextLowerBound(), clang::OMPLoopDirective::setCombinedNextUpperBound(), clang::OMPLoopDirective::setCombinedParForInDistCond(), clang::OMPLoopDirective::setCombinedUpperBoundVariable(), clang::OMPLoopDirective::setDistInc(), clang::OMPLoopDirective::setPrevEnsureUpperBound(), clang::OMPLoopDirective::setPrevLowerBoundVariable(), and clang::OMPLoopDirective::setPrevUpperBoundVariable().

◆ isOpenMPLoopDirective()

bool clang::isOpenMPLoopDirective ( OpenMPDirectiveKind  DKind)

Checks if the specified directive is a directive with an associated loop construct.

Parameters
DKindSpecified directive.
Returns
true - the directive is a loop-associated directive like 'omp simd' or 'omp for' directive, otherwise - false.

Definition at line 784 of file OpenMPKinds.cpp.

Referenced by clang::Sema::ActOnOpenMPLoopInitialization(), emitForStaticInitCall(), hasNestedLightweightDirective(), hasStaticScheduling(), clang::Sema::isOpenMPPrivateDecl(), and clang::Sema::startOpenMPLoop().

◆ isOpenMPNestingDistributeDirective()

bool clang::isOpenMPNestingDistributeDirective ( OpenMPDirectiveKind  DKind)

Checks if the specified composite/combined directive constitutes a distribute directive in the outermost nest.

For example, 'omp distribute parallel for' or 'omp distribute'.

Parameters
DKindSpecified directive.
Returns
true - the directive has distribute on the outermost nest. otherwise - false.

Definition at line 877 of file OpenMPKinds.cpp.

Referenced by checkNestingOfRegions(), and isOpenMPDistributeDirective().

◆ isOpenMPNestingTeamsDirective()

bool clang::isOpenMPNestingTeamsDirective ( OpenMPDirectiveKind  DKind)

Checks if the specified composite/combined directive constitutes a teams directive in the outermost nest.

For example 'omp teams distribute' or 'omp teams distribute parallel for'.

Parameters
DKindSpecified directive.
Returns
true - the directive has teams on the outermost nest, otherwise - false.

Definition at line 850 of file OpenMPKinds.cpp.

Referenced by checkNestingOfRegions(), and isOpenMPTeamsDirective().

◆ isOpenMPParallelDirective()

bool clang::isOpenMPParallelDirective ( OpenMPDirectiveKind  DKind)

Checks if the specified directive is a parallel-kind directive.

Parameters
DKindSpecified directive.
Returns
true - the directive is a parallel-like directive like 'omp parallel', otherwise - false.

Definition at line 822 of file OpenMPKinds.cpp.

Referenced by clang::Sema::ActOnOpenMPLastprivateClause(), checkNestingOfRegions(), emitNumTeamsForTargetDirective(), emitNumThreadsForTargetDirective(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseFinal(), hasNestedLightweightDirective(), and hasNestedSPMDDirective().

◆ isOpenMPPrivate()

bool clang::isOpenMPPrivate ( OpenMPClauseKind  Kind)

Checks if the specified clause is one of private clauses like 'private', 'firstprivate', 'reduction' etc.

Parameters
KindClause kind.
Returns
true - the clause is a private clause, otherwise - false.

Definition at line 895 of file OpenMPKinds.cpp.

Referenced by clang::Sema::ActOnOpenMPIsDevicePtrClause(), clang::Sema::ActOnOpenMPRegionEnd(), and checkMappableExpressionList().

◆ isOpenMPSimdDirective()

bool clang::isOpenMPSimdDirective ( OpenMPDirectiveKind  DKind)

◆ isOpenMPTargetDataManagementDirective()

bool clang::isOpenMPTargetDataManagementDirective ( OpenMPDirectiveKind  DKind)

Checks if the specified directive is a target data offload directive.

Parameters
DKindSpecified directive.
Returns
true - the directive is a target data offload directive like 'omp target data', 'omp target update', 'omp target enter data', 'omp target exit data' otherwise - false.

Definition at line 845 of file OpenMPKinds.cpp.

Referenced by checkNestingOfRegions(), emitPrivatesInit(), and clang::CodeGen::emitTaskInit().

◆ isOpenMPTargetExecutionDirective()

bool clang::isOpenMPTargetExecutionDirective ( OpenMPDirectiveKind  DKind)

◆ isOpenMPTaskingDirective()

bool clang::isOpenMPTaskingDirective ( OpenMPDirectiveKind  Kind)

Checks if the specified directive kind is one of tasking directives - task, taskloop or taksloop simd.

Definition at line 906 of file OpenMPKinds.cpp.

References isOpenMPTaskLoopDirective().

Referenced by clang::Sema::ActOnOpenMPPrivateClause(), clang::Sema::ActOnOpenMPRegionEnd(), checkNestingOfRegions(), and reportOriginalDsa().

◆ isOpenMPTaskLoopDirective()

bool clang::isOpenMPTaskLoopDirective ( OpenMPDirectiveKind  DKind)

◆ isOpenMPTeamsDirective()

bool clang::isOpenMPTeamsDirective ( OpenMPDirectiveKind  DKind)

Checks if the specified directive is a teams-kind directive.

For example, 'omp teams distribute' or 'omp target teams'.

Parameters
DKindSpecified directive.
Returns
true - the directive is a teams-like directive, otherwise - false.

Definition at line 857 of file OpenMPKinds.cpp.

References isOpenMPNestingTeamsDirective().

Referenced by clang::Sema::ActOnOpenMPLastprivateClause(), clang::Sema::ActOnOpenMPTargetDirective(), checkNestingOfRegions(), emitNumTeamsForTargetDirective(), emitNumThreadsForTargetDirective(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::emitTargetNumIterationsCall(), getDistributeLastprivateVars(), and getTeamsReductionVars().

◆ isOpenMPThreadPrivate()

bool clang::isOpenMPThreadPrivate ( OpenMPClauseKind  Kind)

Checks if the specified clause is one of threadprivate clauses like 'threadprivate', 'copyin' or 'copyprivate'.

Parameters
KindClause kind.
Returns
true - the clause is a threadprivate clause, otherwise - false.

Definition at line 902 of file OpenMPKinds.cpp.

References OMPC_threadprivate.

◆ isOpenMPWorksharingDirective()

bool clang::isOpenMPWorksharingDirective ( OpenMPDirectiveKind  DKind)

◆ isPreprocessingNumberBody()

LLVM_READONLY bool clang::isPreprocessingNumberBody ( unsigned char  c)
inline

◆ isPrintable()

LLVM_READONLY bool clang::isPrintable ( unsigned char  c)
inline

Return true if this character is an ASCII printable character; that is, a character that should take exactly one column to print in a fixed-width terminal.

Definition at line 140 of file CharInfo.h.

References clang::charinfo::CHAR_DIGIT, clang::charinfo::CHAR_LOWER, clang::charinfo::CHAR_PERIOD, clang::charinfo::CHAR_PUNCT, clang::charinfo::CHAR_RAWDEL, clang::charinfo::CHAR_SPACE, clang::charinfo::CHAR_UNDER, clang::charinfo::CHAR_UPPER, and clang::charinfo::InfoTable.

Referenced by isImplicitSelf(), outputPrintable(), clang::StringLiteral::outputString(), and ProcessCharEscape().

◆ isPunctuation()

LLVM_READONLY bool clang::isPunctuation ( unsigned char  c)
inline

Return true if this character is an ASCII punctuation character.

Note that '_' is both a punctuation character and an identifier character!

Definition at line 132 of file CharInfo.h.

References clang::charinfo::CHAR_PERIOD, clang::charinfo::CHAR_PUNCT, clang::charinfo::CHAR_RAWDEL, clang::charinfo::CHAR_UNDER, and clang::charinfo::InfoTable.

Referenced by clang::format::mayReflowContent(), and ScanFormat().

◆ isRawStringDelimBody()

LLVM_READONLY bool clang::isRawStringDelimBody ( unsigned char  c)
inline

◆ isTargetAddressSpace()

bool clang::isTargetAddressSpace ( LangAS  AS)
inline
Returns
whether AS is a target-specific address space rather than a clang AST address space

Definition at line 58 of file AddressSpaces.h.

References FirstTargetAddressSpace.

Referenced by clang::ASTContext::addressSpaceMapManglingFor(), clang::ASTContext::getTargetAddressSpace(), clang::Qualifiers::hasTargetSpecificAddressSpace(), and toTargetAddressSpace().

◆ isTemplateExplicitInstantiationOrSpecialization()

bool clang::isTemplateExplicitInstantiationOrSpecialization ( TemplateSpecializationKind  Kind)
inline

◆ isTemplateInstantiation()

bool clang::isTemplateInstantiation ( TemplateSpecializationKind  Kind)
inline

◆ isUndeducedReturnType()

static bool clang::isUndeducedReturnType ( QualType  T)
static

◆ isUnresolvedExceptionSpec()

bool clang::isUnresolvedExceptionSpec ( ExceptionSpecificationType  ESpecType)
inline

◆ isUppercase()

LLVM_READONLY bool clang::isUppercase ( unsigned char  c)
inline

Return true if this character is an uppercase ASCII letter: [A-Z].

Definition at line 106 of file CharInfo.h.

References clang::charinfo::CHAR_UPPER, and clang::charinfo::InfoTable.

Referenced by isReservedId(), rewriteToObjCProperty(), and toLowercase().

◆ isValidIdentifier()

LLVM_READONLY bool clang::isValidIdentifier ( StringRef  S,
bool  AllowDollar = false 
)
inline

Return true if this is a valid ASCII identifier.

Note that this is a very simple check; it does not accept UCNs as valid identifier characters.

Definition at line 185 of file CharInfo.h.

Referenced by printModuleId(), and clang::RewriteIncludesAction::RewriteImportsListener::visitModuleFile().

◆ IsVariableAConstantExpression()

bool clang::IsVariableAConstantExpression ( VarDecl Var,
ASTContext Context 
)
inline

◆ isVerticalWhitespace()

LLVM_READONLY bool clang::isVerticalWhitespace ( unsigned char  c)
inline

Returns true if this character is vertical ASCII whitespace: '\n', '\r'.

Note that this returns false for '\0'.

Definition at line 79 of file CharInfo.h.

References clang::charinfo::CHAR_VERT_WS, and clang::charinfo::InfoTable.

Referenced by findBeginningOfLine(), clang::Lexer::isNewLineEscaped(), and onlyWhitespaceOnLineBefore().

◆ isWhitespace() [1/2]

static bool clang::isWhitespace ( llvm::StringRef  S)
inlinestatic

Definition at line 20 of file CommentParser.cpp.

◆ isWhitespace() [2/2]

LLVM_READONLY bool clang::isWhitespace ( unsigned char  c)
inline

◆ lazyInitKeywordSelector()

template<typename... IdentifierInfos>
static void clang::lazyInitKeywordSelector ( Selector Sel,
ASTContext Ctx,
IdentifierInfos *...  IIs 
)
inlinestatic

Definition at line 28 of file SelectorExtras.h.

References getKeywordSelector(), and clang::Selector::isNull().

◆ LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()

clang::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ( )

◆ make_error_code()

std::error_code clang::make_error_code ( BuildPreambleError  Error)

Definition at line 749 of file PrecompiledPreamble.cpp.

Referenced by findGccVersion().

◆ MakeDeductionFailureInfo()

DeductionFailureInfo clang::MakeDeductionFailureInfo ( ASTContext Context,
Sema::TemplateDeductionResult  TDK,
sema::TemplateDeductionInfo Info 
)

Convert from Sema's representation of template deduction information to the form used in overload-candidate information.

Definition at line 590 of file SemaOverload.cpp.

Referenced by clang::Sema::ResolveSingleFunctionTemplateSpecialization(), and clang::EnterExpressionEvaluationContext::~EnterExpressionEvaluationContext().

◆ MarkVarDeclODRUsed()

void clang::MarkVarDeclODRUsed ( VarDecl Var,
SourceLocation  Loc,
Sema SemaRef,
const unsigned *const  FunctionScopeIndexToStopAt 
)
inline

◆ MaxVersionForCudaArch()

CudaVersion clang::MaxVersionForCudaArch ( CudaArch  A)

◆ mergeCanThrow()

CanThrowResult clang::mergeCanThrow ( CanThrowResult  CT1,
CanThrowResult  CT2 
)
inline

Definition at line 59 of file ExceptionSpecificationType.h.

Referenced by canSubExprsThrow(), and clang::Sema::canThrow().

◆ minLinkage()

Linkage clang::minLinkage ( Linkage  L1,
Linkage  L2 
)
inline

Compute the minimum linkage given two linkages.

The linkage can be interpreted as a pair formed by the formal linkage and a boolean for external visibility. This is just what getFormalLinkage and isExternallyVisible return. We want the minimum of both components. The Linkage enum is defined in an order that makes this simple, we just need special cases for when VisibleNoLinkage would lose the visible bit and become NoLinkage.

Definition at line 115 of file Linkage.h.

References InternalLinkage, NoLinkage, UniqueExternalLinkage, and VisibleNoLinkage.

Referenced by clang::LinkageInfo::mergeLinkage(), and clang::ObjCTypeParamType::Profile().

◆ MinVersionForCudaArch()

CudaVersion clang::MinVersionForCudaArch ( CudaArch  A)

◆ minVisibility()

Visibility clang::minVisibility ( Visibility  L,
Visibility  R 
)
inline

Definition at line 49 of file Visibility.h.

◆ operator &()

DiagnosticLevelMask clang::operator& ( DiagnosticLevelMask  LHS,
DiagnosticLevelMask  RHS 
)
inline

Definition at line 54 of file DiagnosticOptions.h.

References operator<<(), and clang::ast_matchers::type.

◆ operator!=() [1/2]

bool clang::operator!= ( const SourceLocation LHS,
const SourceLocation RHS 
)
inline

Definition at line 189 of file SourceLocation.h.

◆ operator!=() [2/2]

template<typename T , typename U >
bool clang::operator!= ( CanQual< T >  x,
CanQual< U >  y 
)
inline

◆ operator<() [1/6]

bool clang::operator< ( const LineEntry lhs,
const LineEntry rhs 
)
inline

Definition at line 67 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

◆ operator<() [2/6]

bool clang::operator< ( const LineEntry E,
unsigned  Offset 
)
inline

Definition at line 72 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset, and Offset.

◆ operator<() [3/6]

bool clang::operator< ( unsigned  Offset,
const LineEntry E 
)
inline

Definition at line 76 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

◆ operator<() [4/6]

bool clang::operator< ( const SourceLocation LHS,
const SourceLocation RHS 
)
inline

Definition at line 193 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

◆ operator<() [5/6]

bool clang::operator< ( DeclarationName  LHS,
DeclarationName  RHS 
)
inline

Ordering on two declaration names.

If both names are identifiers, this provides a lexicographical ordering.

Definition at line 541 of file DeclarationName.h.

References clang::DeclarationName::compare().

Referenced by buildBlockDescriptor(), clang::CodeGen::CGDebugInfo::EmitDeclareOfArgVariable(), GetGCAttrTypeForType(), maybeDiagnoseUTF8Homoglyph(), and clang::ObjCInterfaceDecl::setImplementation().

◆ operator<() [6/6]

bool clang::operator< ( const CodeCompletionResult X,
const CodeCompletionResult Y 
)

◆ operator<<() [1/44]

raw_ostream & clang::operator<< ( raw_ostream &  Out,
DiagnosticLevelMask  M 
)

Definition at line 20 of file DiagnosticOptions.cpp.

References clang::ast_matchers::type.

◆ operator<<() [2/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
CanQualType  T 
)
inline

Definition at line 219 of file CanonicalType.h.

◆ operator<<() [3/44]

const DiagnosticBuilder & clang::operator<< ( const DiagnosticBuilder DB,
TemplateName  N 
)

Insertion operator for diagnostics.

This allows sending TemplateName's into a diagnostic with <<.

Definition at line 240 of file TemplateName.cpp.

References clang::TemplateName::print().

◆ operator<<() [4/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const Attr At 
)
inline

◆ operator<<() [5/44]

const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic PD,
const Attr At 
)
inline

◆ operator<<() [6/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const PartialDiagnostic PD 
)
inline

Definition at line 411 of file PartialDiagnostic.h.

References clang::PartialDiagnostic::Emit().

◆ operator<<() [7/44]

raw_ostream & clang::operator<< ( raw_ostream &  out,
const ObjCRuntime value 
)

◆ operator<<() [8/44]

raw_ostream& clang::operator<< ( raw_ostream &  OS,
const NamedDecl ND 
)
inline

Definition at line 459 of file Decl.h.

References clang::NamedDecl::printName().

◆ operator<<() [9/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
NestedNameSpecifier NNS 
)
inline

Insertion operator for diagnostics.

This allows sending NestedNameSpecifiers into a diagnostic with <<.

Definition at line 516 of file NestedNameSpecifier.h.

References clang::DiagnosticBuilder::AddTaggedVal(), and clang::DiagnosticsEngine::ak_nestednamespec.

◆ operator<<() [10/44]

raw_ostream & clang::operator<< ( raw_ostream &  OS,
DeclarationName  N 
)

Definition at line 208 of file DeclarationName.cpp.

References clang::DeclarationName::print().

◆ operator<<() [11/44]

const DiagnosticBuilder & clang::operator<< ( const DiagnosticBuilder DB,
const TemplateArgument Arg 
)

◆ operator<<() [12/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
DeclarationName  N 
)
inline

Insertion operator for diagnostics.

This allows sending DeclarationName's into a diagnostic with <<.

Definition at line 817 of file DeclarationName.h.

References clang::DiagnosticBuilder::AddTaggedVal(), clang::DiagnosticsEngine::ak_declarationname, and clang::DeclarationName::getAsOpaqueInteger().

◆ operator<<() [13/44]

const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic PD,
DeclarationName  N 
)
inline

Insertion operator for partial diagnostics.

This allows binding DeclarationName's into a partial diagnostic with <<.

Definition at line 826 of file DeclarationName.h.

References clang::PartialDiagnostic::AddTaggedVal(), clang::DiagnosticsEngine::ak_declarationname, and clang::DeclarationName::getAsOpaqueInteger().

◆ operator<<() [14/44]

raw_ostream& clang::operator<< ( raw_ostream &  OS,
DeclarationNameInfo  DNInfo 
)
inline

Definition at line 833 of file DeclarationName.h.

References clang::DeclarationNameInfo::printName().

◆ operator<<() [15/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const ParsedAttr At 
)
inline

◆ operator<<() [16/44]

const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic PD,
const ParsedAttr At 
)
inline

◆ operator<<() [17/44]

raw_ostream& clang::operator<< ( raw_ostream &  OS,
const CodeCompletionString CCS 
)

◆ operator<<() [18/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const ParsedAttr At 
)
inline

◆ operator<<() [19/44]

const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic PD,
const ParsedAttr At 
)
inline

◆ operator<<() [20/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const AddFlagValue  V 
)
inline

Register a value for the flag in the current diagnostic.

This value will be shown as the suffix "=value" after the flag name. It is useful in cases where the diagnostic flag accepts values (e.g., -Rpass or -Wframe-larger-than).

Definition at line 1188 of file Diagnostic.h.

References clang::DiagnosticBuilder::addFlagValue(), and clang::AddFlagValue::Val.

◆ operator<<() [21/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
StringRef  S 
)
inline

Definition at line 1194 of file Diagnostic.h.

◆ operator<<() [22/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const char *  Str 
)
inline

◆ operator<<() [23/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
int  I 
)
inline

◆ operator<<() [24/44]

template<typename T >
std::enable_if<std::is_same<T, bool>::value, const DiagnosticBuilder &>::type clang::operator<< ( const DiagnosticBuilder DB,
I 
)
inline

◆ operator<<() [25/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
unsigned  I 
)
inline

◆ operator<<() [26/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
tok::TokenKind  I 
)
inline

◆ operator<<() [27/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const IdentifierInfo II 
)
inline

◆ operator<<() [28/44]

template<typename T >
std::enable_if< std::is_same<typename std::remove_const<T>::type, DeclContext>::value, const DiagnosticBuilder &>::type clang::operator<< ( const DiagnosticBuilder DB,
T *  DC 
)
inline

◆ operator<<() [29/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
SourceRange  R 
)
inline

◆ operator<<() [30/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
ArrayRef< SourceRange Ranges 
)
inline

◆ operator<<() [31/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const CharSourceRange R 
)
inline

Definition at line 1269 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddSourceRange().

◆ operator<<() [32/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const FixItHint Hint 
)
inline

Definition at line 1275 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddFixItHint().

◆ operator<<() [33/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
ArrayRef< FixItHint Hints 
)
inline

Definition at line 1281 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddFixItHint().

◆ operator<<() [34/44]

const DiagnosticBuilder & clang::operator<< ( const DiagnosticBuilder DB,
DiagNullabilityKind  nullability 
)

Definition at line 44 of file Diagnostic.cpp.

References clang::DiagnosticBuilder::AddString(), NonNull, Nullable, and Unspecified.

◆ operator<<() [35/44]

raw_ostream & clang::operator<< ( raw_ostream &  OS,
const ObjCCategoryImplDecl CID 
)

Definition at line 2136 of file DeclObjC.cpp.

References clang::NamedDecl::getName().

◆ operator<<() [36/44]

raw_ostream & clang::operator<< ( raw_ostream &  OS,
const ObjCImplementationDecl ID 
)

Definition at line 2187 of file DeclObjC.cpp.

References clang::ObjCImplementationDecl::getName().

◆ operator<<() [37/44]

const DiagnosticBuilder & clang::operator<< ( const DiagnosticBuilder DB,
AccessSpecifier  AS 
)

Insertion operator for diagnostics.

This allows sending an AccessSpecifier into a diagnostic with <<.

Definition at line 2945 of file DeclCXX.cpp.

References getAccessName().

◆ operator<<() [38/44]

const PartialDiagnostic & clang::operator<< ( const PartialDiagnostic DB,
AccessSpecifier  AS 
)

Definition at line 2950 of file DeclCXX.cpp.

References getAccessName().

◆ operator<<() [39/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
const NamedDecl ND 
)
inline

Insertion operator for diagnostics.

This allows sending NamedDecl's into a diagnostic with <<.

Definition at line 4275 of file Decl.h.

References clang::DiagnosticBuilder::AddTaggedVal(), and clang::DiagnosticsEngine::ak_nameddecl.

◆ operator<<() [40/44]

const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic PD,
const NamedDecl ND 
)
inline

◆ operator<<() [41/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
Qualifiers  Q 
)
inline

Insertion operator for diagnostics.

This allows sending Qualifiers into a diagnostic with <<.

Definition at line 6706 of file Type.h.

References clang::DiagnosticBuilder::AddTaggedVal(), and clang::Qualifiers::getAsOpaqueValue().

◆ operator<<() [42/44]

const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic PD,
Qualifiers  Q 
)
inline

Insertion operator for partial diagnostics.

This allows sending Qualifiers into a diagnostic with <<.

Definition at line 6715 of file Type.h.

References clang::PartialDiagnostic::AddTaggedVal(), and clang::Qualifiers::getAsOpaqueValue().

◆ operator<<() [43/44]

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder DB,
QualType  T 
)
inline

Insertion operator for diagnostics.

This allows sending QualType's into a diagnostic with <<.

Definition at line 6724 of file Type.h.

References clang::DiagnosticBuilder::AddTaggedVal(), clang::DiagnosticsEngine::ak_qualtype, and clang::QualType::getAsOpaquePtr().

◆ operator<<() [44/44]

const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic PD,
QualType  T 
)
inline

Insertion operator for partial diagnostics.

This allows sending QualType's into a diagnostic with <<.

Definition at line 6733 of file Type.h.

References clang::PartialDiagnostic::AddTaggedVal(), clang::DiagnosticsEngine::ak_qualtype, and clang::QualType::getAsOpaquePtr().

◆ operator<=() [1/2]

bool clang::operator<= ( DeclarationName  LHS,
DeclarationName  RHS 
)
inline

Ordering on two declaration names.

If both names are identifiers, this provides a lexicographical ordering.

Definition at line 553 of file DeclarationName.h.

References clang::DeclarationName::compare().

◆ operator<=() [2/2]

bool clang::operator<= ( const CodeCompletionResult X,
const CodeCompletionResult Y 
)
inline

Definition at line 984 of file CodeCompleteConsumer.h.

References X.

◆ operator==() [1/2]

bool clang::operator== ( const SourceLocation LHS,
const SourceLocation RHS 
)
inline

Definition at line 185 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

◆ operator==() [2/2]

template<typename T , typename U >
bool clang::operator== ( CanQual< T >  x,
CanQual< U >  y 
)
inline

◆ operator>() [1/2]

bool clang::operator> ( DeclarationName  LHS,
DeclarationName  RHS 
)
inline

Ordering on two declaration names.

If both names are identifiers, this provides a lexicographical ordering.

Definition at line 547 of file DeclarationName.h.

References clang::DeclarationName::compare().

◆ operator>() [2/2]

bool clang::operator> ( const CodeCompletionResult X,
const CodeCompletionResult Y 
)
inline

Definition at line 979 of file CodeCompleteConsumer.h.

References X.

◆ operator>=() [1/2]

bool clang::operator>= ( DeclarationName  LHS,
DeclarationName  RHS 
)
inline

Ordering on two declaration names.

If both names are identifiers, this provides a lexicographical ordering.

Definition at line 559 of file DeclarationName.h.

References clang::DeclarationName::compare().

◆ operator>=() [2/2]

bool clang::operator>= ( const CodeCompletionResult X,
const CodeCompletionResult Y 
)
inline

Definition at line 989 of file CodeCompleteConsumer.h.

References operator<<().

◆ operator|()

DiagnosticLevelMask clang::operator| ( DiagnosticLevelMask  LHS,
DiagnosticLevelMask  RHS 
)
inline

Definition at line 47 of file DiagnosticOptions.h.

References clang::ast_matchers::type.

◆ operator~()

DiagnosticLevelMask clang::operator~ ( DiagnosticLevelMask  M)
inline

Definition at line 42 of file DiagnosticOptions.h.

References clang::ast_matchers::type.

◆ ParseAST() [1/2]

void clang::ParseAST ( Preprocessor PP,
ASTConsumer Consumer,
ASTContext Ctx,
bool  PrintStats = false,
TranslationUnitKind  TUKind = TU_Complete,
CodeCompleteConsumer CompletionConsumer = nullptr,
bool  SkipFunctionBodies = false 
)

Parse the entire file specified, notifying the ASTConsumer as the file is parsed.

ParseAST - Parse the entire file specified, notifying the ASTConsumer as the file is parsed.

This operation inserts the parsed decls into the translation unit held by Ctx.

Parameters
PrintStatsWhether to print LLVM statistics related to parsing.
TUKindThe kind of translation unit being parsed.
CompletionConsumerIf given, an object to consume code completion results.
SkipFunctionBodiesWhether to skip parsing of function bodies. This option can be used, for example, to speed up searches for declarations/definitions when indexing.

This inserts the parsed decls into the translation unit held by Ctx.

Definition at line 99 of file ParseAST.cpp.

Referenced by createChainedIncludesSource(), and clang::ASTFrontendAction::ExecuteAction().

◆ ParseAST() [2/2]

void clang::ParseAST ( Sema S,
bool  PrintStats = false,
bool  SkipFunctionBodies = false 
)

Parse the main file known to the preprocessor, producing an abstract syntax tree.

Definition at line 114 of file ParseAST.cpp.

◆ ParseDiagnosticArgs()

bool clang::ParseDiagnosticArgs ( DiagnosticOptions Opts,
llvm::opt::ArgList &  Args,
DiagnosticsEngine Diags = nullptr,
bool  DefaultDiagColor = true,
bool  DefaultShowOpt = true 
)

Fill out Opts based on the options given in Args.

Args must have been created from the OptTable returned by createCC1OptTable().

When errors are encountered, return false and, if Diags is non-null, report the error(s).

Referenced by checkVerifyPrefixes(), clang::CompilerInvocation::CreateFromArgs(), and clang::tooling::ToolInvocation::run().

◆ parseSanitizerValue()

SanitizerMask clang::parseSanitizerValue ( StringRef  Value,
bool  AllowGroups 
)

Parse a single value from a -fsanitize= or -fno-sanitize= value list.

Returns a non-zero SanitizerMask, or 0 if Value is not known.

Definition at line 19 of file Sanitizers.cpp.

References SANITIZER.

Referenced by describeSanitizeArg(), and parseArgValues().

◆ parseXRayInstrValue()

XRayInstrMask clang::parseXRayInstrValue ( StringRef  Value)

◆ printTemplateArgumentList() [1/3]

void clang::printTemplateArgumentList ( raw_ostream &  OS,
ArrayRef< TemplateArgument Args,
const PrintingPolicy Policy 
)

◆ printTemplateArgumentList() [2/3]

void clang::printTemplateArgumentList ( raw_ostream &  OS,
ArrayRef< TemplateArgumentLoc Args,
const PrintingPolicy Policy 
)

Definition at line 1686 of file TypePrinter.cpp.

◆ printTemplateArgumentList() [3/3]

void clang::printTemplateArgumentList ( raw_ostream &  OS,
const TemplateArgumentListInfo Args,
const PrintingPolicy Policy 
)

Definition at line 1674 of file TypePrinter.cpp.

◆ privates()

privates_const_range clang::privates ( )

Definition at line 2780 of file OpenMPClause.h.

References getPrivates().

◆ ProcessWarningOptions()

void clang::ProcessWarningOptions ( DiagnosticsEngine Diags,
const DiagnosticOptions Opts,
bool  ReportDiags = true 
)

ProcessWarningOptions - Initialize the diagnostic client and process the warning options specified on the command line.

Definition at line 44 of file Warnings.cpp.

References EmitUnknownDiagWarning(), clang::diag::Error, clang::DiagnosticsEngine::getDiagnosticIDs(), clang::diag::Ignored, clang::diag::Remark, clang::DiagnosticOptions::Remarks, clang::DiagnosticsEngine::Report(), clang::DiagnosticsEngine::setConstexprBacktraceLimit(), clang::DiagnosticsEngine::setDiagnosticGroupErrorAsFatal(), clang::DiagnosticsEngine::setDiagnosticGroupWarningAsError(), clang::DiagnosticsEngine::setElideType(), clang::DiagnosticsEngine::setEnableAllWarnings(), clang::DiagnosticsEngine::setErrorLimit(), clang::DiagnosticsEngine::setErrorsAsFatal(), clang::DiagnosticsEngine::setExtensionHandlingBehavior(), clang::DiagnosticsEngine::setIgnoreAllWarnings(), clang::DiagnosticsEngine::setPrintTemplateTree(), clang::DiagnosticsEngine::setSeverityForAll(), clang::DiagnosticsEngine::setSeverityForGroup(), clang::DiagnosticsEngine::setShowColors(), clang::DiagnosticsEngine::setShowOverloads(), clang::DiagnosticsEngine::setSuppressSystemWarnings(), clang::DiagnosticsEngine::setTemplateBacktraceLimit(), clang::DiagnosticsEngine::setWarningsAsErrors(), Specifier, clang::diag::Warning, clang::diag::WarningOrError, and clang::DiagnosticOptions::Warnings.

Referenced by clang::PrecompiledPreamble::Build(), clang::ASTUnit::CodeComplete(), clang::CompilerInstance::createDiagnostics(), clang::ASTUnit::LoadFromCompilerInvocationAction(), makeStandaloneDiagnostic(), clang::PCHValidator::ReadDiagnosticOptions(), and clang::ASTUnit::Reparse().

◆ RewriteIncludesInInput()

void clang::RewriteIncludesInInput ( Preprocessor PP,
raw_ostream *  OS,
const PreprocessorOutputOptions Opts 
)

◆ RewriteMacrosInInput()

void clang::RewriteMacrosInInput ( Preprocessor PP,
raw_ostream *  OS 
)

◆ runUninitializedVariablesAnalysis()

void clang::runUninitializedVariablesAnalysis ( const DeclContext dc,
const CFG cfg,
AnalysisDeclContext ac,
UninitVariablesHandler handler,
UninitVariablesAnalysisStats stats 
)

◆ setColonLoc()

void clang::setColonLoc ( SourceLocation  Loc)

Sets the location of ':'.

Definition at line 2750 of file OpenMPClause.h.

◆ setFinals()

void clang::setFinals ( ArrayRef< Expr *>  FL)

Sets the list of final update expressions for linear variables.

Parameters
FLList of expressions.

Referenced by clang::OMPSharedClause::CreateEmpty(), getCalcStep(), and clang::OMPLoopDirective::setCombinedParForInDistCond().

◆ setInits()

void clang::setInits ( ArrayRef< Expr *>  IL)

Sets the list of the initial values for linear variables.

Parameters
ILList of expressions.

Referenced by clang::OMPSharedClause::CreateEmpty(), getFinals(), and clang::OMPLoopDirective::setCombinedParForInDistCond().

◆ setModifier()

void clang::setModifier ( OpenMPLinearClauseKind  Kind)

Set modifier.

Definition at line 2738 of file OpenMPClause.h.

◆ setModifierLoc()

void clang::setModifierLoc ( SourceLocation  Loc)

Set modifier location.

Definition at line 2744 of file OpenMPClause.h.

◆ setPrivates()

void clang::setPrivates ( ArrayRef< Expr *>  PL)

Sets the list of the copies of original linear variables.

Parameters
PLList of expressions.

Referenced by clang::OMPSharedClause::CreateEmpty(), and getFinals().

◆ setUpdates()

void clang::setUpdates ( ArrayRef< Expr *>  UL)

Sets the list of update expressions for linear variables.

Parameters
ULList of expressions.

Referenced by clang::OMPSharedClause::CreateEmpty(), getCalcStep(), and clang::OMPLoopDirective::setCombinedParForInDistCond().

◆ specific_attr_begin()

template<typename SpecificAttr , typename Container >
specific_attr_iterator<SpecificAttr, Container> clang::specific_attr_begin ( const Container &  container)
inline

Definition at line 103 of file AttrIterator.h.

◆ specific_attr_end()

template<typename SpecificAttr , typename Container >
specific_attr_iterator<SpecificAttr, Container> clang::specific_attr_end ( const Container &  container)
inline

Definition at line 108 of file AttrIterator.h.

◆ StmtEmpty()

StmtResult clang::StmtEmpty ( )
inline

Definition at line 290 of file Ownership.h.

◆ StmtError() [1/2]

StmtResult clang::StmtError ( )
inline

Definition at line 284 of file Ownership.h.

Referenced by clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCaseStmt(), clang::Sema::ActOnCXXTryBlock(), clang::Sema::ActOnDeclStmt(), clang::Sema::ActOnDoStmt(), clang::Sema::ActOnExprStmt(), clang::Sema::ActOnExprStmtError(), clang::Sema::ActOnFinishFullStmt(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnForEachLValueExpr(), clang::Sema::ActOnForStmt(), clang::Sema::ActOnObjCAtCatchStmt(), clang::Sema::ActOnObjCAtThrowStmt(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnOpenMPAtomicDirective(), clang::Sema::ActOnOpenMPCancelDirective(), clang::Sema::ActOnOpenMPCancellationPointDirective(), clang::Sema::ActOnOpenMPCriticalDirective(), clang::Sema::ActOnOpenMPDistributeDirective(), clang::Sema::ActOnOpenMPDistributeParallelForDirective(), clang::Sema::ActOnOpenMPDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPDistributeSimdDirective(), clang::Sema::ActOnOpenMPExecutableDirective(), clang::Sema::ActOnOpenMPForDirective(), clang::Sema::ActOnOpenMPForSimdDirective(), clang::Sema::ActOnOpenMPMasterDirective(), clang::Sema::ActOnOpenMPOrderedDirective(), clang::Sema::ActOnOpenMPParallelDirective(), clang::Sema::ActOnOpenMPParallelForDirective(), clang::Sema::ActOnOpenMPParallelForSimdDirective(), clang::Sema::ActOnOpenMPParallelSectionsDirective(), clang::Sema::ActOnOpenMPRegionEnd(), clang::Sema::ActOnOpenMPSectionDirective(), clang::Sema::ActOnOpenMPSectionsDirective(), clang::Sema::ActOnOpenMPSimdDirective(), clang::Sema::ActOnOpenMPSingleDirective(), clang::Sema::ActOnOpenMPTargetDataDirective(), clang::Sema::ActOnOpenMPTargetDirective(), clang::Sema::ActOnOpenMPTargetEnterDataDirective(), clang::Sema::ActOnOpenMPTargetExitDataDirective(), clang::Sema::ActOnOpenMPTargetParallelDirective(), clang::Sema::ActOnOpenMPTargetParallelForDirective(), clang::Sema::ActOnOpenMPTargetParallelForSimdDirective(), clang::Sema::ActOnOpenMPTargetSimdDirective(), clang::Sema::ActOnOpenMPTargetTeamsDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeParallelForDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPTargetTeamsDistributeSimdDirective(), clang::Sema::ActOnOpenMPTargetUpdateDirective(), clang::Sema::ActOnOpenMPTaskDirective(), clang::Sema::ActOnOpenMPTaskgroupDirective(), clang::Sema::ActOnOpenMPTaskLoopDirective(), clang::Sema::ActOnOpenMPTaskLoopSimdDirective(), clang::Sema::ActOnOpenMPTeamsDirective(), clang::Sema::ActOnOpenMPTeamsDistributeDirective(), clang::Sema::ActOnOpenMPTeamsDistributeParallelForDirective(), clang::Sema::ActOnOpenMPTeamsDistributeParallelForSimdDirective(), clang::Sema::ActOnOpenMPTeamsDistributeSimdDirective(), clang::Sema::ActOnSEHExceptBlock(), clang::Sema::ActOnSEHLeaveStmt(), clang::Sema::ActOnWhileStmt(), clang::Sema::BuildCoreturnStmt(), clang::Sema::BuildIfStmt(), buildMemcpyForAssignmentOp(), clang::Sema::BuildObjCAtThrowStmt(), clang::Sema::BuildReturnStmt(), isGCCAsmStatement(), clang::TreeTransform< Derived >::RebuildCXXForRangeStmt(), clang::TreeTransform< Derived >::RebuildObjCForCollectionStmt(), StmtError(), takeDeclAttributes(), clang::TreeTransform< Derived >::TransformAttr(), clang::TreeTransform< Derived >::TransformCompoundStmt(), and clang::TreeTransform< Derived >::TransformOMPExecutableDirective().

◆ StmtError() [2/2]

StmtResult clang::StmtError ( const DiagnosticBuilder )
inline

Definition at line 287 of file Ownership.h.

References StmtError().

◆ StringToCudaArch()

CudaArch clang::StringToCudaArch ( llvm::StringRef  S)

◆ StringToCudaVirtualArch()

CudaVirtualArch clang::StringToCudaVirtualArch ( llvm::StringRef  S)

Definition at line 177 of file Cuda.cpp.

◆ supportsVariadicCall()

bool clang::supportsVariadicCall ( CallingConv  CC)
inline

Checks whether the given calling convention supports variadic calls.

Unprototyped calls also use the variadic call rules.

Definition at line 259 of file Specifiers.h.

References CC_OpenCLKernel, CC_SpirFunction, CC_Swift, CC_X86FastCall, CC_X86Pascal, CC_X86RegCall, CC_X86StdCall, CC_X86ThisCall, and CC_X86VectorCall.

Referenced by getCCForDeclaratorChunk(), and handleFunctionTypeAttr().

◆ toLowercase()

LLVM_READONLY char clang::toLowercase ( char  c)
inline

Converts the given ASCII character to its lowercase equivalent.

If the character is not an uppercase character, it is returned as is.

Definition at line 165 of file CharInfo.h.

References isUppercase().

Referenced by LookupMethodInReceiverType(), clang::ast_matchers::dynamic::Parser::CodeTokenizer::nextTokenKind(), rewriteToObjCProperty(), and UseNSOptionsMacro().

◆ toTargetAddressSpace()

unsigned clang::toTargetAddressSpace ( LangAS  AS)
inline

◆ toUppercase()

LLVM_READONLY char clang::toUppercase ( char  c)
inline

Converts the given ASCII character to its uppercase equivalent.

If the character is not a lowercase character, it is returned as is.

Definition at line 174 of file CharInfo.h.

References isLowercase().

Referenced by isCaseSensitivePath(), and LookupMethodInReceiverType().

◆ TransformTypeSpecType()

template<class TyLoc >
static QualType clang::TransformTypeSpecType ( TypeLocBuilder TLB,
TyLoc  T 
)
inlinestatic

◆ TraverseArrayTypeLocHelper()

return clang::TraverseArrayTypeLocHelper ( TL  )
Initial value:
{
TRY_TO(TraverseTypeLoc(TL.getElementLoc()))
#define TRY_TO(CALL_EXPR)

◆ TRY_TO() [1/7]

clang::TRY_TO ( TraverseType(T->getPointeeType())  )

◆ TRY_TO() [2/7]

clang::TRY_TO ( TraverseType(T->getElementType())  )

◆ TRY_TO() [3/7]

clang::TRY_TO ( TraverseTemplateArguments(T->getArgs(), T->getNumArgs())  )

◆ TRY_TO() [4/7]

clang::TRY_TO ( TraverseTypeLoc(TL.getPointeeLoc())  )

◆ TRY_TO() [5/7]

clang::TRY_TO ( TraverseType(TL.getTypePtr() ->getElementType())  )
Initial value:
{
if (TL.getTypePtr()->getSizeExpr())
TRY_TO(TraverseStmt(TL.getTypePtr()->getSizeExpr()))
#define TRY_TO(CALL_EXPR)

◆ TRY_TO() [6/7]

else clang::TRY_TO ( TraverseDecl(D->getFriendDecl())  )

◆ TRY_TO() [7/7]

clang::TRY_TO ( TraverseStmt(D->getMessage())  )

◆ updateFlags()

void clang::updateFlags ( const Decl From,
Decl To 
)

◆ updates()

updates_const_range clang::updates ( )

Definition at line 2806 of file OpenMPClause.h.

References getUpdates().

◆ VirtualArchForCudaArch()

CudaVirtualArch clang::VirtualArchForCudaArch ( CudaArch  A)

Variable Documentation

◆ AddressColor

const TerminalColor clang::AddressColor = {llvm::raw_ostream::YELLOW, false}
static

Definition at line 52 of file ASTDumperUtils.h.

Referenced by clang::TextNodeDumper::dumpPointer().

◆ AttrColor

const TerminalColor clang::AttrColor = {llvm::raw_ostream::BLUE, true}
static

Definition at line 42 of file ASTDumperUtils.h.

Referenced by clang::TextNodeDumper::Visit().

◆ CastColor

const TerminalColor clang::CastColor = {llvm::raw_ostream::RED, false}
static

Definition at line 69 of file ASTDumperUtils.h.

Referenced by clang::TextNodeDumper::VisitCastExpr().

◆ CommentColor

const TerminalColor clang::CommentColor = {llvm::raw_ostream::BLUE, false}
static

Definition at line 46 of file ASTDumperUtils.h.

Referenced by clang::TextNodeDumper::Visit().

◆ DeclKindNameColor

const TerminalColor clang::DeclKindNameColor = {llvm::raw_ostream::GREEN, true}
static

◆ DeclNameColor

const TerminalColor clang::DeclNameColor = {llvm::raw_ostream::CYAN, true}
static

◆ DesiredStackSize

constexpr size_t clang::DesiredStackSize = 8 << 20

The amount of stack space that Clang would like to be provided with.

If less than this much is available, we may be unable to reach our template instantiation depth limit and other similar limits.

Definition at line 24 of file Stack.h.

Referenced by compileModuleImpl(), and clang::ento::ModelInjector::ModelInjector().

◆ FrontendTimesIsEnabled

bool clang::FrontendTimesIsEnabled = false

If the user specifies the -ftime-report argument on an Clang command line then the value of this boolean will be true, otherwise false.

Definition at line 18 of file FrontendTiming.cpp.

Referenced by clang::BackendConsumer::BackendConsumer(), getLastArgUInt64Value(), clang::BackendConsumer::HandleInlineFunctionDefinition(), clang::BackendConsumer::HandleTopLevelDecl(), clang::BackendConsumer::HandleTranslationUnit(), clang::BackendConsumer::Initialize(), and mapToLevel().

◆ IndentColor

const TerminalColor clang::IndentColor = {llvm::raw_ostream::BLUE, false}
static

Definition at line 77 of file ASTDumperUtils.h.

Referenced by clang::TextTreeStructure::AddChild().

◆ LocationColor

const TerminalColor clang::LocationColor = {llvm::raw_ostream::YELLOW, false}
static

Definition at line 54 of file ASTDumperUtils.h.

Referenced by clang::TextNodeDumper::dumpLocation().

◆ NullColor

const TerminalColor clang::NullColor = {llvm::raw_ostream::BLUE, false}
static

◆ ObjectKindColor

const TerminalColor clang::ObjectKindColor = {llvm::raw_ostream::CYAN, false}
static

Definition at line 59 of file ASTDumperUtils.h.

Referenced by clang::TextNodeDumper::Visit().

◆ ShouldVisitChildren

clang::ShouldVisitChildren = false

Definition at line 1426 of file RecursiveASTVisitor.h.

Referenced by if().

◆ StmtColor

const TerminalColor clang::StmtColor = {llvm::raw_ostream::MAGENTA, true}
static

Definition at line 44 of file ASTDumperUtils.h.

Referenced by clang::TextNodeDumper::Visit().

◆ ToggleHighlight

const char clang::ToggleHighlight = 127

Special character that the diagnostic printer will use to toggle the bold attribute.

The character itself will be not be printed.

Definition at line 1584 of file Diagnostic.h.

Referenced by applyTemplateHighlighting().

◆ TypeColor

const TerminalColor clang::TypeColor = {llvm::raw_ostream::GREEN, false}
static

◆ UndeserializedColor

const TerminalColor clang::UndeserializedColor
static
Initial value:
= {llvm::raw_ostream::GREEN,
true}

Definition at line 65 of file ASTDumperUtils.h.

◆ ValueColor

const TerminalColor clang::ValueColor = {llvm::raw_ostream::CYAN, true}
static

◆ ValueKindColor

const TerminalColor clang::ValueKindColor = {llvm::raw_ostream::CYAN, false}
static

Definition at line 57 of file ASTDumperUtils.h.

Referenced by clang::TextNodeDumper::Visit().