clang 22.0.0git
clang Namespace Reference

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

Namespaces

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

Classes

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

Typedefs

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

Enumerations

enum class  NeverCalledReason {
  IfThen , IfElse , Switch , SwitchSkipped ,
  LoopEntered , LoopSkipped , FallbackReason , LARGEST_VALUE = FallbackReason
}
enum class  AlignRequirementKind { None , RequiredByTypedef , RequiredByRecord , RequiredByEnum }
enum  ASTDumpOutputFormat { ADOF_Default , ADOF_JSON }
 Used to specify the format for printing AST dump information. More...
enum class  StructuralEquivalenceKind { Default , Minimal }
 Whether to perform a normal or minimal equivalence check. More...
enum  TraversalKind { TK_AsIs , TK_IgnoreUnlessSpelledInSource }
 Defines how we descend a level in the AST when we pass through expressions. More...
enum class  ComparisonCategoryType : unsigned char {
  PartialOrdering , WeakOrdering , StrongOrdering , First = PartialOrdering ,
  Last = StrongOrdering
}
 An enumeration representing the different comparison categories types. More...
enum class  ComparisonCategoryResult : unsigned char {
  Equal , Equivalent , Less , Greater ,
  Unordered , Last = Unordered
}
 An enumeration representing the possible results of a three-way comparison. More...
enum class  ImplicitParamKind {
  ObjCSelf , ObjCCmd , CXXThis , CXXVTT ,
  CapturedContext , ThreadPrivateVar , Other
}
 Defines the kind of the implicit parameter: is this an implicit parameter with pointer to 'this', 'self', '_cmd', virtual table pointers, captured context or something else. More...
enum class  MultiVersionKind {
  None , Target , CPUSpecific , CPUDispatch ,
  TargetClones , TargetVersion
}
enum class  RecordArgPassingKind { CanPassInRegs , CannotPassInRegs , CanNeverPassInRegs }
 Enum that represents the different ways arguments are passed to and returned from function calls. More...
enum  AvailabilityResult { AR_Available = 0 , AR_NotYetIntroduced , AR_Deprecated , AR_Unavailable }
 Captures the result of checking the availability of a declaration. More...
enum class  DeductionCandidate : unsigned char { Normal , Copy , Aggregate }
 Only used by CXXDeductionGuideDecl. More...
enum class  LinkageSpecLanguageIDs { C = 1 , CXX = 2 }
 Represents the language in a linkage specification. More...
enum  PredefinedDeclIDs {
  PREDEF_DECL_NULL_ID , PREDEF_DECL_TRANSLATION_UNIT_ID , PREDEF_DECL_OBJC_ID_ID , PREDEF_DECL_OBJC_SEL_ID ,
  PREDEF_DECL_OBJC_CLASS_ID , PREDEF_DECL_OBJC_PROTOCOL_ID , PREDEF_DECL_INT_128_ID , PREDEF_DECL_UNSIGNED_INT_128_ID ,
  PREDEF_DECL_OBJC_INSTANCETYPE_ID , PREDEF_DECL_BUILTIN_VA_LIST_ID , PREDEF_DECL_VA_LIST_TAG , PREDEF_DECL_BUILTIN_MS_VA_LIST_ID ,
  PREDEF_DECL_BUILTIN_MS_GUID_ID , PREDEF_DECL_EXTERN_C_CONTEXT_ID , PREDEF_DECL_CF_CONSTANT_STRING_ID , PREDEF_DECL_CF_CONSTANT_STRING_TAG_ID ,
  PREDEF_DECL_BUILTIN_MS_TYPE_INFO_TAG_ID , NUM_PREDEF_DECL_IDS
}
 Predefined declaration IDs. More...
enum class  ObjCImplementationControl { None , Required , Optional }
enum class  ObjCTypeParamVariance : uint8_t { Invariant , Covariant , Contravariant }
 Describes the variance of a given generic parameter. More...
enum class  ObjCPropertyQueryKind : uint8_t { OBJC_PR_query_unknown = 0x00 , OBJC_PR_query_instance , OBJC_PR_query_class }
enum  { NumObjCPropertyAttrsBits = 16 }
enum class  OMPDeclareReductionInitKind { Call , Direct , Copy }
enum class  ConstantResultStorageKind { None , Int64 , APValue }
 Describes the kind of result that can be tail-allocated. More...
enum class  CharacterLiteralKind {
  Ascii , Wide , UTF8 , UTF16 ,
  UTF32
}
enum class  StringLiteralKind {
  Ordinary , Wide , UTF8 , UTF16 ,
  UTF32 , Unevaluated , Binary
}
enum class  PredefinedIdentKind {
  Func , Function , LFunction , FuncDName ,
  FuncSig , LFuncSig , PrettyFunction , PrettyFunctionNoVirtual
}
enum class  SourceLocIdentKind {
  Function , FuncSig , File , FileName ,
  Line , Column , SourceLocStruct
}
enum class  CXXConstructionKind { Complete , NonVirtualBase , VirtualBase , Delegating }
enum class  CXXNewInitializationStyle { None , Parens , Braces }
enum class  TypeAwareAllocationMode : unsigned { No , Yes }
enum class  AlignedAllocationMode : unsigned { No , Yes }
enum class  SizedDeallocationMode : unsigned { No , Yes }
enum class  DynamicInitKind : unsigned { NoStub = 0 , Initializer , AtExit , GlobalArrayDestructor }
enum class  KernelReferenceKind : unsigned { Kernel = 0 , Stub = 1 }
enum  CastKind
 CastKind - The kind of operation required for a conversion. More...
enum  BinaryOperatorKind
enum  UnaryOperatorKind
enum  ObjCBridgeCastKind { OBC_Bridge , OBC_BridgeTransfer , OBC_BridgeRetained }
 The kind of bridging performed by the Objective-C bridge cast. More...
enum  SelectorLocationsKind { SelLoc_NonStandard = 0 , SelLoc_StandardNoSpace = 1 , SelLoc_StandardWithSpace = 2 }
 Whether all locations of the selector identifiers are in a "standard" position. More...
enum  { TypeAlignmentInBits = 4 , TypeAlignment = 1 << TypeAlignmentInBits }
enum class  ObjCSubstitutionContext {
  Ordinary , Result , Parameter , Property ,
  Superclass
}
 The kind of type we are substituting Objective-C type arguments into. More...
enum class  TypeOfKind : uint8_t { Qualified , Unqualified }
 The kind of 'typeof' expression we're after. More...
enum  RefQualifierKind { RQ_None = 0 , RQ_LValue , RQ_RValue }
 The kind of C++11 ref-qualifier associated with a function type. More...
enum class  AutoTypeKeyword { Auto , DecltypeAuto , GNUAutoType }
 Which keyword(s) were used to create an AutoType. More...
enum class  ArraySizeModifier { Normal , Static , Star }
 Capture whether this is a normal array (e.g. More...
enum class  VectorKind {
  Generic , AltiVecVector , AltiVecPixel , AltiVecBool ,
  Neon , NeonPoly , SveFixedLengthData , SveFixedLengthPredicate ,
  RVVFixedLengthData , RVVFixedLengthMask , RVVFixedLengthMask_1 , RVVFixedLengthMask_2 ,
  RVVFixedLengthMask_4
}
enum class  ElaboratedTypeKeyword {
  Struct , Interface , Union , Class ,
  Enum , Typename , None
}
 The elaboration keyword that precedes a qualified type name or introduces an elaborated-type-specifier. More...
enum class  TagTypeKind {
  Struct , Interface , Union , Class ,
  Enum
}
 The kind of a tag type. More...
enum  CXXCtorType {
  Ctor_Complete , Ctor_Base , Ctor_Comdat , Ctor_CopyingClosure ,
  Ctor_DefaultClosure , Ctor_Unified
}
 C++ constructor types. More...
enum  CXXDtorType {
  Dtor_Deleting , Dtor_Complete , Dtor_Base , Dtor_Comdat ,
  Dtor_Unified
}
 C++ destructor types. More...
enum class  LangAS : unsigned {
  Default = 0 , opencl_global , opencl_local , opencl_constant ,
  opencl_private , opencl_generic , opencl_global_device , opencl_global_host ,
  cuda_device , cuda_constant , cuda_shared , sycl_global ,
  sycl_global_device , sycl_global_host , sycl_local , sycl_private ,
  ptr32_sptr , ptr32_uptr , ptr64 , hlsl_groupshared ,
  hlsl_constant , hlsl_private , hlsl_device , hlsl_input ,
  wasm_funcref , FirstTargetAddressSpace
}
 Defines the address space values used by the address space qualifier of QualType. More...
enum  LanguageID : uint16_t {
  GNU_LANG = 0x1 , C_LANG = 0x2 , CXX_LANG = 0x4 , OBJC_LANG = 0x8 ,
  MS_LANG = 0x10 , OMP_LANG = 0x20 , CUDA_LANG = 0x40 , COR_LANG = 0x80 ,
  OCL_GAS = 0x100 , OCL_PIPE = 0x200 , OCL_DSE = 0x400 , ALL_OCL_LANGUAGES = 0x800 ,
  HLSL_LANG = 0x1000 , C23_LANG = 0x2000 , ALL_LANGUAGES = C_LANG | CXX_LANG | OBJC_LANG , ALL_GNU_LANGUAGES = ALL_LANGUAGES | GNU_LANG ,
  ALL_MS_LANGUAGES = ALL_LANGUAGES | MS_LANG
}
enum  BuiltinTemplateKind : int
 Kinds of BuiltinTemplateDecl. More...
enum  CapturedRegionKind { CR_Default , CR_ObjCAtFinally , CR_OpenMP }
 The different kinds of captured statement. More...
enum class  CFBranchLabelSchemeKind { Default }
enum class  EscapeChar { Single = 1 , Double = 2 , SingleAndDouble = static_cast<int>(Single) | static_cast<int>(Double) }
enum class  CudaVersion {
  UNKNOWN , CUDA_70 , CUDA_75 , CUDA_80 ,
  CUDA_90 , CUDA_91 , CUDA_92 , CUDA_100 ,
  CUDA_101 , CUDA_102 , CUDA_110 , CUDA_111 ,
  CUDA_112 , CUDA_113 , CUDA_114 , CUDA_115 ,
  CUDA_116 , CUDA_117 , CUDA_118 , CUDA_120 ,
  CUDA_121 , CUDA_122 , CUDA_123 , CUDA_124 ,
  CUDA_125 , CUDA_126 , CUDA_128 , CUDA_129 ,
  FULLY_SUPPORTED = CUDA_128 , PARTIALLY_SUPPORTED , NEW = 10000
}
enum class  CUDAFunctionTarget {
  Device , Global , Host , HostDevice ,
  InvalidTarget
}
enum class  CudaFeature { CUDA_USES_NEW_LAUNCH , CUDA_USES_FATBIN_REGISTER_END }
enum  OverloadsShown : unsigned { Ovl_All , Ovl_Best }
 Specifies which overload candidates to display when overload resolution fails. More...
enum class  DiagnosticLevelMask : unsigned {
  None = 0 , Note = 1 << 0 , Remark = 1 << 1 , Warning = 1 << 2 ,
  Error = 1 << 3 , All = Note | Remark | Warning | Error
}
 A bitmask representing the diagnostic levels used by VerifyDiagnosticConsumer. More...
enum  ExceptionSpecificationType {
  EST_None , EST_DynamicNone , EST_Dynamic , EST_MSAny ,
  EST_NoThrow , EST_BasicNoexcept , EST_DependentNoexcept , EST_NoexceptFalse ,
  EST_NoexceptTrue , EST_Unevaluated , EST_Uninstantiated , EST_Unparsed
}
 The various types of exception specifications that exist in C++11. More...
enum  CanThrowResult { CT_Cannot , CT_Dependent , CT_Can }
 Possible results from evaluation of a noexcept expression. More...
enum  ExpressionTrait { ET_Last }
enum  HeaderIncludeFormatKind { HIFMT_None , HIFMT_Textual , HIFMT_JSON }
 The format in which header information is emitted. More...
enum  HeaderIncludeFilteringKind { HIFIL_None , HIFIL_Only_Direct_System , HIFIL_Direct_Per_File }
 Whether header information is filtered or not. More...
enum class  ReservedIdentifierStatus {
  NotReserved = 0 , StartsWithUnderscoreAtGlobalScope , StartsWithUnderscoreAndIsExternC , StartsWithDoubleUnderscore ,
  StartsWithUnderscoreFollowedByCapitalLetter , ContainsDoubleUnderscore
}
enum class  ReservedLiteralSuffixIdStatus { NotReserved = 0 , NotStartsWithUnderscore , ContainsDoubleUnderscore }
enum  { IdentifierInfoAlignment = 8 }
 IdentifierInfo and other related classes are aligned to 8 bytes so that DeclarationName can use the lower 3 bits of a pointer to one of these classes. More...
enum class  InterestingIdentifier {
  NUM_OBJC_KEYWORDS , NUM_OBJC_KEYWORDS_AND_NOTABLE_IDENTIFIERS , NotBuiltin , FirstTSBuiltin ,
  NotInterestingIdentifier = 65534
}
 The "layout" of InterestingIdentifier is: More...
enum  ObjCMethodFamily {
  OMF_None , OMF_alloc , OMF_copy , OMF_init ,
  OMF_mutableCopy , OMF_new , OMF_autorelease , OMF_dealloc ,
  OMF_finalize , OMF_release , OMF_retain , OMF_retainCount ,
  OMF_self , OMF_initialize , OMF_performSelector
}
 A family of Objective-C methods. More...
enum  { ObjCMethodFamilyBitWidth = 4 }
 Enough bits to store any enumerator in ObjCMethodFamily or InvalidObjCMethodFamily. More...
enum  { InvalidObjCMethodFamily = (1 << ObjCMethodFamilyBitWidth) - 1 }
 An invalid value of ObjCMethodFamily. More...
enum  ObjCInstanceTypeFamily {
  OIT_None , OIT_Array , OIT_Dictionary , OIT_Singleton ,
  OIT_Init , OIT_ReturnsSelf
}
 A family of Objective-C methods. More...
enum  ObjCStringFormatFamily { SFF_None , SFF_NSString , SFF_CFString }
enum  LambdaCaptureDefault { LCD_None , LCD_ByCopy , LCD_ByRef }
 The default, if any, capture method for a lambda expression. More...
enum  LambdaCaptureKind {
  LCK_This , LCK_StarThis , LCK_ByCopy , LCK_ByRef ,
  LCK_VLAType
}
 The different capture forms in a lambda introducer. More...
enum class  MSVtorDispMode { Never , ForVBaseOverride , ForVFTable }
 In the Microsoft ABI, this controls the placement of virtual displacement members used to implement virtual inheritance. More...
enum class  ShaderStage {
  Pixel = 0 , Vertex , Geometry , Hull ,
  Domain , Compute , Library , RayGeneration ,
  Intersection , AnyHit , ClosestHit , Miss ,
  Callable , Mesh , Amplification , Invalid
}
 Shader programs run in specific pipeline stages. More...
enum class  PointerAuthenticationMode : unsigned { None , Strip , SignAndStrip , SignAndAuth }
enum class  AtomicOptionKind { RemoteMemory , FineGrainedMemory , IgnoreDenormalMode , LANGOPT_ATOMIC_OPTION_LAST = IgnoreDenormalMode }
enum  TranslationUnitKind { TU_Complete , TU_Prefix , TU_ClangModule , TU_Incremental }
 Describes the kind of translation unit being processed. More...
enum class  Language : uint8_t {
  Unknown , Asm , CIR , LLVM_IR ,
  C , CXX , ObjC , ObjCXX ,
  OpenCL , OpenCLCXX , CUDA , HIP ,
  HLSL
}
 The language for the input, used to select and validate the language standard and possible actions. More...
enum  LangFeatures {
  LineComment = (1 << 0) , C99 = (1 << 1) , C11 = (1 << 2) , C17 = (1 << 3) ,
  C23 = (1 << 4) , C2y = (1 << 5) , CPlusPlus = (1 << 6) , CPlusPlus11 = (1 << 7) ,
  CPlusPlus14 = (1 << 8) , CPlusPlus17 = (1 << 9) , CPlusPlus20 = (1 << 10) , CPlusPlus23 = (1 << 11) ,
  CPlusPlus26 = (1 << 12) , Digraphs = (1 << 13) , GNUMode = (1 << 14) , HexFloat = (1 << 15) ,
  OpenCL = (1 << 16) , HLSL = (1 << 17)
}
enum class  Linkage : unsigned char {
  Invalid = 0 , None , Internal , UniqueExternal ,
  VisibleNone , Module , External
}
 Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have. More...
enum  LanguageLinkage { CLanguageLinkage , CXXLanguageLinkage , NoLanguageLinkage }
 Describes the different kinds of language linkage (C++ [dcl.link]) that an entity may have. More...
enum  GVALinkage {
  GVA_Internal , GVA_AvailableExternally , GVA_DiscardableODR , GVA_StrongExternal ,
  GVA_StrongODR
}
 A more specific kind of linkage than enum Linkage. More...
enum class  OffloadArch {
  UNUSED , UNKNOWN , SM_20 , SM_21 ,
  SM_30 , SM_32_ , SM_35 , SM_37 ,
  SM_50 , SM_52 , SM_53 , SM_60 ,
  SM_61 , SM_62 , SM_70 , SM_72 ,
  SM_75 , SM_80 , SM_86 , SM_87 ,
  SM_89 , SM_90 , SM_90a , SM_100 ,
  SM_100a , SM_101 , SM_101a , SM_103 ,
  SM_103a , SM_120 , SM_120a , SM_121 ,
  SM_121a , GFX600 , GFX601 , GFX602 ,
  GFX700 , GFX701 , GFX702 , GFX703 ,
  GFX704 , GFX705 , GFX801 , GFX802 ,
  GFX803 , GFX805 , GFX810 , GFX9_GENERIC ,
  GFX900 , GFX902 , GFX904 , GFX906 ,
  GFX908 , GFX909 , GFX90a , GFX90c ,
  GFX9_4_GENERIC , GFX942 , GFX950 , GFX10_1_GENERIC ,
  GFX1010 , GFX1011 , GFX1012 , GFX1013 ,
  GFX10_3_GENERIC , GFX1030 , GFX1031 , GFX1032 ,
  GFX1033 , GFX1034 , GFX1035 , GFX1036 ,
  GFX11_GENERIC , GFX1100 , GFX1101 , GFX1102 ,
  GFX1103 , GFX1150 , GFX1151 , GFX1152 ,
  GFX1153 , GFX12_GENERIC , GFX1200 , GFX1201 ,
  GFX1250 , GFX1251 , AMDGCNSPIRV , Generic ,
  GRANITERAPIDS , BMG_G21 , LAST , CudaDefault = OffloadArch::SM_52 ,
  HIPDefault = OffloadArch::GFX906
}
enum class  OpenACCDirectiveKind : uint8_t {
  Parallel , Serial , Kernels , Data ,
  EnterData , ExitData , HostData , Loop ,
  Cache , ParallelLoop , SerialLoop , KernelsLoop ,
  Atomic , Declare , Init , Shutdown ,
  Set , Update , Wait , Routine ,
  Invalid
}
enum class  OpenACCAtomicKind : uint8_t {
  Read , Write , Update , Capture ,
  None
}
enum class  OpenACCClauseKind : uint8_t {
  Async , Attach , Auto , Bind ,
  Collapse , Copy , PCopy , PresentOrCopy ,
  CopyIn , PCopyIn , PresentOrCopyIn , CopyOut ,
  PCopyOut , PresentOrCopyOut , Create , PCreate ,
  PresentOrCreate , Default , DefaultAsync , Delete ,
  Detach , Device , DeviceNum , DevicePtr ,
  DeviceResident , DeviceType , DType , Finalize ,
  FirstPrivate , Gang , Host , If ,
  IfPresent , Independent , Link , NoCreate ,
  NoHost , NumGangs , NumWorkers , Present ,
  Private , Reduction , Self , Seq ,
  Tile , UseDevice , Vector , VectorLength ,
  Wait , Worker , Shortloop , Invalid
}
 Represents the kind of an OpenACC clause. More...
enum class  OpenACCDefaultClauseKind : uint8_t { None , Present , Invalid }
enum class  OpenACCReductionOperator : uint8_t {
  Addition , Multiplication , Max , Min ,
  BitwiseAnd , BitwiseOr , BitwiseXOr , And ,
  Or , Invalid
}
enum class  OpenACCGangKind : uint8_t { Num , Dim , Static }
enum class  OpenACCModifierKind : uint8_t {
  Invalid = 0 , Zero = 1 << 0 , Readonly = 1 << 1 , AlwaysIn = 1 << 2 ,
  AlwaysOut = 1 << 3 , Capture = 1 << 4 , Always = 1 << 5
}
enum  OpenMPScheduleClauseKind { OMPC_SCHEDULE_unknown }
 OpenMP attributes for 'schedule' clause. More...
enum  OpenMPScheduleClauseModifier { OMPC_SCHEDULE_MODIFIER_unknown = OMPC_SCHEDULE_unknown , OMPC_SCHEDULE_MODIFIER_last }
 OpenMP modifiers for 'schedule' clause. More...
enum  OpenMPDeviceClauseModifier { OMPC_DEVICE_unknown }
 OpenMP modifiers for 'device' clause. More...
enum  OpenMPDependClauseKind { OMPC_DEPEND_unknown }
 OpenMP attributes for 'depend' clause. More...
enum  OpenMPLinearClauseKind { OMPC_LINEAR_unknown }
 OpenMP attributes for 'linear' clause. More...
enum  OpenMPMapClauseKind { OMPC_MAP_unknown }
 OpenMP mapping kind for 'map' clause. More...
enum  OpenMPMapModifierKind { OMPC_MAP_MODIFIER_unknown = OMPC_MAP_unknown , OMPC_MAP_MODIFIER_last }
 OpenMP modifier kind for 'map' clause. More...
enum  OpenMPMotionModifierKind { OMPC_MOTION_MODIFIER_unknown }
 OpenMP modifier kind for 'to' or 'from' clause. More...
enum  OpenMPDistScheduleClauseKind { OMPC_DIST_SCHEDULE_unknown }
 OpenMP attributes for 'dist_schedule' clause. More...
enum  OpenMPDefaultClauseVariableCategory { OMPC_DEFAULT_VC_unknown }
 OpenMP variable-category for 'default' clause. More...
enum  OpenMPDefaultmapClauseKind { OMPC_DEFAULTMAP_unknown }
 OpenMP attributes for 'defaultmap' clause. More...
enum  OpenMPDefaultmapClauseModifier { OMPC_DEFAULTMAP_MODIFIER_unknown = OMPC_DEFAULTMAP_unknown , OMPC_DEFAULTMAP_MODIFIER_last }
 OpenMP modifiers for 'defaultmap' clause. More...
enum  OpenMPAtomicDefaultMemOrderClauseKind { OMPC_ATOMIC_DEFAULT_MEM_ORDER_unknown }
 OpenMP attributes for 'atomic_default_mem_order' clause. More...
enum  OpenMPAtClauseKind { OMPC_AT_unknown }
 OpenMP attributes for 'at' clause. More...
enum  OpenMPSeverityClauseKind { OMPC_SEVERITY_unknown }
 OpenMP attributes for 'severity' clause. More...
enum  OpenMPDeviceType { OMPC_DEVICE_TYPE_unknown }
 OpenMP device type for 'device_type' clause. More...
enum  OpenMPLastprivateModifier { OMPC_LASTPRIVATE_unknown }
 OpenMP 'lastprivate' clause modifier. More...
enum  OpenMPOrderClauseKind { OMPC_ORDER_unknown }
 OpenMP attributes for 'order' clause. More...
enum  OpenMPOrderClauseModifier { OMPC_ORDER_MODIFIER_unknown = OMPC_ORDER_unknown , OMPC_ORDER_MODIFIER_last }
 OpenMP modifiers for 'order' clause. More...
enum  OpenMPReductionClauseModifier { OMPC_REDUCTION_unknown }
 OpenMP modifiers for 'reduction' clause. More...
enum  OpenMPOriginalSharingModifier { OMPC_ORIGINAL_SHARING_unknown }
 OpenMP 6.0 original sharing modifiers. More...
enum  OpenMPAdjustArgsOpKind { OMPC_ADJUST_ARGS_unknown }
 OpenMP adjust-op kinds for 'adjust_args' clause. More...
enum  OpenMPBindClauseKind { OMPC_BIND_unknown }
 OpenMP bindings for the 'bind' clause. More...
enum  OpenMPGrainsizeClauseModifier { OMPC_GRAINSIZE_unknown }
enum  OpenMPNumTasksClauseModifier { OMPC_NUMTASKS_unknown }
enum  OpenMPNumThreadsClauseModifier { OMPC_NUMTHREADS_unknown }
enum  OpenMPDoacrossClauseModifier { OMPC_DOACROSS_unknown }
 OpenMP dependence types for 'doacross' clause. More...
enum  OpenMPAllocateClauseModifier { OMPC_ALLOCATE_unknown }
 OpenMP modifiers for 'allocate' clause. More...
enum  OverloadedOperatorKind : int { OO_None , NUM_OVERLOADED_OPERATORS }
 Enumeration specifying the different kinds of C++ overloaded operators. More...
enum  PragmaMSCommentKind {
  PCK_Unknown , PCK_Linker , PCK_Lib , PCK_Compiler ,
  PCK_ExeStr , PCK_User
}
enum  PragmaMSStructKind { PMSST_OFF , PMSST_ON }
enum  PragmaFloatControlKind {
  PFC_Unknown , PFC_Precise , PFC_NoPrecise , PFC_Except ,
  PFC_NoExcept , PFC_Push , PFC_Pop
}
enum  PragmaFPKind {
  PFK_Contract , PFK_Reassociate , PFK_Reciprocal , PFK_Exceptions ,
  PFK_EvalMethod
}
enum class  ThreadFlowImportance { Important , Essential , Unimportant }
enum class  SarifResultLevel { None , Note , Warning , Error }
 The level of severity associated with a SarifResult. More...
enum class  ExplicitSpecKind : unsigned { ResolvedFalse , ResolvedTrue , Unresolved }
 Define the meaning of possible values of the kind in ExplicitSpecifier. More...
enum class  ConstexprSpecKind { Unspecified , Constexpr , Consteval , Constinit }
 Define the kind of constexpr specifier. More...
enum class  IfStatementKind : unsigned { Ordinary , Constexpr , ConstevalNonNegated , ConstevalNegated }
 In an if statement, this denotes whether the statement is a constexpr or consteval if statement. More...
enum class  TypeSpecifierWidth { Unspecified , Short , Long , LongLong }
 Specifies the width of a type, e.g., short, long, or long long. More...
enum class  TypeSpecifierSign { Unspecified , Signed , Unsigned }
 Specifies the signedness of a type, e.g., signed or unsigned. More...
enum class  TypeSpecifiersPipe { Unspecified , Pipe }
enum  TypeSpecifierType {
  TST_unspecified , TST_void , TST_char , TST_wchar ,
  TST_char8 , TST_char16 , TST_char32 , TST_int ,
  TST_int128 , TST_bitint , TST_half , TST_Float16 ,
  TST_Accum , TST_Fract , TST_BFloat16 , TST_float ,
  TST_double , TST_float128 , TST_ibm128 , TST_bool ,
  TST_decimal32 , TST_decimal64 , TST_decimal128 , TST_enum ,
  TST_union , TST_struct , TST_class , TST_interface ,
  TST_typename , TST_typeofType , TST_typeofExpr , TST_typeof_unqualType ,
  TST_typeof_unqualExpr , TST_decltype , TST_auto , TST_decltype_auto ,
  TST_auto_type , TST_unknown_anytype , TST_atomic , TST_typename_pack_indexing ,
  TST_error
}
 Specifies the kind of type. More...
enum  AccessSpecifier : uint8_t { AS_public , AS_protected , AS_private , AS_none }
 A C++ access specifier (public, private, protected), plus the special value "none" which means different things in different contexts. More...
enum  ExprValueKind { VK_PRValue , VK_LValue , VK_XValue }
 The categorization of expression values, currently following the C++11 scheme. More...
enum  ExprObjectKind {
  OK_Ordinary , OK_BitField , OK_VectorComponent , OK_ObjCProperty ,
  OK_ObjCSubscript , OK_MatrixComponent
}
 A further classification of the kind of object referenced by an l-value or x-value. More...
enum  NonOdrUseReason { NOUR_None = 0 , NOUR_Unevaluated , NOUR_Constant , NOUR_Discarded }
 The reason why a DeclRefExpr does not constitute an odr-use. More...
enum  TemplateSpecializationKind {
  TSK_Undeclared = 0 , TSK_ImplicitInstantiation , TSK_ExplicitSpecialization , TSK_ExplicitInstantiationDeclaration ,
  TSK_ExplicitInstantiationDefinition
}
 Describes the kind of template specialization that a particular template specialization declaration represents. More...
enum  ThreadStorageClassSpecifier { TSCS_unspecified , TSCS___thread , TSCS_thread_local , TSCS__Thread_local }
 Thread storage-class-specifier. More...
enum  StorageClass {
  SC_None , SC_Extern , SC_Static , SC_PrivateExtern ,
  SC_Auto , SC_Register
}
 Storage classes. More...
enum  InClassInitStyle { ICIS_NoInit , ICIS_CopyInit , ICIS_ListInit }
 In-class initialization styles for non-static data members. More...
enum  CallingConv {
  CC_C , CC_X86StdCall , CC_X86FastCall , CC_X86ThisCall ,
  CC_X86VectorCall , CC_X86Pascal , CC_Win64 , CC_X86_64SysV ,
  CC_X86RegCall , CC_AAPCS , CC_AAPCS_VFP , CC_IntelOclBicc ,
  CC_SpirFunction , CC_DeviceKernel , CC_Swift , CC_SwiftAsync ,
  CC_PreserveMost , CC_PreserveAll , CC_AArch64VectorCall , CC_AArch64SVEPCS ,
  CC_M68kRTD , CC_PreserveNone , CC_RISCVVectorCall , CC_RISCVVLSCall_32 ,
  CC_RISCVVLSCall_64 , CC_RISCVVLSCall_128 , CC_RISCVVLSCall_256 , CC_RISCVVLSCall_512 ,
  CC_RISCVVLSCall_1024 , CC_RISCVVLSCall_2048 , CC_RISCVVLSCall_4096 , CC_RISCVVLSCall_8192 ,
  CC_RISCVVLSCall_16384 , CC_RISCVVLSCall_32768 , CC_RISCVVLSCall_65536
}
 CallingConv - Specifies the calling convention that a function uses. More...
enum  StorageDuration {
  SD_FullExpression , SD_Automatic , SD_Thread , SD_Static ,
  SD_Dynamic
}
 The storage duration for an object (per C++ [basic.stc]). More...
enum class  NullabilityKind : uint8_t { NonNull = 0 , Nullable , Unspecified , NullableResult }
 Describes the nullability of a particular type. More...
enum class  ParameterABI {
  Ordinary , SwiftIndirectResult , SwiftErrorResult , SwiftContext ,
  SwiftAsyncContext , HLSLOut , HLSLInOut
}
 Kinds of parameter ABI. More...
enum class  MSInheritanceModel { Single = 0 , Multiple = 1 , Virtual = 2 , Unspecified = 3 }
 Assigned inheritance model for a class in the MS C++ ABI. More...
enum class  SyncScope {
  SystemScope , DeviceScope , WorkgroupScope , WavefrontScope ,
  SingleScope , HIPSingleThread , HIPWavefront , HIPWorkgroup ,
  HIPAgent , HIPSystem , OpenCLWorkGroup , OpenCLDevice ,
  OpenCLAllSVMDevices , OpenCLSubGroup , Last = OpenCLSubGroup
}
 Defines sync scope values used internally by clang. More...
enum class  AtomicScopeModelKind { None , OpenCL , HIP , Generic }
 Defines the kind of atomic scope models. More...
enum  ImmCheckType
enum class  FloatModeKind {
  NoFloat = 0 , Half = 1 << 0 , Float = 1 << 1 , Double = 1 << 2 ,
  LongDouble = 1 << 3 , Float128 = 1 << 4 , Ibm128 = 1 << 5
}
enum  OpenCLTypeKind : uint8_t {
  OCLTK_Default , OCLTK_ClkEvent , OCLTK_Event , OCLTK_Image ,
  OCLTK_Pipe , OCLTK_Queue , OCLTK_ReserveID , OCLTK_Sampler
}
 OpenCL type kinds. More...
enum  TemplateNameKind {
  TNK_Non_template = 0 , TNK_Function_template , TNK_Type_template , TNK_Var_template ,
  TNK_Dependent_template_name , TNK_Undeclared_template , TNK_Concept_template
}
 Specifies the kind of template name that an identifier refers to. More...
enum  TypeTrait { UTT_Last , BTT_Last , TT_Last }
 Names for traits that operate specifically on types. More...
enum  ArrayTypeTrait { ATT_Last }
 Names for the array type traits. More...
enum  UnaryExprOrTypeTrait { UETT_Last }
 Names for the "expression or type" traits. More...
enum  Visibility { HiddenVisibility , ProtectedVisibility , DefaultVisibility }
 Describes the different kinds of visibility that a declaration may have. More...
enum  BackendAction {
  Backend_EmitAssembly , Backend_EmitBC , Backend_EmitLL , Backend_EmitNothing ,
  Backend_EmitMCNull , Backend_EmitObj
}
enum  JavaScriptQuoteStyle : int8_t { JSQS_Leave , JSQS_Single , JSQS_Double }
 Quotation styles for JavaScript strings. Does not affect template strings. More...
enum  LambdaBodyIndentationKind : int8_t { LBI_Signature , LBI_OuterScope }
 Indentation logic for lambda bodies. More...
enum  LanguageKind : int8_t {
  LK_None , LK_C , LK_Cpp , LK_CSharp ,
  LK_Java , LK_JavaScript , LK_Json , LK_ObjC ,
  LK_Proto , LK_TableGen , LK_TextProto , LK_Verilog
}
 Supported languages. More...
enum  LineEndingStyle : int8_t { LE_LF , LE_CRLF , LE_DeriveLF , LE_DeriveCRLF }
 Line ending style. More...
enum  NamespaceIndentationKind : int8_t { NI_None , NI_Inner , NI_All }
 Different ways to indent namespace contents. More...
enum  NumericLiteralComponentStyle : int8_t { NLCS_Leave , NLCS_Upper , NLCS_Lower }
 Control over each component in a numeric literal. More...
enum  PackConstructorInitializersStyle : int8_t {
  PCIS_Never , PCIS_BinPack , PCIS_CurrentLine , PCIS_NextLine ,
  PCIS_NextLineOnly
}
 Different ways to try to fit all constructor initializers on a line. More...
enum  PointerAlignmentStyle : int8_t { PAS_Left , PAS_Right , PAS_Middle }
 The &, && and * alignment style. More...
enum  QualifierAlignmentStyle : int8_t { QAS_Leave , QAS_Left , QAS_Right , QAS_Custom }
 Different specifiers and qualifiers alignment styles. More...
enum  ReferenceAlignmentStyle : int8_t { RAS_Pointer , RAS_Left , RAS_Right , RAS_Middle }
 The & and && alignment style. More...
enum  ReflowCommentsStyle : int8_t { RCS_Never , RCS_IndentOnly , RCS_Always }
 Types of comment reflow style. More...
enum  RemoveParenthesesStyle : int8_t { RPS_Leave , RPS_MultipleParentheses , RPS_ReturnStatement }
 Types of redundant parentheses to remove. More...
enum  RequiresClausePositionStyle : int8_t {
  RCPS_OwnLine , RCPS_OwnLineWithBrace , RCPS_WithPreceding , RCPS_WithFollowing ,
  RCPS_SingleLine
}
 The possible positions for the requires clause. The IndentRequires option is only used if the requires is put on the start of a line. More...
enum  RequiresExpressionIndentationKind : int8_t { REI_OuterScope , REI_Keyword }
 Indentation logic for requires expression bodies. More...
enum  SeparateDefinitionStyle : int8_t { SDS_Leave , SDS_Always , SDS_Never }
 The style if definition blocks should be separated. More...
enum  SortJavaStaticImportOptions : int8_t { SJSIO_Before , SJSIO_After }
 Position for Java Static imports. More...
enum  SortUsingDeclarationsOptions : int8_t { SUD_Never , SUD_Lexicographic , SUD_LexicographicNumeric }
 Using declaration sorting options. More...
enum  SpaceAroundPointerQualifiersStyle : int8_t { SAPQ_Default , SAPQ_Before , SAPQ_After , SAPQ_Both }
 Different ways to put a space before opening parentheses. More...
enum  SpaceBeforeParensStyle : int8_t {
  SBPO_Never , SBPO_ControlStatements , SBPO_ControlStatementsExceptControlMacros , SBPO_NonEmptyParentheses ,
  SBPO_Always , SBPO_Custom
}
 Different ways to put a space before opening parentheses. More...
enum  SpaceInEmptyBracesStyle : int8_t { SIEB_Always , SIEB_Block , SIEB_Never }
 This option is deprecated. See Block of SpaceInEmptyBraces. More...
enum  SpacesInAnglesStyle : int8_t { SIAS_Never , SIAS_Always , SIAS_Leave }
 Styles for adding spacing after < and before > in template argument lists. More...
enum  SpacesInParensStyle : int8_t { SIPO_Never , SIPO_Custom }
 Different ways to put a space before opening and closing parentheses. More...
enum  LanguageStandard : int8_t {
  LS_Cpp03 , LS_Cpp11 , LS_Cpp14 , LS_Cpp17 ,
  LS_Cpp20 , LS_Latest , LS_Auto
}
 Supported language standards for parsing and formatting C++ constructs. More...
enum  DAGArgStyle : int8_t { DAS_DontBreak , DAS_BreakElements , DAS_BreakAll }
 Different ways to control the format inside TableGen DAGArg. More...
enum  UseTabStyle : int8_t {
  UT_Never , UT_ForIndentation , UT_ForContinuationAndIndentation , UT_AlignWithSpaces ,
  UT_Always
}
 This option is deprecated. See LF and CRLF of LineEnding. More...
enum  WrapNamespaceBodyWithEmptyLinesStyle : int8_t { WNBWELS_Never , WNBWELS_Always , WNBWELS_Leave }
 Different styles for wrapping namespace body with empty lines. More...
enum class  SkipFunctionBodiesScope { None , Preamble , PreambleAndMainFile }
 Enumerates the available scopes for skipping function bodies. More...
enum class  CaptureDiagsKind { None , All , AllWithoutNonErrorsFromIncludes }
 Enumerates the available kinds for capturing diagnostics. More...
enum class  ShowIncludesDestination { None , Stdout , Stderr }
 ShowIncludesDestination - Destination for /showIncludes output. More...
enum class  DependencyOutputFormat { Make , NMake }
 DependencyOutputFormat - Format for the compiler dependency file. More...
enum  ExtraDepKind { EDK_SanitizeIgnorelist , EDK_ProfileList , EDK_ModuleFile , EDK_DepFileEntry }
 ExtraDepKind - The kind of extra dependency file. More...
enum class  BuildPreambleError {
  CouldntCreateTempFile = 1 , CouldntCreateTargetInfo , BeginSourceFileFailed , CouldntEmitPCH ,
  BadInputs
}
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 class  StringLiteralEvalMethod { Evaluated , Unevaluated }
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 class  EmbedResult { Invalid = -1 , NotFound = 0 , Found = 1 , Empty = 2 }
enum  ObjCXXARCStandardLibraryKind { ARCXX_nolib , ARCXX_libcxx , ARCXX_libstdcxx }
 Enumerate the kinds of standard library that. More...
enum class  DisableValidationForModuleKind { None = 0 , PCH = 0x1 , Module = 0x2 , All = PCH | Module }
 Whether to disable the normal validation performed on precompiled headers and module files when they are loaded. More...
enum class  AnnotatedNameKind {
  Error , TentativeDecl , TemplateName , Unresolved ,
  Success
}
enum class  ExtraSemiKind { OutsideFunction = 0 , InsideStruct = 1 , InstanceVariableList = 2 , AfterMemberFunctionDefinition = 3 }
 The kind of extra semi diagnostic to emit. More...
enum class  ParsedTemplateKind { NonTemplate = 0 , Template , ExplicitSpecialization , ExplicitInstantiation }
 The kind of template we are parsing. More...
enum class  CachedInitKind { DefaultArgument , DefaultInitializer }
enum class  ObjCTypeQual {
  in = 0 , out , inout , oneway ,
  bycopy , byref , nonnull , nullable ,
  null_unspecified , NumQuals
}
enum class  TypoCorrectionTypeBehavior { AllowNonTypes , AllowTypes , AllowBoth }
 If a typo should be encountered, should typo correction suggest type names, non type names, or both? More...
enum class  CastParseKind { AnyCastExpr = 0 , UnaryExprOnly , PrimaryExprOnly }
 Control what ParseCastExpression will parse. More...
enum class  ParenParseOption {
  SimpleExpr , FoldExpr , CompoundStmt , CompoundLiteral ,
  CastExpr
}
 ParenParseOption - Control what ParseParenExpression will parse. More...
enum class  ParenExprKind { PartOfOperator , Unknown }
 In a call to ParseParenExpression, are the initial parentheses part of an operator that requires the parens be there (like typeof(int)) or could they be something else, such as part of a compound literal or a sizeof expression, etc. More...
enum class  IfExistsBehavior { Parse , Skip , Dependent }
 Describes the behavior that should be taken for an __if_exists block. More...
enum class  TentativeCXXTypeIdContext {
  InParens , Unambiguous , AsTemplateArgument , InTrailingReturnType ,
  AsGenericSelectionArgument
}
 Specifies the context in which type-id/expression disambiguation will occur. More...
enum class  CXX11AttributeKind { NotAttributeSpecifier , AttributeSpecifier , InvalidAttributeSpecifier }
 The kind of attribute specifier we have found. 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 class  UnqualifiedIdKind {
  IK_Identifier , IK_OperatorFunctionId , IK_ConversionFunctionId , IK_LiteralOperatorId ,
  IK_ConstructorName , IK_ConstructorTemplateId , IK_DestructorName , IK_TemplateId ,
  IK_ImplicitSelfParam , IK_DeductionGuideName
}
 Describes the kind of unqualified-id parsed. More...
enum class  FunctionDefinitionKind { Declaration , Definition , Defaulted , Deleted }
 Described the kind of function definition (if any) provided for a function. More...
enum class  DeclaratorContext {
  File , Prototype , ObjCResult , ObjCParameter ,
  KNRTypeList , TypeName , FunctionalCast , Member ,
  Block , ForInit , SelectionInit , Condition ,
  TemplateParam , CXXNew , CXXCatch , ObjCCatch ,
  BlockLiteral , LambdaExpr , LambdaExprParameter , ConversionId ,
  TrailingReturn , TrailingReturnVar , TemplateArg , TemplateTypeArg ,
  AliasDecl , AliasTemplate , RequiresExpr , Association
}
enum class  ImplicitTypenameContext { No , Yes }
enum class  LambdaCaptureInitKind { NoInit , CopyInit , DirectInit , ListInit }
enum class  LookupResultKind {
  NotFound = 0 , NotFoundInCurrentInstantiation , Found , FoundOverloaded ,
  FoundUnresolvedValue , Ambiguous
}
enum class  LookupAmbiguityKind {
  AmbiguousBaseSubobjectTypes , AmbiguousBaseSubobjects , AmbiguousReference , AmbiguousReferenceToPlaceholderVariable ,
  AmbiguousTagHiding
}
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 , OCD_AmbiguousCandidates }
enum class  OverloadCandidateParamOrder : char { Normal , Reversed }
 The parameter ordering that will be used for the candidate. More...
enum  OverloadCandidateRewriteKind : unsigned { CRK_None = 0x0 , CRK_DifferentOperator = 0x1 , CRK_Reversed = 0x2 }
 The kinds of rewrite we perform on overload candidates. More...
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_SVE_Vector_Conversion ,
  ICK_RVV_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_Fixed_Point_Conversion , ICK_HLSL_Vector_Truncation ,
  ICK_HLSL_Array_RValue , ICK_HLSL_Vector_Splat , 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_HLSL_Scalar_Widening , ICR_Promotion , ICR_HLSL_Scalar_Widening_Promotion ,
  ICR_Conversion , ICR_OCL_Scalar_Widening , ICR_HLSL_Scalar_Widening_Conversion , ICR_Complex_Real_Conversion ,
  ICR_Writeback_Conversion , ICR_C_Conversion , ICR_C_Conversion_Extension , ICR_HLSL_Dimension_Reduction ,
  ICR_HLSL_Dimension_Reduction_Promotion , ICR_HLSL_Dimension_Reduction_Conversion
}
 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_explicit , ovl_fail_addr_not_available ,
  ovl_fail_inhctor_slice , ovl_non_default_multiversion_function , ovl_fail_object_addrspace_mismatch , ovl_fail_constraints_not_satisfied ,
  ovl_fail_module_mismatched
}
enum  AttributeArgumentNType {
  AANT_ArgumentIntOrBool , AANT_ArgumentIntegerConstant , AANT_ArgumentString , AANT_ArgumentIdentifier ,
  AANT_ArgumentConstantExpr , AANT_ArgumentBuiltinFunction
}
 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 , ExpectedForLoopStatement , ExpectedVirtualFunction , ExpectedParameterOrImplicitObjectParameter ,
  ExpectedNonMemberFunction , ExpectedFunctionOrClassOrEnum , ExpectedClass , ExpectedTypedef
}
 These constants match the enumerated choices of warn_attribute_wrong_decl_type and err_attribute_wrong_decl_type. More...
enum class  AssignmentAction {
  Assigning , Passing , Returning , Converting ,
  Initializing , Sending , Casting , Passing_CFAudited
}
enum class  TemplateDeductionResult {
  Success = 0 , Invalid , InstantiationDepth , Incomplete ,
  IncompletePack , Inconsistent , Underqualified , SubstitutionFailure ,
  DeducedMismatch , DeducedMismatchNested , NonDeducedMismatch , TooManyArguments ,
  TooFewArguments , InvalidExplicitArguments , NonDependentConversionFailure , ConstraintsNotSatisfied ,
  MiscellaneousDeductionFailure , CUDATargetMismatch , AlreadyDiagnosed
}
 Describes the result of template argument deduction. More...
enum class  CXXSpecialMemberKind {
  DefaultConstructor , CopyConstructor , MoveConstructor , CopyAssignment ,
  MoveAssignment , Destructor , Invalid
}
 Kinds of C++ special members. More...
enum class  CheckedConversionKind {
  Implicit , CStyleCast , FunctionalCast , OtherCast ,
  ForBuiltinOverloadedOp
}
 The kind of conversion being performed. More...
enum class  TagUseKind { Reference , Declaration , Definition , Friend }
enum class  FunctionEffectMode : uint8_t { None , False , True , Dependent }
 Used with attributes/effects with a boolean condition, e.g. nonblocking. More...
enum class  PragmaClangSectionKind {
  Invalid = 0 , BSS = 1 , Data = 2 , Rodata = 3 ,
  Text = 4 , Relro = 5
}
 pragma clang section kind More...
enum class  PragmaClangSectionAction { Set = 0 , Clear = 1 }
enum class  PragmaOptionsAlignKind {
  Native , Natural , Packed , Power ,
  Mac68k , Reset
}
enum class  TUFragmentKind { Global , Normal , Private }
enum class  FormatStringType {
  Scanf , Printf , NSString , Strftime ,
  Strfmon , Kprintf , FreeBSDKPrintf , OSTrace ,
  OSLog , Syslog , Unknown
}
enum class  VariadicCallType {
  Function , Block , Method , Constructor ,
  DoesNotApply
}
enum class  BuiltinCountedByRefKind {
  Assignment , Initializer , FunctionArg , ReturnArg ,
  ArraySubscript , BinaryExpr
}
enum class  NonTrivialCUnionContext {
  FunctionParam , FunctionReturn , DefaultInitializedObject , AutoVar ,
  CopyInit , Assignment , CompoundLiteral , BlockCapture ,
  LValueToRValueVolatile
}
enum class  NameClassificationKind {
  Unknown , Error , Keyword , Type ,
  NonType , UndeclaredNonType , DependentNonType , OverloadSet ,
  TypeTemplate , VarTemplate , FunctionTemplate , UndeclaredTemplate ,
  Concept
}
 Describes the result of the name lookup and resolution performed by Sema::ClassifyName(). More...
enum class  PointerAuthDiscArgKind { Addr , Extra }
enum class  NonTagKind {
  NonStruct , NonClass , NonUnion , NonEnum ,
  Typedef , TypeAlias , Template , TypeAliasTemplate ,
  TemplateTemplateArgument
}
 Common ways to introduce type names without a tag for use in diagnostics. More...
enum class  OffsetOfKind { Outside , Builtin , Macro }
enum class  AvailabilityMergeKind {
  None , Redeclaration , Override , ProtocolImplementation ,
  OptionalProtocolImplementation
}
 Describes the kind of merge to perform for availability attributes (including "deprecated", "unavailable", and "availability"). More...
enum class  TrivialABIHandling { IgnoreTrivialABI , ConsiderTrivialABI }
enum class  TryCaptureKind { Implicit , ExplicitByVal , ExplicitByRef }
enum class  AllowFoldKind { No , Allow }
enum class  ArithConvKind {
  Arithmetic , BitwiseOp , Comparison , Conditional ,
  CompAssign
}
 Context in which we're performing a usual arithmetic conversion. More...
enum class  VarArgKind {
  Valid , ValidInCXX11 , Undefined , MSVCUndefined ,
  Invalid
}
enum class  AssignConvertType {
  Compatible , CompatibleVoidPtrToNonVoidPtr , PointerToInt , IntToPointer ,
  FunctionVoidPointer , IncompatiblePointer , IncompatibleFunctionPointer , IncompatibleFunctionPointerStrict ,
  IncompatiblePointerSign , CompatiblePointerDiscardsQualifiers , IncompatiblePointerDiscardsQualifiers , IncompatibleNestedPointerAddressSpaceMismatch ,
  IncompatibleNestedPointerQualifiers , IncompatibleVectors , IntToBlockPointer , IncompatibleBlockPointer ,
  IncompatibleObjCQualifiedId , IncompatibleObjCWeakRef , Incompatible
}
 AssignConvertType - All of the 'assignment' semantic checks return this enum to indicate whether the assignment was allowed. More...
enum class  AllocationFunctionScope { Global , Class , Both }
 The scope in which to find allocation functions. More...
enum class  IfExistsResult { Exists , DoesNotExist , Dependent , Error }
 Describes the result of an "if-exists" condition check. More...
enum class  CorrectTypoKind { NonError , ErrorRecovery }
enum class  OverloadKind { Overload , Match , NonFunction }
enum class  CCEKind {
  CaseValue , Enumerator , TemplateArg , TempArgStrict ,
  ArrayBound , ExplicitBool , Noexcept , StaticAssertMessageSize ,
  StaticAssertMessageData
}
 Contexts in which a converted constant expression is required. More...
enum  { ConstraintAlignment = 8 }
enum  OverloadFixItKind {
  OFIK_Undefined = 0 , OFIK_Dereference , OFIK_TakeAddress , OFIK_RemoveDereference ,
  OFIK_RemoveTakeAddress
}
enum class  BindingType : uint8_t { NotAssigned , Explicit , Implicit }
enum class  TemplateSubstitutionKind : char { Specialization , Rewrite }
 The kind of template substitution being performed. More...
enum  TPOC { TPOC_Call , TPOC_Conversion , TPOC_Other }
 The context in which partial ordering of function templates occurs. 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 class  ExplorationStrategyKind {
  DFS , BFS , UnexploredFirst , UnexploredFirstQueue ,
  UnexploredFirstLocationQueue , BFSBlockDFSContents
}
enum  UserModeKind { UMK_Shallow = 1 , UMK_Deep = 2 }
 Describes the kinds for high-level analyzer mode. More...
enum class  CTUPhase1InliningKind { None , Small , All }
enum  TestLanguage { Lang_OpenCL , Lang_OBJC , Lang_OBJCXX }
enum  AccessKinds {
  AK_Read , AK_ReadObjectRepresentation , AK_Assign , AK_Increment ,
  AK_Decrement , AK_MemberCall , AK_DynamicCast , AK_TypeId ,
  AK_Construct , AK_Destroy , AK_IsWithinLifetime , AK_Dereference
}
 Kinds of access we can perform on an object, for diagnostics. More...
enum  CheckSubobjectKind {
  CSK_Base , CSK_Derived , CSK_Field , CSK_ArrayToPointer ,
  CSK_ArrayIndex , CSK_Real , CSK_Imag , CSK_VectorElement
}
 The order of this enum is important for diagnostics. More...
enum class  EvaluationMode { ConstantExpression , ConstantExpressionUnevaluated , ConstantFold , IgnoreSideEffects }
enum  InterfaceKind { NoAlloc , WithAlloc , CopyArray , NewTag }
enum  ArmSMEState : unsigned {
  ArmNoState = 0 , ArmInZA = 0b01 , ArmOutZA = 0b10 , ArmInOutZA = 0b11 ,
  ArmZAMask = 0b11 , ArmInZT0 = 0b01 << 2 , ArmOutZT0 = 0b10 << 2 , ArmInOutZT0 = 0b11 << 2 ,
  ArmZT0Mask = 0b11 << 2
}
enum class  CountedByInvalidPointeeTypeKind {
  INCOMPLETE , SIZELESS , FUNCTION , FLEXIBLE_ARRAY_MEMBER ,
  VALID
}
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...
enum  { TileRegLow = 0 , TileRegHigh = 7 }

Functions

void checkCalledOnceParameters (AnalysisDeclContext &AC, CalledOnceCheckHandler &Handler, bool CheckConventionalParameters)
 Check given CFG for 'called once' parameter violations.
std::optional< WeakTopologicalOrderinggetIntervalWTO (const CFG &Cfg)
void runUninitializedVariablesAnalysis (const DeclContext &dc, const CFG &cfg, AnalysisDeclContext &ac, UninitVariablesHandler &handler, UninitVariablesAnalysisStats &stats)
void checkUnsafeBufferUsage (const Decl *D, UnsafeBufferUsageHandler &Handler, bool EmitSuggestions)
std::set< const Expr * > findUnsafePointers (const FunctionDecl *FD)
bool operator== (const CallGraphNode::CallRecord &LHS, const CallGraphNode::CallRecord &RHS)
ExprextractElementInitializerFromNestedAILE (const ArrayInitLoopExpr *AILE)
llvm::SmallString< 32 > getIssueHash (const FullSourceLoc &IssueLoc, llvm::StringRef CheckerName, llvm::StringRef WarningMessage, const Decl *IssueDecl, const LangOptions &LangOpts)
 Returns an opaque identifier for a diagnostic.
std::string getIssueString (const FullSourceLoc &IssueLoc, llvm::StringRef CheckerName, llvm::StringRef WarningMessage, const Decl *IssueDecl, const LangOptions &LangOpts)
 Get the unhashed string representation of the V1 issue hash.
template<typename... IdentifierInfos>
static Selector getKeywordSelector (ASTContext &Ctx, const IdentifierInfos *...IIs)
template<typename... IdentifierInfos>
static void lazyInitKeywordSelector (Selector &Sel, ASTContext &Ctx, IdentifierInfos *... IIs)
std::optional< std::string > getPointeeTypeText (const DeclaratorDecl *VD, const SourceManager &SM, const LangOptions &LangOpts, std::optional< Qualifiers > *QualifiersToAppend)
std::optional< std::string > getPointee2TypeText (const DeclaratorDecl *VD, const SourceManager &SM, const LangOptions &LangOpts, std::optional< Qualifiers > *QualifiersToAppend)
SourceLocation getBeginLocOfNestedIdentifier (const DeclaratorDecl *D)
std::optional< StringRef > getRangeText (SourceRange SR, const SourceManager &SM, const LangOptions &LangOpts)
std::optional< StringRef > getVarDeclIdentifierText (const DeclaratorDecl *VD, const SourceManager &SM, const LangOptions &LangOpts)
std::optional< StringRef > getExprText (const Expr *E, const SourceManager &SM, const LangOptions &LangOpts)
template<typename NodeTy>
std::optional< SourceLocationgetPastLoc (const NodeTy *Node, const SourceManager &SM, const LangOptions &LangOpts)
SourceLocation getVarDeclIdentifierLoc (const DeclaratorDecl *VD)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const ASTContext::SectionInfo &Section)
 Insertion operator for diagnostics.
Selector GetNullarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing a nullary selector.
Selector GetUnarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing an unary selector.
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.
QualType desugarForDiagnostic (ASTContext &Context, QualType QT, bool &ShouldAKA)
 Returns a desugared version of the QualType, and marks ShouldAKA as true whenever we remove significant sugar from the type.
std::string FormatUTFCodeUnitAsCodepoint (unsigned Value, QualType T)
llvm::SmallVector< Decl *, 2 > getCanonicalForwardRedeclChain (Decl *D)
StringRef getLambdaStaticInvokerName ()
bool isLambdaCallOperator (const CXXMethodDecl *MD)
bool isLambdaCallOperator (const DeclContext *DC)
bool isLambdaMethod (const DeclContext *DC)
bool isLambdaCallWithExplicitObjectParameter (const DeclContext *DC)
bool isLambdaCallWithImplicitObjectParameter (const DeclContext *DC)
bool isGenericLambdaCallOperatorSpecialization (const CXXMethodDecl *MD)
bool isLambdaConversionOperator (CXXConversionDecl *C)
bool isLambdaConversionOperator (Decl *D)
bool isGenericLambdaCallOperatorSpecialization (DeclContext *DC)
bool isGenericLambdaCallOperatorOrStaticInvokerSpecialization (const DeclContext *DC)
DeclContextgetLambdaAwareParentOfDeclContext (DeclContext *DC)
raw_ostream & operator<< (raw_ostream &OS, ASTNodeKind K)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, 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>
auto * getSpecificAttr (const Container &container)
template<typename SpecificAttr, typename Container>
auto getSpecificAttrs (const Container &container)
bool operator== (const AvailabilityInfo &Lhs, const AvailabilityInfo &Rhs)
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 StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, CanQualType T)
ComparisonCategoryType commonComparisonType (ComparisonCategoryType A, ComparisonCategoryType B)
 Determine the common comparison type, as defined in C++2a [class.spaceship]p4.
std::optional< ComparisonCategoryTypegetComparisonCategoryForBuiltinCmp (QualType T)
 Get the comparison category that should be used when comparing values of type T.
ExprDependence computeDependence (FullExpr *E)
ExprDependence computeDependence (OpaqueValueExpr *E)
ExprDependence computeDependence (ParenExpr *E)
ExprDependence computeDependence (UnaryOperator *E, const ASTContext &Ctx)
ExprDependence computeDependence (UnaryExprOrTypeTraitExpr *E)
ExprDependence computeDependence (ArraySubscriptExpr *E)
ExprDependence computeDependence (MatrixSubscriptExpr *E)
ExprDependence computeDependence (CompoundLiteralExpr *E)
ExprDependence computeDependence (ImplicitCastExpr *E)
ExprDependence computeDependence (ExplicitCastExpr *E)
ExprDependence computeDependence (BinaryOperator *E)
ExprDependence computeDependence (ConditionalOperator *E)
ExprDependence computeDependence (BinaryConditionalOperator *E)
ExprDependence computeDependence (StmtExpr *E, unsigned TemplateDepth)
ExprDependence computeDependence (ConvertVectorExpr *E)
ExprDependence computeDependence (VAArgExpr *E)
ExprDependence computeDependence (ChooseExpr *E)
ExprDependence computeDependence (NoInitExpr *E)
ExprDependence computeDependence (ArrayInitLoopExpr *E)
ExprDependence computeDependence (ImplicitValueInitExpr *E)
ExprDependence computeDependence (InitListExpr *E)
ExprDependence computeDependence (ExtVectorElementExpr *E)
ExprDependence computeDependence (BlockExpr *E, bool ContainsUnexpandedParameterPack)
ExprDependence computeDependence (AsTypeExpr *E)
ExprDependence computeDependence (DeclRefExpr *E, const ASTContext &Ctx)
 Compute the type-, value-, and instantiation-dependence of a declaration reference based on the declaration being referenced.
ExprDependence computeDependence (RecoveryExpr *E)
ExprDependence computeDependence (CXXRewrittenBinaryOperator *E)
ExprDependence computeDependence (CXXStdInitializerListExpr *E)
ExprDependence computeDependence (CXXTypeidExpr *E)
ExprDependence computeDependence (MSPropertyRefExpr *E)
ExprDependence computeDependence (MSPropertySubscriptExpr *E)
ExprDependence computeDependence (CXXUuidofExpr *E)
ExprDependence computeDependence (CXXThisExpr *E)
ExprDependence computeDependence (CXXThrowExpr *E)
ExprDependence computeDependence (CXXBindTemporaryExpr *E)
ExprDependence computeDependence (CXXScalarValueInitExpr *E)
ExprDependence computeDependence (CXXDeleteExpr *E)
ExprDependence computeDependence (ArrayTypeTraitExpr *E)
ExprDependence computeDependence (ExpressionTraitExpr *E)
ExprDependence computeDependence (CXXNoexceptExpr *E, CanThrowResult CT)
ExprDependence computeDependence (PackExpansionExpr *E)
ExprDependence computeDependence (PackIndexingExpr *E)
ExprDependence computeDependence (SubstNonTypeTemplateParmExpr *E)
ExprDependence computeDependence (CoroutineSuspendExpr *E)
ExprDependence computeDependence (DependentCoawaitExpr *E)
ExprDependence computeDependence (CXXNewExpr *E)
ExprDependence computeDependence (CXXPseudoDestructorExpr *E)
ExprDependence computeDependence (OverloadExpr *E, bool KnownDependent, bool KnownInstantiationDependent, bool KnownContainsUnexpandedParameterPack)
ExprDependence computeDependence (DependentScopeDeclRefExpr *E)
ExprDependence computeDependence (CXXConstructExpr *E)
ExprDependence computeDependence (CXXTemporaryObjectExpr *E)
ExprDependence computeDependence (CXXDefaultInitExpr *E)
ExprDependence computeDependence (CXXDefaultArgExpr *E)
ExprDependence computeDependence (LambdaExpr *E, bool ContainsUnexpandedParameterPack)
ExprDependence computeDependence (CXXUnresolvedConstructExpr *E)
ExprDependence computeDependence (CXXDependentScopeMemberExpr *E)
ExprDependence computeDependence (MaterializeTemporaryExpr *E)
ExprDependence computeDependence (CXXFoldExpr *E)
ExprDependence computeDependence (CXXParenListInitExpr *E)
ExprDependence computeDependence (TypeTraitExpr *E)
ExprDependence computeDependence (ConceptSpecializationExpr *E, bool ValueDependent)
ExprDependence computeDependence (SYCLUniqueStableNameExpr *E)
ExprDependence computeDependence (PredefinedExpr *E)
ExprDependence computeDependence (CallExpr *E, ArrayRef< Expr * > PreArgs)
ExprDependence computeDependence (OffsetOfExpr *E)
ExprDependence computeDependence (MemberExpr *E)
ExprDependence computeDependence (ShuffleVectorExpr *E)
ExprDependence computeDependence (GenericSelectionExpr *E, bool ContainsUnexpandedPack)
ExprDependence computeDependence (DesignatedInitExpr *E)
ExprDependence computeDependence (ParenListExpr *E)
ExprDependence computeDependence (PseudoObjectExpr *E)
ExprDependence computeDependence (AtomicExpr *E)
ExprDependence computeDependence (ArraySectionExpr *E)
ExprDependence computeDependence (OMPArrayShapingExpr *E)
ExprDependence computeDependence (OMPIteratorExpr *E)
ExprDependence computeDependence (ObjCArrayLiteral *E)
ExprDependence computeDependence (ObjCDictionaryLiteral *E)
ExprDependence computeDependence (ObjCBoxedExpr *E)
ExprDependence computeDependence (ObjCEncodeExpr *E)
ExprDependence computeDependence (ObjCIvarRefExpr *E)
ExprDependence computeDependence (ObjCPropertyRefExpr *E)
ExprDependence computeDependence (ObjCSubscriptRefExpr *E)
ExprDependence computeDependence (ObjCIsaExpr *E)
ExprDependence computeDependence (ObjCIndirectCopyRestoreExpr *E)
ExprDependence computeDependence (ObjCMessageExpr *E)
ExprDependence computeDependence (OpenACCAsteriskSizeExpr *E)
bool inheritanceModelHasVBPtrOffsetField (MSInheritanceModel Inheritance)
bool inheritanceModelHasNVOffsetField (bool IsMemberFunction, MSInheritanceModel Inheritance)
bool inheritanceModelHasVBTableOffsetField (MSInheritanceModel Inheritance)
bool inheritanceModelHasOnlyOneField (bool IsMemberFunction, MSInheritanceModel Inheritance)
raw_ostream & operator<< (raw_ostream &OS, const NamedDecl &ND)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &PD, const NamedDecl *ND)
 Insertion operator for diagnostics.
bool IsEnumDeclComplete (EnumDecl *ED)
 Check if the given decl is complete.
bool IsEnumDeclScoped (EnumDecl *ED)
 Check if the given decl is scoped.
static constexpr StringRef getOpenMPVariantManglingSeparatorStr ()
 OpenMP variants are mangled early based on their OpenMP context selector.
bool IsArmStreamingFunction (const FunctionDecl *FD, bool IncludeLocallyStreaming)
 Returns whether the given FunctionDecl has an __arm[_locally]_streaming attribute.
bool hasArmZAState (const FunctionDecl *FD)
 Returns whether the given FunctionDecl has Arm ZA state.
bool hasArmZT0State (const FunctionDecl *FD)
 Returns whether the given FunctionDecl has Arm ZT0 state.
raw_ostream & operator<< (raw_ostream &OS, DeclarationName N)
bool operator< (DeclarationName LHS, DeclarationName RHS)
 Ordering on two declaration names.
bool operator> (DeclarationName LHS, DeclarationName RHS)
 Ordering on two declaration names.
bool operator<= (DeclarationName LHS, DeclarationName RHS)
 Ordering on two declaration names.
bool operator>= (DeclarationName LHS, DeclarationName RHS)
 Ordering on two declaration names.
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &PD, DeclarationName N)
 Insertion operator for partial diagnostics.
raw_ostream & operator<< (raw_ostream &OS, DeclarationNameInfo DNInfo)
bool declaresSameEntity (const Decl *D1, const Decl *D2)
 Determine whether two declarations declare the same entity.
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, AccessSpecifier AS)
 Insertion operator for diagnostics.
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)
bool isPackProducingBuiltinTemplateName (TemplateName N)
TemplateDeclgetAsTypeTemplateDecl (Decl *D)
UnsignedOrNone getExpandedPackSize (const NamedDecl *Param)
 Check whether the template parameter is a pack expansion, and if so, determine the number of parameters produced by that expansion.
TemplateParameterListgetReplacedTemplateParameterList (const Decl *D)
 Internal helper used by Subst* nodes to retrieve the parameter list for their AssociatedDecl.
ExprDependence toExprDependence (TemplateArgumentDependence TA)
 Computes dependencies of a reference with the name having template arguments with TA dependencies.
ExprDependence toExprDependenceForImpliedType (TypeDependence D)
ExprDependence toExprDependenceAsWritten (TypeDependence D)
ExprDependence toExprDependence (NestedNameSpecifierDependence D)
ExprDependence turnTypeToValueDependence (ExprDependence D)
ExprDependence turnValueToTypeDependence (ExprDependence D)
TypeDependence toTypeDependence (ExprDependence D)
TypeDependence toTypeDependence (NestedNameSpecifierDependence D)
TypeDependence toTypeDependence (TemplateNameDependence D)
TypeDependence toTypeDependence (TemplateArgumentDependence D)
TypeDependence toSyntacticDependence (TypeDependence D)
TypeDependence toSemanticDependence (TypeDependence D)
NestedNameSpecifierDependence toNestedNameSpecifierDependence (TypeDependence D)
TemplateArgumentDependence toTemplateArgumentDependence (TypeDependence D)
TemplateArgumentDependence toTemplateArgumentDependence (TemplateNameDependence D)
TemplateArgumentDependence toTemplateArgumentDependence (ExprDependence D)
TemplateNameDependence toTemplateNameDependence (NestedNameSpecifierDependence D)
TemplateNameDependence toTemplateNameDependence (TemplateArgumentDependence D)
 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ()
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const Expr *E)
 Insertion operator for diagnostics.
bool isTypeAwareAllocation (TypeAwareAllocationMode Mode)
TypeAwareAllocationMode typeAwareAllocationModeFromBool (bool IsTypeAwareAllocation)
bool isAlignedAllocation (AlignedAllocationMode Mode)
AlignedAllocationMode alignedAllocationModeFromBool (bool IsAligned)
bool isSizedDeallocation (SizedDeallocationMode Mode)
SizedDeallocationMode sizedDeallocationModeFromBool (bool IsSized)
template<typename... FnTys>
ExprIgnoreExprNodes (Expr *E, FnTys &&... Fns)
 Given an expression E and functions Fn_1,...,Fn_n : Expr * -> Expr *, Recursively apply each of the functions to E until reaching a fixed point.
template<typename... FnTys>
const ExprIgnoreExprNodes (const Expr *E, FnTys &&...Fns)
ExprIgnoreImplicitCastsSingleStep (Expr *E)
ExprIgnoreImplicitCastsExtraSingleStep (Expr *E)
ExprIgnoreCastsSingleStep (Expr *E)
ExprIgnoreLValueCastsSingleStep (Expr *E)
ExprIgnoreBaseCastsSingleStep (Expr *E)
ExprIgnoreImplicitSingleStep (Expr *E)
ExprIgnoreElidableImplicitConstructorSingleStep (Expr *E)
ExprIgnoreImplicitAsWrittenSingleStep (Expr *E)
ExprIgnoreParensOnlySingleStep (Expr *E)
ExprIgnoreParensSingleStep (Expr *E)
void mangleObjCMethodName (raw_ostream &OS, bool includePrefixByte, bool isInstanceMethod, StringRef ClassName, std::optional< StringRef > CategoryName, StringRef MethodName)
 Extract mangling function name from MangleContext such that swift can call it to prepare for ObjCDirect in swift.
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, NestedNameSpecifier NNS)
 Insertion operator for diagnostics.
bool operator== (const OpenACCBindClause &LHS, const OpenACCBindClause &RHS)
bool operator!= (const OpenACCBindClause &LHS, const OpenACCBindClause &RHS)
llvm::raw_ostream & operator<< (llvm::raw_ostream &OS, const OMPTraitInfo &TI)
llvm::raw_ostream & operator<< (llvm::raw_ostream &OS, const OMPTraitInfo *TI)
 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 (TraverseNestedNameSpecifier(Qualifier))
 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()));if(T->getSizeExpr()) TRY_TO(TraverseStmt(const_cast< Expr * >(T->getSizeExpr())));}) DEF_TRAVERSE_TYPE(ArrayParameterType
 if (T->getSizeExpr()) TRY_TO(TraverseStmt(const_cast< Expr * >(T -> getSizeExpr())))
 DEF_TRAVERSE_TYPE (IncompleteArrayType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(VariableArrayType
 TRY_TO (TraverseStmt(T->getSizeExpr()))
 DEF_TRAVERSE_TYPE (DependentSizedArrayType, { TRY_TO(TraverseType(T->getElementType()));if(T->getSizeExpr()) TRY_TO(TraverseStmt(T->getSizeExpr()));}) DEF_TRAVERSE_TYPE(DependentAddressSpaceType
 DEF_TRAVERSE_TYPE (DependentVectorType, { if(T->getSizeExpr()) TRY_TO(TraverseStmt(T->getSizeExpr()));TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(DependentSizedExtVectorType
 TRY_TO (TraverseType(T->getElementType()))
 DEF_TRAVERSE_TYPE (VectorType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(ExtVectorType
 DEF_TRAVERSE_TYPE (ConstantMatrixType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(DependentSizedMatrixType
 DEF_TRAVERSE_TYPE (FunctionNoProtoType, { TRY_TO(TraverseType(T->getReturnType()));}) DEF_TRAVERSE_TYPE(FunctionProtoType
 for (const auto &A :T->param_types())
 for (const auto &E :T->exceptions())
 if (Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE))
 DEF_TRAVERSE_TYPE (UsingType, { if(TraverseQualifier) TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));}) DEF_TRAVERSE_TYPE(UnresolvedUsingType
 DEF_TRAVERSE_TYPE (TypedefType, { if(TraverseQualifier) TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));}) DEF_TRAVERSE_TYPE(TypeOfExprType
 DEF_TRAVERSE_TYPE (TypeOfType, { TRY_TO(TraverseType(T->getUnmodifiedType()));}) DEF_TRAVERSE_TYPE(DecltypeType
 DEF_TRAVERSE_TYPE (PackIndexingType, { TRY_TO(TraverseType(T->getPattern()));TRY_TO(TraverseStmt(T->getIndexExpr()));}) DEF_TRAVERSE_TYPE(UnaryTransformType
 TRY_TO (TraverseType(T->getUnderlyingType()))
 DEF_TRAVERSE_TYPE (AutoType, { TRY_TO(TraverseType(T->getDeducedType()));if(T->isConstrained()) { TRY_TO(TraverseTemplateArguments(T->getTypeConstraintArguments()));} }) DEF_TRAVERSE_TYPE(SubstTemplateTypeParmType
 DEF_TRAVERSE_TYPE (SubstTemplateTypeParmPackType, { TRY_TO(TraverseSubstPackTypeHelper(T));}) DEF_TRAVERSE_TYPE(SubstBuiltinTemplatePackType
 DEF_TRAVERSE_TYPE (AttributedType, { TRY_TO(TraverseType(T->getModifiedType()));}) DEF_TRAVERSE_TYPE(CountAttributedType
 TRY_TO (TraverseType(T->desugar()))
 DEF_TRAVERSE_TYPE (BTFTagAttributedType, { TRY_TO(TraverseType(T->getWrappedType()));}) DEF_TRAVERSE_TYPE(HLSLAttributedResourceType
 DEF_TRAVERSE_TYPE (HLSLInlineSpirvType, { for(auto &Operand :T->getOperands()) { if(Operand.isConstant()||Operand.isType()) { TRY_TO(TraverseType(Operand.getResultType()));} } }) DEF_TRAVERSE_TYPE(ParenType
 DEF_TRAVERSE_TYPE (MacroQualifiedType, { TRY_TO(TraverseType(T->getUnderlyingType()));}) template< typename Derived > bool RecursiveASTVisitor< Derived >
 DEF_TRAVERSE_TYPE (EnumType, { TRY_TO(TraverseTagType(T, TraverseQualifier));}) DEF_TRAVERSE_TYPE(RecordType
 DEF_TRAVERSE_TYPE (InjectedClassNameType, { TRY_TO(TraverseTagType(T, TraverseQualifier));}) DEF_TRAVERSE_TYPE(DependentNameType
 DEF_TRAVERSE_TYPE (TemplateSpecializationType, { if(TraverseQualifier) { TRY_TO(TraverseTemplateName(T->getTemplateName()));} else { TRY_TO(TraverseTemplateName(TemplateName(T->getTemplateName().getAsTemplateDecl(true))));} TRY_TO(TraverseTemplateArguments(T->template_arguments()));}) DEF_TRAVERSE_TYPE(DeducedTemplateSpecializationType
 DEF_TRAVERSE_TYPE (PackExpansionType, { TRY_TO(TraverseType(T->getPattern()));}) DEF_TRAVERSE_TYPE(ObjCObjectType
 for (auto typeArg :T->getTypeArgsAsWritten())
 DEF_TRAVERSE_TYPE (ObjCObjectPointerType, { TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(AtomicType
 DEF_TRAVERSE_TYPE (PipeType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(DependentBitIntType
 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
else TRY_TO (TraverseNestedNameSpecifier(TL.getTypePtr() ->getQualifier()))
 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()));TRY_TO(TraverseArrayTypeLocHelper(TL));}) DEF_TRAVERSE_TYPELOC(ArrayParameterType
 TRY_TO (TraverseArrayTypeLocHelper(TL))
 DEF_TRAVERSE_TYPELOC (IncompleteArrayType, { TRY_TO(TraverseTypeLoc(TL.getElementLoc()));TRY_TO(TraverseArrayTypeLocHelper(TL));}) DEF_TRAVERSE_TYPELOC(VariableArrayType
 DEF_TRAVERSE_TYPELOC (DependentSizedArrayType, { TRY_TO(TraverseTypeLoc(TL.getElementLoc()));TRY_TO(TraverseArrayTypeLocHelper(TL));}) DEF_TRAVERSE_TYPELOC(DependentAddressSpaceType
 TRY_TO (TraverseType(TL.getTypePtr() ->getPointeeType()))
 DEF_TRAVERSE_TYPELOC (DependentSizedExtVectorType, { if(TL.getTypePtr() ->getSizeExpr()) TRY_TO(TraverseStmt(TL.getTypePtr() ->getSizeExpr()));TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(VectorType
 DEF_TRAVERSE_TYPELOC (DependentVectorType, { if(TL.getTypePtr() ->getSizeExpr()) TRY_TO(TraverseStmt(TL.getTypePtr() ->getSizeExpr()));TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(ExtVectorType
 DEF_TRAVERSE_TYPELOC (ConstantMatrixType, { TRY_TO(TraverseStmt(TL.getAttrRowOperand()));TRY_TO(TraverseStmt(TL.getAttrColumnOperand()));TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(DependentSizedMatrixType
 TRY_TO (TraverseStmt(TL.getAttrColumnOperand()))
 TRY_TO (TraverseType(TL.getTypePtr() ->getElementType()))
 DEF_TRAVERSE_TYPELOC (FunctionNoProtoType, { TRY_TO(TraverseTypeLoc(TL.getReturnLoc()));}) DEF_TRAVERSE_TYPELOC(FunctionProtoType
 for (unsigned I=0, E=TL.getNumParams();I !=E;++I)
 DEF_TRAVERSE_TYPELOC (UsingType, { if(NestedNameSpecifierLoc QualifierLoc=TL.getQualifierLoc();TraverseQualifier &&QualifierLoc) TRY_TO(TraverseNestedNameSpecifierLoc(QualifierLoc));}) DEF_TRAVERSE_TYPELOC(UnresolvedUsingType
 DEF_TRAVERSE_TYPELOC (TypedefType, { if(NestedNameSpecifierLoc QualifierLoc=TL.getQualifierLoc();TraverseQualifier &&QualifierLoc) TRY_TO(TraverseNestedNameSpecifierLoc(QualifierLoc));}) DEF_TRAVERSE_TYPELOC(TypeOfExprType
 DEF_TRAVERSE_TYPELOC (TypeOfType, { TRY_TO(TraverseTypeLoc(TL.getUnmodifiedTInfo() ->getTypeLoc()));}) DEF_TRAVERSE_TYPELOC(DecltypeType
 DEF_TRAVERSE_TYPELOC (PackIndexingType, { TRY_TO(TraverseType(TL.getPattern()));TRY_TO(TraverseStmt(TL.getTypePtr() ->getIndexExpr()));}) DEF_TRAVERSE_TYPELOC(UnaryTransformType
 DEF_TRAVERSE_TYPELOC (AutoType, { TRY_TO(TraverseType(TL.getTypePtr() ->getDeducedType()));if(TL.isConstrained()) { TRY_TO(TraverseConceptReference(TL.getConceptReference()));} }) DEF_TRAVERSE_TYPELOC(SubstTemplateTypeParmType
 DEF_TRAVERSE_TYPELOC (SubstTemplateTypeParmPackType, { TRY_TO(TraverseSubstPackTypeLocHelper(TL));}) DEF_TRAVERSE_TYPELOC(SubstBuiltinTemplatePackType
 DEF_TRAVERSE_TYPELOC (ParenType, { TRY_TO(TraverseTypeLoc(TL.getInnerLoc()));}) DEF_TRAVERSE_TYPELOC(MacroQualifiedType
 DEF_TRAVERSE_TYPELOC (AttributedType, { TRY_TO(TraverseTypeLoc(TL.getModifiedLoc()));}) DEF_TRAVERSE_TYPELOC(CountAttributedType
 DEF_TRAVERSE_TYPELOC (BTFTagAttributedType, { TRY_TO(TraverseTypeLoc(TL.getWrappedLoc()));}) DEF_TRAVERSE_TYPELOC(HLSLAttributedResourceType
 DEF_TRAVERSE_TYPELOC (HLSLInlineSpirvType, { TRY_TO(TraverseType(TL.getType()));}) template< typename Derived > bool RecursiveASTVisitor< Derived >
 DEF_TRAVERSE_TYPELOC (EnumType, { TRY_TO(TraverseTagTypeLoc(TL, TraverseQualifier));}) DEF_TRAVERSE_TYPELOC(RecordType
 DEF_TRAVERSE_TYPELOC (InjectedClassNameType, { TRY_TO(TraverseTagTypeLoc(TL, TraverseQualifier));}) DEF_TRAVERSE_TYPELOC(DependentNameType
 DEF_TRAVERSE_TYPELOC (TemplateSpecializationType, { if(TraverseQualifier) TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));TRY_TO(TraverseTemplateName(TemplateName(TL.getTypePtr() ->getTemplateName().getAsTemplateDecl(true))));for(unsigned I=0, E=TL.getNumArgs();I !=E;++I) { TRY_TO(TraverseTemplateArgumentLoc(TL.getArgLoc(I)));} }) DEF_TRAVERSE_TYPELOC(DeducedTemplateSpecializationType
 TRY_TO (TraverseTemplateName(TemplateName(T->getTemplateName().getAsTemplateDecl(true))))
 TRY_TO (TraverseType(T->getDeducedType()))
 DEF_TRAVERSE_TYPELOC (PackExpansionType, { TRY_TO(TraverseTypeLoc(TL.getPatternLoc()));}) DEF_TRAVERSE_TYPELOC(ObjCTypeParamType
DeclgetPrimaryMergedDecl (Decl *D)
 Get the primary declaration for a declaration from an AST file.
SelectorLocationsKind hasStandardSelectorLocs (Selector Sel, ArrayRef< SourceLocation > SelLocs, ArrayRef< Expr * > Args, SourceLocation EndLoc)
 Returns true if all SelLocs are in a "standard" location.
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]".
SelectorLocationsKind hasStandardSelectorLocs (Selector Sel, ArrayRef< SourceLocation > SelLocs, ArrayRef< ParmVarDecl * > Args, SourceLocation EndLoc)
 Returns true if all SelLocs are in a "standard" location.
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]".
StmtIterator cast_away_const (const ConstStmtIterator &RHS)
 setClauseList (getTrailingObjects(NumClauses))
 OpenACCComputeConstruct (OpenACCDirectiveKind K, SourceLocation Start, SourceLocation DirectiveLoc, SourceLocation End, ArrayRef< const OpenACCClause * > Clauses, Stmt *StructuredBlock)
void setStructuredBlock (Stmt *S)
static bool classof (const Stmt *T)
static OpenACCComputeConstructCreateEmpty (const ASTContext &C, unsigned NumClauses)
static OpenACCComputeConstructCreate (const ASTContext &C, OpenACCDirectiveKind K, SourceLocation BeginLoc, SourceLocation DirectiveLoc, SourceLocation EndLoc, ArrayRef< const OpenACCClause * > Clauses, Stmt *StructuredBlock)
StmtgetStructuredBlock ()
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const TemplateArgument &Arg)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, TemplateName N)
 Insertion operator for diagnostics.
raw_ostream & operator<< (raw_ostream &OS, QualType QT)
FunctionType::ExtInfo getFunctionExtInfo (const Type &t)
FunctionType::ExtInfo getFunctionExtInfo (QualType t)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &PD, LangAS AS)
 Insertion operator for partial diagnostics.
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &PD, Qualifiers Q)
 Insertion operator for partial diagnostics.
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &PD, QualType T)
 Insertion operator for partial diagnostics.
void FixedPointValueToString (SmallVectorImpl< char > &Str, llvm::APSInt Val, unsigned Scale)
bool isTargetAddressSpace (LangAS AS)
unsigned toTargetAddressSpace (LangAS AS)
LangAS getLangASFromTargetAS (unsigned TargetAS)
bool isPtrSizeAddressSpace (LangAS AS)
llvm::VersionTuple alignedAllocMinVersion (llvm::Triple::OSType OS)
bool doesKeywordAttributeTakeArgs (tok::TokenKind Kind)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const AttributeCommonInfo *CI)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const AttributeCommonInfo &CI)
int hasAttribute (AttributeCommonInfo::Syntax Syntax, llvm::StringRef ScopeName, llvm::StringRef AttrName, const TargetInfo &Target, const LangOptions &LangOpts, bool CheckPlugins)
 Return the version number associated with the attribute if we recognize and implement the attribute specified by the given information.
int hasAttribute (AttributeCommonInfo::Syntax Syntax, const IdentifierInfo *Scope, const IdentifierInfo *Attr, const TargetInfo &Target, const LangOptions &LangOpts)
int hasAttribute (AttributeCommonInfo::Syntax Syntax, const IdentifierInfo *Scope, const IdentifierInfo *Attr, const TargetInfo &Target, const LangOptions &LangOpts, bool CheckPlugins)
static const char * getCFBranchLabelSchemeFlagVal (const CFBranchLabelSchemeKind Scheme)
LLVM_READNONE bool isASCII (char c)
 Returns true if a byte is an ASCII character.
LLVM_READNONE bool isASCII (unsigned char c)
LLVM_READNONE bool isASCII (uint32_t c)
 Returns true if a codepoint is an ASCII character.
LLVM_READNONE bool isASCII (int64_t c)
LLVM_READONLY bool isAsciiIdentifierStart (unsigned char c, bool AllowDollar=false)
 Returns true if this is a valid first character of a C identifier, which is [a-zA-Z_].
LLVM_READONLY bool isAsciiIdentifierContinue (unsigned char c)
LLVM_READONLY bool isAsciiIdentifierContinue (unsigned char c, bool AllowDollar)
 Returns true if this is a body character of a C identifier, which is [a-zA-Z0-9_].
LLVM_READONLY bool isHorizontalWhitespace (unsigned char c)
 Returns true if this character is horizontal ASCII whitespace: ' ', '\t', '\f', '\v'.
LLVM_READONLY bool isVerticalWhitespace (unsigned char c)
 Returns true if this character is vertical ASCII whitespace: '\n', '\r'.
LLVM_READONLY bool isWhitespace (unsigned char c)
 Return true if this character is horizontal or vertical ASCII whitespace: ' ', '\t', '\f', '\v', '\n', '\r'.
LLVM_READONLY bool isDigit (unsigned char c)
 Return true if this character is an ASCII digit: [0-9].
LLVM_READONLY bool isLowercase (unsigned char c)
 Return true if this character is a lowercase ASCII letter: [a-z].
LLVM_READONLY bool isUppercase (unsigned char c)
 Return true if this character is an uppercase ASCII letter: [A-Z].
LLVM_READONLY bool isLetter (unsigned char c)
 Return true if this character is an ASCII letter: [a-zA-Z].
LLVM_READONLY bool isAlphanumeric (unsigned char c)
 Return true if this character is an ASCII letter or digit: [a-zA-Z0-9].
LLVM_READONLY bool isHexDigit (unsigned char c)
 Return true if this character is an ASCII hex digit: [0-9a-fA-F].
LLVM_READONLY bool isPunctuation (unsigned char c)
 Return true if this character is an ASCII punctuation character.
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.
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_.
LLVM_READONLY bool isRawStringDelimBody (unsigned char c)
 Return true if this is the body character of a C++ raw string delimiter.
template<EscapeChar Opt, class CharT>
LLVM_READONLY auto escapeCStyle (CharT Ch) -> StringRef
 Return C-style escaped string for special characters, or an empty string if there is no such mapping.
LLVM_READONLY char toLowercase (char c)
 Converts the given ASCII character to its lowercase equivalent.
LLVM_READONLY char toUppercase (char c)
 Converts the given ASCII character to its uppercase equivalent.
LLVM_READONLY bool isValidAsciiIdentifier (StringRef S, bool AllowDollar=false)
 Return true if this is a valid ASCII identifier.
std::optional< diag::GroupdiagGroupFromCLWarningID (unsigned)
 For cl.exe warning IDs that cleany map to clang diagnostic groups, returns the corresponding group.
const char * CudaVersionToString (CudaVersion V)
CudaVersion CudaStringToVersion (const llvm::Twine &S)
CudaVersion MinVersionForOffloadArch (OffloadArch A)
 Get the earliest CudaVersion that supports the given OffloadArch.
CudaVersion MaxVersionForOffloadArch (OffloadArch A)
 Get the latest CudaVersion that supports the given OffloadArch.
CudaVersion ToCudaVersion (llvm::VersionTuple)
bool CudaFeatureEnabled (llvm::VersionTuple, CudaFeature)
bool CudaFeatureEnabled (CudaVersion, CudaFeature)
template<typename T>
 CustomizableOptional (const T &) -> CustomizableOptional< T >
template<class T>
llvm::hash_code hash_value (const CustomizableOptional< T > &O)
template<typename T, typename U>
constexpr bool operator== (const CustomizableOptional< T > &X, const CustomizableOptional< U > &Y)
template<typename T, typename U>
constexpr bool operator!= (const CustomizableOptional< T > &X, const CustomizableOptional< U > &Y)
template<typename T, typename U>
constexpr bool operator< (const CustomizableOptional< T > &X, const CustomizableOptional< U > &Y)
template<typename T, typename U>
constexpr bool operator<= (const CustomizableOptional< T > &X, const CustomizableOptional< U > &Y)
template<typename T, typename U>
constexpr bool operator> (const CustomizableOptional< T > &X, const CustomizableOptional< U > &Y)
template<typename T, typename U>
constexpr bool operator>= (const CustomizableOptional< T > &X, const CustomizableOptional< U > &Y)
template<typename T>
constexpr bool operator== (const CustomizableOptional< T > &X, std::nullopt_t)
template<typename T>
constexpr bool operator== (std::nullopt_t, const CustomizableOptional< T > &X)
template<typename T>
constexpr bool operator!= (const CustomizableOptional< T > &X, std::nullopt_t)
template<typename T>
constexpr bool operator!= (std::nullopt_t, const CustomizableOptional< T > &X)
template<typename T>
constexpr bool operator< (const CustomizableOptional< T > &, std::nullopt_t)
template<typename T>
constexpr bool operator< (std::nullopt_t, const CustomizableOptional< T > &X)
template<typename T>
constexpr bool operator<= (const CustomizableOptional< T > &X, std::nullopt_t)
template<typename T>
constexpr bool operator<= (std::nullopt_t, const CustomizableOptional< T > &X)
template<typename T>
constexpr bool operator> (const CustomizableOptional< T > &X, std::nullopt_t)
template<typename T>
constexpr bool operator> (std::nullopt_t, const CustomizableOptional< T > &X)
template<typename T>
constexpr bool operator>= (const CustomizableOptional< T > &X, std::nullopt_t)
template<typename T>
constexpr bool operator>= (std::nullopt_t, const CustomizableOptional< T > &X)
template<typename T>
constexpr bool operator== (const CustomizableOptional< T > &X, const T &Y)
template<typename T>
constexpr bool operator== (const T &X, const CustomizableOptional< T > &Y)
template<typename T>
constexpr bool operator!= (const CustomizableOptional< T > &X, const T &Y)
template<typename T>
constexpr bool operator!= (const T &X, const CustomizableOptional< T > &Y)
template<typename T>
constexpr bool operator< (const CustomizableOptional< T > &X, const T &Y)
template<typename T>
constexpr bool operator< (const T &X, const CustomizableOptional< T > &Y)
template<typename T>
constexpr bool operator<= (const CustomizableOptional< T > &X, const T &Y)
template<typename T>
constexpr bool operator<= (const T &X, const CustomizableOptional< T > &Y)
template<typename T>
constexpr bool operator> (const CustomizableOptional< T > &X, const T &Y)
template<typename T>
constexpr bool operator> (const T &X, const CustomizableOptional< T > &Y)
template<typename T>
constexpr bool operator>= (const CustomizableOptional< T > &X, const T &Y)
template<typename T>
constexpr bool operator>= (const T &X, const CustomizableOptional< T > &Y)
Expected< std::optional< DarwinSDKInfo > > parseDarwinSDKInfo (llvm::vfs::FileSystem &VFS, StringRef SDKRootPath)
 Parse the SDK information from the SDKSettings.json file.
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const AddFlagValue V)
 Register a value for the flag in the current diagnostic.
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, StringRef S)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const char *Str)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, int I)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, long I)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, long long I)
template<typename T>
std::enable_if_t< std::is_same< T, bool >::value, const StreamingDiagnostic & > operator<< (const StreamingDiagnostic &DB, T I)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, unsigned I)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, unsigned long I)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, unsigned long long I)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, tok::TokenKind I)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const IdentifierInfo *II)
template<typename T>
std::enable_if_t< std::is_same< std::remove_const_t< T >, DeclContext >::value, const StreamingDiagnostic & > operator<< (const StreamingDiagnostic &DB, T *DC)
template<typename T, typename U, typename UnderlyingU = typename std::enable_if_t< std::is_enum_v<std::remove_reference_t<U>>, std::underlying_type<std::remove_reference_t<U>>>::type>
std::enable_if_t< std::is_same_v< std::remove_const_t< T >, StreamingDiagnostic > &&!std::is_convertible_v< U, UnderlyingU >, const StreamingDiagnostic & > operator<< (const T &DB, U &&SE)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, SourceLocation L)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, SourceRange R)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, ArrayRef< SourceRange > Ranges)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const CharSourceRange &R)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const FixItHint &Hint)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, ArrayRef< FixItHint > Hints)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const std::optional< SourceRange > &Opt)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const std::optional< CharSourceRange > &Opt)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, const std::optional< FixItHint > &Opt)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, DiagNullabilityKind nullability)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &DB, llvm::Error &&E)
llvm::raw_ostream & operator<< (llvm::raw_ostream &OS, const StoredDiagnostic &)
void ProcessWarningOptions (DiagnosticsEngine &Diags, const DiagnosticOptions &Opts, llvm::vfs::FileSystem &VFS, bool ReportDiags=true)
 ProcessWarningOptions - Initialize the diagnostic client and process the warning options specified on the command line.
void EscapeStringForDiagnostic (StringRef Str, SmallVectorImpl< char > &OutStr)
 EscapeStringForDiagnostic - Append Str to the diagnostic buffer, escaping non-printable characters and ill-formed code unit sequences.
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)
bool isExplicitThrowExceptionSpec (ExceptionSpecificationType ESpecType)
CanThrowResult mergeCanThrow (CanThrowResult CT1, CanThrowResult CT2)
const char * getTraitName (ExpressionTrait T) LLVM_READONLY
 Return the internal name of type trait T. Never null.
const char * getTraitSpelling (ExpressionTrait T) LLVM_READONLY
 Return the spelling of the type trait TT. Never null.
bool operator== (const FileEntry *LHS, const OptionalFileEntryRef &RHS)
bool operator== (const OptionalFileEntryRef &LHS, const FileEntry *RHS)
bool operator!= (const FileEntry *LHS, const OptionalFileEntryRef &RHS)
bool operator!= (const OptionalFileEntryRef &LHS, const FileEntry *RHS)
HeaderIncludeFormatKind stringToHeaderIncludeFormatKind (const char *Str)
bool stringToHeaderIncludeFiltering (const char *Str, HeaderIncludeFilteringKind &Kind)
const char * headerIncludeFormatKindToString (HeaderIncludeFormatKind K)
const char * headerIncludeFilteringKindToString (HeaderIncludeFilteringKind K)
bool isReservedAtGlobalScope (ReservedIdentifierStatus Status)
 Determine whether an identifier is reserved for use as a name at global scope.
bool isReservedInAllContexts (ReservedIdentifierStatus Status)
 Determine whether an identifier is reserved in all contexts.
raw_ostream & Indent (raw_ostream &Out, const unsigned int Space, bool IsDot)
std::string JsonFormat (StringRef RawSR, bool AddQuotes)
void printSourceLocationAsJson (raw_ostream &Out, SourceLocation Loc, const SourceManager &SM, bool AddBraces=true)
StringRef languageToString (Language L)
LangStandard::Kind getDefaultLanguageStandard (clang::Language Lang, const llvm::Triple &T)
bool isDiscardableGVALinkage (GVALinkage L)
bool isUniqueGVALinkage (GVALinkage L)
 Do we know that this will be the only definition of this symbol (excluding inlining-only definitions)?
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.
void quoteMakeTarget (StringRef Target, SmallVectorImpl< char > &Res)
 Quote target names for inclusion in GNU Make dependency files.
raw_ostream & operator<< (raw_ostream &out, const ObjCRuntime &value)
static bool IsNVIDIAOffloadArch (OffloadArch A)
static bool IsAMDOffloadArch (OffloadArch A)
static bool IsIntelCPUOffloadArch (OffloadArch Arch)
static bool IsIntelGPUOffloadArch (OffloadArch Arch)
static bool IsIntelOffloadArch (OffloadArch Arch)
const char * OffloadArchToString (OffloadArch A)
const char * OffloadArchToVirtualArchString (OffloadArch A)
OffloadArch StringToOffloadArch (llvm::StringRef S)
template<typename StreamTy>
StreamTy & printOpenACCDirectiveKind (StreamTy &Out, OpenACCDirectiveKind K)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &Out, OpenACCDirectiveKind K)
llvm::raw_ostream & operator<< (llvm::raw_ostream &Out, OpenACCDirectiveKind K)
bool isOpenACCComputeDirectiveKind (OpenACCDirectiveKind K)
bool isOpenACCCombinedDirectiveKind (OpenACCDirectiveKind K)
bool isOpenACCDataDirectiveKind (OpenACCDirectiveKind K)
template<typename StreamTy>
StreamTy & printOpenACCAtomicKind (StreamTy &Out, OpenACCAtomicKind AK)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &Out, OpenACCAtomicKind AK)
llvm::raw_ostream & operator<< (llvm::raw_ostream &Out, OpenACCAtomicKind AK)
template<typename StreamTy>
StreamTy & printOpenACCClauseKind (StreamTy &Out, OpenACCClauseKind K)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &Out, OpenACCClauseKind K)
llvm::raw_ostream & operator<< (llvm::raw_ostream &Out, OpenACCClauseKind K)
template<typename StreamTy>
StreamTy & printOpenACCDefaultClauseKind (StreamTy &Out, OpenACCDefaultClauseKind K)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &Out, OpenACCDefaultClauseKind K)
llvm::raw_ostream & operator<< (llvm::raw_ostream &Out, OpenACCDefaultClauseKind K)
template<typename StreamTy>
StreamTy & printOpenACCReductionOperator (StreamTy &Out, OpenACCReductionOperator Op)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &Out, OpenACCReductionOperator Op)
llvm::raw_ostream & operator<< (llvm::raw_ostream &Out, OpenACCReductionOperator Op)
template<typename StreamTy>
StreamTy & printOpenACCGangKind (StreamTy &Out, OpenACCGangKind GK)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &Out, OpenACCGangKind Op)
llvm::raw_ostream & operator<< (llvm::raw_ostream &Out, OpenACCGangKind Op)
bool isOpenACCModifierBitSet (OpenACCModifierKind List, OpenACCModifierKind Bit)
template<typename StreamTy>
StreamTy & printOpenACCModifierKind (StreamTy &Out, OpenACCModifierKind Mods)
const StreamingDiagnosticoperator<< (const StreamingDiagnostic &Out, OpenACCModifierKind Op)
llvm::raw_ostream & operator<< (llvm::raw_ostream &Out, OpenACCModifierKind Op)
OpenMPDefaultClauseVariableCategory getOpenMPDefaultVariableCategory (StringRef Str, const LangOptions &LangOpts)
const char * getOpenMPDefaultVariableCategoryName (unsigned VC)
unsigned getOpenMPSimpleClauseType (OpenMPClauseKind Kind, llvm::StringRef Str, const LangOptions &LangOpts)
const char * getOpenMPSimpleClauseTypeName (OpenMPClauseKind Kind, unsigned Type)
bool isOpenMPLoopDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a directive with an associated loop construct.
bool isOpenMPWorksharingDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a worksharing directive.
bool isOpenMPTaskLoopDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a taskloop directive.
bool isOpenMPParallelDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a parallel-kind directive.
bool isOpenMPTargetExecutionDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a target code offload directive.
bool isOpenMPTargetDataManagementDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a target data offload directive.
bool isOpenMPNestingTeamsDirective (OpenMPDirectiveKind DKind)
 Checks if the specified composite/combined directive constitutes a teams directive in the outermost nest.
bool isOpenMPTeamsDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a teams-kind directive.
bool isOpenMPSimdDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a simd directive.
bool isOpenMPDistributeDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a distribute directive.
bool isOpenMPNestingDistributeDirective (OpenMPDirectiveKind DKind)
 Checks if the specified composite/combined directive constitutes a distribute directive in the outermost nest.
bool isOpenMPGenericLoopDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive constitutes a 'loop' directive in the outermost nest.
bool isOpenMPPrivate (OpenMPClauseKind Kind)
 Checks if the specified clause is one of private clauses like 'private', 'firstprivate', 'reduction' etc.
bool isOpenMPThreadPrivate (OpenMPClauseKind Kind)
 Checks if the specified clause is one of threadprivate clauses like 'threadprivate', 'copyin' or 'copyprivate'.
bool isOpenMPTaskingDirective (OpenMPDirectiveKind Kind)
 Checks if the specified directive kind is one of tasking directives - task, taskloop, taksloop simd, master taskloop, parallel master taskloop, master taskloop simd, or parallel master taskloop simd.
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.
bool isOpenMPCanonicalLoopNestTransformationDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a loop transformation directive that applies to a canonical loop nest.
bool isOpenMPLoopTransformationDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a loop transformation directive.
void getOpenMPCaptureRegions (llvm::SmallVectorImpl< OpenMPDirectiveKind > &CaptureRegions, OpenMPDirectiveKind DKind)
 Return the captured regions of an OpenMP directive.
bool isOpenMPCombinedParallelADirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a combined construct for which the first construct is a parallel construct.
bool needsTaskBasedThreadLimit (OpenMPDirectiveKind DKind)
 Checks if the specified target directive, combined or not, needs task based thread_limit.
bool checkFailClauseParameter (OpenMPClauseKind FailClauseParameter)
 Checks if the parameter to the fail clause in "#pragma atomic compare fail" is restricted only to memory order clauses of "OMPC_acquire", "OMPC_relaxed" and "OMPC_seq_cst".
bool isOpenMPExecutableDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is considered as "executable".
bool isOpenMPInformationalDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is considered as "informational".
bool isOpenMPCapturingDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive can capture variables.
bool isOpenMPOrderConcurrentNestableDirective (OpenMPDirectiveKind DKind, const LangOptions &LangOpts)
 Checks if the specified directive is an order concurrent nestable directive that can be nested within region corresponding to construct on which order clause was specified with concurrent as ordering argument.
const char * getOperatorSpelling (OverloadedOperatorKind Operator)
 Retrieve the spelling of the given overloaded operator, without the preceding "operator" keyword.
OverloadedOperatorKind getRewrittenOverloadedOperator (OverloadedOperatorKind Kind)
 Get the other overloaded operator that the given operator can be rewritten into, if any such operator exists.
bool isCompoundAssignmentOperator (OverloadedOperatorKind Kind)
 Determine if this is a compound assignment operator.
prec::Level getBinOpPrecedence (tok::TokenKind Kind, bool GreaterThanIsOperator, bool CPlusPlus11)
 Return the precedence of the specified binary operator token.
const std::list< std::unique_ptr< ParsedAttrInfo > > & getAttributePluginInstances ()
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const PartialDiagnostic &PD)
llvm::hash_code hash_value (const clang::SanitizerMask &Arg)
SanitizerMask parseSanitizerValue (StringRef Value, bool AllowGroups)
 Parse a single value from a -fsanitize= or -fno-sanitize= value list.
bool parseSanitizerWeightedValue (StringRef Value, bool AllowGroups, SanitizerMaskCutoffs &Cutoffs)
 Parse a single weighted value (e.g., 'undefined=0.05') from a -fsanitize= or -fno-sanitize= value list.
void serializeSanitizerSet (SanitizerSet Set, SmallVectorImpl< StringRef > &Values)
 Serialize a SanitizerSet into values for -fsanitize= or -fno-sanitize=.
void serializeSanitizerMaskCutoffs (const SanitizerMaskCutoffs &Cutoffs, SmallVectorImpl< std::string > &Values)
 Serialize a SanitizerMaskCutoffs into command line arguments.
SanitizerMask expandSanitizerGroups (SanitizerMask Kinds)
 For each sanitizer group bit set in Kinds, set the bits for sanitizers this group enables.
SanitizerMask getPPTransparentSanitizers ()
 Return the sanitizers which do not affect preprocessing.
StringRef AsanDtorKindToString (llvm::AsanDtorKind kind)
llvm::AsanDtorKind AsanDtorKindFromString (StringRef kind)
StringRef AsanDetectStackUseAfterReturnModeToString (llvm::AsanDetectStackUseAfterReturnMode mode)
llvm::AsanDetectStackUseAfterReturnMode AsanDetectStackUseAfterReturnModeFromString (StringRef modeStr)
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 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).
bool isTemplateExplicitInstantiationOrSpecialization (TemplateSpecializationKind Kind)
 True if this template specialization kind is an explicit specialization, explicit instantiation declaration, or explicit instantiation definition.
bool isLegalForFunction (StorageClass SC)
 Checks whether the given storage class is legal for functions.
bool isLegalForVariable (StorageClass SC)
 Checks whether the given storage class is legal for variables.
bool supportsVariadicCall (CallingConv CC)
 Checks whether the given calling convention supports variadic calls.
llvm::raw_ostream & operator<< (llvm::raw_ostream &, NullabilityKind)
 Prints human-readable debug representation.
bool hasWeakerNullability (NullabilityKind L, NullabilityKind R)
 Return true if L has a weaker nullability annotation than R.
llvm::StringRef getNullabilitySpelling (NullabilityKind kind, bool isContextSensitive=false)
 Retrieve the spelling of the given nullability kind.
llvm::StringRef getParameterABISpelling (ParameterABI kind)
llvm::StringRef getAccessSpelling (AccessSpecifier AS)
void noteBottomOfStack (bool ForceSet=false)
 Call this once on each thread, as soon after starting the thread as feasible, to note the approximate address of the bottom of the stack.
bool isStackNearlyExhausted ()
 Determine whether the stack is nearly exhausted.
void runWithSufficientStackSpaceSlow (llvm::function_ref< void()> Diag, llvm::function_ref< void()> Fn)
void runWithSufficientStackSpace (llvm::function_ref< void()> Diag, llvm::function_ref< void()> Fn)
 Run a given function on a stack with "sufficient" space.
llvm::StringRef getAsString (SyncScope S)
llvm::SmallVector< llvm::StringRef, 4 > getAllPossibleTargetIDFeatures (const llvm::Triple &T, llvm::StringRef Processor)
 Get all feature strings that can be used in target ID for Processor.
llvm::StringRef getProcessorFromTargetID (const llvm::Triple &T, llvm::StringRef OffloadArch)
 Get processor name from target ID.
std::optional< llvm::StringRef > parseTargetID (const llvm::Triple &T, llvm::StringRef OffloadArch, llvm::StringMap< bool > *FeatureMap)
 Parse a target ID to get processor and feature map.
std::string getCanonicalTargetID (llvm::StringRef Processor, const llvm::StringMap< bool > &Features)
 Returns canonical target ID, assuming Processor is canonical and all entries in Features are valid.
std::optional< std::pair< llvm::StringRef, llvm::StringRef > > getConflictTargetIDCombination (const std::set< llvm::StringRef > &TargetIDs)
 Get the conflicted pair of target IDs for a compilation or a bundled code object, assuming TargetIDs are canonicalized.
bool isCompatibleTargetID (llvm::StringRef Provided, llvm::StringRef Requested)
 Check whether the provided target ID is compatible with the requested target ID.
const char * getTraitName (TypeTrait T) LLVM_READONLY
 Return the internal name of type trait T. Never null.
const char * getTraitName (ArrayTypeTrait T) LLVM_READONLY
const char * getTraitName (UnaryExprOrTypeTrait T) LLVM_READONLY
const char * getTraitSpelling (TypeTrait T) LLVM_READONLY
 Return the spelling of the type trait TT. Never null.
const char * getTraitSpelling (ArrayTypeTrait T) LLVM_READONLY
const char * getTraitSpelling (UnaryExprOrTypeTrait T) LLVM_READONLY
unsigned getTypeTraitArity (TypeTrait T) LLVM_READONLY
 Return the arity of the type trait T.
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.
std::string getLLVMRepositoryPath ()
 Retrieves the repository path from which LLVM was built.
std::string getClangRevision ()
 Retrieves the repository revision number (or identifier) from which this Clang was built.
std::string getLLVMRevision ()
 Retrieves the repository revision number (or identifier) from which LLVM was built.
std::string getClangVendor ()
 Retrieves the Clang vendor tag.
std::string getClangFullRepositoryVersion ()
 Retrieves the full repository version that is an amalgamation of the information in getClangRepositoryPath() and getClangRevision().
std::string getClangFullVersion ()
 Retrieves a string representing the complete clang version, which includes the clang version number, the repository version, and the vendor tag.
std::string getClangToolFullVersion (llvm::StringRef ToolName)
 Like getClangFullVersion(), but with a custom tool name.
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.
Visibility minVisibility (Visibility L, Visibility R)
XRayInstrMask parseXRayInstrValue (StringRef Value)
 Parses a command line argument into a mask.
void serializeXRayInstrValue (XRayInstrSet Set, SmallVectorImpl< StringRef > &Values)
 Serializes a set into a list of command line arguments.
void emitBackendOutput (CompilerInstance &CI, CodeGenOptions &CGOpts, StringRef TDesc, llvm::Module *M, BackendAction Action, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > VFS, std::unique_ptr< raw_pwrite_stream > OS, BackendConsumer *BC=nullptr)
void EmbedBitcode (llvm::Module *M, const CodeGenOptions &CGOpts, llvm::MemoryBufferRef Buf)
void EmbedObject (llvm::Module *M, const CodeGenOptions &CGOpts, DiagnosticsEngine &Diags)
CodeGeneratorCreateLLVMCodeGen (DiagnosticsEngine &Diags, llvm::StringRef ModuleName, IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS, const HeaderSearchOptions &HeaderSearchOpts, const PreprocessorOptions &PreprocessorOpts, const CodeGenOptions &CGO, llvm::LLVMContext &C, CoverageSourceInfo *CoverageInfo=nullptr)
 CreateLLVMCodeGen - Create a CodeGenerator instance.
bool checkOffloadBundleID (const llvm::StringRef Str)
 Check whether the bundle id is in the following format: <kind>-<triple>[-<target id>[:target features]] <triple> := <arch>-<vendor>-<os>-<env>
int getLastArgIntValue (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, int Default, DiagnosticsEngine *Diags=nullptr, unsigned Base=0)
 Return the value of the last argument as an integer, or a default.
int getLastArgIntValue (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, int Default, DiagnosticsEngine &Diags, unsigned Base=0)
uint64_t getLastArgUInt64Value (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, uint64_t Default, DiagnosticsEngine *Diags=nullptr, unsigned Base=0)
uint64_t getLastArgUInt64Value (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, uint64_t Default, DiagnosticsEngine &Diags, unsigned Base=0)
bool isCpp () const
bool isCSharp () const
bool isJson () const
bool isJava () const
bool isJavaScript () const
bool isVerilog () const
bool isTextProto () const
bool isProto () const
bool isTableGen () const
bool operator== (const FormatStyle &R) const
std::optional< FormatStyle > GetLanguageStyle (LanguageKind Language) const
static FormatStyleSet BuildStyleSetFromConfiguration (const FormatStyle &MainStyle, const std::vector< FormatStyle > &ConfigurationStyles)
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, bool DumpDeclTypes, ASTDumpOutputFormat Format)
std::unique_ptr< ASTConsumerCreateASTDumper (raw_ostream &OS, StringRef FilterString, bool DumpDecls, bool Deserialize, bool DumpLookups, bool DumpDeclTypes, ASTDumpOutputFormat Format)
std::unique_ptr< ASTConsumerCreateASTDeclNodeLister ()
std::unique_ptr< ASTConsumerCreateASTViewer ()
std::unique_ptr< DiagnosticOptionsCreateAndPopulateDiagOpts (ArrayRef< const char * > Argv)
bool ParseDiagnosticArgs (DiagnosticOptions &Opts, llvm::opt::ArgList &Args, clang::DiagnosticsEngine *Diags=nullptr, bool DefaultDiagColor=true)
 Fill out Opts based on the options given in Args.
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)
IntrusiveRefCntPtr< llvm::vfs::FileSystem > createVFSFromOverlayFiles (ArrayRef< std::string > VFSOverlayFiles, DiagnosticsEngine &Diags, IntrusiveRefCntPtr< llvm::vfs::FileSystem > BaseFS)
PreambleBounds ComputePreambleBounds (const LangOptions &LangOpts, const llvm::MemoryBufferRef &Buffer, unsigned MaxLines)
 Runs lexer to compute suggested preamble bounds.
std::error_code make_error_code (BuildPreambleError Error)
void InitializePreprocessor (Preprocessor &PP, const PreprocessorOptions &PPOpts, const PCHContainerReader &PCHContainerRdr, const FrontendOptions &FEOpts, const CodeGenOptions &CodeGenOpts)
 InitializePreprocessor - Initialize the preprocessor getting it and the environment ready to process a single file.
void DoPrintPreprocessedInput (Preprocessor &PP, raw_ostream *OS, const PreprocessorOutputOptions &Opts)
 DoPrintPreprocessedInput - Implement -E mode.
void AttachDependencyGraphGen (Preprocessor &PP, StringRef OutputFile, StringRef SysRoot)
 AttachDependencyGraphGen - Create a dependency graph generator, and attach it to the given preprocessor.
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.
IntrusiveRefCntPtr< ExternalSemaSourcecreateChainedIncludesSource (CompilerInstance &CI, IntrusiveRefCntPtr< ASTReader > &OutReader)
 The ChainedIncludesSource class converts headers to chained PCHs in memory, mainly for testing.
std::unique_ptr< CompilerInvocationcreateInvocation (ArrayRef< const char * > Args, CreateInvocationOptions Opts={})
 Interpret clang arguments in preparation to parse a file.
std::unique_ptr< FrontendActionCreateFrontendAction (CompilerInstance &CI)
 Construct the FrontendAction of a compiler invocation based on the options specified for the compiler invocation.
bool ExecuteCompilerInvocation (CompilerInstance *Clang)
 ExecuteCompilerInvocation - Execute the given actions described by the compiler invocation object in the given compiler instance.
bool scanSourceForDependencyDirectives (StringRef Input, SmallVectorImpl< dependency_directives_scan::Token > &Tokens, SmallVectorImpl< dependency_directives_scan::Directive > &Directives, DiagnosticsEngine *Diags=nullptr, SourceLocation InputSourceLoc=SourceLocation())
 Scan the input for the preprocessor directives that might have an effect on the dependencies for a compilation unit.
void printDependencyDirectivesAsSource (StringRef Source, ArrayRef< dependency_directives_scan::Directive > Directives, llvm::raw_ostream &OS)
 Print the previously scanned dependency directives as minimized source text.
bool scanInputForCXX20ModulesUsage (StringRef Source)
 Scan an input source buffer for C++20 named module usage.
void ApplyHeaderSearchOptions (HeaderSearch &HS, const HeaderSearchOptions &HSOpts, const LangOptions &Lang, const llvm::Triple &triple)
 Apply the header search options to get given HeaderSearch object.
void normalizeModuleCachePath (FileManager &FileMgr, StringRef Path, SmallVectorImpl< char > &NormalizedPath)
template<typename HasherT, llvm::endianness Endianness>
void addHash (llvm::HashBuilder< HasherT, Endianness > &HBuilder, const HeaderSearchOptions::Entry &E)
template<typename HasherT, llvm::endianness Endianness>
void addHash (llvm::HashBuilder< HasherT, Endianness > &HBuilder, const HeaderSearchOptions::SystemHeaderPrefix &SHP)
void expandUCNs (SmallVectorImpl< char > &Buf, StringRef Input)
 Copy characters from Input to Buf, expanding any UCNs.
bool isFunctionLocalStringLiteralMacro (tok::TokenKind K, const LangOptions &LO)
 Return true if the token corresponds to a function local predefined macro, which expands to a string literal, that can be concatenated with other string literals (only in Microsoft mode).
bool tokenIsLikeStringLiteral (const Token &Tok, const LangOptions &LO)
 Return true if the token is a string literal, or a function local predefined macro, which expands to a string literal.
void prepare_PragmaString (SmallVectorImpl< char > &StrVal)
 Destringize a _Pragma("") string according to C11 6.10.9.1: "The string literal is destringized by deleting any encoding prefix, deleting the leading and trailing double-quotes, replacing each escape sequence \" by a double-quote, and replacing each escape sequence \ by a single backslash.
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.
void ParseAST (Sema &S, bool PrintStats=false, bool SkipFunctionBodies=false)
 Parse the main file known to the preprocessor, producing an abstract syntax tree.
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.
void RewriteMacrosInInput (Preprocessor &PP, raw_ostream *OS)
 RewriteMacrosInInput - Implement -rewrite-macros mode.
void DoRewriteTest (Preprocessor &PP, raw_ostream *OS)
 DoRewriteTest - A simple test for the TokenRewriter class.
void RewriteIncludesInInput (Preprocessor &PP, raw_ostream *OS, const PreprocessorOutputOptions &Opts)
 RewriteIncludesInInput - Implement -frewrite-includes mode.
bool isFuncOrMethodForAttrSubject (const Decl *D)
 isFuncOrMethodForAttrSubject - Return true if the given decl has function type (function or function-typed variable) or an Objective-C method.
bool isFunctionOrMethodOrBlockForAttrSubject (const Decl *D)
 Return true if the given decl has function type (function or function-typed variable) or an Objective-C method or a block.
bool hasDeclarator (const Decl *D)
 Return true if the given decl has a declarator that should have been processed by Sema::GetTypeForDeclarator.
bool hasFunctionProto (const Decl *D)
 hasFunctionProto - Return true if the given decl has a argument information.
unsigned getFunctionOrMethodNumParams (const Decl *D)
 getFunctionOrMethodNumParams - Return number of function or method parameters.
const ParmVarDeclgetFunctionOrMethodParam (const Decl *D, unsigned Idx)
QualType getFunctionOrMethodParamType (const Decl *D, unsigned Idx)
SourceRange getFunctionOrMethodParamRange (const Decl *D, unsigned Idx)
QualType getFunctionOrMethodResultType (const Decl *D)
SourceRange getFunctionOrMethodResultSourceRange (const Decl *D)
bool isFunctionOrMethodVariadic (const Decl *D)
bool isInstanceMethod (const Decl *D)
template<typename AttrTy>
bool checkAttrMutualExclusion (SemaBase &S, Decl *D, const ParsedAttr &AL)
 Diagnose mutually exclusive attributes when present on a given declaration.
template<typename AttrTy>
bool checkAttrMutualExclusion (SemaBase &S, Decl *D, const Attr &AL)
template<typename... DiagnosticArgs>
const SemaBase::SemaDiagnosticBuilderappendDiagnostics (const SemaBase::SemaDiagnosticBuilder &Bldr)
template<typename T, typename... DiagnosticArgs>
const SemaBase::SemaDiagnosticBuilderappendDiagnostics (const SemaBase::SemaDiagnosticBuilder &Bldr, T &&ExtraArg, DiagnosticArgs &&...ExtraArgs)
template<typename AttrType>
void handleSimpleAttribute (SemaBase &S, Decl *D, const AttributeCommonInfo &CI)
 Applies the given attribute to the Decl without performing any additional semantic checking.
template<typename AttrType, typename... DiagnosticArgs>
void handleSimpleAttributeOrDiagnose (SemaBase &S, Decl *D, const AttributeCommonInfo &CI, bool PassesCheck, unsigned DiagID, DiagnosticArgs &&...ExtraArgs)
 Add an attribute AttrType to declaration D, provided that PassesCheck is true.
SimplifiedTypeClass getSimplifiedTypeClass (CanQualType T)
 Determine the simplified type class of the given canonical type.
QualType getDeclUsageType (ASTContext &C, NestedNameSpecifier Qualifier, const NamedDecl *ND)
 Determine the type that this declaration will have if it is used as a type or in an expression.
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.
CXCursorKind getCursorKindForDecl (const Decl *D)
 Determine the libclang cursor kind associated with the given declaration.
llvm::StringRef getCompletionKindString (CodeCompletionContext::Kind Kind)
 Get string representation of Kind, useful for debugging.
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)
const RawCommentgetCompletionComment (const ASTContext &Ctx, const NamedDecl *Decl)
 Get the documentation comment used to produce CodeCompletionString::BriefComment for RK_Declaration.
const RawCommentgetPatternCompletionComment (const ASTContext &Ctx, const NamedDecl *Decl)
 Get the documentation comment used to produce CodeCompletionString::BriefComment for RK_Pattern.
const RawCommentgetParameterComment (const ASTContext &Ctx, const CodeCompleteConsumer::OverloadCandidate &Result, unsigned ArgIndex)
 Get the documentation comment used to produce CodeCompletionString::BriefComment for OverloadCandidate.
ImplicitConversionRank GetConversionRank (ImplicitConversionKind Kind)
 GetConversionRank - Retrieve the implicit conversion rank corresponding to the given implicit conversion kind.
ImplicitConversionRank GetDimensionConversionRank (ImplicitConversionRank Base, ImplicitConversionKind Dimension)
bool isBetterOverloadCandidate (Sema &S, const OverloadCandidate &Cand1, const OverloadCandidate &Cand2, SourceLocation Loc, OverloadCandidateSet::CandidateSetKind Kind, bool PartialOverloading=false)
 isBetterOverloadCandidate - Determines whether the first overload candidate is a better candidate than the second (C++ 13.3.3p1).
ConstructorInfo getConstructorInfo (NamedDecl *ND)
bool shouldEnforceArgLimit (bool PartialOverloading, FunctionDecl *Function)
ExprResult ExprError ()
StmtResult StmtError ()
TypeResult TypeError ()
ExprResult ExprError (const StreamingDiagnostic &)
StmtResult StmtError (const StreamingDiagnostic &)
ExprResult ExprEmpty ()
StmtResult StmtEmpty ()
ExprAssertSuccess (ExprResult R)
StmtAssertSuccess (StmtResult R)
void takeAndConcatenateAttrs (ParsedAttributes &First, ParsedAttributes &&Second)
 Consumes the attributes from Second and concatenates them at the end of First.
SourceRange getTemplateParamsRange (TemplateParameterList const *const *Params, unsigned NumParams)
 Retrieves the range of the given template parameter lists.
void inferNoReturnAttr (Sema &S, const Decl *D)
DeductionFailureInfo MakeDeductionFailureInfo (ASTContext &Context, TemplateDeductionResult TDK, sema::TemplateDeductionInfo &Info)
 Convert from Sema's representation of template deduction information to the form used in overload-candidate information.
SemaARM::ArmStreamingType getArmStreamingFnType (const FunctionDecl *FD)
const NormalizedConstraintgetNormalizedAssociatedConstraints (Sema &S, const NamedDecl *ConstrainedDecl, ArrayRef< AssociatedConstraint > AssociatedConstraints)
bool CreateHLSLAttributedResourceType (Sema &S, QualType Wrapped, ArrayRef< const Attr * > AttrList, QualType &ResType, HLSLAttributedResourceLocInfo *LocInfo=nullptr)
bool FTIHasSingleVoidParameter (const DeclaratorChunk::FunctionTypeInfo &FTI)
bool FTIHasNonVoidParameters (const DeclaratorChunk::FunctionTypeInfo &FTI)
bool DeclAttrsMatchCUDAMode (const LangOptions &LangOpts, Decl *D)
InheritableAttrgetDLLAttr (Decl *D)
 Return a DLL attribute from the declaration.
std::pair< unsigned, unsignedgetDepthAndIndex (const NamedDecl *ND)
 Retrieve the depth and index of a template parameter.
std::optional< std::pair< unsigned, unsigned > > getDepthAndIndex (UnexpandedParameterPack UPP)
 Retrieve the depth and index of an unexpanded parameter pack.
UnsignedOrNone getStackIndexOfNearestEnclosingCaptureCapableLambda (ArrayRef< const sema::FunctionScopeInfo * > FunctionScopes, ValueDecl *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.
std::unique_ptr< sema::RISCVIntrinsicManagerCreateRISCVIntrinsicManager (Sema &S)
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)
bool shouldSkipCheckingODR (const Decl *D)
UnsignedOrNone getPrimaryModuleHash (const Module *M)
 Calculate a hash value for the primary module name of the given module.
bool CanElideDeclDef (const Decl *D)
 If we can elide the definition of.
IntrusiveRefCntPtr< ModuleCachecreateCrossProcessModuleCache ()
 Creates new ModuleCache backed by a file system directory that may be operated on by multiple processes.
std::vector< TestLanguagegetCOrLater (int MinimumStd)
std::vector< TestLanguagegetCXXOrLater (int MinimumStd)
std::vector< std::string > getCommandLineArgsForTesting (TestLanguage Lang)
std::vector< std::string > getCC1ArgsForTesting (TestLanguage Lang)
StringRef getFilenameForTesting (TestLanguage Lang)
std::string getAnyTargetForTesting ()
 Find a target name such that looking for it in TargetRegistry by that name returns the same target.
static bool canExprResolveTo (const Expr *Source, const Expr *Target)
bool operator== (const APValue::LValueBase &LHS, const APValue::LValueBase &RHS)
llvm::hash_code hash_value (const APValue::LValueBase &Base)
template<class T>
static SmallVector< Decl *, 2 > getCanonicalForwardRedeclChain (Redeclarable< T > *D)
static void updateFlags (const Decl *From, Decl *To)
static bool isWhitespace (llvm::StringRef S)
CXXABICreateItaniumCXXABI (ASTContext &Ctx)
 Creates an instance of a C++ ABI class.
CXXABICreateMicrosoftCXXABI (ASTContext &Ctx)
std::unique_ptr< MangleNumberingContextcreateItaniumNumberingContext (MangleContext *)
raw_ostream & operator<< (raw_ostream &OS, const FunctionEffectWithCondition &CFE)
static llvm::SmallVector< llvm::StringRef, 4 > getAllPossibleAMDGPUTargetIDFeatures (const llvm::Triple &T, llvm::StringRef Proc)
static llvm::StringRef getCanonicalProcessorName (const llvm::Triple &T, llvm::StringRef Processor)
 Returns canonical processor name or empty string if Processor is invalid.
static std::optional< llvm::StringRef > parseTargetIDWithFormatCheckingOnly (llvm::StringRef TargetID, llvm::StringMap< bool > *FeatureMap)
std::string getClangToolFullVersion (StringRef ToolName)
template<class U>
U cast (CodeGen::Address addr)
template<class U>
bool isa (CodeGen::Address addr)
llvm::cl::opt< boolClSanitizeGuardChecks ("ubsan-guard-checks", llvm::cl::Optional, llvm::cl::desc("Guard UBSAN checks with `llvm.allow.ubsan.check()`."))
static void reportOptRecordError (Error E, DiagnosticsEngine &Diags, const CodeGenOptions &CodeGenOpts)
llvm::fp::ExceptionBehavior ToConstrainedExceptMD (LangOptions::FPExceptionModeKind Kind)
std::optional< sys::fs::file_status > getFileStatus (StringRef Path)
std::vector< std::string > scanDirectory (StringRef Path)
std::vector< DirectoryWatcher::EventgetAsFileEvents (const std::vector< std::string > &Scan)
 Create event with EventKind::Added for every element in Scan.
std::vector< std::string > scanDirectory (llvm::StringRef Path)
 Gets names (filenames) of items in directory at Path.
std::optional< llvm::sys::fs::file_status > getFileStatus (llvm::StringRef Path)
 Gets status of file (or directory) at Path.
int getLastArgIntValue (const ArgList &Args, OptSpecifier Id, int Default, DiagnosticsEngine *Diags, unsigned Base)
uint64_t getLastArgUInt64Value (const ArgList &Args, OptSpecifier Id, uint64_t Default, DiagnosticsEngine *Diags, unsigned Base)
bool isLineComment (const FormatToken &FormatTok)
bool continuesLineComment (const FormatToken &FormatTok, const FormatToken *Previous, const FormatToken *MinColumnToken)
bool startsNextParameter (const FormatToken &Current, const FormatStyle &Style)
static std::unique_ptr< FrontendActionCreateFrontendBaseAction (CompilerInstance &CI)
clang::CodeCompleteOptions getClangCompleteOpts ()
Expected< std::unique_ptr< llvm::jitlink::JITLinkMemoryManager > > createSharedMemoryManager (llvm::orc::SimpleRemoteEPC &SREPC, unsigned SlabAllocateSize)
static llvm::Expected< llvm::orc::JITTargetMachineBuilder > createJITTargetMachineBuilder (const std::string &TT)
IntegerLiteralIntegerLiteralExpr (ASTContext &C, uint64_t Val)
ExprCStyleCastPtrExpr (Sema &S, QualType Ty, Expr *E)
ExprCStyleCastPtrExpr (Sema &S, QualType Ty, uintptr_t Ptr)
Sema::DeclGroupPtrTy CreateDGPtrFrom (Sema &S, Decl *D)
NamespaceDeclLookupNamespace (Sema &S, llvm::StringRef Name, const DeclContext *Within)
NamedDeclLookupNamed (Sema &S, llvm::StringRef Name, const DeclContext *Within)
std::string GetFullTypeName (ASTContext &Ctx, QualType QT)
static Value::Kind ConvertQualTypeToKind (const ASTContext &Ctx, QualType QT)
static bool checkAMDGPUFlatWorkGroupSizeArguments (Sema &S, Expr *MinExpr, Expr *MaxExpr, const AMDGPUFlatWorkGroupSizeAttr &Attr)
static bool checkAMDGPUWavesPerEUArguments (Sema &S, Expr *MinExpr, Expr *MaxExpr, const AMDGPUWavesPerEUAttr &Attr)
static bool checkAMDGPUMaxNumWorkGroupsArguments (Sema &S, Expr *XExpr, Expr *YExpr, Expr *ZExpr, const AMDGPUMaxNumWorkGroupsAttr &Attr)
static QualType getNeonEltType (NeonTypeFlags Flags, ASTContext &Context, bool IsPolyUnsigned, bool IsInt64Long)
 getNeonEltType - Return the QualType corresponding to the elements of the vector type specified by the NeonTypeFlags.
static bool checkArmStreamingBuiltin (Sema &S, CallExpr *TheCall, const FunctionDecl *FD, SemaARM::ArmStreamingType BuiltinType, unsigned BuiltinID)
static ArmSMEState getSMEState (unsigned BuiltinID)
static bool BuiltinAliasValid (unsigned BuiltinID, StringRef AliasName, ArrayRef< IntrinToName > Map, const char *IntrinNames)
static bool checkNewAttrMutualExclusion (Sema &S, const ParsedAttr &AL, const FunctionProtoType *FPT, FunctionType::ArmStateValue CurrentState, StringRef StateName)
static uint64_t getSVETypeSize (ASTContext &Context, const BuiltinType *Ty, bool IsStreaming)
 getSVETypeSize - Return SVE vector or predicate register size.
const SemaBase::SemaDiagnosticBuilderoperator<< (const SemaBase::SemaDiagnosticBuilder &Diag, const PartialDiagnostic &PD)
static CountAttributedType::DynamicCountPointerKind getCountAttrKind (bool CountInBytes, bool OrNull)
static const RecordDeclGetEnclosingNamedOrTopAnonRecord (const FieldDecl *FD)
static void EmitIncompleteCountedByPointeeNotes (Sema &S, const CountAttributedType *CATy, NamedDecl *IncompleteTyDecl)
static std::tuple< const CountAttributedType *, QualTypeGetCountedByAttrOnIncompletePointee (QualType Ty, NamedDecl **ND)
static bool CheckAssignmentToCountAttrPtrWithIncompletePointeeTy (Sema &S, QualType LHSTy, Expr *RHSExpr, AssignmentAction Action, SourceLocation Loc, const ValueDecl *Assignee, bool ShowFullyQualifiedAssigneeName)
 Perform Checks for assigning to a __counted_by or __counted_by_or_null pointer type.
static bool isValidPreserveFieldInfoArg (Expr *Arg)
static bool isValidPreserveTypeInfoArg (Expr *Arg)
static bool isValidPreserveEnumValueArg (Expr *Arg)
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.
static bool hasImplicitExceptionSpec (FunctionDecl *Decl)
 Determine whether a function has an implicitly-generated exception specification.
static bool CheckSpecForTypesEquivalent (Sema &S, const PartialDiagnostic &DiagID, const PartialDiagnostic &NoteID, QualType Target, SourceLocation TargetLoc, QualType Source, SourceLocation SourceLoc)
static CanThrowResult canSubStmtsThrow (Sema &Self, const Stmt *S)
static CanThrowResult canVarDeclThrow (Sema &Self, const VarDecl *VD)
static CanThrowResult canDynamicCastThrow (const CXXDynamicCastExpr *DC)
static CanThrowResult canTypeidThrow (Sema &S, const CXXTypeidExpr *DC)
static QualType applyObjCTypeArgs (Sema &S, SourceLocation loc, QualType type, ArrayRef< TypeSourceInfo * > typeArgs, SourceRange typeArgsRange, bool failOnError, bool rebuilding)
 Apply Objective-C type arguments to the given type.
static bool considerVariable (VarDecl *var, Expr *ref, RetainCycleOwner &owner)
 Consider whether capturing the given variable can possibly lead to a retain cycle.
static bool findRetainCycleOwner (Sema &S, Expr *e, RetainCycleOwner &owner)
static ExprfindCapturingExpr (Sema &S, Expr *e, RetainCycleOwner &owner)
 Check whether the given argument is a block which captures a variable.
static void diagnoseRetainCycle (Sema &S, Expr *capturer, RetainCycleOwner &owner)
static bool isSetterLikeSelector (Selector sel)
 Check for a keyword selector that starts with the word 'add' or 'set'.
static std::optional< intGetNSMutableArrayArgumentIndex (SemaObjC &S, ObjCMessageExpr *Message)
static std::optional< intGetNSMutableDictionaryArgumentIndex (SemaObjC &S, ObjCMessageExpr *Message)
static std::optional< intGetNSSetArgumentIndex (SemaObjC &S, ObjCMessageExpr *Message)
static bool checkIBOutletCommon (Sema &S, Decl *D, const ParsedAttr &AL)
static bool isValidSubjectOfNSReturnsRetainedAttribute (QualType QT)
static bool isValidSubjectOfNSAttribute (QualType QT)
static bool isValidSubjectOfCFAttribute (QualType QT)
static bool isValidSubjectOfOSAttribute (QualType QT)
static bool tryMakeVariablePseudoStrong (Sema &S, VarDecl *VD, bool DiagnoseFailure)
static void checkCollectionLiteralElement (Sema &S, QualType TargetElementType, Expr *Element, unsigned ElementKind)
 Check a single element within a collection literal against the target element type.
static bool isBlockPointer (Expr *Arg)
static bool checkBlockArgs (Sema &S, Expr *BlockArg)
 OpenCL C v2.0, s6.13.17.2 - Checks that the block parameters are all local void*, which is a requirement of device side enqueue.
static bool checkOpenCLEnqueueIntType (Sema &S, Expr *E, const QualType &IntT)
 Diagnose integer type and any valid implicit conversion to it.
static bool checkOpenCLEnqueueLocalSizeArgs (Sema &S, CallExpr *TheCall, unsigned Start, unsigned End)
static bool checkOpenCLEnqueueVariadicArgs (Sema &S, CallExpr *TheCall, Expr *BlockArg, unsigned NumNonVarArgs)
 OpenCL v2.0, s6.13.17.1 - Check that sizes are provided for all 'local void*' parameter of passed block.
static OpenCLAccessAttr * getOpenCLArgAccess (const Decl *D)
 Returns OpenCL access qual.
static bool checkPipeArg (Sema &S, CallExpr *Call)
 Returns true if pipe element type is different from the pointer.
static bool checkPipePacketType (Sema &S, CallExpr *Call, unsigned Idx)
 Returns true if pipe element type is different from the pointer.
static bool isPPC_64Builtin (unsigned BuiltinID)
static QualType DecodePPCMMATypeFromStr (ASTContext &Context, const char *&Str, unsigned &Mask)
 DecodePPCMMATypeFromStr - This decodes one PPC MMA type descriptor from Str, advancing the pointer over the consumed characters.
static bool CheckInvalidVLENandLMUL (const TargetInfo &TI, llvm::StringMap< bool > &FunctionFeatureMap, CallExpr *TheCall, Sema &S, QualType Type, int EGW)
static bool CheckAllArgsHaveSameType (Sema *S, CallExpr *TheCall)
static bool CheckAllArgTypesAreCorrect (Sema *S, CallExpr *TheCall, llvm::ArrayRef< llvm::function_ref< bool(Sema *, SourceLocation, int, QualType)> > Checks)
static bool CheckFloatOrHalfRepresentation (Sema *S, SourceLocation Loc, int ArgOrdinal, clang::QualType PassedType)
static bool CheckFloatOrHalfScalarRepresentation (Sema *S, SourceLocation Loc, int ArgOrdinal, clang::QualType PassedType)
static std::optional< intprocessConstant32BitIntArgument (Sema &SemaRef, CallExpr *Call, int Argument)
static bool checkGenericCastToPtr (Sema &SemaRef, CallExpr *Call)
static bool isValidSwiftContextType (QualType Ty)
 Pointer-like types in the default address space.
static bool isValidSwiftIndirectResultType (QualType Ty)
 Pointers and references in the default address space.
static bool isValidSwiftErrorResultType (QualType Ty)
 Pointers and references to pointers in the default address space.
static bool isValidSwiftContextName (StringRef ContextName)
static bool isErrorParameter (Sema &S, QualType QT)
static void checkSwiftAsyncErrorBlock (Sema &S, Decl *D, const SwiftAsyncErrorAttr *ErrorAttr, const SwiftAsyncAttr *AsyncAttr)
static bool validateSwiftFunctionName (Sema &S, const ParsedAttr &AL, SourceLocation Loc, StringRef Name, unsigned &SwiftParamCount, bool &IsSingleParamInit)
static bool CheckWasmBuiltinArgIsTable (Sema &S, CallExpr *E, unsigned ArgIndex, QualType &ElTy)
 Checks the argument at the given index is a WebAssembly table and if it is, sets ElTy to the element type.
static bool CheckWasmBuiltinArgIsInteger (Sema &S, CallExpr *E, unsigned ArgIndex)
 Checks the argument at the given index is an integer.
static bool isX86_32Builtin (unsigned BuiltinID)
template<class TyLoc>
static QualType TransformTypeSpecType (TypeLocBuilder &TLB, TyLoc T)
template<typename Derived, class T>
bool transformOMPMappableExprListClause (TreeTransform< Derived > &TT, OMPMappableExprListClause< T > *C, llvm::SmallVectorImpl< Expr * > &Vars, CXXScopeSpec &MapperIdScopeSpec, DeclarationNameInfo &MapperIdInfo, llvm::SmallVectorImpl< Expr * > &UnresolvedMappers)
static bool isUndeducedReturnType (QualType T)
bool isSafePtr (clang::CXXRecordDecl *Decl)
bool tryToFindPtrOrigin (const clang::Expr *E, bool StopAtFirstRefCountedObj, std::function< bool(const clang::CXXRecordDecl *)> isSafePtr, std::function< bool(const clang::QualType)> isSafePtrType, std::function< bool(const clang::Expr *, bool)> callback)
 This function de-facto defines a set of transformations that we consider safe (in heuristical sense).
bool isASafeCallArg (const clang::Expr *E)
 For E referring to a ref-countable/-counted pointer/reference we return whether it's a safe call argument.
bool isNullPtr (const clang::Expr *E)
bool isConstOwnerPtrMemberExpr (const clang::Expr *E)
bool isExprToGetCheckedPtrCapableMember (const clang::Expr *E)
template<typename T>
std::string safeGetName (const T *ASTNode)
template<typename NamedDeclDerivedT>
void printQuotedQualifiedName (llvm::raw_ostream &Os, const NamedDeclDerivedT &D)
template<typename NamedDeclDerivedT>
void printQuotedName (llvm::raw_ostream &Os, const NamedDeclDerivedT &D)
std::optional< const clang::CXXRecordDecl * > hasPublicMethodInBase (const CXXBaseSpecifier *Base, StringRef NameToMatch)
std::optional< boolisSmartPtrCompatible (const CXXRecordDecl *R, StringRef IncMethodName, StringRef DecMethodName)
std::optional< boolisRefCountable (const clang::CXXRecordDecl *R)
std::optional< boolisCheckedPtrCapable (const clang::CXXRecordDecl *R)
bool isRefType (const std::string &Name)
bool isRetainPtrOrOSPtr (const std::string &Name)
bool isCheckedPtr (const std::string &Name)
bool isSmartPtrClass (const std::string &Name)
bool isCtorOfRefCounted (const clang::FunctionDecl *F)
bool isCtorOfCheckedPtr (const clang::FunctionDecl *F)
bool isCtorOfRetainPtrOrOSPtr (const clang::FunctionDecl *F)
bool isCtorOfSafePtr (const clang::FunctionDecl *F)
template<typename Predicate>
static bool isPtrOfType (const clang::QualType T, Predicate Pred)
bool isRefOrCheckedPtrType (const clang::QualType T)
bool isRetainPtrOrOSPtrType (const clang::QualType T)
bool isOwnerPtrType (const clang::QualType T)
std::optional< boolisUncounted (const QualType T)
std::optional< boolisUnchecked (const QualType T)
std::optional< boolisUnretained (const QualType T, bool IsARCEnabled)
std::optional< boolisUncounted (const CXXRecordDecl *Class)
std::optional< boolisUnchecked (const CXXRecordDecl *Class)
std::optional< boolisUncountedPtr (const QualType T)
std::optional< boolisUncheckedPtr (const QualType T)
std::optional< boolisUnsafePtr (const QualType T, bool IsArcEnabled)
std::optional< boolisGetterOfSafePtr (const CXXMethodDecl *M)
bool isRefCounted (const CXXRecordDecl *R)
bool isCheckedPtr (const CXXRecordDecl *R)
bool isRetainPtrOrOSPtr (const CXXRecordDecl *R)
bool isSmartPtr (const CXXRecordDecl *R)
bool isPtrConversion (const FunctionDecl *F)
bool isTrivialBuiltinFunction (const FunctionDecl *F)
bool isSingleton (const NamedDecl *F)
std::optional< const clang::CXXRecordDecl * > hasPublicMethodInBase (const CXXBaseSpecifier *Base, llvm::StringRef NameToMatch)

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 ErrorsColor = {llvm::raw_ostream::RED, true}
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}
const FunctionProtoTypeT = TL.getTypePtr()
 nullptr
 This class represents a compute construct, representing a 'Kind' of ‘parallel’, 'serial', or 'kernel'.
ExprCond = nullptr
 };
bool IsXLHSInRHSPart
 True if UE has the first form and false if the second.
bool IsPostfixUpdate
 True if original value of 'x' must be stored in 'v', not an updated one.
bool IsFailOnly
 True if 'v' is updated only when the condition is false (compare capture only).
const char ToggleHighlight = 127
 Special character that the diagnostic printer will use to toggle the bold attribute.
static constexpr int InterestingIdentifierBits = 16
static constexpr unsigned NumberOfOMPMapClauseModifiers
 Number of allowed map-type-modifiers.
static constexpr unsigned NumberOfOMPMotionModifiers
 Number of allowed motion-modifiers.
static constexpr unsigned NumberOfOMPAllocateClauseModifiers
 Number of allowed allocate-modifiers.
constexpr uint16_t BlockDescriptorConstantDiscriminator = 0xC0BB
 Constant discriminator to be used with block descriptor pointers.
constexpr uint16_t InitFiniPointerConstantDiscriminator = 0xD9D4
 Constant discriminator to be used with function pointers in .init_array and .fini_array.
constexpr uint16_t MethodListPointerConstantDiscriminator = 0xC310
 Constant discriminator to be used with method list pointers.
constexpr uint16_t IsaPointerConstantDiscriminator = 0x6AE1
 Constant discriminator to be used with objective-c isa pointers.
constexpr uint16_t SuperPointerConstantDiscriminator = 0xB5AB
 Constant discriminator to be used with objective-c superclass pointers.
constexpr uint16_t SelPointerConstantDiscriminator = 0x57c2
 Constant discriminator to be used with objective-c sel pointers.
constexpr uint16_t ClassROConstantDiscriminator = 0x61F8
 Constant discriminator to be used with objective-c class_ro_t pointers.
constexpr unsigned PointerAuthKeyNone = -1
constexpr uint16_t StdTypeInfoVTablePointerConstantDiscrimination = 0xB1EA
 Constant discriminator for std::type_info vtable pointers: 0xB1EA/45546 The value is ptrauth_string_discriminator("_ZTVSt9type_info"), i.e., the vtable type discriminator for classes derived from std::type_info.
constexpr size_t DesiredStackSize = 8 << 20
 The amount of stack space that Clang would like to be provided with.
static constexpr uint64_t LargestBuiltinID
IntegerLiteralSeparatorStyle IntegerLiteralSeparator
 Format integer literal separators (' for C++ and _ for C#, Java, and JavaScript).
std::vector< std::string > JavaImportGroups
 A vector of prefixes ordered by the desired groups for Java imports.
JavaScriptQuoteStyle JavaScriptQuotes
 The JavaScriptQuoteStyle to use for JavaScript strings.
bool JavaScriptWrapImports
 Whether to wrap JavaScript import/export statements.
KeepEmptyLinesStyle KeepEmptyLines
 Which empty lines are kept. See MaxEmptyLinesToKeep for how many consecutive empty lines are kept.
bool KeepFormFeed
 This option is deprecated. See AtEndOfFile of KeepEmptyLines.
LambdaBodyIndentationKind LambdaBodyIndentation
 The indentation style of lambda bodies. Signature (the default) causes the lambda body to be indented one additional level relative to the indentation level of the signature. OuterScope forces the lambda body to be indented one additional level relative to the parent scope containing the lambda signature.
LanguageKind Language
 The language that this format style targets.
LineEndingStyle LineEnding
 Line ending style (\n or \r\n) to use.
std::string MacroBlockBegin
 A regular expression matching macros that start a block.
std::string MacroBlockEnd
 A regular expression matching macros that end a block.
std::vector< std::string > Macros
 A list of macros of the form <definition>=<expansion> .
std::vector< std::string > MacrosSkippedByRemoveParentheses
 A vector of function-like macros whose invocations should be skipped by RemoveParentheses.
unsigned MaxEmptyLinesToKeep
 The maximum number of consecutive empty lines to keep.
NamespaceIndentationKind NamespaceIndentation
 The indentation used for namespaces.
std::vector< std::string > NamespaceMacros
 A vector of macros which are used to open namespace blocks.
NumericLiteralCaseStyle NumericLiteralCase
 Capitalization style for numeric literals.
BinPackStyle ObjCBinPackProtocolList
 Controls bin-packing Objective-C protocol conformance list items into as few lines as possible when they go over ColumnLimit.
unsigned ObjCBlockIndentWidth
 The number of characters to use for indentation of ObjC blocks.
bool ObjCBreakBeforeNestedBlockParam
 Break parameters list into lines when there is nested block parameters in a function call.
std::vector< std::string > ObjCPropertyAttributeOrder
 The order in which ObjC property attributes should appear.
bool ObjCSpaceAfterProperty
 Add a space after @property in Objective-C, i.e. use @property (readonly) instead of @property(readonly).
bool ObjCSpaceBeforeProtocolList
 Add a space in front of an Objective-C protocol list, i.e. use Foo <Protocol> instead of Foo<Protocol>.
std::string OneLineFormatOffRegex
 A regular expression that describes markers for turning formatting off for one line. If it matches a comment that is the only token of a line, clang-format skips the comment and the next line. Otherwise, clang-format skips lines containing a matched token.
PackConstructorInitializersStyle PackConstructorInitializers
 The pack constructor initializers style to use.
unsigned PenaltyBreakAssignment
 The penalty for breaking around an assignment operator.
unsigned PenaltyBreakBeforeFirstCallParameter
 The penalty for breaking a function call after call(.
unsigned PenaltyBreakBeforeMemberAccess
 The penalty for breaking before a member access operator (., ->).
unsigned PenaltyBreakComment
 The penalty for each line break introduced inside a comment.
unsigned PenaltyBreakFirstLessLess
 The penalty for breaking before the first <<.
unsigned PenaltyBreakOpenParenthesis
 The penalty for breaking after (.
unsigned PenaltyBreakScopeResolution
 The penalty for breaking after ::.
unsigned PenaltyBreakString
 The penalty for each line break introduced inside a string literal.
unsigned PenaltyBreakTemplateDeclaration
 The penalty for breaking after template declaration.
unsigned PenaltyExcessCharacter
 The penalty for each character outside of the column limit.
unsigned PenaltyIndentedWhitespace
 Penalty for each character of whitespace indentation (counted relative to leading non-whitespace column).
unsigned PenaltyReturnTypeOnItsOwnLine
 Penalty for putting the return type of a function onto its own line.
PointerAlignmentStyle PointerAlignment
 Pointer and reference alignment style.
int PPIndentWidth
 The number of columns to use for indentation of preprocessor statements. When set to -1 (default) IndentWidth is used also for preprocessor statements.
QualifierAlignmentStyle QualifierAlignment
 Different ways to arrange specifiers and qualifiers (e.g. const/volatile).
std::vector< std::string > QualifierOrder
 The order in which the qualifiers appear. The order is an array that can contain any of the following:
std::vector< RawStringFormatRawStringFormats
 Defines hints for detecting supported languages code blocks in raw strings.
ReferenceAlignmentStyle ReferenceAlignment
 Reference alignment style (overrides PointerAlignment for references).
ReflowCommentsStyle ReflowComments
 Comment reformatting style.
bool RemoveBracesLLVM
 Remove optional braces of control statements (if, else, for, and while) in C++ according to the LLVM coding style.
bool RemoveEmptyLinesInUnwrappedLines
 Remove empty lines within unwrapped lines.
RemoveParenthesesStyle RemoveParentheses
 Remove redundant parentheses.
bool RemoveSemicolon
 Remove semicolons after the closing braces of functions and constructors/destructors.
RequiresClausePositionStyle RequiresClausePosition
 The position of the requires clause.
RequiresExpressionIndentationKind RequiresExpressionIndentation
 The indentation used for requires expression bodies.
SeparateDefinitionStyle SeparateDefinitionBlocks
 Specifies the use of empty lines to separate definition blocks, including classes, structs, enums, and functions.
unsigned ShortNamespaceLines
 The maximal number of unwrapped lines that a short namespace spans. Defaults to 1.
bool SkipMacroDefinitionBody
 Do not format macro definition body.
SortIncludesOptions SortIncludes
 Controls if and how clang-format will sort #includes.
SortJavaStaticImportOptions SortJavaStaticImport
 When sorting Java imports, by default static imports are placed before non-static imports. If JavaStaticImportAfterImport is After, static imports are placed after non-static imports.
SortUsingDeclarationsOptions SortUsingDeclarations
 Controls if and how clang-format will sort using declarations.
bool SpaceAfterCStyleCast
 If true, a space is inserted after C style casts.
bool SpaceAfterLogicalNot
 If true, a space is inserted after the logical not operator (!).
bool SpaceAfterOperatorKeyword
 If true, a space will be inserted after the operator keyword.
bool SpaceAfterTemplateKeyword
 If true, a space will be inserted after the template keyword.
SpaceAroundPointerQualifiersStyle SpaceAroundPointerQualifiers
 Defines in which cases to put a space before or after pointer qualifiers.
bool SpaceBeforeAssignmentOperators
 If false, spaces will be removed before assignment operators.
bool SpaceBeforeCaseColon
 If false, spaces will be removed before case colon.
bool SpaceBeforeCpp11BracedList
 If true, a space will be inserted before a C++11 braced list used to initialize an object (after the preceding identifier or type).
bool SpaceBeforeCtorInitializerColon
 If false, spaces will be removed before constructor initializer colon.
bool SpaceBeforeInheritanceColon
 If false, spaces will be removed before inheritance colon.
bool SpaceBeforeJsonColon
 If true, a space will be added before a JSON colon. For other languages, e.g. JavaScript, use SpacesInContainerLiterals instead.
SpaceBeforeParensStyle SpaceBeforeParens
 Defines in which cases to put a space before opening parentheses.
SpaceBeforeParensCustom SpaceBeforeParensOptions
 Control of individual space before parentheses.
bool SpaceBeforeSquareBrackets
 If true, spaces will be before [. Lambdas will not be affected. Only the first [ will get a space added.
bool SpaceBeforeRangeBasedForLoopColon
 If false, spaces will be removed before range-based for loop colon.
SpaceInEmptyBracesStyle SpaceInEmptyBraces
 Specifies when to insert a space in empty braces.
unsigned SpacesBeforeTrailingComments
 If true, spaces may be inserted into (). This option is deprecated. See InEmptyParentheses of SpacesInParensOptions.
SpacesInAnglesStyle SpacesInAngles
 The SpacesInAnglesStyle to use for template argument lists.
bool SpacesInContainerLiterals
 If true, spaces will be inserted around if/for/switch/while conditions. This option is deprecated. See InConditionalStatements of SpacesInParensOptions.
SpacesInLineComment SpacesInLineCommentPrefix
 How many spaces are allowed at the start of a line comment. To disable the maximum set it to -1, apart from that the maximum takes precedence over the minimum.
SpacesInParensStyle SpacesInParens
 If true, spaces will be inserted after ( and before ). This option is deprecated. The previous behavior is preserved by using SpacesInParens with Custom and by setting all SpacesInParensOptions to true except for InCStyleCasts and InEmptyParentheses.
SpacesInParensCustom SpacesInParensOptions
 Control of individual spaces in parentheses.
bool SpacesInSquareBrackets
 If true, spaces will be inserted after [ and before ]. Lambdas without arguments or unspecified size array declarations will not be affected.
LanguageStandard Standard
 Parse and format C++ constructs compatible with this standard.
std::vector< std::string > StatementAttributeLikeMacros
 Macros which are ignored in front of a statement, as if they were an attribute. So that they are not parsed as identifier, for example for Qts emit.
std::vector< std::string > StatementMacros
 A vector of macros that should be interpreted as complete statements.
std::vector< std::string > TableGenBreakingDAGArgOperators
 Works only when TableGenBreakInsideDAGArg is not DontBreak. The string list needs to consist of identifiers in TableGen. If any identifier is specified, this limits the line breaks by TableGenBreakInsideDAGArg option only on DAGArg values beginning with the specified identifiers.
DAGArgStyle TableGenBreakInsideDAGArg
 The styles of the line break inside the DAGArg in TableGen.
unsigned TabWidth
 The number of columns used for tab stops.
std::vector< std::string > TemplateNames
 A vector of non-keyword identifiers that should be interpreted as template names.
std::vector< std::string > TypeNames
 A vector of non-keyword identifiers that should be interpreted as type names.
std::vector< std::string > TypenameMacros
 A vector of macros that should be interpreted as type declarations instead of as function calls.
UseTabStyle UseTab
 The way to use tab characters in the resulting file.
std::vector< std::string > VariableTemplates
 A vector of non-keyword identifiers that should be interpreted as variable template names.
bool VerilogBreakBetweenInstancePorts
 For Verilog, put each port on its own line in module instantiations.
std::vector< std::string > WhitespaceSensitiveMacros
 A vector of macros which are whitespace-sensitive and should not be touched.
WrapNamespaceBodyWithEmptyLinesStyle WrapNamespaceBodyWithEmptyLines
 Wrap namespace body with empty lines.
static const CudaVersionMapEntry CudaNameVersionMap []
static const OffloadArchToStringMap ArchNames []
static const std::pair< StringRef, StringRef > DependentFeaturesList []
static const std::pair< StringRef, StringRef > FeatureExtensionMap []
llvm::cl::opt< boolClSanitizeGuardChecks
const std::string CodeCompletionFileName = "input_line_[Completion]"
const char *const Runtimes
static constexpr llvm::StringRef VPName []

Detailed Description

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

Defines the clang::ASTSourceDescriptor class, which abstracts clang modules and precompiled header files.

ASTVisitor Interface for InstallAPI frontend operations.

Top level wrappers for InstallAPI frontend operations.

Typedef Documentation

◆ ArgsUnion

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

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

Definition at line 103 of file ParsedAttr.h.

◆ ArgsVector

Definition at line 104 of file ParsedAttr.h.

◆ ASTTemplateArgsPtr

◆ AttrVec

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

Definition at line 31 of file AttrIterator.h.

◆ BaseResult

Definition at line 252 of file Ownership.h.

◆ CachedTokens

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

Definition at line 1215 of file DeclSpec.h.

◆ CanQualType

Represents a canonical, potentially-qualified type.

Definition at line 213 of file CanonicalType.h.

◆ CFGDomTree

Definition at line 182 of file Dominators.h.

◆ CFGPostDomTree

Definition at line 183 of file Dominators.h.

◆ const_ptr

template<typename T>
using clang::const_ptr = std::add_pointer_t<std::add_const_t<T>>

Definition at line 9459 of file OpenMPClause.h.

◆ ConstantExprKind

Definition at line 1042 of file Expr.h.

◆ ConstCFGElementRef

◆ ConstDynamicRecursiveASTVisitor

Initial value:
Recursive AST visitor that supports extension via dynamic dispatch.

Definition at line 301 of file DynamicRecursiveASTVisitor.h.

◆ ConstSearchDirIterator

◆ ConstSearchDirRange

using clang::ConstSearchDirRange = llvm::iterator_range<ConstSearchDirIterator>

Definition at line 232 of file HeaderSearch.h.

◆ ConversionSequenceList

Initial value:

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

Definition at line 922 of file Overload.h.

◆ CXXCastPath

A simple array of base specifiers.

Definition at line 117 of file ASTContext.h.

◆ DeclResult

Definition at line 255 of file Ownership.h.

◆ DeviceTypeArgument

Definition at line 263 of file OpenACCClause.h.

◆ DiagNullabilityKind

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

Definition at line 1524 of file Diagnostic.h.

◆ DiagOrStoredDiag

Initial value:
llvm::PointerUnion<const Diagnostic *, const StoredDiagnostic *>

Definition at line 32 of file DiagnosticRenderer.h.

◆ DomTreeNode

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

Definition at line 38 of file Dominators.h.

◆ DynamicRecursiveASTVisitor

◆ ExpectedDecl

Definition at line 81 of file ASTImporter.cpp.

◆ ExpectedExpr

Definition at line 80 of file ASTImporter.cpp.

◆ ExpectedName

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

◆ ExpectedTypePtr

Definition at line 77 of file ASTImporter.cpp.

◆ ExprDependence

◆ ExprResult

Definition at line 249 of file Ownership.h.

◆ FileIDAndOffset

using clang::FileIDAndOffset = std::pair<FileID, unsigned>

Definition at line 73 of file SourceLocation.h.

◆ FrontendPluginRegistry

The frontend plugin registry.

Definition at line 23 of file FrontendPluginRegistry.h.

◆ LangASMap

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

Definition at line 77 of file AddressSpaces.h.

◆ LazyCXXBaseSpecifiersPtr

Initial value:
Represents a base class of a C++ class.
Definition DeclCXX.h:146
virtual CXXBaseSpecifier * GetExternalCXXBaseSpecifiers(uint64_t Offset)
Resolve the offset of a set of C++ base specifiers in the decl stream into an array of specifiers.
A lazy pointer to an AST node (of base type T) that resides within an external AST source.

A lazy pointer to a set of CXXBaseSpecifiers.

Definition at line 638 of file ExternalASTSource.h.

◆ LazyCXXCtorInitializersPtr

Initial value:
Represents a C++ base or member initializer.
Definition DeclCXX.h:2369
virtual CXXCtorInitializer ** GetExternalCXXCtorInitializers(uint64_t Offset)
Resolve the offset of a set of C++ constructor initializers in the decl stream into an array of initi...

A lazy pointer to a set of CXXCtorInitializers.

Definition at line 633 of file ExternalASTSource.h.

◆ LazyDeclPtr

Initial value:

A lazy pointer to a declaration.

Definition at line 629 of file ExternalASTSource.h.

◆ LazyDeclStmtPtr

Initial value:

A lazy pointer to a statement.

Definition at line 625 of file ExternalASTSource.h.

◆ MemInitResult

Definition at line 253 of file Ownership.h.

◆ ModuleBuildStack

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

Definition at line 649 of file SourceManager.h.

◆ ModuleId

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

Describes the name of a module.

Definition at line 55 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 259 of file Ownership.h.

◆ MultiStmtArg

Definition at line 260 of file Ownership.h.

◆ MultiTemplateParamsArg

◆ MultiTypeArg

Definition at line 262 of file Ownership.h.

◆ OpenMPClauseKind

using clang::OpenMPClauseKind = llvm::omp::Clause

OpenMP clauses.

Definition at line 28 of file OpenMPKinds.h.

◆ OpenMPDirectiveKind

using clang::OpenMPDirectiveKind = llvm::omp::Directive

OpenMP directives.

Definition at line 25 of file OpenMPKinds.h.

◆ OptionalDirectoryEntryRef

◆ OptionalFileEntryRef

◆ ParsedAttrInfoRegistry

Definition at line 173 of file ParsedAttrInfo.h.

◆ ParsedTemplateTy

Definition at line 256 of file Ownership.h.

◆ ParsedType

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

Definition at line 230 of file Ownership.h.

◆ PartialDiagnosticAt

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

Definition at line 202 of file PartialDiagnostic.h.

◆ PragmaHandlerRegistry

Registry of pragma handlers added by plugins.

Definition at line 3156 of file Preprocessor.h.

◆ SearchDirIterator

◆ SearchDirRange

using clang::SearchDirRange = llvm::iterator_range<SearchDirIterator>

Definition at line 233 of file HeaderSearch.h.

◆ SpecializationOrInstantiationInfo

Initial value:
llvm::PointerUnion<const ASTTemplateArgumentListInfo *,
Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>".
Provides information about an explicit instantiation of a variable or class template.

Definition at line 1819 of file DeclTemplate.h.

◆ StmtResult

Definition at line 250 of file Ownership.h.

◆ TemplateParameter

Initial value:
NonTypeTemplateParmDecl - Declares a non-type template parameter, e.g., "Size" in.
TemplateTemplateParmDecl - Declares a template template parameter, e.g., "T" in.
Declaration of a template type parameter.

Stores a template parameter of any kind.

Definition at line 64 of file DeclTemplate.h.

◆ TextDiagnosticFormat

◆ TypeDependence

◆ TypeIsArrayType

template<typename T>
using clang::TypeIsArrayType = std::is_base_of<ArrayType, T>

Definition at line 9095 of file TypeBase.h.

◆ TypeResult

Definition at line 251 of file Ownership.h.

◆ UnexpandedParameterPack

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

Definition at line 235 of file Sema.h.

◆ UnionParsedTemplateTy

◆ UnionParsedType

Definition at line 231 of file Ownership.h.

◆ UnsatisfiedConstraintRecord

Initial value:
llvm::PointerUnion<Expr *, std::pair<SourceLocation, StringRef> *>

Pairs of unsatisfied atomic constraint expressions along with the substituted constraint expr, if the template arguments could be substituted into them, or a diagnostic if substitution resulted in an invalid expression.

Definition at line 82 of file ASTConcept.h.

◆ VarGrpRef

using clang::VarGrpRef = ArrayRef<const VarDecl *>

Definition at line 27 of file UnsafeBufferUsage.h.

◆ VarGrpTy

using clang::VarGrpTy = std::vector<const VarDecl *>

Definition at line 26 of file UnsafeBufferUsage.h.

◆ VPtrInfoVector

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

Definition at line 524 of file VTableBuilder.h.

◆ WeakTopologicalOrdering

using clang::WeakTopologicalOrdering = std::vector<const CFGBlock *>

A weak topological ordering (WTO) of CFG nodes provides a total order over the CFG (defined in WTOCompare, below), which can guide the order in which to visit nodes in fixpoint computations over the CFG.

Roughly, a WTO a) groups the blocks so that loop heads are grouped with their bodies and any nodes they dominate after the loop and b) orders the groups topologically. As a result, the blocks in a series of loops are ordered such that all nodes in loop i are earlier in the order than nodes in loop j. This ordering, when combined with widening, bounds the number of times a node must be visited for a dataflow algorithm to reach a fixpoint. For the precise definition of a WTO and its properties, see [Bourdoncle1993].

Here, we provide a simplified WTO which drops its nesting structure, maintaining only the ordering itself. The ordering is built from the limit flow graph of Cfg (derived from iteratively partitioning it into intervals) if and only if it is reducible (its limit flow graph has one node). Returns nullopt when Cfg is not reducible.

This WTO construction is described in Section 4.2 of [Bourdoncle1993].

Definition at line 49 of file IntervalPartition.h.

◆ XRayInstrMask

using clang::XRayInstrMask = uint32_t

Definition at line 25 of file XRayInstr.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
NumObjCPropertyAttrsBits 

Number of bits fitting all the property attributes.

Definition at line 48 of file DeclObjCCommon.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 83 of file IdentifierTable.h.

◆ anonymous enum

anonymous enum
Enumerator
TypeAlignmentInBits 
TypeAlignment 

Definition at line 74 of file TypeBase.h.

◆ anonymous enum

anonymous enum

An invalid value of ObjCMethodFamily.

Enumerator
InvalidObjCMethodFamily 

Definition at line 830 of file IdentifierTable.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 104 of file CodeCompleteConsumer.h.

◆ anonymous enum

anonymous enum
Enumerator
TileRegLow 
TileRegHigh 

Definition at line 439 of file SemaX86.cpp.

◆ 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 135 of file CodeCompleteConsumer.h.

◆ anonymous enum

anonymous enum
Enumerator
ConstraintAlignment 

Definition at line 30 of file SemaConcept.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 53 of file CodeCompleteConsumer.h.

◆ anonymous enum

anonymous enum
Enumerator
HMAP_HeaderMagicNumber 
HMAP_HeaderVersion 
HMAP_EmptyBucketKey 

Definition at line 16 of file HeaderMapTypes.h.

◆ anonymous enum

anonymous enum

Enough bits to store any enumerator in ObjCMethodFamily or InvalidObjCMethodFamily.

Enumerator
ObjCMethodFamilyBitWidth 

Definition at line 827 of file IdentifierTable.h.

◆ AccessKinds

Kinds of access we can perform on an object, for diagnostics.

Note that we consider a member function call to be a kind of access, even though it is not formally an access of the object, because it has (largely) the same set of semantic restrictions.

Enumerator
AK_Read 
AK_ReadObjectRepresentation 
AK_Assign 
AK_Increment 
AK_Decrement 
AK_MemberCall 
AK_DynamicCast 
AK_TypeId 
AK_Construct 
AK_Destroy 
AK_IsWithinLifetime 
AK_Dereference 

Definition at line 26 of file State.h.

◆ AccessSpecifier

enum clang::AccessSpecifier : uint8_t

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 123 of file Specifiers.h.

◆ AlignedAllocationMode

Enumerator
No 
Yes 

Definition at line 2265 of file ExprCXX.h.

◆ AlignRequirementKind

enum class clang::AlignRequirementKind
strong
Enumerator
None 

The alignment was not explicit in code.

RequiredByTypedef 

The alignment comes from an alignment attribute on a typedef.

RequiredByRecord 

The alignment comes from an alignment attribute on a record type.

RequiredByEnum 

The alignment comes from an alignment attribute on a enum type.

Definition at line 144 of file ASTContext.h.

◆ AllocationFunctionScope

enum class clang::AllocationFunctionScope
strong

The scope in which to find allocation functions.

Enumerator
Global 

Only look for allocation functions in the global scope.

Class 

Only look for allocation functions in the scope of the allocated class.

Both 

Look for allocation functions in both the global scope and in the scope of the allocated class.

Definition at line 777 of file Sema.h.

◆ AllowFoldKind

enum class clang::AllowFoldKind
strong
Enumerator
No 
Allow 

Definition at line 653 of file Sema.h.

◆ AnalysisConstraints

AnalysisConstraints - Set of available constraint models.

Enumerator
NumConstraints 

Definition at line 36 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 44 of file AnalyzerOptions.h.

◆ AnalysisInliningMode

AnalysisInlineFunctionSelection - Set of inlining function selection heuristics.

Enumerator
NumInliningModes 

Definition at line 59 of file AnalyzerOptions.h.

◆ AnalysisPurgeMode

AnalysisPurgeModes - Set of available strategies for dead symbol removal.

Enumerator
NumPurgeModes 

Definition at line 52 of file AnalyzerOptions.h.

◆ AnnotatedNameKind

enum class clang::AnnotatedNameKind
strong
Enumerator
Error 

Annotation has failed and emitted an error.

TentativeDecl 

The identifier is a tentatively-declared name.

TemplateName 

The identifier is a template name. FIXME: Add an annotation for that.

Unresolved 

The identifier can't be resolved.

Success 

Annotation was successful.

Definition at line 55 of file Parser.h.

◆ ArithConvKind

enum class clang::ArithConvKind
strong

Context in which we're performing a usual arithmetic conversion.

Enumerator
Arithmetic 

An arithmetic operation.

BitwiseOp 

A bitwise operation.

Comparison 

A comparison.

Conditional 

A conditional (?:) operator.

CompAssign 

A compound assignment expression.

Definition at line 659 of file Sema.h.

◆ ArmSMEState

Enumerator
ArmNoState 
ArmInZA 
ArmOutZA 
ArmInOutZA 
ArmZAMask 
ArmInZT0 
ArmOutZT0 
ArmInOutZT0 
ArmZT0Mask 

Definition at line 361 of file SemaARM.cpp.

◆ ArraySizeModifier

enum class clang::ArraySizeModifier
strong

Capture whether this is a normal array (e.g.

int X[4]) an array with a static size (e.g. int X[static 4]), or an array with a star size (e.g. int X[*]). 'static' is only allowed on function parameters.

Enumerator
Normal 
Static 
Star 

Definition at line 3717 of file TypeBase.h.

◆ ArrayTypeTrait

Names for the array type traits.

Enumerator
ATT_Last 

Definition at line 42 of file TypeTraits.h.

◆ AssignConvertType

enum class clang::AssignConvertType
strong

AssignConvertType - All of the 'assignment' semantic checks return this enum to indicate whether the assignment was allowed.

These checks are done for simple assignments, as well as initialization, return from function, argument passing, etc. The query is phrased in terms of a source and destination type.

Enumerator
Compatible 

Compatible - the types are compatible according to the standard.

CompatibleVoidPtrToNonVoidPtr 

CompatibleVoidPtrToNonVoidPtr - The types are compatible in C because a void * can implicitly convert to another pointer type, which we differentiate for better diagnostic behavior.

PointerToInt 

PointerToInt - The assignment converts a pointer to an int, which we accept as an extension.

IntToPointer 

IntToPointer - The assignment converts an int to a pointer, which we accept as an extension.

FunctionVoidPointer 

FunctionVoidPointer - The assignment is between a function pointer and void*, which the standard doesn't allow, but we accept as an extension.

IncompatiblePointer 

IncompatiblePointer - The assignment is between two pointers types that are not compatible, but we accept them as an extension.

IncompatibleFunctionPointer 

IncompatibleFunctionPointer - The assignment is between two function pointers types that are not compatible, but we accept them as an extension.

IncompatibleFunctionPointerStrict 

IncompatibleFunctionPointerStrict - The assignment is between two function pointer types that are not identical, but are compatible, unless compiled with -fsanitize=cfi, in which case the type mismatch may trip an indirect call runtime check.

IncompatiblePointerSign 

IncompatiblePointerSign - The assignment is between two pointers types which point to integers which have a different sign, but are otherwise identical.

This is a subset of the above, but broken out because it's by far the most common case of incompatible pointers.

CompatiblePointerDiscardsQualifiers 

CompatiblePointerDiscardsQualifiers - The assignment discards c/v/r qualifiers, which we accept as an extension.

IncompatiblePointerDiscardsQualifiers 

IncompatiblePointerDiscardsQualifiers - The assignment discards qualifiers that we don't permit to be discarded, like address spaces.

IncompatibleNestedPointerAddressSpaceMismatch 

IncompatibleNestedPointerAddressSpaceMismatch - The assignment changes address spaces in nested pointer types which is not allowed.

For instance, converting __private int ** to __generic int ** is illegal even though __private could be converted to __generic.

IncompatibleNestedPointerQualifiers 

IncompatibleNestedPointerQualifiers - The assignment is between two nested pointer types, and the qualifiers other than the first two levels differ e.g.

char ** -> const char **, but we accept them as an extension.

IncompatibleVectors 

IncompatibleVectors - The assignment is between two vector types that have the same size, which we accept as an extension.

IntToBlockPointer 

IntToBlockPointer - The assignment converts an int to a block pointer.

We disallow this.

IncompatibleBlockPointer 

IncompatibleBlockPointer - The assignment is between two block pointers types that are not compatible.

IncompatibleObjCQualifiedId 

IncompatibleObjCQualifiedId - The assignment is between a qualified id type and something else (that is incompatible with it).

For example, "id <XXX>" = "Foo *", where "Foo *" doesn't implement the XXX protocol.

IncompatibleObjCWeakRef 

IncompatibleObjCWeakRef - Assigning a weak-unavailable object to an object with __weak qualifier.

Incompatible 

Incompatible - We reject this conversion outright, it is invalid to represent it in the AST.

Definition at line 687 of file Sema.h.

◆ AssignmentAction

enum class clang::AssignmentAction
strong
Enumerator
Assigning 
Passing 
Returning 
Converting 
Initializing 
Sending 
Casting 
Passing_CFAudited 

Definition at line 213 of file Sema.h.

◆ ASTDumpOutputFormat

Used to specify the format for printing AST dump information.

Enumerator
ADOF_Default 
ADOF_JSON 

Definition at line 21 of file ASTDumperUtils.h.

◆ AtomicOptionKind

enum class clang::AtomicOptionKind
strong
Enumerator
RemoteMemory 
FineGrainedMemory 
IgnoreDenormalMode 
LANGOPT_ATOMIC_OPTION_LAST 

Definition at line 1041 of file LangOptions.h.

◆ AtomicScopeModelKind

enum class clang::AtomicScopeModelKind
strong

Defines the kind of atomic scope models.

Enumerator
None 
OpenCL 
HIP 
Generic 

Definition at line 95 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 
AANT_ArgumentConstantExpr 
AANT_ArgumentBuiltinFunction 

Definition at line 1063 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 
ExpectedForLoopStatement 
ExpectedVirtualFunction 
ExpectedParameterOrImplicitObjectParameter 
ExpectedNonMemberFunction 
ExpectedFunctionOrClassOrEnum 
ExpectedClass 
ExpectedTypedef 

Definition at line 1074 of file ParsedAttr.h.

◆ AutoTypeKeyword

enum class clang::AutoTypeKeyword
strong

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

Enumerator
Auto 

auto

DecltypeAuto 

decltype(auto)

GNUAutoType 

__auto_type (GNU extension)

Definition at line 1792 of file TypeBase.h.

◆ AvailabilityMergeKind

enum class clang::AvailabilityMergeKind
strong

Describes the kind of merge to perform for availability attributes (including "deprecated", "unavailable", and "availability").

Enumerator
None 

Don't merge availability attributes at all.

Redeclaration 

Merge availability attributes for a redeclaration, which requires an exact match.

Override 

Merge availability attributes for an override, which requires an exact match or a weakening of constraints.

ProtocolImplementation 

Merge availability attributes for an implementation of a protocol requirement.

OptionalProtocolImplementation 

Merge availability attributes for an implementation of an optional protocol requirement.

Definition at line 626 of file Sema.h.

◆ AvailabilityResult

Captures the result of checking the availability of a declaration.

Enumerator
AR_Available 
AR_NotYetIntroduced 
AR_Deprecated 
AR_Unavailable 

Definition at line 72 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 33 of file BackendUtil.h.

◆ BinaryOperatorKind

Definition at line 25 of file OperationKinds.h.

◆ BindingType

enum class clang::BindingType : uint8_t
strong
Enumerator
NotAssigned 
Explicit 
Implicit 

Definition at line 63 of file SemaHLSL.h.

◆ BuildPreambleError

enum class clang::BuildPreambleError
strong
Enumerator
CouldntCreateTempFile 
CouldntCreateTargetInfo 
BeginSourceFileFailed 
CouldntEmitPCH 
BadInputs 

Definition at line 242 of file PrecompiledPreamble.h.

◆ BuiltinCountedByRefKind

enum class clang::BuiltinCountedByRefKind
strong
Enumerator
Assignment 
Initializer 
FunctionArg 
ReturnArg 
ArraySubscript 
BinaryExpr 

Definition at line 519 of file Sema.h.

◆ BuiltinTemplateKind

Kinds of BuiltinTemplateDecl.

Definition at line 462 of file Builtins.h.

◆ CachedInitKind

enum class clang::CachedInitKind
strong
Enumerator
DefaultArgument 
DefaultInitializer 

Definition at line 88 of file Parser.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_DeviceKernel 
CC_Swift 
CC_SwiftAsync 
CC_PreserveMost 
CC_PreserveAll 
CC_AArch64VectorCall 
CC_AArch64SVEPCS 
CC_M68kRTD 
CC_PreserveNone 
CC_RISCVVectorCall 
CC_RISCVVLSCall_32 
CC_RISCVVLSCall_64 
CC_RISCVVLSCall_128 
CC_RISCVVLSCall_256 
CC_RISCVVLSCall_512 
CC_RISCVVLSCall_1024 
CC_RISCVVLSCall_2048 
CC_RISCVVLSCall_4096 
CC_RISCVVLSCall_8192 
CC_RISCVVLSCall_16384 
CC_RISCVVLSCall_32768 
CC_RISCVVLSCall_65536 

Definition at line 278 of file Specifiers.h.

◆ CanThrowResult

Possible results from evaluation of a noexcept expression.

Enumerator
CT_Cannot 
CT_Dependent 
CT_Can 

Definition at line 59 of file ExceptionSpecificationType.h.

◆ CaptureDiagsKind

enum class clang::CaptureDiagsKind
strong

Enumerates the available kinds for capturing diagnostics.

Enumerator
None 
All 
AllWithoutNonErrorsFromIncludes 

Definition at line 87 of file ASTUnit.h.

◆ CapturedRegionKind

The different kinds of captured statement.

Enumerator
CR_Default 
CR_ObjCAtFinally 
CR_OpenMP 

Definition at line 16 of file CapturedStmt.h.

◆ CastKind

CastKind - The kind of operation required for a conversion.

Definition at line 20 of file OperationKinds.h.

◆ CastParseKind

enum class clang::CastParseKind
strong

Control what ParseCastExpression will parse.

Enumerator
AnyCastExpr 
UnaryExprOnly 
PrimaryExprOnly 

Definition at line 113 of file Parser.h.

◆ CCEKind

enum class clang::CCEKind
strong

Contexts in which a converted constant expression is required.

Enumerator
CaseValue 

Expression in a case label.

Enumerator 

Enumerator value with fixed underlying type.

TemplateArg 

Value of a non-type template parameter.

TempArgStrict 

As above, but applies strict template checking rules.

ArrayBound 

Array bound in array declarator or new-expression.

ExplicitBool 

Condition in an explicit(bool) specifier.

Noexcept 

Condition in a noexcept(bool) specifier.

StaticAssertMessageSize 

Call to size() in a static assert message.

StaticAssertMessageData 

Call to data() in a static assert message.

Definition at line 824 of file Sema.h.

◆ CFBranchLabelSchemeKind

enum class clang::CFBranchLabelSchemeKind
strong
Enumerator
Default 

Definition at line 20 of file CFProtectionOptions.h.

◆ CharacterLiteralKind

enum class clang::CharacterLiteralKind
strong
Enumerator
Ascii 
Wide 
UTF8 
UTF16 
UTF32 

Definition at line 1603 of file Expr.h.

◆ CheckedConversionKind

enum class clang::CheckedConversionKind
strong

The kind of conversion being performed.

Enumerator
Implicit 

An implicit conversion.

CStyleCast 

A C-style cast.

FunctionalCast 

A functional-style cast.

OtherCast 

A cast other than a C-style cast.

ForBuiltinOverloadedOp 

A conversion for an operand of a builtin overloaded operator.

Definition at line 435 of file Sema.h.

◆ CheckSubobjectKind

The order of this enum is important for diagnostics.

Enumerator
CSK_Base 
CSK_Derived 
CSK_Field 
CSK_ArrayToPointer 
CSK_ArrayIndex 
CSK_Real 
CSK_Imag 
CSK_VectorElement 

Definition at line 42 of file State.h.

◆ ComparisonCategoryResult

enum class 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 
Less 
Greater 
Unordered 
Last 

Definition at line 67 of file ComparisonCategories.h.

◆ ComparisonCategoryType

enum class clang::ComparisonCategoryType : unsigned char
strong

An enumeration representing the different comparison categories types.

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

Enumerator
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 44 of file Lexer.h.

◆ ConstantResultStorageKind

Describes the kind of result that can be tail-allocated.

Enumerator
None 
Int64 
APValue 

Definition at line 1076 of file Expr.h.

◆ ConstexprSpecKind

enum class clang::ConstexprSpecKind
strong

Define the kind of constexpr specifier.

Enumerator
Unspecified 
Constexpr 
Consteval 
Constinit 

Definition at line 35 of file Specifiers.h.

◆ CorrectTypoKind

enum class clang::CorrectTypoKind
strong
Enumerator
NonError 
ErrorRecovery 

Definition at line 804 of file Sema.h.

◆ CountedByInvalidPointeeTypeKind

Enumerator
INCOMPLETE 
SIZELESS 
FUNCTION 
FLEXIBLE_ARRAY_MEMBER 
VALID 

Definition at line 45 of file SemaBoundsSafety.cpp.

◆ CTUPhase1InliningKind

enum class clang::CTUPhase1InliningKind
strong
Enumerator
None 
Small 
All 

Definition at line 126 of file AnalyzerOptions.h.

◆ CudaFeature

enum class clang::CudaFeature
strong
Enumerator
CUDA_USES_NEW_LAUNCH 
CUDA_USES_FATBIN_REGISTER_END 

Definition at line 75 of file Cuda.h.

◆ CUDAFunctionTarget

enum class clang::CUDAFunctionTarget
strong
Enumerator
Device 
Global 
Host 
HostDevice 
InvalidTarget 

Definition at line 60 of file Cuda.h.

◆ CudaVersion

enum class clang::CudaVersion
strong
Enumerator
UNKNOWN 
CUDA_70 
CUDA_75 
CUDA_80 
CUDA_90 
CUDA_91 
CUDA_92 
CUDA_100 
CUDA_101 
CUDA_102 
CUDA_110 
CUDA_111 
CUDA_112 
CUDA_113 
CUDA_114 
CUDA_115 
CUDA_116 
CUDA_117 
CUDA_118 
CUDA_120 
CUDA_121 
CUDA_122 
CUDA_123 
CUDA_124 
CUDA_125 
CUDA_126 
CUDA_128 
CUDA_129 
FULLY_SUPPORTED 
PARTIALLY_SUPPORTED 
NEW 

Definition at line 22 of file Cuda.h.

◆ CXX11AttributeKind

enum class clang::CXX11AttributeKind
strong

The kind of attribute specifier we have found.

Enumerator
NotAttributeSpecifier 

This is not an attribute specifier.

AttributeSpecifier 

This should be treated as an attribute-specifier.

InvalidAttributeSpecifier 

The next tokens are '[[', but this is not an attribute-specifier.

This is ill-formed by C++11 [dcl.attr.grammar]p6.

Definition at line 156 of file Parser.h.

◆ CXXConstructionKind

enum class clang::CXXConstructionKind
strong
Enumerator
Complete 
NonVirtualBase 
VirtualBase 
Delegating 

Definition at line 1541 of file ExprCXX.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.

Ctor_Unified 

GCC-style unified dtor.

Definition at line 24 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.

Dtor_Unified 

GCC-style unified dtor.

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 70 of file AnalyzerOptions.h.

◆ CXXNewInitializationStyle

Enumerator
None 

New-expression has no initializer as written.

Parens 

New-expression has a C++98 paren-delimited initializer.

Braces 

New-expression has a C++11 list-initializer.

Definition at line 2242 of file ExprCXX.h.

◆ CXXSpecialMemberKind

enum class clang::CXXSpecialMemberKind
strong

Kinds of C++ special members.

Enumerator
DefaultConstructor 
CopyConstructor 
MoveConstructor 
CopyAssignment 
MoveAssignment 
Destructor 
Invalid 

Definition at line 424 of file Sema.h.

◆ DAGArgStyle

enum clang::DAGArgStyle : int8_t

Different ways to control the format inside TableGen DAGArg.

Enumerator
DAS_DontBreak 

Never break inside DAGArg.

let DAGArgIns = (ins i32:$src1, i32:$src2);
DAS_BreakElements 

Break inside DAGArg after each list element but for the last. This aligns to the first element.

let DAGArgIns = (ins i32:$src1,
i32:$src2);
DAS_BreakAll 

Break inside DAGArg after the operator and the all elements.

let DAGArgIns = (ins
i32:$src1,
i32:$src2
);

Definition at line 5278 of file Format.h.

◆ DeclaratorContext

enum class clang::DeclaratorContext
strong
Enumerator
File 
Prototype 
ObjCResult 
ObjCParameter 
KNRTypeList 
TypeName 
FunctionalCast 
Member 
Block 
ForInit 
SelectionInit 
Condition 
TemplateParam 
CXXNew 
CXXCatch 
ObjCCatch 
BlockLiteral 
LambdaExpr 
LambdaExprParameter 
ConversionId 
TrailingReturn 
TrailingReturnVar 
TemplateArg 
TemplateTypeArg 
AliasDecl 
AliasTemplate 
RequiresExpr 
Association 

Definition at line 1824 of file DeclSpec.h.

◆ DeductionCandidate

enum class clang::DeductionCandidate : unsigned char
strong

Only used by CXXDeductionGuideDecl.

Enumerator
Normal 
Copy 
Aggregate 

Definition at line 1421 of file DeclBase.h.

◆ DependencyOutputFormat

enum class clang::DependencyOutputFormat
strong

DependencyOutputFormat - Format for the compiler dependency file.

Enumerator
Make 
NMake 

Definition at line 22 of file DependencyOutputOptions.h.

◆ DiagnosticLevelMask

enum class clang::DiagnosticLevelMask : unsigned
strong

A bitmask representing the diagnostic levels used by VerifyDiagnosticConsumer.

Enumerator
None 
Note 
Remark 
Warning 
Error 
All 

Definition at line 38 of file DiagnosticOptions.h.

◆ DisableValidationForModuleKind

Whether to disable the normal validation performed on precompiled headers and module files when they are loaded.

Enumerator
None 

Perform validation, don't disable it.

PCH 

Disable validation for a precompiled header and the modules it depends on.

Module 

Disable validation for module files.

All 

Disable validation for all kinds.

Definition at line 48 of file PreprocessorOptions.h.

◆ DynamicInitKind

enum class clang::DynamicInitKind : unsigned
strong
Enumerator
NoStub 
Initializer 
AtExit 
GlobalArrayDestructor 

Definition at line 33 of file GlobalDecl.h.

◆ ElaboratedTypeKeyword

enum class clang::ElaboratedTypeKeyword
strong

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

Enumerator
Struct 

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

Interface 

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

Union 

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

Class 

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

Enum 

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

Typename 

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

None 

No keyword precedes the qualified type name.

Definition at line 5863 of file TypeBase.h.

◆ EmbedResult

enum class clang::EmbedResult
strong
Enumerator
Invalid 
NotFound 
Found 
Empty 

Definition at line 126 of file Preprocessor.h.

◆ EscapeChar

enum class clang::EscapeChar
strong
Enumerator
Single 
Double 
SingleAndDouble 

Definition at line 182 of file CharInfo.h.

◆ EvaluationMode

enum class clang::EvaluationMode
strong
Enumerator
ConstantExpression 

Evaluate as a constant expression.

Stop if we find that the expression is not a constant expression.

ConstantExpressionUnevaluated 

Evaluate as a constant expression.

Stop if we find that the expression is not a constant expression. Some expressions can be retried in the optimizer if we don't constant fold them here, but in an unevaluated context we try to fold them immediately since the optimizer never gets a chance to look at it.

ConstantFold 

Fold the expression to a constant.

Stop if we hit a side-effect that we can't model.

IgnoreSideEffects 

Evaluate in any way we know how.

Don't worry about side-effects that can't be modeled.

Definition at line 53 of file State.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_NoThrow 

Microsoft __declspec(nothrow) 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 20 of file ExceptionSpecificationType.h.

◆ ExplicitSpecKind

enum class clang::ExplicitSpecKind : unsigned
strong

Define the meaning of possible values of the kind in ExplicitSpecifier.

Enumerator
ResolvedFalse 
ResolvedTrue 
Unresolved 

Definition at line 28 of file Specifiers.h.

◆ ExplorationStrategyKind

enum class clang::ExplorationStrategyKind
strong
Enumerator
DFS 
BFS 
UnexploredFirst 
UnexploredFirstQueue 
UnexploredFirstLocationQueue 
BFSBlockDFSContents 

Definition at line 108 of file AnalyzerOptions.h.

◆ ExpressionTrait

Enumerator
ET_Last 

Definition at line 21 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.

OK_MatrixComponent 

A matrix component is a single element of a matrix.

Definition at line 149 of file Specifiers.h.

◆ ExprValueKind

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

Enumerator
VK_PRValue 

A pr-value expression (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 132 of file Specifiers.h.

◆ ExtraDepKind

ExtraDepKind - The kind of extra dependency file.

Enumerator
EDK_SanitizeIgnorelist 
EDK_ProfileList 
EDK_ModuleFile 
EDK_DepFileEntry 

Definition at line 25 of file DependencyOutputOptions.h.

◆ ExtraSemiKind

enum class clang::ExtraSemiKind
strong

The kind of extra semi diagnostic to emit.

Enumerator
OutsideFunction 
InsideStruct 
InstanceVariableList 
AfterMemberFunctionDefinition 

Definition at line 69 of file Parser.h.

◆ FloatModeKind

enum class clang::FloatModeKind
strong
Enumerator
NoFloat 
Half 
Float 
Double 
LongDouble 
Float128 
Ibm128 

Definition at line 75 of file TargetInfo.h.

◆ FormatStringType

enum class clang::FormatStringType
strong
Enumerator
Scanf 
Printf 
NSString 
Strftime 
Strfmon 
Kprintf 
FreeBSDKPrintf 
OSTrace 
OSLog 
Syslog 
Unknown 

Definition at line 496 of file Sema.h.

◆ FunctionDefinitionKind

enum class clang::FunctionDefinitionKind
strong

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

Enumerator
Declaration 
Definition 
Defaulted 
Deleted 

Definition at line 1817 of file DeclSpec.h.

◆ FunctionEffectMode

enum class clang::FunctionEffectMode : uint8_t
strong

Used with attributes/effects with a boolean condition, e.g. nonblocking.

Enumerator
None 
False 
True 
Dependent 

Definition at line 456 of file Sema.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 72 of file Linkage.h.

◆ HeaderIncludeFilteringKind

Whether header information is filtered or not.

If HIFIL_Only_Direct_System is used, only information on system headers directly included from non-system files is emitted. The HIFIL_Direct_Per_File filtering shows the direct imports and includes for each non-system source and header file separately.

Enumerator
HIFIL_None 
HIFIL_Only_Direct_System 
HIFIL_Direct_Per_File 

Definition at line 29 of file HeaderInclude.h.

◆ HeaderIncludeFormatKind

The format in which header information is emitted.

Enumerator
HIFMT_None 
HIFMT_Textual 
HIFMT_JSON 

Definition at line 22 of file HeaderInclude.h.

◆ IfExistsBehavior

enum class clang::IfExistsBehavior
strong

Describes the behavior that should be taken for an __if_exists block.

Enumerator
Parse 

Parse the block; this code is always used.

Skip 

Skip the block entirely; this code is never used.

Dependent 

Parse the block as a dependent block, which may be used in some template instantiations but not others.

Definition at line 135 of file Parser.h.

◆ IfExistsResult

enum class clang::IfExistsResult
strong

Describes the result of an "if-exists" condition check.

Enumerator
Exists 

The symbol exists.

DoesNotExist 

The symbol does not exist.

Dependent 

The name is a dependent name, so the results will differ from one instantiation to the next.

Error 

An error occurred.

Definition at line 789 of file Sema.h.

◆ IfStatementKind

enum class clang::IfStatementKind : unsigned
strong

In an if statement, this denotes whether the statement is a constexpr or consteval if statement.

Enumerator
Ordinary 
Constexpr 
ConstevalNonNegated 
ConstevalNegated 

Definition at line 39 of file Specifiers.h.

◆ ImmCheckType

Definition at line 322 of file TargetBuiltins.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_SVE_Vector_Conversion 

Arm SVE Vector conversions.

ICK_RVV_Vector_Conversion 

RISC-V RVV 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_Fixed_Point_Conversion 

Fixed point type conversions according to N1169.

ICK_HLSL_Vector_Truncation 

HLSL vector truncation.

ICK_HLSL_Array_RValue 

HLSL non-decaying array rvalue cast.

ICK_HLSL_Vector_Splat 
ICK_Num_Conversion_Kinds 

The number of conversion kinds.

Definition at line 104 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_HLSL_Scalar_Widening 

HLSL Scalar Widening.

ICR_Promotion 

Promotion.

ICR_HLSL_Scalar_Widening_Promotion 

HLSL Scalar Widening with promotion.

ICR_Conversion 

Conversion.

ICR_OCL_Scalar_Widening 

OpenCL Scalar Widening.

ICR_HLSL_Scalar_Widening_Conversion 

HLSL Scalar Widening with conversion.

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.

ICR_HLSL_Dimension_Reduction 

HLSL Matching Dimension Reduction.

ICR_HLSL_Dimension_Reduction_Promotion 

HLSL Dimension reduction with promotion.

ICR_HLSL_Dimension_Reduction_Conversion 

HLSL Dimension reduction with conversion.

Definition at line 215 of file Overload.h.

◆ ImplicitParamKind

enum class clang::ImplicitParamKind
strong

Defines the kind of the implicit parameter: is this an implicit parameter with pointer to 'this', 'self', '_cmd', virtual table pointers, captured context or something else.

Enumerator
ObjCSelf 

Parameter for Objective-C 'self' argument.

ObjCCmd 

Parameter for Objective-C '_cmd' argument.

CXXThis 

Parameter for C++ 'this' argument.

CXXVTT 

Parameter for C++ virtual table pointers.

CapturedContext 

Parameter for captured context.

ThreadPrivateVar 

Parameter for Thread private variable.

Other 

Other implicit parameter.

Definition at line 1725 of file Decl.h.

◆ ImplicitTypenameContext

enum class clang::ImplicitTypenameContext
strong
Enumerator
No 
Yes 

Definition at line 1857 of file DeclSpec.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 271 of file Specifiers.h.

◆ InterestingIdentifier

enum class clang::InterestingIdentifier
strong

The "layout" of InterestingIdentifier is:

  • ObjCKeywordKind enumerators
  • NotableIdentifierKind enumerators
  • Builtin::ID enumerators
  • NotInterestingIdentifier
Enumerator
NUM_OBJC_KEYWORDS 
NUM_OBJC_KEYWORDS_AND_NOTABLE_IDENTIFIERS 
NotBuiltin 
FirstTSBuiltin 
NotInterestingIdentifier 

Definition at line 92 of file IdentifierTable.h.

◆ InterfaceKind

Enumerator
NoAlloc 
WithAlloc 
CopyArray 
NewTag 

Definition at line 374 of file InterpreterValuePrinter.cpp.

◆ 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 90 of file AnalyzerOptions.h.

◆ JavaScriptQuoteStyle

Quotation styles for JavaScript strings. Does not affect template strings.

Enumerator
JSQS_Leave 

Leave string quotes as they are.

string1 = "foo";
string2 = 'bar';
JSQS_Single 

Always use single quotes.

string1 = 'foo';
string2 = 'bar';
JSQS_Double 

Always use double quotes.

string1 = "foo";
string2 = "bar";

Definition at line 3236 of file Format.h.

◆ KernelReferenceKind

enum class clang::KernelReferenceKind : unsigned
strong
Enumerator
Kernel 
Stub 

Definition at line 40 of file GlobalDecl.h.

◆ LambdaBodyIndentationKind

Indentation logic for lambda bodies.

Enumerator
LBI_Signature 

Align lambda body relative to the lambda signature. This is the default.

someMethod(
[](SomeReallyLongLambdaSignatureArgument foo) {
return;
});
LBI_OuterScope 

For statements within block scope, align lambda body relative to the indentation level of the outer scope the lambda signature resides in.

someMethod(
[](SomeReallyLongLambdaSignatureArgument foo) {
return;
});
someMethod(someOtherMethod(
[](SomeReallyLongLambdaSignatureArgument foo) {
return;
}));

Definition at line 3331 of file Format.h.

◆ LambdaCaptureDefault

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

Enumerator
LCD_None 
LCD_ByCopy 
LCD_ByRef 

Definition at line 22 of file Lambda.h.

◆ LambdaCaptureInitKind

enum class clang::LambdaCaptureInitKind
strong
Enumerator
NoInit 

[a]

CopyInit 

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

DirectInit 

[a(b)]

ListInit 

[a{b}]

Definition at line 2798 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 

Capturing the *this object by copy.

LCK_ByCopy 

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

LCK_ByRef 

Capturing by reference.

LCK_VLAType 

Capturing variable-length array type.

Definition at line 33 of file Lambda.h.

◆ LangAS

enum class 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 
opencl_global_device 
opencl_global_host 
cuda_device 
cuda_constant 
cuda_shared 
sycl_global 
sycl_global_device 
sycl_global_host 
sycl_local 
sycl_private 
ptr32_sptr 
ptr32_uptr 
ptr64 
hlsl_groupshared 
hlsl_constant 
hlsl_private 
hlsl_device 
hlsl_input 
wasm_funcref 
FirstTargetAddressSpace 

Definition at line 25 of file AddressSpaces.h.

◆ LangFeatures

Enumerator
LineComment 
C99 
C11 
C17 
C23 
C2y 
CPlusPlus 
CPlusPlus11 
CPlusPlus14 
CPlusPlus17 
CPlusPlus20 
CPlusPlus23 
CPlusPlus26 
Digraphs 
GNUMode 
HexFloat 
OpenCL 
HLSL 

Definition at line 48 of file LangStandard.h.

◆ Language

enum class clang::Language : uint8_t
strong

The language for the input, used to select and validate the language standard and possible actions.

Enumerator
Unknown 
Asm 

Assembly: we accept this only so that we can preprocess it.

CIR 

LLVM IR & CIR: we accept these so that we can run the optimizer on them, and compile them to assembly or object code (or LLVM for CIR).

LLVM_IR 

Languages that the frontend can parse and compile.

CXX 
ObjC 
ObjCXX 
OpenCL 
OpenCLCXX 
CUDA 
HIP 
HLSL 

Definition at line 23 of file LangStandard.h.

◆ LanguageID

enum clang::LanguageID : uint16_t
Enumerator
GNU_LANG 
C_LANG 
CXX_LANG 
OBJC_LANG 
MS_LANG 
OMP_LANG 
CUDA_LANG 
COR_LANG 
OCL_GAS 
OCL_PIPE 
OCL_DSE 
ALL_OCL_LANGUAGES 
HLSL_LANG 
C23_LANG 
ALL_LANGUAGES 
ALL_GNU_LANGUAGES 
ALL_MS_LANGUAGES 

Definition at line 33 of file Builtins.h.

◆ LanguageKind

enum clang::LanguageKind : int8_t

Supported languages.

When stored in a configuration file, specifies the language, that the configuration targets. When passed to the reformat() function, enables syntax features specific to the language.

Enumerator
LK_None 

Do not use.

LK_C 

Should be used for C.

LK_Cpp 

Should be used for C++.

LK_CSharp 

Should be used for C#.

LK_Java 

Should be used for Java.

LK_JavaScript 

Should be used for JavaScript.

LK_Json 

Should be used for JSON.

LK_ObjC 

Should be used for Objective-C, Objective-C++.

LK_Proto 

Should be used for Protocol Buffers (https://developers.google.com/protocol-buffers/).

LK_TableGen 

Should be used for TableGen code.

LK_TextProto 

Should be used for Protocol Buffer messages in text format (https://developers.google.com/protocol-buffers/).

LK_Verilog 

Should be used for Verilog and SystemVerilog. https://standards.ieee.org/ieee/1800/6700/ https://sci-hub.st/10.1109/IEEESTD.2018.8299595.

Definition at line 3369 of file Format.h.

◆ LanguageLinkage

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

Enumerator
CLanguageLinkage 
CXXLanguageLinkage 
NoLanguageLinkage 

Definition at line 63 of file Linkage.h.

◆ LanguageStandard

enum clang::LanguageStandard : int8_t

Supported language standards for parsing and formatting C++ constructs.

Latest: vector<set<int>>
c++03 vs. vector<set<int> >
__device__ __2f16 float c

The correct way to spell a specific language version is e.g. c++11. The historical aliases Cpp03 and Cpp11 are deprecated.

Enumerator
LS_Cpp03 

Parse and format as C++03. Cpp03 is a deprecated alias for c++03

LS_Cpp11 

Parse and format as C++11.

LS_Cpp14 

Parse and format as C++14.

LS_Cpp17 

Parse and format as C++17.

LS_Cpp20 

Parse and format as C++20.

LS_Latest 

Parse and format using the latest supported language version. Cpp11 is a deprecated alias for Latest

LS_Auto 

Automatic detection based on the input.

Definition at line 5197 of file Format.h.

◆ LineEndingStyle

enum clang::LineEndingStyle : int8_t

Line ending style.

Enumerator
LE_LF 

Use \n.

LE_CRLF 

Use \r\n.

LE_DeriveLF 

Use \n unless the input has more lines ending in \r\n.

LE_DeriveCRLF 

Use \r\n unless the input has more lines ending in \n.

Definition at line 3421 of file Format.h.

◆ Linkage

enum class clang::Linkage : unsigned char
strong

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

Enumerator
Invalid 
None 

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

Internal 

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

UniqueExternal 

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.

VisibleNone 

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

Module 

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.

External 

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

Definition at line 24 of file Linkage.h.

◆ LinkageSpecLanguageIDs

enum class clang::LinkageSpecLanguageIDs
strong

Represents the language in a linkage specification.

The values are part of the serialization ABI for ASTs and cannot be changed without altering that ABI.

Enumerator
CXX 

Definition at line 3007 of file DeclCXX.h.

◆ LookupAmbiguityKind

enum class clang::LookupAmbiguityKind
strong
Enumerator
AmbiguousBaseSubobjectTypes 

Name lookup results in an ambiguity because multiple entities that meet the lookup criteria were found in subobjects of different types.

For example:

struct A { void f(int); }
struct B { void f(double); }
struct C : A, B { };
void test(C c) {
c.f(0); // error: A::f and B::f come from subobjects of different
// types. overload resolution is not performed.
}
AmbiguousBaseSubobjects 

Name lookup results in an ambiguity because multiple nonstatic entities that meet the lookup criteria were found in different subobjects of the same type.

For example:

struct A { int x; };
struct B : A { };
struct C : A { };
struct D : B, C { };
int test(D d) {
return d.x; // error: 'x' is found in two A subobjects (of B and C)
}
AmbiguousReference 

Name lookup results in an ambiguity because multiple definitions of entity that meet the lookup criteria were found in different declaration contexts.

namespace A {
int i;
namespace B { int i; }
int test() {
using namespace B;
return i; // error 'i' is found in namespace A and A::B
}
}
AmbiguousReferenceToPlaceholderVariable 

Name lookup results in an ambiguity because multiple placeholder variables were found in the same scope.

void f() {
int _ = 0;
int _ = 0;
return _; // ambiguous use of placeholder variable
}
AmbiguousTagHiding 

Name lookup results in an ambiguity because an entity with a tag name was hidden by an entity with an ordinary name from a different context.

namespace A { struct Foo {}; }
namespace B { void Foo(); }
namespace C {
using namespace A;
using namespace B;
}
void test() {
C::Foo(); // error: tag 'A::Foo' is hidden by an object in a
// different namespace
}

Definition at line 67 of file Lookup.h.

◆ LookupResultKind

enum class clang::LookupResultKind
strong
Enumerator
NotFound 

No entity found met the criteria.

NotFoundInCurrentInstantiation 

No entity found met the criteria within the current instantiation,, but there were dependent base classes of the current instantiation that could not be searched.

Found 

Name lookup found a single declaration that met the criteria.

getFoundDecl() will return this declaration.

FoundOverloaded 

Name lookup found a set of overloaded functions that met the criteria.

FoundUnresolvedValue 

Name lookup found an unresolvable value declaration and cannot yet complete.

This only happens in C++ dependent contexts with dependent using declarations.

Ambiguous 

Name lookup results in an ambiguity; use getAmbiguityKind to figure out what kind of ambiguity we have.

Definition at line 39 of file Lookup.h.

◆ MacroUse

Context in which macro name is used.

Enumerator
MU_Other 
MU_Define 
MU_Undef 

Definition at line 115 of file Preprocessor.h.

◆ MSInheritanceModel

enum class clang::MSInheritanceModel
strong

Assigned inheritance model for a class in the MS C++ ABI.

Must match order of spellings in MSInheritanceAttr.

Enumerator
Single 
Multiple 
Virtual 
Unspecified 

Definition at line 410 of file Specifiers.h.

◆ MSVtorDispMode

enum class clang::MSVtorDispMode
strong

In the Microsoft ABI, this controls the placement of virtual displacement members used to implement virtual inheritance.

Enumerator
Never 
ForVBaseOverride 
ForVFTable 

Definition at line 37 of file LangOptions.h.

◆ MultiVersionKind

enum class clang::MultiVersionKind
strong
Enumerator
None 
Target 
CPUSpecific 
CPUDispatch 
TargetClones 
TargetVersion 

Definition at line 1978 of file Decl.h.

◆ NameClassificationKind

enum class clang::NameClassificationKind
strong

Describes the result of the name lookup and resolution performed by Sema::ClassifyName().

Enumerator
Unknown 

This name is not a type or template in this context, but might be something else.

Error 

Classification failed; an error has been produced.

Keyword 

The name has been typo-corrected to a keyword.

Type 

The name was classified as a type.

NonType 

The name was classified as a specific non-type, non-template declaration.

ActOnNameClassifiedAsNonType should be called to convert the declaration to an expression.

UndeclaredNonType 

The name was classified as an ADL-only function name.

ActOnNameClassifiedAsUndeclaredNonType should be called to convert the result to an expression.

DependentNonType 

The name denotes a member of a dependent type that could not be resolved.

ActOnNameClassifiedAsDependentNonType should be called to convert the result to an expression.

OverloadSet 

The name was classified as an overload set, and an expression representing that overload set has been formed.

ActOnNameClassifiedAsOverloadSet should be called to form a suitable expression referencing the overload set.

TypeTemplate 

The name was classified as a template whose specializations are types.

VarTemplate 

The name was classified as a variable template name.

FunctionTemplate 

The name was classified as a function template name.

UndeclaredTemplate 

The name was classified as an ADL-only function template name.

Concept 

The name was classified as a concept name.

Definition at line 553 of file Sema.h.

◆ NamespaceIndentationKind

Different ways to indent namespace contents.

Enumerator
NI_None 

Don't indent in namespaces.

namespace out {
int i;
namespace in {
int i;
}
}
NI_Inner 

Indent only in inner namespaces (nested in other namespaces).

namespace out {
int i;
namespace in {
int i;
}
}
NI_All 

Indent in all namespaces.

namespace out {
int i;
namespace in {
int i;
}
}

Definition at line 3529 of file Format.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 268 of file Overload.h.

◆ NeverCalledReason

enum class clang::NeverCalledReason
strong
Enumerator
IfThen 
IfElse 
Switch 
SwitchSkipped 
LoopEntered 
LoopSkipped 
FallbackReason 
LARGEST_VALUE 

Definition at line 36 of file CalledOnceCheck.h.

◆ NonOdrUseReason

The reason why a DeclRefExpr does not constitute an odr-use.

Enumerator
NOUR_None 

This is an odr-use.

NOUR_Unevaluated 

This name appears in an unevaluated operand.

NOUR_Constant 

This name appears as a potential result of an lvalue-to-rvalue conversion that is a constant expression.

NOUR_Discarded 

This name appears as a potential result of a discarded value expression.

Definition at line 173 of file Specifiers.h.

◆ NonTagKind

enum class clang::NonTagKind
strong

Common ways to introduce type names without a tag for use in diagnostics.

Keep in sync with err_tag_reference_non_tag.

Enumerator
NonStruct 
NonClass 
NonUnion 
NonEnum 
Typedef 
TypeAlias 
Template 
TypeAliasTemplate 
TemplateTemplateArgument 

Definition at line 602 of file Sema.h.

◆ NonTrivialCUnionContext

enum class clang::NonTrivialCUnionContext
strong
Enumerator
FunctionParam 
FunctionReturn 
DefaultInitializedObject 
AutoVar 
CopyInit 
Assignment 
CompoundLiteral 
BlockCapture 
LValueToRValueVolatile 

Definition at line 530 of file Sema.h.

◆ NullabilityKind

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

NullableResult 

Definition at line 348 of file Specifiers.h.

◆ NumericLiteralComponentStyle

Control over each component in a numeric literal.

Enumerator
NLCS_Leave 

Leave this component of the literal as is.

NLCS_Upper 

Format this component with uppercase characters.

NLCS_Lower 

Format this component with lowercase characters.

Definition at line 3580 of file Format.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 36 of file OperationKinds.h.

◆ ObjCImplementationControl

Enumerator
None 
Required 
Optional 

Definition at line 118 of file DeclObjC.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 836 of file IdentifierTable.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 796 of file IdentifierTable.h.

◆ ObjCPropertyQueryKind

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

Definition at line 719 of file DeclObjC.h.

◆ ObjCStringFormatFamily

Enumerator
SFF_None 
SFF_NSString 
SFF_CFString 

Definition at line 845 of file IdentifierTable.h.

◆ ObjCSubstitutionContext

enum class clang::ObjCSubstitutionContext
strong

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 900 of file TypeBase.h.

◆ ObjCTypeParamVariance

enum class 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 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 when the type parameter is covariant and U is a subtype of T.

Definition at line 553 of file DeclObjC.h.

◆ ObjCTypeQual

enum class clang::ObjCTypeQual
strong
Enumerator
in 
out 
inout 
oneway 
bycopy 
byref 
nonnull 
nullable 
null_unspecified 
NumQuals 

Definition at line 91 of file Parser.h.

◆ ObjCXXARCStandardLibraryKind

Enumerate the kinds of standard library that.

Enumerator
ARCXX_nolib 
ARCXX_libcxx 

libc++

ARCXX_libstdcxx 

libstdc++

Definition at line 36 of file PreprocessorOptions.h.

◆ OffloadArch

enum class clang::OffloadArch
strong
Enumerator
UNUSED 
UNKNOWN 
SM_20 
SM_21 
SM_30 
SM_32_ 
SM_35 
SM_37 
SM_50 
SM_52 
SM_53 
SM_60 
SM_61 
SM_62 
SM_70 
SM_72 
SM_75 
SM_80 
SM_86 
SM_87 
SM_89 
SM_90 
SM_90a 
SM_100 
SM_100a 
SM_101 
SM_101a 
SM_103 
SM_103a 
SM_120 
SM_120a 
SM_121 
SM_121a 
GFX600 
GFX601 
GFX602 
GFX700 
GFX701 
GFX702 
GFX703 
GFX704 
GFX705 
GFX801 
GFX802 
GFX803 
GFX805 
GFX810 
GFX9_GENERIC 
GFX900 
GFX902 
GFX904 
GFX906 
GFX908 
GFX909 
GFX90a 
GFX90c 
GFX9_4_GENERIC 
GFX942 
GFX950 
GFX10_1_GENERIC 
GFX1010 
GFX1011 
GFX1012 
GFX1013 
GFX10_3_GENERIC 
GFX1030 
GFX1031 
GFX1032 
GFX1033 
GFX1034 
GFX1035 
GFX1036 
GFX11_GENERIC 
GFX1100 
GFX1101 
GFX1102 
GFX1103 
GFX1150 
GFX1151 
GFX1152 
GFX1153 
GFX12_GENERIC 
GFX1200 
GFX1201 
GFX1250 
GFX1251 
AMDGCNSPIRV 
Generic 
GRANITERAPIDS 
BMG_G21 
LAST 
CudaDefault 
HIPDefault 

Definition at line 18 of file OffloadArch.h.

◆ OffsetOfKind

enum class clang::OffsetOfKind
strong
Enumerator
Outside 
Builtin 
Macro 

Definition at line 614 of file Sema.h.

◆ OMPDeclareReductionInitKind

Enumerator
Call 
Direct 
Copy 

Definition at line 223 of file DeclOpenMP.h.

◆ OpenACCAtomicKind

enum class clang::OpenACCAtomicKind : uint8_t
strong
Enumerator
Read 
Write 
Update 
Capture 
None 

Definition at line 172 of file OpenACCKinds.h.

◆ OpenACCClauseKind

enum class clang::OpenACCClauseKind : uint8_t
strong

Represents the kind of an OpenACC clause.

Sorted alphabetically, since this order ends up influencing the sorting of the list diagnostic.

Enumerator
Async 

'async' clause, allowed on Compute, Data, 'update', 'wait', and Combined constructs.

Attach 

'attach' clause, allowed on Compute and Combined constructs, plus 'data' and 'enter data'.

Auto 

'auto' clause, allowed on 'loop' directives.

Bind 

'bind' clause, allowed on routine constructs.

Collapse 

'collapse' clause, allowed on 'loop' and Combined constructs.

Copy 

'copy' clause, allowed on Compute and Combined Constructs, plus 'data' and 'declare'.

PCopy 

'copy' clause alias 'pcopy'. Preserved for diagnostic purposes.

PresentOrCopy 

'copy' clause alias 'present_or_copy'. Preserved for diagnostic purposes.

CopyIn 

'copyin' clause, allowed on Compute and Combined constructs, plus 'data', 'enter data', and 'declare'.

PCopyIn 

'copyin' clause alias 'pcopyin'. Preserved for diagnostic purposes.

PresentOrCopyIn 

'copyin' clause alias 'present_or_copyin'.

Preserved for diagnostic purposes.

CopyOut 

'copyout' clause, allowed on Compute and Combined constructs, plus 'data', 'exit data', and 'declare'.

PCopyOut 

'copyout' clause alias 'pcopyout'. Preserved for diagnostic purposes.

PresentOrCopyOut 

'copyout' clause alias 'present_or_copyout'.

Preserved for diagnostic purposes.

Create 

'create' clause, allowed on Compute and Combined constructs, plus 'data', 'enter data', and 'declare'.

PCreate 

'create' clause alias 'pcreate'. Preserved for diagnostic purposes.

PresentOrCreate 

'create' clause alias 'present_or_create'.

Preserved for diagnostic purposes.

Default 

'default' clause, allowed on parallel, serial, kernel (and compound) constructs.

DefaultAsync 

'default_async' clause, allowed on 'set' construct.

Delete 

'delete' clause, allowed on the 'exit data' construct.

Detach 

'detach' clause, allowed on the 'exit data' construct.

Device 

'device' clause, allowed on the 'update' construct.

DeviceNum 

'device_num' clause, allowed on 'init', 'shutdown', and 'set' constructs.

DevicePtr 

'deviceptr' clause, allowed on Compute and Combined Constructs, plus 'data' and 'declare'.

DeviceResident 

'device_resident' clause, allowed on the 'declare' construct.

DeviceType 

'device_type' clause, allowed on Compute, 'data', 'init', 'shutdown', 'set', update', 'loop', 'routine', and Combined constructs.

DType 

'dtype' clause, an alias for 'device_type', stored separately for diagnostic purposes.

Finalize 

'finalize' clause, allowed on 'exit data' directive.

FirstPrivate 

'firstprivate' clause, allowed on 'parallel', 'serial', 'parallel loop', and 'serial loop' constructs.

Gang 

'gang' clause, allowed on 'loop' and Combined constructs.

Host 

'host' clause, allowed on 'update' construct.

If 

'if' clause, allowed on all the Compute Constructs, Data Constructs, Executable Constructs, and Combined Constructs.

IfPresent 

'if_present' clause, allowed on 'host_data' and 'update' directives.

Independent 

'independent' clause, allowed on 'loop' directives.

Link 

'link' clause, allowed on 'declare' construct.

NoCreate 

'no_create' clause, allowed on allowed on Compute and Combined constructs, plus 'data'.

NoHost 

'nohost' clause, allowed on 'routine' directives.

NumGangs 

'num_gangs' clause, allowed on 'parallel', 'kernels', parallel loop', and 'kernels loop' constructs.

NumWorkers 

'num_workers' clause, allowed on 'parallel', 'kernels', parallel loop', and 'kernels loop' constructs.

Present 

'present' clause, allowed on Compute and Combined constructs, plus 'data' and 'declare'.

Private 

'private' clause, allowed on 'parallel', 'serial', 'loop', 'parallel loop', and 'serial loop' constructs.

Reduction 

'reduction' clause, allowed on Parallel, Serial, Loop, and the combined constructs.

Self 

'self' clause, allowed on Compute and Combined Constructs, plus 'update'.

Seq 

'seq' clause, allowed on 'loop' and 'routine' directives.

Tile 

'tile' clause, allowed on 'loop' and Combined constructs.

UseDevice 

'use_device' clause, allowed on 'host_data' construct.

Vector 

'vector' clause, allowed on 'loop', Combined, and 'routine' directives.

VectorLength 

'vector_length' clause, allowed on 'parallel', 'kernels', 'parallel loop', and 'kernels loop' constructs.

Wait 

'wait' clause, allowed on Compute, Data, 'update', and Combined constructs.

Worker 

'worker' clause, allowed on 'loop', Combined, and 'routine' directives.

Shortloop 

'shortloop' is represented in the ACC.td file, but isn't present in the standard.

This appears to be an old extension for the nvidia fortran

Invalid 

Represents an invalid clause, for the purposes of parsing.

Should be 'last'.

Definition at line 207 of file OpenACCKinds.h.

◆ OpenACCDefaultClauseKind

enum class clang::OpenACCDefaultClauseKind : uint8_t
strong
Enumerator
None 

'none' option.

Present 

'present' option.

Invalid 

Not a valid option.

Definition at line 514 of file OpenACCKinds.h.

◆ OpenACCDirectiveKind

enum class clang::OpenACCDirectiveKind : uint8_t
strong
Enumerator
Parallel 
Serial 
Kernels 
Data 
EnterData 
ExitData 
HostData 
Loop 
Cache 
ParallelLoop 
SerialLoop 
KernelsLoop 
Atomic 
Declare 
Init 
Shutdown 
Set 
Update 
Wait 
Routine 
Invalid 

Definition at line 28 of file OpenACCKinds.h.

◆ OpenACCGangKind

enum class clang::OpenACCGangKind : uint8_t
strong
Enumerator
Num 

num:

Dim 

dim:

Static 

static:

Definition at line 606 of file OpenACCKinds.h.

◆ OpenACCModifierKind

enum class clang::OpenACCModifierKind : uint8_t
strong
Enumerator
Invalid 
Zero 
Readonly 
AlwaysIn 
AlwaysOut 
Capture 
Always 

Definition at line 641 of file OpenACCKinds.h.

◆ OpenACCReductionOperator

enum class clang::OpenACCReductionOperator : uint8_t
strong
Enumerator
Addition 

'+'.

Multiplication 

'*'.

Max 

'max'.

Min 

'min'.

BitwiseAnd 

'&'.

BitwiseOr 

'|'.

BitwiseXOr 

'^'.

And 

'&&'.

Or 

'||'.

Invalid 

Invalid Reduction Clause Kind.

Definition at line 547 of file OpenACCKinds.h.

◆ OpenCLTypeKind

enum clang::OpenCLTypeKind : uint8_t

OpenCL type kinds.

Enumerator
OCLTK_Default 
OCLTK_ClkEvent 
OCLTK_Event 
OCLTK_Image 
OCLTK_Pipe 
OCLTK_Queue 
OCLTK_ReserveID 
OCLTK_Sampler 

Definition at line 212 of file TargetInfo.h.

◆ OpenMPAdjustArgsOpKind

OpenMP adjust-op kinds for 'adjust_args' clause.

Enumerator
OMPC_ADJUST_ARGS_unknown 

Definition at line 208 of file OpenMPKinds.h.

◆ OpenMPAllocateClauseModifier

OpenMP modifiers for 'allocate' clause.

Enumerator
OMPC_ALLOCATE_unknown 

Definition at line 247 of file OpenMPKinds.h.

◆ OpenMPAtClauseKind

OpenMP attributes for 'at' clause.

Enumerator
OMPC_AT_unknown 

Definition at line 143 of file OpenMPKinds.h.

◆ OpenMPAtomicDefaultMemOrderClauseKind

OpenMP attributes for 'atomic_default_mem_order' clause.

Enumerator
OMPC_ATOMIC_DEFAULT_MEM_ORDER_unknown 

Definition at line 135 of file OpenMPKinds.h.

◆ OpenMPBindClauseKind

OpenMP bindings for the 'bind' clause.

Enumerator
OMPC_BIND_unknown 

Definition at line 215 of file OpenMPKinds.h.

◆ OpenMPDefaultClauseVariableCategory

OpenMP variable-category for 'default' clause.

Enumerator
OMPC_DEFAULT_VC_unknown 

Definition at line 111 of file OpenMPKinds.h.

◆ OpenMPDefaultmapClauseKind

OpenMP attributes for 'defaultmap' clause.

Enumerator
OMPC_DEFAULTMAP_unknown 

Definition at line 118 of file OpenMPKinds.h.

◆ OpenMPDefaultmapClauseModifier

OpenMP modifiers for 'defaultmap' clause.

Enumerator
OMPC_DEFAULTMAP_MODIFIER_unknown 
OMPC_DEFAULTMAP_MODIFIER_last 

Definition at line 126 of file OpenMPKinds.h.

◆ OpenMPDependClauseKind

OpenMP attributes for 'depend' clause.

Enumerator
OMPC_DEPEND_unknown 

Definition at line 55 of file OpenMPKinds.h.

◆ OpenMPDeviceClauseModifier

OpenMP modifiers for 'device' clause.

Enumerator
OMPC_DEVICE_unknown 

Definition at line 48 of file OpenMPKinds.h.

◆ OpenMPDeviceType

OpenMP device type for 'device_type' clause.

Enumerator
OMPC_DEVICE_TYPE_unknown 

Definition at line 157 of file OpenMPKinds.h.

◆ OpenMPDistScheduleClauseKind

OpenMP attributes for 'dist_schedule' clause.

Enumerator
OMPC_DIST_SCHEDULE_unknown 

Definition at line 104 of file OpenMPKinds.h.

◆ OpenMPDoacrossClauseModifier

OpenMP dependence types for 'doacross' clause.

Enumerator
OMPC_DOACROSS_unknown 

Definition at line 240 of file OpenMPKinds.h.

◆ OpenMPGrainsizeClauseModifier

Enumerator
OMPC_GRAINSIZE_unknown 

Definition at line 221 of file OpenMPKinds.h.

◆ OpenMPLastprivateModifier

OpenMP 'lastprivate' clause modifier.

Enumerator
OMPC_LASTPRIVATE_unknown 

Definition at line 165 of file OpenMPKinds.h.

◆ OpenMPLinearClauseKind

OpenMP attributes for 'linear' clause.

Enumerator
OMPC_LINEAR_unknown 

Definition at line 63 of file OpenMPKinds.h.

◆ OpenMPMapClauseKind

OpenMP mapping kind for 'map' clause.

Enumerator
OMPC_MAP_unknown 

Definition at line 71 of file OpenMPKinds.h.

◆ OpenMPMapModifierKind

OpenMP modifier kind for 'map' clause.

Enumerator
OMPC_MAP_MODIFIER_unknown 
OMPC_MAP_MODIFIER_last 

Definition at line 79 of file OpenMPKinds.h.

◆ OpenMPMotionModifierKind

OpenMP modifier kind for 'to' or 'from' clause.

Enumerator
OMPC_MOTION_MODIFIER_unknown 

Definition at line 92 of file OpenMPKinds.h.

◆ OpenMPNumTasksClauseModifier

Enumerator
OMPC_NUMTASKS_unknown 

Definition at line 227 of file OpenMPKinds.h.

◆ OpenMPNumThreadsClauseModifier

Enumerator
OMPC_NUMTHREADS_unknown 

Definition at line 233 of file OpenMPKinds.h.

◆ OpenMPOrderClauseKind

OpenMP attributes for 'order' clause.

Enumerator
OMPC_ORDER_unknown 

Definition at line 172 of file OpenMPKinds.h.

◆ OpenMPOrderClauseModifier

OpenMP modifiers for 'order' clause.

Enumerator
OMPC_ORDER_MODIFIER_unknown 
OMPC_ORDER_MODIFIER_last 

Definition at line 179 of file OpenMPKinds.h.

◆ OpenMPOriginalSharingModifier

OpenMP 6.0 original sharing modifiers.

Enumerator
OMPC_ORIGINAL_SHARING_unknown 

Definition at line 201 of file OpenMPKinds.h.

◆ OpenMPReductionClauseModifier

OpenMP modifiers for 'reduction' clause.

Enumerator
OMPC_REDUCTION_unknown 

Definition at line 194 of file OpenMPKinds.h.

◆ OpenMPScheduleClauseKind

OpenMP attributes for 'schedule' clause.

Enumerator
OMPC_SCHEDULE_unknown 

Definition at line 31 of file OpenMPKinds.h.

◆ OpenMPScheduleClauseModifier

OpenMP modifiers for 'schedule' clause.

Enumerator
OMPC_SCHEDULE_MODIFIER_unknown 
OMPC_SCHEDULE_MODIFIER_last 

Definition at line 39 of file OpenMPKinds.h.

◆ OpenMPSeverityClauseKind

OpenMP attributes for 'severity' clause.

Enumerator
OMPC_SEVERITY_unknown 

Definition at line 150 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.

OCD_AmbiguousCandidates 

Requests that only tied-for-best candidates be shown.

Definition at line 64 of file Overload.h.

◆ OverloadCandidateParamOrder

enum class clang::OverloadCandidateParamOrder : char
strong

The parameter ordering that will be used for the candidate.

This is used to represent C++20 binary operator rewrites that reverse the order of the arguments. If the parameter ordering is Reversed, the Args list is reversed (but obviously the ParamDecls for the function are not).

After forming an OverloadCandidate with reversed parameters, the list of conversions will (as always) be indexed by argument, so will be in reverse parameter order.

Enumerator
Normal 
Reversed 

Definition at line 84 of file Overload.h.

◆ OverloadCandidateRewriteKind

The kinds of rewrite we perform on overload candidates.

Note that the values here are chosen to serve as both bitflags and as a rank (lower values are preferred by overload resolution).

Enumerator
CRK_None 

Candidate is not a rewritten candidate.

CRK_DifferentOperator 

Candidate is a rewritten candidate with a different operator name.

CRK_Reversed 

Candidate is a rewritten candidate with a reversed order of parameters.

Definition at line 89 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 21 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_explicit 

This candidate constructor or conversion function is explicit but the context doesn't permit explicit functions.

ovl_fail_addr_not_available 

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

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.

ovl_fail_object_addrspace_mismatch 

This constructor/conversion candidate fail due to an address space mismatch between the object being constructed and the overload candidate.

ovl_fail_constraints_not_satisfied 

This candidate was not viable because its associated constraints were not satisfied.

ovl_fail_module_mismatched 

This candidate was not viable because it has internal linkage and is from a different module unit than the use.

Definition at line 852 of file Overload.h.

◆ OverloadFixItKind

Enumerator
OFIK_Undefined 
OFIK_Dereference 
OFIK_TakeAddress 
OFIK_RemoveDereference 
OFIK_RemoveTakeAddress 

Definition at line 19 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 50 of file Overload.h.

◆ OverloadKind

enum class clang::OverloadKind
strong
Enumerator
Overload 

This is a legitimate overload: the existing declarations are functions or function templates with different signatures.

Match 

This is not an overload because the signature exactly matches an existing declaration.

NonFunction 

This is not an overload because the lookup results contain a non-function.

Definition at line 809 of file Sema.h.

◆ OverloadsShown

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 28 of file DiagnosticOptions.h.

◆ PackConstructorInitializersStyle

Different ways to try to fit all constructor initializers on a line.

Enumerator
PCIS_Never 

Always put each constructor initializer on its own line.

: a(),
b()
__device__ __2f16 b
PCIS_BinPack 

Bin-pack constructor initializers.

: aaaaaaaaaaaaaaaaaaaa(), bbbbbbbbbbbbbbbbbbbb(),
cccccccccccccccccccc()
PCIS_CurrentLine 

Put all constructor initializers on the current line if they fit. Otherwise, put each one on its own line.

Constructor() : a(), b()
: aaaaaaaaaaaaaaaaaaaa(),
bbbbbbbbbbbbbbbbbbbb(),
ddddddddddddd()
PCIS_NextLine 

Same as PCIS_CurrentLine except that if all constructor initializers do not fit on the current line, try to fit them on the next line.

Constructor() : a(), b()
: aaaaaaaaaaaaaaaaaaaa(), bbbbbbbbbbbbbbbbbbbb(), ddddddddddddd()
: aaaaaaaaaaaaaaaaaaaa(),
bbbbbbbbbbbbbbbbbbbb(),
cccccccccccccccccccc()
PCIS_NextLineOnly 

Put all constructor initializers on the next line if they fit. Otherwise, put each one on its own line.

: a(), b()
: aaaaaaaaaaaaaaaaaaaa(), bbbbbbbbbbbbbbbbbbbb(), ddddddddddddd()
: aaaaaaaaaaaaaaaaaaaa(),
bbbbbbbbbbbbbbbbbbbb(),
cccccccccccccccccccc()

Definition at line 3769 of file Format.h.

◆ ParameterABI

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

SwiftAsyncContext 

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

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

HLSLOut 
HLSLInOut 

Definition at line 378 of file Specifiers.h.

◆ ParenExprKind

enum class clang::ParenExprKind
strong

In a call to ParseParenExpression, are the initial parentheses part of an operator that requires the parens be there (like typeof(int)) or could they be something else, such as part of a compound literal or a sizeof expression, etc.

Enumerator
PartOfOperator 
Unknown 

Definition at line 128 of file Parser.h.

◆ ParenParseOption

enum class clang::ParenParseOption
strong

ParenParseOption - Control what ParseParenExpression will parse.

Enumerator
SimpleExpr 
FoldExpr 
CompoundStmt 
CompoundLiteral 
CastExpr 

Definition at line 116 of file Parser.h.

◆ ParsedTemplateKind

enum class clang::ParsedTemplateKind
strong

The kind of template we are parsing.

Enumerator
NonTemplate 

We are not parsing a template at all.

Template 

We are parsing a template declaration.

ExplicitSpecialization 

We are parsing an explicit specialization.

ExplicitInstantiation 

We are parsing an explicit instantiation.

Definition at line 77 of file Parser.h.

◆ PointerAlignmentStyle

The &, && and * alignment style.

Enumerator
PAS_Left 

Align pointer to the left.

int* a;
PAS_Right 

Align pointer to the right.

int *a;
PAS_Middle 

Align pointer in the middle.

int * a;

Definition at line 3880 of file Format.h.

◆ PointerAuthDiscArgKind

enum class clang::PointerAuthDiscArgKind
strong
Enumerator
Addr 
Extra 

Definition at line 592 of file Sema.h.

◆ PointerAuthenticationMode

Enumerator
None 
Strip 
SignAndStrip 
SignAndAuth 

Definition at line 62 of file LangOptions.h.

◆ PragmaClangSectionAction

Enumerator
Set 
Clear 

Definition at line 473 of file Sema.h.

◆ PragmaClangSectionKind

enum class clang::PragmaClangSectionKind
strong

pragma clang section kind

Enumerator
Invalid 
BSS 
Data 
Rodata 
Text 
Relro 

Definition at line 464 of file Sema.h.

◆ PragmaFloatControlKind

Enumerator
PFC_Unknown 
PFC_Precise 
PFC_NoPrecise 
PFC_Except 
PFC_NoExcept 
PFC_Push 
PFC_Pop 

Definition at line 28 of file PragmaKinds.h.

◆ PragmaFPKind

Enumerator
PFK_Contract 
PFK_Reassociate 
PFK_Reciprocal 
PFK_Exceptions 
PFK_EvalMethod 

Definition at line 38 of file PragmaKinds.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 14 of file PragmaKinds.h.

◆ PragmaMSStructKind

Enumerator
PMSST_OFF 
PMSST_ON 

Definition at line 23 of file PragmaKinds.h.

◆ PragmaOptionsAlignKind

enum class clang::PragmaOptionsAlignKind
strong
Enumerator
Native 
Natural 
Packed 
Power 
Mac68k 
Reset 

Definition at line 475 of file Sema.h.

◆ PredefinedDeclIDs

Predefined declaration IDs.

These declaration IDs correspond to predefined declarations in the AST context, such as the NULL declaration ID. Such declarations are never actually serialized, since they will be built by the AST context when it is created.

Enumerator
PREDEF_DECL_NULL_ID 

The NULL declaration.

PREDEF_DECL_TRANSLATION_UNIT_ID 

The translation unit.

PREDEF_DECL_OBJC_ID_ID 

The Objective-C 'id' type.

PREDEF_DECL_OBJC_SEL_ID 

The Objective-C 'SEL' type.

PREDEF_DECL_OBJC_CLASS_ID 

The Objective-C 'Class' type.

PREDEF_DECL_OBJC_PROTOCOL_ID 

The Objective-C 'Protocol' type.

PREDEF_DECL_INT_128_ID 

The signed 128-bit integer type.

PREDEF_DECL_UNSIGNED_INT_128_ID 

The unsigned 128-bit integer type.

PREDEF_DECL_OBJC_INSTANCETYPE_ID 

The internal 'instancetype' typedef.

PREDEF_DECL_BUILTIN_VA_LIST_ID 

The internal '__builtin_va_list' typedef.

PREDEF_DECL_VA_LIST_TAG 

The internal '__va_list_tag' struct, if any.

PREDEF_DECL_BUILTIN_MS_VA_LIST_ID 

The internal '__builtin_ms_va_list' typedef.

PREDEF_DECL_BUILTIN_MS_GUID_ID 

The predeclared '_GUID' struct.

PREDEF_DECL_EXTERN_C_CONTEXT_ID 

The extern "C" context.

PREDEF_DECL_CF_CONSTANT_STRING_ID 

The internal '__NSConstantString' typedef.

PREDEF_DECL_CF_CONSTANT_STRING_TAG_ID 

The internal '__NSConstantString' tag type.

PREDEF_DECL_BUILTIN_MS_TYPE_INFO_TAG_ID 

The predeclared 'type_info' struct.

NUM_PREDEF_DECL_IDS 

The number of declaration IDs that are predefined.

Definition at line 31 of file DeclID.h.

◆ PredefinedIdentKind

enum class clang::PredefinedIdentKind
strong
Enumerator
Func 
Function 
LFunction 
FuncDName 
FuncSig 
LFuncSig 
PrettyFunction 
PrettyFunctionNoVirtual 

The same as PrettyFunction, except that the 'virtual' keyword is omitted for virtual member functions.

Definition at line 1989 of file Expr.h.

◆ QualifierAlignmentStyle

Different specifiers and qualifiers alignment styles.

Enumerator
QAS_Leave 

Don't change specifiers/qualifiers to either Left or Right alignment (default).

int const a;
const int *a;
QAS_Left 

Change specifiers/qualifiers to be left-aligned.

const int a;
const int *a;
QAS_Right 

Change specifiers/qualifiers to be right-aligned.

int const a;
int const *a;
QAS_Custom 

Change specifiers/qualifiers to be aligned based on QualifierOrder. With:

QualifierOrder: [inline, static, type, const]
int const a;
int const *a;

Definition at line 3918 of file Format.h.

◆ RecordArgPassingKind

enum class clang::RecordArgPassingKind
strong

Enum that represents the different ways arguments are passed to and returned from function calls.

This takes into account the target-specific and version-specific rules along with the rules determined by the language.

Enumerator
CanPassInRegs 

The argument of this type can be passed directly in registers.

CannotPassInRegs 

The argument of this type cannot be passed directly in registers.

Records containing this type as a subobject are not forced to be passed indirectly. This value is used only in C++. This value is required by C++ because, in uncommon situations, it is possible for a class to have only trivial copy/move constructors even when one of its subobjects has a non-trivial copy/move constructor (if e.g. the corresponding copy/move constructor in the derived class is deleted).

CanNeverPassInRegs 

The argument of this type cannot be passed directly in registers.

Records containing this type as a subobject are forced to be passed indirectly.

Definition at line 4286 of file Decl.h.

◆ ReferenceAlignmentStyle

The & and && alignment style.

Enumerator
RAS_Pointer 

Align reference like PointerAlignment.

RAS_Left 

Align reference to the left.

int& a;
RAS_Right 

Align reference to the right.

int &a;
RAS_Middle 

Align reference in the middle.

int & a;

Definition at line 4050 of file Format.h.

◆ ReflowCommentsStyle

Types of comment reflow style.

Enumerator
RCS_Never 

Leave comments untouched.

// veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information
/* second veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information */
/* third veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information
* and a misaligned second line */
RCS_IndentOnly 

Only apply indentation rules, moving comments left or right, without changing formatting inside the comments.

// veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information
/* second veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information */
/* third veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of information
* and a misaligned second line */
RCS_Always 

Apply indentation rules and reflow long comments into new lines, trying to obey the ColumnLimit.

// veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of
// information
/* second veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of
* information */
/* third veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongComment with plenty of
* information and a misaligned second line */

Definition at line 4076 of file Format.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 1780 of file TypeBase.h.

◆ RemoveParenthesesStyle

Types of redundant parentheses to remove.

Enumerator
RPS_Leave 

Do not remove parentheses.

class __declspec((dllimport)) X {};
co_return (((0)));
return ((a + b) - ((c + d)));
#define X(type, name)
Definition Value.h:97
RPS_MultipleParentheses 

Replace multiple parentheses with single parentheses.

class __declspec(dllimport) X {};
co_return (0);
return ((a + b) - (c + d));
RPS_ReturnStatement 

Also remove parentheses enclosing the expression in a return/co_return statement.

class __declspec(dllimport) X {};
co_return 0;
return (a + b) - (c + d);

Definition at line 4190 of file Format.h.

◆ RequiresClausePositionStyle

The possible positions for the requires clause. The IndentRequires option is only used if the requires is put on the start of a line.

Enumerator
RCPS_OwnLine 

Always put the requires clause on its own line (possibly followed by a semicolon).

template <typename T>
requires C<T>
struct Foo {...
template <typename T>
void bar(T t)
requires C<T>;
template <typename T>
requires C<T>
void bar(T t) {...
template <typename T>
void baz(T t)
requires C<T>
{...
const FunctionProtoType * T
RCPS_OwnLineWithBrace 

As with OwnLine, except, unless otherwise prohibited, place a following open brace (of a function definition) to follow on the same line.

void bar(T t)
requires C<T> {
return;
}
void bar(T t)
requires C<T> {}
template <typename T>
requires C<T>
void baz(T t) {
...
RCPS_WithPreceding 

Try to put the clause together with the preceding part of a declaration. For class templates: stick to the template declaration. For function templates: stick to the template declaration. For function declaration followed by a requires clause: stick to the parameter list.

template <typename T> requires C<T>
struct Foo {...
template <typename T> requires C<T>
void bar(T t) {...
template <typename T>
void baz(T t) requires C<T>
{...
RCPS_WithFollowing 

Try to put the requires clause together with the class or function declaration.

template <typename T>
requires C<T> struct Foo {...
template <typename T>
requires C<T> void bar(T t) {...
template <typename T>
void baz(T t)
requires C<T> {...
RCPS_SingleLine 

Try to put everything in the same line if possible. Otherwise normal line breaking rules take over.

// Fitting:
template <typename T> requires C<T> struct Foo {...
template <typename T> requires C<T> void bar(T t) {...
template <typename T> void bar(T t) requires C<T> {...
// Not fitting, one possible example:
template <typename LongName>
requires C<LongName>
struct Foo {...
template <typename LongName>
requires C<LongName>
void bar(LongName ln) {
template <typename LongName>
void bar(LongName ln)
requires C<LongName> {

Definition at line 4245 of file Format.h.

◆ RequiresExpressionIndentationKind

Indentation logic for requires expression bodies.

Enumerator
REI_OuterScope 

Align requires expression body relative to the indentation level of the outer scope the requires expression resides in. This is the default.

template <typename T>
concept C = requires(T t) {
...
}
REI_Keyword 

Align requires expression body relative to the requires keyword.

template <typename T>
concept C = requires(T t) {
...
}

Definition at line 4347 of file Format.h.

◆ ReservedIdentifierStatus

Enumerator
NotReserved 
StartsWithUnderscoreAtGlobalScope 
StartsWithUnderscoreAndIsExternC 
StartsWithDoubleUnderscore 
StartsWithUnderscoreFollowedByCapitalLetter 
ContainsDoubleUnderscore 

Definition at line 49 of file IdentifierTable.h.

◆ ReservedLiteralSuffixIdStatus

Enumerator
NotReserved 
NotStartsWithUnderscore 
ContainsDoubleUnderscore 

Definition at line 58 of file IdentifierTable.h.

◆ SarifResultLevel

enum class clang::SarifResultLevel
strong

The level of severity associated with a SarifResult.

Of all the levels, None is the only one that is not associated with a failure.

A typical mapping for clang's DiagnosticKind to SarifResultLevel would look like:

Reference:

  1. level property
Enumerator
None 
Note 
Warning 
Error 

Definition at line 165 of file Sarif.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 27 of file SelectorLocationsKind.h.

◆ SeparateDefinitionStyle

The style if definition blocks should be separated.

Enumerator
SDS_Leave 

Leave definition blocks as they are.

SDS_Always 

Insert an empty line between definition blocks.

SDS_Never 

Remove any empty line between definition blocks.

Definition at line 4373 of file Format.h.

◆ ShaderStage

enum class clang::ShaderStage
strong

Shader programs run in specific pipeline stages.

The order of these values matters, and must be kept in sync with the Triple Environment enum in llvm::Triple. The ordering is enforced in static_asserts in Triple.cpp and in clang/Basic/HLSLRuntime.h.

Enumerator
Pixel 
Vertex 
Geometry 
Hull 
Domain 
Compute 
Library 
RayGeneration 
Intersection 
AnyHit 
ClosestHit 
Miss 
Callable 
Mesh 
Amplification 
Invalid 

Definition at line 43 of file LangOptions.h.

◆ ShowIncludesDestination

enum class clang::ShowIncludesDestination
strong

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 148 of file CodeCompleteConsumer.h.

◆ SizedDeallocationMode

Enumerator
No 
Yes 

Definition at line 2275 of file ExprCXX.h.

◆ SkipFunctionBodiesScope

enum class clang::SkipFunctionBodiesScope
strong

Enumerates the available scopes for skipping function bodies.

Enumerator
None 
Preamble 
PreambleAndMainFile 

Definition at line 84 of file ASTUnit.h.

◆ SortJavaStaticImportOptions

Position for Java Static imports.

Enumerator
SJSIO_Before 

Static imports are placed before non-static imports.

import static org.example.function1;
import org.example.ClassA;
SJSIO_After 

Static imports are placed after non-static imports.

import org.example.ClassA;
import static org.example.function1;

Definition at line 4496 of file Format.h.

◆ SortUsingDeclarationsOptions

Using declaration sorting options.

Enumerator
SUD_Never 

Using declarations are never sorted.

using std::chrono::duration_cast;
using std::move;
using boost::regex;
using boost::regex_constants::icase;
using std::string;
SUD_Lexicographic 

Using declarations are sorted in the order defined as follows: Split the strings by :: and discard any initial empty strings. Sort the lists of names lexicographically, and within those groups, names are in case-insensitive lexicographic order.

using boost::regex;
using boost::regex_constants::icase;
using std::chrono::duration_cast;
using std::move;
using std::string;
SUD_LexicographicNumeric 

Using declarations are sorted in the order defined as follows: Split the strings by :: and discard any initial empty strings. The last element of each list is a non-namespace name; all others are namespace names. Sort the lists of names lexicographically, where the sort order of individual names is that all non-namespace names come before all namespace names, and within those groups, names are in case-insensitive lexicographic order.

using boost::regex;
using boost::regex_constants::icase;
using std::move;
using std::string;
using std::chrono::duration_cast;

Definition at line 4520 of file Format.h.

◆ SourceLocIdentKind

enum class clang::SourceLocIdentKind
strong
Enumerator
Function 
FuncSig 
File 
FileName 
Line 
Column 
SourceLocStruct 

Definition at line 4938 of file Expr.h.

◆ SpaceAroundPointerQualifiersStyle

Different ways to put a space before opening parentheses.

Enumerator
SAPQ_Default 

Don't ensure spaces around pointer qualifiers and use PointerAlignment instead.

void* const* x = NULL; vs. void *const *x = NULL;
#define NULL
PointerAlignmentStyle PointerAlignment
Pointer and reference alignment style.
Definition Format.h:3900
SAPQ_Before 

Ensure that there is a space before pointer qualifiers.

void* const* x = NULL; vs. void * const *x = NULL;
SAPQ_After 

Ensure that there is a space after pointer qualifiers.

void* const * x = NULL; vs. void *const *x = NULL;
SAPQ_Both 

Ensure that there is a space both before and after pointer qualifiers.

void* const * x = NULL; vs. void * const *x = NULL;

Definition at line 4596 of file Format.h.

◆ SpaceBeforeParensStyle

Different ways to put a space before opening parentheses.

Enumerator
SBPO_Never 

This is deprecated and replaced by Custom below, with all SpaceBeforeParensOptions but AfterPlacementOperator set to false.

SBPO_ControlStatements 

Put a space before opening parentheses only after control statement keywords (for/if/while...).

void f() {
if (true) {
f();
}
}
SBPO_ControlStatementsExceptControlMacros 

Same as SBPO_ControlStatements except this option doesn't apply to ForEach and If macros. This is useful in projects where ForEach/If macros are treated as function calls instead of control statements. SBPO_ControlStatementsExceptForEachMacros remains an alias for backward compatibility.

void f() {
Q_FOREACH(...) {
f();
}
}
SBPO_NonEmptyParentheses 

Put a space before opening parentheses only if the parentheses are not empty.

void() {
if (true) {
f();
g (x, y, z);
}
}
SBPO_Always 

Always put a space before opening parentheses, except when it's prohibited by the syntax rules (in function-like macro definitions) or when determined by other style rules (after unary operators, opening parentheses, etc.)

void f () {
if (true) {
f ();
}
}
SBPO_Custom 

Configure each individual space before parentheses in SpaceBeforeParensOptions.

Definition at line 4688 of file Format.h.

◆ SpaceInEmptyBracesStyle

This option is deprecated. See Block of SpaceInEmptyBraces.

Version
10 Style of when to insert a space in empty braces.
Enumerator
SIEB_Always 

Always insert a space in empty braces.

void f() { }
class Unit { };
auto a = [] { };
int x{ };
SIEB_Block 

Only insert a space in empty blocks.

void f() { }
class Unit { };
auto a = [] { };
int x{};
SIEB_Never 

Never insert a space in empty braces.

void f() {}
class Unit {};
auto a = [] {};
int x{};

Definition at line 4906 of file Format.h.

◆ SpacesInAnglesStyle

Styles for adding spacing after < and before > in template argument lists.

Enumerator
SIAS_Never 

Remove spaces after < and before >.

static_cast<int>(arg);
std::function<void(int)> fct;
int const char * function
Definition c++config.h:31
SIAS_Always 

Add spaces after < and before >.

static_cast< int >(arg);
std::function< void(int) > fct;
SIAS_Leave 

Keep a single space after < and before > if any spaces were present. Option Standard: Cpp03 takes precedence.

Definition at line 4969 of file Format.h.

◆ SpacesInParensStyle

Different ways to put a space before opening and closing parentheses.

Enumerator
SIPO_Never 

Never put a space in parentheses.

void f() {
if(true) {
f();
}
}
SIPO_Custom 

Configure each individual space in parentheses in SpacesInParensOptions.

Definition at line 5057 of file Format.h.

◆ StorageClass

Storage classes.

Enumerator
SC_None 
SC_Extern 
SC_Static 
SC_PrivateExtern 
SC_Auto 
SC_Register 

Definition at line 248 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 339 of file Specifiers.h.

◆ StringLiteralEvalMethod

enum class clang::StringLiteralEvalMethod
strong
Enumerator
Evaluated 
Unevaluated 

Definition at line 223 of file LiteralSupport.h.

◆ StringLiteralKind

enum class clang::StringLiteralKind
strong
Enumerator
Ordinary 
Wide 
UTF8 
UTF16 
UTF32 
Unevaluated 
Binary 

Definition at line 1763 of file Expr.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 36 of file ASTStructuralEquivalence.h.

◆ SyncScope

enum class clang::SyncScope
strong

Defines sync scope values used internally by clang.

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

In atomic builtin and expressions, language-specific sync 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 sync scope enums. The language-specific sync 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
SystemScope 
DeviceScope 
WorkgroupScope 
WavefrontScope 
SingleScope 
HIPSingleThread 
HIPWavefront 
HIPWorkgroup 
HIPAgent 
HIPSystem 
OpenCLWorkGroup 
OpenCLDevice 
OpenCLAllSVMDevices 
OpenCLSubGroup 
Last 

Definition at line 42 of file SyncScope.h.

◆ TagTypeKind

enum class clang::TagTypeKind
strong

The kind of a tag type.

Enumerator
Struct 

The "struct" keyword.

Interface 

The "__interface" keyword.

Union 

The "union" keyword.

Class 

The "class" keyword.

Enum 

The "enum" keyword.

Definition at line 5888 of file TypeBase.h.

◆ TagUseKind

enum class clang::TagUseKind
strong
Enumerator
Reference 
Declaration 
Definition 
Friend 

Definition at line 448 of file Sema.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 70 of file SemaTemplateDeduction.cpp.

◆ TemplateDeductionResult

enum class clang::TemplateDeductionResult
strong

Describes the result of template argument deduction.

The TemplateDeductionResult enumeration describes the result of template argument deduction, as returned from DeduceTemplateArguments(). The separate TemplateDeductionInfo structure provides additional information about the results of template argument deduction, e.g., the deduced template argument list (if successful) or the specific template parameters or deduced arguments that were involved in the failure.

Enumerator
Success 

Template argument deduction was successful.

Invalid 

The declaration was invalid; do nothing.

InstantiationDepth 

Template argument deduction exceeded the maximum template instantiation depth (which has already been diagnosed).

Incomplete 

Template argument deduction did not deduce a value for every template parameter.

IncompletePack 

Template argument deduction did not deduce a value for every expansion of an expanded template parameter pack.

Inconsistent 

Template argument deduction produced inconsistent deduced values for the given template parameter.

Underqualified 

Template argument deduction failed due to inconsistent cv-qualifiers on a template parameter type that would otherwise be deduced, e.g., we tried to deduce T in "const T" but were given a non-const "X".

SubstitutionFailure 

Substitution of the deduced template argument values resulted in an error.

DeducedMismatch 

After substituting deduced template arguments, a dependent parameter type did not match the corresponding argument.

DeducedMismatchNested 

After substituting deduced template arguments, an element of a dependent parameter type did not match the corresponding element of the corresponding argument (when deducing from an initializer list).

NonDeducedMismatch 

A non-depnedent component of the parameter did not match the corresponding component of the argument.

TooManyArguments 

When performing template argument deduction for a function template, there were too many call arguments.

TooFewArguments 

When performing template argument deduction for a function template, there were too few call arguments.

InvalidExplicitArguments 

The explicitly-specified template arguments were not valid template arguments for the given template.

NonDependentConversionFailure 

Checking non-dependent argument conversions failed.

ConstraintsNotSatisfied 

The deduced arguments did not satisfy the constraints associated with the template.

MiscellaneousDeductionFailure 

Deduction failed; that's all we know.

CUDATargetMismatch 

CUDA Target attributes do not match.

AlreadyDiagnosed 

Some error which was already diagnosed.

Definition at line 366 of file Sema.h.

◆ 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, or (in C++20) refers to a set of non-template functions but is followed by a '<'.

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;
};
const internal::VariadicAllOfMatcher< Type > type
Matches Types in the clang AST.

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.

TNK_Undeclared_template 

Lookup for the name failed, but we're assuming it was a template name anyway.

In C++20, this is mandatory in order to parse ADL-only function template specialization calls.

TNK_Concept_template 

The name refers to a concept.

Definition at line 20 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 188 of file Specifiers.h.

◆ TemplateSubstitutionKind

enum class clang::TemplateSubstitutionKind : char
strong

The kind of template substitution being performed.

Enumerator
Specialization 

We are substituting template parameters for template arguments in order to form a template specialization.

Rewrite 

We are substituting template parameters for (typically) other template parameters in order to rewrite a declaration as a different declaration (for example, when forming a deduction guide from a constructor).

Definition at line 47 of file Template.h.

◆ TentativeCXXTypeIdContext

Specifies the context in which type-id/expression disambiguation will occur.

Enumerator
InParens 
Unambiguous 
AsTemplateArgument 
InTrailingReturnType 
AsGenericSelectionArgument 

Definition at line 147 of file Parser.h.

◆ TestLanguage

Enumerator
Lang_OpenCL 
Lang_OBJC 
Lang_OBJCXX 

Definition at line 23 of file CommandLineArgs.h.

◆ ThreadFlowImportance

enum class clang::ThreadFlowImportance
strong
Enumerator
Important 
Essential 
Unimportant 

Definition at line 146 of file Sarif.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 235 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 298 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_ClangModule 

The translation unit is a clang module.

TU_Incremental 

The translation unit is a is a complete translation unit that we might incrementally extend later.

Definition at line 1097 of file LangOptions.h.

◆ TraversalKind

Defines how we descend a level in the AST when we pass through expressions.

Enumerator
TK_AsIs 

Will traverse all child nodes.

TK_IgnoreUnlessSpelledInSource 

Ignore AST nodes not written in the source.

Definition at line 38 of file ASTTypeTraits.h.

◆ TrivialABIHandling

enum class clang::TrivialABIHandling
strong
Enumerator
IgnoreTrivialABI 

The triviality of a method unaffected by "trivial_abi".

ConsiderTrivialABI 

The triviality of a method affected by "trivial_abi".

Definition at line 643 of file Sema.h.

◆ TryCaptureKind

enum class clang::TryCaptureKind
strong
Enumerator
Implicit 
ExplicitByVal 
ExplicitByRef 

Definition at line 651 of file Sema.h.

◆ TUFragmentKind

enum class clang::TUFragmentKind
strong
Enumerator
Global 

The global module fragment, between 'module;' and a module-declaration.

Normal 

A normal translation unit fragment.

For a non-module unit, this is the entire translation unit. Otherwise, it runs from the module-declaration to the private-module-fragment (if any) or the end of the TU (if not).

Private 

The private module fragment, between 'module :private;' and the end of the translation unit.

Definition at line 484 of file Sema.h.

◆ TypeAwareAllocationMode

Enumerator
No 
Yes 

Definition at line 2253 of file ExprCXX.h.

◆ TypeOfKind

enum class clang::TypeOfKind : uint8_t
strong

The kind of 'typeof' expression we're after.

Enumerator
Qualified 
Unqualified 

Definition at line 918 of file TypeBase.h.

◆ TypeSpecifierSign

enum class clang::TypeSpecifierSign
strong

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

Enumerator
Unspecified 
Signed 
Unsigned 

Definition at line 50 of file Specifiers.h.

◆ TypeSpecifiersPipe

enum class clang::TypeSpecifiersPipe
strong
Enumerator
Unspecified 
Pipe 

Definition at line 52 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_bitint 
TST_half 
TST_Float16 
TST_Accum 
TST_Fract 
TST_BFloat16 
TST_float 
TST_double 
TST_float128 
TST_ibm128 
TST_bool 
TST_decimal32 
TST_decimal64 
TST_decimal128 
TST_enum 
TST_union 
TST_struct 
TST_class 
TST_interface 
TST_typename 
TST_typeofType 
TST_typeofExpr 
TST_typeof_unqualType 
TST_typeof_unqualExpr 
TST_decltype 
TST_auto 
TST_decltype_auto 
TST_auto_type 
TST_unknown_anytype 
TST_atomic 
TST_typename_pack_indexing 
TST_error 

Definition at line 55 of file Specifiers.h.

◆ TypeSpecifierWidth

enum class clang::TypeSpecifierWidth
strong

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

Enumerator
Unspecified 
Short 
Long 
LongLong 

Definition at line 47 of file Specifiers.h.

◆ TypeTrait

Names for traits that operate specifically on types.

Enumerator
UTT_Last 
BTT_Last 
TT_Last 

Definition at line 21 of file TypeTraits.h.

◆ TypoCorrectionTypeBehavior

If a typo should be encountered, should typo correction suggest type names, non type names, or both?

Enumerator
AllowNonTypes 
AllowTypes 
AllowBoth 

Definition at line 106 of file Parser.h.

◆ UnaryExprOrTypeTrait

Names for the "expression or type" traits.

Enumerator
UETT_Last 

Definition at line 51 of file TypeTraits.h.

◆ UnaryOperatorKind

Definition at line 30 of file OperationKinds.h.

◆ UnqualifiedIdKind

enum class clang::UnqualifiedIdKind
strong

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 974 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 118 of file AnalyzerOptions.h.

◆ UseTabStyle

enum clang::UseTabStyle : int8_t

This option is deprecated. See LF and CRLF of LineEnding.

Version
10 Different ways to use tab in formatting.
Enumerator
UT_Never 

Never use tab.

UT_ForIndentation 

Use tabs only for indentation.

UT_ForContinuationAndIndentation 

Fill all leading whitespace with tabs, and use spaces for alignment that appears within a line (e.g. consecutive assignments and declarations).

UT_AlignWithSpaces 

Use tabs for line continuation and indentation, and spaces for alignment.

UT_Always 

Use tabs whenever we need to fill whitespace that spans at least from one tab stop to the next one.

Definition at line 5350 of file Format.h.

◆ VarArgKind

enum class clang::VarArgKind
strong
Enumerator
Valid 
ValidInCXX11 
Undefined 
MSVCUndefined 
Invalid 

Definition at line 674 of file Sema.h.

◆ VariadicCallType

enum class clang::VariadicCallType
strong
Enumerator
Function 
Block 
Method 
Constructor 
DoesNotApply 

Definition at line 511 of file Sema.h.

◆ VectorKind

enum class clang::VectorKind
strong
Enumerator
Generic 

not a target-specific vector type

AltiVecVector 

is AltiVec vector

AltiVecPixel 

is AltiVec 'vector Pixel'

AltiVecBool 

is AltiVec 'vector bool ...'

Neon 

is ARM Neon vector

NeonPoly 

is ARM Neon polynomial vector

SveFixedLengthData 

is AArch64 SVE fixed-length data vector

SveFixedLengthPredicate 

is AArch64 SVE fixed-length predicate vector

RVVFixedLengthData 

is RISC-V RVV fixed-length data vector

RVVFixedLengthMask 

is RISC-V RVV fixed-length mask vector

RVVFixedLengthMask_1 
RVVFixedLengthMask_2 
RVVFixedLengthMask_4 

Definition at line 4132 of file TypeBase.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.

◆ WrapNamespaceBodyWithEmptyLinesStyle

Different styles for wrapping namespace body with empty lines.

Enumerator
WNBWELS_Never 

Remove all empty lines at the beginning and the end of namespace body.

namespace N1 {
namespace N2 {
function();
}
}
WNBWELS_Always 

Always have at least one empty line at the beginning and the end of namespace body except that the number of empty lines between consecutive nested namespace definitions is not increased.

namespace N1 {
namespace N2 {
function();
}
}
WNBWELS_Leave 

Keep existing newlines at the beginning and the end of namespace body. MaxEmptyLinesToKeep still applies.

Definition at line 5411 of file Format.h.

Function Documentation

◆ addHash() [1/2]

template<typename HasherT, llvm::endianness Endianness>
void clang::addHash ( llvm::HashBuilder< HasherT, Endianness > & HBuilder,
const HeaderSearchOptions::Entry & E )
inline

◆ addHash() [2/2]

template<typename HasherT, llvm::endianness Endianness>
void clang::addHash ( llvm::HashBuilder< HasherT, Endianness > & HBuilder,
const HeaderSearchOptions::SystemHeaderPrefix & SHP )
inline

◆ alignedAllocationModeFromBool()

◆ alignedAllocMinVersion()

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

◆ allocateDefaultArgStorageChain()

void * clang::allocateDefaultArgStorageChain ( const ASTContext & C)

◆ appendDiagnostics() [1/2]

template<typename... DiagnosticArgs>
const SemaBase::SemaDiagnosticBuilder & clang::appendDiagnostics ( const SemaBase::SemaDiagnosticBuilder & Bldr)

Definition at line 154 of file Attr.h.

Referenced by appendDiagnostics(), and handleSimpleAttributeOrDiagnose().

◆ appendDiagnostics() [2/2]

template<typename T, typename... DiagnosticArgs>
const SemaBase::SemaDiagnosticBuilder & clang::appendDiagnostics ( const SemaBase::SemaDiagnosticBuilder & Bldr,
T && ExtraArg,
DiagnosticArgs &&... ExtraArgs )

Definition at line 160 of file Attr.h.

References appendDiagnostics(), and T.

◆ ApplyHeaderSearchOptions()

◆ applyObjCTypeArgs()

◆ AsanDetectStackUseAfterReturnModeFromString()

llvm::AsanDetectStackUseAfterReturnMode clang::AsanDetectStackUseAfterReturnModeFromString ( StringRef modeStr)

Definition at line 186 of file Sanitizers.cpp.

Referenced by clang::driver::SanitizerArgs::SanitizerArgs().

◆ AsanDetectStackUseAfterReturnModeToString()

StringRef clang::AsanDetectStackUseAfterReturnModeToString ( llvm::AsanDetectStackUseAfterReturnMode mode)

Definition at line 170 of file Sanitizers.cpp.

Referenced by clang::driver::SanitizerArgs::addArgs().

◆ AsanDtorKindFromString()

llvm::AsanDtorKind clang::AsanDtorKindFromString ( StringRef kind)

Definition at line 163 of file Sanitizers.cpp.

Referenced by clang::driver::SanitizerArgs::SanitizerArgs().

◆ AsanDtorKindToString()

StringRef clang::AsanDtorKindToString ( llvm::AsanDtorKind kind)

Definition at line 151 of file Sanitizers.cpp.

Referenced by clang::driver::SanitizerArgs::addArgs().

◆ AssertSuccess() [1/2]

◆ AssertSuccess() [2/2]

Stmt * clang::AssertSuccess ( StmtResult R)
inline

◆ AttachDependencyGraphGen()

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

AttachDependencyGraphGen - Create a dependency graph generator, and attach it to the given preprocessor.

Definition at line 67 of file DependencyGraph.cpp.

References clang::Preprocessor::addPPCallbacks().

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

◆ 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 181 of file HeaderIncludeGen.cpp.

References clang::Preprocessor::addPPCallbacks(), clang::DependencyOutputOptions::ExtraDeps, clang::Preprocessor::getDiagnostics(), clang::DependencyOutputOptions::HeaderIncludeFiltering, clang::DependencyOutputOptions::HeaderIncludeFormat, HIFIL_Direct_Per_File, HIFIL_None, HIFIL_Only_Direct_System, HIFMT_JSON, HIFMT_None, HIFMT_Textual, PrintHeaderInfo(), clang::DiagnosticsEngine::Report(), clang::DependencyOutputOptions::ShowIncludesDest, Stderr, and Stdout.

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

◆ atTemplateBegin()

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

Definition at line 61 of file TemplateInstCallback.h.

References C.

Referenced by clang::TemplateDeclInstantiator::InitFunctionInstantiation().

◆ atTemplateEnd()

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

◆ BuildStyleSetFromConfiguration()

FormatStyleSet clang::BuildStyleSetFromConfiguration ( const FormatStyle & MainStyle,
const std::vector< FormatStyle > & ConfigurationStyles )
static

◆ BuiltinAliasValid()

bool clang::BuiltinAliasValid ( unsigned BuiltinID,
StringRef AliasName,
ArrayRef< IntrinToName > Map,
const char * IntrinNames )
static

Definition at line 1185 of file SemaARM.cpp.

Referenced by clang::SemaARM::CdeAliasValid(), and clang::SemaARM::MveAliasValid().

◆ canDynamicCastThrow()

◆ CanElideDeclDef()

bool clang::CanElideDeclDef ( const Decl * D)

If we can elide the definition of.

Parameters
Din reduced BMI.

Generally, we can elide the definition of a declaration if it won't affect the ABI. e.g., the non-inline function bodies.

Definition at line 429 of file ASTWriterDecl.cpp.

References shouldFunctionGenerateHereOnly(), and shouldVarGenerateHereOnly().

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

◆ canExprResolveTo()

bool clang::canExprResolveTo ( const Expr * Source,
const Expr * Target )
static

Definition at line 26 of file ExprMutationAnalyzer.cpp.

References canExprResolveTo(), clang::Expr::IgnoreParens(), Result, and Target.

Referenced by canExprResolveTo().

◆ canSubStmtsThrow()

CanThrowResult clang::canSubStmtsThrow ( Sema & Self,
const Stmt * S )
static

Definition at line 985 of file SemaExceptionSpec.cpp.

References clang::Stmt::children(), CT_Can, CT_Cannot, mergeCanThrow(), and Self.

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

◆ canTypeidThrow()

◆ canVarDeclThrow()

◆ cast()

template<class U>
U clang::cast ( CodeGen::Address addr)
inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 327 of file Address.h.

Referenced by clang::ento::BasicValueFactory::accumCXXBase(), clang::ento::SymbolManager::acquire(), clang::CodeGen::CodeGenFunction::ActivateCleanupBlock(), clang::Sema::ActOnAnnotModuleBegin(), clang::Sema::ActOnAnnotModuleEnd(), clang::Sema::ActOnArraySubscriptExpr(), clang::SemaObjC::ActOnAtEnd(), clang::Sema::ActOnBaseSpecifiers(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStmtExpr(), clang::SemaOpenACC::ActOnCacheVar(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCapturedRegionEnd(), clang::Sema::ActOnCapturedRegionError(), clang::Sema::ActOnCaseStmtBody(), clang::Sema::ActOnClassTemplateSpecialization(), clang::SemaOpenACC::ActOnClause(), clang::Sema::ActOnCoawaitExpr(), clang::Sema::ActOnCompoundStmt(), clang::Sema::ActOnConditionVariable(), clang::Sema::ActOnConversionDeclarator(), clang::Sema::ActOnCoroutineBodyStart(), clang::Sema::ActOnCXXFoldExpr(), clang::Sema::ActOnCXXForRangeIdentifier(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnCXXNestedNameSpecifierIndexedPack(), clang::Sema::ActOnCXXTryBlock(), clang::Sema::ActOnDecompositionDeclarator(), clang::SemaObjC::ActOnDefs(), clang::Sema::ActOnDelayedCXXMethodParameter(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnEnumBody(), clang::Sema::ActOnEnumConstant(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::SemaHLSL::ActOnFinishBuffer(), clang::Sema::ActOnFinishCXXMemberSpecification(), clang::Sema::ActOnFinishDelayedCXXMethodDeclaration(), clang::SemaOpenMP::ActOnFinishedFunctionDefinitionInOpenMPAssumeScope(), clang::SemaOpenMP::ActOnFinishedFunctionDefinitionInOpenMPDeclareVariantScope(), clang::Sema::ActOnFinishExportDecl(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFinishLinkageSpecification(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnInitList(), clang::SemaObjC::ActOnIvar(), clang::Sema::ActOnLambdaClosureParameters(), clang::Sema::ActOnLambdaError(), clang::Sema::ActOnLambdaExpr(), clang::Sema::ActOnLambdaExpressionAfterIntroducer(), clang::Sema::ActOnLastBitfield(), clang::Sema::ActOnMemberAccessExpr(), clang::SemaObjC::ActOnMethodDeclaration(), clang::Sema::ActOnNameClassifiedAsOverloadSet(), clang::Sema::ActOnNamespaceAliasDef(), clang::SemaObjC::ActOnObjCForCollectionStmt(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), clang::SemaOpenMP::ActOnOMPIteratorExpr(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPAllocateDirective(), clang::SemaOpenMP::ActOnOpenMPCall(), clang::SemaOpenMP::ActOnOpenMPCanonicalLoop(), clang::SemaOpenMP::ActOnOpenMPCopyinClause(), clang::SemaOpenMP::ActOnOpenMPCriticalDirective(), clang::SemaOpenMP::ActOnOpenMPDeclareMapperDirective(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionCombinerEnd(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionCombinerStart(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionDirectiveEnd(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionDirectiveStart(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionInitializerEnd(), clang::SemaOpenMP::ActOnOpenMPDeclareReductionInitializerStart(), clang::SemaOpenMP::ActOnOpenMPDeclareTargetName(), clang::SemaOpenMP::ActOnOpenMPDispatchDirective(), clang::SemaOpenMP::ActOnOpenMPExecutableDirective(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPFlushDirective(), clang::SemaOpenMP::ActOnOpenMPHasDeviceAddrClause(), clang::SemaOpenMP::ActOnOpenMPInterchangeDirective(), clang::SemaOpenMP::ActOnOpenMPInteropDirective(), clang::SemaOpenMP::ActOnOpenMPIsDevicePtrClause(), clang::SemaOpenMP::ActOnOpenMPLinearClause(), clang::SemaOpenMP::ActOnOpenMPLoopInitialization(), clang::SemaOpenMP::ActOnOpenMPLoopnest(), clang::SemaOpenMP::ActOnOpenMPOrderedDirective(), clang::SemaOpenMP::ActOnOpenMPPrivateClause(), clang::SemaOpenMP::ActOnOpenMPRegionEnd(), clang::SemaOpenMP::ActOnOpenMPReverseDirective(), clang::SemaOpenMP::ActOnOpenMPStripeDirective(), clang::SemaOpenMP::ActOnOpenMPTileDirective(), clang::SemaOpenMP::ActOnOpenMPUnrollDirective(), clang::SemaOpenMP::ActOnOpenMPUseDevicePtrClause(), clang::SemaOpenMP::ActOnOpenMPUsesAllocatorClause(), clang::Sema::ActOnParamDefaultArgument(), clang::Sema::ActOnParamDefaultArgumentError(), clang::Sema::ActOnParamUnparsedDefaultArgument(), clang::Sema::ActOnPopScope(), clang::SemaObjC::ActOnProperty(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnReturnStmt(), clang::Sema::ActOnStartCXXMemberDeclarations(), clang::Sema::ActOnStartDelayedMemberDeclarations(), clang::Sema::ActOnStartLinkageSpecification(), clang::Sema::ActOnStartNamespaceDef(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::Sema::ActOnStartOfLambdaDefinition(), clang::Sema::ActOnStartTrailingRequiresClause(), clang::Sema::ActOnSuperScopeSpecifier(), clang::Sema::ActOnTag(), clang::Sema::ActOnTagDefinitionError(), clang::Sema::ActOnTagFinishDefinition(), clang::Sema::ActOnTagStartDefinition(), clang::Sema::ActOnTagStartSkippedDefinition(), clang::Sema::ActOnTemplatedFriendTag(), clang::SemaOpenACC::ActOnVar(), clang::Sema::ActOnVariableDeclarator(), clang::Sema::AddAllocAlignAttr(), clang::Sema::AddArgumentDependentLookupCandidates(), addAssociatedClassesAndNamespaces(), clang::CodeGen::CGHLSLRuntime::addBuffer(), addCastTransition(), addConstraintSatisfaction(), clang::Sema::SynthesizedFunctionScope::addContextNote(), clang::ASTContext::addCopyConstructorForExceptionObject(), clang::hlsl::BuiltinTypeDeclBuilder::addCreateFromBinding(), clang::hlsl::BuiltinTypeDeclBuilder::addCreateFromImplicitBinding(), clang::CodeGen::CodeGenModule::AddDeferredUnusedCoverageMapping(), clang::Sema::AddFunctionCandidates(), AddIndirectPrimaryBases(), AddKeywordsToConsumer(), clang::Sema::AddKnownFunctionAttributes(), addLoopPreInits(), clang::Sema::AddMethodCandidate(), AddMethodTemplateCandidateImmediately(), clang::Sema::AddModeAttr(), clang::Sema::AddNonMemberOperatorCandidates(), AddOverloadedCallCandidate(), clang::SemaSwift::AddParameterABIAttr(), clang::CIRGen::Address::Address(), AddResultTypeChunk(), clang::RedeclarableTemplateDecl::addSpecializationImpl(), clang::ODRHash::AddStructuralValue(), AddTemplateParameterChunks(), addX86InterruptAttrs(), clang::SemaObjC::AddXConsumedAttr(), adjustCVQualifiersForCXXThisWithinLambda(), adjustDeclToTemplate(), clang::ASTContext::adjustFunctionType(), clang::Sema::adjustMemberFunctionCC(), clang::ASTContext::adjustObjCTypeParamBoundType(), adjustParent(), clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), clang::CodeGen::CGOpenMPRuntimeGPU::adjustTargetSpecificDataForLambdas(), adjustTemplateImplicitInstantiation(), clang::ASTContext::adjustType(), clang::CodeGen::CodeGenModule::AlwaysHasLTOVisibilityPublic(), AnalyzeCompoundAssignment(), annotateStartParameter(), areEqualIntegers(), clang::dataflow::areEquivalentIndirectionValues(), areExprTypesCompatible(), clang::Sema::areMultiversionVariantFunctionsCompatible(), clang::Sema::ArgumentDependentLookup(), ARMMVEConstantSplat(), clang::CIRGen::CIRGenTypes::arrangeCXXStructorDeclaration(), clang::CodeGen::CodeGenTypes::arrangeCXXStructorDeclaration(), arrangeFreeFunctionLikeCall(), arrangeFreeFunctionLikeCall(), clang::CodeGen::CodeGenTypes::arrangeFunctionDeclaration(), clang::CIRGen::CIRGenTypes::arrangeGlobalDeclaration(), clang::ASTReader::AssignedLambdaNumbering(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::ASTReader::ASTReader(), clang::ASTDeclReader::attachLatestDeclImpl(), clang::ASTDeclReader::attachPreviousDecl(), clang::ASTDeclReader::attachPreviousDeclImpl(), clang::ASTDeclReader::attachPreviousDeclImpl(), clang::ASTDeclReader::attachPreviousDeclImpl(), clang::interp::IntPointer::baseCast(), basicGVALinkageForFunction(), basicGVALinkageForVariable(), clang::ento::nonloc::PointerToMember::begin(), clang::StmtSequence::begin(), bindRequiredArrayElementToEnvironment(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildAnonymousStructUnionMemberReference(), buildBlockDescriptor(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallExpr(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), buildCapture(), buildCapturedStmtCaptureList(), clang::Sema::BuildCaptureInit(), BuildConvertedConstantExpression(), clang::Sema::buildCoroutineParameterMoves(), clang::Sema::buildCoroutinePromise(), BuildCXXCastArgument(), clang::Sema::BuildCXXConstructExpr(), clang::Sema::BuildCXXDefaultInitExpr(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildDelegatingInitializer(), buildDistanceFunc(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildExprRequirement(), clang::Sema::BuildForRangeBeginEndCall(), clang::CodeGen::CodeGenFunction::BuildFunctionArgList(), clang::CIRGen::CIRGenFunction::buildFunctionArgList(), buildGlobalBlock(), BuildImplicitBaseInitializer(), buildImplicitMapper(), BuildImplicitMemberInitializer(), clang::Sema::BuildLambdaExpr(), buildLoopVarFunc(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildMemInitializer(), clang::Sema::BuildMicrosoftCAnonymousStruct(), clang::Sema::BuildMSDependentExistsStmt(), buildOperatorCoawaitCall(), clang::Sema::BuildOverloadedArrowExpr(), BuildParentMap(), clang::Sema::BuildPredefinedExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildReturnStmt(), clang::Sema::BuildStmtExpr(), clang::CIRGen::CIRGenCXXABI::buildThisParam(), clang::CodeGen::CGCXXABI::buildThisParam(), clang::Sema::BuildTypeConstraint(), BuildTypeCoupledDecls(), buildUserDefinedMapperRef(), clang::Sema::BuildUsingDeclaration(), clang::Sema::BuildUsingShadowDecl(), clang::Sema::BuildVariableInstantiation(), clang::CodeGen::CodeGenFunction::BuildVector(), clang::Sema::BuildVectorLiteral(), clang::SemaARM::BuiltinARMSpecialReg(), BuiltinCallWithStaticChain(), clang::Sema::BuiltinConstantArg(), BuiltinCpu(), clang::Sema::BuiltinIsBaseOf(), BuiltinSEHScopeCheck(), clang::dataflow::builtinTransferInitializer(), calculateOffset(), clang::interp::CallVirt(), clang::Sema::canCalleeThrow(), canElideOverflowCheck(), canEmitInitWithFewStoresAfterBZero(), clang::ento::RetainSummaryManager::canEval(), clang::Type::canHaveNullability(), clang::Sema::canThrow(), clang::Sema::CanUseDecl(), clang::Sema::CaptureHasSideEffects(), captureVariablyModifiedType(), clang::dataflow::ASTMatchSwitchBuilder< BaseT, State, Result >::CaseOf(), clang::ento::MemRegion::castAs(), clang::Type::castAs(), clang::Type::castAsArrayTypeUnsafe(), clang::Type::castAsCanonical(), clang::Type::castAsCXXRecordDecl(), clang::Type::castAsEnumDecl(), clang::Type::castAsRecordDecl(), clang::Type::castAsTagDecl(), clang::ento::StoreManager::castRegion(), checkAcquireOrderAttrCommon(), clang::Sema::CheckAddressOfOperand(), CheckAggExprForMemSetUse(), clang::Sema::CheckAlignasUnderalignment(), checkAllocateClauses(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitSharedLastprivateConditional(), clang::Sema::checkAndRewriteMustTailAttr(), clang::SemaARM::CheckARMBuiltinExclusiveCall(), checkAtomicPropertyMismatch(), checkBlockArgs(), checkBlockPointerTypesForAssignment(), clang::SemaOpenCL::checkBuiltinEnqueueKernel(), clang::SemaRISCV::CheckBuiltinFunctionCall(), clang::Sema::checkCall(), checkCastFunctionType(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompleteVariableDeclaration(), CheckConstexprDeclStmt(), CheckConstexprFunction(), CheckConstexprFunctionStmt(), clang::Sema::CheckConstructorAccess(), clang::Sema::CheckConstructorAccess(), CheckCXX98CompatAccessibleCopy(), clang::Sema::CheckCXXThisCapture(), clang::SemaOpenACC::CheckDeclareClause(), checkDeclInTargetContext(), CheckDeducedArgumentConstraints(), CheckDeducedPlaceholderConstraints(), clang::interp::CheckDivRem(), clang::interp::CheckDowncast(), checkElementNonNil(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedFunction(), clang::Sema::CheckExplicitObjectMemberFunction(), clang::sema::checkExprLifetimeImpl(), clang::Sema::CheckExtraCXXDefaultArguments(), clang::Sema::CheckFieldDecl(), clang::interp::CheckFieldsInitialized(), CheckForDuplicateEnumValues(), CheckForDuplicateLoopAttrs(), clang::Sema::CheckForFunctionRedefinition(), checkForLastprivateConditionalUpdate(), checkFormatStringExpr(), CheckForModifiableLvalue(), clang::Sema::CheckFriendAccess(), clang::interp::EvaluationResult::checkFullyInitialized(), clang::Sema::CheckFunctionCall(), checkFunctionConditionAttr(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), checkGlobalOrExternCConflict(), CheckICE(), CheckIdentityFieldAssignment(), clang::Sema::CheckIfFunctionSpecializationIsImmediate(), clang::Sema::checkIllFormedTrivialABIStruct(), clang::Sema::CheckImplicitConversion(), clang::Sema::CheckInheritingConstructorUsingDecl(), checkIsValidOpenCLKernelParameter(), clang::SemaOpenACC::CheckLinkClauseVarList(), clang::SemaObjC::CheckLiteralKind(), clang::Sema::CheckMain(), CheckMemaccessSize(), checkMemberDecomposition(), clang::Sema::CheckMemberSpecialization(), checkModuleImportContext(), clang::ASTDeclReader::checkMultipleDefinitionInNamedModules(), checkNewAttributesAfterDef(), clang::interp::CheckNewTypeMismatch(), clang::Sema::CheckNonDependentConversions(), CheckNonNullArguments(), checkNoThrow(), checkNumExprsInClause(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::SemaObjC::checkObjCBridgeRelatedComponents(), clang::SemaObjC::CheckObjCPropertyAttributes(), clang::SemaOpenMP::CheckOMPGroupPrivateDecl(), clang::SemaOpenMP::CheckOMPThreadPrivateDecl(), checkOpenCLEnqueueVariadicArgs(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), checkOpenMPLoop(), checkOrderedOrderSpecified(), clang::Sema::CheckOverload(), clang::Sema::CheckParameterPacksForExpansion(), clang::consumed::ConsumedStateMap::checkParamsForReturnTypestate(), checkPipeArg(), checkPipePacketType(), clang::Sema::CheckPlaceholderExpr(), checkPointerTypesForAssignment(), clang::ento::retaincountchecker::RetainCountChecker::checkPostStmt(), clang::Sema::CheckQualifiedMemberReference(), clang::SemaOpenACC::CheckReductionClause(), checkReductionClauses(), clang::SemaOpenACC::CheckRoutineDecl(), checkSectionsDirective(), clang::Sema::CheckShadow(), clang::Sema::CheckShadowingDeclModification(), checkSimdlenSafelenSpecified(), checkSimpleDecomposition(), clang::Sema::CheckStaticLocalForDllExport(), CheckStringInit(), CheckStructurallyEquivalentAttributes(), clang::SemaObjC::CheckSubscriptingKind(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::Sema::CheckTemplateArgumentList(), CheckTemplateArgumentPointerToMember(), clang::Sema::CheckTemplateParameterList(), CheckTemplateSpecializationScope(), checkTupleLikeDecomposition(), clang::Sema::CheckTypeConstraint(), clang::Sema::checkTypeDeclType(), checkTypeParamListConsistency(), clang::Sema::checkTypeSupport(), checkUndefinedButUsed(), checkUnsafeAssignObject(), clang::Sema::checkUnsafeExprAssigns(), clang::Sema::CheckUseOfCXXMethodAsAddressOfOperand(), clang::Sema::CheckUsingDeclQualifier(), clang::Sema::CheckUsingShadowDecl(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::CheckVarTemplateId(), clang::MaterializeTemporaryExpr::children(), clang::MaterializeTemporaryExpr::children(), ClassifyImplicitMemberAccess(), ClassifyInternal(), clang::Sema::ClassifyName(), clang::Sema::CleanupVarDeclMarking(), clang::LocalInstantiationScope::cloneScopes(), clang::ento::CallEvent::cloneWithState(), clang::SemaCodeCompletion::CodeCompleteConstructorInitializer(), clang::SemaCodeCompletion::CodeCompleteObjCPropertyDefinition(), clang::SemaCodeCompletion::CodeCompleteObjCPropertySynthesizeIvar(), clang::CodeGen::CodeGenModule::codegenCXXStructor(), clang::interp::Context::collectBaseOffset(), CollectEnclosingNamespace(), collectViableConversionCandidates(), CollectVisibleConversions(), CollectVisibleConversions(), CollectVRQualifiers(), commonEmitCXXMemberOrOperatorCall(), comparePiece(), clang::ConversionFixItGenerator::compareTypesSimple(), clang::CodeGen::CGDebugInfo::completeClass(), clang::TagDecl::completeDefinition(), clang::Sema::CompleteMemberSpecialization(), clang::ASTReader::CompleteRedeclChain(), clang::ExternalASTMerger::CompleteType(), clang::ExternalASTMerger::CompleteType(), clang::HLSLExternalSemaSource::CompleteType(), clang::CodeGen::CGDebugInfo::completeType(), clang::ASTReader::completeVisibleDeclsMap(), computeBlockInfo(), computeCachedProperties(), ComputeDefaultedComparisonExceptionSpec(), computeDependence(), computeImplicitExceptionSpec(), clang::LinkageComputer::computeLVForDecl(), clang::ento::ExprEngine::computeObjectUnderConstruction(), clang::analyze_os_log::computeOSLogBufferLayout(), clang::interp::computePointerOffset(), clang::LinkageComputer::computeTypeLinkageInfo(), configureBlocksRuntimeObject(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::OffloadBundler::ConstructJobMultipleOutputs(), constStructWithPadding(), containsUndef(), clang::Sema::containsUnexpandedParameterPacks(), convertArgsForAvailabilityChecks(), ConvertDeclSpecToType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::CIRGen::CIRGenTypes::convertType(), clang::CodeGen::CodeGenTypes::ConvertTypeForMem(), clang::dataflow::copyField(), CopyObject(), clang::dataflow::copySyntheticField(), clang::ClassTemplateDecl::Create(), clang::FriendDecl::Create(), clang::FunctionTemplateDecl::Create(), clang::ObjCIvarDecl::Create(), clang::dataflow::Arena::create(), createBufferHandleType(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), CreateCoercedLoad(), clang::CodeGen::CGBuilderTy::CreateConstArrayGEP(), clang::syntax::createEmptyStatement(), clang::ConstructionContext::createFromLayers(), clang::CodeGen::CodeGenModule::createFunctionTypeMetadataForIcall(), CreateHLSLAttributedResourceType(), createItaniumNumberingContext(), clang::CodeGen::CodeGenFunction::CreateMemTemp(), CreateNewFunctionDecl(), CreateObjectFileHandler(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::CodeGen::CGBuilderTy::CreatePreserveStructAccessIndex(), clang::CodeGen::CodeGenModule::CreateRuntimeVariable(), clang::CodeGen::CGBuilderTy::CreateStructGEP(), CreateUnsatisfiedConstraintRecord(), clang::Sema::CXXThisScopeRAII::CXXThisScopeRAII(), clang::CodeGen::CodeGenFunction::DeactivateCleanupBlock(), clang::NamedDecl::declarationReplaces(), clang::Sema::DeclareAggregateDeductionGuideFromInitList(), clang::Sema::DeclareImplicitDeductionGuides(), GlobalDeclRefChecker::declareTargetInitializer(), clang::Sema::DeclClonePragmaWeak(), DeclHasAttr(), clang::ASTContext::DeclMustBeEmitted(), clang::Sema::DeduceReturnType(), clang::Sema::DeduceTemplateArguments(), DeduceTemplateArgumentsByTypeMatch(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::ASTContext::deduplicateMergedDefinitionsFor(), clang::syntax::deepCopyExpandingMacros(), defaultedSpecialMemberIsConstexpr(), DefineDefaultedFunction(), clang::Sema::DefineUsedVTables(), DelegatingCycleHelper(), clang::interp::InterpFrame::describe(), describeUninitializedArgumentInCall(), clang::interp::Destroy(), destroyOptimisticNormalEntry(), clang::InitializationSequence::Diagnose(), diagnoseAmbiguousConversion(), clang::Sema::DiagnoseAmbiguousLookup(), clang::SemaObjC::diagnoseARCUnbridgedCast(), clang::Sema::diagnoseArgDependentDiagnoseIfAttrs(), DiagnoseArityMismatch(), DiagnoseBadConversion(), DiagnoseBadDeduction(), diagnoseBadDirectAccess(), clang::Sema::DiagnoseDeletedDefaultedFunction(), clang::Sema::DiagnoseEmptyLookup(), DiagnoseForRangeReferenceVariableCopies(), diagnoseInstanceReference(), DiagnoseInvisibleNamespace(), DiagnoseLocalRegisterBinding(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), diagnoseMissingArgument(), clang::SemaSwift::DiagnoseName(), diagnoseNoescape(), DiagnoseNonReplaceableReason(), diagnoseNoViableConversion(), clang::Sema::diagnoseQualifiedDeclaration(), DiagnoseSelfAssignment(), clang::Sema::DiagnoseShadowingLambdaDecls(), clang::SemaHLSL::diagnoseSystemSemanticAttr(), clang::Sema::DiagnoseTemplateParameterShadow(), diagnoseUncapturableValueReferenceOrBinding(), clang::Sema::DiagnoseUnexpandedParameterPacks(), DiagnoseUninitializedUse(), diagnoseUnsatisfiedConstraintExpr(), clang::Sema::DiagnoseUnusedDecl(), clang::Sema::DiagnoseUseOfDecl(), diagnoseWellFormedUnsatisfiedConstraintExpr(), clang::BackendConsumer::DiagnosticHandlerImpl(), clang::interp::DiagTypeid(), DiagUninitUse(), clang::Sema::DiscardMisalignedMemberAddress(), clang::ASTImporterLookupTable::dump(), clang::StoredDeclsList::dump(), clang::DeclContext::dumpAsDecl(), clang::TextNodeDumper::dumpBareDeclRef(), dumpBasePath(), clang::DeclContext::dumpDeclContext(), clang::ASTDumper::dumpLookups(), clang::LocationContext::dumpStack(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::dumpTemplateDeclSpecialization(), clang::CodeGen::CodeGenFunction::EmitAArch64BuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitAArch64SVEBuiltinExpr(), clang::CodeGen::ReductionCodeGen::emitAggregateType(), clang::CodeGen::ReductionCodeGen::emitAggregateType(), emitAlignedClause(), clang::CodeGen::CodeGenFunction::emitAlignmentAssumptionCheck(), clang::CodeGen::CodeGenFunction::EmitAMDGPUBuiltinExpr(), clang::CodeGen::CodeGenModule::EmitAnnotationArgs(), clang::CodeGen::CodeGenFunction::EmitAnyExprToExn(), clang::CodeGen::CodeGenFunction::EmitARCRetainBlock(), clang::CodeGen::CodeGenFunction::EmitARMBuiltinExpr(), clang::CodeGen::CodeGenFunction::emitArrayLength(), emitArraySubscriptGEP(), clang::CodeGen::CodeGenFunction::EmitAsanPrologueOrEpilogue(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitAttributedStmt(), EmitAvailabilityWarning(), emitBody(), clang::CodeGen::CodeGenFunction::emitBoolVecConversion(), clang::CodeGen::CodeGenFunction::EmitBPFBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CIRGen::CIRGenFunction::emitCallArg(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::CIRGen::CIRGenFunction::emitCallArgs(), clang::CIRGen::CIRGenFunction::emitCallee(), clang::CodeGen::CodeGenFunction::EmitCapturedLocals(), clang::CIRGen::CIRGenFunction::emitCaseDefaultCascade(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CIRGen::CIRGenFunction::emitCastLValue(), clang::CodeGen::CodeGenFunction::EmitCfiSlowPathCheck(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), clang::CodeGen::CodeGenFunction::EmitCheckSourceLocation(), clang::CodeGen::CodeGenFunction::EmitCommonNeonBuiltinExpr(), EmitCommonNeonSISDBuiltinExpr(), emitCommonOMPTargetDirective(), clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), clang::CIRGen::CIRGenFunction::emitConstructorBody(), emitConstructorDestructorAlias(), emitConstructorDestructorAlias(), emitCopyprivateCopyFunction(), clang::CodeGen::CodeGenFunction::EmitCoroutineBody(), clang::CodeGen::CodeGenFunction::EmitCountedByBoundsChecking(), clang::CodeGen::CodeGenFunction::EmitCXXDestructorCall(), clang::CIRGen::CIRGenFunction::emitCXXDestructorCall(), clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(), clang::CIRGen::CIRGenFunction::emitCXXMemberCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXMemberPointerCallExpr(), EmitCXXNewAllocSize(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CodeGenFunction::EmitDecl(), clang::CIRGen::CIRGenFunction::emitDecl(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockDeclRefVariable(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockLiteralArgVariable(), clang::CodeGen::CGOpenMPRuntime::emitDeclareSimdFunction(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), clang::CodeGen::CodeGenModule::EmitDeferredUnusedCoverageMappings(), clang::CodeGen::CodeGenFunction::EmitDelegateCallArg(), emitDependData(), clang::CodeGen::CodeGenFunction::EmitDestructorBody(), clang::CIRGen::CIRGenFunction::emitDestructorBody(), EmitDirectCallee(), emitDispatchForLoopBounds(), emitDistributeParallelForDispatchBounds(), emitDistributeParallelForDistributeInnerBoundParams(), emitDistributeParallelForInnerBounds(), emitDynamicTlsInitializationCall(), clang::CodeGen::CodeGenFunction::EmitEndEHSpec(), clang::CodeGen::CodeGenFunction::EmitExprAsInit(), clang::CodeGen::CodeGenModule::EmitExternalDeclaration(), emitForLoopBounds(), clang::CodeGen::ConstantEmitter::emitForMemory(), clang::CodeGen::CodeGenFunction::EmitFromMemory(), EmitFunctionDeclLValue(), emitFunctionDeclLValue(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CGDebugInfo::emitFunctionStart(), EmitGEPOffsetInBytes(), clang::CodeGen::CodeGenModule::EmitGlobal(), clang::CIRGen::CIRGenModule::emitGlobal(), clang::CodeGen::CGDebugInfo::EmitGlobalAlias(), clang::CIRGen::CIRGenModule::emitGlobalDefinition(), emitGlobalDtorWithCXAAtExit(), clang::CIRGen::CIRGenModule::emitGlobalFunctionDefinition(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr(), clang::CIRGen::CIRGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::CGDebugInfo::EmitImportDecl(), clang::CodeGen::CodeGenFunction::EmitIndirectGotoStmt(), clang::CodeGen::CodeGenFunction::EmitInheritedCXXConstructorCall(), clang::CodeGen::ReductionCodeGen::emitInitialization(), emitInitWithReductionInitializer(), clang::CodeGen::CGDebugInfo::EmitInlineFunctionStart(), clang::CodeGen::CGDebugInfo::EmitLabel(), clang::CodeGen::CodeGenFunction::EmitLambdaDelegatingInvokeBody(), clang::CIRGen::CIRGenFunction::emitLambdaDelegatingInvokeBody(), clang::CodeGen::CodeGenFunction::EmitLambdaInAllocaImplFn(), clang::CodeGen::CodeGenFunction::EmitLandingPad(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalUpdate(), clang::CodeGen::CodeGenFunction::EmitLoadOfGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CIRGen::CIRGenFunction::emitLoadOfScalar(), clang::CIRGen::CIRGenFunction::emitLValue(), EmitLValueForAnyFieldInitialization(), emitLValueForAnyFieldInitialization(), clang::CodeGen::CodeGenFunction::EmitLValueForLambdaField(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), clang::CIRGen::CIRGenFunction::emitMaterializeTemporaryExpr(), clang::CodeGen::CodeGenFunction::EmitMSVCBuiltinExpr(), clang::CodeGen::CGDebugInfo::EmitNamespaceAlias(), clang::CodeGen::CodeGenFunction::EmitNeonRShiftImm(), clang::CodeGen::CodeGenFunction::EmitNeonShiftVector(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), clang::CodeGen::CodeGenModule::EmitNullConstant(), clang::CodeGen::CodeGenFunction::EmitObjCAutoreleasePoolStmt(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::CodeGen::CodeGenFunction::EmitObjCForCollectionStmt(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), emitOffloadingArraysAndArgs(), clang::CodeGen::CodeGenModule::EmitOMPAllocateDecl(), emitOMPAtomicCaptureExpr(), emitOMPAtomicCompareExpr(), emitOMPAtomicUpdateExpr(), clang::CodeGen::CodeGenFunction::EmitOMPCopyinClause(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::CodeGenFunction::EmitOMPFirstprivateClause(), clang::CodeGen::CodeGenFunction::EmitOMPGenericLoopDirective(), EmitOMPHelperVar(), clang::CodeGen::CodeGenFunction::EmitOMPInnerLoop(), clang::CodeGen::CodeGenFunction::EmitOMPLastprivateClauseFinal(), clang::CodeGen::CodeGenFunction::EmitOMPLastprivateClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPLinearClause(), clang::CodeGen::CodeGenFunction::EmitOMPLinearClauseFinal(), clang::CodeGen::CodeGenFunction::EmitOMPLinearClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPPrivateClause(), clang::CodeGen::CodeGenFunction::EmitOMPPrivateLoopCounters(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPScanDirective(), emitOMPSimdDirective(), clang::CodeGen::CodeGenFunction::EmitOMPSimdFinal(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPTargetDataDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTargetTaskBasedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskBasedDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskgroupDirective(), clang::CodeGen::CodeGenFunction::EmitOMPTaskLoopBasedDirective(), clang::CodeGen::CodeGenModule::EmitOMPThreadPrivateDecl(), clang::CodeGen::CodeGenFunction::EmitOMPUseDeviceAddrClause(), clang::CodeGen::CodeGenFunction::EmitOMPUseDevicePtrClause(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), emitOptimizedARCReturnCall(), clang::CodeGen::CGOpenMPRuntimeGPU::emitParallelOutlinedFunction(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitPointerArithmetic(), emitPointerArithmetic(), emitPointerArithmetic(), clang::CodeGen::CodeGenFunction::EmitPPCBuiltinExpr(), emitPreCond(), clang::CodeGen::CGOpenMPRuntime::emitPrivateReduction(), emitPrivatesInit(), emitReduceCombFunction(), clang::CodeGen::CGOpenMPRuntime::emitReduction(), clang::CodeGen::CGOpenMPRuntimeGPU::emitReduction(), clang::CodeGen::CGOpenMPRuntime::emitReductionFunction(), clang::CodeGen::CGHLSLRuntime::emitResourceArraySubscriptExpr(), clang::CIRGen::CIRGenFunction::emitReturnStmt(), clang::CodeGen::CodeGenFunction::EmitRISCVBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitRISCVCpuInit(), clang::CodeGen::CodeGenFunction::EmitRISCVCpuIs(), clang::CodeGen::CodeGenFunction::EmitRISCVCpuIs(), clang::CodeGen::CodeGenFunction::EmitRISCVCpuSupports(), emitRVVCreateBuiltin(), emitRVVGetBuiltin(), emitRVVPseudoUnaryBuiltin(), emitRVVPseudoVNotBuiltin(), emitRVVPseudoVWCVTBuiltin(), emitRVVSetBuiltin(), EmitScalarFMAExpr(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CodeGenFunction::EmitScalarRangeCheck(), emitScanBasedDirective(), emitScanBasedDirectiveDecls(), emitScanBasedDirectiveFinals(), emitSimdlenSafelenClause(), clang::CodeGen::CodeGenFunction::EmitSimpleOMPExecutableDirective(), clang::CodeGen::CodeGenFunction::EmitSimpleStmt(), clang::CIRGen::CIRGenFunction::emitSimpleStmt(), clang::CodeGen::CGOpenMPRuntime::emitSingleReductionCombiner(), EmitSpecialRegisterBuiltin(), clang::CodeGen::CodeGenFunction::EmitStaticVarDecl(), clang::CodeGen::CodeGenFunction::EmitStmt(), clang::CIRGen::CIRGenFunction::emitStmt(), emitStmtWithResult(), clang::CIRGen::CIRGenFunction::emitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitSVEGatherLoad(), clang::CodeGen::CodeGenFunction::EmitSVEGatherPrefetch(), clang::CodeGen::CodeGenFunction::EmitSVEMaskedLoad(), clang::CodeGen::CodeGenFunction::EmitSVEMaskedStore(), clang::CodeGen::CodeGenFunction::EmitSVEPredicateCast(), clang::CodeGen::CodeGenFunction::EmitSVEPredicateTupleCast(), clang::CodeGen::CodeGenFunction::EmitSVEScatterStore(), clang::CodeGen::CodeGenFunction::EmitSVETupleSetOrGet(), clang::CIRGen::CIRGenFunction::emitSwitchBody(), clang::CIRGen::CIRGenFunction::emitSwitchCase(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtor(), clang::CodeGen::CodeGenFunction::EmitSystemZBuiltinExpr(), clang::CodeGen::CGOpenMPRuntime::emitTargetDataCalls(), clang::CodeGen::CGOpenMPRuntime::emitTargetFunctions(), clang::CodeGen::CGOpenMPRuntime::emitTargetGlobalVariable(), clang::CodeGen::CGOpenMPRuntime::emitTargetNumIterationsCall(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), emitTaskPrivateMappingFunction(), clang::CodeGen::CodeGenVTables::EmitThunks(), clang::CIRGen::CIRGenVTables::emitThunks(), clang::CodeGen::CodeGenModule::EmitTopLevelDecl(), clang::CIRGen::CIRGenModule::emitTopLevelDecl(), clang::CodeGen::CGObjCRuntime::EmitTryCatchStmt(), emitUsed(), clang::CodeGen::CGOpenMPRuntime::emitUserDefinedMapper(), clang::CodeGen::CGOpenMPRuntime::emitUserDefinedReduction(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit(), clang::CodeGen::CGDebugInfo::EmitUsingDirective(), clang::CodeGen::CGDebugInfo::EmitUsingShadowDecl(), clang::CodeGen::CodeGenFunction::EmitVariablyModifiedType(), clang::CIRGen::CIRGenFunction::emitVariablyModifiedType(), clang::CodeGen::CGDebugInfo::emitVTableSymbol(), clang::CodeGen::CodeGenVTables::EmitVTTDefinition(), clang::CodeGen::CodeGenFunction::EmitWebAssemblyBuiltinExpr(), emitWritebackArg(), clang::CodeGen::CodeGenFunction::EmitX86BuiltinExpr(), EmitX86CompressExpand(), EmitX86CompressStore(), EmitX86ConvertIntToFp(), EmitX86CvtF16ToFloatExpr(), EmitX86ExpandLoad(), EmitX86FMAExpr(), EmitX86FunnelShift(), EmitX86MaskedCompare(), EmitX86MaskedLoad(), EmitX86MaskedStore(), EmitX86Select(), EmitX86SExtMask(), EmitX86vpcom(), encodeTypeForFunctionPointerAuth(), clang::ento::nonloc::PointerToMember::end(), clang::StmtSequence::end(), clang::SemaOpenMP::EndOpenMPDSABlock(), clang::VarDecl::ensureEvaluatedStmt(), clang::Sema::EnterTemplatedContext(), enumerateData(), clang::ADLResult::erase(), eraseUnusedBitCasts(), clang::ento::retaincountchecker::RetainCountChecker::evalCall(), StdVariantChecker::evalCall(), clang::ento::StoreManager::evalDerivedToBase(), EvaluateAndDiagnoseImmediateInvocation(), EvaluateBinaryTypeTrait(), EvaluateBuiltinClassifyType(), EvaluateStmt(), EvaluateSwitch(), EvaluateUnaryTypeTrait(), exceptionSpecNotKnownYet(), clang::driver::Driver::ExecuteCompilation(), clang::CodeGen::CodeGenFunction::FinallyInfo::exit(), clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), clang::CodeGen::CodeGenFunction::ExitSEHTryStmt(), ExpandAnonymousFieldDesignator(), clang::GCCAsmStmt::ExtractStringFromGCCAsmStmtComponent(), extractStringLiteralCharacter(), clang::comments::DeclInfo::fill(), filterLookupForUDReductionAndMapper(), clang::CodeGen::CGDebugInfo::finalize(), clang::Sema::FinalizeDeclaration(), clang::SemaOpenMP::finalizeOpenMPDelayedAnalysis(), clang::OverloadExpr::find(), findAcceptableDecl(), findAcceptableDecl(), clang::Sema::FindAllocationFunctions(), clang::api_notes::APINotesManager::findAPINotes(), findBackingIvar(), clang::CXXRecordDecl::FindBaseClass(), FindCaseStatementsForValue(), FindConversionForRefInit(), clang::FieldDecl::findCountedByField(), clang::Sema::FindDeallocationFunction(), FindDeclaringClass(), findDefiningRedecl(), findEnclosingDeclToAnnotate(), findEnumForBlockReturn(), clang::ASTReader::FindExternalVisibleDeclsByName(), clang::ExternalASTMerger::FindExternalVisibleDeclsByName(), FindFieldDeclInstantiationPattern(), clang::syntax::Tree::findFirstLeaf(), clang::OpaqueValueExpr::findInCopyConstruct(), clang::Sema::findInheritingConstructor(), clang::Sema::FindInstantiatedDecl(), findInstantiationOf(), clang::syntax::Tree::findLastLeaf(), clang::ItaniumVTableContext::findOriginalMethod(), clang::ObjCMethodDecl::findPropertyDecl(), clang::ObjCContainerDecl::FindPropertyDeclaration(), clang::ObjCInterfaceDecl::FindPropertyVisibleInPrimaryClass(), findRetainCycleOwner(), FindTypeTagExpr(), clang::CXXRecordDecl::FindVirtualBaseClass(), clang::Sema::FinishCXXForRangeStmt(), clang::ASTReader::FinishedDeserializing(), clang::CodeGen::CodeGenFunction::FinishFunction(), finishLinearClauses(), clang::SemaObjC::FinishObjCForCollectionStmt(), FinishOpenMPLinearClause(), clang::Sema::FixOverloadedFunctionReference(), fixUPCAddressofArraySubscriptWithSpan(), FormatASTNodeDiagnosticArgument(), FormatFunctionParameter(), clang::Sema::forRedeclarationInCurContext(), ForwardPrebranchedFallthrough(), FTIHasSingleVoidParameter(), clang::Sema::FunctionNonObjectParamTypesAreEqual(), FunctionToString(), gatherFunctions(), clang::CodeGen::CodeGenFunction::GenerateBlockFunction(), clang::CodeGen::CodeGenFunction::GenerateCode(), clang::CIRGen::CIRGenFunction::generateCode(), clang::CodeGen::CodeGenVTables::GenerateConstructionVTable(), clang::CIRGen::CIRGenVTables::generateConstructionVTable(), clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction(), clang::ento::BugReporter::generateDiagnosticForConsumerMap(), generateDiagnosticsForCallLike(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicGetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicSetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::GenerateObjCCtorDtorMethod(), clang::CodeGen::CodeGenFunction::GenerateObjCMethod(), generateUniqueName(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), clang::APValue::LValueBase::get(), clang::DefaultArgStorage< TemplateTypeParmDecl, TemplateArgumentLoc * >::get(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::get(), clang::ParameterABIAttr::getABI(), clang::CodeGen::CodeGenFunction::getAccessedFieldNo(), clang::ento::ObjCMethodCall::getAccessedProperty(), clang::CIRGen::CIRGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::CodeGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::CGOpenMPRuntimeGPU::getAddressOfLocalVariable(), clang::CIRGen::CIRGenFunction::getAddrOfBitFieldStorage(), clang::CodeGen::CodeGenModule::GetAddrOfConstantCFString(), clang::CodeGen::CodeGenModule::getAddrOfCXXStructor(), clang::CodeGen::CodeGenModule::GetAddrOfFunction(), clang::CIRGen::CIRGenModule::getAddrOfFunction(), clang::CodeGen::CodeGenModule::GetAddrOfGlobal(), clang::CIRGen::CIRGenModule::getAddrOfGlobal(), clang::CodeGen::CodeGenModule::GetAddrOfGlobalTemporary(), clang::CodeGen::CodeGenVTables::GetAddrOfVTT(), clang::CIRGen::CIRGenVTables::getAddrOfVTT(), GetAlignedMapping(), clang::ASTNameGenerator::Implementation::getAllManglings(), getAllNamedNamespaces(), clang::IndirectFieldDecl::getAnonField(), clang::CXXCtorInitializer::getAnyMember(), clang::ParsedAttr::getArgAsExpr(), clang::ParsedAttr::getArgAsIdent(), clang::CXXDeleteExpr::getArgument(), clang::CXXDeleteExpr::getArgument(), clang::Type::getArrayElementTypeNoTypeQual(), clang::VariableConstructionContext::getArrayInitLoop(), clang::ASTContext::getArrayParameterType(), clang::ArrayInitLoopExpr::getArraySize(), clang::Type::getAs(), clang::ASTContext::getAsArrayType(), clang::Type::getAsArrayTypeUnsafe(), clang::Type::getAsCXXRecordDecl(), clang::TemplateArgumentLocInfo::getAsExpr(), getAsNamedDecl(), clang::Type::getAsRecordDecl(), clang::GenericSelectionExpr::getAssociation(), clang::GenericSelectionExpr::getAssociation(), clang::Type::getAsStructureType(), clang::Sema::getAsTemplateNameDecl(), clang::TemplateArgumentLocInfo::getAsTypeSourceInfo(), clang::Type::getAsUnionType(), clang::NormalizedConstraint::getAtomicConstraint(), clang::ArraySectionExpr::getBase(), clang::ArraySectionExpr::getBase(), clang::CXXDependentScopeMemberExpr::getBase(), clang::CXXPseudoDestructorExpr::getBase(), clang::DesignatedInitUpdateExpr::getBase(), clang::ExtVectorElementExpr::getBase(), clang::ExtVectorElementExpr::getBase(), clang::MatrixSubscriptExpr::getBase(), clang::MatrixSubscriptExpr::getBase(), clang::MemberExpr::getBase(), clang::MSPropertySubscriptExpr::getBase(), clang::MSPropertySubscriptExpr::getBase(), clang::ObjCIsaExpr::getBase(), clang::ObjCIvarRefExpr::getBase(), clang::ObjCIvarRefExpr::getBase(), clang::ObjCPropertyRefExpr::getBase(), clang::ObjCPropertyRefExpr::getBase(), clang::UnresolvedMemberExpr::getBase(), clang::UnresolvedMemberExpr::getBase(), getBaseAlignmentAndOffsetFromLValue(), getBaseAlignmentAndOffsetFromPtr(), clang::CXXCtorInitializer::getBaseClass(), clang::sema::AccessedEntity::getBaseClass(), clang::CXXCtorInitializer::getBaseClassLoc(), getBaseDecl(), getBaseDecl(), clang::ObjCSubscriptRefExpr::getBaseExpr(), clang::dataflow::getBaseObjectLocation(), clang::ento::MemRegion::getBaseRegion(), getBestNamespaceSubstr(), clang::BindingDecl::getBindingPackDecls(), clang::FieldDecl::getBitWidthValue(), clang::SEHExceptStmt::getBlock(), clang::SEHFinallyStmt::getBlock(), getBlockExpr(), clang::CodeGen::CodeGenModule::getBlockMangledName(), clang::CodeGen::CodeGenModule::getBlockObjectAssign(), clang::CodeGen::CodeGenModule::getBlockObjectDispose(), clang::CoroutineBodyStmt::getBody(), clang::CodeGen::CodeGenModule::getBuiltinLibFunction(), clang::CallExpr::getCallee(), clang::CallExpr::getCallee(), clang::ento::CallEventManager::getCaller(), clang::ClassTemplateDecl::getCanonicalDecl(), clang::ClassTemplateDecl::getCanonicalDecl(), clang::ConceptDecl::getCanonicalDecl(), clang::CXXConstructorDecl::getCanonicalDecl(), clang::CXXConversionDecl::getCanonicalDecl(), clang::CXXDestructorDecl::getCanonicalDecl(), clang::CXXMethodDecl::getCanonicalDecl(), clang::CXXRecordDecl::getCanonicalDecl(), clang::EnumDecl::getCanonicalDecl(), clang::FunctionTemplateDecl::getCanonicalDecl(), clang::FunctionTemplateDecl::getCanonicalDecl(), clang::ObjCIvarDecl::getCanonicalDecl(), clang::ObjCMethodDecl::getCanonicalDecl(), clang::TypeAliasTemplateDecl::getCanonicalDecl(), clang::TypeAliasTemplateDecl::getCanonicalDecl(), clang::UsingDecl::getCanonicalDecl(), clang::UsingDecl::getCanonicalDecl(), clang::UsingEnumDecl::getCanonicalDecl(), clang::UsingEnumDecl::getCanonicalDecl(), clang::VarTemplateDecl::getCanonicalDecl(), clang::VarTemplateDecl::getCanonicalDecl(), getCanonicalDecl(), clang::ASTContext::getCanonicalTemplateArgument(), clang::ASTContext::getCanonicalTemplateName(), clang::ASTContext::getCanonicalTemplateTemplateParmDecl(), clang::ento::BlockDataRegion::referenced_vars_iterator::getCapturedRegion(), clang::OMPChildren::getCapturedStmt(), clang::ento::SwitchNodeBuilder::iterator::getCase(), clang::HLSLOutArgExpr::getCastedTemporary(), clang::HLSLOutArgExpr::getCastedTemporary(), getCCTypeAttr(), getCIRGenToUse(), clang::CIRGen::CIRGenModule::getCIRLinkageForDeclarator(), getClangCallTerminateFn(), clang::ObjCPropertyRefExpr::getClassReceiver(), getCodegenToUse(), clang::CodeGen::ABIArgInfo::getCoerceAndExpandType(), clang::MatrixSubscriptExpr::getColumnIdx(), clang::BinaryConditionalOperator::getCommon(), getCommonDeclChecked(), clang::ArrayInitLoopExpr::getCommonExpr(), getCommonNonSugarTypeNode(), getCommonSugarTypeNode(), getComplexType(), getComplexType(), clang::NormalizedConstraint::getCompoundKind(), clang::LambdaExpr::getCompoundStmtBody(), clang::AbstractConditionalOperator::getCond(), clang::BinaryConditionalOperator::getCond(), clang::ChooseExpr::getCond(), clang::ConditionalOperator::getCond(), clang::ForStmt::getConditionVariable(), clang::IfStmt::getConditionVariable(), clang::SwitchStmt::getConditionVariable(), clang::WhileStmt::getConditionVariable(), getConstantArrayExtents(), clang::CodeGen::CodeGenModule::GetConstantArrayFromStringLiteral(), getConstantExprReferredType(), clang::ento::SValBuilder::getConstantVal(), clang::ConstructorUsingShadowDecl::getConstructedBaseClass(), clang::ObjCIvarDecl::getContainingInterface(), clang::GenericSelectionExpr::getControllingExpr(), clang::GenericSelectionExpr::getControllingExpr(), clang::CastExpr::getConversionFunction(), clang::analyze_printf::PrintfSpecifier::getConversionSpecifier(), clang::analyze_scanf::ScanfSpecifier::getConversionSpecifier(), GetConversionType(), clang::ASTContext::getCopyConstructorForExceptionObject(), getCoroutineSuspendExprReturnType(), clang::Sema::getCurFunctionOrMethodDecl(), getCurrentInstantiationOf(), getCurrentLambdaScopeUnsafe(), clang::Sema::getCurrentThisType(), getCursorKindForDecl(), clang::ento::MemRegionManager::getCXXBaseObjectRegion(), clang::DeclarationNameTable::getCXXDeductionGuideName(), clang::ento::AnyFunctionCall::getDecl(), clang::ento::nonloc::PointerToMember::getDecl(), clang::InitializedEntity::getDecl(), clang::ASTContext::getDeclAlign(), clang::syntax::SimpleDeclaration::getDeclarators(), getDeclAvailability(), clang::StmtIteratorBase::GetDeclExpr(), getDeclForLocalLookup(), GetDeclSpecTypeForDeclarator(), getDeclUsageType(), getDefaultTemplateArgumentOrNone(), getDefiningModule(), clang::MacroDirective::getDefinition(), clang::ClassTemplateSpecializationDecl::getDefinitionOrSelf(), clang::serialization::getDefinitiveDeclContext(), getDepthAndIndex(), getDepthAndIndex(), clang::Sema::getDestructorName(), clang::OMPDeviceClause::getDevice(), clang::OMPDeviceClause::getDevice(), clang::GlobalDecl::getDynamicInitKind(), clang::CodeGen::CodeGenFunction::getEHDispatchBlock(), getElementCountOfArrayBeingDestructed(), clang::syntax::List::getElementsAsNodesAndDelimiters(), getEnclosingParent(), getEnclosingStmtLocation(), clang::ento::retaincountchecker::RefLeakReportVisitor::getEndPath(), clang::Expr::getEnumCoercedType(), clang::CIRGen::CIRGenFunction::getEvaluationKind(), clang::CodeGen::CodeGenFunction::getEvaluationKind(), clang::ObjCPropertyRefExpr::getExplicitProperty(), clang::concepts::ExprRequirement::getExpr(), clang::ShuffleVectorExpr::getExpr(), clang::ShuffleVectorExpr::getExpr(), clang::CXXTypeidExpr::getExprOperand(), clang::CXXUuidofExpr::getExprOperand(), clang::concepts::ExprRequirement::getExprSubstitutionDiagnostic(), clang::MaterializeTemporaryExpr::getExtendingDecl(), clang::DeclContext::getExternCContext(), clang::AbstractConditionalOperator::getFalseExpr(), clang::BinaryConditionalOperator::getFalseExpr(), clang::ConditionalOperator::getFalseExpr(), clang::ASTContext::getFieldOffset(), clang::FileEntryRef::getFileEntry(), clang::FileManager::getFileRef(), clang::Mergeable< decl_type >::getFirstDecl(), clang::Mergeable< decl_type >::getFirstDecl(), clang::NormalizedConstraint::getFoldExpandedConstraint(), clang::NamedDecl::getFormalLinkage(), clang::Sema::getFormatStringInfo(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForClassTemplatePartialSpecialization(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForClassTemplateSpecialization(), getFriendCountAndPosition(), clang::ExplicitSpecifier::getFromDecl(), GetFullTypeForDeclarator(), clang::TypeName::getFullyQualifiedType(), clang::Sema::getFunctionLevelDeclContext(), clang::CIRGen::CIRGenModule::getFunctionLinkage(), clang::CodeGen::CodeGenModule::getFunctionLinkage(), getFunctionOrMethodNumParams(), getFunctionOrMethodParamType(), getFunctionOrMethodResultType(), clang::CodeGen::CodeGenModule::getFunctionPointer(), clang::CodeGen::CodeGenModule::GetFunctionStart(), clang::BlockExpr::getFunctionType(), clang::CodeGen::CodeGenTypes::GetFunctionTypeForVTable(), clang::CIRGen::CIRGenTypes::getFunctionTypeForVTable(), clang::CXXTryStmt::getHandler(), clang::CXXTryStmt::getHandler(), clang::ASTContext::GetHigherPrecisionFPType(), clang::BindingDecl::getHoldingVar(), clang::MSPropertySubscriptExpr::getIdx(), clang::MSPropertySubscriptExpr::getIdx(), clang::dataflow::getImplicitObjectLocation(), getImplicitObjectParamType(), clang::PackIndexingExpr::getIndexExpr(), clang::CXXCtorInitializer::getIndirectMember(), clang::CXXRecordDecl::getIndirectPrimaryBases(), clang::ento::CXXInheritedConstructorCall::getInheritingConstructor(), clang::DesignatedInitExpr::getInit(), clang::VarDecl::getInit(), clang::CompoundLiteralExpr::getInitializer(), clang::CompoundLiteralExpr::getInitializer(), clang::CXXNewExpr::getInitializer(), clang::CXXNewExpr::getInitializer(), clang::ento::AnyCXXConstructorCall::getInitialStackFrameContents(), clang::ento::AnyFunctionCall::getInitialStackFrameContents(), clang::ento::BlockCall::getInitialStackFrameContents(), clang::ento::CXXInstanceCall::getInitialStackFrameContents(), clang::ento::ObjCMethodCall::getInitialStackFrameContents(), clang::ASTContext::getInjectedTemplateArg(), clang::DeclContext::getInnermostBlockDecl(), clang::OMPChildren::getInnermostCapturedStmt(), clang::LabelStmt::getInnermostLabeledStmt(), clang::GCCAsmStmt::getInputExpr(), clang::MSAsmStmt::getInputExpr(), clang::ClassTemplatePartialSpecializationDecl::getInstantiatedFromMember(), clang::VarTemplatePartialSpecializationDecl::getInstantiatedFromMember(), clang::CXXRecordDecl::getInstantiatedFromMemberClass(), clang::EnumDecl::getInstantiatedFromMemberEnum(), clang::FunctionDecl::getInstantiatedFromMemberFunction(), clang::VarDecl::getInstantiatedFromStaticDataMember(), clang::EnumDecl::getIntegerType(), clang::OMPUseClause::getInteropVar(), clang::ConstructorUsingShadowDecl::getIntroducer(), clang::UsingShadowDecl::getIntroducer(), getInvokerAsMethod(), clang::CodeGen::CodeGenVTables::getItaniumVTableContext(), clang::CodeGen::CodeGenVTables::getItaniumVTableContext(), clang::GlobalDecl::getKernelReferenceKind(), clang::ObjCSubscriptRefExpr::getKeyExpr(), clang::TemplateName::getKind(), clang::ento::IndirectGotoNodeBuilder::iterator::getLabel(), clang::GCCAsmStmt::getLabelExpr(), clang::CXXRecordDecl::getLambdaCallOperator(), getLambdaCallOperatorHelper(), clang::CXXRecordDecl::getLambdaStaticInvoker(), clang::CFGBlock::getLastCondition(), clang::Redeclarable< decl_type >::DeclLink::getLatestNotUpdated(), clang::DeclContext::getLexicalParent(), clang::ArraySubscriptExpr::getLHS(), clang::ArraySubscriptExpr::getLHS(), clang::BinaryOperator::getLHS(), clang::ChooseExpr::getLHS(), clang::ConditionalOperator::getLHS(), clang::NormalizedConstraint::getLHS(), clang::UserDefinedLiteral::getLiteralOperatorKind(), clang::CodeGen::CodeGenModule::getLLVMLinkageForDeclarator(), clang::CXXForRangeStmt::getLoopVariable(), clang::CXXForRangeStmt::getLoopVarStmt(), clang::CXXForRangeStmt::getLoopVarStmt(), clang::ento::ProgramState::getLValue(), clang::ento::StoreManager::getLValueElement(), getLValueType(), clang::LinkageComputer::getLVForDecl(), clang::CIRGen::CIRGenModule::getMangledName(), clang::CodeGen::CodeGenModule::getMangledName(), clang::MaterializeTemporaryExpr::getManglingNumber(), getMaskVecValue(), clang::CXXCtorInitializer::getMember(), clang::CodeGen::CodeGenModule::getMemberFunctionPointer(), clang::CodeGen::CodeGenModule::getMemberFunctionPointer(), clang::CodeGen::CodeGenModule::getMemberPointerConstant(), clang::ASTContext::getMemberPointerPathAdjustment(), clang::ASTContext::getMemberPointerType(), clang::interp::GetMemberPtrDecl(), clang::SemaObjC::getMessageSendResultType(), clang::CXXMemberCallExpr::getMethodDecl(), clang::MicrosoftVTableContext::getMethodVFTableLocation(), clang::ItaniumVTableContext::getMethodVTableIndex(), clang::CodeGen::CodeGenVTables::getMicrosoftVTableContext(), clang::MacroQualifiedType::getModifiedType(), clang::ASTContext::getModulesWithMergedDefinition(), getMoreSpecialized(), clang::ClassTemplateDecl::getMostRecentDecl(), clang::ClassTemplatePartialSpecializationDecl::getMostRecentDecl(), clang::ClassTemplateSpecializationDecl::getMostRecentDecl(), clang::CXXMethodDecl::getMostRecentDecl(), clang::CXXRecordDecl::getMostRecentDecl(), clang::EnumDecl::getMostRecentDecl(), clang::FunctionTemplateDecl::getMostRecentDecl(), clang::NamedDecl::getMostRecentDecl(), clang::RecordDecl::getMostRecentDecl(), clang::VarTemplateDecl::getMostRecentDecl(), clang::VarTemplatePartialSpecializationDecl::getMostRecentDecl(), clang::VarTemplateSpecializationDecl::getMostRecentDecl(), clang::Sema::getMostSpecialized(), clang::GlobalDecl::getMultiVersionIndex(), getMultiversionLinkage(), clang::MacroExpansion::getName(), clang::ConceptSpecializationExpr::getNamedConcept(), clang::NamespaceAliasDecl::getNamespace(), clang::NamespaceBaseDecl::getNamespace(), clang::OverloadExpr::getNamingClass(), getNestedNameSpecifierIdentifiers(), clang::ento::ExplodedNode::getNextStmtForDiagnostics(), getNonClosureContext(), getNonInjectedClassName(), clang::Sema::getNormalizedAssociatedConstraints(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::getNotUpdated(), NonTypeOrVarTemplateParmDecl::getNTTP(), getNullForVariable(), clang::Sema::getNumArgumentsInExpansion(), clang::Sema::getNumArgumentsInExpansionFromUnexpanded(), clang::CodeGen::CodeGenFunction::AbstractCallee::getNumParams(), clang::FunctionTypeLoc::getNumParams(), getNumThreads(), clang::CodeGen::CGOpenMPRuntime::getNumThreadsExprForTargetDirective(), clang::SemaObjC::getObjCContainerKind(), clang::ASTContext::getObjCImplementation(), clang::ASTContext::getObjCImplementation(), clang::Expr::getObjCProperty(), clang::ASTContext::getObjCPropertyImplDeclForPropertyDecl(), clang::ento::MemRegionManager::getObjCStringRegion(), clang::HLSLOutArgExpr::getOpaqueArgLValue(), clang::HLSLOutArgExpr::getOpaqueArgLValue(), getOpaquePersonalityFn(), clang::CIRGen::CIRGenFunction::getOpenACCDataOperandInfo(), clang::SemaOpenMP::getOpenMPDeclareMapperVarName(), clang::DependentCoawaitExpr::getOperand(), clang::DependentCoawaitExpr::getOperatorCoawaitLookup(), clang::CIRGen::CIRGenModule::getOrCreateCIRFunction(), clang::interp::Program::getOrCreateDummy(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::CIRGen::CIRGenModule::getOrCreateStaticVarDecl(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), clang::MaterializeTemporaryExpr::getOrCreateValue(), clang::AtomicExpr::getOrder(), clang::AtomicExpr::getOrderFail(), clang::ento::BlockDataRegion::referenced_vars_iterator::getOriginalRegion(), clang::SYCLKernelCallStmt::getOriginalStmt(), clang::SYCLKernelCallStmt::getOriginalStmt(), clang::ento::BlockCall::getOriginExpr(), clang::ento::CXXAllocatorCall::getOriginExpr(), clang::ento::CXXConstructorCall::getOriginExpr(), clang::ento::CXXDeallocatorCall::getOriginExpr(), clang::ento::CXXInheritedConstructorCall::getOriginExpr(), clang::ento::CXXMemberCall::getOriginExpr(), clang::ento::CXXMemberOperatorCall::getOriginExpr(), clang::ento::CXXStaticOperatorCall::getOriginExpr(), clang::ento::ObjCMethodCall::getOriginExpr(), clang::ento::SimpleFunctionCall::getOriginExpr(), clang::DeclContext::getOuterLexicalRecordContext(), getOutermostFuncOrBlockContext(), clang::GCCAsmStmt::getOutputExpr(), clang::MSAsmStmt::getOutputExpr(), clang::ObjCMethodDecl::getOverriddenMethods(), clang::TemplateArgument::getPackExpansionPattern(), clang::PackIndexingExpr::getPackIdExpression(), clang::CodeGen::CodeGenFunction::AbstractCallee::getParamDecl(), clang::SubstNonTypeTemplateParmExpr::getParameter(), clang::SubstTemplateTemplateParmStorage::getParameter(), clang::CodeGen::CGOpenMPRuntimeGPU::getParameterAddress(), clang::SubstNonTypeTemplateParmPackExpr::getParameterPack(), clang::SubstTemplateTemplateParmPackStorage::getParameterPack(), clang::ConstructorUsingShadowDecl::getParent(), clang::ConstructorUsingShadowDecl::getParent(), clang::CXXMethodDecl::getParent(), clang::CXXMethodDecl::getParent(), clang::DeclContext::getParent(), clang::DeclContext::getParentASTContext(), clang::ParentMap::getParentIgnoreParenImpCasts(), getParentOfLocalEntity(), clang::DecayedType::getPointeeType(), getPreferredArgumentTypeForMessageSend(), clang::Type::getPrefix(), clang::Redeclarable< decl_type >::DeclLink::getPrevious(), clang::DeclContext::getPrimaryContext(), getPrimaryDecl(), clang::OMPPriorityClause::getPriority(), clang::OMPPriorityClause::getPriority(), clang::CodeGen::ReductionCodeGen::getPrivateType(), clang::CoroutineBodyStmt::getPromiseDecl(), clang::AtomicExpr::getPtr(), clang::CXXForRangeStmt::getRangeStmt(), clang::CXXForRangeStmt::getRangeStmt(), clang::CodeGen::CodeGenModule::getRawFunctionPointer(), clang::ento::MemRegion::getRawMemorySpace(), getReplacedParameter(), getReplacedTemplateParameterList(), clang::SubstNonTypeTemplateParmExpr::getReplacement(), clang::GenericSelectionExpr::getResultExpr(), clang::GenericSelectionExpr::getResultExpr(), clang::dataflow::Environment::getResultObjectLocation(), clang::AnyCall::getReturnType(), clang::CoroutineBodyStmt::getReturnValueInit(), clang::ArraySubscriptExpr::getRHS(), clang::ArraySubscriptExpr::getRHS(), clang::BinaryOperator::getRHS(), clang::ChooseExpr::getRHS(), clang::ConditionalOperator::getRHS(), clang::NormalizedConstraint::getRHS(), clang::MatrixSubscriptExpr::getRowIdx(), clang::MatrixSubscriptExpr::getRowIdx(), clang::ento::CXXInstanceCall::getRuntimeDefinition(), clang::ento::ObjCMethodCall::getRuntimeDefinition(), clang::AtomicExpr::getScope(), clang::PackIndexingExpr::getSelectedIndex(), clang::CXXRewrittenBinaryOperator::getSemanticForm(), clang::CXXRewrittenBinaryOperator::getSemanticForm(), clang::ShuffleVectorExpr::getShuffleMaskIdx(), getSimplifiedTypeClass(), clang::threadSafety::getSourceLiteralString(), clang::CXXCtorInitializer::getSourceLocation(), clang::ClassTemplateSpecializationDecl::getSourceRange(), clang::VarTemplateSpecializationDecl::getSourceRange(), clang::ClassTemplateSpecializationDecl::getSpecializedTemplate(), clang::VarTemplateSpecializationDecl::getSpecializedTemplate(), clang::ClassTemplateSpecializationDecl::getSpecializedTemplateOrPartial(), clang::VarTemplateSpecializationDecl::getSpecializedTemplateOrPartial(), clang::AsTypeExpr::getSrcExpr(), clang::ConvertVectorExpr::getSrcExpr(), clang::ento::CXXTempObjectRegion::getStackFrame(), getStackIndexOfNearestEnclosingCaptureCapableLambda(), getStackIndexOfNearestEnclosingCaptureReadyLambda(), getStackOrCaptureRegionForDeclContext(), clang::syntax::CompoundStatement::getStatements(), getStaticDeclName(), getStaticDeclName(), clang::ento::MemRegionManager::getStaticSize(), clang::interp::InterpState::getStdAllocatorCaller(), clang::ento::ExplodedNode::getStmtForDiagnostics(), clang::LifetimeExtendedTemporaryDecl::getStorageDuration(), clang::MaterializeTemporaryExpr::getStorageDuration(), clang::ObjCStringLiteral::getString(), clang::ObjCStringLiteral::getString(), clang::ento::MemRegionManager::getStringRegion(), clang::ArrayInitLoopExpr::getSubExpr(), clang::CastExpr::getSubExpr(), clang::CastExpr::getSubExpr(), clang::CXXBindTemporaryExpr::getSubExpr(), clang::CXXBindTemporaryExpr::getSubExpr(), clang::DesignatedInitExpr::getSubExpr(), clang::FullExpr::getSubExpr(), clang::FullExpr::getSubExpr(), clang::ImaginaryLiteral::getSubExpr(), clang::ImaginaryLiteral::getSubExpr(), clang::MaterializeTemporaryExpr::getSubExpr(), clang::ObjCBoxedExpr::getSubExpr(), clang::ObjCBoxedExpr::getSubExpr(), clang::ObjCIndirectCopyRestoreExpr::getSubExpr(), clang::ObjCIndirectCopyRestoreExpr::getSubExpr(), clang::ParenExpr::getSubExpr(), clang::ParenExpr::getSubExpr(), clang::UnaryOperator::getSubExpr(), clang::VAArgExpr::getSubExpr(), clang::VAArgExpr::getSubExpr(), clang::CastExpr::getSubExprAsWritten(), clang::extractapi::DeclarationFragmentsBuilder::getSubHeading(), getSubobjectSizeInBits(), clang::concepts::ExprRequirement::ReturnTypeRequirement::getSubstitutionDiagnostic(), clang::concepts::TypeRequirement::getSubstitutionDiagnostic(), clang::StmtExpr::getSubStmt(), clang::StmtExpr::getSubStmt(), clang::ento::RetainSummaryManager::getSummary(), getSummary(), clang::ObjCPropertyRefExpr::getSuperReceiverType(), clang::ento::Environment::getSVal(), clang::ento::SwitchNodeBuilder::getSwitch(), getSymbolicOffsetFields(), clang::index::getSymbolInfo(), clang::TemplateArgumentLocInfo::getTemplate(), NonTypeOrVarTemplateParmDecl::getTemplate(), clang::ClassTemplateSpecializationDecl::getTemplateArgsAsWritten(), clang::VarTemplateSpecializationDecl::getTemplateArgsAsWritten(), clang::Sema::getTemplateArgumentPackExpansionPattern(), clang::Decl::getTemplateDepth(), clang::FunctionDecl::getTemplateInstantiationPattern(), clang::Sema::GetTemplateParameterList(), clang::LifetimeExtendedTemporaryDecl::getTemporaryExpr(), clang::LifetimeExtendedTemporaryDecl::getTemporaryExpr(), clang::CFGBlock::getTerminatorCondition(), clang::CodeGen::CGCXXABI::getThisArgumentTypeForMethod(), clang::CodeGen::CGOpenMPRuntime::getThreadID(), clang::VTableContextBase::getThunkInfo(), getTlsGuardVar(), clang::OverloadExpr::getTrailingASTTemplateKWAndArgsInfo(), clang::OverloadExpr::getTrailingResults(), clang::OverloadExpr::getTrailingTemplateArgumentLoc(), clang::Decl::getTranslationUnitDecl(), clang::AbstractConditionalOperator::getTrueExpr(), clang::BinaryConditionalOperator::getTrueExpr(), clang::ConditionalOperator::getTrueExpr(), clang::CXXTryStmt::getTryBlock(), clang::CXXTryStmt::getTryBlock(), clang::SEHTryStmt::getTryBlock(), clang::APValue::LValueBase::getType(), clang::CodeGen::ConstantInitFuture::getType(), clang::concepts::TypeRequirement::getType(), clang::concepts::ExprRequirement::ReturnTypeRequirement::getTypeConstraint(), clang::concepts::ExprRequirement::ReturnTypeRequirement::getTypeConstraintTemplateParameterList(), clang::TagDecl::getTypedefNameForAnonDecl(), getTypeInfoLinkage(), clang::CXXTypeidExpr::getTypeOperand(), clang::CXXUuidofExpr::getTypeOperand(), clang::CXXTypeidExpr::getTypeOperandSourceInfo(), clang::CXXUuidofExpr::getTypeOperandSourceInfo(), clang::CanQual< Type >::getTypePtr(), clang::ConcreteTypeLoc< Base, Derived, TypeClass, LocalData >::getTypePtr(), clang::InheritingConcreteTypeLoc< Base, Derived, TypeClass >::getTypePtr(), clang::DeclaratorDecl::getTypeSourceInfo(), clang::TypedefNameDecl::getTypeSourceInfo(), clang::UserDefinedLiteral::getUDSuffix(), clang::Sema::getUndefinedButUsed(), clang::TypedefNameDecl::getUnderlyingType(), clang::ParmVarDecl::getUninstantiatedDefaultArg(), clang::OMPClauseMappableExprCommon::getUniqueDeclarationsTotalNumber(), clang::ASTContext::getUnqualifiedArrayType(), GetUnreachableLoc(), clang::DesignatedInitUpdateExpr::getUpdater(), clang::ASTContext::getUsingType(), clang::AtomicExpr::getVal1(), clang::AtomicExpr::getVal2(), clang::ento::PathDiagnosticLocation::getValidSourceLocation(), clang::ASTContext::getVariableArrayDecayedType(), clang::ento::MemRegionManager::getVarRegion(), clang::FileManager::getVirtualFileRef(), clang::CIRGen::CIRGenModule::getVTableLinkage(), clang::CodeGen::CodeGenModule::getVTableLinkage(), clang::CIRGen::CIRGenFunction::getVTablePointers(), clang::CodeGen::CodeGenFunction::GetVTablePtr(), clang::CodeGen::CodeGenFunction::GetVTTParameter(), clang::CIRGen::CIRGenFunction::getVTTParameter(), clang::AtomicExpr::getWeak(), clang::CodeGen::CodeGenModule::GetWeakRefReference(), clang::GlobalDecl::getWithKernelReferenceKind(), clang::GlobalDecl::getWithMultiVersionIndex(), clang::HLSLOutArgExpr::getWritebackCast(), clang::HLSLOutArgExpr::getWritebackCast(), handleAliasAttr(), clang::SemaX86::handleAnyInterruptAttr(), clang::SemaARM::handleBuiltinAliasAttr(), handleBuiltinAliasAttr(), handleCallableWhenAttr(), handleCalledOnceAttr(), handleCleanupAttr(), clang::SemaARM::handleCmseNSEntryAttr(), handleConstantAttr(), HandleConstructorCall(), handleCPUSpecificAttr(), clang::index::IndexingContext::handleDecl(), clang::DotMemberAccessHandler::handleDeclaration(), clang::Sema::HandleDeclarator(), handleDeclspecThreadAttr(), clang::Sema::HandleDependentAccessCheck(), clang::SemaObjC::handleDesignatedInitializer(), handleDestroyAttr(), handleDiagnoseAsBuiltinAttr(), handleDiagnoseIfAttr(), handleExcludeFromExplicitInstantiationAttr(), clang::SemaObjC::HandleExprPropertyRefExpr(), handleExtVectorTypeAttr(), handleFormatArgAttr(), handleFunctionTypeAttr(), clang::Sema::HandleFunctionTypeMismatch(), handleGlobalAttr(), handleGNUInlineAttr(), handleIFuncAttr(), HandleImmediateInvocations(), handleIncDec(), handleInitPriorityAttr(), clang::SemaSYCL::handleKernelAttr(), HandleLValueIndirectMember(), clang::SemaObjC::handleMethodFamilyAttr(), handleMSConstexprAttr(), handleMSInheritanceAttr(), handleNoEscapeAttr(), handleNonStringAttr(), HandleOperatorNewCall(), clang::SemaHLSL::handlePackOffsetAttr(), handlePassObjectSizeAttr(), clang::SemaObjC::handlePreciseLifetimeAttr(), handlePreferredName(), clang::SemaBPF::handlePreserveAccessIndexAttr(), clang::SemaObjC::HandlePropertyInClassExtension(), clang::SemaObjC::handleRequiresSuperAttr(), clang::SemaObjC::handleReturnsInnerPointerAttr(), handleSectionAttr(), handleSentinelAttr(), handleSetTypestateAttr(), handleSharedAttr(), clang::SemaObjC::handleSuppresProtocolAttr(), handleTestTypestateAttr(), clang::InProcessPrintingASTConsumer::HandleTopLevelDecl(), handleUninitializedAttr(), handleVecReturnAttr(), handleVTablePointerAuthentication(), handleWeakRefAttr(), clang::SemaWasm::handleWebAssemblyExportNameAttr(), clang::SemaWasm::handleWebAssemblyImportModuleAttr(), clang::SemaWasm::handleWebAssemblyImportNameAttr(), hasAcceptableDeclarationImpl(), clang::Sema::hasAcceptableDefaultArgument(), clang::Sema::hasAcceptableDefinition(), hasCopyOrMoveCtorParam(), clang::Type::hasIntegerRepresentation(), HasNoThrowOperator(), hasOnlyNonStaticMemberFunctions(), clang::Expr::HasSideEffects(), clang::Type::hasSizedVLAType(), clang::DeclSpec::hasTagDefinition(), clang::FunctionDecl::hasTrivialBody(), clang::Type::hasUnsignedIntegerRepresentation(), clang::Sema::HideUsingShadowDecl(), ignoreTransparentExprs(), clang::Expr::IgnoreUnlessSpelledInSource(), clang::Sema::ImplicitlyDefineFunction(), implies(), clang::ASTImporter::Import(), clang::ASTImporter::Import(), clang::ASTImporter::Import(), clang::ASTImporter::Import(), clang::ASTImporter::Import(), clang::ASTImporter::Import(), clang::ASTNodeImporter::import(), clang::ASTNodeImporter::ImportAPValue(), clang::ASTImporter::ImportContext(), clang::ASTImporter::ImportDefinition(), clang::ASTNodeImporter::ImportDefinition(), clang::ASTNodeImporter::ImportDefinitionIfNeeded(), clang::ASTNodeImporter::ImportOverriddenMethods(), clang::index::IndexingContext::indexDecl(), inheritDefaultTemplateArgument(), inheritDefaultTemplateArguments(), InitCatchParam(), clang::CodeGen::CodeGenFunction::initFullExprCleanupWithFlag(), clang::CodeGen::initializationPatternFor(), clang::dataflow::Environment::initialize(), clang::ASTReader::InitializeContext(), clang::InitializationSequence::InitializeFrom(), clang::ASTReader::InitializeSema(), clang::TemplateDeclInstantiator::InitMethodInstantiation(), InjectAnonymousStructOrUnionMembers(), clang::CodeGen::CodeGenFunction::InlinedInheritingConstructorScope::InlinedInheritingConstructorScope(), clang::ADLResult::insert(), clang::threadSafety::BeforeSet::insertAttrExprs(), clang::CodeGen::LoopInfoStack::InsertHelper(), InsertOCLBuiltinDeclarationsFromTable(), clang::CodeGen::ConstantInitFuture::installInGlobal(), clang::FunctionProtoType::ExceptionSpecInfo::instantiate(), clang::Sema::InstantiateAttrs(), clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassTemplateSpecialization(), instantiateDependentHLSLParamModifierAttr(), clang::LocalInstantiationScope::InstantiatedLocal(), clang::LocalInstantiationScope::InstantiatedLocalPackArg(), instantiateExplicitSpecifierDeferred(), clang::Sema::InstantiateFunctionDefinition(), clang::Sema::InstantiateMemInitializers(), instantiateOMPDeclareSimdDeclAttr(), instantiateOMPDeclareVariantAttr(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::Sema::InstantiateVariableDefinition(), clang::interp::InvalidCast(), clang::interp::InvalidDeclRef(), clang::interp::InvalidNewDeleteExpr(), InventTemplateParameter(), clang::Sema::isAcceptableNestedNameSpecifier(), isAccessedBy(), IsArtificial(), isAtLeastAsSpecializedAs(), isBetterOverloadCandidate(), isBlockVarRef(), clang::ento::isCapturedByReference(), isConditionForTerminator(), isConfigurationValue(), clang::Expr::isConstantInitializer(), clang::ParentMap::isConsumedExpr(), clang::QualType::isCXX98PODType(), clang::NamedDecl::isCXXInstanceMember(), isDeclWithinFunction(), clang::DeclContext::isDependentContext(), isDependentContextAtLevel(), isDesignatorAtObjectEnd(), clang::Sema::isEquivalentInternalLinkageDeclaration(), isExprAnUnaddressableFunction(), clang::Type::isExtVectorBoolType(), clang::Redeclarable< decl_type >::DeclLink::isFirst(), clang::Sema::IsFunctionConversion(), isFunctionOrMethodVariadic(), isFunctionOrVarDeclExternC(), clang::FunctionDecl::isGlobal(), IsGlobalLValue(), isIdiomaticBraceElisionEntity(), clang::CXXDependentScopeMemberExpr::isImplicitAccess(), clang::UnresolvedMemberExpr::isImplicitAccess(), clang::Type::isIncompleteType(), isInCondition(), IsInitializerListConstructorConversion(), clang::DeclContext::isInlineNamespace(), isInLoop(), isInLoopBody(), isInstantiationOf(), isInstantiationOf(), clang::AnalysisDeclContext::isInStdNamespace(), isInvalidConstantBufferLeafElementType(), isInvalidICRSource(), isLambdaCallOperator(), isLambdaCallWithExplicitObjectParameter(), isLambdaCallWithImplicitObjectParameter(), clang::CodeGen::swiftcall::isLegalVectorType(), isLinkageSpecContext(), clang::ento::SymbolReaper::isLive(), clang::ClassTemplatePartialSpecializationDecl::isMemberSpecialization(), clang::VarTemplatePartialSpecializationDecl::isMemberSpecialization(), clang::Sema::isMicrosoftMissingTypename(), isNonEHScope(), clang::Expr::isOBJCGCCandidate(), isObjCReceiverType(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::SemaOpenMP::isOpenMPCapturedDecl(), clang::SemaOpenMP::isOpenMPPrivateDecl(), IsOverloadOrOverrideImpl(), clang::ento::isPossiblyEscaped(), IsPossiblyOpaquelyQualifiedTypeInternal(), isPreferredLookupResult(), IsRecordContextStructurallyEquivalent(), isRelevantAttr(), clang::FunctionDecl::isReservedGlobalPlacementOperator(), isSafeSpanTwoParamConstruct(), clang::Expr::isSameComparisonOperand(), clang::ASTContext::isSameDefaultTemplateArgument(), clang::ASTContext::isSameEntity(), clang::ASTContext::isSameTemplateParameter(), isSmartPtrField(), IsStandardConversion(), isStandardDelete(), isStandardNew(), clang::DeclContext::isStdNamespace(), IsStructurallyEquivalent(), IsStructurallyEquivalent(), IsStructurallyEquivalent(), IsStructurallyEquivalent(), IsStructurallyEquivalent(), clang::sema::AnalysisBasedWarnings::IssueWarnings(), isTemplate(), isTemplate(), clang::Sema::isTemplateName(), clang::DeclContext::isTransparentContext(), clang::TemplateDecl::isTypeAlias(), clang::Expr::isUnusedResultAWarning(), IsUserDefinedConversion(), isValidSizelessVectorForConditionalCondition(), isValidVectorForConditionalCondition(), isVariableAlreadyCapturedInScopeInfo(), clang::FieldDecl::isZeroSize(), clang::dataflow::joinDistinctValues(), clang::Sema::LambdaScopeForCallOperatorInstantiationRAII::LambdaScopeForCallOperatorInstantiationRAII(), LandingPadHasOnlyCXXUses(), clang::CodeGen::swiftcall::legalizeVectorType(), clang::CodeGen::CodeGenFunction::LoadCXXThisAddress(), clang::CIRGen::CIRGenFunction::loadCXXThisAddress(), clang::CodeGen::CodeGenFunction::LoadObjCSelf(), loadRISCVFeatureBits(), LookupDirect(), clang::Sema::LookupExistingLabel(), clang::SemaObjC::LookupInObjCMethod(), LookupMemberExpr(), LookupMethodInReceiverType(), clang::Sema::LookupOrCreateLabel(), clang::Sema::LookupSpecialMember(), LookupSpecialMemberFromXValue(), clang::APValue::LValueBase::LValueBase(), clang::dataflow::Arena::makeAtomValue(), makeTemplateParameter(), clang::MangleContext::mangleBlock(), clang::MangleContext::mangleName(), clang::OMPClauseMappableExprCommon::MappableComponent::MappableComponent(), mapParam(), clang::CodeGen::CGOpenMPRuntime::markAsGlobalTarget(), clang::Sema::MarkFunctionReferenced(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::markIncomplete(), clang::Redeclarable< decl_type >::DeclLink::markIncomplete(), MarkUsedTemplateParameters(), MatchesFriend(), MatchesFriend(), MatchTemplateParameterKind(), clang::CXXRecordDecl::mayBeAbstract(), clang::Sema::maybeAddDeclWithEffects(), clang::Sema::MaybeBindToTemporary(), MaybeConvertMatrixAddress(), maybeRecoverWithZeroInitialization(), clang::CIRGen::CIRGenModule::maybeSetTrivialComdat(), maybeTailCall(), maybeUndoReclaimObject(), clang::ASTContext::mayExternalize(), clang::ento::ParamVarRegion::MemRegionManager, mergeAlignedAttrs(), clang::Sema::MergeCXXFunctionDecl(), mergeDeclAttribute(), clang::Sema::mergeDeclAttributes(), clang::ASTDeclMerger::MergeDefinitionData(), clang::ASTContext::mergeDefinitionIntoModule(), clang::Sema::MergeFunctionDecl(), clang::SemaWasm::mergeImportModuleAttr(), clang::SemaWasm::mergeImportNameAttr(), clang::ASTDeclMerger::mergeLambda(), clang::Sema::mergeMSInheritanceAttr(), clang::ASTContext::mergeObjCGCQualifiers(), mergeParamDeclAttributes(), clang::ASTDeclReader::mergeRedeclarable(), clang::ASTDeclMerger::mergeTemplatePattern(), clang::SemaHLSL::mergeVkConstantIdAttr(), MVEImmediateShr(), clang::CodeGen::DominatingLLVMValue::needsSaving(), CXXNameMangler::TemplateArgManglingInfo::needToMangleTemplateParam(), clang::sema::nextPathEntryRange(), clang::CodeGen::CGOpenMPRuntime::NontemporalDeclsRAII::NontemporalDeclsRAII(), NonTypeOrVarTemplateParmDecl::NonTypeOrVarTemplateParmDecl(), NoteFunctionCandidate(), notePlausibleOverloads(), clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping(), clang::Decl::operator new(), clang::tooling::stdlib::Recognizer::operator()(), clang::DeclContext::filtered_decl_iterator< SpecificDecl, Acceptable >::operator*(), clang::DeclContext::specific_decl_iterator< SpecificDecl >::operator*(), clang::DeclContext::udir_iterator::operator*(), clang::DeclListNode::iterator::operator*(), clang::OMPMappableExprListClause< T >::const_component_lists_iterator::operator*(), clang::specific_attr_iterator< SpecificAttr, Container >::operator*(), ResultBuilder::ShadowMapEntry::iterator::operator*(), ResultBuilder::ShadowMapEntry::iterator::operator++(), clang::DeclContext::filtered_decl_iterator< SpecificDecl, Acceptable >::operator->(), clang::specific_attr_iterator< SpecificAttr, Container >::operator->(), clang::dataflow::operator<<(), optimizeEdges(), packTBLDVectorList(), clang::ento::parseAssignment(), clang::comments::Parser::parseBlockCommand(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::SemaObjC::ParseObjCStringLiteral(), clang::Sema::ParseTypedefDecl(), clang::ento::ConditionBRVisitor::patternMatch(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformPendingInstantiations(), pointerAuthResignConstant(), pointerAuthResignMemberFunctionPointer(), clang::CodeGen::EHScopeStack::popCatch(), clang::CodeGen::CodeGenFunction::popCatchScope(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), clang::CIRGen::CIRGenFunction::popCleanupBlock(), clang::CodeGen::CodeGenFunction::PopCleanupBlocks(), clang::CodeGen::EHScopeStack::popTerminate(), precomputeExpr(), clang::index::FileIndexRecord::print(), clang::TemplateName::print(), print_construction_context(), print_elem(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printApply(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printBBInstr(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printCall(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printFunction(), clang::Sema::PrintInstantiationStack(), clang::LocationContext::printJson(), clang::NamedDecl::printNestedNameSpecifier(), clang::APValue::printPretty(), ProcessAPINotes(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::ExprEngine::ProcessBaseDtor(), clang::ento::ExprEngine::processCallExit(), clang::Sema::ProcessDeclAttributeDelayed(), clang::Sema::ProcessDeclAttributeList(), processImplicitMapsWithDefaultMappers(), clang::ento::ExprEngine::ProcessInitializer(), clang::ento::ExprEngine::ProcessMemberDtor(), clang::CodeGen::CodeGenFunction::ProcessOrderScopeAMDGCN(), clang::SemaObjC::ProcessPropertyDecl(), clang::SemaHLSL::ProcessResourceTypeAttributes(), processTypeAttrs(), propagateAttribute(), clang::Sema::propagateDLLAttrToBaseClassTemplate(), clang::interp::PtrPtrCast(), clang::dataflow::Environment::pushCall(), clang::CodeGen::CodeGenFunction::pushLifetimeExtendedDestroy(), clang::Sema::PushOnScopeChains(), clang::Sema::PushSatisfactionStackEntry(), pushTemporaryCleanup(), clang::ASTRecordReader::readBTFTypeTagAttr(), clang::serialization::DataStreamBasicReader< Impl >::readLValuePathSerializationHelper(), clang::ASTReader::ReadMismatchingDeleteExpressions(), clang::ASTRecordReader::readOpenACCClause(), clang::ASTReader::ReadPendingInstantiations(), clang::ASTReader::ReadPreprocessedEntity(), clang::ASTReader::ReadUndefinedButUsed(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildMemberExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildObjCIvarRefExpr(), rebuildPotentialResultsAsNonOdrUsed(), clang::TreeTransform< AdjustConstraintDepth >::RebuildShuffleVectorExpr(), clang::Sema::RebuildTemplateParamsInCurrentInstantiation(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), recordConversion(), clang::dataflow::recordsEqual(), clang::CodeGen::CodeGenFunction::recoverAddrOfEscapedLocal(), clang::SemaPseudoObject::recreateSyntacticForm(), RefersToRValueRef(), REGISTER_MAP_WITH_PROGRAMSTATE(), REGISTER_TRAIT_WITH_PROGRAMSTATE(), clang::CodeGen::CodeGenFunction::registerGlobalDtorWithLLVM(), clang::ASTDeclWriter::RegisterTemplateSpecialization(), clang::DeclContext::removeDecl(), RemoveNestedImmediateInvocation(), removeRedundantMsgs(), clang::BaseUsingDecl::removeShadowDecl(), removeUnneededCalls(), replaceDeclarationWith(), clang::StoredDeclsList::replaceExternalDecls(), replaceManagedVar(), clang::tooling::replaceNestedName(), replaceUndef(), replaceUsesOfNonProtoConstant(), requiresAMDGPUProtectedVisibility(), resolveAllocationOverloadInterior(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), resolveBuiltinNewDeleteOverload(), ResolveConstructorOverload(), clang::LookupResult::resolveKind(), ResolveOverloadForDeduction(), clang::CodeGen::DominatingLLVMValue::restore(), clang::concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement(), rewriteBuiltinFunctionDecl(), clang::Sema::SatisfactionStackContains(), clang::CodeGen::CGOpenMPRuntime::scanForTargetRegionsFunctions(), clang::CodeGen::CodeGenFunction::setBlockContextParameter(), setBranchProtectedScope(), clang::ASTContext::setCFConstantStringType(), clang::SemaOpenACC::AssociatedStmtRAII::SetCollapseInfoBeforeAssociatedStmt(), clang::Sema::SetDeclDefaulted(), SetEligibleMethods(), clang::MaterializeTemporaryExpr::setExtendingDecl(), clang::CodeGen::CodeGenFunction::SetFPAccuracy(), clang::ASTReader::SetGloballyVisibleDecls(), clang::DefaultArgStorage< TemplateTypeParmDecl, TemplateArgumentLoc * >::setInherited(), clang::ClassTemplatePartialSpecializationDecl::setInstantiatedFromMember(), clang::VarTemplatePartialSpecializationDecl::setInstantiatedFromMember(), clang::Decl::setInvalidDecl(), clang::Redeclarable< decl_type >::DeclLink::setLatest(), clang::Decl::setLexicalDeclContext(), clang::CodeGen::CGDebugInfo::setLocation(), clang::ClassTemplatePartialSpecializationDecl::setMemberSpecialization(), clang::VarTemplatePartialSpecializationDecl::setMemberSpecialization(), setObjCGCLValueClass(), clang::CXXDestructorDecl::setOperatorDelete(), clang::CXXDestructorDecl::setOperatorGlobalDelete(), clang::Redeclarable< decl_type >::setPreviousDecl(), clang::DeclaratorDecl::setQualifierInfo(), WebAssemblyTargetCodeGenInfo::setTargetAttributes(), clang::DeclaratorDecl::setTemplateParameterListsInfo(), clang::SemaOpenACC::AssociatedStmtRAII::SetTileInfoBeforeAssociatedStmt(), clang::DeclaratorDecl::setTrailingRequiresClause(), setTypedefNameForAnonDecl(), clang::DeclSpec::SetTypeSpecType(), SetupCleanupBlockActivation(), shouldAddReversedEqEq(), shouldBeInCOMDAT(), shouldBeInCOMDAT(), shouldEmitSeparateBlockRetain(), clang::ASTContext::shouldExternalize(), clang::installapi::shouldIgnorePrivateExternAttr(), shouldRemoveDeadBindings(), clang::Sema::shouldSkipAnonEnumBody(), shouldSkipNotingLambdaConversionDecl(), clang::ASTDeclWriter::shouldSkipWritingSpecializations(), ShouldUseExternalRTTIDescriptor(), showBRDiagnostics(), showBRParamDiagnostics(), clang::CodeGen::swiftcall::splitLegalVectorType(), clang::TagDecl::startDefinition(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::CIRGen::CIRGenFunction::startFunction(), clang::CodeGen::CodeGenFunction::StartThunk(), clang::extractapi::RecordContext::stealRecordChain(), clang::SemaObjC::stripARCUnbridgedCast(), clang::ento::MemRegion::StripCasts(), StripImplicitInstantiation(), stripOpaqueValuesFromPseudoObjectRef(), clang::Sema::SubstDefaultArgument(), clang::Sema::SubstDefaultTemplateArgumentIfAvailable(), clang::TemplateDeclInstantiator::SubstFunctionType(), SubstituteConstraintExpressionWithoutSatisfaction(), clang::Sema::SubstSpaceshipAsEqualEqual(), clang::Sema::SubstTypeConstraint(), clang::threadSafety::til::Terminator::successors(), clang::interp::This(), threadSafetyCheckIsPointer(), clang::interp::Pointer::toAPValue(), clang::interp::MemberPointer::toFunctionPointer(), clang::interp::MemberPointer::toPointer(), clang::TreeTransform< Derived >::TransformExprRequirement(), clang::SemaHLSL::transformInitList(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), transformOMPMappableExprListClause(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), clang::TreeTransform< Derived >::TransformRequiresExprRequirements(), clang::TreeTransform< Derived >::TransformSEHHandler(), clang::TreeTransform< Derived >::TransformStmt(), TransitionToCleanupSwitch(), clang::threadSafety::SExprBuilder::translate(), clang::threadSafety::SExprBuilder::translateAttrExpr(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), clang::RecursiveASTVisitor< Derived >::TraverseConceptRequirement(), clang::dataflow::ReferencedDeclsVisitor::traverseConstructorInits(), clang::SemaOpenMP::tryCaptureOpenMPLambdas(), clang::Sema::tryCaptureVariable(), TryConstructorInitialization(), TryDiagnoseProtectedAccess(), tryEmitARCRetainLoadOfScalar(), clang::CodeGen::CodeGenFunction::tryEmitAsConstant(), clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias(), tryEmitFMulAdd(), tryEmitFusedAutoreleaseOfResult(), clang::CodeGen::ConstantEmitter::tryEmitPrivate(), tryExtractInitializerFromList(), TryImplicitConversion(), clang::Sema::tryLookupUnambiguousFieldDecl(), tryMatchRecordTypes(), TryRefInitWithConversionFunction(), tryRemoveRetainOfSelf(), TryStaticMemberPointerUpcast(), tryToFindPtrOrigin(), TryUserDefinedConversion(), typeIsPostfix(), clang::CodeGen::CodeGenFunction::TypeOfSelfObject(), clang::CodeGen::CodeGenFunction::unregisterGlobalDtorWithUnAtExit(), UnwrapTypeForDebugInfo(), clang::CodeGen::CodeGenTypes::UpdateCompletedType(), clang::CIRGen::CIRGenTypes::updateCompletedType(), clang::ASTDeclReader::UpdateDecl(), clang::FileEntryRef::updateFileEntryBufferSize(), clang::ento::ExprEngine::updateObjectsUnderConstruction(), clang::ASTContext::useAbbreviatedThunkName(), clang::Sema::UseArgumentDependentLookup(), usingFromDifferentCanonicalNamespace(), clang::FunctionCallFilterCCC::ValidateCandidate(), ValidDuplicateEnum(), VectorUnzip(), VectorZip(), VerifyInitializationSequenceCXX98(), clang::ASTDeclReader::Visit(), clang::ento::ExprEngine::Visit(), clang::TextNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::ento::ExprEngine::VisitArrayInitLoopExpr(), clang::ento::ExprEngine::VisitBinaryOperator(), CallableVisitor::VisitBlockDecl(), clang::interp::Compiler< Emitter >::VisitCallExpr(), clang::ASTDeclWriter::VisitClassTemplateSpecializationDecl(), clang::ASTNodeImporter::VisitClassTemplateSpecializationDecl(), clang::ASTDeclReader::VisitClassTemplateSpecializationDeclImpl(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTNodeImporter::VisitCXXTryStmt(), clang::ASTDeclWriter::VisitDeclContext(), clang::interp::Compiler< Emitter >::visitDeclRef(), clang::consumed::ConsumedStmtVisitor::VisitDeclStmt(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitDependentSizedExtVectorTypeLoc(), clang::ASTNodeImporter::VisitEnumConstantDecl(), clang::ASTNodeImporter::VisitExplicitCastExpr(), clang::ASTDeclReader::VisitFieldDecl(), clang::ASTNodeImporter::VisitFieldDecl(), clang::ASTDeclReader::VisitFileScopeAsmDecl(), clang::ASTNodeImporter::VisitFriendDecl(), clang::sema::visitFunctionCallArguments(), CallableVisitor::VisitFunctionDecl(), clang::ASTDeclReader::VisitFunctionDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ento::ExprEngine::VisitGuardedExpr(), clang::interp::Compiler< Emitter >::visitInitList(), clang::sema::visitLocalsRetainedByInitializer(), clang::sema::visitLocalsRetainedByReferenceBinding(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::ASTNodeImporter::VisitMaterializeTemporaryExpr(), clang::ento::ExprEngine::VisitMemberExpr(), clang::interp::Compiler< Emitter >::VisitMemberExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitMemberPointerType(), clang::ASTDeclReader::VisitNamespaceDecl(), clang::ASTDeclWriter::VisitNamespaceDecl(), clang::ASTNodeImporter::VisitNamespaceDecl(), clang::ento::ConditionBRVisitor::VisitNodeImpl(), clang::ento::ExprEngine::VisitObjCForCollectionStmt(), clang::ASTNodeImporter::VisitObjCIvarDecl(), CallableVisitor::VisitObjCMethodDecl(), clang::ASTNodeImporter::VisitObjCPropertyImplDecl(), clang::ento::SValExplainer::VisitParamVarRegion(), clang::sema::LambdaScopeInfo::visitPotentialCaptures(), clang::interp::Compiler< Emitter >::VisitSourceLocExpr(), clang::interp::Compiler< Emitter >::visitStmt(), clang::ento::ConditionBRVisitor::VisitTerminator(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ASTNodeImporter::VisitTypedefNameDecl(), clang::ento::ExprEngine::VisitUnaryOperator(), clang::interp::Compiler< Emitter >::VisitUnaryOperator(), clang::ASTNodeImporter::VisitUnresolvedLookupExpr(), clang::ASTNodeImporter::VisitUnresolvedMemberExpr(), clang::ASTNodeImporter::VisitUsingPackDecl(), clang::ASTNodeImporter::VisitUsingShadowDecl(), clang::ASTDeclWriter::VisitVarTemplateSpecializationDecl(), clang::ASTDeclReader::VisitVarTemplateSpecializationDeclImpl(), clang::dataflow::widenDistinctValues(), clang::ASTWriter::WriteAST(), clang::serialization::DataStreamBasicWriter< Impl >::writeLValuePathSerializationHelper(), and clang::ASTRecordWriter::writeOpenACCClause().

◆ cast_away_const()

◆ CheckAllArgsHaveSameType()

◆ CheckAllArgTypesAreCorrect()

bool clang::CheckAllArgTypesAreCorrect ( Sema * S,
CallExpr * TheCall,
llvm::ArrayRef< llvm::function_ref< bool(Sema *, SourceLocation, int, QualType)> > Checks )
static

◆ checkAMDGPUFlatWorkGroupSizeArguments()

bool clang::checkAMDGPUFlatWorkGroupSizeArguments ( Sema & S,
Expr * MinExpr,
Expr * MaxExpr,
const AMDGPUFlatWorkGroupSizeAttr & Attr )
static

◆ checkAMDGPUMaxNumWorkGroupsArguments()

bool clang::checkAMDGPUMaxNumWorkGroupsArguments ( Sema & S,
Expr * XExpr,
Expr * YExpr,
Expr * ZExpr,
const AMDGPUMaxNumWorkGroupsAttr & Attr )
static

◆ checkAMDGPUWavesPerEUArguments()

bool clang::checkAMDGPUWavesPerEUArguments ( Sema & S,
Expr * MinExpr,
Expr * MaxExpr,
const AMDGPUWavesPerEUAttr & Attr )
static

◆ checkArmStreamingBuiltin()

◆ CheckAssignmentToCountAttrPtrWithIncompletePointeeTy()

bool clang::CheckAssignmentToCountAttrPtrWithIncompletePointeeTy ( Sema & S,
QualType LHSTy,
Expr * RHSExpr,
AssignmentAction Action,
SourceLocation Loc,
const ValueDecl * Assignee,
bool ShowFullyQualifiedAssigneeName )
static

Perform Checks for assigning to a __counted_by or __counted_by_or_null pointer type.

Parameters
LHSTywhere the pointee type is incomplete which is invalid.
SThe Sema instance.
LHSTyThe type being assigned to. Checks will only be performed if the type is a counted_by or counted_by_or_null pointer.
RHSExprThe expression being assigned from.
ActionThe type assignment being performed
LocThe SourceLocation to use for error diagnostics
AssigneeThe ValueDecl being assigned. This is used to compute the name of the assignee. If the assignee isn't known this can be set to nullptr.
ShowFullyQualifiedAssigneeNameIf set to true when using Assignee to compute the name of the assignee use the fully qualified name, otherwise use the unqualified name.
Returns
True iff no diagnostic where emitted, false otherwise.

Definition at line 296 of file SemaBoundsSafety.cpp.

References clang::SemaBase::Diag(), EmitIncompleteCountedByPointeeNotes(), GetCountedByAttrOnIncompletePointee(), clang::NamedDecl::getNameAsString(), clang::NamedDecl::getQualifiedNameAsString(), clang::Stmt::getSourceRange(), and isa().

Referenced by clang::Sema::BoundsSafetyCheckAssignmentToCountAttrPtr(), and clang::Sema::BoundsSafetyCheckInitialization().

◆ checkAttrMutualExclusion() [1/2]

template<typename AttrTy>
bool clang::checkAttrMutualExclusion ( SemaBase & S,
Decl * D,
const Attr & AL )

◆ checkAttrMutualExclusion() [2/2]

template<typename AttrTy>
bool clang::checkAttrMutualExclusion ( SemaBase & S,
Decl * D,
const ParsedAttr & AL )

◆ checkBlockArgs()

bool clang::checkBlockArgs ( Sema & S,
Expr * BlockArg )
static

◆ checkCalledOnceParameters()

void clang::checkCalledOnceParameters ( AnalysisDeclContext & AC,
CalledOnceCheckHandler & Handler,
bool CheckConventionalParameters )

Check given CFG for 'called once' parameter violations.

It traverses the function and tracks how such parameters are used. It detects two main violations:

  • parameter is called twice
  • parameter is not called
Parameters
AC– context.
Handler– a handler for found violations.
CheckConventionalParameters– true, if we want to check parameters not explicitly marked as 'called once', but having the same requirements according to conventions.

Definition at line 1699 of file CalledOnceCheck.cpp.

Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().

◆ checkCollectionLiteralElement()

◆ CheckEquivalentExceptionSpecImpl()

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

◆ checkFailClauseParameter()

bool clang::checkFailClauseParameter ( OpenMPClauseKind FailClauseParameter)

Checks if the parameter to the fail clause in "#pragma atomic compare fail" is restricted only to memory order clauses of "OMPC_acquire", "OMPC_relaxed" and "OMPC_seq_cst".

Definition at line 927 of file OpenMPKinds.cpp.

Referenced by clang::SemaOpenMP::ActOnOpenMPFailClause().

◆ CheckFloatOrHalfRepresentation()

bool clang::CheckFloatOrHalfRepresentation ( Sema * S,
SourceLocation Loc,
int ArgOrdinal,
clang::QualType PassedType )
static

◆ CheckFloatOrHalfScalarRepresentation()

bool clang::CheckFloatOrHalfScalarRepresentation ( Sema * S,
SourceLocation Loc,
int ArgOrdinal,
clang::QualType PassedType )
static

◆ checkGenericCastToPtr()

◆ checkIBOutletCommon()

bool clang::checkIBOutletCommon ( Sema & S,
Decl * D,
const ParsedAttr & AL )
static

◆ CheckInvalidVLENandLMUL()

◆ checkNewAttrMutualExclusion()

◆ checkOffloadBundleID()

bool clang::checkOffloadBundleID ( const llvm::StringRef Str)

Check whether the bundle id is in the following format: <kind>-<triple>[-<target id>[:target features]] <triple> := <arch>-<vendor>-<os>-<env>

Definition at line 1968 of file OffloadBundler.cpp.

Referenced by clang::OffloadBundler::UnbundleArchive(), and clang::OffloadBundler::UnbundleFiles().

◆ checkOpenCLEnqueueIntType()

bool clang::checkOpenCLEnqueueIntType ( Sema & S,
Expr * E,
const QualType & IntT )
static

Diagnose integer type and any valid implicit conversion to it.

Definition at line 192 of file SemaOpenCL.cpp.

References clang::Sema::CheckImplicitConversion(), clang::SemaBase::Diag(), clang::Stmt::getBeginLoc(), clang::Expr::getType(), and clang::Type::isIntegerType().

Referenced by checkOpenCLEnqueueLocalSizeArgs().

◆ checkOpenCLEnqueueLocalSizeArgs()

bool clang::checkOpenCLEnqueueLocalSizeArgs ( Sema & S,
CallExpr * TheCall,
unsigned Start,
unsigned End )
static

◆ checkOpenCLEnqueueVariadicArgs()

bool clang::checkOpenCLEnqueueVariadicArgs ( Sema & S,
CallExpr * TheCall,
Expr * BlockArg,
unsigned NumNonVarArgs )
static

◆ checkPipeArg()

◆ checkPipePacketType()

◆ CheckSpecForTypesEquivalent()

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

◆ checkSwiftAsyncErrorBlock()

◆ checkUnsafeBufferUsage()

◆ CheckWasmBuiltinArgIsInteger()

◆ CheckWasmBuiltinArgIsTable()

◆ classof()

bool clang::classof ( const Stmt * T)
static

Definition at line 168 of file StmtOpenACC.h.

References T.

◆ ClSanitizeGuardChecks()

llvm::cl::opt< bool > clang::ClSanitizeGuardChecks ( "ubsan-guard-checks" ,
llvm::cl::Optional ,
llvm::cl::desc("Guard UBSAN checks with `llvm.allow.ubsan.check()`.")  )

◆ commonComparisonType()

ComparisonCategoryType clang::commonComparisonType ( ComparisonCategoryType A,
ComparisonCategoryType B )
inline

Determine the common comparison type, as defined in C++2a [class.spaceship]p4.

Definition at line 54 of file ComparisonCategories.h.

◆ computeDependence() [1/86]

◆ computeDependence() [2/86]

◆ computeDependence() [3/86]

◆ computeDependence() [4/86]

◆ computeDependence() [5/86]

◆ computeDependence() [6/86]

ExprDependence clang::computeDependence ( AtomicExpr * E)

◆ computeDependence() [7/86]

◆ computeDependence() [8/86]

◆ computeDependence() [9/86]

◆ computeDependence() [10/86]

◆ computeDependence() [11/86]

◆ computeDependence() [12/86]

◆ computeDependence() [13/86]

◆ computeDependence() [14/86]

◆ computeDependence() [15/86]

◆ computeDependence() [16/86]

◆ computeDependence() [17/86]

◆ computeDependence() [18/86]

◆ computeDependence() [19/86]

ExprDependence clang::computeDependence ( CXXDefaultArgExpr * E)

◆ computeDependence() [20/86]

ExprDependence clang::computeDependence ( CXXDefaultInitExpr * E)

◆ computeDependence() [21/86]

◆ computeDependence() [22/86]

◆ computeDependence() [23/86]

ExprDependence clang::computeDependence ( CXXFoldExpr * E)

◆ computeDependence() [24/86]

◆ computeDependence() [25/86]

◆ computeDependence() [26/86]

ExprDependence clang::computeDependence ( CXXParenListInitExpr * E)

◆ computeDependence() [27/86]

◆ computeDependence() [28/86]

◆ computeDependence() [29/86]

◆ computeDependence() [30/86]

◆ computeDependence() [31/86]

◆ computeDependence() [32/86]

◆ computeDependence() [33/86]

ExprDependence clang::computeDependence ( CXXThrowExpr * E)

◆ computeDependence() [34/86]

◆ computeDependence() [35/86]

◆ computeDependence() [36/86]

◆ computeDependence() [37/86]

◆ computeDependence() [38/86]

◆ computeDependence() [39/86]

◆ computeDependence() [40/86]

◆ computeDependence() [41/86]

◆ computeDependence() [42/86]

◆ computeDependence() [43/86]

ExprDependence clang::computeDependence ( ExtVectorElementExpr * E)

◆ computeDependence() [44/86]

ExprDependence clang::computeDependence ( FullExpr * E)

Definition at line 24 of file ComputeDependence.cpp.

References clang::Expr::getDependence(), and clang::FullExpr::getSubExpr().

Referenced by clang::ArrayInitLoopExpr::ArrayInitLoopExpr(), clang::ArraySectionExpr::ArraySectionExpr(), clang::ArraySectionExpr::ArraySectionExpr(), clang::ArraySubscriptExpr::ArraySubscriptExpr(), clang::ArrayTypeTraitExpr::ArrayTypeTraitExpr(), clang::AsTypeExpr::AsTypeExpr(), clang::AtomicExpr::AtomicExpr(), clang::BinaryConditionalOperator::BinaryConditionalOperator(), clang::BinaryOperator::BinaryOperator(), clang::BinaryOperator::BinaryOperator(), clang::BlockExpr::BlockExpr(), clang::ChooseExpr::ChooseExpr(), clang::CompoundLiteralExpr::CompoundLiteralExpr(), clang::CallExpr::computeDependence(), computeDependence(), clang::ConditionalOperator::ConditionalOperator(), clang::CoroutineSuspendExpr::CoroutineSuspendExpr(), clang::CoroutineSuspendExpr::CoroutineSuspendExpr(), clang::CXXConstructExpr::CXXConstructExpr(), clang::CXXDeleteExpr::CXXDeleteExpr(), clang::CXXFoldExpr::CXXFoldExpr(), clang::CXXNoexceptExpr::CXXNoexceptExpr(), clang::CXXPseudoDestructorExpr::CXXPseudoDestructorExpr(), clang::CXXRewrittenBinaryOperator::CXXRewrittenBinaryOperator(), clang::CXXScalarValueInitExpr::CXXScalarValueInitExpr(), clang::CXXStdInitializerListExpr::CXXStdInitializerListExpr(), clang::CXXThrowExpr::CXXThrowExpr(), clang::CXXTypeidExpr::CXXTypeidExpr(), clang::CXXTypeidExpr::CXXTypeidExpr(), clang::CXXUuidofExpr::CXXUuidofExpr(), clang::CXXUuidofExpr::CXXUuidofExpr(), clang::DeclRefExpr::DeclRefExpr(), clang::DependentCoawaitExpr::DependentCoawaitExpr(), clang::ExplicitCastExpr::ExplicitCastExpr(), clang::ExpressionTraitExpr::ExpressionTraitExpr(), clang::ExtVectorElementExpr::ExtVectorElementExpr(), clang::FullExpr::FullExpr(), clang::ImplicitValueInitExpr::ImplicitValueInitExpr(), clang::InitListExpr::InitListExpr(), clang::MaterializeTemporaryExpr::MaterializeTemporaryExpr(), clang::MatrixSubscriptExpr::MatrixSubscriptExpr(), clang::MSPropertyRefExpr::MSPropertyRefExpr(), clang::MSPropertySubscriptExpr::MSPropertySubscriptExpr(), clang::NoInitExpr::NoInitExpr(), clang::ObjCBoxedExpr::ObjCBoxedExpr(), clang::ObjCEncodeExpr::ObjCEncodeExpr(), clang::ObjCIndirectCopyRestoreExpr::ObjCIndirectCopyRestoreExpr(), clang::ObjCIsaExpr::ObjCIsaExpr(), clang::ObjCIvarRefExpr::ObjCIvarRefExpr(), clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr(), clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr(), clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr(), clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr(), clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr(), clang::ObjCSubscriptRefExpr::ObjCSubscriptRefExpr(), clang::OpaqueValueExpr::OpaqueValueExpr(), clang::OverloadExpr::OverloadExpr(), clang::PackExpansionExpr::PackExpansionExpr(), clang::ParenExpr::ParenExpr(), clang::CXXThisExpr::setCapturedByCopyInLambdaWithExplicitObjectParameter(), clang::DeclRefExpr::setCapturedByCopyInLambdaWithExplicitObjectParameter(), clang::DeclRefExpr::setDecl(), clang::MemberExpr::setMemberDecl(), clang::ShuffleVectorExpr::ShuffleVectorExpr(), clang::StmtExpr::StmtExpr(), clang::SubstNonTypeTemplateParmExpr::SubstNonTypeTemplateParmExpr(), clang::UnaryExprOrTypeTraitExpr::UnaryExprOrTypeTraitExpr(), clang::UnaryExprOrTypeTraitExpr::UnaryExprOrTypeTraitExpr(), clang::UnaryOperator::UnaryOperator(), clang::CXXParenListInitExpr::updateDependence(), and clang::VAArgExpr::VAArgExpr().

◆ computeDependence() [45/86]

◆ computeDependence() [46/86]

◆ computeDependence() [47/86]

◆ computeDependence() [48/86]

ExprDependence clang::computeDependence ( InitListExpr * E)

Definition at line 700 of file ComputeDependence.cpp.

References clang::InitListExpr::inits().

◆ computeDependence() [49/86]

ExprDependence clang::computeDependence ( LambdaExpr * E,
bool ContainsUnexpandedParameterPack )

◆ computeDependence() [50/86]

◆ computeDependence() [51/86]

◆ computeDependence() [52/86]

◆ computeDependence() [53/86]

ExprDependence clang::computeDependence ( MSPropertyRefExpr * E)

◆ computeDependence() [54/86]

◆ computeDependence() [55/86]

◆ computeDependence() [56/86]

◆ computeDependence() [57/86]

ExprDependence clang::computeDependence ( ObjCBoxedExpr * E)

◆ computeDependence() [58/86]

◆ computeDependence() [59/86]

◆ computeDependence() [60/86]

◆ computeDependence() [61/86]

ExprDependence clang::computeDependence ( ObjCIsaExpr * E)

◆ computeDependence() [62/86]

◆ computeDependence() [63/86]

◆ computeDependence() [64/86]

◆ computeDependence() [65/86]

◆ computeDependence() [66/86]

◆ computeDependence() [67/86]

◆ computeDependence() [68/86]

◆ computeDependence() [69/86]

◆ computeDependence() [70/86]

ExprDependence clang::computeDependence ( OpenACCAsteriskSizeExpr * E)

Definition at line 957 of file ComputeDependence.cpp.

◆ computeDependence() [71/86]

◆ computeDependence() [72/86]

ExprDependence clang::computeDependence ( PackExpansionExpr * E)

◆ computeDependence() [73/86]

◆ computeDependence() [74/86]

ExprDependence clang::computeDependence ( ParenExpr * E)

◆ computeDependence() [75/86]

ExprDependence clang::computeDependence ( ParenListExpr * E)

Definition at line 219 of file ComputeDependence.cpp.

References clang::ParenListExpr::exprs().

◆ computeDependence() [76/86]

◆ computeDependence() [77/86]

◆ computeDependence() [78/86]

◆ computeDependence() [79/86]

◆ computeDependence() [80/86]

◆ computeDependence() [81/86]

◆ computeDependence() [82/86]

◆ computeDependence() [83/86]

ExprDependence clang::computeDependence ( TypeTraitExpr * E)

◆ computeDependence() [84/86]

◆ computeDependence() [85/86]

◆ computeDependence() [86/86]

◆ ComputePreambleBounds()

PreambleBounds clang::ComputePreambleBounds ( const LangOptions & LangOpts,
const llvm::MemoryBufferRef & Buffer,
unsigned MaxLines )

Runs lexer to compute suggested preamble bounds.

Definition at line 352 of file PrecompiledPreamble.cpp.

References clang::Lexer::ComputePreamble().

Referenced by clang::PrecompiledPreamble::OverridePreamble().

◆ considerVariable()

bool clang::considerVariable ( VarDecl * var,
Expr * ref,
RetainCycleOwner & owner )
static

Consider whether capturing the given variable can possibly lead to a retain cycle.

Definition at line 769 of file SemaObjC.cpp.

References clang::Qualifiers::OCL_Strong.

Referenced by clang::SemaObjC::checkRetainCycles(), and findRetainCycleOwner().

◆ continuesLineComment()

bool clang::continuesLineComment ( const FormatToken & FormatTok,
const FormatToken * Previous,
const FormatToken * MinColumnToken )
inline

Definition at line 1948 of file FormatToken.h.

Referenced by clang::format::continuesLineCommentSection().

◆ ConvertQualTypeToKind()

◆ Create()

OpenACCComputeConstruct * clang::Create ( const ASTContext & C,
OpenACCDirectiveKind K,
SourceLocation BeginLoc,
SourceLocation DirectiveLoc,
SourceLocation EndLoc,
ArrayRef< const OpenACCClause * > Clauses,
Stmt * StructuredBlock )
static

◆ CreateAndPopulateDiagOpts()

std::unique_ptr< DiagnosticOptions > clang::CreateAndPopulateDiagOpts ( ArrayRef< const char * > Argv)

◆ CreateASTDeclNodeLister()

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

Definition at line 199 of file ASTConsumers.cpp.

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

◆ CreateASTDumper() [1/2]

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

Definition at line 187 of file ASTConsumers.cpp.

◆ CreateASTDumper() [2/2]

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

Definition at line 175 of file ASTConsumers.cpp.

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

◆ CreateASTPrinter()

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

Definition at line 168 of file ASTConsumers.cpp.

References ADOF_Default.

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

◆ CreateASTViewer()

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

Definition at line 235 of file ASTConsumers.cpp.

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

◆ createChainedIncludesSource()

◆ createCrossProcessModuleCache()

IntrusiveRefCntPtr< ModuleCache > clang::createCrossProcessModuleCache ( )

Creates new ModuleCache backed by a file system directory that may be operated on by multiple processes.

This instance must be used across all CompilerInstance instances participating in building modules for single translation unit in order to share the same InMemoryModuleCache.

Definition at line 63 of file ModuleCache.cpp.

Referenced by clang::CompilerInstance::CompilerInstance(), clang::ASTUnit::create(), clang::ASTUnit::LoadFromASTFile(), clang::ASTUnit::LoadFromCommandLine(), and clang::ASTUnit::serialize().

◆ CreateDGPtrFrom()

Sema::DeclGroupPtrTy clang::CreateDGPtrFrom ( Sema & S,
Decl * D )

Definition at line 40 of file InterpreterUtils.cpp.

References clang::Sema::BuildDeclaratorGroup().

◆ CreateEmpty()

OpenACCComputeConstruct * clang::CreateEmpty ( const ASTContext & C,
unsigned NumClauses )
static

References C, and OpenACCComputeConstruct().

◆ CreateFrontendAction()

◆ CreateFrontendBaseAction()

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

Definition at line 47 of file ExecuteCompilerInvocation.cpp.

References clang::FrontendOptions::ActionName, clang::frontend::ASTDeclList, clang::frontend::ASTDump, clang::frontend::ASTPrint, clang::frontend::ASTView, clang::PluginASTAction::CmdlineAfterMainAction, clang::frontend::DumpCompilerOptions, clang::frontend::DumpRawTokens, clang::frontend::DumpTokens, clang::frontend::EmitAssembly, clang::frontend::EmitBC, clang::frontend::EmitCIR, clang::frontend::EmitCodeGenOnly, clang::frontend::EmitHTML, clang::frontend::EmitLLVM, clang::frontend::EmitLLVMOnly, clang::frontend::EmitObj, clang::frontend::ExtractAPI, clang::frontend::FixIt, clang::frontend::GenerateHeaderUnit, clang::frontend::GenerateInterfaceStubs, clang::frontend::GenerateModule, clang::frontend::GenerateModuleInterface, clang::frontend::GeneratePCH, clang::frontend::GenerateReducedModuleInterface, clang::CompilerInstance::getDiagnostics(), clang::CompilerInstance::getFrontendOpts(), clang::CompilerInstance::getPreprocessorOutputOpts(), clang::frontend::InitOnly, clang::frontend::ParseSyntaxOnly, clang::frontend::PluginAction, clang::FrontendOptions::PluginArgs, clang::frontend::PrintDependencyDirectivesSourceMinimizerOutput, 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, clang::FrontendOptions::UseClangIRPipeline, and clang::frontend::VerifyPCH.

Referenced by CreateFrontendAction().

◆ CreateHLSLAttributedResourceType()

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

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

◆ createInvocation()

std::unique_ptr< CompilerInvocation > clang::createInvocation ( ArrayRef< const char * > Args,
CreateInvocationOptions Opts = {} )

Interpret clang arguments in preparation to parse a file.

This simulates a number of steps Clang takes when its driver is invoked:

  • choosing actions (e.g compile + link) to run
  • probing the system for settings like standard library locations
  • spawning a cc1 subprocess to compile code, with more explicit arguments
  • in the cc1 process, assembling those arguments into a CompilerInvocation which is used to configure the parser

This simulation is lossy, e.g. in some situations one driver run would result in multiple parses. (Multi-arch, CUDA, ...). This function tries to select a reasonable invocation that tools should use.

Args[0] should be the driver name, such as "clang" or "/usr/bin/g++". Absolute path is preferred - this affects searching for system headers.

May return nullptr if an invocation could not be determined. See CreateInvocationOptions::ShouldRecoverOnErrors to try harder!

Definition at line 31 of file CreateInvocationFromCommandLine.cpp.

References clang::driver::Driver::BuildCompilation(), C, clang::CreateInvocationOptions::CC1Args, clang::CompilerInstance::createDiagnostics(), clang::CompilerInvocation::CreateFromArgs(), clang::CreateInvocationOptions::Diags, clang::driver::JobList::end(), clang::driver::Command::getArguments(), clang::driver::Command::getCreator(), clang::driver::Tool::getName(), isa(), clang::driver::JobList::Print(), clang::CreateInvocationOptions::ProbePrecompiled, clang::CreateInvocationOptions::RecoverOnError, clang::driver::Driver::setCheckInputsExist(), clang::driver::Driver::setProbePrecompiled(), clang::driver::JobList::size(), and clang::CreateInvocationOptions::VFS.

Referenced by clang::ASTUnit::LoadFromCommandLine().

◆ CreateItaniumCXXABI()

CXXABI * clang::CreateItaniumCXXABI ( ASTContext & Ctx)

Creates an instance of a C++ ABI class.

Definition at line 291 of file ItaniumCXXABI.cpp.

Referenced by createCXXABI().

◆ createItaniumNumberingContext()

std::unique_ptr< MangleNumberingContext > clang::createItaniumNumberingContext ( MangleContext * Mangler)

Definition at line 296 of file ItaniumCXXABI.cpp.

References cast().

◆ createJITTargetMachineBuilder()

llvm::Expected< llvm::orc::JITTargetMachineBuilder > clang::createJITTargetMachineBuilder ( const std::string & TT)
static

◆ CreateLLVMCodeGen()

CodeGenerator * clang::CreateLLVMCodeGen ( DiagnosticsEngine & Diags,
llvm::StringRef ModuleName,
IntrusiveRefCntPtr< llvm::vfs::FileSystem > FS,
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 364 of file ModuleBuilder.cpp.

References C.

Referenced by clang::BackendConsumer::BackendConsumer().

◆ CreateMicrosoftCXXABI()

CXXABI * clang::CreateMicrosoftCXXABI ( ASTContext & Ctx)

Definition at line 330 of file MicrosoftCXXABI.cpp.

Referenced by createCXXABI().

◆ 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 )

◆ CreateRISCVIntrinsicManager()

std::unique_ptr< clang::sema::RISCVIntrinsicManager > clang::CreateRISCVIntrinsicManager ( Sema & S)

Definition at line 498 of file SemaRISCV.cpp.

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

◆ createSharedMemoryManager()

Expected< std::unique_ptr< llvm::jitlink::JITLinkMemoryManager > > clang::createSharedMemoryManager ( llvm::orc::SimpleRemoteEPC & SREPC,
unsigned SlabAllocateSize )

Definition at line 140 of file IncrementalExecutor.cpp.

Referenced by clang::IncrementalExecutor::launchExecutor().

◆ createVFSFromCompilerInvocation() [1/2]

◆ createVFSFromCompilerInvocation() [2/2]

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

◆ createVFSFromOverlayFiles()

IntrusiveRefCntPtr< llvm::vfs::FileSystem > clang::createVFSFromOverlayFiles ( ArrayRef< std::string > VFSOverlayFiles,
DiagnosticsEngine & Diags,
IntrusiveRefCntPtr< llvm::vfs::FileSystem > BaseFS )

◆ CStyleCastPtrExpr() [1/2]

◆ CStyleCastPtrExpr() [2/2]

Expr * clang::CStyleCastPtrExpr ( Sema & S,
QualType Ty,
uintptr_t Ptr )

◆ CudaFeatureEnabled() [1/2]

bool clang::CudaFeatureEnabled ( CudaVersion Version,
CudaFeature Feature )

Definition at line 159 of file Cuda.cpp.

References CUDA_101, CUDA_92, CUDA_USES_FATBIN_REGISTER_END, CUDA_USES_NEW_LAUNCH, and Feature.

◆ CudaFeatureEnabled() [2/2]

bool clang::CudaFeatureEnabled ( llvm::VersionTuple Version,
CudaFeature Feature )

◆ CudaStringToVersion()

CudaVersion clang::CudaStringToVersion ( const llvm::Twine & S)

Definition at line 61 of file Cuda.cpp.

References CudaNameVersionMap, and UNKNOWN.

◆ CudaVersionToString()

◆ CustomizableOptional()

template<typename T>
clang::CustomizableOptional ( const T & ) -> CustomizableOptional< T >

References T.

◆ declaresSameEntity()

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

Determine whether two declarations declare the same entity.

Definition at line 1288 of file DeclBase.h.

References clang::Decl::getCanonicalDecl().

Referenced by clang::SemaObjC::ActOnPropertyImplDecl(), clang::SemaObjC::ActOnStartClassImplementation(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), allLookupResultsAreTheSame(), allowAmbiguity(), clang::ASTContext::areCommonBaseCompatible(), clang::Sema::BuildBaseInitializer(), clang::Sema::BuildCXXConstructExpr(), clang::SemaSYCL::BuildSYCLKernelCallStmt(), clang::ASTContext::canAssignObjCInterfaces(), clang::Sema::CheckDestructor(), clang::Sema::CheckForFunctionRedefinition(), clang::Sema::CheckMemberPointerConversion(), clang::Sema::CheckPointerToMemberOperands(), CheckRelatedResultTypeCompatibility(), clang::SemaSYCL::CheckSYCLEntryPointFunctionDecl(), clang::Sema::checkTypeDeclType(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::DiagnoseUnexpandedParameterPacks(), EmitObjectDelete(), clang::Sema::FindCompositePointerType(), clang::Sema::findInheritingConstructor(), getCommonDecl(), getCommonNNS(), getCommonNonSugarTypeNode(), clang::CXXMethodDecl::getCorrespondingMethodInClass(), clang::Sema::getMostSpecialized(), HandleConstructorCall(), HandleDynamicCast(), clang::Sema::HandleFunctionTypeMismatch(), handlePreferredName(), clang::ASTNodeImporter::ImportDefinition(), isBaseClassPublic(), clang::Sema::IsFunctionConversion(), isInstantiationOf(), isInstantiationOf(), isInstantiationOf(), isInstantiationOfUnresolvedUsingDecl(), clang::Sema::IsMemberPointerConversion(), isOrIsDerivedFromSpecializationOf(), isRelevantAttr(), clang::Expr::isSameComparisonOperand(), clang::ASTContext::isSameEntity(), isSameQualifier(), clang::Sema::IsSimplyAccessible(), clang::ObjCInterfaceDecl::isSuperClassOf(), isZeroInitialized(), clang::SemaObjC::LookupIvarInObjCMethod(), LookupMemberExpr(), MaybeHandleUnionActiveMemberChange(), clang::Sema::mergeUuidAttr(), clang::ASTContext::ProtocolCompatibleWithProtocol(), clang::ASTContext::registerSYCLEntryPointFunction(), shouldAddReversedEqEq(), clang::ASTDeclReader::VisitFunctionDecl(), and clang::ASTNodeImporter::VisitObjCImplementationDecl().

◆ DeclAttrsMatchCUDAMode()

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

Definition at line 41 of file SemaInternal.h.

References clang::Decl::hasAttr().

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

◆ DecodePPCMMATypeFromStr()

QualType clang::DecodePPCMMATypeFromStr ( ASTContext & Context,
const char *& Str,
unsigned & Mask )
static

DecodePPCMMATypeFromStr - This decodes one PPC MMA type descriptor from Str, advancing the pointer over the consumed characters.

The decoded type is returned. If the decoded type represents a constant integer with a constraint on its value then Mask is set to that value. The type descriptors used in Str are specific to PPC MMA builtins and are documented in the file defining the PPC builtins.

Definition at line 284 of file SemaPPC.cpp.

References AltiVecVector, Error, and clang::ASTContext::GE_None.

Referenced by clang::SemaPPC::BuiltinPPCMMACall().

◆ DEF_TRAVERSE_TYPE() [1/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [2/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [3/27]

clang::DEF_TRAVERSE_TYPE ( AutoType ,
{ TRY_TO(TraverseType(T->getDeducedType()));if(T->isConstrained()) { TRY_TO(TraverseTemplateArguments(T->getTypeConstraintArguments()));} }  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [4/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [5/27]

clang::DEF_TRAVERSE_TYPE ( BTFTagAttributedType ,
{ TRY_TO(TraverseType(T->getWrappedType()));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [6/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [7/27]

clang::DEF_TRAVERSE_TYPE ( ConstantArrayType ,
{ TRY_TO(TraverseType(T->getElementType()));if(T->getSizeExpr()) TRY_TO(TraverseStmt(const_cast< Expr * >(T->getSizeExpr())));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [8/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [9/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [10/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [11/27]

clang::DEF_TRAVERSE_TYPE ( EnumType ,
{ TRY_TO(TraverseTagType(T, TraverseQualifier));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [12/27]

clang::DEF_TRAVERSE_TYPE ( FunctionNoProtoType ,
{ TRY_TO(TraverseType(T->getReturnType()));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [13/27]

clang::DEF_TRAVERSE_TYPE ( HLSLInlineSpirvType ,
{ for(auto &Operand :T->getOperands()) { if(Operand.isConstant()||Operand.isType()) { TRY_TO(TraverseType(Operand.getResultType()));} } }  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [14/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [15/27]

clang::DEF_TRAVERSE_TYPE ( InjectedClassNameType ,
{ TRY_TO(TraverseTagType(T, TraverseQualifier));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [16/27]

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

Definition at line 1173 of file RecursiveASTVisitor.h.

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [17/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [18/27]

clang::DEF_TRAVERSE_TYPE ( PackExpansionType ,
{ TRY_TO(TraverseType(T->getPattern()));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [19/27]

clang::DEF_TRAVERSE_TYPE ( PackIndexingType ,
{ TRY_TO(TraverseType(T->getPattern()));TRY_TO(TraverseStmt(T->getIndexExpr()));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [20/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [21/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [22/27]

clang::DEF_TRAVERSE_TYPE ( SubstTemplateTypeParmPackType ,
{ TRY_TO(TraverseSubstPackTypeHelper(T));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [23/27]

clang::DEF_TRAVERSE_TYPE ( TemplateSpecializationType ,
{ if(TraverseQualifier) { TRY_TO(TraverseTemplateName(T->getTemplateName()));} else { TRY_TO(TraverseTemplateName(TemplateName(T->getTemplateName().getAsTemplateDecl(true))));} TRY_TO(TraverseTemplateArguments(T->template_arguments()));}  )

References T, TemplateName, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [24/27]

clang::DEF_TRAVERSE_TYPE ( TypedefType ,
{ if(TraverseQualifier) TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [25/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [26/27]

clang::DEF_TRAVERSE_TYPE ( UsingType ,
{ if(TraverseQualifier) TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));}  )

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPE() [27/27]

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

References T, and TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [1/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [2/25]

clang::DEF_TRAVERSE_TYPELOC ( AttributedType ,
{ TRY_TO(TraverseTypeLoc(TL.getModifiedLoc()));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [3/25]

clang::DEF_TRAVERSE_TYPELOC ( AutoType ,
{ TRY_TO(TraverseType(TL.getTypePtr() ->getDeducedType()));if(TL.isConstrained()) { TRY_TO(TraverseConceptReference(TL.getConceptReference()));} }  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [4/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [5/25]

clang::DEF_TRAVERSE_TYPELOC ( BTFTagAttributedType ,
{ TRY_TO(TraverseTypeLoc(TL.getWrappedLoc()));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [6/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [7/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [8/25]

clang::DEF_TRAVERSE_TYPELOC ( ConstantMatrixType ,
{ TRY_TO(TraverseStmt(TL.getAttrRowOperand()));TRY_TO(TraverseStmt(TL.getAttrColumnOperand()));TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [9/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [10/25]

clang::DEF_TRAVERSE_TYPELOC ( DependentSizedExtVectorType ,
{ if(TL.getTypePtr() ->getSizeExpr()) TRY_TO(TraverseStmt(TL.getTypePtr() ->getSizeExpr()));TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [11/25]

clang::DEF_TRAVERSE_TYPELOC ( DependentVectorType ,
{ if(TL.getTypePtr() ->getSizeExpr()) TRY_TO(TraverseStmt(TL.getTypePtr() ->getSizeExpr()));TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [12/25]

clang::DEF_TRAVERSE_TYPELOC ( EnumType ,
{ TRY_TO(TraverseTagTypeLoc(TL, TraverseQualifier));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [13/25]

clang::DEF_TRAVERSE_TYPELOC ( FunctionNoProtoType ,
{ TRY_TO(TraverseTypeLoc(TL.getReturnLoc()));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [14/25]

clang::DEF_TRAVERSE_TYPELOC ( HLSLInlineSpirvType ,
{ TRY_TO(TraverseType(TL.getType()));}  )

Definition at line 1518 of file RecursiveASTVisitor.h.

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [15/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [16/25]

clang::DEF_TRAVERSE_TYPELOC ( InjectedClassNameType ,
{ TRY_TO(TraverseTagTypeLoc(TL, TraverseQualifier));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [17/25]

clang::DEF_TRAVERSE_TYPELOC ( PackExpansionType ,
{ TRY_TO(TraverseTypeLoc(TL.getPatternLoc()));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [18/25]

clang::DEF_TRAVERSE_TYPELOC ( PackIndexingType ,
{ TRY_TO(TraverseType(TL.getPattern()));TRY_TO(TraverseStmt(TL.getTypePtr() ->getIndexExpr()));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [19/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [20/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [21/25]

clang::DEF_TRAVERSE_TYPELOC ( SubstTemplateTypeParmPackType ,
{ TRY_TO(TraverseSubstPackTypeLocHelper(TL));}  )

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [22/25]

clang::DEF_TRAVERSE_TYPELOC ( TemplateSpecializationType ,
{ if(TraverseQualifier) TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));TRY_TO(TraverseTemplateName(TemplateName(TL.getTypePtr() ->getTemplateName().getAsTemplateDecl(true))));for(unsigned I=0, E=TL.getNumArgs();I !=E;++I) { TRY_TO(TraverseTemplateArgumentLoc(TL.getArgLoc(I)));} }  )

◆ DEF_TRAVERSE_TYPELOC() [23/25]

clang::DEF_TRAVERSE_TYPELOC ( TypedefType ,
{ if(NestedNameSpecifierLoc QualifierLoc=TL.getQualifierLoc();TraverseQualifier &&QualifierLoc) TRY_TO(TraverseNestedNameSpecifierLoc(QualifierLoc));}  )

◆ DEF_TRAVERSE_TYPELOC() [24/25]

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

References TRY_TO.

◆ DEF_TRAVERSE_TYPELOC() [25/25]

clang::DEF_TRAVERSE_TYPELOC ( UsingType ,
{ if(NestedNameSpecifierLoc QualifierLoc=TL.getQualifierLoc();TraverseQualifier &&QualifierLoc) TRY_TO(TraverseNestedNameSpecifierLoc(QualifierLoc));}  )

◆ desugarForDiagnostic()

QualType clang::desugarForDiagnostic ( ASTContext & Context,
QualType QT,
bool & ShouldAKA )

Returns a desugared version of the QualType, and marks ShouldAKA as true whenever we remove significant sugar from the type.

Make sure ShouldAKA is initialized before passing it in.

Definition at line 32 of file ASTDiagnostic.cpp.

References clang::QualifierCollector::apply(), desugarForDiagnostic(), clang::Type::getAs(), clang::FunctionProtoType::getExtProtoInfo(), clang::Type::getTypeClass(), isa(), clang::FunctionProtoType::param_types(), clang::QualifierCollector::strip(), and clang::TemplateArgument::Type.

Referenced by ConvertTypeToDiagnosticString(), and desugarForDiagnostic().

◆ diagGroupFromCLWarningID()

std::optional< diag::Group > clang::diagGroupFromCLWarningID ( unsigned CLWarningID)

For cl.exe warning IDs that cleany map to clang diagnostic groups, returns the corresponding group.

Else, returns an empty Optional.

Definition at line 20 of file CLWarnings.cpp.

Referenced by clang::driver::tools::Clang::ConstructJob().

◆ diagnoseRetainCycle()

void clang::diagnoseRetainCycle ( Sema & S,
Expr * capturer,
RetainCycleOwner & owner )
static

◆ doesKeywordAttributeTakeArgs()

bool clang::doesKeywordAttributeTakeArgs ( tok::TokenKind Kind)
inline

Definition at line 288 of file AttributeCommonInfo.h.

◆ DoPrintPreprocessedInput()

◆ DoRewriteTest()

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

◆ EmbedBitcode()

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

◆ EmbedObject()

◆ emitBackendOutput()

◆ EmitIncompleteCountedByPointeeNotes()

◆ escapeCStyle()

template<EscapeChar Opt, class CharT>
LLVM_READONLY auto clang::escapeCStyle ( CharT Ch) -> StringRef
inline

Return C-style escaped string for special characters, or an empty string if there is no such mapping.

Definition at line 191 of file CharInfo.h.

References Double, and Single.

Referenced by clang::StringLiteral::outputString(), clang::CharacterLiteral::print(), TryPrintAsStringLiteral(), and WriteCharValueForDiagnostic().

◆ EscapeStringForDiagnostic()

void clang::EscapeStringForDiagnostic ( StringRef Str,
SmallVectorImpl< char > & OutStr )

EscapeStringForDiagnostic - Append Str to the diagnostic buffer, escaping non-printable characters and ill-formed code unit sequences.

Definition at line 1090 of file Diagnostic.cpp.

References isPrintable(), and isWhitespace().

Referenced by clang::Diagnostic::FormatDiagnostic(), FormatUTFCodeUnitAsCodepoint(), and WriteCharValueForDiagnostic().

◆ exceptionSpecNotKnownYet()

◆ ExecuteCompilerInvocation()

◆ 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 126 of file Sanitizers.cpp.

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

◆ expandUCNs()

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

Copy characters from Input to Buf, expanding any UCNs.

Definition at line 381 of file LiteralSupport.cpp.

References appendCodePoint().

Referenced by clang::CharLiteralParser::CharLiteralParser(), clang::Preprocessor::LookUpIdentifierInfo(), and clang::NumericLiteralParser::NumericLiteralParser().

◆ ExprEmpty()

◆ ExprError() [1/2]

ExprResult clang::ExprError ( )
inline

Definition at line 265 of file Ownership.h.

Referenced by clang::SemaOpenACC::ActOnArraySectionExpr(), clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnBuiltinBitCastExpr(), clang::Sema::ActOnBuiltinOffsetOf(), clang::SemaOpenACC::ActOnCacheVar(), clang::Sema::ActOnCaseExpr(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnChooseExpr(), clang::SemaObjC::ActOnClassMessage(), clang::SemaObjC::ActOnClassPropertyRefExpr(), clang::Sema::ActOnCoawaitExpr(), clang::Sema::ActOnConditionalOp(), clang::Sema::ActOnCoyieldExpr(), clang::Sema::ActOnCXXAssumeAttr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXFoldExpr(), clang::Sema::ActOnCXXNamedCast(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnCXXThis(), clang::Sema::ActOnCXXTypeConstructExpr(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnCXXUuidof(), clang::Sema::ActOnDecltypeExpression(), clang::Sema::ActOnDependentIdExpression(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnDesignatedInitializer(), clang::SemaCUDA::ActOnExecConfigExpr(), clang::Sema::ActOnExpressionTrait(), clang::Sema::ActOnFinishFullExpr(), clang::Sema::ActOnGCCAsmStmtString(), clang::Sema::ActOnIdExpression(), clang::SemaObjC::ActOnInstanceMessage(), clang::SemaOpenACC::ActOnIntExpr(), clang::Sema::ActOnMemberAccessExpr(), clang::Sema::ActOnNumericConstant(), clang::SemaObjC::ActOnObjCAtSynchronizedOperand(), clang::SemaOpenMP::ActOnOMPArraySectionExpr(), clang::SemaOpenMP::ActOnOMPArrayShapingExpr(), clang::SemaOpenMP::ActOnOMPIteratorExpr(), clang::SemaOpenMP::ActOnOpenMPIdExpression(), clang::SemaHLSL::ActOnOutParamExpr(), clang::Sema::ActOnPackIndexingExpr(), clang::Sema::ActOnPostfixUnaryOp(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnRequiresClause(), clang::Sema::ActOnRequiresExpr(), clang::SemaOpenACC::ActOnRoutineName(), clang::Sema::ActOnSizeofParameterPackExpr(), clang::Sema::ActOnSourceLocExpr(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStmtExprResult(), clang::Sema::ActOnStringLiteral(), clang::SemaObjC::ActOnSuperMessage(), clang::Sema::ActOnUnaryExprOrTypeTraitExpr(), clang::Sema::ActOnUnevaluatedStringLiteral(), clang::SemaSYCL::ActOnUniqueStableNameExpr(), clang::SemaOpenACC::ActOnVar(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildAsTypeExpr(), clang::Sema::BuildAtomicExpr(), clang::Sema::BuildBinOp(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildBuiltinBitCastExpr(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallExpr(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), buildCapture(), clang::Sema::BuildCaptureInit(), clang::SemaObjC::BuildClassMessage(), clang::Sema::BuildCompoundLiteralExpr(), BuildConvertedConstantExpression(), BuildCookedLiteralOperatorCall(), buildCoroutineHandle(), buildCounterInit(), buildCounterUpdate(), clang::Sema::BuildCoyieldExpr(), clang::Sema::BuildCStyleCastExpr(), clang::Sema::BuildCXXAssumeExpr(), BuildCXXCastArgument(), clang::Sema::BuildCXXConstructExpr(), clang::Sema::BuildCXXConstructExpr(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXDefaultInitExpr(), clang::Sema::BuildCXXFunctionalCastExpr(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::BuildCXXNamedCast(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXNoexceptExpr(), clang::Sema::BuildCXXThrow(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildCXXUuidof(), clang::Sema::BuildCXXUuidof(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildDeclarationNameExpr(), buildDeclareReductionRef(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildExpressionTrait(), clang::Sema::BuildFieldReferenceExpr(), clang::Sema::BuildForRangeBeginEndCall(), clang::SemaObjC::BuildInstanceMessage(), clang::SemaObjC::BuildIvarRefExpr(), clang::Sema::BuildLambdaExpr(), clang::Sema::BuildLiteralOperatorCall(), buildMemberCall(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildMemberReferenceExpr(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCBoxedExpr(), clang::SemaObjC::BuildObjCBridgedCast(), clang::SemaObjC::BuildObjCDictionaryLiteral(), clang::SemaObjC::BuildObjCEncodeExpression(), clang::SemaObjC::BuildObjCNumericLiteral(), clang::SemaObjC::BuildObjCSubscriptExpression(), buildOperatorCoawaitCall(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::buildOverloadedCallSet(), clang::Sema::BuildPackIndexingExpr(), clang::Sema::BuildPossibleImplicitMemberExpr(), buildPromiseCall(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildQualifiedTemplateIdExpr(), BuildRecoveryCallExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildResolvedCoawaitExpr(), clang::Sema::BuildSynthesizedThreeWayComparison(), clang::Sema::BuildTemplateIdExpr(), clang::Sema::BuildTypeTrait(), clang::Sema::BuildUnaryOp(), clang::Sema::BuildUnresolvedCoawaitExpr(), buildUserDefinedMapperRef(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorLiteral(), BuiltinDumpStruct(), BuiltinInvoke(), BuiltinIsWithinLifetime(), BuiltinLaunder(), BuiltinMaskedGather(), BuiltinMaskedLoad(), BuiltinMaskedScatter(), BuiltinMaskedStore(), clang::Sema::BuiltinShuffleVector(), BuiltinTriviallyRelocate(), BuiltinVectorMathConversions(), calculateConstraintSatisfaction(), calculateConstraintSatisfaction(), calculateConstraintSatisfaction(), clang::Sema::CallExprUnaryConversions(), checkArrayLikeDecomposition(), clang::SemaPseudoObject::checkAssignment(), clang::Sema::CheckBooleanCondition(), clang::SemaOpenACC::CheckCollapseLoopCount(), clang::Sema::CheckConceptTemplateId(), clang::Sema::CheckConditionVariable(), CheckConvertibilityForTypeTraits(), clang::Sema::CheckExtVectorCast(), clang::SemaOpenACC::CheckGangExpr(), clang::SemaPseudoObject::checkIncDec(), clang::Sema::CheckLValueToRValueConversionOperand(), CheckObjCCollectionLiteralElement(), clang::SemaObjC::CheckObjCForCollectionOperand(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckPlaceholderExpr(), clang::SemaOpenACC::CheckReductionVar(), clang::Sema::CheckSwitchCondition(), clang::Sema::CheckTemplateArgument(), clang::SemaOpenACC::CheckTileSizeExpr(), clang::Sema::checkUnknownAnyArg(), clang::Sema::checkUnknownAnyCast(), clang::Sema::CheckVarTemplateId(), clang::Sema::ConvertVectorExpr(), CopyObject(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinMatrixSubscriptExpr(), clang::Sema::CreateBuiltinUnaryOp(), CreateFunctionRefExpr(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::CreateRecoveryExpr(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DefaultFunctionArrayLvalueConversion(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefaultVariadicArgumentPromotion(), diagnoseAmbiguousConversion(), diagnoseUnknownAnyExpr(), EvaluateAsStringImpl(), EvaluateAtomicConstraint(), clang::Sema::EvaluateConvertedConstantExpression(), ExprError(), clang::SemaBase::SemaDiagnosticBuilder::ExprError, FinishOverloadedCallExpr(), clang::Sema::FixOverloadedFunctionReference(), clang::SemaOpenMP::getOpenMPCapturedExpr(), GetVTablePointer(), clang::Sema::HandleExprEvaluationContextForTypeof(), clang::SemaObjC::HandleExprPropertyRefExpr(), clang::Sema::ImpCastExprToType(), clang::Sema::LookupInlineAsmIdentifier(), clang::SemaObjC::LookupInObjCMethod(), LookupMemberExpr(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MaybeConvertParenListExprToParenExpr(), clang::Sema::MaybeCreateExprWithCleanups(), clang::SemaBase::SemaDiagnosticBuilder::operator ExprResult(), clang::Parser::ParseAssignmentExpression(), clang::Parser::ParseConditionalExpression(), clang::Parser::ParseConstraintExpression(), clang::Parser::ParseConstraintLogicalAndExpression(), clang::Parser::ParseConstraintLogicalOrExpression(), clang::Parser::ParseOpenMPParensExpr(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformContextuallyConvertToObjCPointer(), clang::Sema::PerformCopyInitialization(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformImplicitObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), clang::SemaOpenMP::PerformOpenMPImplicitIntegerConversion(), PointerAuthAuthAndResign(), PointerAuthBlendDiscriminator(), PointerAuthSignGenericData(), PointerAuthSignOrAuth(), PointerAuthStringDiscriminator(), PointerAuthStrip(), clang::Sema::prepareVectorSplat(), clang::TreeTransform< AdjustConstraintDepth >::RebuildCoawaitExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildConceptSpecializationExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildCXXConstructExpr(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildCXXThisExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildDesignatedInitExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildMemberExpr(), rebuildPotentialResultsAsNonOdrUsed(), clang::TreeTransform< AdjustConstraintDepth >::RebuildUnaryExprOrTypeTrait(), rebuildUnknownAnyFunction(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), sharedGetConstructorDestructorAttrExpr(), clang::Sema::TemporaryMaterializationConversion(), clang::TreeTransform< Derived >::TransformCXXNamedCastExpr(), clang::TreeTransform< Derived >::TransformInitializer(), clang::TreeTransform< AdjustConstraintDepth >::TransformRequiresTypeParams(), TryReinterpretCast(), TryStaticCast(), clang::Sema::tryToRecoverWithCall(), clang::Sema::UsualUnaryConversions(), clang::Sema::VerifyBitField(), clang::Sema::VerifyIntegerConstantExpression(), clang::SemaOpenMP::VerifyPositiveIntegerConstantInClause(), and widenIterationCount().

◆ ExprError() [2/2]

ExprResult clang::ExprError ( const StreamingDiagnostic & )
inline

Definition at line 269 of file Ownership.h.

References ExprError().

◆ extractElementInitializerFromNestedAILE()

Expr * clang::extractElementInitializerFromNestedAILE ( const ArrayInitLoopExpr * AILE)

Definition at line 1448 of file CFG.cpp.

References clang::ArrayInitLoopExpr::getSubExpr().

Referenced by bindRequiredArrayElementToEnvironment().

◆ finalize()

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

Definition at line 52 of file TemplateInstCallback.h.

References C.

Referenced by ParseAST(), and clang::format::MacroCallReconstructor::takeResult().

◆ findCapturingExpr()

◆ findRetainCycleOwner()

◆ findUnsafePointers()

◆ FixedPointValueToString()

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

Definition at line 5464 of file Type.cpp.

Referenced by clang::FixedPointLiteral::getValueAsString().

◆ for() [1/4]

clang::for ( auto typeArg :T-> getTypeArgsAsWritten())

Definition at line 1228 of file RecursiveASTVisitor.h.

References T, and TRY_TO.

◆ for() [2/4]

◆ for() [3/4]

clang::for ( const auto &E :T-> exceptions())

Definition at line 1093 of file RecursiveASTVisitor.h.

References T, and TRY_TO.

◆ for() [4/4]

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

Definition at line 1416 of file RecursiveASTVisitor.h.

References T, and TRY_TO.

◆ 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 353 of file ASTDiagnostic.cpp.

References clang::DiagnosticsEngine::ak_addrspace, clang::DiagnosticsEngine::ak_attr, clang::DiagnosticsEngine::ak_attr_info, clang::DiagnosticsEngine::ak_declarationname, clang::DiagnosticsEngine::ak_declcontext, clang::DiagnosticsEngine::ak_expr, clang::DiagnosticsEngine::ak_nameddecl, clang::DiagnosticsEngine::ak_nestednamespec, clang::DiagnosticsEngine::ak_qual, clang::DiagnosticsEngine::ak_qualtype, clang::DiagnosticsEngine::ak_qualtype_pair, cast(), ConvertTypeToDiagnosticString(), clang::TemplateDiffTypes::ElideType, FormatTemplateTypeDiff(), clang::Qualifiers::fromOpaqueValue(), clang::TemplateDiffTypes::FromType, clang::Qualifiers::getAddrSpaceAsString(), clang::Qualifiers::getAsString(), clang::AttributeCommonInfo::getAttrName(), clang::DeclarationName::getFromOpaqueInteger(), clang::QualType::getFromOpaquePtr(), clang::NestedNameSpecifier::getFromVoidPointer(), clang::IdentifierInfo::getName(), clang::NamedDecl::getNameForDiagnostic(), clang::AttributeCommonInfo::getNormalizedFullName(), clang::AttributeCommonInfo::getScopeName(), clang::Attr::getSpelling(), clang::AttributeCommonInfo::hasScope(), isa(), clang::DeclContext::isClosure(), isLambdaCallOperator(), clang::AttributeCommonInfo::isStandardAttributeSyntax(), clang::DeclContext::isTranslationUnit(), OpenCL, clang::NestedNameSpecifier::print(), clang::TemplateDiffTypes::PrintFromType, clang::Stmt::printPretty(), clang::TemplateDiffTypes::PrintTree, Qualified, clang::TemplateDiffTypes::ShowColors, clang::TemplateDiffTypes::TemplateDiffUsed, and clang::TemplateDiffTypes::ToType.

Referenced by clang::ASTMergeAction::ExecuteAction(), and clang::Sema::Sema().

◆ FormatUTFCodeUnitAsCodepoint()

std::string clang::FormatUTFCodeUnitAsCodepoint ( unsigned Value,
QualType T )

◆ FTIHasNonVoidParameters()

◆ FTIHasSingleVoidParameter()

◆ getAccessSpelling()

llvm::StringRef clang::getAccessSpelling ( AccessSpecifier AS)
inline

Definition at line 419 of file Specifiers.h.

References AS_none, AS_private, AS_protected, and AS_public.

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

◆ getAllPossibleAMDGPUTargetIDFeatures()

llvm::SmallVector< llvm::StringRef, 4 > clang::getAllPossibleAMDGPUTargetIDFeatures ( const llvm::Triple & T,
llvm::StringRef Proc )
static

Definition at line 20 of file TargetID.cpp.

References T.

Referenced by getAllPossibleTargetIDFeatures().

◆ getAllPossibleTargetIDFeatures()

llvm::SmallVector< llvm::StringRef, 4 > clang::getAllPossibleTargetIDFeatures ( const llvm::Triple & T,
llvm::StringRef Processor )

Get all feature strings that can be used in target ID for Processor.

Target ID is a processor name with optional feature strings postfixed by a plus or minus sign delimited by colons, e.g. gfx908:xnack+:sramecc-. Each processor have a limited number of predefined features when showing up in a target ID.

Definition at line 38 of file TargetID.cpp.

References getAllPossibleAMDGPUTargetIDFeatures(), and T.

Referenced by clang::driver::tools::amdgpu::getAMDGPUTargetFeatures(), clang::targets::AMDGPUTargetInfo::getTargetDefines(), clang::targets::AMDGPUTargetInfo::handleTargetFeatures(), and parseTargetID().

◆ getAnyTargetForTesting()

std::string clang::getAnyTargetForTesting ( )

Find a target name such that looking for it in TargetRegistry by that name returns the same target.

We expect that there is at least one target configured with this property.

Definition at line 100 of file CommandLineArgs.cpp.

References Error, and Target.

◆ getArmStreamingFnType()

◆ getAsFileEvents()

std::vector< DirectoryWatcher::Event > clang::getAsFileEvents ( const std::vector< std::string > & Scan)

Create event with EventKind::Added for every element in Scan.

Definition at line 44 of file DirectoryScanner.cpp.

References File, clang::DirectoryWatcher::Event::Modified, and Scan().

◆ getAsNamedDecl()

◆ getAsString()

◆ getAsTypeTemplateDecl()

◆ getAttributePluginInstances()

const std::list< std::unique_ptr< ParsedAttrInfo > > & clang::getAttributePluginInstances ( )

Definition at line 24 of file ParsedAttrInfo.cpp.

Referenced by clang::ParsedAttrInfo::get().

◆ getBeginLocOfNestedIdentifier()

◆ getBinOpPrecedence()

◆ getCanonicalForwardRedeclChain() [1/2]

◆ getCanonicalForwardRedeclChain() [2/2]

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

Definition at line 109 of file ASTImporter.cpp.

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

◆ getCanonicalProcessorName()

llvm::StringRef clang::getCanonicalProcessorName ( const llvm::Triple & T,
llvm::StringRef Processor )
static

Returns canonical processor name or empty string if Processor is invalid.

Definition at line 47 of file TargetID.cpp.

References T.

Referenced by getProcessorFromTargetID(), and parseTargetID().

◆ getCanonicalTargetID()

std::string clang::getCanonicalTargetID ( llvm::StringRef Processor,
const llvm::StringMap< bool > & Features )

Returns canonical target ID, assuming Processor is canonical and all entries in Features are valid.

Definition at line 127 of file TargetID.cpp.

Referenced by getCanonicalArchString(), and clang::targets::AMDGPUTargetInfo::getTargetID().

◆ getCC1ArgsForTesting()

std::vector< std::string > clang::getCC1ArgsForTesting ( TestLanguage Lang)

Definition at line 56 of file CommandLineArgs.cpp.

References Lang_OBJC, Lang_OBJCXX, and Lang_OpenCL.

Referenced by clang::TestAST::TestAST().

◆ getCFBranchLabelSchemeFlagVal()

const char * clang::getCFBranchLabelSchemeFlagVal ( const CFBranchLabelSchemeKind Scheme)
inlinestatic

◆ getClangCompleteOpts()

◆ 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 113 of file Version.cpp.

References getClangFullRepositoryVersion(), and getClangVendor().

Referenced by InitializePredefinedMacros().

◆ 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 96 of file Version.cpp.

References getClangToolFullVersion().

Referenced by clang::driver::tools::ClangAs::ConstructJob(), clang::driver::Driver::generateCompilationDiagnostics(), and clang::driver::Driver::PrintVersion().

◆ 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 24 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 44 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(), and clang::driver::Driver::PrintVersion().

◆ getClangToolFullVersion() [2/2]

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

Definition at line 100 of file Version.cpp.

References getClangFullRepositoryVersion(), and getClangVendor().

◆ getClangVendor()

std::string clang::getClangVendor ( )

Retrieves the Clang vendor tag.

Definition at line 60 of file Version.cpp.

Referenced by getClangFullCPPVersion(), getClangToolFullVersion(), and clang::CodeGen::CodeGenModule::Release().

◆ getCommandLineArgsForTesting()

std::vector< std::string > clang::getCommandLineArgsForTesting ( TestLanguage Lang)

Definition at line 35 of file CommandLineArgs.cpp.

References Lang_OBJC, Lang_OBJCXX, and Lang_OpenCL.

Referenced by clang::TestClangConfig::getCommandLineArgs().

◆ getComparisonCategoryForBuiltinCmp()

std::optional< ComparisonCategoryType > clang::getComparisonCategoryForBuiltinCmp ( QualType T)

Get the comparison category that should be used when comparing values of type T.

Definition at line 25 of file ComparisonCategories.cpp.

References T.

Referenced by checkArithmeticOrEnumeralThreeWayCompare(), and clang::Sema::CheckCompareOperands().

◆ 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 3976 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 debugging.

Definition at line 90 of file CodeCompleteConsumer.cpp.

◆ getConflictTargetIDCombination()

std::optional< std::pair< llvm::StringRef, llvm::StringRef > > clang::getConflictTargetIDCombination ( const std::set< llvm::StringRef > & TargetIDs)

Get the conflicted pair of target IDs for a compilation or a bundled code object, assuming TargetIDs are canonicalized.

If there is no conflicts, returns std::nullopt.

Definition at line 142 of file TargetID.cpp.

References parseTargetIDWithFormatCheckingOnly().

Referenced by CheckHeterogeneousArchive(), and getConflictOffloadArchCombination().

◆ getConstructorInfo()

◆ GetConversionRank()

◆ getCOrLater()

std::vector< TestLanguage > clang::getCOrLater ( int MinimumStd)

Definition at line 14 of file CommandLineArgs.cpp.

References Result.

◆ getCountAttrKind()

◆ GetCountedByAttrOnIncompletePointee()

std::tuple< const CountAttributedType *, QualType > clang::GetCountedByAttrOnIncompletePointee ( QualType Ty,
NamedDecl ** ND )
static

◆ getCursorKindForDecl()

CXCursorKind clang::getCursorKindForDecl ( const Decl * D)

Determine the libclang cursor kind associated with the given declaration.

Definition at line 4288 of file SemaCodeComplete.cpp.

References cast(), Class, CXCursor_ClassDecl, CXCursor_ClassTemplate, CXCursor_ClassTemplatePartialSpecialization, CXCursor_ConceptDecl, CXCursor_Constructor, CXCursor_ConversionFunction, CXCursor_CXXAccessSpecifier, CXCursor_CXXMethod, CXCursor_Destructor, CXCursor_EnumConstantDecl, CXCursor_EnumDecl, CXCursor_FieldDecl, CXCursor_FriendDecl, CXCursor_FunctionDecl, CXCursor_FunctionTemplate, CXCursor_LinkageSpec, 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, Enum, clang::Decl::getKind(), Interface, Struct, clang::ObjCPropertyImplDecl::Synthesize, and Union.

Referenced by clang::SemaCodeCompletion::CodeCompleteConstructorInitializer().

◆ getCXXOrLater()

std::vector< TestLanguage > clang::getCXXOrLater ( int MinimumStd)

Definition at line 24 of file CommandLineArgs.cpp.

References Result.

◆ getDeclUsageType()

QualType clang::getDeclUsageType ( ASTContext & C,
NestedNameSpecifier Qualifier,
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 949 of file SemaCodeComplete.cpp.

References Block, C, cast(), Enumerator, Function, clang::Decl::getAsFunction(), clang::Value::getType(), clang::NamedDecl::getUnderlyingDecl(), Method, None, Pointer, Property, and T.

◆ getDefaultLanguageStandard()

LangStandard::Kind clang::getDefaultLanguageStandard ( clang::Language Lang,
const llvm::Triple & T )

Definition at line 91 of file LangStandards.cpp.

References Asm, C, CIR, CUDA, CXX, HIP, HLSL, LLVM_IR, ObjC, ObjCXX, OpenCL, OpenCLCXX, T, and Unknown.

Referenced by clang::LangOptions::setLangDefaults().

◆ getDepthAndIndex() [1/2]

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

◆ getDepthAndIndex() [2/2]

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

Retrieve the depth and index of an unexpanded parameter pack.

Returns nullopt when the unexpanded packs do not correspond to template parameters, e.g. __builtin_dedup_types.

Definition at line 77 of file SemaInternal.h.

References cast(), getDepthAndIndex(), and isa().

◆ GetDimensionConversionRank()

◆ getDLLAttr()

◆ GetEnclosingNamedOrTopAnonRecord()

const RecordDecl * clang::GetEnclosingNamedOrTopAnonRecord ( const FieldDecl * FD)
static

◆ getExpandedPackSize()

UnsignedOrNone clang::getExpandedPackSize ( const NamedDecl * Param)
inline

Check whether the template parameter is a pack expansion, and if so, determine the number of parameters produced by that expansion.

For instance:

template<typename ...Ts> struct A {
template<Ts ...NTs, template<Ts> class ...TTs, typename ...Us> struct B;
};

In A<int,int>::B, NTs and TTs have expanded pack size 2, and Us is not a pack expansion, so returns an empty Optional.

Definition at line 3379 of file DeclTemplate.h.

References Num.

Referenced by clang::Sema::CheckTemplateArgumentList(), and clang::Sema::SubstituteExplicitTemplateArguments().

◆ getExprText()

std::optional< StringRef > clang::getExprText ( const Expr * E,
const SourceManager & SM,
const LangOptions & LangOpts )

◆ getFilenameForTesting()

StringRef clang::getFilenameForTesting ( TestLanguage Lang)

Definition at line 78 of file CommandLineArgs.cpp.

References Lang_OBJC, Lang_OBJCXX, and Lang_OpenCL.

Referenced by clang::TestAST::TestAST().

◆ getFileStatus() [1/2]

std::optional< llvm::sys::fs::file_status > clang::getFileStatus ( llvm::StringRef Path)

Gets status of file (or directory) at Path.

Returns
std::nullopt if Path doesn't exist or can't get the status.

◆ getFileStatus() [2/2]

std::optional< sys::fs::file_status > clang::getFileStatus ( StringRef Path)

Definition at line 18 of file DirectoryScanner.cpp.

Referenced by scanDirectory().

◆ getFormalLinkage()

Linkage clang::getFormalLinkage ( Linkage L)
inline

Definition at line 106 of file Linkage.h.

References External, None, UniqueExternal, and VisibleNone.

Referenced by clang::NamedDecl::getFormalLinkage(), and isExternalFormalLinkage().

◆ GetFullTypeName()

◆ getFunctionExtInfo() [1/2]

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

◆ getFunctionExtInfo() [2/2]

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

Definition at line 8430 of file TypeBase.h.

References getFunctionExtInfo().

◆ getFunctionOrMethodNumParams()

◆ getFunctionOrMethodParam()

const ParmVarDecl * clang::getFunctionOrMethodParam ( const Decl * D,
unsigned Idx )
inline

◆ getFunctionOrMethodParamRange()

SourceRange clang::getFunctionOrMethodParamRange ( const Decl * D,
unsigned Idx )
inline

◆ getFunctionOrMethodParamType()

◆ getFunctionOrMethodResultSourceRange()

SourceRange clang::getFunctionOrMethodResultSourceRange ( const Decl * D)
inline

◆ getFunctionOrMethodResultType()

◆ getIntervalWTO()

std::optional< std::vector< const CFGBlock * > > clang::getIntervalWTO ( const CFG & Cfg)

◆ getIssueHash()

llvm::SmallString< 32 > clang::getIssueHash ( const FullSourceLoc & IssueLoc,
llvm::StringRef CheckerName,
llvm::StringRef WarningMessage,
const Decl * IssueDecl,
const LangOptions & LangOpts )

Returns an opaque identifier for a diagnostic.

This opaque identifier is intended to be stable even when the source code is changed. It allows to track diagnostics in the long term, for example, find which diagnostics are "new", maintain a database of suppressed diagnostics etc.

We may introduce more variants of issue hashes in the future but older variants will still be available for compatibility.

This hash is based on the following information:

  • Name of the checker that emitted the diagnostic.
  • Warning message.
  • Name of the enclosing declaration.
  • Contents of the line of code with the issue, excluding whitespace.
  • Column number (but not the line number! - which makes it stable).

Referenced by getIssueHash().

◆ getIssueString()

std::string clang::getIssueString ( const FullSourceLoc & IssueLoc,
llvm::StringRef CheckerName,
llvm::StringRef WarningMessage,
const Decl * IssueDecl,
const LangOptions & LangOpts )

Get the unhashed string representation of the V1 issue hash.

When hashed, it becomes the actual issue hash. Useful for testing. See GetIssueHashV1() for more information.

◆ getKeywordSelector()

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

◆ getLambdaAwareParentOfDeclContext()

◆ getLambdaStaticInvokerName()

StringRef clang::getLambdaStaticInvokerName ( )
inline

◆ getLangASFromTargetAS()

◆ GetLanguageStyle()

std::optional< FormatStyle > clang::GetLanguageStyle ( LanguageKind Language) const

References GetLanguageStyle().

Referenced by GetLanguageStyle().

◆ getLastArgIntValue() [1/3]

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

Definition at line 36 of file OptionUtils.cpp.

References Default.

◆ getLastArgIntValue() [2/3]

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

Definition at line 37 of file OptionUtils.h.

References Default, and getLastArgIntValue().

◆ getLastArgIntValue() [3/3]

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

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.

References Default.

Referenced by getLastArgIntValue(), and getOptimizationLevel().

◆ getLastArgUInt64Value() [1/3]

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

Definition at line 41 of file OptionUtils.cpp.

References Default.

◆ getLastArgUInt64Value() [2/3]

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

Definition at line 48 of file OptionUtils.h.

References Default, and getLastArgUInt64Value().

◆ getLastArgUInt64Value() [3/3]

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

References Default.

Referenced by getLastArgUInt64Value().

◆ 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 36 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 52 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 4266 of file SemaCodeComplete.cpp.

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

Referenced by AddMacroResults().

◆ getNeonEltType()

◆ getNormalizedAssociatedConstraints()

const NormalizedConstraint * clang::getNormalizedAssociatedConstraints ( Sema & S,
const NamedDecl * ConstrainedDecl,
ArrayRef< AssociatedConstraint > AssociatedConstraints )

◆ GetNSMutableArrayArgumentIndex()

◆ GetNSMutableDictionaryArgumentIndex()

◆ GetNSSetArgumentIndex()

◆ getNullabilitySpelling()

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

◆ GetNullarySelector()

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

◆ getOpenCLArgAccess()

OpenCLAccessAttr * clang::getOpenCLArgAccess ( const Decl * D)
static

Returns OpenCL access qual.

Definition at line 359 of file SemaOpenCL.cpp.

References clang::Decl::getAttr().

Referenced by checkPipeArg().

◆ getOpenMPCaptureRegions()

◆ getOpenMPDefaultVariableCategory()

OpenMPDefaultClauseVariableCategory clang::getOpenMPDefaultVariableCategory ( StringRef Str,
const LangOptions & LangOpts )

Definition at line 24 of file OpenMPKinds.cpp.

References OMPC_DEFAULT_VC_unknown.

◆ getOpenMPDefaultVariableCategoryName()

const char * clang::getOpenMPDefaultVariableCategoryName ( unsigned VC)

Definition at line 33 of file OpenMPKinds.cpp.

◆ getOpenMPSimpleClauseType()

unsigned clang::getOpenMPSimpleClauseType ( OpenMPClauseKind Kind,
llvm::StringRef Str,
const LangOptions & LangOpts )

◆ getOpenMPSimpleClauseTypeName()

◆ getOpenMPVariantManglingSeparatorStr()

constexpr StringRef clang::getOpenMPVariantManglingSeparatorStr ( )
staticconstexpr

OpenMP variants are mangled early based on their OpenMP context selector.

The new name looks likes this: <name> + OpenMPVariantManglingSeparatorStr + <mangled OpenMP context>

Definition at line 5364 of file Decl.h.

Referenced by clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), and clang::DeclarationName::print().

◆ getOperatorSpelling()

const char * clang::getOperatorSpelling ( OverloadedOperatorKind Operator)

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

Definition at line 820 of file IdentifierTable.cpp.

References NUM_OVERLOADED_OPERATORS, and OO_None.

Referenced by clang::Sema::CreateOverloadedBinOp(), clang::DeclarationName::print(), clang::DependentTemplateStorage::print(), printMemFnName(), and clang::TextNodeDumper::VisitCXXOperatorCallExpr().

◆ getParameterABISpelling()

StringRef clang::getParameterABISpelling ( ParameterABI kind)

◆ 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 4017 of file SemaCodeComplete.cpp.

References clang::ASTContext::getRawCommentForAnyRedecl(), and Result.

Referenced by clang::CodeCompleteConsumer::OverloadCandidate::CreateSignatureString().

◆ getPastLoc()

template<typename NodeTy>
std::optional< SourceLocation > clang::getPastLoc ( const NodeTy * Node,
const SourceManager & SM,
const LangOptions & LangOpts )

◆ 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 3994 of file SemaCodeComplete.cpp.

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

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

◆ getPointee2TypeText()

std::optional< std::string > clang::getPointee2TypeText ( const DeclaratorDecl * VD,
const SourceManager & SM,
const LangOptions & LangOpts,
std::optional< Qualifiers > * QualifiersToAppend )

References SM.

◆ getPointeeTypeText()

◆ getPPTransparentSanitizers()

SanitizerMask clang::getPPTransparentSanitizers ( )
inline

Return the sanitizers which do not affect preprocessing.

Definition at line 230 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::ConceptDecl::getCanonicalDecl(), clang::Mergeable< decl_type >::getFirstDecl(), and clang::Mergeable< decl_type >::getFirstDecl().

◆ getPrimaryModuleHash()

UnsignedOrNone clang::getPrimaryModuleHash ( const Module * M)

Calculate a hash value for the primary module name of the given module.

Returns
std::nullopt if M is not a C++ standard module.

Definition at line 13114 of file ASTReader.cpp.

References clang::Module::getPrimaryModuleInterfaceName(), getStableHashForModuleName(), clang::Module::isGlobalModule(), and clang::Module::isHeaderLikeModule().

Referenced by clang::serialization::reader::ModuleLocalNameLookupTrait::GetInternalKey().

◆ getProcessorFromTargetID()

llvm::StringRef clang::getProcessorFromTargetID ( const llvm::Triple & T,
llvm::StringRef OffloadArch )

◆ getRangeText()

◆ getReplacedTemplateParameterList()

TemplateParameterList * clang::getReplacedTemplateParameterList ( const Decl * D)

◆ getRewrittenOverloadedOperator()

OverloadedOperatorKind clang::getRewrittenOverloadedOperator ( OverloadedOperatorKind Kind)
inline

Get the other overloaded operator that the given operator can be rewritten into, if any such operator exists.

Definition at line 36 of file OperatorKinds.h.

References OO_None.

Referenced by clang::OverloadCandidateSet::OperatorRewriteInfo::isAcceptableCandidate(), clang::OverloadCandidateSet::OperatorRewriteInfo::isReversible(), clang::Sema::LookupBinOp(), lookupOperatorsForDefaultedComparison(), and clang::Sema::LookupOverloadedBinOp().

◆ 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 880 of file SemaCodeComplete.cpp.

References cast(), getKind(), clang::ReferenceType::getPointeeType(), getSimplifiedTypeClass(), STC_Arithmetic, STC_Array, STC_Block, STC_Function, STC_ObjectiveC, STC_Other, STC_Pointer, STC_Record, STC_Void, and T.

Referenced by getSimplifiedTypeClass().

◆ getSMEState()

ArmSMEState clang::getSMEState ( unsigned BuiltinID)
static

Definition at line 632 of file SemaARM.cpp.

References ArmNoState.

Referenced by clang::SemaARM::CheckSMEBuiltinFunctionCall().

◆ getSpecificAttr()

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

Definition at line 119 of file AttrIterator.h.

References specific_attr_begin(), and specific_attr_end().

Referenced by clang::Decl::getAttr().

◆ getSpecificAttrs()

template<typename SpecificAttr, typename Container>
auto clang::getSpecificAttrs ( const Container & container)
inline

◆ getStackIndexOfNearestEnclosingCaptureCapableLambda()

UnsignedOrNone clang::getStackIndexOfNearestEnclosingCaptureCapableLambda ( ArrayRef< const sema::FunctionScopeInfo * > FunctionScopes,
ValueDecl * 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 UnsignedOrNone 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 180 of file SemaLambda.cpp.

References cast(), clang::Sema::CheckCXXThisCapture(), clang::Sema::getCurGenericLambda(), getStackIndexOfNearestEnclosingCaptureReadyLambda(), Implicit, clang::sema::LambdaScopeInfo::PotentialThisCaptureLocation, and clang::Sema::tryCaptureVariable().

Referenced by CheckIfAnyEnclosingLambdasMustCaptureAnyPotentialCaptures().

◆ 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 103 of file SelectorLocationsKind.cpp.

References getStandardSelLoc().

Referenced by clang::ObjCMessageExpr::getSelectorLoc(), and clang::ObjCMethodDecl::getSelectorLoc().

◆ 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 120 of file SelectorLocationsKind.cpp.

References getStandardSelLoc().

◆ getStructuredBlock()

const Stmt * clang::getStructuredBlock ( )

Definition at line 179 of file StmtOpenACC.h.

◆ getSVETypeSize()

uint64_t clang::getSVETypeSize ( ASTContext & Context,
const BuiltinType * Ty,
bool IsStreaming )
static

getSVETypeSize - Return SVE vector or predicate register size.

Definition at line 1462 of file SemaARM.cpp.

References clang::BuiltinType::getKind(), and clang::Type::isSveVLSBuiltinType().

Referenced by clang::SemaARM::areCompatibleSveTypes(), and clang::SemaARM::areLaxCompatibleSveTypes().

◆ getTemplateParamsRange()

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

Retrieves the range of the given template parameter lists.

Definition at line 52 of file SemaTemplate.cpp.

◆ getTraitName() [1/4]

const char * clang::getTraitName ( ArrayTypeTrait T)

Definition at line 72 of file TypeTraits.cpp.

References ArrayTypeTraitNames, ATT_Last, and T.

◆ getTraitName() [2/4]

const char * clang::getTraitName ( ExpressionTrait T)

Return the internal name of type trait T. Never null.

Definition at line 27 of file ExpressionTraits.cpp.

References ET_Last, ExpressionTraitNames, and T.

◆ getTraitName() [3/4]

const char * clang::getTraitName ( TypeTrait T)

Return the internal name of type trait T. Never null.

Definition at line 67 of file TypeTraits.cpp.

References T, TT_Last, and TypeTraitNames.

◆ getTraitName() [4/4]

const char * clang::getTraitName ( UnaryExprOrTypeTrait T)

Definition at line 77 of file TypeTraits.cpp.

References T, UETT_Last, and UnaryExprOrTypeTraitNames.

◆ getTraitSpelling() [1/4]

const char * clang::getTraitSpelling ( ArrayTypeTrait T)

Definition at line 96 of file TypeTraits.cpp.

References ArrayTypeTraitSpellings, ATT_Last, and T.

◆ getTraitSpelling() [2/4]

◆ getTraitSpelling() [3/4]

const char * clang::getTraitSpelling ( TypeTrait T)

Return the spelling of the type trait TT. Never null.

Definition at line 82 of file TypeTraits.cpp.

References T, TT_Last, and TypeTraitSpellings.

◆ getTraitSpelling() [4/4]

const char * clang::getTraitSpelling ( UnaryExprOrTypeTrait T)

Definition at line 101 of file TypeTraits.cpp.

References T, UETT_Last, and UnaryExprOrTypeTraitSpellings.

◆ getTypeTraitArity()

unsigned clang::getTypeTraitArity ( TypeTrait T)

Return the arity of the type trait T.

Definition at line 106 of file TypeTraits.cpp.

References T, TT_Last, and TypeTraitArities.

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

◆ GetUnarySelector()

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

◆ GetUnderlyingFunction()

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

Definition at line 28 of file SemaExceptionSpec.cpp.

References T.

Referenced by clang::Sema::CheckExceptionSpecCompatibility(), and CheckSpecForTypesEquivalent().

◆ getVarDeclIdentifierLoc()

SourceLocation clang::getVarDeclIdentifierLoc ( const DeclaratorDecl * VD)

◆ getVarDeclIdentifierText()

◆ handleSimpleAttribute()

◆ handleSimpleAttributeOrDiagnose()

template<typename AttrType, typename... DiagnosticArgs>
void clang::handleSimpleAttributeOrDiagnose ( SemaBase & S,
Decl * D,
const AttributeCommonInfo & CI,
bool PassesCheck,
unsigned DiagID,
DiagnosticArgs &&... ExtraArgs )

Add an attribute AttrType to declaration D, provided that PassesCheck is true.

Otherwise, emit diagnostic DiagID, passing in all parameters specified in ExtraArgs.

Definition at line 179 of file Attr.h.

References appendDiagnostics(), clang::SemaBase::Diag(), clang::Decl::getBeginLoc(), and handleSimpleAttribute().

Referenced by clang::SemaObjC::AddXConsumedAttr(), and ProcessDeclAttribute().

◆ hasArmZAState()

◆ hasArmZT0State()

◆ hasAttribute() [1/3]

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

Definition at line 90 of file Attributes.cpp.

References hasAttribute(), and Target.

◆ hasAttribute() [2/3]

int clang::hasAttribute ( AttributeCommonInfo::Syntax Syntax,
const IdentifierInfo * Scope,
const IdentifierInfo * Attr,
const TargetInfo & Target,
const LangOptions & LangOpts,
bool CheckPlugins )

Definition at line 82 of file Attributes.cpp.

References hasAttribute(), and Target.

◆ hasAttribute() [3/3]

int clang::hasAttribute ( AttributeCommonInfo::Syntax Syntax,
llvm::StringRef ScopeName,
llvm::StringRef AttrName,
const TargetInfo & Target,
const LangOptions & LangOpts,
bool CheckPlugins )

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

References Target.

Referenced by checkNewAttributesAfterDef(), hasAttribute(), hasAttribute(), isReservedCXXAttributeName(), and clang::AttributeCommonInfo::tryGetCorrectedAttrName().

◆ hasDeclarator()

bool clang::hasDeclarator ( const Decl * D)
inline

Return true if the given decl has a declarator that should have been processed by Sema::GetTypeForDeclarator.

Definition at line 46 of file Attr.h.

References isa().

Referenced by handleCallConvAttr(), handleCFIUncheckedCalleeAttr(), handleNoReturnAttr(), clang::SemaObjC::handleOwnershipAttr(), and clang::SemaObjC::handleXReturnsXRetainedAttr().

◆ hasFunctionProto()

bool clang::hasFunctionProto ( const Decl * D)
inline

◆ hash_value() [1/3]

llvm::hash_code clang::hash_value ( const APValue::LValueBase & Base)

Definition at line 202 of file APValue.cpp.

◆ hash_value() [2/3]

llvm::hash_code clang::hash_value ( const clang::SanitizerMask & Arg)

Definition at line 147 of file Sanitizers.cpp.

References clang::SanitizerMask::hash_value().

◆ hash_value() [3/3]

template<class T>
llvm::hash_code clang::hash_value ( const CustomizableOptional< T > & O)

◆ hasImplicitExceptionSpec()

bool clang::hasImplicitExceptionSpec ( FunctionDecl * Decl)
static

Determine whether a function has an implicitly-generated exception specification.

Definition at line 274 of file SemaExceptionSpec.cpp.

References clang::FunctionProtoType::hasExceptionSpec(), and isa().

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

◆ hasPublicMethodInBase() [1/2]

std::optional< const clang::CXXRecordDecl * > clang::hasPublicMethodInBase ( const CXXBaseSpecifier * Base,
llvm::StringRef NameToMatch )
Returns
CXXRecordDecl of the base if the type has ref as a public method, nullptr if not, std::nullopt if inconclusive.

References Class, and T.

◆ hasPublicMethodInBase() [2/2]

std::optional< const clang::CXXRecordDecl * > clang::hasPublicMethodInBase ( const CXXBaseSpecifier * Base,
StringRef NameToMatch )

Definition at line 41 of file PtrTypesSemantics.cpp.

References clang::CXXRecordDecl::hasDefinition(), and T.

Referenced by isSmartPtrCompatible().

◆ hasSpecificAttr()

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

◆ 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 96 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 113 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 369 of file Specifiers.h.

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

◆ headerIncludeFilteringKindToString()

const char * clang::headerIncludeFilteringKindToString ( HeaderIncludeFilteringKind K)
inline

◆ headerIncludeFormatKindToString()

const char * clang::headerIncludeFormatKindToString ( HeaderIncludeFormatKind K)
inline

◆ if() [1/2]

clang::if ( Expr * NE = T->getNoexceptExpr())

References T.

◆ if() [2/2]

clang::if ( T-> getSizeExpr()) const -> getSizeExpr())))
Initial value:
{
if (T->getRowExpr())
TRY_TO(TraverseStmt(T->getRowExpr()))
#define TRY_TO(CALL_EXPR)

References T.

Referenced by clang::targets::AArch64TargetInfo::AArch64TargetInfo(), clang::CodeGen::ApplyDebugLocation::ApplyDebugLocation(), clang::targets::ARMTargetInfo::ARMTargetInfo(), clang::ASTSourceDescriptor::ASTSourceDescriptor(), clang::driver::toolchains::AVRToolChain::AVRToolChain(), clang::format::BreakableStringLiteralUsingOperators::BreakableStringLiteralUsingOperators(), clang::format::CompoundStatementIndenter::CompoundStatementIndenter(), clang::driver::CUIDOptions::CUIDOptions(), clang::targets::DarwinTargetInfo< Target >::DarwinTargetInfo(), clang::interp::DoBitCastPtr(), getSelfFlags(), hasStdClassWithName(), clang::tooling::HeaderIncludes::HeaderIncludes(), clang::tooling::IncludeCategoryManager::IncludeCategoryManager(), clang::Sema::InheritedConstructorInfo::InheritedConstructorInfo(), clang::interp::interp__builtin_memcmp(), clang::interp::InterpFrame::InterpFrame(), clang::MultiplexConsumer::MultiplexConsumer(), clang::NestedNameSpecifierLocBuilder::NestedNameSpecifierLocBuilder(), clang::NumericLiteralParser::NumericLiteralParser(), clang::driver::OffloadAction::OffloadAction(), clang::targets::PPC64TargetInfo::PPC64TargetInfo(), clang::interp::readPointerToBuffer(), clang::driver::RocmInstallationDetector::RocmInstallationDetector(), clang::RISCV::RVVIntrinsic::RVVIntrinsic(), clang::format::ScopedLineState::ScopedLineState(), clang::TargetInfo::TargetInfo(), and clang::sema::FunctionScopeInfo::WeakObjectProfileTy::WeakObjectProfileTy().

◆ IgnoreBaseCastsSingleStep()

Expr * clang::IgnoreBaseCastsSingleStep ( Expr * E)
inline

Definition at line 101 of file IgnoreExpr.h.

Referenced by clang::Expr::IgnoreParenBaseCasts().

◆ IgnoreCastsSingleStep()

Expr * clang::IgnoreCastsSingleStep ( Expr * E)
inline

◆ IgnoreElidableImplicitConstructorSingleStep()

Expr * clang::IgnoreElidableImplicitConstructorSingleStep ( Expr * E)
inline

Definition at line 125 of file IgnoreExpr.h.

References isa().

Referenced by clang::Sema::checkAndRewriteMustTailAttr(), and CheckNonNullExpr().

◆ IgnoreExprNodes() [1/2]

template<typename... FnTys>
const Expr * clang::IgnoreExprNodes ( const Expr * E,
FnTys &&... Fns )

Definition at line 44 of file IgnoreExpr.h.

References IgnoreExprNodes().

◆ IgnoreExprNodes() [2/2]

◆ IgnoreImplicitAsWrittenSingleStep()

Expr * clang::IgnoreImplicitAsWrittenSingleStep ( Expr * E)
inline

◆ IgnoreImplicitCastsExtraSingleStep()

Expr * clang::IgnoreImplicitCastsExtraSingleStep ( Expr * E)
inline

◆ IgnoreImplicitCastsSingleStep()

Expr * clang::IgnoreImplicitCastsSingleStep ( Expr * E)
inline

◆ IgnoreImplicitSingleStep()

Expr * clang::IgnoreImplicitSingleStep ( Expr * E)
inline

◆ IgnoreLValueCastsSingleStep()

Expr * clang::IgnoreLValueCastsSingleStep ( Expr * E)
inline

Definition at line 91 of file IgnoreExpr.h.

References IgnoreCastsSingleStep().

Referenced by clang::Expr::IgnoreParenLValueCasts().

◆ IgnoreParensOnlySingleStep()

Expr * clang::IgnoreParensOnlySingleStep ( Expr * E)
inline

Definition at line 144 of file IgnoreExpr.h.

Referenced by clang::Expr::IgnoreUnlessSpelledInSource().

◆ IgnoreParensSingleStep()

◆ Indent()

◆ inferNoReturnAttr()

◆ inheritanceModelHasNVOffsetField()

bool clang::inheritanceModelHasNVOffsetField ( bool IsMemberFunction,
MSInheritanceModel Inheritance )
inline

Definition at line 371 of file CXXInheritance.h.

References Multiple.

Referenced by getMSMemberPointerSlots().

◆ inheritanceModelHasOnlyOneField()

bool clang::inheritanceModelHasOnlyOneField ( bool IsMemberFunction,
MSInheritanceModel Inheritance )
inline

Definition at line 381 of file CXXInheritance.h.

References Multiple, and Single.

Referenced by clang::CXXRecordDecl::nullFieldOffsetIsZero().

◆ inheritanceModelHasVBPtrOffsetField()

bool clang::inheritanceModelHasVBPtrOffsetField ( MSInheritanceModel Inheritance)
inline

Definition at line 365 of file CXXInheritance.h.

References Unspecified.

Referenced by getMSMemberPointerSlots().

◆ inheritanceModelHasVBTableOffsetField()

bool clang::inheritanceModelHasVBTableOffsetField ( MSInheritanceModel Inheritance)
inline

Definition at line 377 of file CXXInheritance.h.

References Virtual.

Referenced by getMSMemberPointerSlots().

◆ initialize()

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

Definition at line 43 of file TemplateInstCallback.h.

References C.

Referenced by ParseAST().

◆ InitializePreprocessor()

◆ IntegerLiteralExpr()

IntegerLiteral * clang::IntegerLiteralExpr ( ASTContext & C,
uint64_t Val )

Definition at line 18 of file InterpreterUtils.cpp.

References C, and clang::IntegerLiteral::Create().

Referenced by CStyleCastPtrExpr().

◆ isa()

template<class U>
bool clang::isa ( CodeGen::Address addr)
inline
Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 330 of file Address.h.

Referenced by clang::ento::BasicValueFactory::accumCXXBase(), clang::Sema::ActOnArraySubscriptExpr(), clang::SemaOpenACC::ActOnAssociatedStmt(), clang::SemaObjC::ActOnAtEnd(), clang::Sema::ActOnBlockArguments(), clang::Sema::ActOnBlockStmtExpr(), clang::SemaOpenACC::ActOnCacheVar(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnCompoundStmt(), clang::Sema::ActOnCondition(), clang::Sema::ActOnCXXConditionDeclaration(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnDocumentableDecls(), clang::Sema::ActOnDoStmt(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnEnumConstant(), clang::Sema::ActOnFields(), clang::Sema::ActOnFinishCXXInClassMemberInitializer(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnForStmt(), clang::SemaObjC::ActOnForwardClassDeclaration(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnFunctionDeclarator(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnInitList(), clang::SemaObjC::ActOnInstanceMessage(), clang::SemaObjC::ActOnIvar(), clang::Sema::ActOnLabelStmt(), clang::Sema::ActOnMemberAccessExpr(), clang::SemaObjC::ActOnMethodDeclaration(), clang::Sema::ActOnNamespaceAliasDef(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::actOnObjCTypeArgsOrProtocolQualifiers(), actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPAffinityClause(), clang::SemaOpenMP::ActOnOpenMPCanonicalLoop(), clang::SemaOpenMP::ActOnOpenMPCopyinClause(), clang::SemaOpenMP::ActOnOpenMPDeclareSimdDirective(), clang::SemaOpenMP::ActOnOpenMPDeclareTargetInitializer(), clang::SemaOpenMP::ActOnOpenMPDeclareTargetName(), clang::SemaOpenMP::ActOnOpenMPDependClause(), clang::SemaOpenMP::ActOnOpenMPDistributeDirective(), clang::SemaOpenMP::ActOnOpenMPExecutableDirective(), clang::SemaOpenMP::ActOnOpenMPForDirective(), clang::SemaOpenMP::ActOnOpenMPForSimdDirective(), clang::SemaOpenMP::ActOnOpenMPHasDeviceAddrClause(), clang::SemaOpenMP::ActOnOpenMPInitClause(), clang::SemaOpenMP::ActOnOpenMPIsDevicePtrClause(), clang::SemaOpenMP::ActOnOpenMPLoopnest(), clang::SemaOpenMP::ActOnOpenMPMaskedTaskLoopDirective(), clang::SemaOpenMP::ActOnOpenMPMaskedTaskLoopSimdDirective(), clang::SemaOpenMP::ActOnOpenMPMasterTaskLoopDirective(), clang::SemaOpenMP::ActOnOpenMPMasterTaskLoopSimdDirective(), clang::SemaOpenMP::ActOnOpenMPOrderedDirective(), clang::SemaOpenMP::ActOnOpenMPReverseDirective(), clang::SemaOpenMP::ActOnOpenMPSimdDirective(), clang::SemaOpenMP::ActOnOpenMPSingleDirective(), clang::SemaOpenMP::ActOnOpenMPStripeDirective(), clang::SemaOpenMP::ActOnOpenMPTargetDataDirective(), clang::SemaOpenMP::ActOnOpenMPTargetDirective(), clang::SemaOpenMP::ActOnOpenMPTaskgroupDirective(), clang::SemaOpenMP::ActOnOpenMPTaskLoopDirective(), clang::SemaOpenMP::ActOnOpenMPTaskLoopSimdDirective(), clang::SemaOpenMP::ActOnOpenMPTileDirective(), clang::SemaOpenMP::ActOnOpenMPUseDeviceAddrClause(), clang::Sema::ActOnPopScope(), clang::Sema::ActOnPragmaRedefineExtname(), clang::Sema::ActOnPragmaWeakAlias(), clang::SemaObjC::ActOnProperty(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::SemaOpenACC::ActOnRoutineName(), clang::SemaObjC::ActOnStartClassImplementation(), clang::SemaObjC::ActOnStartClassInterface(), clang::Sema::ActOnStartOfFunctionDef(), clang::SemaOpenMP::ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(), clang::SemaOpenMP::ActOnStartOpenMPDeclareTargetContext(), clang::Sema::ActOnTag(), clang::Sema::ActOnUninitializedDecl(), clang::SemaOpenACC::ActOnVar(), clang::Sema::ActOnVariableDeclarator(), clang::SemaOpenACC::ActOnVariableDeclarator(), clang::Sema::ActOnWhileStmt(), clang::ASTRecordWriter::AddAttr(), clang::ODRHash::AddCXXRecordDecl(), clang::Scope::AddDecl(), clang::OverloadCandidateSet::AddDeferredMethodTemplateCandidate(), clang::OverloadCandidateSet::AddDeferredTemplateCandidate(), clang::ODRHash::AddEnumDecl(), clang::ASTDeclWriter::AddFirstSpecializationDeclFromEachModule(), addFixitForObjCARCConversion(), clang::Sema::AddFunctionCandidates(), clang::ODRHash::AddFunctionDecl(), clang::Sema::AddInitializerToDecl(), AddKeywordsToConsumer(), clang::Sema::AddKnownFunctionAttributes(), addLoopPreInits(), clang::Sema::AddMethodCandidate(), clang::Sema::AddMethodCandidate(), AddMethodTemplateCandidateImmediately(), clang::Sema::AddModeAttr(), clang::ASTContext::addModuleInitializer(), clang::TypoCorrectionConsumer::addNamespaces(), clang::Sema::AddNonMemberOperatorCandidates(), clang::Sema::AddOverloadCandidate(), AddOverloadedCallCandidate(), clang::Sema::AddOverloadedCallCandidates(), clang::CodeCompletionBuilder::addParentContext(), clang::sema::LambdaScopeInfo::addPotentialCapture(), clang::PreprocessingRecord::addPreprocessedEntity(), AddPropertyAttrs(), clang::ODRHash::AddRecordDecl(), AddResultTypeChunk(), clang::Sema::AddTemplateConversionCandidate(), clang::Sema::AddTemplateOverloadCandidate(), AddTemplateParameterChunks(), clang::ASTDeclWriter::AddTemplateSpecializations(), clang::CodeGen::CodeGenModule::addUsedGlobal(), clang::CodeGen::CodeGenModule::addUsedOrCompilerUsedGlobal(), clang::Sema::adjustContextForLocalExternDecl(), adjustCVQualifiersForCXXThisWithinLambda(), adjustDeclToTemplate(), clang::Sema::adjustMemberFunctionCC(), adjustParent(), adjustReturnValue(), adjustTemplateImplicitInstantiation(), clang::SemaObjC::adornBoolConversionDiagWithTernaryFixit(), clang::interp::Compiler< Emitter >::allocateLocalPrimitive(), allowAmbiguity(), allowODRLikeMergeInC(), clang::CodeGen::CodeGenModule::AlwaysHasLTOVisibilityPublic(), AnalyzeCompoundAssignment(), AnalyzeImplicitConversions(), clang::sema::analyzePathForGSLPointer(), clang::AnyCall::AnyCall(), clang::AnyCall::AnyCall(), clang::ento::AnyCXXConstructorCall::AnyCXXConstructorCall(), clang::Sema::ApplyAPINotesType(), applyGadgets(), clang::Sema::ApplyNullability(), areAllValuesNoReturn(), clang::dataflow::areEquivalentValues(), areExprTypesCompatible(), clang::Sema::areMultiversionVariantFunctionsCompatible(), clang::Sema::ArgumentDependentLookup(), argumentDependentLookup(), clang::CIRGen::CIRGenTypes::arrangeCXXMethodDeclaration(), clang::CodeGen::CodeGenTypes::arrangeCXXMethodDeclaration(), clang::CIRGen::CIRGenTypes::arrangeFunctionDeclaration(), clang::CodeGen::CodeGenTypes::arrangeFunctionDeclaration(), clang::CIRGen::CIRGenTypes::arrangeGlobalDeclaration(), clang::CodeGen::CodeGenTypes::arrangeGlobalDeclaration(), clang::ParentMapContext::ParentMap::AscendIgnoreUnlessSpelledInSource(), clang::syntax::Node::assertInvariants(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), clang::ento::ProgramState::assumeInclusiveRange(), clang::ento::ProgramState::assumeInclusiveRange(), clang::ento::RangedConstraintManager::assumeSym(), clang::ast_matchers::AST_MATCHER_P(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P2(), clang::ast_matchers::AST_POLYMORPHIC_MATCHER_P_OVERLOAD(), clang::MacroQualifiedType::ASTContext, basicGVALinkageForFunction(), basicGVALinkageForVariable(), clang::ento::nonloc::PointerToMember::begin(), clang::CXXMethodDecl::begin_overridden_methods(), clang::Sema::BuildAnonymousStructOrUnion(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallExpr(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCoreturnStmt(), buildCoroutineBody(), clang::Sema::buildCoroutineParameterMoves(), clang::Sema::buildCoroutinePromise(), clang::Sema::BuildCStyleCastExpr(), clang::Sema::BuildCXXMemberCallExpr(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildDeclarationNameExpr(), clang::DeclContext::BuildDeclChain(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildFieldReferenceExpr(), buildFMulAdd(), clang::CodeGen::CodeGenFunction::BuildFunctionArgList(), clang::CIRGen::CIRGenFunction::buildFunctionArgList(), clang::Sema::BuildIfStmt(), clang::driver::Driver::BuildJobs(), clang::Sema::BuildLambdaExpr(), clang::Sema::BuildMemberInitializer(), clang::Sema::BuildMemberReferenceExpr(), clang::driver::Driver::BuildOffloadingActions(), clang::Sema::buildOverloadedCallSet(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildReturnStmt(), BuildSimilarlyQualifiedPointerType(), clang::Sema::BuildStaticAssertDeclaration(), clang::Sema::BuildStmtExpr(), clang::Sema::BuildTemplateIdExpr(), clang::Sema::BuildUsingDeclaration(), clang::Sema::BuildUsingPackDecl(), clang::Sema::BuildUsingShadowDecl(), clang::Sema::BuildVariableInstantiation(), clang::CodeGen::CodeGenFunction::BuildVector(), clang::Sema::BuildVectorLiteral(), clang::SemaARM::BuiltinARMSpecialReg(), BuiltinCallWithStaticChain(), BuiltinCpu(), clang::Decl::canBeWeakImported(), canElideOverflowCheck(), canEmitInitWithFewStoresAfterBZero(), clang::ento::RetainSummaryManager::canEval(), canHideTag(), canPassInRegisters(), canPerformArrayCopy(), clang::ento::SMTConstraintManager::canReasonAbout(), clang::Sema::canThrow(), clang::Sema::CanUseDecl(), captureVariablyModifiedType(), clang::CanQual< T >::castAs(), clang::Type::castAs(), clang::Type::castAsArrayTypeUnsafe(), castOperatorNeedsParens(), clang::ento::StoreManager::castRegion(), clang::CFGCXXRecordTypedCall::CFGCXXRecordTypedCall(), clang::Sema::CheckAdditionOperands(), clang::Sema::CheckAddressOfOperand(), checkArithmeticNull(), checkArrayExpressionDoesNotReferToUnitySize(), checkArrayExpressionDoesNotReferToWholeSize(), clang::Sema::CheckAssignmentConstraints(), CheckAssignmentToCountAttrPtrWithIncompletePointeeTy(), clang::SemaOpenACC::CheckAtomicAssociatedStmt(), clang::interp::CheckBCPResult(), checkBlockArgs(), clang::Sema::checkClassLevelDLLAttribute(), clang::Sema::CheckClassTemplate(), clang::Sema::CheckCompareOperands(), clang::Sema::CheckCompatibleReinterpretCast(), clang::Sema::CheckCompletedCoroutineBody(), clang::Sema::CheckCompletedCXXClass(), clang::Sema::CheckCompleteVariableDeclaration(), CheckConstexprDeclStmt(), CheckConstexprFunction(), CheckConstexprFunctionBody(), clang::Sema::CheckConstexprFunctionDefinition(), CheckConstexprFunctionStmt(), CheckConstexprParameterTypes(), clang::Sema::CheckConstraintExpression(), clang::SemaObjC::CheckConversionToObjCLiteral(), clang::SemaAMDGPU::checkCoopAtomicFunctionCall(), checkCoroutineContext(), checkCUDADeviceBuiltinSurfaceClassTemplate(), checkCUDADeviceBuiltinTextureClassTemplate(), clang::Sema::CheckCXXThisCapture(), clang::SemaOpenACC::CheckDeclareClause(), clang::Sema::CheckDeclCompatibleWithTemplateTemplate(), CheckDeclInExpr(), checkDeclInTargetContext(), clang::SemaOpenMP::checkDeclIsAllowedInOpenMPTarget(), CheckDeductionConsistency(), clang::Sema::CheckDeductionGuideDeclarator(), clang::Sema::CheckDependentFunctionTemplateSpecialization(), clang::Sema::CheckDestructor(), checkDirectCallValidity(), checkDLLAttributeRedeclaration(), clang::ento::mpi::MPIChecker::checkDoubleNonblocking(), clang::Sema::CheckExplicitlyDefaultedComparison(), clang::Sema::CheckExplicitlyDefaultedSpecialMember(), checkExportedDecl(), clang::sema::checkExprLifetimeImpl(), CheckFallThrough(), CheckFallThroughForBody(), clang::Sema::CheckFieldDecl(), CheckFieldPadding(), CheckFoldOperand(), CheckForDuplicateLoopAttrs(), CheckForModifiableLvalue(), clang::Sema::CheckFriendAccess(), clang::Sema::CheckFunctionCall(), checkFunctionConditionAttr(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::SemaOpenACC::CheckGangClause(), checkGlobalOrExternCConflict(), CheckICE(), CheckIdentityFieldAssignment(), clang::Sema::CheckImplicitConversion(), clang::SemaPseudoObject::checkIncDec(), CheckIndirectionOperand(), clang::SemaObjC::checkInitMethod(), checkLifetimeBoundAttr(), clang::Sema::checkLifetimeCaptureBy(), clang::SemaOpenACC::CheckLinkClauseVarList(), clang::Sema::CheckLiteralOperatorDeclaration(), clang::Sema::CheckMain(), checkMapConflicts(), CheckMemaccessSize(), clang::Sema::CheckMemberSpecialization(), CheckMethodOverrideParam(), CheckMethodOverrideReturn(), checkModuleImportContext(), checkMoreSpecializedThanPrimary(), CheckMoveOnConstruction(), clang::ASTDeclReader::checkMultipleDefinitionInNamedModules(), CheckNakedParmReference(), checkNewAttributesAfterDef(), clang::Sema::CheckNonDependentConversions(), CheckNonNullArguments(), CheckNonNullExpr(), clang::Sema::checkNonTrivialCUnionInInitializer(), CheckNonTypeTemplatePartialSpecializationArgs(), checkNonVirtualMemberCallThisPointer(), clang::SemaObjC::CheckObjCARCUnavailableWeakConversion(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::SemaObjC::checkObjCBridgeRelatedComponents(), CheckObjCCollectionLiteralElement(), clang::SemaObjC::CheckObjCDeclScope(), checkObjCKindOfType(), clang::SemaObjC::CheckObjCMethodDirectOverrides(), clang::SemaObjC::CheckObjCMethodOverrides(), checkObjCPointerIntrospection(), clang::SemaOpenMP::CheckOMPRequiresDecl(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), checkOpenMPLoop(), CheckOperatorNewDeleteDeclarationScope(), clang::Sema::CheckOverload(), clang::Sema::CheckOverloadedOperatorDeclaration(), clang::Sema::CheckOverridingFunctionExceptionSpec(), clang::Sema::CheckParameterPacksForExpansion(), clang::consumed::ConsumedStateMap::checkParamsForReturnTypestate(), clang::Sema::CheckPlaceholderExpr(), checkPointerAuthValue(), clang::Sema::CheckPointerToMemberOperands(), checkPointerTypesForAssignment(), checkSectionsDirective(), checkSelectAnyAttr(), clang::Sema::CheckShadow(), clang::SemaObjC::CheckSubscriptingKind(), clang::Sema::CheckSubtractionOperands(), clang::Sema::CheckTemplateArgument(), CheckTemplateArgumentAddressOfObjectOrFunction(), clang::Sema::CheckTemplateArgumentList(), CheckTemplateArgumentPointerToMember(), clang::Sema::CheckTemplateIdType(), checkTemplatePartialSpecialization(), CheckTemplateSpecializationScope(), clang::SemaOpenACC::CheckTileSizeExpr(), checkTupleLikeDecomposition(), clang::Sema::CheckTypenameType(), clang::Sema::CheckTypenameType(), checkTypeParamListConsistency(), clang::Sema::checkTypeSupport(), checkUndefinedButUsed(), clang::ento::mpi::MPIChecker::checkUnmatchedWaits(), checkUnsafeBufferUsage(), clang::Sema::CheckUseOfCXXMethodAsAddressOfOperand(), clang::Sema::CheckUsingDeclRedeclaration(), clang::Sema::CheckUsingShadowDecl(), checkValueAtLValForInvariantViolation(), clang::Sema::checkVarDeclRedefinition(), clang::Sema::CheckVariableDeclarationType(), clang::Sema::checkVariadicArgument(), clang::SemaOpenACC::CheckVarIsPointerType(), checkVAStartIsInVariadicFunction(), clang::Sema::CheckVectorConditionalTypes(), clang::Sema::CheckVectorLogicalOperands(), clang::Sema::CheckVectorOperands(), clang::ChildErrorHandlingStrategy::ChildErrorHandlingStrategy(), clang::ChildErrorHandlingStrategy::ChildErrorHandlingStrategy(), clang::MaterializeTemporaryExpr::children(), clang::MaterializeTemporaryExpr::children(), clang::ObjCPropertyRefExpr::children(), ClassifyConditional(), ClassifyDecl(), ClassifyImplicitMemberAccess(), ClassifyInternal(), ClassifyMemberExpr(), clang::Sema::ClassifyName(), clang::CodeGen::classifyReturnType(), classifyType(), clang::interp::cleanupAfterFunctionCall(), clang::ento::CallEvent::cloneWithState(), clang::interp::CmpHelperEQ< Pointer >(), clang::SemaCodeCompletion::CodeCompleteConstructorInitializer(), clang::SemaCodeCompletion::CodeCompleteNamespaceDecl(), clang::SemaCodeCompletion::CodeCompleteObjCAtDirective(), clang::SemaCodeCompletion::CodeCompleteObjCPropertyDefinition(), clang::SemaCodeCompletion::CodeCompleteObjCPropertySynthesizeIvar(), clang::SemaCodeCompletion::CodeCompleteObjCSuperclass(), clang::SemaCodeCompletion::CodeCompleteObjCSuperMessage(), CoerceIntOrPtrToIntOrPtr(), collectClobbers(), CollectStatementsForCase(), collectViableConversionCandidates(), CollectVRQualifiers(), commonBuildCXXMemberOrOperatorCall(), commonEmitCXXMemberOrOperatorCall(), clang::ento::iterator::compare(), CompareStandardConversionSequences(), clang::ConversionFixItGenerator::compareTypesSimple(), clang::TagDecl::completeDefinition(), CompleteNonViableCandidate(), clang::ASTReader::CompleteRedeclChain(), clang::HLSLExternalSemaSource::CompleteType(), clang::tooling::ExtractionSemicolonPolicy::compute(), computeDependence(), computeDependence(), clang::PredefinedExpr::ComputeName(), clang::ento::ExprEngine::computeObjectUnderConstruction(), clang::CodeGen::CodeGenTypes::ComputeRecordLayout(), computeShadowedDeclKind(), configureBlocksRuntimeObject(), conjureOffsetSymbolOnLocation(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::ento::ExprEngine::ConstructInitList(), clang::ArgumentConstructionContext::ConstructionContext, clang::ConstructionContextItem::ConstructionContextItem(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::Flang::ConstructJob(), clang::driver::tools::OffloadBundler::ConstructJob(), clang::CodeGen::CodeGenFunction::containsBreak(), clang::ento::containsBuiltinOffsetOf(), ContainsCompileOrAssembleAction(), clang::ento::containsEnum(), clang::CodeGen::CodeGenFunction::ContainsLabel(), clang::CIRGen::CIRGenFunction::containsLabel(), clang::ento::containsStmt(), containsUndef(), convertArgsForAvailabilityChecks(), ConvertDeducedTemplateArguments(), clang::ConstantExpr::Create(), clang::FriendDecl::Create(), clang::ObjCIvarDecl::Create(), clang::OpenACCCollapseClause::Create(), clang::tooling::CodeRangeASTSelection::create(), createAttributeInsertion(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), clang::CodeCompletionResult::createCodeCompletionStringForDecl(), CreateCoercedLoad(), clang::interp::Program::createDescriptor(), clang::InitializationKind::CreateForInit(), clang::CodeGen::CodeGenModule::createFunctionTypeMetadataForIcall(), clang::interp::Program::createGlobal(), clang::extractapi::impl::ExtractAPIVisitorBase< std::conditional_t< std::is_same_v< Derived, void >, ExtractAPIVisitor<>, Derived > >::createHierarchyInformationForDecl(), createInvocation(), clang::CodeGen::CodeGenModule::CreateMetadataIdentifierForFnType(), clang::TypeName::createNestedNameSpecifierForScopeOf(), CreateObjectFileHandler(), clang::Sema::CreateOverloadedBinOp(), clang::SemaObjC::CreatePropertyDecl(), createTemplateSignatureString(), clang::CodeGen::CodeGenModule::createUnnamedGlobalFrom(), clang::CanQual< T >::CreateUnsafe(), clang::Sema::CXXCheckConditionalOperands(), clang::NamedDecl::declarationReplaces(), clang::Sema::DeclareGlobalAllocationFunction(), clang::Sema::DeclClonePragmaWeak(), DeclHasAttr(), clang::ASTContext::DeclMustBeEmitted(), clang::Sema::DeduceAutoType(), clang::Sema::deduceClosureReturnType(), DeduceForEachType(), DeduceFromInitializerList(), DeduceTemplateArgumentsByTypeMatch(), DeduceTemplateSpecArguments(), clang::Sema::DeduceTemplateSpecializationFromInitializer(), clang::Sema::deduceVarTypeFromInitializer(), clang::VarDecl::demoteThisDefinitionToDeclaration(), dereference(), clang::interp::InterpFrame::describe(), describeCodeDecl(), desugarForDiagnostic(), clang::InitializationSequence::Diagnose(), clang::Sema::DiagnoseAbsenceOfOverrideControl(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::DiagnoseAmbiguousLookup(), DiagnoseArityMismatch(), clang::Sema::DiagnoseAutoDeductionFailure(), DiagnoseBadConversion(), DiagnoseBadDeduction(), diagnoseBadDirectAccess(), DiagnoseBadFunctionCast(), DiagnoseCastOfObjCSEL(), DiagnoseConstAssignment(), diagnoseDeprecatedCopyOperation(), DiagnosedUnqualifiedCallsToStdFunctions(), clang::Sema::DiagnoseEmptyLookup(), clang::Sema::DiagnoseEmptyLoopBody(), DiagnoseFloatingImpCast(), DiagnoseForRangeReferenceVariableCopies(), DiagnoseHLSLRegisterAttribute(), clang::Sema::DiagnoseImmediateEscalatingReason(), DiagnoseIndirectOrAsmJumpStmt(), diagnoseInstanceReference(), DiagnoseLabelFollowedByDecl(), DiagnoseLocalRegisterBinding(), DiagnoseLogicalAndInLogicalOrLHS(), DiagnoseLogicalAndInLogicalOrRHS(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::Sema::diagnoseMissingImport(), clang::SemaSwift::DiagnoseName(), diagnoseNonConstVariable(), DiagnoseNullConversion(), DiagnoseObjCImplementedDeprecations(), clang::SemaObjC::DiagnosePropertyMismatch(), clang::Sema::diagnoseQualifiedDeclaration(), diagnoseRepeatedUseOfWeak(), clang::Sema::DiagnoseSelfMove(), clang::Sema::DiagnoseShadowingLambdaDecls(), clang::Sema::DiagnoseStaticAssertDetails(), diagnoseStringPlusChar(), diagnoseSubMismatchMethodParameters(), diagnoseTautologicalComparison(), diagnoseUncapturableValueReferenceOrBinding(), DiagnoseUnimplementedAccessor(), clang::Sema::DiagnoseUninstantiableTemplate(), clang::Sema::DiagnoseUniqueObjectDuplication(), diagnoseUnknownDecl(), clang::Sema::DiagnoseUnusedButSetDecl(), clang::Sema::DiagnoseUnusedDecl(), clang::Sema::DiagnoseUseOfDecl(), DiagnoseVariableSizedIvars(), clang::Sema::diagnoseZeroToNullptrConversion(), clang::Sema::DiagRedefinedPlaceholderFieldDecl(), clang::Sema::DiscardMisalignedMemberAddress(), DoMarkVarDeclReferenced(), doRewriteToUTF8StringBoxedExpressionHelper(), clang::Decl::dropAttrs(), dropDefaultArgs(), clang::dataflow::Environment::dump(), clang::ento::PathDiagnosticLocation::dump(), clang::MacroDirective::dump(), clang::ento::SymbolicRegion::dumpToStream(), clang::ento::UnarySymExpr::dumpToStream(), clang::CodeGen::CodeGenFunction::EmitAArch64CompareBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitAArch64SVEBuiltinExpr(), clang::CodeGen::ReductionCodeGen::emitAggregateType(), clang::Sema::emitAndClearUnusedLocalTypedefWarnings(), clang::CodeGen::CodeGenFunction::EmitARCInitWeak(), emitARCOperationAfterCall(), clang::CodeGen::CodeGenFunction::EmitARCRelease(), clang::CodeGen::CodeGenFunction::EmitARCRetainAutorelease(), clang::CodeGen::CodeGenFunction::EmitARCRetainBlock(), emitARCValueOperation(), emitArgumentDemotion(), clang::CIRGen::CIRGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::emitArrayLength(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CIRGen::CIRGenFunction::emitArraySubscriptExpr(), emitArraySubscriptGEP(), clang::CodeGen::CodeGenFunction::EmitArrayToPointerDecay(), clang::CodeGen::CodeGenFunction::EmitAsmStmt(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CIRGen::CIRGenFunction::emitAutoVarInit(), clang::CIRGen::CIRGenFunction::emitBaseInitializer(), clang::CodeGen::CodeGenFunction::EmitBitfieldConversionCheck(), clang::CodeGen::CodeGenFunction::EmitBlockCallExpr(), emitBody(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::emitBuiltinOSLogFormat(), clang::CodeGen::CodeGenFunction::emitByrefStructureInit(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CIRGen::CIRGenFunction::emitCallArg(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::CIRGen::CIRGenFunction::emitCallee(), clang::CIRGen::CIRGenFunction::emitCallExpr(), clang::CodeGen::CodeGenFunction::EmitCapturedLocals(), clang::CIRGen::CIRGenFunction::emitCaseDefaultCascade(), clang::CodeGen::CodeGenFunction::EmitCaseStmt(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), clang::CodeGen::CodeGenFunction::EmitComplexPrePostIncDec(), clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(), clang::CodeGen::CodeGenFunction::EmitCoreturnStmt(), clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(), clang::CIRGen::CIRGenFunction::emitCXXMemberCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(), clang::CIRGen::CIRGenFunction::emitCXXMemberOrOperatorMemberCallExpr(), EmitCXXNewAllocSize(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CGOpenMPRuntime::emitDeclareSimdFunction(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), EmitDiagForCXXThrowInNonThrowingFunc(), clang::CodeGen::CodeGenFunction::EmitExprAsInit(), clang::CodeGen::CGDebugInfo::EmitFunctionDecl(), clang::CodeGen::CodeGenFunction::EmitFunctionEpilog(), clang::CodeGen::CodeGenFunction::EmitFunctionProlog(), clang::CodeGen::CGDebugInfo::emitFunctionStart(), EmitGEPOffsetInBytes(), clang::CodeGen::CodeGenModule::EmitGlobal(), clang::CIRGen::CIRGenModule::emitGlobalDefinition(), clang::CIRGen::CIRGenModule::emitGlobalOpenACCDecl(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CIRGen::CIRGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), EmitIncompleteCountedByPointeeNotes(), clang::CodeGen::CodeGenFunction::EmitInlinedInheritingCXXConstructorCall(), EmitIntegerSignChangeCheckHelper(), EmitIntegerTruncationCheckHelper(), clang::CodeGen::CodeGenFunction::EmitMaterializeTemporaryExpr(), clang::CIRGen::CIRGenFunction::emitMaterializeTemporaryExpr(), clang::CodeGen::CodeGenFunction::EmitMemberExpr(), clang::CIRGen::CIRGenFunction::emitMemberExpr(), clang::CodeGen::CodeGenFunction::EmitNewArrayInitializer(), clang::CIRGen::CIRGenFunction::emitNullInitialization(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), clang::CodeGen::CodeGenFunction::EmitObjCRelease(), emitObjCValueOperation(), emitOMPArraySectionBase(), emitOMPAtomicCaptureExpr(), emitOMPAtomicCompareExpr(), emitOMPAtomicRMW(), emitOMPAtomicUpdateExpr(), clang::CodeGen::CodeGenFunction::EmitOMPFirstprivateClause(), clang::CodeGen::CodeGenFunction::EmitOMPGenericLoopDirective(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPUseDeviceAddrClause(), clang::CodeGen::CodeGenFunction::EmitOMPUseDevicePtrClause(), clang::CIRGen::CIRGenFunction::emitOpOnBoolExpr(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), emitPartialArrayDestroy(), EmitPointerWithAlignment(), clang::CIRGen::CIRGenFunction::emitPointerWithAlignment(), emitPrivatesInit(), EmitReturnedAsPartOfError(), emitRVVCreateBuiltin(), emitRVVReinterpretBuiltin(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CodeGenFunction::EmitSimpleOMPExecutableDirective(), clang::CodeGen::CodeGenFunction::EmitStmt(), emitStmtWithResult(), clang::CodeGen::CodeGenFunction::EmitSVEPredicateCast(), clang::CIRGen::CIRGenFunction::emitSwitchBody(), clang::CodeGen::CodeGenFunction::EmitSwitchStmt(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtor(), clang::CodeGen::CGHLSLRuntime::emitSystemSemanticLoad(), clang::CodeGen::CGOpenMPRuntime::emitTargetDataStandAloneCall(), clang::CodeGen::CGOpenMPRuntime::emitTargetGlobal(), clang::CodeGen::CodeGenVTables::EmitThunks(), clang::CIRGen::CIRGenVTables::emitThunks(), clang::CodeGen::CodeGenModule::EmitTopLevelDecl(), clang::CIRGen::CIRGenModule::emitTopLevelDecl(), clang::CodeGen::CodeGenFunction::EmitTrapCheck(), clang::DeclContext::Encloses(), clang::ento::nonloc::PointerToMember::end(), clang::CXXMethodDecl::end_overridden_methods(), clang::SemaOpenMP::EndOpenMPDSABlock(), endsWithReturn(), clang::PreferredTypeBuilder::enterReturn(), clang::ento::StoreManager::evalBaseToDerived(), clang::ento::SValBuilder::evalBinOp(), StdVariantChecker::evalCall(), evalComparison(), clang::ento::ExprEngine::evalLoad(), EvaluateBinaryTypeTrait(), EvaluateBuiltinConstantPForLValue(), clang::SourceLocExpr::EvaluateInContext(), EvaluateLValue(), EvaluateStmt(), EvaluateSwitch(), EvaluateUnaryTypeTrait(), evaluateVarDeclInit(), clang::CodeGen::CodeGenFunction::ExitCXXTryStmt(), exitingDestructor(), ExpandAnonymousFieldDesignator(), clang::Sema::ExpandFunctionLocalPredefinedMacros(), extractStringLiteralCharacter(), clang::Sema::FillInlineAsmIdentifierInfo(), fillPackoffsetLayout(), clang::CFGBlock::FilterEdge(), FilterReturnExpressionLeaks(), clang::hlsl::BuiltinTypeMethodBuilder::finalize(), clang::Sema::FinalizeDeclaration(), clang::OverloadExpr::find(), clang::api_notes::APINotesManager::findAPINotes(), clang::Expr::findBoundMemberType(), findCompleteObject(), clang::Sema::FindCompositePointerType(), FindConversionForRefInit(), FindDeclaringClass(), findDominatingStoreToReturnValue(), findEnclosingDeclToAnnotate(), clang::ASTReader::FindExternalLexicalDecls(), clang::Sema::findFailedBooleanCondition(), FindFieldDeclInstantiationPattern(), clang::Sema::FindInstantiatedDecl(), clang::LocalInstantiationScope::findInstantiationOf(), clang::TypeLoc::findNullabilityLoc(), findSubobject(), clang::Sema::FinishCXXForRangeStmt(), clang::CXXRecordDecl::finishedDefaultedOrDeletedMember(), FinishForRangeVarDecl(), clang::Sema::FinishTemplateArgumentDeduction(), clang::Sema::FixOverloadedFunctionReference(), fixVarDeclWithArray(), fixVariable(), clang::CodeGen::CodeGenFunction::FlattenAccessAndType(), FormatASTNodeDiagnosticArgument(), FormatFunctionParameter(), clang::interp::Free(), FunctionToString(), gatherFunctions(), clang::CodeGen::CodeGenFunction::GenerateCode(), clang::CIRGen::CIRGenFunction::generateCode(), generateDiagnosticsForCallLike(), GenerateFixForUnusedDecl(), clang::CodeGen::CodeGenFunction::GenerateObjCMethod(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), clang::CodeGen::CodeGenFunction::GetAArch64SVEProcessedOperands(), clang::CIRGen::CIRGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::CodeGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::CodeGenModule::GetAddrOfGlobal(), clang::CIRGen::CIRGenModule::getAddrOfGlobal(), clang::CodeGen::CodeGenModule::GetAddrOfGlobalTemporary(), clang::CXXDefaultArgExpr::getAdjustedRewrittenExpr(), clang::ASTNameGenerator::Implementation::getAllManglings(), getAllNamedNamespaces(), clang::Type::getArrayElementTypeNoTypeQual(), clang::CanQual< T >::getAs(), clang::Type::getAs(), clang::Type::getAsAdjusted(), clang::ASTContext::getAsArrayType(), clang::Type::getAsArrayTypeUnsafe(), clang::Type::getAsCXXRecordDecl(), getAssignmentAction(), clang::Sema::getAsTemplateNameDecl(), getAsTypeTemplateDecl(), getBestNamespaceSubstr(), clang::BindingDecl::getBindingPackDecls(), getBlockExpr(), clang::CallExpr::getCallReturnType(), clang::ASTContext::getCanonicalParamType(), clang::CXXRecordDecl::getCanonicalTemplateSpecializationType(), clang::CIRGen::CIRGenModule::getCIRLinkageForDeclarator(), clang::ObjCMethodDecl::getClassInterface(), clang::ASTContext::getCommentForDecl(), clang::ASTContext::getCommonSugaredType(), getConstantExprReferredType(), getConstField(), getConstructorInfo(), getCoroutineSuspendExprReturnType(), clang::CXXMethodDecl::getCorrespondingMethodDeclaredInClass(), clang::GlobalDecl::getCtorType(), clang::Sema::getCurFunctionOrMethodDecl(), clang::Sema::getCurLambda(), clang::Sema::getCurMethodDecl(), getCurrentInstantiationOf(), clang::Sema::getCurrentMangleNumberContext(), clang::Sema::getCurrentThisType(), clang::ento::MemRegionManager::getCXXBaseObjectRegion(), clang::ento::CXXInstanceCall::getCXXThisVal(), clang::interp::Descriptor::getDataType(), clang::ASTContext::getDeclAlign(), getDeclAvailability(), clang::ento::CheckerContext::getDeclDescription(), getDeclLocsForCommentSearch(), getDeclShowContexts(), GetDeclSpecTypeForDeclarator(), clang::Sema::getDecltypeForExpr(), clang::Sema::getDefaultedFunctionKind(), clang::TemplateArgument::getDependence(), getDepthAndIndex(), clang::Sema::getDestructorName(), GetDiagForGotoScopeDecl(), clang::GlobalDecl::getDtorType(), clang::GlobalDecl::getDynamicInitKind(), getElementCountOfArrayBeingDestructed(), clang::Sema::getEnclosingFunction(), getEnclosingParent(), clang::Expr::getEnumCoercedType(), clang::CodeGen::CodeGenTypes::getExpandedTypes(), getExpansionSize(), GetExplicitObjectType(), getExplicitVisibilityAux(), clang::ValueStmt::getExprStmt(), clang::MaterializeTemporaryExpr::getExtendingDecl(), clang::ASTImporter::getFieldIndex(), clang::FileManager::getFileRef(), clang::NamedDecl::getFormalLinkage(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForRedeclarableTemplate(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForSpecialCXXMethod(), GetFullTypeForDeclarator(), clang::TypeName::getFullyQualifiedType(), clang::Sema::getFunctionLevelDeclContext(), clang::AnalysisDeclContext::getFunctionName(), clang::extractapi::DeclarationFragmentsBuilder::getFunctionSignature(), clang::Decl::getFunctionType(), getImplicitObjectParamType(), clang::ento::CXXInheritedConstructorCall::getInheritingStackFrame(), clang::GlobalDecl::getKernelReferenceKind(), clang::TemplateName::getKind(), clang::CFGBlock::getLastCondition(), clang::Redeclarable< decl_type >::DeclLink::getLatestNotUpdated(), getLikelihood(), clang::CodeGen::CodeGenModule::getLLVMLinkageForDeclarator(), clang::ento::FunctionCodeRegion::getLocationType(), clang::DeclContext::getLookupParent(), clang::ento::StoreManager::getLValueElement(), clang::CodeGen::CodeGenModule::getMangledName(), clang::MaterializeTemporaryExpr::getManglingNumber(), clang::ento::SValBuilder::getMemberPointer(), clang::ento::MemRegion::getMemorySpace(), getMethodBody(), getMethodReceiverIfKnownImmutable(), clang::MicrosoftVTableContext::getMethodVFTableLocation(), GetModuleOutputPath(), clang::Sema::getMoreConstrainedFunction(), clang::GlobalDecl::getMultiVersionIndex(), getNaiveStrategy(), clang::driver::Driver::GetNamedOutputPath(), clang::Sema::GetNameFromUnqualifiedId(), getNextAggregateIndexAfterDesignatedInit(), getNonCLikeKindForAnonymousStruct(), clang::Sema::getNonTagTypeDeclKind(), clang::Sema::getNumArgumentsInExpansionFromUnexpanded(), clang::FunctionTypeLoc::getNumParams(), clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), clang::ASTContext::getObjCEncodingForMethodDecl(), clang::ASTContext::getObjCObjectType(), getObjectType(), clang::CIRGen::CIRGenFunction::getOpenACCDataOperandInfo(), clang::ASTContext::getOpenCLTypeKind(), clang::CIRGen::CIRGenModule::getOrCreateCIRFunction(), clang::CIRGen::CIRGenModule::getOrCreateStaticVarDecl(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), clang::MaterializeTemporaryExpr::getOrCreateValue(), clang::CallGraph::getOrInsertNode(), getOutermostFuncOrBlockContext(), clang::ParentMap::getOuterParenParent(), clang::ASTContext::getOverloadedTemplateName(), clang::Decl::getOwningModuleForLinkage(), clang::ParentMap::getParentIgnoreParenCasts(), clang::CodeCompletionTUInfo::getParentName(), getParentOfCapturingContextOrNull(), getPatternForClassTemplateSpecialization(), getPointeeTypeText(), clang::ValueDecl::getPotentiallyDecomposedVarDecl(), getPredefinedExprDecl(), getPreferredArgumentTypeForMessageSend(), getPreviousDeclForInstantiation(), clang::ento::ExplodedNode::getPreviousStmtForDiagnostics(), getPrivateItem(), getQualifiedNameStart(), clang::ASTContext::getRawCommentForDeclNoCacheImpl(), getRegionName(), clang::ento::ObjCMethodCall::getRuntimeDefinition(), clang::Type::getScalarTypeKind(), clang::Sema::getSelfAssignmentClassMemberCandidate(), clang::Sema::getShadowedDeclaration(), clang::Sema::getShadowedDeclaration(), clang::Sema::getShadowedDeclaration(), clang::ShuffleVectorExpr::getShuffleMaskIdx(), GetSignature(), clang::Sema::GetSignedVectorType(), clang::CodeGen::CGOpenMPRuntime::getSingleCompoundChild(), clang::ParmVarDecl::getSourceRange(), clang::ento::CXXTempObjectRegion::getStackFrame(), getStackIndexOfNearestEnclosingCaptureReadyLambda(), getStackOrGlobalSpaceRegion(), getStartIndex(), getStaticAssertNoMessageFixIt(), getStaticBooleanValue(), getStaticDeclName(), clang::ento::MemRegionManager::getStaticSize(), clang::CompoundStmt::getStmtExprResult(), getStmtParent(), clang::LifetimeExtendedTemporaryDecl::getStorageDuration(), clang::MaterializeTemporaryExpr::getStorageDuration(), clang::MaterializeTemporaryExpr::getSubExpr(), clang::CastExpr::getSubExprAsWritten(), clang::extractapi::DeclarationFragmentsBuilder::getSubHeading(), clang::ento::Environment::getSVal(), clang::index::getSymbolInfo(), clang::ento::taint::getTaintedSymbolsImpl(), clang::FunctionDecl::getTemplatedKind(), clang::Sema::getTemplateInstantiationArgs(), clang::Sema::getTemplateNameKindForDiagnostics(), clang::FunctionDecl::getTemplateSpecializationKind(), clang::FunctionDecl::getTemplateSpecializationKindForInstantiation(), clang::CodeGen::CGOpenMPRuntime::getThreadID(), clang::MicrosoftVTableContext::getThunkInfo(), clang::Sema::getTopMostPointOfInstantiation(), clang::TypeDecl::getTypeForDecl(), clang::Sema::getTypeName(), GetTypeSourceInfoForDeclarator(), clang::Sema::getUndefinedButUsed(), clang::FileManager::GetUniqueIDMapping(), clang::dataflow::Environment::getValue(), clang::Expr::getValueKindForType(), clang::ento::MemRegionManager::getVarRegion(), clang::FileManager::getVirtualFileRef(), clang::CodeGen::CodeGenModule::GetWeakRefReference(), clang::GlobalDecl::getWithCtorType(), clang::GlobalDecl::getWithDtorType(), clang::GlobalDecl::getWithKernelReferenceKind(), clang::GlobalDecl::getWithMultiVersionIndex(), handleAPINotedRetainCountConvention(), handleAvailabilityAttr(), handleAvailableOnlyInDefaultEvalMethod(), clang::consumed::ConsumedStmtVisitor::handleCall(), handleCallConvAttr(), handleCFIUncheckedCalleeAttr(), handleComplexFloatConversion(), HandleConstructorCall(), clang::index::IndexingContext::handleDecl(), clang::DotMemberAccessHandler::handleDeclaration(), clang::Sema::HandleDeclarator(), handleDependencyAttr(), handleDeprecatedAttr(), clang::SemaObjC::handleDesignatedInitializer(), clang::SemaObjC::handleDirectAttr(), handleDLLAttr(), clang::SemaSwift::handleError(), handleExcludeFromExplicitInstantiationAttr(), clang::SemaObjC::HandleExprPropertyRefExpr(), clang::SemaObjC::handleExternallyRetainedAttr(), handleExtVectorTypeAttr(), handleFallThroughAttr(), HandleFloatToFloatCast(), clang::SemaX86::handleForceAlignArgPointerAttr(), clang::SemaSYCL::handleKernelAttr(), handleLoopHintAttr(), handleLValueToRValueConversion(), handleMIGServerRoutineAttr(), handleMSPointerTypeQualifierAttr(), handleNakedAttr(), clang::SemaSwift::handleNewType(), handleNoReturnAttr(), clang::SemaObjC::handleNSErrorDomain(), clang::SemaHLSL::handlePackOffsetAttr(), clang::SemaObjC::HandlePropertyInClassExtension(), clang::index::IndexingContext::handleReference(), clang::SemaObjC::handleReturnsInnerPointerAttr(), handleSectionAttr(), handleSentinelAttr(), handleSharedAttr(), clang::Sema::handleTagNumbering(), handleTypeTagForDatatypeAttr(), handleVecReturnAttr(), HandleVirtualDispatch(), handleVisibilityAttr(), handleWarnUnusedResult(), handleWeakImportAttr(), clang::SemaObjC::handleXReturnsXRetainedAttr(), clang::Sema::hasAcceptableDefinition(), hasAcceptableMemberSpecialization(), clang::Sema::hasAnyAcceptableTemplateNames(), hasArrayType(), hasCXXMangling(), hasDeclarator(), clang::InitListExpr::hasDesignatedInit(), hasEmptyLoopBody(), hasFunctionProto(), hasImplicitExceptionSpec(), clang::QualType::hasLocalNonFastQualifiers(), clang::ento::MemRegion::hasMemorySpace(), HasNoThrowOperator(), hasOnlyNonStaticMemberFunctions(), hasOrderedDirective(), hasPointerType(), HasPreprocessOutput(), hasRecursiveCallInPath(), hasReservedReturnType(), clang::ASTNodeImporter::hasReturnTypeDeclaredInside(), clang::Type::hasSizedVLAType(), hasTemplateSpecializationInEncodedString(), clang::CodeGen::CGCXXABI::HasThisReturn(), clang::FunctionDecl::hasTrivialBody(), hasTrivialGetExpr(), hasTrivialSetExpr(), HelperToDiagnoseMismatchedMethodsInGlobalPool(), clang::SemaCUDA::IdentifyPreference(), IgnoreElidableImplicitConstructorSingleStep(), ignoreExtraCC1Commands(), IgnoreImplicitConstructorSingleStep(), ignoreLiteralAdditions(), clang::QualType::IgnoreParens(), clang::Expr::IgnoreUnlessSpelledInSource(), clang::Sema::ImpCastExprToType(), clang::Sema::ImplicitlyDefineFunction(), clang::ASTNodeImporter::ImportDeclContext(), clang::ASTNodeImporter::ImportDeclParts(), importSpecializationsIfNeeded(), clang::index::IndexingContext::indexDecl(), clang::index::IndexingContext::indexTopLevelDecl(), inferFlavor(), clang::Sema::inferLifetimeBoundAttribute(), clang::SemaObjC::inferObjCARCLifetime(), clang::SemaCUDA::inferTargetForImplicitSpecialMember(), InitCatchParam(), clang::TemplateDeclInstantiator::InitFunctionInstantiation(), clang::dataflow::Environment::initialize(), clang::InitializationSequence::InitializeFrom(), clang::TemplateDeclInstantiator::InitMethodInstantiation(), initNeedsOverridenLoc(), InjectAnonymousStructOrUnionMembers(), InNamespace(), clang::dataflow::insertIfLocal(), clang::Sema::InstantiateAttrs(), clang::Sema::InstantiateClass(), clang::Sema::InstantiateClassMembers(), instantiateExplicitSpecifierDeferred(), clang::Sema::InstantiateFunctionDefinition(), clang::Sema::InstantiateInClassInitializer(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), clang::interp::EvalEmitter::interpretExpr(), clang::interp::InvalidNewDeleteExpr(), clang::APValue::LValueBase::is(), clang::Sema::isAcceptableNestedNameSpecifier(), isAccessedBy(), clang::Type::isAggregateType(), clang::Type::isAlwaysIncompleteType(), clang::Type::isAnyComplexType(), isARCNilInitializedLocal(), clang::Type::isArithmeticType(), isArrayIndexOutOfBounds(), clang::Type::isArrayParameterType(), clang::Type::isArrayType(), IsArtificial(), isASafeCallArg(), clang::Type::isAtomicType(), isBadDeallocationArgument(), clang::CXXCtorInitializer::isBaseInitializer(), isBetterOverloadCandidate(), clang::Type::isBitIntType(), clang::Type::isBlockPointerType(), clang::MacroExpansion::isBuiltinMacro(), clang::Type::isBuiltinType(), IsCallableWithAppend(), clang::ento::CallEvent::isCallStmt(), clang::QualType::isCanonicalAsParam(), clang::ObjCPropertyRefExpr::isClassReceiver(), clang::ClassTemplateSpecializationDecl::isClassScopeExplicitSpecialization(), clang::VarTemplateSpecializationDecl::isClassScopeExplicitSpecialization(), clang::CodeGen::CodeGenFunction::isCleanupPadScope(), clang::TemplateArgument::isConceptOrConceptTemplateParameter(), clang::OverloadExpr::isConceptReference(), clang::Type::isConstantArrayType(), clang::Type::isConstantMatrixType(), clang::Type::isConstantSizeType(), clang::VarDecl::isConstexpr(), isConstOwnerPtrMemberExpr(), isConstructor(), clang::ParentMap::isConsumedExpr(), isCXXAssumeAttr(), clang::NamedDecl::isCXXClassMember(), clang::VarDecl::isCXXCondDecl(), clang::VarDecl::isCXXForRangeDecl(), clang::VarDecl::isCXXForRangeImplicitVar(), clang::NamedDecl::isCXXInstanceMember(), clang::CFGCXXRecordTypedCall::isCXXRecordTypedCall(), isDeclADefinition(), clang::Sema::isDeclaratorFunctionLike(), clang::IdentifierResolver::isDeclInScope(), clang::Type::isDecltypeType(), clang::Expr::isDefaultArgument(), clang::CXXCtorInitializer::isDelegatingInitializer(), isDeletingDtor(), clang::Type::isDependentAddressSpaceType(), clang::DeclContext::isDependentContext(), clang::Type::isDependentSizedArrayType(), clang::ObjCMethodDecl::isDesignatedInitializerForTheInterface(), isEffectivelyConstRegion(), clang::CodeGen::isEmptyField(), isEnableIf(), isEnumConstant(), isEnumConstant(), IsEnumConstOrFromMacro(), clang::Type::isEnumeralType(), IsEquivalentForUsingDecl(), clang::VarDecl::isExceptionVariable(), isExprAnUnaddressableFunction(), clang::ento::nonloc::SymbolVal::isExpression(), isExprToGetCheckedPtrCapableMember(), clang::Type::isExtVectorType(), isFallthroughStatement(), clang::Redeclarable< decl_type >::DeclLink::isFirst(), isForbiddenTypeAllowed(), isForSupportedByOpenMPIRBuilder(), isFunctionLikeDeclaration(), isFunctionLocalClass(), clang::index::isFunctionLocalSymbol(), clang::FunctionDecl::isFunctionTemplateSpecialization(), clang::Type::isFunctionType(), isGetterOfSafePtr(), IsGlobalLValue(), isGLValueFromPointerDeref(), clang::Type::isHLSLAttributedResourceType(), clang::Type::isHLSLInlineSpirvType(), clang::Type::isHLSLIntangibleType(), clang::Type::isHLSLResourceRecordArray(), isImmediateSinkBlock(), IsImplicitBoolFloatConversion(), clang::Sema::isImplicitlyDeleted(), clang::Sema::isIncompatibleTypedef(), clang::Type::isIncompleteArrayType(), isInCondition(), clang::CXXCtorInitializer::isIndirectMemberInitializer(), clang::Decl::isInExportDeclContext(), clang::tooling::CodeRangeASTSelection::isInFunctionLikeBodyOfCode(), clang::DefaultArgStorage< TemplateTypeParmDecl, TemplateArgumentLoc * >::isInherited(), clang::VarDecl::isInitCapture(), clang::VarDecl::isInline(), clang::VarDecl::isInlineSpecified(), clang::Decl::isInLocalScopeForInstantiation(), clang::AnalysisDeclContext::isInStdNamespace(), clang::ento::ExplodedGraph::isInterestingLValueExpr(), isInvalidICRSource(), isKnownToAlwaysThrow(), clang::VarDecl::isKnownToBeDefined(), clang::Expr::isKnownToHaveBooleanValue(), isLambdaCallOperator(), isLegalArrayNewInitializer(), IsLiteralConstantExpr(), clang::Type::isLiteralType(), clang::ento::SymbolReaper::isLive(), clang::ento::SymbolReaper::isLiveRegion(), isLValueKnownNonNull(), clang::Type::isLValueReferenceType(), clang::Type::isMatrixType(), clang::CXXCtorInitializer::isMemberInitializer(), clang::Type::isMemberPointerType(), clang::TypedefNameDecl::isModed(), clang::Decl::isModuleLocal(), isMSPropertySubscriptExpr(), clang::VarDecl::isNRVOVariable(), clang::Expr::isNullPointerConstant(), isNullPtr(), libc_func_matchers::isNullTermPointer(), isNumericLiteralExpression(), clang::IfStmt::isObjCAvailabilityCheck(), clang::Type::isObjCObjectOrInterfaceType(), clang::Type::isObjCObjectPointerType(), clang::Type::isObjCObjectType(), isObjCTypeParamDependent(), clang::ObjCPropertyRefExpr::isObjectReceiver(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::SemaOpenMP::isOpenMPCapturedDecl(), clang::SemaOpenMP::isOpenMPPrivateDecl(), clang::SemaOpenMP::isOpenMPRebuildMemberExpr(), IsOverloadOrOverrideImpl(), clang::TemplateArgument::isPackExpansion(), isParameterOf(), isParenthetizedAndQualifiedAddressOfExpr(), clang::serialization::isPartOfPerModuleInitializer(), clang::Type::isPipeType(), clang::NamedDecl::isPlaceholderVar(), clang::CodeGen::CodeGenFunction::isPointerKnownNonNull(), clang::Type::isPointerType(), clang::ento::isPossiblyEscaped(), clang::Sema::isPotentialImplicitMemberAccess(), IsPotentiallyDestroyingOperatorDelete(), isPreferredLookupResult(), clang::VarDecl::isPreviousDeclInSameBlockScope(), clang::Sema::isQualifiedMemberAccess(), clang::Expr::isReadIfDiscardedInCPlusPlus11(), IsReadonlyMessage(), clang::Type::isRecordType(), isReferenceToNonConstCapture(), clang::Type::isReferenceType(), isRequiredDecl(), clang::NamedDecl::isReserved(), isResultTypeOrTemplate(), isRvalueByValueRecord(), clang::Type::isRValueReferenceType(), clang::Expr::isSameComparisonOperand(), clang::ASTContext::isSameEntity(), clang::Type::isScalarType(), isSelfVar(), clang::ASTContext::isSentinelNullExpr(), clang::Sema::isSFINAEContext(), isSimdSupportedByOpenMPIRBuilder(), isSimpleTemplateIdType(), isSimpleZero(), clang::LookupResult::isSingleTagDecl(), IsStandardConversion(), isStandardDelete(), isStandardNew(), isStdClassTemplate(), IsStringInit(), clang::InitListExpr::isStringLiteralInit(), clang::concepts::ExprRequirement::ReturnTypeRequirement::isSubstitutionFailure(), clang::sema::AnalysisBasedWarnings::IssueWarnings(), clang::ObjCPropertyRefExpr::isSuperReceiver(), clang::ento::BugSuppression::isSuppressed(), clang::Decl::isTemplateDecl(), clang::index::IndexingContext::isTemplateImplicitInstantiation(), clang::Sema::isTemplateName(), clang::Type::isTemplateTypeParmType(), clang::FunctionProtoType::isTemplateVariadic(), clang::Expr::isTemporaryObject(), clang::VarDecl::isThisDeclarationADefinition(), clang::VarDecl::isThisDeclarationADemotedDefinition(), clang::DeclContext::isTransparentContext(), isTrivialExpression(), isTrivialFiller(), isTrivialFiller(), isTrivialForMSVC(), clang::QualType::isTrivialType(), clang::ConceptDecl::isTypeConcept(), clang::TemplateTemplateParmDecl::isTypeConceptTemplateParam(), clang::concepts::ExprRequirement::ReturnTypeRequirement::isTypeConstraint(), clang::CXXTypeidExpr::isTypeOperand(), clang::CXXUuidofExpr::isTypeOperand(), isTypeSubstitutable(), clang::Type::isUndeducedAutoType(), clang::Sema::isUnexpandedParameterPackPermitted(), isUniqueInternalLinkageDecl(), clang::Expr::isUnusedResultAWarning(), clang::FunctionDecl::isUsableAsGlobalAllocationFunctionInConstantEvaluation(), IsUserDefinedConversion(), isUsingDeclNotAtClassScope(), isValidCoroutineContext(), isValidPreserveFieldInfoArg(), isValidPreserveTypeInfoArg(), clang::OverloadExpr::isVarDeclReference(), isVariableAlreadyCapturedInScopeInfo(), clang::Type::isVariableArrayType(), isVariableCapturable(), clang::sema::LambdaScopeInfo::isVariableExprMarkedAsNonODRUsed(), clang::Type::isVectorType(), clang::Decl::isWeakImported(), clang::CodeGen::CodeGenFunction::IsWrappedCXXThis(), clang::CIRGen::CIRGenTypes::isZeroInitializable(), clang::CodeGen::CodeGenTypes::isZeroInitializable(), clang::dataflow::joinDistinctValues(), LeastDerivedClassWithSameLayout(), clang::DeclContext::LexicallyEncloses(), clang::CIRGen::CIRGenFunction::loadCXXThisAddress(), lookThroughRangesV3Condition(), LookupDirect(), clang::Sema::LookupName(), clang::SemaOpenMP::lookupOpenMPDeclareTargetName(), clang::Sema::LookupSpecialMember(), LookupStdClassTemplate(), clang::Sema::LookupTemplateName(), lookupUnqualifiedTypeNameInBase(), clang::VTableComponent::MakeFunction(), clang::VTableComponent::MakeUnusedFunction(), clang::MangleContext::mangleBlock(), clang::Sema::MarkFunctionReferenced(), clang::ento::SymbolReaper::markInUse(), clang::sema::FunctionScopeInfo::markSafeWeakUse(), markUsedForAliasOrIfunc(), clang::sema::LambdaScopeInfo::markVariableExprAsNonODRUsed(), clang::SemaObjC::MatchAllMethodDeclarations(), clang::threadSafety::sx::matches(), DerefSimplePtrArithFixableGadget::matches(), MatchesFriend(), MatchesFriend(), MatchTemplateParameterKind(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), matchTypes(), MaybeAddOverrideCalls(), clang::Sema::MaybeBindToTemporary(), MaybeElementDependentArrayFiller(), clang::CIRGen::CIRGenModule::mayBeEmittedEagerly(), MayBeFunctionType(), clang::tooling::mayEverNeedParens(), clang::ASTContext::mayExternalize(), clang::interp::MemberPointer::MemberPointer(), clang::ento::BlockDataRegion::MemRegionManager, clang::ento::CompoundLiteralRegion::MemRegionManager, clang::ento::CXXLifetimeExtendedObjectRegion::MemRegionManager, clang::ento::CXXTempObjectRegion::MemRegionManager, clang::ento::ElementRegion::MemRegionManager, clang::ento::FunctionCodeRegion::MemRegionManager, clang::ento::NonParamVarRegion::MemRegionManager, clang::ento::SymbolicRegion::MemRegionManager, clang::Sema::MergeCXXFunctionDecl(), mergeDeclAttribute(), clang::Sema::mergeDeclAttributes(), clang::Sema::MergeFunctionDecl(), clang::Sema::mergeMSInheritanceAttr(), clang::Sema::mergeObjCMethodDecls(), clang::Sema::MergeTypedefNameDecl(), methodHasName(), MethodsAndNestedClassesComplete(), clang::CodeGen::CodeGenFunction::mightAddDeclToScope(), clang::VarDecl::mightBeUsableInConstantExpressions(), MustDelayAttributeArguments(), mustVisitNullValue(), clang::tooling::needParensAfterUnaryOperator(), clang::serialization::needsAnonymousDeclarationNumber(), clang::CodeGen::DominatingLLVMValue::needsSaving(), neverReturns(), clang::CodeGen::CGOpenMPRuntime::NontemporalDeclsRAII::NontemporalDeclsRAII(), NonTypeOrVarTemplateParmDecl::NonTypeOrVarTemplateParmDecl(), clang::Sema::NoteAllFoundTemplates(), clang::BinaryOperator::offsetOfTrailingStorage(), clang::CodeGen::CodeGenFunction::OpaqueValueMapping::OpaqueValueMapping(), ResultBuilder::ShadowMapEntry::iterator::operator++(), optimizeEdges(), clang::CXXMethodDecl::overridden_methods(), clang::Sema::ParsedFreeStandingDeclSpec(), clang::ento::ConditionBRVisitor::patternMatch(), peelOffOuterExpr(), clang::InitializationSequence::Perform(), clang::Sema::PerformObjectMemberConversion(), clang::Sema::PerformPendingInstantiations(), pointerAuthResignMemberFunctionPointer(), clang::interp::Pointer::pointsToLiteral(), clang::CodeGen::CodeGenFunction::PopCleanupBlock(), clang::CIRGen::CIRGenFunction::popCleanupBlock(), clang::Sema::PopParsingDeclaration(), clang::driver::PrecompileJobAction::PrecompileJobAction(), clang::TemplateName::print(), print_block(), print_elem(), clang::Decl::printGroup(), clang::Sema::PrintInstantiationStack(), clang::ProgramPoint::printJson(), clang::NamedDecl::printNestedNameSpecifier(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printProject(), printReferrer(), clang::Sema::ProcessAPINotes(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::ExprEngine::processBranch(), clang::ento::ExprEngine::processCallExit(), ProcessDeclAttribute(), clang::ento::ExprEngine::processIndirectGoto(), clang::ento::ExprEngine::ProcessInitializer(), clang::ento::ExprEngine::ProcessMemberDtor(), ProcessOpenMPDoacrossClauseCommon(), clang::ento::ExprEngine::processPointerEscapedOnBind(), processTypeAttrs(), clang::CodeGen::CodeGenFunction::protectFromPeepholes(), clang::dataflow::Environment::pushCall(), clang::Sema::PushOnScopeChains(), clang::randstruct::randomizeStructureLayout(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildMemberExpr(), rebuildPotentialResultsAsNonOdrUsed(), clang::Sema::RebuildTemplateParamsInCurrentInstantiation(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), clang::CodeGen::CGOpenCLRuntime::recordBlockInfo(), recordUsesEBO(), clang::SemaPseudoObject::recreateSyntacticForm(), clang::BoundsAttributedType::referencesFieldDecls(), refersToCompleteObject(), clang::Sema::RefersToMemberWithReducedAlignment(), clang::Expr::refersToVectorElement(), REGISTER_MAP_WITH_PROGRAMSTATE(), clang::ASTDeclWriter::RegisterTemplateSpecialization(), removeContextCycles(), clang::ento::ExprEngine::removeDead(), clang::DeclContext::removeDecl(), RemoveNestedImmediateInvocation(), removePopUpNotes(), clang::syntax::removeStatement(), replaceManagedVar(), clang::tooling::replaceNestedName(), replaceUndef(), replaceUsesOfNonProtoConstant(), ReplaceUsesOfNonProtoTypeWithRealFunction(), requiresAMDGPUProtectedVisibility(), requiresMemberFunctionPointerTypeMetadata(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), ResolveConstructorOverload(), clang::LookupResult::resolveKind(), clang::edit::rewriteObjCRedundantCallWithLiteral(), rewriteToNumberLiteral(), rewriteToNumericBoxedExpression(), clang::ento::ScanReachableSymbols::scan(), clang::CodeGen::CGOpenMPRuntime::scanForTargetRegionsFunctions(), ScopeSpecifierHasTemplateId(), SearchForReturnInStmt(), SelectPropertyForSynthesisFromProtocols(), clang::VarDecl::setConstexpr(), clang::VarDecl::setCXXCondDecl(), clang::VarDecl::setCXXForRangeDecl(), clang::VarDecl::setCXXForRangeImplicitVar(), clang::Sema::SetDeclDefaulted(), clang::VarDecl::setExceptionVariable(), clang::MaterializeTemporaryExpr::setExtendingDecl(), clang::CodeGen::CodeGenFunction::SetFPAccuracy(), clang::CodeGen::CodeGenModule::setGlobalVisibility(), clang::VarDecl::setImplicitlyInline(), clang::VarDecl::setInitCapture(), clang::VarDecl::setInlineSpecified(), clang::ASTContext::setInstantiatedFromUsingDecl(), clang::ClassTemplateSpecializationDecl::setInstantiationOf(), clang::ClassTemplateSpecializationDecl::setInstantiationOf(), clang::VarTemplateSpecializationDecl::setInstantiationOf(), clang::VarTemplateSpecializationDecl::setInstantiationOf(), clang::CXXRecordDecl::setInstantiationOfMemberClass(), clang::Decl::setInvalidDecl(), clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition(), clang::CodeGen::CGDebugInfo::setLocation(), clang::ento::MemRegion::setMemorySpace(), clang::VarDecl::setNRVOVariable(), setObjCGCLValueClass(), clang::Redeclarable< decl_type >::setPreviousDecl(), clang::VarDecl::setPreviousDeclInSameBlockScope(), clang::dataflow::Environment::setStorageLocation(), clang::Sema::setTagNameForLinkagePurposes(), clang::VarDecl::setTemplateSpecializationKind(), clang::CXXRecordDecl::setTrivialForCallFlags(), clang::TypeDecl::setTypeForDecl(), clang::dataflow::Environment::setValue(), shouldAddReversedEqEq(), shouldAssumeDSOLocal(), shouldAssumeDSOLocal(), shouldBeHidden(), shouldConsiderLinkage(), shouldConsiderLinkage(), ShouldDiagnoseAvailabilityInContext(), clang::Sema::ShouldDiagnoseAvailabilityOfDecl(), ShouldDiagnoseUnusedDecl(), shouldEmitSeparateBlockRetain(), clang::Sema::ShouldEnterDeclaratorScope(), shouldExtendReceiverForInnerPointerMessage(), shouldHaveNullability(), clang::MangleContext::shouldMangleDeclName(), clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue(), clang::CIRGen::CIRGenFunction::shouldNullCheckClassCastValue(), ShouldPropagateBreakContinue(), shouldRemoveDeadBindings(), shouldSkipFunction(), shouldSkipNamelessDecl(), clang::ASTDeclWriter::shouldSkipWritingSpecializations(), shouldTreatSuccessorsAsReachable(), shouldUseBZeroPlusStoresToInitialize(), clang::driver::Driver::ShouldUseClangCompiler(), clang::driver::Driver::ShouldUseFlangCompiler(), ShouldWarnAboutMissingPrototype(), showBRDiagnostics(), similar(), simplifySimpleBranches(), clang::CXXMethodDecl::size_overridden_methods(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::CIRGen::CIRGenFunction::startFunction(), clang::CodeGen::CodeGenFunction::StartThunk(), clang::SemaObjC::stripARCUnbridgedCast(), StripImplicitInstantiation(), subscriptOperatorNeedsParens(), synthesizeCurrentNestedNameSpecifier(), clang::Sema::SynthesizedFunctionScope::SynthesizedFunctionScope(), templateResultType(), clang::interp::This(), clang::interp::MemberPointer::toPointer(), clang::TreeTransform< Derived >::TransformFunctionTypeParam(), clang::TreeTransform< Derived >::TransformInitializer(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), clang::TreeTransform< Derived >::TransformReferenceType(), clang::TreeTransform< Derived >::TransformSEHHandler(), clang::TreeTransform< Derived >::TransformTypeWithDeducedTST(), clang::TreeTransform< Derived >::TransformTypeWithDeducedTST(), clang::threadSafety::SExprBuilder::translateAttrExpr(), clang::threadSafety::SExprBuilder::translateAttrExpr(), clang::CodeGen::CGOpenMPRuntimeGPU::translateParameter(), clang::threadSafety::SExprBuilder::translateVariable(), MatchDescendantVisitor::TraverseDecl(), clang::LexicallyOrderedRecursiveASTVisitor< Derived >::TraverseDeclContextHelper(), tryCaptureAsConstant(), clang::Sema::tryCaptureVariable(), TryConstCast(), TryConstructorInitialization(), TryDiagnoseProtectedAccess(), tryEmitARCRetainLoadOfScalar(), clang::CIRGen::CIRGenFunction::tryEmitAsConstant(), clang::CodeGen::CodeGenFunction::tryEmitAsConstant(), tryEmitFusedAutoreleaseOfResult(), clang::CIRGen::ConstantEmitter::tryEmitPrivate(), tryExtractInitializerFromList(), tryGCCVectorConvertAndSplat(), tryGenerateSpecializedMessageSend(), TryListConversion(), TryListInitialization(), clang::Sema::tryLookupUnambiguousFieldDecl(), tryMatchRecordTypes(), TryObjectArgumentInitialization(), TryReferenceListInitialization(), TryRefInitWithConversionFunction(), tryToFindPtrOrigin(), clang::ConversionFixItGenerator::tryToFixConversion(), tryTransformToLiteralConstant(), TryTypoCorrectionForCall(), TryUserDefinedConversion(), clang::ASTContext::UnwrapSimilarArrayTypes(), clang::ASTDeclReader::UpdateDecl(), updateGNUCompoundLiteralRValue(), clang::ento::ExprEngine::updateObjectsUnderConstruction(), updateStringLiteralType(), clang::Sema::UseArgumentDependentLookup(), UsefulToPrintExpr(), usesTypeVisibility(), clang::UsingShadowDecl::UsingShadowDecl(), validateAlignasAppliedType(), clang::CorrectionCandidateCallback::ValidateCandidate(), clang::FunctionCallFilterCCC::ValidateCandidate(), validateDeclsInsideHLSLBuffer(), clang::CodeGen::CodeGenPGO::valueProfile(), VariableCanNeverBeAConstantExpression(), clang::ento::VarRegion::VarRegion(), clang::Sema::VerifyBitField(), VerifyInitializationSequenceCXX98(), clang::Sema::VerifyIntegerConstantExpression(), clang::ASTDeclReader::Visit(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::Visit(), clang::ento::ExprEngine::Visit(), clang::TextNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::ento::ExprEngine::VisitArrayInitLoopExpr(), clang::interp::Compiler< Emitter >::visitAttributedStmt(), clang::interp::Compiler< Emitter >::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::lifetimes::internal::FactGenerator::VisitCXXMemberCallExpr(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitCXXMethodDecl(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::ASTNodeImporter::VisitCXXNamedCastExpr(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::installapi::InstallAPIVisitor::VisitCXXRecordDecl(), clang::ASTDeclReader::VisitCXXRecordDeclImpl(), clang::ASTDeclReader::VisitDecl(), clang::ASTDeclWriter::VisitDeclContext(), clang::UsedDeclVisitor< DeferredDiagnosticsEmitter >::VisitDeclRefExpr(), clang::consumed::ConsumedStmtVisitor::VisitDeclStmt(), clang::ento::ExprEngine::VisitDeclStmt(), clang::interp::Compiler< Emitter >::visitDeclStmt(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitFieldDecl(), clang::ASTDeclWriter::VisitFriendDecl(), clang::sema::visitFunctionCallArguments(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitFunctionDecl(), clang::installapi::InstallAPIVisitor::VisitFunctionDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitFunctionTemplateDecl(), clang::ento::ExprEngine::VisitGCCAsmStmt(), clang::interp::Compiler< Emitter >::visitInitList(), clang::sema::visitLocalsRetainedByInitializer(), clang::sema::visitLocalsRetainedByReferenceBinding(), clang::ento::ExprEngine::VisitMemberExpr(), clang::interp::Compiler< Emitter >::VisitMemberExpr(), clang::UsedDeclVisitor< DeferredDiagnosticsEmitter >::VisitMemberExpr(), clang::JSONNodeDumper::VisitNamedDecl(), clang::tooling::RecursiveSymbolVisitor< T >::VisitNamedDecl(), clang::ASTDeclWriter::VisitNamespaceDecl(), clang::ento::retaincountchecker::RefCountReportVisitor::VisitNode(), clang::ento::SValExplainer::VisitNonParamVarRegion(), clang::ASTDeclReader::VisitObjCIvarDecl(), clang::ento::SValExplainer::VisitParamVarRegion(), clang::ASTDeclWriter::VisitRecordDecl(), clang::ASTDeclReader::VisitTagDecl(), clang::ASTDeclWriter::VisitTagDecl(), clang::ASTDeclReader::VisitTypeDecl(), clang::ASTDeclWriter::VisitTypeDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitTypedefNameDecl(), clang::ento::ExprEngine::VisitUnaryOperator(), clang::ASTDeclReader::VisitValueDecl(), clang::ASTDeclWriter::VisitVarDecl(), clang::ASTNodeImporter::VisitVarDecl(), clang::extractapi::impl::ExtractAPIVisitorBase< Derived >::VisitVarDecl(), clang::installapi::InstallAPIVisitor::VisitVarDecl(), clang::ASTDeclReader::VisitVarDeclImpl(), WalkUpFromCXXConstructExpr(), clang::sema::FunctionScopeInfo::WeakObjectProfileTy::WeakObjectProfileTy(), and clang::dataflow::widenDistinctValues().

◆ isAlignedAllocation()

◆ isAlphanumeric()

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

Return true if this character is an ASCII letter or digit: [a-zA-Z0-9].

Definition at line 138 of file CharInfo.h.

References c, and InfoTable.

Referenced by checkVerifyPrefixes(), clang::CompilerInstance::createModuleFromSource(), and clang::format::getStringSplit().

◆ IsAMDOffloadArch()

bool clang::IsAMDOffloadArch ( OffloadArch A)
inlinestatic

◆ IsArmStreamingFunction()

◆ isASafeCallArg()

bool clang::isASafeCallArg ( const clang::Expr * E)

For E referring to a ref-countable/-counted pointer/reference we return whether it's a safe call argument.

Examples: function parameter or this-pointer. The logic relies on the set of recursive rules we enforce for WebKit codebase.

Returns
Whether E is a safe call arugment.

Definition at line 220 of file ASTUtils.cpp.

References CXXThis, CXXVTT, isa(), isConstOwnerPtrMemberExpr(), clang::VarDecl::isLocalVarDecl(), ObjCCmd, and ObjCSelf.

◆ isASCII() [1/4]

LLVM_READNONE bool clang::isASCII ( char c)
inline

◆ isASCII() [2/4]

LLVM_READNONE bool clang::isASCII ( int64_t c)
inline

Definition at line 49 of file CharInfo.h.

References c.

◆ isASCII() [3/4]

LLVM_READNONE bool clang::isASCII ( uint32_t c)
inline

Returns true if a codepoint is an ASCII character.

Definition at line 48 of file CharInfo.h.

References c.

◆ isASCII() [4/4]

LLVM_READNONE bool clang::isASCII ( unsigned char c)
inline

Definition at line 45 of file CharInfo.h.

References c.

◆ isAsciiIdentifierContinue() [1/2]

◆ isAsciiIdentifierContinue() [2/2]

LLVM_READONLY bool clang::isAsciiIdentifierContinue ( unsigned char c,
bool AllowDollar )
inline

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

Definition at line 80 of file CharInfo.h.

References c, and isAsciiIdentifierContinue().

◆ isAsciiIdentifierStart()

LLVM_READONLY bool clang::isAsciiIdentifierStart ( 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 53 of file CharInfo.h.

References c, and InfoTable.

Referenced by isValidAsciiIdentifier(), and parseName().

◆ isBetterOverloadCandidate()

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

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

Definition at line 10728 of file SemaOverload.cpp.

References allowAmbiguity(), clang::ImplicitConversionSequence::Better, cast(), clang::SemaCUDA::CFP_Never, clang::SemaCUDA::CFP_WrongSide, compareConversionFunctions(), compareEnableIfAttrs(), CompareImplicitConversionSequences(), CompareStandardConversionSequences(), Comparison, clang::Sema::Context, clang::OverloadCandidate::Conversions, Copy, clang::OverloadCandidateSet::CSK_InitByConstructor, clang::OverloadCandidateSet::CSK_InitByUserDefinedConversion, clang::Sema::CUDA(), clang::OverloadCandidate::ExplicitCallArguments, clang::OverloadCandidate::FinalConversion, clang::OverloadCandidate::FoundDecl, clang::OverloadCandidate::Function, functionHasPassObjectSizeParams(), clang::Sema::getASTContext(), clang::ASTContext::getCanonicalTagType(), clang::Sema::getCurFunctionDecl(), clang::DeclAccessPair::getDecl(), clang::Decl::getDeclContext(), clang::Sema::getLangOpts(), getMorePartialOrderingConstrained(), clang::Sema::getMoreSpecializedTemplate(), clang::FunctionDecl::getPrimaryTemplate(), hasDeprecatedStringLiteralToCharPtrConversion(), clang::OverloadCandidate::HasFinalConversion, ICK_Incompatible_Pointer_Conversion, clang::SemaCUDA::IdentifyPreference(), clang::OverloadCandidate::IgnoreObjectArgument, clang::ImplicitConversionSequence::Indistinguishable, isa(), clang::Qualifiers::isAddressSpaceSupersetOf(), isBetterMultiversionCandidate(), clang::SemaCUDA::isImplicitHostDeviceFunction(), clang::OverloadCandidate::isReversed(), Result, clang::OverloadCandidate::RewriteKind, clang::OverloadCandidate::StrictPackMatch, clang::FunctionDecl::TK_NonTemplate, clang::OverloadCandidate::TookAddressOfOverload, TPOC_Call, TPOC_Conversion, clang::OverloadCandidate::Viable, and clang::ImplicitConversionSequence::Worse.

Referenced by mergeCandidatesWithResults().

◆ isBlockPointer()

◆ isCheckedPtr() [1/2]

bool clang::isCheckedPtr ( const clang::CXXRecordDecl * Class)
Returns
true if Class is a CheckedPtr / CheckedRef, false if not.

Definition at line 422 of file PtrTypesSemantics.cpp.

References clang::CXXRecordDecl::getTemplateInstantiationPattern(), isCheckedPtr(), and safeGetName().

◆ isCheckedPtr() [2/2]

bool clang::isCheckedPtr ( const std::string & Name)
Returns
true if Name is CheckedRef or CheckedPtr, false if not.

Definition at line 137 of file PtrTypesSemantics.cpp.

Referenced by isCheckedPtr(), isCtorOfCheckedPtr(), isGetterOfSafePtr(), isOwnerPtrType(), isRefOrCheckedPtrType(), isSafePtr(), isSmartPtrClass(), isUnchecked(), isUnchecked(), and tryToFindPtrOrigin().

◆ isCheckedPtrCapable()

std::optional< bool > clang::isCheckedPtrCapable ( const clang::CXXRecordDecl * Class)
Returns
true if Class is checked-pointer compatible, false if not, std::nullopt if inconclusive.

Definition at line 122 of file PtrTypesSemantics.cpp.

References isSmartPtrCompatible().

Referenced by isExprToGetCheckedPtrCapableMember(), and isUnchecked().

◆ isCompatibleTargetID()

bool clang::isCompatibleTargetID ( llvm::StringRef Provided,
llvm::StringRef Requested )

Check whether the provided target ID is compatible with the requested target ID.

Definition at line 165 of file TargetID.cpp.

References parseTargetIDWithFormatCheckingOnly().

◆ isCompoundAssignmentOperator()

bool clang::isCompoundAssignmentOperator ( OverloadedOperatorKind Kind)
inline

Determine if this is a compound assignment operator.

Definition at line 53 of file OperatorKinds.h.

Referenced by clang::sema::isNormalAssignmentOperator().

◆ isComputedNoexcept()

◆ isConstOwnerPtrMemberExpr()

bool clang::isConstOwnerPtrMemberExpr ( const clang::Expr * E)
Returns
true if E is a MemberExpr accessing a const smart pointer type.

Definition at line 260 of file ASTUtils.cpp.

References clang::ValueDecl::getType(), isa(), isOwnerPtrType(), safeGetName(), and T.

Referenced by isASafeCallArg(), and clang::EnsureFunctionVisitor::VisitReturnStmt().

◆ isCpp()

bool clang::isCpp ( ) const

◆ isCSharp()

bool clang::isCSharp ( ) const

Definition at line 3402 of file Format.h.

References isCSharp(), and LK_CSharp.

Referenced by isCSharp().

◆ isCtorOfCheckedPtr()

bool clang::isCtorOfCheckedPtr ( const clang::FunctionDecl * F)
Returns
true if F creates checked ptr object from uncounted parameter, false if not.

Definition at line 165 of file PtrTypesSemantics.cpp.

References isCheckedPtr(), and safeGetName().

Referenced by isCtorOfSafePtr().

◆ isCtorOfRefCounted()

bool clang::isCtorOfRefCounted ( const clang::FunctionDecl * F)
Returns
true if F creates ref-countable object from uncounted parameter, false if not.

Definition at line 151 of file PtrTypesSemantics.cpp.

References isRefType(), and safeGetName().

Referenced by isCtorOfSafePtr(), and isPtrConversion().

◆ isCtorOfRetainPtrOrOSPtr()

bool clang::isCtorOfRetainPtrOrOSPtr ( const clang::FunctionDecl * F)

Definition at line 170 of file PtrTypesSemantics.cpp.

References safeGetName().

Referenced by isCtorOfSafePtr().

◆ isCtorOfSafePtr()

bool clang::isCtorOfSafePtr ( const clang::FunctionDecl * F)
Returns
true if F creates ref-countable or checked ptr object from uncounted parameter, false if not.

Definition at line 178 of file PtrTypesSemantics.cpp.

References isCtorOfCheckedPtr(), isCtorOfRefCounted(), and isCtorOfRetainPtrOrOSPtr().

Referenced by tryToFindPtrOrigin().

◆ isDigit()

◆ isDiscardableGVALinkage()

bool clang::isDiscardableGVALinkage ( GVALinkage L)
inline

Definition at line 80 of file Linkage.h.

References GVA_DiscardableODR.

Referenced by clang::ASTContext::DeclMustBeEmitted(), and clang::Sema::getEmissionStatus().

◆ 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 5347 of file Decl.h.

References clang::EnumDecl::getDefinition(), and clang::EnumDecl::isComplete().

Referenced by clang::Type::isIntegerType(), clang::Type::isIntegralOrEnumerationType(), clang::Type::isIntegralType(), 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 5357 of file Decl.h.

References clang::EnumDecl::isScoped().

Referenced by clang::Type::isIntegerType().

◆ isErrorParameter()

◆ isExplicitThrowExceptionSpec()

bool clang::isExplicitThrowExceptionSpec ( ExceptionSpecificationType ESpecType)
inline

Definition at line 53 of file ExceptionSpecificationType.h.

References EST_Dynamic, EST_MSAny, and EST_NoexceptFalse.

◆ isExprToGetCheckedPtrCapableMember()

bool clang::isExprToGetCheckedPtrCapableMember ( const clang::Expr * E)
Returns
true if E is a MemberExpr accessing a member variable which supports CheckedPtr.

Definition at line 284 of file ASTUtils.cpp.

References isa(), isCheckedPtrCapable(), and T.

◆ isExternalFormalLinkage()

◆ isExternallyVisible()

◆ isFuncOrMethodForAttrSubject()

bool clang::isFuncOrMethodForAttrSubject ( const Decl * D)
inline

◆ isFunctionLocalStringLiteralMacro()

bool clang::isFunctionLocalStringLiteralMacro ( tok::TokenKind K,
const LangOptions & LO )

Return true if the token corresponds to a function local predefined macro, which expands to a string literal, that can be concatenated with other string literals (only in Microsoft mode).

Definition at line 443 of file LiteralSupport.cpp.

Referenced by clang::Sema::ExpandFunctionLocalPredefinedMacros(), and tokenIsLikeStringLiteral().

◆ isFunctionOrMethodOrBlockForAttrSubject()

bool clang::isFunctionOrMethodOrBlockForAttrSubject ( const Decl * D)
inline

Return true if the given decl has function type (function or function-typed variable) or an Objective-C method or a block.

Definition at line 40 of file Attr.h.

References isFuncOrMethodForAttrSubject().

Referenced by clang::Sema::checkFunctionOrMethodParameterIndex(), and handleAnalyzerNoReturnAttr().

◆ isFunctionOrMethodVariadic()

bool clang::isFunctionOrMethodVariadic ( const Decl * D)
inline

◆ isGenericLambdaCallOperatorOrStaticInvokerSpecialization()

bool clang::isGenericLambdaCallOperatorOrStaticInvokerSpecialization ( const DeclContext * DC)
inline

◆ isGenericLambdaCallOperatorSpecialization() [1/2]

◆ isGenericLambdaCallOperatorSpecialization() [2/2]

bool clang::isGenericLambdaCallOperatorSpecialization ( DeclContext * DC)
inline

Definition at line 84 of file ASTLambda.h.

References isGenericLambdaCallOperatorSpecialization().

◆ isGetterOfSafePtr()

std::optional< bool > clang::isGetterOfSafePtr ( const clang::CXXMethodDecl * Method)
Returns
true if M is getter of a ref-counted class, false if not.

Definition at line 361 of file PtrTypesSemantics.cpp.

References clang::CXXMethodDecl::getParent(), isa(), isCheckedPtr(), isRefType(), isRetainPtrOrOSPtr(), safeGetName(), and T.

Referenced by tryToFindPtrOrigin(), and clang::TrivialFunctionAnalysisVisitor::VisitCXXMemberCallExpr().

◆ isHexDigit()

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

Return true if this character is an ASCII hex digit: [0-9a-fA-F].

Definition at line 144 of file CharInfo.h.

References c, and InfoTable.

Referenced by handleUuidAttr(), clang::comments::isHTMLHexCharacterReferenceCharacter(), clang::format::NumericLiteralInfo::NumericLiteralInfo(), ProcessCharEscape(), and ProcessNumericUCNEscape().

◆ isHorizontalWhitespace()

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

◆ isInstanceMethod()

◆ IsIntelCPUOffloadArch()

bool clang::IsIntelCPUOffloadArch ( OffloadArch Arch)
inlinestatic

Definition at line 129 of file OffloadArch.h.

References Arch, BMG_G21, and GRANITERAPIDS.

Referenced by IsIntelOffloadArch().

◆ IsIntelGPUOffloadArch()

bool clang::IsIntelGPUOffloadArch ( OffloadArch Arch)
inlinestatic

Definition at line 133 of file OffloadArch.h.

References Arch, BMG_G21, and LAST.

Referenced by IsIntelOffloadArch().

◆ IsIntelOffloadArch()

bool clang::IsIntelOffloadArch ( OffloadArch Arch)
inlinestatic

Definition at line 137 of file OffloadArch.h.

References Arch, IsIntelCPUOffloadArch(), and IsIntelGPUOffloadArch().

◆ isJava()

bool clang::isJava ( ) const

Definition at line 3404 of file Format.h.

References isJava(), and LK_Java.

Referenced by isJava().

◆ isJavaScript()

bool clang::isJavaScript ( ) const

Definition at line 3405 of file Format.h.

References isJavaScript(), and LK_JavaScript.

Referenced by isJavaScript().

◆ isJson()

bool clang::isJson ( ) const

Definition at line 3403 of file Format.h.

References isJson(), and LK_Json.

Referenced by isJson().

◆ isLambdaCallOperator() [1/2]

bool clang::isLambdaCallOperator ( const CXXMethodDecl * MD)
inline

Definition at line 28 of file ASTLambda.h.

References clang::FunctionDecl::getOverloadedOperator(), clang::CXXMethodDecl::getParent(), and clang::CXXRecordDecl::isLambda().

Referenced by clang::Sema::ActOnFinishFullExpr(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnStartOfFunctionDef(), adjustCVQualifiersForCXXThisWithinLambda(), clang::Sema::buildCoroutinePromise(), clang::Sema::CheckFunctionConstraints(), clang::Sema::CheckShadow(), collectPlacementArgs(), clang::interp::ByteCodeEmitter::compileFunc(), clang::CodeGen::CodeGenModule::EmitGlobal(), clang::SourceLocExpr::EvaluateInContext(), evaluateVarDeclInit(), clang::Sema::FinishTemplateArgumentDeduction(), FormatASTNodeDiagnosticArgument(), clang::CodeGen::CodeGenFunction::GenerateCode(), clang::Sema::getCurrentThisType(), getLambdaAwareParentOfDeclContext(), clang::DeclContext::getLookupParent(), clang::interp::Context::getOrCreateFunction(), getParentOfCapturingContextOrNull(), clang::dataflow::getReferencedDecls(), getStackIndexOfNearestEnclosingCaptureReadyLambda(), HandleFunctionCall(), HandleImmediateInvocations(), inferNoReturnAttr(), isGenericLambdaCallOperatorOrStaticInvokerSpecialization(), isGenericLambdaCallOperatorSpecialization(), clang::FunctionDecl::isImmediateEscalating(), isLambdaCallOperator(), isLambdaCallWithExplicitObjectParameter(), isLambdaCallWithImplicitObjectParameter(), clang::Sema::LambdaScopeForCallOperatorInstantiationRAII::LambdaScopeForCallOperatorInstantiationRAII(), and clang::CodeGen::CodeGenFunction::StartFunction().

◆ isLambdaCallOperator() [2/2]

bool clang::isLambdaCallOperator ( const DeclContext * DC)
inline

Definition at line 34 of file ASTLambda.h.

References cast(), isa(), and isLambdaCallOperator().

◆ isLambdaCallWithExplicitObjectParameter()

bool clang::isLambdaCallWithExplicitObjectParameter ( const DeclContext * DC)
inline

◆ isLambdaCallWithImplicitObjectParameter()

bool clang::isLambdaCallWithImplicitObjectParameter ( const DeclContext * DC)
inline

Definition at line 50 of file ASTLambda.h.

References cast(), and isLambdaCallOperator().

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

◆ isLambdaConversionOperator() [1/2]

◆ isLambdaConversionOperator() [2/2]

bool clang::isLambdaConversionOperator ( Decl * D)
inline

Definition at line 73 of file ASTLambda.h.

References isLambdaConversionOperator().

◆ isLambdaMethod()

◆ isLegalForFunction()

bool clang::isLegalForFunction ( StorageClass SC)
inline

Checks whether the given storage class is legal for functions.

Definition at line 261 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 266 of file Specifiers.h.

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

◆ isLetter()

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

◆ isLineComment()

bool clang::isLineComment ( const FormatToken & FormatTok)
inline

Definition at line 1941 of file FormatToken.h.

Referenced by clang::format::continuesLineCommentSection().

◆ 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 120 of file CharInfo.h.

References c, and InfoTable.

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

◆ isNoexceptExceptionSpec()

◆ isNullPtr()

bool clang::isNullPtr ( const clang::Expr * E)
Returns
true if E is nullptr or __null.

Definition at line 250 of file ASTUtils.cpp.

References isa().

Referenced by clang::TemplateArgument::TemplateArgument(), and clang::EnsureFunctionVisitor::VisitReturnStmt().

◆ IsNVIDIAOffloadArch()

bool clang::IsNVIDIAOffloadArch ( OffloadArch A)
inlinestatic

◆ isOpenACCCombinedDirectiveKind()

bool clang::isOpenACCCombinedDirectiveKind ( OpenACCDirectiveKind K)
inline

Definition at line 158 of file OpenACCKinds.h.

References KernelsLoop, ParallelLoop, and SerialLoop.

Referenced by clang::SemaOpenACC::CheckReductionClause().

◆ isOpenACCComputeDirectiveKind()

bool clang::isOpenACCComputeDirectiveKind ( OpenACCDirectiveKind K)
inline

Definition at line 152 of file OpenACCKinds.h.

References Kernels, Parallel, and Serial.

Referenced by OpenACCComputeConstruct().

◆ isOpenACCDataDirectiveKind()

bool clang::isOpenACCDataDirectiveKind ( OpenACCDirectiveKind K)
inline

Definition at line 165 of file OpenACCKinds.h.

References Data, EnterData, ExitData, and HostData.

◆ isOpenACCModifierBitSet()

bool clang::isOpenACCModifierBitSet ( OpenACCModifierKind List,
OpenACCModifierKind Bit )
inline

Definition at line 652 of file OpenACCKinds.h.

References Invalid.

Referenced by printOpenACCModifierKind().

◆ isOpenMPCanonicalLoopNestTransformationDirective()

bool clang::isOpenMPCanonicalLoopNestTransformationDirective ( OpenMPDirectiveKind DKind)

Checks if the specified directive is a loop transformation directive that applies to a canonical loop nest.

Parameters
DKindSpecified directive.
Returns
True iff the directive is a loop transformation.

Definition at line 747 of file OpenMPKinds.cpp.

Referenced by isOpenMPLoopTransformationDirective().

◆ isOpenMPCapturingDirective()

bool clang::isOpenMPCapturingDirective ( OpenMPDirectiveKind DKind)

Checks if the specified directive can capture variables.

Parameters
DKindSpecified directive.
Returns
true - if the above condition is met for this directive otherwise - false.

Definition at line 787 of file OpenMPKinds.cpp.

References isOpenMPExecutableDirective(), and isOpenMPLoopTransformationDirective().

Referenced by clang::SemaOpenMP::ActOnOpenMPExecutableDirective(), clang::SemaOpenMP::ActOnOpenMPRegionEnd(), getOpenMPCaptureRegionForClause(), and getOpenMPCaptureRegions().

◆ isOpenMPCombinedParallelADirective()

bool clang::isOpenMPCombinedParallelADirective ( OpenMPDirectiveKind DKind)

Checks if the specified directive is a combined construct for which the first construct is a parallel construct.

Parameters
DKindSpecified directive.
Returns
true - if the above condition is met for this directive otherwise - false.

Definition at line 758 of file OpenMPKinds.cpp.

Referenced by isOpenMPOrderConcurrentNestableDirective().

◆ isOpenMPDistributeDirective()

◆ isOpenMPExecutableDirective()

bool clang::isOpenMPExecutableDirective ( OpenMPDirectiveKind DKind)

Checks if the specified directive is considered as "executable".

This combines the OpenMP categories of "executable" and "subsidiary", plus any other directives that should be treated as executable.

Parameters
DKindSpecified directive.
Returns
true - if the above condition is met for this directive otherwise - false.

Definition at line 773 of file OpenMPKinds.cpp.

Referenced by clang::SemaOpenMP::ActOnOpenMPExecutableDirective(), and isOpenMPCapturingDirective().

◆ isOpenMPGenericLoopDirective()

bool clang::isOpenMPGenericLoopDirective ( OpenMPDirectiveKind DKind)

Checks if the specified directive constitutes a 'loop' directive in the outermost nest.

For example, 'omp teams loop' or 'omp loop'.

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

Definition at line 715 of file OpenMPKinds.cpp.

Referenced by checkNestingOfRegions(), checkOpenMPIterationSpace(), checkOpenMPLoop(), and emitOMPSimdRegion().

◆ isOpenMPInformationalDirective()

bool clang::isOpenMPInformationalDirective ( OpenMPDirectiveKind DKind)

Checks if the specified directive is considered as "informational".

Parameters
DKindSpecified directive.
Returns
true if it is an informational directive, false otherwise.

Definition at line 780 of file OpenMPKinds.cpp.

Referenced by clang::SemaOpenMP::ActOnOpenMPInformationalDirective().

◆ 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 737 of file OpenMPKinds.cpp.

Referenced by checkOpenMPLoop(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), and processCapturedRegions().

◆ 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 637 of file OpenMPKinds.cpp.

Referenced by clang::SemaOpenMP::ActOnOpenMPLoopInitialization(), checkOpenMPIterationSpace(), clang::CodeGen::CGOpenMPRuntime::emitForStaticFinish(), clang::CodeGen::CGOpenMPRuntime::emitForStaticInit(), clang::SemaOpenMP::isOpenMPPrivateDecl(), clang::SemaOpenMP::startOpenMPCXXRangeFor(), clang::SemaOpenMP::startOpenMPLoop(), and clang::TreeTransform< Derived >::TransformOMPExecutableDirective().

◆ isOpenMPLoopTransformationDirective()

bool clang::isOpenMPLoopTransformationDirective ( OpenMPDirectiveKind DKind)

Checks if the specified directive is a loop transformation directive.

Parameters
DKindSpecified directive.
Returns
True iff the directive is a loop transformation.

Definition at line 753 of file OpenMPKinds.cpp.

References isOpenMPCanonicalLoopNestTransformationDirective().

Referenced by clang::SemaOpenMP::ActOnOpenMPLoopnest(), checkOpenMPIterationSpace(), checkOpenMPLoop(), isOpenMPCapturingDirective(), isOpenMPOrderConcurrentNestableDirective(), and clang::SemaOpenMP::isOpenMPPrivateDecl().

◆ 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 703 of file OpenMPKinds.cpp.

Referenced by checkNestingOfRegions().

◆ 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 680 of file OpenMPKinds.cpp.

Referenced by checkNestingOfRegions().

◆ isOpenMPOrderConcurrentNestableDirective()

bool clang::isOpenMPOrderConcurrentNestableDirective ( OpenMPDirectiveKind DKind,
const LangOptions & LangOpts )

Checks if the specified directive is an order concurrent nestable directive that can be nested within region corresponding to construct on which order clause was specified with concurrent as ordering argument.

Parameters
DKindSpecified directive.
LangOptsUsed for getting the OpenMP version.
Returns
true - if the above condition is met for this directive otherwise - false.

Definition at line 820 of file OpenMPKinds.cpp.

References isOpenMPCombinedParallelADirective(), and isOpenMPLoopTransformationDirective().

Referenced by checkNestingOfRegions().

◆ isOpenMPParallelDirective()

◆ 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 722 of file OpenMPKinds.cpp.

Referenced by clang::SemaOpenMP::ActOnOpenMPHasDeviceAddrClause(), clang::SemaOpenMP::ActOnOpenMPIsDevicePtrClause(), clang::SemaOpenMP::ActOnOpenMPRegionEnd(), checkAllocateClauses(), clang::SemaOpenMP::isOpenMPCapturedDecl(), clang::SemaOpenMP::isOpenMPPrivateDecl(), and clang::SemaOpenMP::isOpenMPRebuildMemberExpr().

◆ isOpenMPSimdDirective()

◆ 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 675 of file OpenMPKinds.cpp.

Referenced by clang::SemaOpenMP::ActOnOpenMPExecutableDirective(), checkNestingOfRegions(), emitPrivatesInit(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), and clang::SemaOpenMP::tryCaptureOpenMPLambdas().

◆ isOpenMPTargetExecutionDirective()

bool clang::isOpenMPTargetExecutionDirective ( OpenMPDirectiveKind DKind)

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

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

Definition at line 670 of file OpenMPKinds.cpp.

Referenced by actOnOMPReductionKindClause(), clang::SemaOpenMP::ActOnOpenMPExecutableDirective(), clang::SemaOpenMP::ActOnOpenMPFirstprivateClause(), clang::SemaOpenMP::ActOnOpenMPPrivateClause(), clang::CodeGen::CGOpenMPRuntime::adjustTargetSpecificDataForLambdas(), clang::CodeGen::CGOpenMPRuntimeGPU::adjustTargetSpecificDataForLambdas(), checkAllocateClauses(), checkNestingOfRegions(), emitCommonOMPTargetDirective(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::CodeGenFunction::EmitOMPFirstprivateClause(), emitOMPSimdRegion(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), emitPrivatesInit(), emitTargetParallelRegion(), emitTargetRegion(), emitTargetTeamsRegion(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), clang::CodeGen::CodeGenFunction::GenerateOpenMPCapturedStmtFunction(), clang::CodeGen::CGOpenMPRuntime::getNumTeamsExprForTargetDirective(), clang::CodeGen::CGOpenMPRuntime::getNumThreadsExprForTargetDirective(), handleDeclareVariantConstructTrait(), clang::SemaOpenMP::isInOpenMPTargetExecutionDirective(), clang::SemaOpenMP::isOpenMPCapturedByRef(), clang::SemaOpenMP::isOpenMPPrivateDecl(), clang::SemaOpenMP::isOpenMPTargetCapturedDecl(), clang::CodeGen::CGOpenMPRuntime::scanForTargetRegionsFunctions(), clang::SemaOpenMP::setOpenMPCaptureKind(), and clang::SemaOpenMP::tryCaptureOpenMPLambdas().

◆ isOpenMPTaskingDirective()

◆ isOpenMPTaskLoopDirective()

◆ isOpenMPTeamsDirective()

◆ 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 729 of file OpenMPKinds.cpp.

Referenced by clang::SemaOpenMP::isOpenMPCapturedDecl().

◆ isOpenMPWorksharingDirective()

◆ isOwnerPtrType()

bool clang::isOwnerPtrType ( const clang::QualType T)
Returns
true if T is a RefPtr, Ref, CheckedPtr, CheckedRef, or unique_ptr, false if not.

Definition at line 208 of file PtrTypesSemantics.cpp.

References isCheckedPtr(), isPtrOfType(), isRefType(), and T.

Referenced by isConstOwnerPtrMemberExpr().

◆ isPackProducingBuiltinTemplateName()

◆ isPPC_64Builtin()

bool clang::isPPC_64Builtin ( unsigned BuiltinID)
static

Definition at line 56 of file SemaPPC.cpp.

Referenced by clang::SemaPPC::CheckPPCBuiltinFunctionCall().

◆ isPreprocessingNumberBody()

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

Return true if this is the body character of a C preprocessing number, which is [a-zA-Z0-9_.

].

Definition at line 168 of file CharInfo.h.

References c, and InfoTable.

Referenced by clang::TokenConcatenation::AvoidConcat(), getTransformedFileName(), isQuoteCppDigitSeparator(), and clang::NumericLiteralParser::NumericLiteralParser().

◆ 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 160 of file CharInfo.h.

References c, and InfoTable.

Referenced by EscapeStringForDiagnostic(), outputPrintable(), clang::StringLiteral::outputString(), clang::CharacterLiteral::print(), ProcessCharEscape(), and TryPrintAsStringLiteral().

◆ isProto()

bool clang::isProto ( ) const

Definition at line 3408 of file Format.h.

References isProto(), isTextProto(), and LK_Proto.

Referenced by isProto().

◆ isPtrConversion()

bool clang::isPtrConversion ( const FunctionDecl * F)
Returns
true if F is a conversion between ref-countable or ref-counted pointer types.

Definition at line 445 of file PtrTypesSemantics.cpp.

References clang::FunctionDecl::getReturnType(), isCtorOfRefCounted(), and safeGetName().

Referenced by tryToFindPtrOrigin(), and clang::TrivialFunctionAnalysisVisitor::VisitCallExpr().

◆ isPtrOfType()

template<typename Predicate>
bool clang::isPtrOfType ( const clang::QualType T,
Predicate Pred )
static

◆ isPtrSizeAddressSpace()

◆ 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 152 of file CharInfo.h.

References c, and InfoTable.

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

◆ isRawStringDelimBody()

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

Return true if this is the body character of a C++ raw string delimiter.

Definition at line 175 of file CharInfo.h.

References c, and InfoTable.

◆ isRefCountable()

std::optional< bool > clang::isRefCountable ( const clang::CXXRecordDecl * Class)
Returns
true if Class is ref-countable, false if not, std::nullopt if inconclusive.

Definition at line 118 of file PtrTypesSemantics.cpp.

References isSmartPtrCompatible().

Referenced by isUncounted().

◆ isRefCounted()

bool clang::isRefCounted ( const clang::CXXRecordDecl * Class)
Returns
true if Class is ref-counted, false if not.

Definition at line 412 of file PtrTypesSemantics.cpp.

References clang::CXXRecordDecl::getTemplateInstantiationPattern(), isRefType(), and safeGetName().

Referenced by isSafePtr(), and isUncounted().

◆ isRefOrCheckedPtrType()

bool clang::isRefOrCheckedPtrType ( const clang::QualType T)
Returns
true if T is a RefPtr, Ref, CheckedPtr, CheckedRef, or its variant, false if not.

Definition at line 199 of file PtrTypesSemantics.cpp.

References isCheckedPtr(), isPtrOfType(), isRefType(), and T.

◆ isRefType()

bool clang::isRefType ( const std::string & Name)
Returns
true if Name is RefPtr, Ref, or its variant, false if not.

Definition at line 127 of file PtrTypesSemantics.cpp.

Referenced by isCtorOfRefCounted(), isGetterOfSafePtr(), isOwnerPtrType(), isRefCounted(), isRefOrCheckedPtrType(), isSmartPtrClass(), isUncounted(), and tryToFindPtrOrigin().

◆ isReservedAtGlobalScope()

bool clang::isReservedAtGlobalScope ( ReservedIdentifierStatus Status)
inline

Determine whether an identifier is reserved for use as a name at global scope.

Such identifiers might be implementation-specific global functions or variables.

Definition at line 67 of file IdentifierTable.h.

References NotReserved.

Referenced by clang::NamedDecl::isReserved().

◆ isReservedInAllContexts()

bool clang::isReservedInAllContexts ( ReservedIdentifierStatus Status)
inline

Determine whether an identifier is reserved in all contexts.

Such identifiers might be implementation-specific keywords or macros, for example.

Definition at line 74 of file IdentifierTable.h.

References NotReserved, StartsWithUnderscoreAndIsExternC, and StartsWithUnderscoreAtGlobalScope.

Referenced by clang::Sema::ActOnLabelStmt(), clang::Sema::checkLiteralOperatorId(), clang::NamedDecl::isReserved(), shouldIgnoreDueToReservedName(), shouldWarnOnMacroDef(), and shouldWarnOnMacroUndef().

◆ isRetainPtrOrOSPtr() [1/2]

bool clang::isRetainPtrOrOSPtr ( const clang::CXXRecordDecl * Class)
Returns
true if Class is a RetainPtr, false if not.

Definition at line 431 of file PtrTypesSemantics.cpp.

References clang::CXXRecordDecl::getTemplateInstantiationPattern(), isRetainPtrOrOSPtr(), and safeGetName().

◆ isRetainPtrOrOSPtr() [2/2]

bool clang::isRetainPtrOrOSPtr ( const std::string & Name)
Returns
true if Name is RetainPtr or its variant, false if not.

Definition at line 132 of file PtrTypesSemantics.cpp.

Referenced by isGetterOfSafePtr(), isRetainPtrOrOSPtr(), isRetainPtrOrOSPtrType(), isSmartPtrClass(), isUnretained(), and tryToFindPtrOrigin().

◆ isRetainPtrOrOSPtrType()

bool clang::isRetainPtrOrOSPtrType ( const clang::QualType T)
Returns
true if T is a RetainPtr, false if not.

Definition at line 204 of file PtrTypesSemantics.cpp.

References isPtrOfType(), isRetainPtrOrOSPtr(), and T.

◆ isSafePtr()

bool clang::isSafePtr ( clang::CXXRecordDecl * Decl)

Definition at line 21 of file ASTUtils.cpp.

References isCheckedPtr(), and isRefCounted().

Referenced by tryToFindPtrOrigin().

◆ isSetterLikeSelector()

bool clang::isSetterLikeSelector ( Selector sel)
static

Check for a keyword selector that starts with the word 'add' or 'set'.

Definition at line 971 of file SemaObjC.cpp.

References clang::Selector::getNameForSlot(), clang::Selector::getNumArgs(), isLowercase(), and clang::Selector::isUnarySelector().

Referenced by clang::SemaObjC::checkRetainCycles().

◆ isSingleton()

bool clang::isSingleton ( const NamedDecl * F)
Returns
true if F is a static singleton function.

Definition at line 485 of file PtrTypesSemantics.cpp.

References safeGetName().

Referenced by tryToFindPtrOrigin().

◆ isSizedDeallocation()

◆ isSmartPtr()

bool clang::isSmartPtr ( const clang::CXXRecordDecl * Class)
Returns
true if Class is a smart pointer (RefPtr, WeakPtr, etc...), false if not.

Definition at line 438 of file PtrTypesSemantics.cpp.

References clang::CXXRecordDecl::getTemplateInstantiationPattern(), isSmartPtrClass(), and safeGetName().

◆ isSmartPtrClass()

bool clang::isSmartPtrClass ( const std::string & Name)
Returns
true if Name is a smart pointer type name, false if not.

Definition at line 141 of file PtrTypesSemantics.cpp.

References isCheckedPtr(), isRefType(), and isRetainPtrOrOSPtr().

Referenced by isSmartPtr().

◆ isSmartPtrCompatible()

std::optional< bool > clang::isSmartPtrCompatible ( const CXXRecordDecl * R,
StringRef IncMethodName,
StringRef DecMethodName )

◆ isStackNearlyExhausted()

bool clang::isStackNearlyExhausted ( )

Determine whether the stack is nearly exhausted.

Definition at line 25 of file Stack.cpp.

References std::abs(), BottomOfStack, and DesiredStackSize.

Referenced by runWithSufficientStackSpace(), and clang::StackExhaustionHandler::warnOnStackNearlyExhausted().

◆ isTableGen()

bool clang::isTableGen ( ) const

Definition at line 3409 of file Format.h.

References isTableGen(), and LK_TableGen.

Referenced by isTableGen().

◆ isTargetAddressSpace()

◆ isTemplateExplicitInstantiationOrSpecialization()

bool clang::isTemplateExplicitInstantiationOrSpecialization ( TemplateSpecializationKind Kind)
inline

◆ isTemplateInstantiation()

◆ isTextProto()

bool clang::isTextProto ( ) const

Definition at line 3407 of file Format.h.

References isTextProto(), and LK_TextProto.

Referenced by isProto(), and isTextProto().

◆ isTrivialBuiltinFunction()

bool clang::isTrivialBuiltinFunction ( const FunctionDecl * F)
Returns
true if F is a builtin function which is considered trivial.

Definition at line 477 of file PtrTypesSemantics.cpp.

References clang::NamedDecl::getDeclName(), clang::NamedDecl::getName(), and clang::DeclarationName::isIdentifier().

Referenced by clang::TrivialFunctionAnalysisVisitor::VisitCallExpr().

◆ isTypeAwareAllocation()

◆ isUnchecked() [1/2]

std::optional< bool > clang::isUnchecked ( const clang::CXXRecordDecl * Class)
Returns
true if Class is CheckedPtr capable AND not checked, false if not, std::nullopt if inconclusive.

Definition at line 320 of file PtrTypesSemantics.cpp.

References Class, isCheckedPtr(), and isCheckedPtrCapable().

◆ isUnchecked() [2/2]

std::optional< bool > clang::isUnchecked ( const clang::QualType T)
Returns
true if Class is CheckedPtr capable AND not checked, false if not, std::nullopt if inconclusive.

Definition at line 225 of file PtrTypesSemantics.cpp.

References isCheckedPtr(), isUnchecked(), safeGetName(), and T.

Referenced by isUnchecked(), isUncheckedPtr(), and isUnsafePtr().

◆ isUncheckedPtr()

std::optional< bool > clang::isUncheckedPtr ( const clang::QualType T)
Returns
true if T is either a raw pointer or reference to an unchecked class, false if not, std::nullopt if inconclusive.

Definition at line 334 of file PtrTypesSemantics.cpp.

References isUnchecked(), and T.

Referenced by isUnsafePtr().

◆ isUncounted() [1/2]

std::optional< bool > clang::isUncounted ( const clang::CXXRecordDecl * Class)
Returns
true if Class is ref-countable AND not ref-counted, false if not, std::nullopt if inconclusive.

Definition at line 307 of file PtrTypesSemantics.cpp.

References Class, isRefCountable(), and isRefCounted().

◆ isUncounted() [2/2]

std::optional< bool > clang::isUncounted ( const clang::QualType T)
Returns
true if Class is ref-countable AND not ref-counted, false if not, std::nullopt if inconclusive.

Definition at line 215 of file PtrTypesSemantics.cpp.

References isRefType(), isUncounted(), safeGetName(), and T.

Referenced by isUncounted(), isUncountedPtr(), and isUnsafePtr().

◆ isUncountedPtr()

std::optional< bool > clang::isUncountedPtr ( const clang::QualType T)
Returns
true if T is either a raw pointer or reference to an uncounted class, false if not, std::nullopt if inconclusive.

Definition at line 326 of file PtrTypesSemantics.cpp.

References isUncounted(), and T.

Referenced by isUnsafePtr().

◆ isUndeducedReturnType()

bool clang::isUndeducedReturnType ( QualType T)
static

Definition at line 3649 of file ASTReaderDecl.cpp.

References T.

Referenced by clang::ASTDeclReader::attachPreviousDeclImpl().

◆ isUniqueGVALinkage()

bool clang::isUniqueGVALinkage ( GVALinkage L)
inline

Do we know that this will be the only definition of this symbol (excluding inlining-only definitions)?

Definition at line 86 of file Linkage.h.

References GVA_Internal, and GVA_StrongExternal.

Referenced by clang::CodeGen::CGCXXABI::isEmittedWithConstantInitializer().

◆ isUnresolvedExceptionSpec()

◆ isUnretained()

std::optional< bool > clang::isUnretained ( const clang::QualType T,
bool IsARCEnabled )
Returns
true if Class is NS or CF objects AND not retained, false if not, std::nullopt if inconclusive.

Definition at line 276 of file PtrTypesSemantics.cpp.

References clang::Type::getPointeeType(), clang::QualType::getTypePtrOrNull(), clang::ento::coreFoundation::isCFObjectRef(), clang::ento::cocoa::isCocoaObjectRef(), isRetainPtrOrOSPtr(), safeGetName(), and T.

Referenced by isUnsafePtr().

◆ isUnsafePtr()

std::optional< bool > clang::isUnsafePtr ( const QualType T,
bool IsArcEnabled )
Returns
true if T is either a raw pointer or reference to an uncounted or unchecked class, false if not, std::nullopt if inconclusive.

Definition at line 342 of file PtrTypesSemantics.cpp.

References isUnchecked(), isUncheckedPtr(), isUncounted(), isUncountedPtr(), isUnretained(), and T.

◆ 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 126 of file CharInfo.h.

References c, and InfoTable.

Referenced by clang::sema::isInStlNamespace(), and toLowercase().

◆ isValidAsciiIdentifier()

LLVM_READONLY bool clang::isValidAsciiIdentifier ( 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 244 of file CharInfo.h.

References isAsciiIdentifierContinue(), and isAsciiIdentifierStart().

Referenced by clang::SemaSwift::DiagnoseName(), isValidSwiftContextName(), printModuleId(), sanitizeFilenameAsIdentifier(), tryParseObjCMethodName(), validateSwiftFunctionName(), and clang::RewriteIncludesAction::RewriteImportsListener::visitModuleFile().

◆ isValidPreserveEnumValueArg()

bool clang::isValidPreserveEnumValueArg ( Expr * Arg)
static

◆ isValidPreserveFieldInfoArg()

◆ isValidPreserveTypeInfoArg()

bool clang::isValidPreserveTypeInfoArg ( Expr * Arg)
static

◆ isValidSubjectOfCFAttribute()

◆ isValidSubjectOfNSAttribute()

◆ isValidSubjectOfNSReturnsRetainedAttribute()

bool clang::isValidSubjectOfNSReturnsRetainedAttribute ( QualType QT)
static

◆ isValidSubjectOfOSAttribute()

◆ isValidSwiftContextName()

bool clang::isValidSwiftContextName ( StringRef ContextName)
static

Definition at line 75 of file SemaSwift.cpp.

References isValidAsciiIdentifier().

Referenced by clang::SemaSwift::DiagnoseName(), and validateSwiftFunctionName().

◆ isValidSwiftContextType()

bool clang::isValidSwiftContextType ( QualType Ty)
static

◆ isValidSwiftErrorResultType()

bool clang::isValidSwiftErrorResultType ( QualType Ty)
static

◆ isValidSwiftIndirectResultType()

bool clang::isValidSwiftIndirectResultType ( QualType Ty)
static

Pointers and references in the default address space.

Definition at line 50 of file SemaSwift.cpp.

References Default, clang::QualType::getAddressSpace(), clang::Type::getAs(), clang::Type::getPointeeType(), and clang::Type::isDependentType().

Referenced by clang::SemaSwift::AddParameterABIAttr().

◆ isVerilog()

bool clang::isVerilog ( ) const

Definition at line 3406 of file Format.h.

References isVerilog(), and LK_Verilog.

Referenced by isVerilog().

◆ 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 99 of file CharInfo.h.

References c, and InfoTable.

Referenced by atOrBeforeSeparation(), clang::format::countLeadingWhitespace(), findBeginningOfLine(), highlightLines(), isEOL(), clang::Lexer::isNewLineEscaped(), onlyWhitespaceOnLineBefore(), previousChar(), ProcessNamedUCNEscape(), skipNewline(), skipString(), skipWhitespace(), skipWhitespaceAndNewline(), and startsWithNewline().

◆ isWhitespace() [1/2]

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

Definition at line 20 of file CommentParser.cpp.

References isWhitespace().

◆ isWhitespace() [2/2]

◆ isX86_32Builtin()

bool clang::isX86_32Builtin ( unsigned BuiltinID)
static

Definition at line 532 of file SemaX86.cpp.

Referenced by clang::SemaX86::CheckBuiltinFunctionCall().

◆ JsonFormat()

std::string clang::JsonFormat ( StringRef RawSR,
bool AddQuotes )
inline

◆ languageToString()

StringRef clang::languageToString ( Language L)

Definition at line 16 of file LangStandards.cpp.

References Asm, C, CIR, CUDA, CXX, HIP, HLSL, LLVM_IR, ObjC, ObjCXX, OpenCL, OpenCLCXX, and Unknown.

Referenced by clang::CodeGen::CodeGenModule::Release().

◆ lazyInitKeywordSelector()

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

Definition at line 27 of file SelectorExtras.h.

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

◆ LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE()

clang::LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE ( )

◆ LookupNamed()

◆ LookupNamespace()

◆ make_error_code()

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

◆ MakeDeductionFailureInfo()

◆ mangleObjCMethodName()

void clang::mangleObjCMethodName ( raw_ostream & OS,
bool includePrefixByte,
bool isInstanceMethod,
StringRef ClassName,
std::optional< StringRef > CategoryName,
StringRef MethodName )

Extract mangling function name from MangleContext such that swift can call it to prepare for ObjCDirect in swift.

Definition at line 32 of file Mangle.cpp.

References isInstanceMethod().

Referenced by clang::MangleContext::mangleObjCMethodName().

◆ MaxVersionForOffloadArch()

CudaVersion clang::MaxVersionForOffloadArch ( OffloadArch A)

Get the latest CudaVersion that supports the given OffloadArch.

Definition at line 133 of file Cuda.cpp.

References CUDA_102, CUDA_118, CUDA_80, IsAMDOffloadArch(), NEW, SM_20, SM_21, SM_30, SM_32_, SM_35, SM_37, and UNKNOWN.

Referenced by clang::driver::CudaInstallationDetector::CheckCudaVersionSupportsArch().

◆ mergeCanThrow()

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

◆ 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 129 of file Linkage.h.

References Internal, None, UniqueExternal, and VisibleNone.

Referenced by clang::LinkageInfo::mergeLinkage().

◆ MinVersionForOffloadArch()

◆ minVisibility()

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

Definition at line 49 of file Visibility.h.

◆ needsTaskBasedThreadLimit()

bool clang::needsTaskBasedThreadLimit ( OpenMPDirectiveKind DKind)

Checks if the specified target directive, combined or not, needs task based thread_limit.

Parameters
DKindSpecified directive.
Returns
true - if the above condition is met for this directive otherwise - false.

Definition at line 766 of file OpenMPKinds.cpp.

Referenced by clang::CodeGen::CodeGenFunction::EmitOMPTargetTaskBasedDirective(), and clang::CodeGen::CGOpenMPRuntime::emitTargetCall().

◆ normalizeModuleCachePath()

void clang::normalizeModuleCachePath ( FileManager & FileMgr,
StringRef Path,
SmallVectorImpl< char > & NormalizedPath )

◆ noteBottomOfStack()

void clang::noteBottomOfStack ( bool ForceSet = false)

Call this once on each thread, as soon after starting the thread as feasible, to note the approximate address of the bottom of the stack.

Parameters
ForceSetset to true if you know the call is near the bottom of a new stack. Used for split stacks.

Definition at line 20 of file Stack.cpp.

References BottomOfStack.

Referenced by clang::ASTFrontendAction::ExecuteAction(), clang::CompilerInstance::ExecuteAction(), and runWithSufficientStackSpaceSlow().

◆ OffloadArchToString()

◆ OffloadArchToVirtualArchString()

const char * clang::OffloadArchToVirtualArchString ( OffloadArch A)

Definition at line 116 of file OffloadArch.cpp.

References ArchNames, and Result.

◆ OpenACCComputeConstruct()

◆ operator!=() [1/10]

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

Definition at line 208 of file CanonicalType.h.

References clang::CanQual< T >::getAsOpaquePtr().

◆ operator!=() [2/10]

template<typename T, typename U>
bool clang::operator!= ( const CustomizableOptional< T > & X,
const CustomizableOptional< U > & Y )
constexpr

Definition at line 108 of file CustomizableOptional.h.

References X.

◆ operator!=() [3/10]

template<typename T>
bool clang::operator!= ( const CustomizableOptional< T > & X,
const T & Y )
constexpr

Definition at line 210 of file CustomizableOptional.h.

References T, and X.

◆ operator!=() [4/10]

template<typename T>
bool clang::operator!= ( const CustomizableOptional< T > & X,
std::nullopt_t  )
constexpr

Definition at line 150 of file CustomizableOptional.h.

References X.

◆ operator!=() [5/10]

bool clang::operator!= ( const FileEntry * LHS,
const OptionalFileEntryRef & RHS )
inline

Definition at line 294 of file FileEntry.h.

◆ operator!=() [6/10]

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

Definition at line 258 of file OpenACCClause.h.

◆ operator!=() [7/10]

bool clang::operator!= ( const OptionalFileEntryRef & LHS,
const FileEntry * RHS )
inline

Definition at line 297 of file FileEntry.h.

◆ operator!=() [8/10]

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

Definition at line 195 of file SourceLocation.h.

◆ operator!=() [9/10]

template<typename T>
bool clang::operator!= ( const T & X,
const CustomizableOptional< T > & Y )
constexpr

Definition at line 215 of file CustomizableOptional.h.

References T, and X.

◆ operator!=() [10/10]

template<typename T>
bool clang::operator!= ( std::nullopt_t ,
const CustomizableOptional< T > & X )
constexpr

Definition at line 155 of file CustomizableOptional.h.

References X.

◆ operator&()

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

Definition at line 59 of file DiagnosticOptions.h.

◆ operator<() [1/11]

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

Definition at line 861 of file CodeCompleteConsumer.cpp.

References clang::CodeCompletionResult::getOrderedName(), and X.

◆ operator<() [2/11]

template<typename T>
bool clang::operator< ( const CustomizableOptional< T > & ,
std::nullopt_t  )
constexpr

Definition at line 160 of file CustomizableOptional.h.

◆ operator<() [3/11]

template<typename T, typename U>
bool clang::operator< ( const CustomizableOptional< T > & X,
const CustomizableOptional< U > & Y )
constexpr

Definition at line 114 of file CustomizableOptional.h.

References clang::CustomizableOptional< T >::has_value(), and X.

◆ operator<() [4/11]

template<typename T>
bool clang::operator< ( const CustomizableOptional< T > & X,
const T & Y )
constexpr

Definition at line 220 of file CustomizableOptional.h.

References T, and X.

◆ operator<() [5/11]

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

Definition at line 71 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

◆ operator<() [6/11]

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

Definition at line 66 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

◆ operator<() [7/11]

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

Definition at line 201 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

◆ operator<() [8/11]

template<typename T>
bool clang::operator< ( const T & X,
const CustomizableOptional< T > & Y )
constexpr

Definition at line 225 of file CustomizableOptional.h.

References T, and X.

◆ operator<() [9/11]

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

Ordering on two declaration names.

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

Examples
/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp.

Definition at line 578 of file DeclarationName.h.

References clang::DeclarationName::compare(), and operator<().

Referenced by clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata(), maybeDiagnoseUTF8Homoglyph(), and operator<().

◆ operator<() [10/11]

template<typename T>
bool clang::operator< ( std::nullopt_t ,
const CustomizableOptional< T > & X )
constexpr

Definition at line 165 of file CustomizableOptional.h.

References X.

◆ operator<() [11/11]

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

Definition at line 75 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

◆ operator<<() [1/70]

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 1350 of file Diagnostic.h.

References clang::DiagnosticBuilder::addFlagValue(), and V.

◆ operator<<() [2/70]

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

Definition at line 194 of file PartialDiagnostic.h.

References clang::PartialDiagnostic::Emit().

◆ operator<<() [3/70]

const SemaBase::SemaDiagnosticBuilder & clang::operator<< ( const SemaBase::SemaDiagnosticBuilder & Diag,
const PartialDiagnostic & PD )

Definition at line 37 of file SemaBase.cpp.

◆ operator<<() [4/70]

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

Insertion operator for diagnostics.

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

Definition at line 3830 of file DeclCXX.cpp.

References getAccessName().

◆ operator<<() [5/70]

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

Definition at line 1492 of file Diagnostic.h.

References clang::StreamingDiagnostic::AddFixItHint().

◆ operator<<() [6/70]

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

◆ operator<<() [7/70]

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

Definition at line 219 of file CanonicalType.h.

References T.

◆ operator<<() [8/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
const ASTContext::SectionInfo & Section )

Insertion operator for diagnostics.

Definition at line 15062 of file ASTContext.cpp.

References clang::ASTContext::SectionInfo::Decl.

Referenced by operator<<(), operator<<(), operator<<(), and operator<<().

◆ operator<<() [9/70]

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

◆ operator<<() [10/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
const AttributeCommonInfo & CI )
inline

Definition at line 307 of file AttributeCommonInfo.h.

◆ operator<<() [11/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
const AttributeCommonInfo * CI )
inline

◆ operator<<() [12/70]

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

◆ operator<<() [13/70]

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

Definition at line 1480 of file Diagnostic.h.

References clang::StreamingDiagnostic::AddSourceRange().

◆ operator<<() [14/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
const Expr * E )
inline

Insertion operator for diagnostics.

This allows sending Expr into a diagnostic with <<.

Definition at line 7419 of file Expr.h.

References clang::StreamingDiagnostic::AddTaggedVal(), and clang::DiagnosticsEngine::ak_expr.

◆ operator<<() [15/70]

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

Definition at line 1486 of file Diagnostic.h.

References clang::StreamingDiagnostic::AddFixItHint().

◆ operator<<() [16/70]

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

◆ operator<<() [17/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
const std::optional< CharSourceRange > & Opt )
inline

Definition at line 1507 of file Diagnostic.h.

◆ operator<<() [18/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
const std::optional< FixItHint > & Opt )
inline

Definition at line 1515 of file Diagnostic.h.

◆ operator<<() [19/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
const std::optional< SourceRange > & Opt )
inline

Definition at line 1499 of file Diagnostic.h.

◆ operator<<() [20/70]

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

Definition at line 722 of file TemplateBase.cpp.

References DiagTemplateArg().

◆ operator<<() [21/70]

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

◆ operator<<() [22/70]

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

◆ operator<<() [23/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
llvm::Error && E )

Definition at line 61 of file Diagnostic.cpp.

References clang::StreamingDiagnostic::AddString(), and toString().

◆ operator<<() [24/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
long I )
inline

◆ operator<<() [25/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
long long I )
inline

◆ operator<<() [26/70]

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

Insertion operator for diagnostics.

This allows sending NestedNameSpecifiers into a diagnostic with <<.

Definition at line 562 of file NestedNameSpecifierBase.h.

References clang::StreamingDiagnostic::AddTaggedVal(), clang::DiagnosticsEngine::ak_nestednamespec, and clang::NestedNameSpecifier::getAsVoidPointer().

◆ operator<<() [27/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & DB,
SourceLocation L )
inline

◆ operator<<() [28/70]

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

◆ operator<<() [29/70]

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

Definition at line 1356 of file Diagnostic.h.

References clang::StreamingDiagnostic::AddString().

◆ operator<<() [30/70]

template<typename T>
std::enable_if_t< std::is_same< std::remove_const_t< T >, DeclContext >::value, const StreamingDiagnostic & > clang::operator<< ( const StreamingDiagnostic & DB,
T * DC )
inline

Definition at line 1421 of file Diagnostic.h.

◆ operator<<() [31/70]

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

Definition at line 1381 of file Diagnostic.h.

◆ operator<<() [32/70]

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

Insertion operator for diagnostics.

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

Definition at line 501 of file TemplateName.cpp.

References clang::TemplateName::print().

◆ operator<<() [33/70]

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

◆ operator<<() [34/70]

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

◆ operator<<() [35/70]

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

◆ operator<<() [36/70]

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

◆ operator<<() [37/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & Out,
OpenACCAtomicKind AK )
inline

Definition at line 196 of file OpenACCKinds.h.

References printOpenACCAtomicKind().

◆ operator<<() [38/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & Out,
OpenACCClauseKind K )
inline

Definition at line 504 of file OpenACCKinds.h.

References printOpenACCClauseKind().

◆ operator<<() [39/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & Out,
OpenACCDefaultClauseKind K )
inline

Definition at line 537 of file OpenACCKinds.h.

References printOpenACCDefaultClauseKind().

◆ operator<<() [40/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & Out,
OpenACCDirectiveKind K )
inline

Definition at line 142 of file OpenACCKinds.h.

References printOpenACCDirectiveKind().

◆ operator<<() [41/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & Out,
OpenACCGangKind Op )
inline

Definition at line 627 of file OpenACCKinds.h.

References printOpenACCGangKind().

◆ operator<<() [42/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & Out,
OpenACCModifierKind Op )
inline

Definition at line 706 of file OpenACCKinds.h.

References printOpenACCModifierKind().

◆ operator<<() [43/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & Out,
OpenACCReductionOperator Op )
inline

Definition at line 597 of file OpenACCKinds.h.

References printOpenACCReductionOperator().

◆ operator<<() [44/70]

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

Insertion operator for diagnostics.

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

Definition at line 5301 of file Decl.h.

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

◆ operator<<() [45/70]

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

Insertion operator for partial diagnostics.

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

Definition at line 916 of file DeclarationName.h.

References clang::StreamingDiagnostic::AddTaggedVal(), clang::DiagnosticsEngine::ak_declarationname, clang::DeclarationName::getAsOpaqueInteger(), and operator<<().

◆ operator<<() [46/70]

const StreamingDiagnostic & clang::operator<< ( const StreamingDiagnostic & PD,
LangAS AS )
inline

Insertion operator for partial diagnostics.

This allows sending adress spaces into a diagnostic with <<.

Definition at line 9068 of file TypeBase.h.

References clang::StreamingDiagnostic::AddTaggedVal(), clang::DiagnosticsEngine::ak_addrspace, and operator<<().

◆ operator<<() [47/70]

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

Insertion operator for partial diagnostics.

This allows sending Qualifiers into a diagnostic with <<.

Definition at line 9077 of file TypeBase.h.

References clang::StreamingDiagnostic::AddTaggedVal(), clang::DiagnosticsEngine::ak_qual, clang::Qualifiers::getAsOpaqueValue(), and operator<<().

◆ operator<<() [48/70]

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

Insertion operator for partial diagnostics.

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

Definition at line 9086 of file TypeBase.h.

References clang::StreamingDiagnostic::AddTaggedVal(), clang::DiagnosticsEngine::ak_qualtype, operator<<(), and T.

◆ operator<<() [49/70]

template<typename T, typename U, typename UnderlyingU = typename std::enable_if_t< std::is_enum_v<std::remove_reference_t<U>>, std::underlying_type<std::remove_reference_t<U>>>::type>
std::enable_if_t< std::is_same_v< std::remove_const_t< T >, StreamingDiagnostic > &&!std::is_convertible_v< U, UnderlyingU >, const StreamingDiagnostic & > clang::operator<< ( const T & DB,
U && SE )
inline

Definition at line 1421 of file Diagnostic.h.

◆ operator<<() [50/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & OS,
NullabilityKind NK )

Prints human-readable debug representation.

Definition at line 854 of file IdentifierTable.cpp.

References NonNull, Nullable, NullableResult, and Unspecified.

◆ operator<<() [51/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & OS,
const OMPTraitInfo & TI )

Definition at line 2936 of file OpenMPClause.cpp.

References clang::OMPTraitInfo::print().

◆ operator<<() [52/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & OS,
const OMPTraitInfo * TI )

Definition at line 2943 of file OpenMPClause.cpp.

◆ operator<<() [53/70]

◆ operator<<() [54/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & Out,
OpenACCAtomicKind AK )
inline

Definition at line 200 of file OpenACCKinds.h.

References printOpenACCAtomicKind().

◆ operator<<() [55/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & Out,
OpenACCClauseKind K )
inline

Definition at line 509 of file OpenACCKinds.h.

References printOpenACCClauseKind().

◆ operator<<() [56/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & Out,
OpenACCDefaultClauseKind K )
inline

Definition at line 542 of file OpenACCKinds.h.

References printOpenACCDefaultClauseKind().

◆ operator<<() [57/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & Out,
OpenACCDirectiveKind K )
inline

Definition at line 147 of file OpenACCKinds.h.

References printOpenACCDirectiveKind().

◆ operator<<() [58/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & Out,
OpenACCGangKind Op )
inline

Definition at line 631 of file OpenACCKinds.h.

References printOpenACCGangKind().

◆ operator<<() [59/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & Out,
OpenACCModifierKind Op )
inline

Definition at line 710 of file OpenACCKinds.h.

References printOpenACCModifierKind().

◆ operator<<() [60/70]

llvm::raw_ostream & clang::operator<< ( llvm::raw_ostream & Out,
OpenACCReductionOperator Op )
inline

Definition at line 601 of file OpenACCKinds.h.

References printOpenACCReductionOperator().

◆ operator<<() [61/70]

raw_ostream & clang::operator<< ( raw_ostream & OS,
ASTNodeKind K )
inline

Definition at line 240 of file ASTTypeTraits.h.

References clang::ASTNodeKind::asStringRef().

◆ operator<<() [62/70]

raw_ostream & clang::operator<< ( raw_ostream & OS,
const FunctionEffectWithCondition & CFE )

Definition at line 5693 of file Type.cpp.

◆ operator<<() [63/70]

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

Definition at line 513 of file Decl.h.

References clang::NamedDecl::printName().

◆ operator<<() [64/70]

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

Definition at line 2268 of file DeclObjC.cpp.

References clang::NamedDecl::getName().

◆ operator<<() [65/70]

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

Definition at line 2319 of file DeclObjC.cpp.

◆ operator<<() [66/70]

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

Definition at line 207 of file DeclarationName.cpp.

References clang::DeclarationName::print().

◆ operator<<() [67/70]

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

Definition at line 459 of file DeclarationName.cpp.

References clang::DeclarationNameInfo::printName().

◆ operator<<() [68/70]

raw_ostream & clang::operator<< ( raw_ostream & OS,
QualType QT )

◆ operator<<() [69/70]

◆ operator<<() [70/70]

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

Definition at line 19 of file DiagnosticOptions.cpp.

◆ operator<=() [1/8]

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

Definition at line 1007 of file CodeCompleteConsumer.h.

References X.

◆ operator<=() [2/8]

template<typename T, typename U>
bool clang::operator<= ( const CustomizableOptional< T > & X,
const CustomizableOptional< U > & Y )
constexpr

Definition at line 122 of file CustomizableOptional.h.

References X.

◆ operator<=() [3/8]

template<typename T>
bool clang::operator<= ( const CustomizableOptional< T > & X,
const T & Y )
constexpr

Definition at line 230 of file CustomizableOptional.h.

References T, and X.

◆ operator<=() [4/8]

template<typename T>
bool clang::operator<= ( const CustomizableOptional< T > & X,
std::nullopt_t  )
constexpr

Definition at line 170 of file CustomizableOptional.h.

References X.

◆ operator<=() [5/8]

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

Definition at line 207 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

◆ operator<=() [6/8]

template<typename T>
bool clang::operator<= ( const T & X,
const CustomizableOptional< T > & Y )
constexpr

Definition at line 235 of file CustomizableOptional.h.

References T, and X.

◆ operator<=() [7/8]

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 590 of file DeclarationName.h.

References clang::DeclarationName::compare(), and operator<=().

Referenced by operator<=().

◆ operator<=() [8/8]

template<typename T>
bool clang::operator<= ( std::nullopt_t ,
const CustomizableOptional< T > & X )
constexpr

Definition at line 175 of file CustomizableOptional.h.

References X.

◆ operator==() [1/14]

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

Definition at line 203 of file CanonicalType.h.

References clang::CanQual< T >::getAsOpaquePtr().

◆ operator==() [2/14]

bool clang::operator== ( const APValue::LValueBase & LHS,
const APValue::LValueBase & RHS )

Definition at line 136 of file APValue.cpp.

◆ operator==() [3/14]

bool clang::operator== ( const AvailabilityInfo & Lhs,
const AvailabilityInfo & Rhs )
inline

Definition at line 117 of file Availability.h.

◆ operator==() [4/14]

◆ operator==() [5/14]

template<typename T, typename U>
bool clang::operator== ( const CustomizableOptional< T > & X,
const CustomizableOptional< U > & Y )
constexpr

Definition at line 100 of file CustomizableOptional.h.

References clang::CustomizableOptional< T >::has_value(), and X.

◆ operator==() [6/14]

template<typename T>
bool clang::operator== ( const CustomizableOptional< T > & X,
const T & Y )
constexpr

Definition at line 200 of file CustomizableOptional.h.

References T, and X.

◆ operator==() [7/14]

template<typename T>
bool clang::operator== ( const CustomizableOptional< T > & X,
std::nullopt_t  )
constexpr

Definition at line 140 of file CustomizableOptional.h.

References X.

◆ operator==() [8/14]

bool clang::operator== ( const FileEntry * LHS,
const OptionalFileEntryRef & RHS )
inline

Definition at line 288 of file FileEntry.h.

References clang::FileEntryRef::getFileEntry().

◆ operator==() [9/14]

bool clang::operator== ( const FormatStyle & R) const

Definition at line 5443 of file Format.h.

References IncludeStyle::IncludeBlocks, IntegerLiteralSeparator, JavaImportGroups, JavaScriptQuotes, JavaScriptWrapImports, KeepEmptyLines, KeepFormFeed, LambdaBodyIndentation, LineEnding, MacroBlockBegin, MacroBlockEnd, Macros, MacrosSkippedByRemoveParentheses, MaxEmptyLinesToKeep, NamespaceIndentation, NamespaceMacros, NumericLiteralCase, ObjCBinPackProtocolList, ObjCBlockIndentWidth, ObjCBreakBeforeNestedBlockParam, ObjCPropertyAttributeOrder, ObjCSpaceAfterProperty, ObjCSpaceBeforeProtocolList, OneLineFormatOffRegex, operator==(), PackConstructorInitializers, PenaltyBreakAssignment, PenaltyBreakBeforeFirstCallParameter, PenaltyBreakBeforeMemberAccess, PenaltyBreakComment, PenaltyBreakFirstLessLess, PenaltyBreakOpenParenthesis, PenaltyBreakScopeResolution, PenaltyBreakString, PenaltyBreakTemplateDeclaration, PenaltyExcessCharacter, PenaltyReturnTypeOnItsOwnLine, PointerAlignment, QualifierAlignment, QualifierOrder, RawStringFormats, ReferenceAlignment, RemoveBracesLLVM, RemoveEmptyLinesInUnwrappedLines, RemoveParentheses, RemoveSemicolon, RequiresClausePosition, RequiresExpressionIndentation, SeparateDefinitionBlocks, ShortNamespaceLines, SkipMacroDefinitionBody, SortIncludes, SortJavaStaticImport, SpaceAfterCStyleCast, SpaceAfterLogicalNot, SpaceAfterOperatorKeyword, SpaceAfterTemplateKeyword, SpaceAroundPointerQualifiers, SpaceBeforeAssignmentOperators, SpaceBeforeCaseColon, SpaceBeforeCpp11BracedList, SpaceBeforeCtorInitializerColon, SpaceBeforeInheritanceColon, SpaceBeforeJsonColon, SpaceBeforeParens, SpaceBeforeParensOptions, SpaceBeforeRangeBasedForLoopColon, SpaceBeforeSquareBrackets, SpaceInEmptyBraces, SpacesBeforeTrailingComments, SpacesInAngles, SpacesInContainerLiterals, SpacesInLineCommentPrefix, SpacesInParens, SpacesInParensOptions, SpacesInSquareBrackets, Standard, StatementAttributeLikeMacros, StatementMacros, TableGenBreakingDAGArgOperators, TableGenBreakInsideDAGArg, TabWidth, TemplateNames, TypenameMacros, TypeNames, UseTab, VariableTemplates, VerilogBreakBetweenInstancePorts, WhitespaceSensitiveMacros, and WrapNamespaceBodyWithEmptyLines.

◆ operator==() [10/14]

◆ operator==() [11/14]

bool clang::operator== ( const OptionalFileEntryRef & LHS,
const FileEntry * RHS )
inline

Definition at line 291 of file FileEntry.h.

References clang::FileEntryRef::getFileEntry().

◆ operator==() [12/14]

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

Definition at line 191 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

◆ operator==() [13/14]

template<typename T>
bool clang::operator== ( const T & X,
const CustomizableOptional< T > & Y )
constexpr

Definition at line 205 of file CustomizableOptional.h.

References T, and X.

◆ operator==() [14/14]

template<typename T>
bool clang::operator== ( std::nullopt_t ,
const CustomizableOptional< T > & X )
constexpr

Definition at line 145 of file CustomizableOptional.h.

References X.

◆ operator>() [1/8]

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

Definition at line 1002 of file CodeCompleteConsumer.h.

References X.

◆ operator>() [2/8]

template<typename T, typename U>
bool clang::operator> ( const CustomizableOptional< T > & X,
const CustomizableOptional< U > & Y )
constexpr

Definition at line 128 of file CustomizableOptional.h.

References X.

◆ operator>() [3/8]

template<typename T>
bool clang::operator> ( const CustomizableOptional< T > & X,
const T & Y )
constexpr

Definition at line 240 of file CustomizableOptional.h.

References T, and X.

◆ operator>() [4/8]

template<typename T>
bool clang::operator> ( const CustomizableOptional< T > & X,
std::nullopt_t  )
constexpr

Definition at line 180 of file CustomizableOptional.h.

References X.

◆ operator>() [5/8]

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

Definition at line 204 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

◆ operator>() [6/8]

template<typename T>
bool clang::operator> ( const T & X,
const CustomizableOptional< T > & Y )
constexpr

Definition at line 245 of file CustomizableOptional.h.

References T, and X.

◆ operator>() [7/8]

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 584 of file DeclarationName.h.

References clang::DeclarationName::compare(), and operator>().

Referenced by operator>().

◆ operator>() [8/8]

template<typename T>
bool clang::operator> ( std::nullopt_t ,
const CustomizableOptional< T > & X )
constexpr

Definition at line 185 of file CustomizableOptional.h.

References X.

◆ operator>=() [1/8]

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

Definition at line 1012 of file CodeCompleteConsumer.h.

References X.

◆ operator>=() [2/8]

template<typename T, typename U>
bool clang::operator>= ( const CustomizableOptional< T > & X,
const CustomizableOptional< U > & Y )
constexpr

Definition at line 134 of file CustomizableOptional.h.

References X.

◆ operator>=() [3/8]

template<typename T>
bool clang::operator>= ( const CustomizableOptional< T > & X,
const T & Y )
constexpr

Definition at line 250 of file CustomizableOptional.h.

References T, and X.

◆ operator>=() [4/8]

template<typename T>
bool clang::operator>= ( const CustomizableOptional< T > & X,
std::nullopt_t  )
constexpr

Definition at line 190 of file CustomizableOptional.h.

References X.

◆ operator>=() [5/8]

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

Definition at line 210 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

◆ operator>=() [6/8]

template<typename T>
bool clang::operator>= ( const T & X,
const CustomizableOptional< T > & Y )
constexpr

Definition at line 255 of file CustomizableOptional.h.

References T, and X.

◆ operator>=() [7/8]

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 596 of file DeclarationName.h.

References clang::DeclarationName::compare(), and operator>=().

Referenced by operator>=().

◆ operator>=() [8/8]

template<typename T>
bool clang::operator>= ( std::nullopt_t ,
const CustomizableOptional< T > & X )
constexpr

Definition at line 195 of file CustomizableOptional.h.

References X.

◆ operator|()

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

Definition at line 52 of file DiagnosticOptions.h.

◆ operator~()

DiagnosticLevelMask clang::operator~ ( DiagnosticLevelMask M)
inline

Definition at line 47 of file DiagnosticOptions.h.

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

References ParseAST().

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

◆ ParseAST() [2/2]

◆ parseDarwinSDKInfo()

Expected< std::optional< DarwinSDKInfo > > clang::parseDarwinSDKInfo ( llvm::vfs::FileSystem & VFS,
StringRef SDKRootPath )

Parse the SDK information from the SDKSettings.json file.

Returns
an error if the SDKSettings.json file is invalid, std::nullopt if the SDK has no SDKSettings.json, or a valid DarwinSDKInfo otherwise.

Definition at line 156 of file DarwinSDKInfo.cpp.

References File, clang::DarwinSDKInfo::parseDarwinSDKSettingsJSON(), and Result.

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

◆ ParseDiagnosticArgs()

bool clang::ParseDiagnosticArgs ( DiagnosticOptions & Opts,
llvm::opt::ArgList & Args,
clang::DiagnosticsEngine * Diags = nullptr,
bool DefaultDiagColor = 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 CreateAndPopulateDiagOpts().

◆ 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 74 of file Sanitizers.cpp.

Referenced by describeSanitizeArg(), clang::driver::toolchains::ROCMToolChain::diagnoseUnsupportedSanitizers(), handleNoSanitizeAttr(), parseArgValues(), parseSanitizerKinds(), and clang::driver::toolchains::AMDGPUToolChain::shouldSkipSanitizeOption().

◆ parseSanitizerWeightedValue()

bool clang::parseSanitizerWeightedValue ( StringRef Value,
bool AllowGroups,
SanitizerMaskCutoffs & Cutoffs )

Parse a single weighted value (e.g., 'undefined=0.05') from a -fsanitize= or -fno-sanitize= value list.

The relevant weight(s) are updated in the passed Cutoffs parameter. Individual Cutoffs are never reset to zero unless explicitly set (e.g., 'null=0.0'). Returns false if Value is not known or the weight is not valid.

Definition at line 84 of file Sanitizers.cpp.

References expandSanitizerGroups(), and clang::SanitizerMaskCutoffs::set().

Referenced by parseArgCutoffs(), and parseSanitizerWeightedKinds().

◆ parseTargetID()

std::optional< llvm::StringRef > clang::parseTargetID ( const llvm::Triple & T,
llvm::StringRef OffloadArch,
llvm::StringMap< bool > * FeatureMap )

Parse a target ID to get processor and feature map.

Returns canonicalized processor name or std::nullopt if the target ID is invalid. Returns target ID features in FeatureMap if it is not null pointer. This function assumes OffloadArch is a valid target ID. If the target ID contains feature+, map it to true. If the target ID contains feature-, map it to false. If the target ID does not contain a feature (default), do not map it.

Definition at line 103 of file TargetID.cpp.

References getAllPossibleTargetIDFeatures(), getCanonicalProcessorName(), parseTargetIDWithFormatCheckingOnly(), and T.

Referenced by clang::driver::tools::amdgpu::getAMDGPUTargetFeatures(), getCanonicalArchString(), clang::driver::toolchains::AMDGPUToolChain::getParsedTargetID(), isCodeObjectCompatible(), and clang::driver::toolchains::AMDGPUToolChain::shouldSkipSanitizeOption().

◆ parseTargetIDWithFormatCheckingOnly()

std::optional< llvm::StringRef > clang::parseTargetIDWithFormatCheckingOnly ( llvm::StringRef TargetID,
llvm::StringMap< bool > * FeatureMap )
static

Definition at line 67 of file TargetID.cpp.

References Feature.

Referenced by getConflictTargetIDCombination(), isCompatibleTargetID(), and parseTargetID().

◆ parseXRayInstrValue()

◆ prepare_PragmaString()

void clang::prepare_PragmaString ( SmallVectorImpl< char > & StrVal)

Destringize a _Pragma("") string according to C11 6.10.9.1: "The string literal is destringized by deleting any encoding prefix, deleting the leading and trailing double-quotes, replacing each escape sequence \" by a double-quote, and replacing each escape sequence \ by a single backslash.

"

Definition at line 302 of file Pragma.cpp.

◆ printDependencyDirectivesAsSource()

void clang::printDependencyDirectivesAsSource ( StringRef Source,
ArrayRef< dependency_directives_scan::Directive > Directives,
llvm::raw_ostream & OS )

Print the previously scanned dependency directives as minimized source text.

Parameters
SourceThe original source text that the dependency directives were scanned from.
DirectivesThe previously scanned dependency directives.
OSthe stream to print the dependency directives on.

This is used primarily for testing purposes, during dependency scanning the Lexer uses the tokens directly, not their printed version.

Definition at line 1043 of file DependencyDirectivesScanner.cpp.

References clang::dependency_directives_scan::Directive::Kind, Tok, clang::dependency_directives_scan::Directive::Tokens, and clang::dependency_directives_scan::tokens_present_before_eof.

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

◆ printOpenACCAtomicKind()

template<typename StreamTy>
StreamTy & clang::printOpenACCAtomicKind ( StreamTy & Out,
OpenACCAtomicKind AK )
inline

Definition at line 181 of file OpenACCKinds.h.

References Capture, None, Read, Update, and Write.

Referenced by operator<<(), and operator<<().

◆ printOpenACCClauseKind()

◆ printOpenACCDefaultClauseKind()

template<typename StreamTy>
StreamTy & clang::printOpenACCDefaultClauseKind ( StreamTy & Out,
OpenACCDefaultClauseKind K )
inline

Definition at line 524 of file OpenACCKinds.h.

References Invalid, None, and Present.

Referenced by operator<<(), and operator<<().

◆ printOpenACCDirectiveKind()

template<typename StreamTy>
StreamTy & clang::printOpenACCDirectiveKind ( StreamTy & Out,
OpenACCDirectiveKind K )
inline

◆ printOpenACCGangKind()

template<typename StreamTy>
StreamTy & clang::printOpenACCGangKind ( StreamTy & Out,
OpenACCGangKind GK )
inline

Definition at line 616 of file OpenACCKinds.h.

References Dim, Num, and Static.

Referenced by operator<<(), and operator<<().

◆ printOpenACCModifierKind()

template<typename StreamTy>
StreamTy & clang::printOpenACCModifierKind ( StreamTy & Out,
OpenACCModifierKind Mods )
inline

Definition at line 658 of file OpenACCKinds.h.

References Always, AlwaysIn, AlwaysOut, Capture, First, Invalid, isOpenACCModifierBitSet(), Readonly, and Zero.

Referenced by operator<<(), and operator<<().

◆ printOpenACCReductionOperator()

template<typename StreamTy>
StreamTy & clang::printOpenACCReductionOperator ( StreamTy & Out,
OpenACCReductionOperator Op )
inline

Definition at line 571 of file OpenACCKinds.h.

References Addition, And, BitwiseAnd, BitwiseOr, BitwiseXOr, Invalid, Max, Min, Multiplication, and Or.

Referenced by operator<<(), and operator<<().

◆ printQuotedName()

template<typename NamedDeclDerivedT>
void clang::printQuotedName ( llvm::raw_ostream & Os,
const NamedDeclDerivedT & D )

Definition at line 27 of file DiagOutputUtils.h.

◆ printQuotedQualifiedName()

template<typename NamedDeclDerivedT>
void clang::printQuotedQualifiedName ( llvm::raw_ostream & Os,
const NamedDeclDerivedT & D )

Definition at line 18 of file DiagOutputUtils.h.

◆ printSourceLocationAsJson()

◆ processConstant32BitIntArgument()

◆ ProcessWarningOptions()

void clang::ProcessWarningOptions ( DiagnosticsEngine & Diags,
const DiagnosticOptions & Opts,
llvm::vfs::FileSystem & VFS,
bool ReportDiags = true )

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

Definition at line 46 of file Warnings.cpp.

References clang::DiagnosticOptions::DiagnosticSuppressionMappingsFile, EmitUnknownDiagWarning(), clang::diag::Error, clang::DiagnosticsEngine::getDiagnosticIDs(), clang::diag::Ignored, clang::diag::Remark, clang::DiagnosticOptions::Remarks, clang::DiagnosticsEngine::Report(), clang::sema::Report, clang::DiagnosticsEngine::setConstexprBacktraceLimit(), clang::DiagnosticsEngine::setDiagnosticGroupErrorAsFatal(), clang::DiagnosticsEngine::setDiagnosticGroupWarningAsError(), clang::DiagnosticsEngine::setDiagSuppressionMapping(), 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(), clang::diag::Warning, clang::diag::WarningOrError, and clang::DiagnosticOptions::Warnings.

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

◆ quoteMakeTarget()

void clang::quoteMakeTarget ( StringRef Target,
SmallVectorImpl< char > & Res )

Quote target names for inclusion in GNU Make dependency files.

Only the characters '$', '#', ' ', '\t' are quoted.

Definition at line 11 of file MakeSupport.cpp.

References Target.

◆ reportOptRecordError()

◆ RewriteIncludesInInput()

◆ RewriteMacrosInInput()

◆ runUninitializedVariablesAnalysis()

◆ runWithSufficientStackSpace()

void clang::runWithSufficientStackSpace ( llvm::function_ref< void()> Diag,
llvm::function_ref< void()> Fn )
inline

Run a given function on a stack with "sufficient" space.

If stack space is insufficient, calls Diag to emit a diagnostic before calling Fn.

Definition at line 43 of file Stack.h.

References Diag(), isStackNearlyExhausted(), and runWithSufficientStackSpaceSlow().

Referenced by clang::StackExhaustionHandler::runWithSufficientStackSpace().

◆ runWithSufficientStackSpaceSlow()

void clang::runWithSufficientStackSpaceSlow ( llvm::function_ref< void()> Diag,
llvm::function_ref< void()> Fn )

Definition at line 47 of file Stack.cpp.

References BottomOfStack, DesiredStackSize, Diag(), and noteBottomOfStack().

Referenced by runWithSufficientStackSpace().

◆ safeGetName()

◆ scanDirectory() [1/2]

std::vector< std::string > clang::scanDirectory ( llvm::StringRef Path)

Gets names (filenames) of items in directory at Path.

Returns
empty vector if Path is not a directory, doesn't exist or can't be read from.

References Scan().

◆ scanDirectory() [2/2]

std::vector< std::string > clang::scanDirectory ( StringRef Path)

Definition at line 26 of file DirectoryScanner.cpp.

References getFileStatus(), and Result.

◆ scanInputForCXX20ModulesUsage()

bool clang::scanInputForCXX20ModulesUsage ( StringRef Source)

◆ scanSourceForDependencyDirectives()

bool clang::scanSourceForDependencyDirectives ( StringRef Input,
SmallVectorImpl< dependency_directives_scan::Token > & Tokens,
SmallVectorImpl< dependency_directives_scan::Directive > & Directives,
DiagnosticsEngine * Diags = nullptr,
SourceLocation InputSourceLoc = SourceLocation() )

Scan the input for the preprocessor directives that might have an effect on the dependencies for a compilation unit.

This function ignores all non-preprocessor code and anything that can't affect what gets included.

Returns
false on success, true on error. If the diagnostic engine is not null, an appropriate error is reported using the given input location with the offset that corresponds to the Input buffer offset.

Definition at line 1036 of file DependencyDirectivesScanner.cpp.

Referenced by clang::tooling::dependencies::DependencyScanningWorkerFilesystem::ensureDirectiveTokensArePopulated(), and clang::PrintDependencyDirectivesSourceMinimizerAction::ExecuteAction().

◆ serializeSanitizerMaskCutoffs()

void clang::serializeSanitizerMaskCutoffs ( const SanitizerMaskCutoffs & Cutoffs,
SmallVectorImpl< std::string > & Values )

Serialize a SanitizerMaskCutoffs into command line arguments.

Definition at line 114 of file Sanitizers.cpp.

Referenced by toString().

◆ serializeSanitizerSet()

void clang::serializeSanitizerSet ( SanitizerSet Set,
SmallVectorImpl< StringRef > & Values )

Serialize a SanitizerSet into values for -fsanitize= or -fno-sanitize=.

Definition at line 106 of file Sanitizers.cpp.

References Set.

Referenced by serializeSanitizerKinds().

◆ serializeXRayInstrValue()

void clang::serializeXRayInstrValue ( XRayInstrSet Set,
SmallVectorImpl< StringRef > & Values )

◆ setClauseList()

clang::setClauseList ( getTrailingObjects(NumClauses) )

Referenced by OpenACCComputeConstruct().

◆ setStructuredBlock()

void clang::setStructuredBlock ( Stmt * S)

Definition at line 165 of file StmtOpenACC.h.

◆ shouldEnforceArgLimit()

bool clang::shouldEnforceArgLimit ( bool PartialOverloading,
FunctionDecl * Function )

◆ shouldSkipCheckingODR()

◆ sizedDeallocationModeFromBool()

SizedDeallocationMode clang::sizedDeallocationModeFromBool ( bool IsSized)
inline

Definition at line 2281 of file ExprCXX.h.

References No, and Yes.

Referenced by clang::Sema::ActOnCXXDelete(), and clang::Sema::FindAllocationFunctions().

◆ specific_attr_begin()

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

Definition at line 104 of file AttrIterator.h.

Referenced by getSpecificAttr(), getSpecificAttrs(), and hasSpecificAttr().

◆ specific_attr_end()

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

Definition at line 109 of file AttrIterator.h.

Referenced by getSpecificAttr(), getSpecificAttrs(), and hasSpecificAttr().

◆ startsNextParameter()

bool clang::startsNextParameter ( const FormatToken & Current,
const FormatStyle & Style )

References Previous.

◆ StmtEmpty()

StmtResult clang::StmtEmpty ( )
inline

Definition at line 273 of file Ownership.h.

◆ StmtError() [1/2]

StmtResult clang::StmtError ( )
inline

Definition at line 266 of file Ownership.h.

Referenced by clang::SemaOpenACC::ActOnAssociatedStmt(), clang::Sema::ActOnBreakStmt(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCapturedRegionEnd(), clang::Sema::ActOnCaseStmt(), clang::Sema::ActOnContinueStmt(), clang::Sema::ActOnCoreturnStmt(), clang::Sema::ActOnCoroutineBodyStart(), clang::Sema::ActOnCXXForRangeStmt(), clang::Sema::ActOnCXXTryBlock(), clang::Sema::ActOnDeclStmt(), clang::Sema::ActOnDefaultStmt(), clang::Sema::ActOnDoStmt(), clang::SemaOpenACC::ActOnEndStmtDirective(), clang::Sema::ActOnExprStmt(), clang::Sema::ActOnExprStmtError(), clang::Sema::ActOnFinishFullStmt(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnForEachLValueExpr(), clang::Sema::ActOnForStmt(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnIndirectGotoStmt(), clang::Sema::ActOnMSAsmStmt(), clang::SemaObjC::ActOnObjCAtCatchStmt(), clang::SemaObjC::ActOnObjCAtThrowStmt(), clang::SemaObjC::ActOnObjCForCollectionStmt(), clang::SemaOpenMP::ActOnOpenMPAssumeDirective(), clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), clang::SemaOpenMP::ActOnOpenMPCancelDirective(), clang::SemaOpenMP::ActOnOpenMPCancellationPointDirective(), clang::SemaOpenMP::ActOnOpenMPCriticalDirective(), clang::SemaOpenMP::ActOnOpenMPDepobjDirective(), clang::SemaOpenMP::ActOnOpenMPDispatchDirective(), clang::SemaOpenMP::ActOnOpenMPDistributeDirective(), clang::SemaOpenMP::ActOnOpenMPDistributeParallelForDirective(), clang::SemaOpenMP::ActOnOpenMPDistributeParallelForSimdDirective(), clang::SemaOpenMP::ActOnOpenMPDistributeSimdDirective(), clang::SemaOpenMP::ActOnOpenMPErrorDirective(), clang::SemaOpenMP::ActOnOpenMPExecutableDirective(), clang::SemaOpenMP::ActOnOpenMPFlushDirective(), clang::SemaOpenMP::ActOnOpenMPForDirective(), clang::SemaOpenMP::ActOnOpenMPForSimdDirective(), clang::SemaOpenMP::ActOnOpenMPGenericLoopDirective(), clang::SemaOpenMP::ActOnOpenMPInformationalDirective(), clang::SemaOpenMP::ActOnOpenMPInterchangeDirective(), clang::SemaOpenMP::ActOnOpenMPInteropDirective(), clang::SemaOpenMP::ActOnOpenMPMaskedDirective(), clang::SemaOpenMP::ActOnOpenMPMaskedTaskLoopDirective(), clang::SemaOpenMP::ActOnOpenMPMaskedTaskLoopSimdDirective(), clang::SemaOpenMP::ActOnOpenMPMasterDirective(), clang::SemaOpenMP::ActOnOpenMPMasterTaskLoopDirective(), clang::SemaOpenMP::ActOnOpenMPMasterTaskLoopSimdDirective(), clang::SemaOpenMP::ActOnOpenMPOrderedDirective(), clang::SemaOpenMP::ActOnOpenMPParallelDirective(), clang::SemaOpenMP::ActOnOpenMPParallelForDirective(), clang::SemaOpenMP::ActOnOpenMPParallelForSimdDirective(), clang::SemaOpenMP::ActOnOpenMPParallelGenericLoopDirective(), clang::SemaOpenMP::ActOnOpenMPParallelMaskedDirective(), clang::SemaOpenMP::ActOnOpenMPParallelMaskedTaskLoopDirective(), clang::SemaOpenMP::ActOnOpenMPParallelMaskedTaskLoopSimdDirective(), clang::SemaOpenMP::ActOnOpenMPParallelMasterDirective(), clang::SemaOpenMP::ActOnOpenMPParallelMasterTaskLoopDirective(), clang::SemaOpenMP::ActOnOpenMPParallelMasterTaskLoopSimdDirective(), clang::SemaOpenMP::ActOnOpenMPParallelSectionsDirective(), clang::SemaOpenMP::ActOnOpenMPRegionEnd(), clang::SemaOpenMP::ActOnOpenMPReverseDirective(), clang::SemaOpenMP::ActOnOpenMPScanDirective(), clang::SemaOpenMP::ActOnOpenMPScopeDirective(), clang::SemaOpenMP::ActOnOpenMPSectionDirective(), clang::SemaOpenMP::ActOnOpenMPSectionsDirective(), clang::SemaOpenMP::ActOnOpenMPSimdDirective(), clang::SemaOpenMP::ActOnOpenMPSingleDirective(), clang::SemaOpenMP::ActOnOpenMPStripeDirective(), clang::SemaOpenMP::ActOnOpenMPTargetDataDirective(), clang::SemaOpenMP::ActOnOpenMPTargetDirective(), clang::SemaOpenMP::ActOnOpenMPTargetEnterDataDirective(), clang::SemaOpenMP::ActOnOpenMPTargetExitDataDirective(), clang::SemaOpenMP::ActOnOpenMPTargetParallelDirective(), clang::SemaOpenMP::ActOnOpenMPTargetParallelForDirective(), clang::SemaOpenMP::ActOnOpenMPTargetParallelForSimdDirective(), clang::SemaOpenMP::ActOnOpenMPTargetParallelGenericLoopDirective(), clang::SemaOpenMP::ActOnOpenMPTargetSimdDirective(), clang::SemaOpenMP::ActOnOpenMPTargetTeamsDirective(), clang::SemaOpenMP::ActOnOpenMPTargetTeamsDistributeDirective(), clang::SemaOpenMP::ActOnOpenMPTargetTeamsDistributeParallelForDirective(), clang::SemaOpenMP::ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective(), clang::SemaOpenMP::ActOnOpenMPTargetTeamsDistributeSimdDirective(), clang::SemaOpenMP::ActOnOpenMPTargetTeamsGenericLoopDirective(), clang::SemaOpenMP::ActOnOpenMPTargetUpdateDirective(), clang::SemaOpenMP::ActOnOpenMPTaskDirective(), clang::SemaOpenMP::ActOnOpenMPTaskgroupDirective(), clang::SemaOpenMP::ActOnOpenMPTaskLoopDirective(), clang::SemaOpenMP::ActOnOpenMPTaskLoopSimdDirective(), clang::SemaOpenMP::ActOnOpenMPTaskwaitDirective(), clang::SemaOpenMP::ActOnOpenMPTeamsDirective(), clang::SemaOpenMP::ActOnOpenMPTeamsDistributeDirective(), clang::SemaOpenMP::ActOnOpenMPTeamsDistributeParallelForDirective(), clang::SemaOpenMP::ActOnOpenMPTeamsDistributeParallelForSimdDirective(), clang::SemaOpenMP::ActOnOpenMPTeamsDistributeSimdDirective(), clang::SemaOpenMP::ActOnOpenMPTeamsGenericLoopDirective(), clang::SemaOpenMP::ActOnOpenMPTileDirective(), clang::SemaOpenMP::ActOnOpenMPUnrollDirective(), clang::Sema::ActOnReturnStmt(), clang::Sema::ActOnSEHExceptBlock(), clang::Sema::ActOnSEHLeaveStmt(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::ActOnWhileStmt(), clang::Sema::BuildCoreturnStmt(), clang::Sema::BuildCoroutineBodyStmt(), clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildIfStmt(), buildMemcpyForAssignmentOp(), clang::SemaObjC::BuildObjCAtThrowStmt(), clang::Sema::BuildReturnStmt(), buildSingleCopyAssignRecursively(), clang::Sema::FinishCXXForRangeStmt(), clang::SemaObjC::FinishObjCForCollectionStmt(), clang::SemaBase::SemaDiagnosticBuilder::operator StmtResult(), clang::Parser::ParseOpenACCDirectiveStmt(), clang::TreeTransform< AdjustConstraintDepth >::RebuildAttributedStmt(), clang::TreeTransform< AdjustConstraintDepth >::RebuildCXXForRangeStmt(), clang::TreeTransform< AdjustConstraintDepth >::RebuildObjCForCollectionStmt(), clang::TreeTransform< Derived >::SkipLambdaBody(), clang::SemaBase::SemaDiagnosticBuilder::StmtError, StmtError(), clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), and clang::TreeTransform< Derived >::TransformOMPInformationalDirective().

◆ StmtError() [2/2]

StmtResult clang::StmtError ( const StreamingDiagnostic & )
inline

Definition at line 270 of file Ownership.h.

References StmtError().

◆ stringToHeaderIncludeFiltering()

bool clang::stringToHeaderIncludeFiltering ( const char * Str,
HeaderIncludeFilteringKind & Kind )
inline

Definition at line 43 of file HeaderInclude.h.

References Default, HIFIL_Direct_Per_File, HIFIL_None, and HIFIL_Only_Direct_System.

◆ stringToHeaderIncludeFormatKind()

HeaderIncludeFormatKind clang::stringToHeaderIncludeFormatKind ( const char * Str)
inline

Definition at line 36 of file HeaderInclude.h.

References HIFMT_JSON, HIFMT_None, and HIFMT_Textual.

◆ StringToOffloadArch()

◆ 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 319 of file Specifiers.h.

References CC_DeviceKernel, CC_M68kRTD, CC_SpirFunction, CC_Swift, CC_SwiftAsync, CC_X86FastCall, CC_X86Pascal, CC_X86RegCall, CC_X86StdCall, CC_X86ThisCall, and CC_X86VectorCall.

Referenced by clang::Sema::ActOnFunctionDeclarator(), getCCForDeclaratorChunk(), and handleFunctionTypeAttr().

◆ takeAndConcatenateAttrs()

void clang::takeAndConcatenateAttrs ( ParsedAttributes & First,
ParsedAttributes && Second )

Consumes the attributes from Second and concatenates them at the end of First.

Sets First.Range to the combined range of First and Second.

Definition at line 304 of file ParsedAttr.cpp.

References First.

◆ ToConstrainedExceptMD()

◆ ToCudaVersion()

CudaVersion clang::ToCudaVersion ( llvm::VersionTuple Version)

Definition at line 69 of file Cuda.cpp.

References CudaNameVersionMap, and UNKNOWN.

Referenced by CudaFeatureEnabled(), and handleAliasAttr().

◆ toExprDependence() [1/2]

ExprDependence clang::toExprDependence ( NestedNameSpecifierDependence D)
inline

Definition at line 259 of file DependenceFlags.h.

References clang::Dependence::expr().

◆ toExprDependence() [2/2]

ExprDependence clang::toExprDependence ( TemplateArgumentDependence TA)
inline

Computes dependencies of a reference with the name having template arguments with TA dependencies.

Definition at line 247 of file DependenceFlags.h.

References clang::Dependence::expr().

Referenced by computeDependence(), computeDependence(), computeDependence(), computeDependence(), computeDependence(), computeDependence(), and computeDependence().

◆ toExprDependenceAsWritten()

◆ toExprDependenceForImpliedType()

◆ tokenIsLikeStringLiteral()

bool clang::tokenIsLikeStringLiteral ( const Token & Tok,
const LangOptions & LO )

Return true if the token is a string literal, or a function local predefined macro, which expands to a string literal.

Definition at line 451 of file LiteralSupport.cpp.

References isFunctionLocalStringLiteralMacro(), clang::tok::isStringLiteral(), and Tok.

◆ 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 224 of file CharInfo.h.

References c, and isUppercase().

Referenced by clang::SelectorTable::getPropertyNameFromSetterSelector(), and HashHMapKey().

◆ toNestedNameSpecifierDependence()

NestedNameSpecifierDependence clang::toNestedNameSpecifierDependence ( TypeDependence D)
inline

◆ toSemanticDependence()

TypeDependence clang::toSemanticDependence ( TypeDependence D)
inline

◆ toSyntacticDependence()

TypeDependence clang::toSyntacticDependence ( TypeDependence D)
inline

Definition at line 288 of file DependenceFlags.h.

References clang::Dependence::syntactic(), and clang::Dependence::type().

◆ toTargetAddressSpace()

◆ toTemplateArgumentDependence() [1/3]

TemplateArgumentDependence clang::toTemplateArgumentDependence ( ExprDependence D)
inline

Definition at line 309 of file DependenceFlags.h.

References clang::Dependence::templateArgument().

◆ toTemplateArgumentDependence() [2/3]

TemplateArgumentDependence clang::toTemplateArgumentDependence ( TemplateNameDependence D)
inline

Definition at line 305 of file DependenceFlags.h.

References clang::Dependence::templateArgument().

◆ toTemplateArgumentDependence() [3/3]

TemplateArgumentDependence clang::toTemplateArgumentDependence ( TypeDependence D)
inline

◆ toTemplateNameDependence() [1/2]

TemplateNameDependence clang::toTemplateNameDependence ( NestedNameSpecifierDependence D)
inline

◆ toTemplateNameDependence() [2/2]

TemplateNameDependence clang::toTemplateNameDependence ( TemplateArgumentDependence D)
inline

Definition at line 319 of file DependenceFlags.h.

References clang::Dependence::templateName().

◆ toTypeDependence() [1/4]

◆ toTypeDependence() [2/4]

TypeDependence clang::toTypeDependence ( NestedNameSpecifierDependence D)
inline

Definition at line 278 of file DependenceFlags.h.

References clang::Dependence::type().

◆ toTypeDependence() [3/4]

TypeDependence clang::toTypeDependence ( TemplateArgumentDependence D)
inline

Definition at line 284 of file DependenceFlags.h.

References clang::Dependence::type().

◆ toTypeDependence() [4/4]

TypeDependence clang::toTypeDependence ( TemplateNameDependence D)
inline

Definition at line 281 of file DependenceFlags.h.

References clang::Dependence::type().

◆ 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 233 of file CharInfo.h.

References c, and isLowercase().

Referenced by AddObjCKeyValueCompletions(), clang::SelectorTable::constructSetterName(), and isCaseSensitivePath().

◆ transformOMPMappableExprListClause()

◆ TransformTypeSpecType()

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

Definition at line 5534 of file TreeTransform.h.

References clang::TypeLocBuilder::push(), and T.

◆ TRY_TO() [1/14]

clang::TRY_TO ( TraverseArrayTypeLocHelper(TL) )
Initial value:
{
TRY_TO(TraverseTypeLoc(TL.getElementLoc()))

◆ TRY_TO() [2/14]

clang::TRY_TO ( TraverseNestedNameSpecifier(Qualifier) )

◆ TRY_TO() [3/14]

else clang::TRY_TO ( TraverseNestedNameSpecifier(TL.getTypePtr() ->getQualifier()) )

◆ TRY_TO() [4/14]

clang::TRY_TO ( TraverseStmt(T->getSizeExpr()) )

References T.

◆ TRY_TO() [5/14]

clang::TRY_TO ( TraverseStmt(TL.getAttrColumnOperand()) )

◆ TRY_TO() [6/14]

clang::TRY_TO ( TraverseTemplateName(TemplateName(T->getTemplateName().getAsTemplateDecl(true))) )

References T.

◆ TRY_TO() [7/14]

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

References T.

◆ TRY_TO() [8/14]

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

References T.

◆ TRY_TO() [9/14]

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

References T.

◆ TRY_TO() [10/14]

clang::TRY_TO ( TraverseType(T->getPointeeType()) )
Initial value:
{
TRY_TO(TraverseStmt(T->getAddrSpaceExpr()))

References T.

◆ TRY_TO() [11/14]

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

References T.

◆ TRY_TO() [12/14]

clang::TRY_TO ( TraverseType(TL.getTypePtr() ->getElementType()) )

◆ TRY_TO() [13/14]

clang::TRY_TO ( TraverseType(TL.getTypePtr() ->getPointeeType()) )

◆ TRY_TO() [14/14]

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

◆ tryMakeVariablePseudoStrong()

◆ tryToFindPtrOrigin()

bool clang::tryToFindPtrOrigin ( const clang::Expr * E,
bool StopAtFirstRefCountedObj,
std::function< bool(const clang::CXXRecordDecl *)> isSafePtr,
std::function< bool(const clang::QualType)> isSafePtrType,
std::function< bool(const clang::Expr *, bool)> callback )

This function de-facto defines a set of transformations that we consider safe (in heuristical sense).

These transformation if passed a safe value as an input should provide a safe value (or an object that provides safe values).

For more context see Static Analyzer checkers documentation - specifically webkit.UncountedCallArgsChecker checker. Allowed list of transformations:

  • constructors of ref-counted types (including factory methods)
  • getters of ref-counted types
  • member overloaded operators
  • casts
  • unary operators like & or *

If passed expression is of type uncounted pointer/reference we try to find the "origin" of the pointer value. Origin can be for example a local variable, nullptr, constant or this-pointer.

Certain subexpression nodes represent transformations that don't affect where the memory address originates from. We try to traverse such subexpressions to get to the relevant child nodes. Whenever we encounter a subexpression that either can't be ignored, we don't model its semantics or that has multiple children we stop.

E is an expression of uncounted pointer/reference type. If StopAtFirstRefCountedObj is true and we encounter a subexpression that represents ref-counted object during the traversal we return relevant sub-expression and true.

Calls callback with the subexpression that we traversed to and if StopAtFirstRefCountedObj is true we also specify whether we stopped early. Returns false if any of calls to callbacks returned false. Otherwise true.

Definition at line 25 of file ASTUtils.cpp.

References C, cast(), Class, CXX, clang::ast_matchers::decl, std::function, clang::Selector::getNameForSlot(), clang::Selector::getNumArgs(), clang::Expr::IgnoreParenCasts(), isa(), isCheckedPtr(), isCtorOfSafePtr(), isGetterOfSafePtr(), isPtrConversion(), isRefType(), isRetainPtrOrOSPtr(), isSafePtr(), isSingleton(), Method, safeGetName(), and tryToFindPtrOrigin().

Referenced by tryToFindPtrOrigin().

◆ turnTypeToValueDependence()

◆ turnValueToTypeDependence()

ExprDependence clang::turnValueToTypeDependence ( ExprDependence D)
inline

Definition at line 267 of file DependenceFlags.h.

Referenced by clang::ArrayType::ArrayType(), and computeDependence().

◆ typeAwareAllocationModeFromBool()

TypeAwareAllocationMode clang::typeAwareAllocationModeFromBool ( bool IsTypeAwareAllocation)
inline

◆ TypeError()

◆ updateFlags()

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

Definition at line 130 of file ASTImporter.cpp.

References clang::Decl::isUsed(), and clang::Decl::setIsUsed().

Referenced by clang::ASTImporter::Import().

◆ validateSwiftFunctionName()

bool clang::validateSwiftFunctionName ( Sema & S,
const ParsedAttr & AL,
SourceLocation Loc,
StringRef Name,
unsigned & SwiftParamCount,
bool & IsSingleParamInit )
static

Variable Documentation

◆ AddressColor

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

Definition at line 57 of file ASTDumperUtils.h.

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

◆ ArchNames

◆ AttrColor

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

◆ BlockDescriptorConstantDiscriminator

uint16_t clang::BlockDescriptorConstantDiscriminator = 0xC0BB
constexpr

Constant discriminator to be used with block descriptor pointers.

The value is ptrauth_string_discriminator("block_descriptor")

Definition at line 28 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ CastColor

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

Definition at line 76 of file ASTDumperUtils.h.

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

◆ ClassROConstantDiscriminator

uint16_t clang::ClassROConstantDiscriminator = 0x61F8
constexpr

Constant discriminator to be used with objective-c class_ro_t pointers.

The value is ptrauth_string_discriminator("class_data_bits")

Definition at line 52 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ ClSanitizeGuardChecks

llvm::cl::opt<bool> clang::ClSanitizeGuardChecks
extern

◆ CodeCompletionFileName

const std::string clang::CodeCompletionFileName = "input_line_[Completion]"

Definition at line 32 of file CodeCompletion.cpp.

Referenced by clang::ReplCodeCompleter::codeComplete().

◆ CommentColor

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

Definition at line 51 of file ASTDumperUtils.h.

Referenced by highlightLines(), and clang::TextNodeDumper::Visit().

◆ Cond

Expr* clang::Cond = nullptr

};

/ This is a basic class for representing single OpenMP executable / directive. / class OMPExecutableDirective : public Stmt { friend class ASTStmtReader; friend class ASTStmtWriter;

/ Kind of the directive. OpenMPDirectiveKind Kind = llvm::omp::OMPD_unknown; / Starting location of the directive (directive keyword). SourceLocation StartLoc; / Ending location of the directive. SourceLocation EndLoc;

/ Get the clauses storage. MutableArrayRef<OMPClause *> getClauses() { if (!Data) return {}; return Data->getClauses(); }

protected: / Data, associated with the directive. OMPChildren *Data = nullptr;

/ Build instance of directive of class K. / /

Parameters
SCStatement class. /
KKind of OpenMP directive. /
StartLocStarting location of the directive (directive keyword). /
EndLocEnding location of the directive. / OMPExecutableDirective(StmtClass SC, OpenMPDirectiveKind K, SourceLocation StartLoc, SourceLocation EndLoc) : Stmt(SC), Kind(K), StartLoc(std::move(StartLoc)), EndLoc(std::move(EndLoc)) {}

template <typename T, typename... Params> static T *createDirective(const ASTContext &C, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, unsigned NumChildren, Params &&... P) { void *Mem = C.Allocate(sizeof(T) + OMPChildren::size(Clauses.size(), AssociatedStmt, NumChildren), alignof(T));

auto *Data = OMPChildren::Create(reinterpret_cast<T *>(Mem) + 1, Clauses, AssociatedStmt, NumChildren); auto *Inst = new (Mem) T(std::forward<Params>(P)...); Inst->Data = Data; return Inst; }

template <typename T, typename... Params> static T *createEmptyDirective(const ASTContext &C, unsigned NumClauses, bool HasAssociatedStmt, unsigned NumChildren, Params &&... P) { void *Mem = C.Allocate(sizeof(T) + OMPChildren::size(NumClauses, HasAssociatedStmt, NumChildren), alignof(T)); auto *Data = OMPChildren::CreateEmpty(reinterpret_cast<T *>(Mem) + 1, NumClauses, HasAssociatedStmt, NumChildren); auto *Inst = new (Mem) T(std::forward<Params>(P)...); Inst->Data = Data; return Inst; }

template <typename T> static T *createEmptyDirective(const ASTContext &C, unsigned NumClauses, bool HasAssociatedStmt = false, unsigned NumChildren = 0) { void *Mem = C.Allocate(sizeof(T) + OMPChildren::size(NumClauses, HasAssociatedStmt, NumChildren), alignof(T)); auto *Data = OMPChildren::CreateEmpty(reinterpret_cast<T *>(Mem) + 1, NumClauses, HasAssociatedStmt, NumChildren); auto *Inst = new (Mem) T; Inst->Data = Data; return Inst; }

public: / Iterates over expressions/statements used in the construct. class used_clauses_child_iterator : public llvm::iterator_adaptor_base< used_clauses_child_iterator, ArrayRef<OMPClause *>::iterator, std::forward_iterator_tag, Stmt *, ptrdiff_t, Stmt *, Stmt *> { ArrayRef<OMPClause *>::iterator End; OMPClause::child_iterator ChildI, ChildEnd;

void MoveToNext() { if (ChildI != ChildEnd) return; while (this->I != End) { ++this->I; if (this->I != End) { ChildI = (*this->I)->used_children().begin(); ChildEnd = (*this->I)->used_children().end(); if (ChildI != ChildEnd) return; } } }

public: explicit used_clauses_child_iterator(ArrayRef<OMPClause *> Clauses) : used_clauses_child_iterator::iterator_adaptor_base(Clauses.begin()), End(Clauses.end()) { if (this->I != End) { ChildI = (this->I)->used_children().begin(); ChildEnd = (*this->I)->used_children().end(); MoveToNext(); } } Stmt *operator() const { return *ChildI; } Stmt *operator->() const { return **this; }

used_clauses_child_iterator &operator++() { ++ChildI; if (ChildI != ChildEnd) return *this; if (this->I != End) { ++this->I; if (this->I != End) { ChildI = (*this->I)->used_children().begin(); ChildEnd = (*this->I)->used_children().end(); } } MoveToNext(); return *this; } };

static llvm::iterator_range<used_clauses_child_iterator> used_clauses_children(ArrayRef<OMPClause *> Clauses) { return {used_clauses_child_iterator(Clauses), used_clauses_child_iterator(ArrayRef(Clauses.end(), (size_t)0))}; }

/ Iterates over a filtered subrange of clauses applied to a / directive. / / This iterator visits only clauses of type SpecificClause. template <typename SpecificClause> class specific_clause_iterator : public llvm::iterator_adaptor_base< specific_clause_iterator<SpecificClause>, ArrayRef<OMPClause *>::const_iterator, std::forward_iterator_tag, const SpecificClause *, ptrdiff_t, const SpecificClause *, const SpecificClause *> { ArrayRef<OMPClause *>::const_iterator End;

void SkipToNextClause() { while (this->I != End && !isa<SpecificClause>(*this->I)) ++this->I; }

public: explicit specific_clause_iterator(ArrayRef<OMPClause *> Clauses) : specific_clause_iterator::iterator_adaptor_base(Clauses.begin()), End(Clauses.end()) { SkipToNextClause(); }

const SpecificClause operator() const { return cast<SpecificClause>(*this->I); } const SpecificClause *operator->() const { return **this; }

specific_clause_iterator &operator++() { ++this->I; SkipToNextClause(); return *this; } };

template <typename SpecificClause> static llvm::iterator_range<specific_clause_iterator<SpecificClause>> getClausesOfKind(ArrayRef<OMPClause *> Clauses) { return {specific_clause_iterator<SpecificClause>(Clauses), specific_clause_iterator<SpecificClause>( ArrayRef(Clauses.end(), (size_t)0))}; }

template <typename SpecificClause> llvm::iterator_range<specific_clause_iterator<SpecificClause>> getClausesOfKind() const { return getClausesOfKind<SpecificClause>(clauses()); }

/ Gets a single clause of the specified kind associated with the / current directive iff there is only one clause of this kind (and assertion / is fired if there is more than one clause is associated with the / directive). Returns nullptr if no clause of this kind is associated with / the directive. template <typename SpecificClause> static const SpecificClause *getSingleClause(ArrayRef<OMPClause *> Clauses) { auto ClausesOfKind = getClausesOfKind<SpecificClause>(Clauses);

if (ClausesOfKind.begin() != ClausesOfKind.end()) { assert(std::next(ClausesOfKind.begin()) == ClausesOfKind.end() && "There are at least 2 clauses of the specified kind"); return *ClausesOfKind.begin(); } return nullptr; }

template <typename SpecificClause> const SpecificClause *getSingleClause() const { return getSingleClause<SpecificClause>(clauses()); }

/ Returns true if the current directive has one or more clauses of a / specific kind. template <typename SpecificClause> bool hasClausesOfKind() const { auto Clauses = getClausesOfKind<SpecificClause>(); return Clauses.begin() != Clauses.end(); }

/ Returns starting location of directive kind. SourceLocation getBeginLoc() const { return StartLoc; } / Returns ending location of directive. SourceLocation getEndLoc() const { return EndLoc; }

/ Set starting location of directive kind. / /

Parameters
LocNew starting location of directive. / void setLocStart(SourceLocation Loc) { StartLoc = Loc; } / Set ending location of directive. / /
LocNew ending location of directive. / void setLocEnd(SourceLocation Loc) { EndLoc = Loc; }

/ Get number of clauses. unsigned getNumClauses() const { if (!Data) return 0; return Data->getNumClauses(); }

/ Returns specified clause. / /

Parameters
INumber of clause. / OMPClause *getClause(unsigned I) const { return clauses()[I]; }

/ Returns true if directive has associated statement. bool hasAssociatedStmt() const { return Data && Data->hasAssociatedStmt(); }

/ Returns statement associated with the directive. const Stmt *getAssociatedStmt() const { return const_cast<OMPExecutableDirective *>(this)->getAssociatedStmt(); } Stmt *getAssociatedStmt() { assert(hasAssociatedStmt() && "Expected directive with the associated statement."); return Data->getAssociatedStmt(); }

/ Returns the captured statement associated with the / component region within the (combined) directive. / /

Parameters
RegionKindComponent region kind. const CapturedStmt *getCapturedStmt(OpenMPDirectiveKind RegionKind) const { assert(hasAssociatedStmt() && "Expected directive with the associated statement."); SmallVector<OpenMPDirectiveKind, 4> CaptureRegions; getOpenMPCaptureRegions(CaptureRegions, getDirectiveKind()); return Data->getCapturedStmt(RegionKind, CaptureRegions); }

/ Get innermost captured statement for the construct. CapturedStmt *getInnermostCapturedStmt() { assert(hasAssociatedStmt() && "Expected directive with the associated statement."); SmallVector<OpenMPDirectiveKind, 4> CaptureRegions; getOpenMPCaptureRegions(CaptureRegions, getDirectiveKind()); return Data->getInnermostCapturedStmt(CaptureRegions); }

const CapturedStmt *getInnermostCapturedStmt() const { return const_cast<OMPExecutableDirective *>(this) ->getInnermostCapturedStmt(); }

OpenMPDirectiveKind getDirectiveKind() const { return Kind; }

static bool classof(const Stmt *S) { return S->getStmtClass() >= firstOMPExecutableDirectiveConstant && S->getStmtClass() <= lastOMPExecutableDirectiveConstant; }

child_range children() { if (!Data) return child_range(child_iterator(), child_iterator()); return Data->getAssociatedStmtAsRange(); }

const_child_range children() const { return const_cast<OMPExecutableDirective *>(this)->children(); }

ArrayRef<OMPClause *> clauses() const { if (!Data) return {}; return Data->getClauses(); }

/ Returns whether or not this is a Standalone directive. / / Stand-alone directives are executable directives / that have no associated user code. bool isStandaloneDirective() const;

/ Returns the AST node representing OpenMP structured-block of this / OpenMP executable directive, / Prerequisite: Executable Directive must not be Standalone directive. const Stmt *getStructuredBlock() const { return const_cast<OMPExecutableDirective *>(this)->getStructuredBlock(); } Stmt *getStructuredBlock();

const Stmt *getRawStmt() const { return const_cast<OMPExecutableDirective *>(this)->getRawStmt(); } Stmt *getRawStmt() { assert(hasAssociatedStmt() && "Expected directive with the associated statement."); return Data->getRawStmt(); } };

/ This represents '#pragma omp parallel' directive. / /

/// #pragma omp parallel private(a,b) reduction(+: c,d)
///

/ In this example directive '#pragma omp parallel' has clauses 'private' / with the variables 'a' and 'b' and 'reduction' with operator '+' and / variables 'c' and 'd'. / class OMPParallelDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / true if the construct has inner cancel directive. bool HasCancel = false;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive (directive keyword). /
EndLocEnding Location of the directive. / OMPParallelDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPParallelDirectiveClass, llvm::omp::OMPD_parallel, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPParallelDirective() : OMPExecutableDirective(OMPParallelDirectiveClass, llvm::omp::OMPD_parallel, SourceLocation(), SourceLocation()) {}

/ Sets special task reduction descriptor. void setTaskReductionRefExpr(Expr *E) { Data->getChildren()[0] = E; }

/ Set cancel state. void setHasCancel(bool Has) { HasCancel = Has; }

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement associated with the directive. /
TaskRedRefTask reduction special reference expression to handle / taskgroup descriptor. /
HasCanceltrue if this directive has inner cancel directive. / static OMPParallelDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, Expr *TaskRedRef, bool HasCancel);

/ Creates an empty directive with the place for N clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPParallelDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

/ Returns special task reduction reference expression. Expr *getTaskReductionRefExpr() { return cast_or_null<Expr>(Data->getChildren()[0]); } const Expr *getTaskReductionRefExpr() const { return const_cast<OMPParallelDirective *>(this)->getTaskReductionRefExpr(); }

/ Return true if current directive has inner cancel directive. bool hasCancel() const { return HasCancel; }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPParallelDirectiveClass; } };

/ The base class for all loop-based directives, including loop transformation / directives. class OMPLoopBasedDirective : public OMPExecutableDirective { friend class ASTStmtReader;

protected: / Number of collapsed loops as specified by 'collapse' clause. unsigned NumAssociatedLoops = 0;

/ Build instance of loop directive of class Kind. / /

Parameters
SCStatement class. /
KindKind of OpenMP directive. /
StartLocStarting location of the directive (directive keyword). /
EndLocEnding location of the directive. /
NumAssociatedLoopsNumber of loops associated with the construct. / OMPLoopBasedDirective(StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumAssociatedLoops) : OMPExecutableDirective(SC, Kind, StartLoc, EndLoc), NumAssociatedLoops(NumAssociatedLoops) {}

public: / The expressions built to support OpenMP loops in combined/composite / pragmas (e.g. pragma omp distribute parallel for) struct DistCombinedHelperExprs { / DistributeLowerBound - used when composing 'omp distribute' with / 'omp for' in a same construct. Expr *LB; / DistributeUpperBound - used when composing 'omp distribute' with / 'omp for' in a same construct. Expr *UB; / DistributeEnsureUpperBound - used when composing 'omp distribute' / with 'omp for' in a same construct, EUB depends on DistUB Expr *EUB; / Distribute loop iteration variable init used when composing 'omp / distribute' / with 'omp for' in a same construct Expr *Init; / Distribute Loop condition used when composing 'omp distribute' / with 'omp for' in a same construct Expr *Cond; / Update of LowerBound for statically scheduled omp loops for / outer loop in combined constructs (e.g. 'distribute parallel for') Expr *NLB; / Update of UpperBound for statically scheduled omp loops for / outer loop in combined constructs (e.g. 'distribute parallel for') Expr *NUB; / Distribute Loop condition used when composing 'omp distribute' / with 'omp for' in a same construct when schedule is chunked. Expr *DistCond; / 'omp parallel for' loop condition used when composed with / 'omp distribute' in the same construct and when schedule is / chunked and the chunk size is 1. Expr *ParForInDistCond; };

/ The expressions built for the OpenMP loop CodeGen for the / whole collapsed loop nest. struct HelperExprs { / Loop iteration variable. Expr *IterationVarRef; / Loop last iteration number. Expr *LastIteration; / Loop number of iterations. Expr *NumIterations; / Calculation of last iteration. Expr *CalcLastIteration; / Loop pre-condition. Expr *PreCond; / Loop condition. Expr *Cond; / Loop iteration variable init. Expr *Init; / Loop increment. Expr *Inc; / IsLastIteration - local flag variable passed to runtime. Expr *IL; / LowerBound - local variable passed to runtime. Expr *LB; / UpperBound - local variable passed to runtime. Expr *UB; / Stride - local variable passed to runtime. Expr *ST; / EnsureUpperBound – expression UB = min(UB, NumIterations). Expr *EUB; / Update of LowerBound for statically scheduled 'omp for' loops. Expr *NLB; / Update of UpperBound for statically scheduled 'omp for' loops. Expr *NUB; / PreviousLowerBound - local variable passed to runtime in the / enclosing schedule or null if that does not apply. Expr *PrevLB; / PreviousUpperBound - local variable passed to runtime in the / enclosing schedule or null if that does not apply. Expr *PrevUB; / DistInc - increment expression for distribute loop when found / combined with a further loop level (e.g. in 'distribute parallel for') / expression IV = IV + ST Expr *DistInc; / PrevEUB - expression similar to EUB but to be used when loop / scheduling uses PrevLB and PrevUB (e.g. in 'distribute parallel for' / when ensuring that the UB is either the calculated UB by the runtime or / the end of the assigned distribute chunk) / expression UB = min (UB, PrevUB) Expr *PrevEUB; / Counters Loop counters. SmallVector<Expr *, 4> Counters; / PrivateCounters Loop counters. SmallVector<Expr *, 4> PrivateCounters; / Expressions for loop counters inits for CodeGen. SmallVector<Expr *, 4> Inits; / Expressions for loop counters update for CodeGen. SmallVector<Expr *, 4> Updates; / Final loop counter values for GodeGen. SmallVector<Expr *, 4> Finals; / List of counters required for the generation of the non-rectangular / loops. SmallVector<Expr *, 4> DependentCounters; / List of initializers required for the generation of the non-rectangular / loops. SmallVector<Expr *, 4> DependentInits; / List of final conditions required for the generation of the / non-rectangular loops. SmallVector<Expr *, 4> FinalsConditions; / Init statement for all captured expressions. Stmt *PreInits;

/ Expressions used when combining OpenMP loop pragmas DistCombinedHelperExprs DistCombinedFields;

/ Check if all the expressions are built (does not check the / worksharing ones). bool builtAll() { return IterationVarRef != nullptr && LastIteration != nullptr && NumIterations != nullptr && PreCond != nullptr && Cond != nullptr && Init != nullptr && Inc != nullptr; }

/ Initialize all the fields to null. /

Parameters
SizeNumber of elements in the / counters/finals/updates/dependent_counters/dependent_inits/finals_conditions / arrays. void clear(unsigned Size) { IterationVarRef = nullptr; LastIteration = nullptr; CalcLastIteration = nullptr; PreCond = nullptr; Cond = nullptr; Init = nullptr; Inc = nullptr; IL = nullptr; LB = nullptr; UB = nullptr; ST = nullptr; EUB = nullptr; NLB = nullptr; NUB = nullptr; NumIterations = nullptr; PrevLB = nullptr; PrevUB = nullptr; DistInc = nullptr; PrevEUB = nullptr; Counters.resize(Size); PrivateCounters.resize(Size); Inits.resize(Size); Updates.resize(Size); Finals.resize(Size); DependentCounters.resize(Size); DependentInits.resize(Size); FinalsConditions.resize(Size); for (unsigned I = 0; I < Size; ++I) { Counters[I] = nullptr; PrivateCounters[I] = nullptr; Inits[I] = nullptr; Updates[I] = nullptr; Finals[I] = nullptr; DependentCounters[I] = nullptr; DependentInits[I] = nullptr; FinalsConditions[I] = nullptr; } PreInits = nullptr; DistCombinedFields.LB = nullptr; DistCombinedFields.UB = nullptr; DistCombinedFields.EUB = nullptr; DistCombinedFields.Init = nullptr; DistCombinedFields.Cond = nullptr; DistCombinedFields.NLB = nullptr; DistCombinedFields.NUB = nullptr; DistCombinedFields.DistCond = nullptr; DistCombinedFields.ParForInDistCond = nullptr; } };

/ Get number of collapsed loops. unsigned getLoopsNumber() const { return NumAssociatedLoops; }

/ Try to find the next loop sub-statement in the specified statement / CurStmt. /

Parameters
TryImperfectlyNestedLoopstrue, if we need to try to look for the / imperfectly nested loop. static Stmt *tryToFindNextInnerLoop(Stmt *CurStmt, bool TryImperfectlyNestedLoops); static const Stmt *tryToFindNextInnerLoop(const Stmt *CurStmt, bool TryImperfectlyNestedLoops) { return tryToFindNextInnerLoop(const_cast<Stmt *>(CurStmt), TryImperfectlyNestedLoops); }

/ Calls the specified callback function for all the loops in CurStmt, / from the outermost to the innermost. static bool doForAllLoops( Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref<bool(unsigned, Stmt *)> Callback, llvm::function_ref<void(OMPCanonicalLoopNestTransformationDirective *)> OnTransformationCallback); static bool doForAllLoops(const Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref<bool(unsigned, const Stmt *)> Callback, llvm::function_ref< void(const OMPCanonicalLoopNestTransformationDirective *)> OnTransformationCallback) { auto &&NewCallback = [Callback](unsigned Cnt, Stmt *CurStmt) { return Callback(Cnt, CurStmt); }; auto &&NewTransformCb = [OnTransformationCallback]( OMPCanonicalLoopNestTransformationDirective *A) { OnTransformationCallback(A); }; return doForAllLoops(const_cast<Stmt *>(CurStmt), TryImperfectlyNestedLoops, NumLoops, NewCallback, NewTransformCb); }

/ Calls the specified callback function for all the loops in CurStmt, / from the outermost to the innermost. static bool doForAllLoops(Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref<bool(unsigned, Stmt *)> Callback) { auto &&TransformCb = [](OMPCanonicalLoopNestTransformationDirective *) {}; return doForAllLoops(CurStmt, TryImperfectlyNestedLoops, NumLoops, Callback, TransformCb); } static bool doForAllLoops(const Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref<bool(unsigned, const Stmt *)> Callback) { auto &&NewCallback = [Callback](unsigned Cnt, const Stmt *CurStmt) { return Callback(Cnt, CurStmt); }; return doForAllLoops(const_cast<Stmt *>(CurStmt), TryImperfectlyNestedLoops, NumLoops, NewCallback); }

/ Calls the specified callback function for all the loop bodies in / CurStmt, from the outermost loop to the innermost. static void doForAllLoopsBodies( Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref<void(unsigned, Stmt *, Stmt *)> Callback); static void doForAllLoopsBodies( const Stmt *CurStmt, bool TryImperfectlyNestedLoops, unsigned NumLoops, llvm::function_ref<void(unsigned, const Stmt *, const Stmt *)> Callback) { auto &&NewCallback = [Callback](unsigned Cnt, Stmt *Loop, Stmt *Body) { Callback(Cnt, Loop, Body); }; doForAllLoopsBodies(const_cast<Stmt *>(CurStmt), TryImperfectlyNestedLoops, NumLoops, NewCallback); }

static bool classof(const Stmt *T) { if (auto *D = dyn_cast<OMPExecutableDirective>(T)) return isOpenMPLoopDirective(D->getDirectiveKind()); return false; } };

/ Common class of data shared between / OMPCanonicalLoopNestTransformationDirective and transformations over / canonical loop sequences. class OMPLoopTransformationDirective { / Number of (top-level) generated loops. / This value is 1 for most transformations as they only map one loop nest / into another. / Some loop transformations (like a non-partial 'unroll') may not generate / a loop nest, so this would be 0. / Some loop transformations (like 'fuse' with looprange and 'split') may / generate more than one loop nest, so the value would be >= 1. unsigned NumGeneratedTopLevelLoops = 1;

protected: void setNumGeneratedTopLevelLoops(unsigned N) { NumGeneratedTopLevelLoops = N; }

public: unsigned getNumGeneratedTopLevelLoops() const { return NumGeneratedTopLevelLoops; } };

/ The base class for all transformation directives of canonical loop nests. class OMPCanonicalLoopNestTransformationDirective : public OMPLoopBasedDirective, public OMPLoopTransformationDirective { friend class ASTStmtReader;

protected: explicit OMPCanonicalLoopNestTransformationDirective( StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumAssociatedLoops) : OMPLoopBasedDirective(SC, Kind, StartLoc, EndLoc, NumAssociatedLoops) {}

public: / Return the number of associated (consumed) loops. unsigned getNumAssociatedLoops() const { return getLoopsNumber(); }

/ Get the de-sugared statements after the loop transformation. / / Might be nullptr if either the directive generates no loops and is handled / directly in CodeGen, or resolving a template-dependence context is / required. Stmt *getTransformedStmt() const;

/ Return preinits statement. Stmt *getPreInits() const;

static bool classof(const Stmt *T) { Stmt::StmtClass C = T->getStmtClass(); return C == OMPTileDirectiveClass || C == OMPUnrollDirectiveClass || C == OMPReverseDirectiveClass || C == OMPInterchangeDirectiveClass || C == OMPStripeDirectiveClass; } };

/ This is a common base class for loop directives ('omp simd', 'omp / for', 'omp for simd' etc.). It is responsible for the loop code generation. / class OMPLoopDirective : public OMPLoopBasedDirective { friend class ASTStmtReader;

/ Offsets to the stored exprs. / This enumeration contains offsets to all the pointers to children / expressions stored in OMPLoopDirective. / The first 9 children are necessary for all the loop directives, / the next 8 are specific to the worksharing ones, and the next 11 are / used for combined constructs containing two pragmas associated to loops. / After the fixed children, three arrays of length NumAssociatedLoops are / allocated: loop counters, their updates and final values. / PrevLowerBound and PrevUpperBound are used to communicate blocking / information in composite constructs which require loop blocking / DistInc is used to generate the increment expression for the distribute / loop when combined with a further nested loop / PrevEnsureUpperBound is used as the EnsureUpperBound expression for the / for loop when combined with a previous distribute loop in the same pragma / (e.g. 'distribute parallel for') / enum { IterationVariableOffset = 0, LastIterationOffset = 1, CalcLastIterationOffset = 2, PreConditionOffset = 3, CondOffset = 4, InitOffset = 5, IncOffset = 6, PreInitsOffset = 7, The '...End' enumerators do not correspond to child expressions - they specify the offset to the end (and start of the following counters/ updates/finals/dependent_counters/dependent_inits/finals_conditions arrays). DefaultEnd = 8, The following 8 exprs are used by worksharing and distribute loops only. IsLastIterVariableOffset = 8, LowerBoundVariableOffset = 9, UpperBoundVariableOffset = 10, StrideVariableOffset = 11, EnsureUpperBoundOffset = 12, NextLowerBoundOffset = 13, NextUpperBoundOffset = 14, NumIterationsOffset = 15, Offset to the end for worksharing loop directives. WorksharingEnd = 16, PrevLowerBoundVariableOffset = 16, PrevUpperBoundVariableOffset = 17, DistIncOffset = 18, PrevEnsureUpperBoundOffset = 19, CombinedLowerBoundVariableOffset = 20, CombinedUpperBoundVariableOffset = 21, CombinedEnsureUpperBoundOffset = 22, CombinedInitOffset = 23, CombinedConditionOffset = 24, CombinedNextLowerBoundOffset = 25, CombinedNextUpperBoundOffset = 26, CombinedDistConditionOffset = 27, CombinedParForInDistConditionOffset = 28, Offset to the end (and start of the following counters/updates/finals/dependent_counters/dependent_inits/finals_conditions arrays) for combined distribute loop directives. CombinedDistributeEnd = 29, };

/ Get the counters storage. MutableArrayRef<Expr *> getCounters() { auto **Storage = reinterpret_cast<Expr **>( &Data->getChildren()[getArraysOffset(getDirectiveKind())]); return {Storage, getLoopsNumber()}; }

/ Get the private counters storage. MutableArrayRef<Expr *> getPrivateCounters() { auto **Storage = reinterpret_cast<Expr **>( &Data->getChildren()[getArraysOffset(getDirectiveKind()) + getLoopsNumber()]); return {Storage, getLoopsNumber()}; }

/ Get the updates storage. MutableArrayRef<Expr *> getInits() { auto **Storage = reinterpret_cast<Expr **>( &Data->getChildren()[getArraysOffset(getDirectiveKind()) + 2 * getLoopsNumber()]); return {Storage, getLoopsNumber()}; }

/ Get the updates storage. MutableArrayRef<Expr *> getUpdates() { auto **Storage = reinterpret_cast<Expr **>( &Data->getChildren()[getArraysOffset(getDirectiveKind()) + 3 * getLoopsNumber()]); return {Storage, getLoopsNumber()}; }

/ Get the final counter updates storage. MutableArrayRef<Expr *> getFinals() { auto **Storage = reinterpret_cast<Expr **>( &Data->getChildren()[getArraysOffset(getDirectiveKind()) + 4 * getLoopsNumber()]); return {Storage, getLoopsNumber()}; }

/ Get the dependent counters storage. MutableArrayRef<Expr *> getDependentCounters() { auto **Storage = reinterpret_cast<Expr **>( &Data->getChildren()[getArraysOffset(getDirectiveKind()) + 5 * getLoopsNumber()]); return {Storage, getLoopsNumber()}; }

/ Get the dependent inits storage. MutableArrayRef<Expr *> getDependentInits() { auto **Storage = reinterpret_cast<Expr **>( &Data->getChildren()[getArraysOffset(getDirectiveKind()) + 6 * getLoopsNumber()]); return {Storage, getLoopsNumber()}; }

/ Get the finals conditions storage. MutableArrayRef<Expr *> getFinalsConditions() { auto **Storage = reinterpret_cast<Expr **>( &Data->getChildren()[getArraysOffset(getDirectiveKind()) + 7 * getLoopsNumber()]); return {Storage, getLoopsNumber()}; }

protected: / Build instance of loop directive of class Kind. / /

Parameters
SCStatement class. /
KindKind of OpenMP directive. /
StartLocStarting location of the directive (directive keyword). /
EndLocEnding location of the directive. /
CollapsedNumNumber of collapsed loops from 'collapse' clause. / OMPLoopDirective(StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum) : OMPLoopBasedDirective(SC, Kind, StartLoc, EndLoc, CollapsedNum) {}

/ Offset to the start of children expression arrays. static unsigned getArraysOffset(OpenMPDirectiveKind Kind) { if (isOpenMPLoopBoundSharingDirective(Kind)) return CombinedDistributeEnd; if (isOpenMPWorksharingDirective(Kind) || isOpenMPTaskLoopDirective(Kind) || isOpenMPGenericLoopDirective(Kind) || isOpenMPDistributeDirective(Kind)) return WorksharingEnd; return DefaultEnd; }

/ Children number. static unsigned numLoopChildren(unsigned CollapsedNum, OpenMPDirectiveKind Kind) { return getArraysOffset(Kind) + 8 * CollapsedNum; // Counters, PrivateCounters, Inits, Updates, Finals, DependentCounters, DependentInits, FinalsConditions. }

void setIterationVariable(Expr *IV) { Data->getChildren()[IterationVariableOffset] = IV; } void setLastIteration(Expr *LI) { Data->getChildren()[LastIterationOffset] = LI; } void setCalcLastIteration(Expr *CLI) { Data->getChildren()[CalcLastIterationOffset] = CLI; } void setPreCond(Expr *PC) { Data->getChildren()[PreConditionOffset] = PC; } void setCond(Expr *Cond) { Data->getChildren()[CondOffset] = Cond; } void setInit(Expr *Init) { Data->getChildren()[InitOffset] = Init; } void setInc(Expr *Inc) { Data->getChildren()[IncOffset] = Inc; } void setPreInits(Stmt *PreInits) { Data->getChildren()[PreInitsOffset] = PreInits; } void setIsLastIterVariable(Expr *IL) { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); Data->getChildren()[IsLastIterVariableOffset] = IL; } void setLowerBoundVariable(Expr *LB) { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); Data->getChildren()[LowerBoundVariableOffset] = LB; } void setUpperBoundVariable(Expr *UB) { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); Data->getChildren()[UpperBoundVariableOffset] = UB; } void setStrideVariable(Expr *ST) { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); Data->getChildren()[StrideVariableOffset] = ST; } void setEnsureUpperBound(Expr *EUB) { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); Data->getChildren()[EnsureUpperBoundOffset] = EUB; } void setNextLowerBound(Expr *NLB) { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); Data->getChildren()[NextLowerBoundOffset] = NLB; } void setNextUpperBound(Expr *NUB) { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); Data->getChildren()[NextUpperBoundOffset] = NUB; } void setNumIterations(Expr *NI) { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); Data->getChildren()[NumIterationsOffset] = NI; } void setPrevLowerBoundVariable(Expr *PrevLB) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[PrevLowerBoundVariableOffset] = PrevLB; } void setPrevUpperBoundVariable(Expr *PrevUB) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[PrevUpperBoundVariableOffset] = PrevUB; } void setDistInc(Expr *DistInc) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[DistIncOffset] = DistInc; } void setPrevEnsureUpperBound(Expr *PrevEUB) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[PrevEnsureUpperBoundOffset] = PrevEUB; } void setCombinedLowerBoundVariable(Expr *CombLB) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[CombinedLowerBoundVariableOffset] = CombLB; } void setCombinedUpperBoundVariable(Expr *CombUB) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[CombinedUpperBoundVariableOffset] = CombUB; } void setCombinedEnsureUpperBound(Expr *CombEUB) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[CombinedEnsureUpperBoundOffset] = CombEUB; } void setCombinedInit(Expr *CombInit) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[CombinedInitOffset] = CombInit; } void setCombinedCond(Expr *CombCond) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[CombinedConditionOffset] = CombCond; } void setCombinedNextLowerBound(Expr *CombNLB) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[CombinedNextLowerBoundOffset] = CombNLB; } void setCombinedNextUpperBound(Expr *CombNUB) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); Data->getChildren()[CombinedNextUpperBoundOffset] = CombNUB; } void setCombinedDistCond(Expr *CombDistCond) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound distribute sharing directive"); Data->getChildren()[CombinedDistConditionOffset] = CombDistCond; } void setCombinedParForInDistCond(Expr *CombParForInDistCond) { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound distribute sharing directive"); Data->getChildren()[CombinedParForInDistConditionOffset] = CombParForInDistCond; } void setCounters(ArrayRef<Expr *> A); void setPrivateCounters(ArrayRef<Expr *> A); void setInits(ArrayRef<Expr *> A); void setUpdates(ArrayRef<Expr *> A); void setFinals(ArrayRef<Expr *> A); void setDependentCounters(ArrayRef<Expr *> A); void setDependentInits(ArrayRef<Expr *> A); void setFinalsConditions(ArrayRef<Expr *> A);

public: Expr *getIterationVariable() const { return cast<Expr>(Data->getChildren()[IterationVariableOffset]); } Expr *getLastIteration() const { return cast<Expr>(Data->getChildren()[LastIterationOffset]); } Expr *getCalcLastIteration() const { return cast<Expr>(Data->getChildren()[CalcLastIterationOffset]); } Expr *getPreCond() const { return cast<Expr>(Data->getChildren()[PreConditionOffset]); } Expr *getCond() const { return cast<Expr>(Data->getChildren()[CondOffset]); } Expr *getInit() const { return cast<Expr>(Data->getChildren()[InitOffset]); } Expr *getInc() const { return cast<Expr>(Data->getChildren()[IncOffset]); } const Stmt *getPreInits() const { return Data->getChildren()[PreInitsOffset]; } Stmt *getPreInits() { return Data->getChildren()[PreInitsOffset]; } Expr *getIsLastIterVariable() const { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); return cast<Expr>(Data->getChildren()[IsLastIterVariableOffset]); } Expr *getLowerBoundVariable() const { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); return cast<Expr>(Data->getChildren()[LowerBoundVariableOffset]); } Expr *getUpperBoundVariable() const { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); return cast<Expr>(Data->getChildren()[UpperBoundVariableOffset]); } Expr *getStrideVariable() const { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); return cast<Expr>(Data->getChildren()[StrideVariableOffset]); } Expr *getEnsureUpperBound() const { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); return cast<Expr>(Data->getChildren()[EnsureUpperBoundOffset]); } Expr *getNextLowerBound() const { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); return cast<Expr>(Data->getChildren()[NextLowerBoundOffset]); } Expr *getNextUpperBound() const { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); return cast<Expr>(Data->getChildren()[NextUpperBoundOffset]); } Expr *getNumIterations() const { assert((isOpenMPWorksharingDirective(getDirectiveKind()) || isOpenMPGenericLoopDirective(getDirectiveKind()) || isOpenMPTaskLoopDirective(getDirectiveKind()) || isOpenMPDistributeDirective(getDirectiveKind())) && "expected worksharing loop directive"); return cast<Expr>(Data->getChildren()[NumIterationsOffset]); } Expr *getPrevLowerBoundVariable() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[PrevLowerBoundVariableOffset]); } Expr *getPrevUpperBoundVariable() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[PrevUpperBoundVariableOffset]); } Expr *getDistInc() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[DistIncOffset]); } Expr *getPrevEnsureUpperBound() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[PrevEnsureUpperBoundOffset]); } Expr *getCombinedLowerBoundVariable() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[CombinedLowerBoundVariableOffset]); } Expr *getCombinedUpperBoundVariable() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[CombinedUpperBoundVariableOffset]); } Expr *getCombinedEnsureUpperBound() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[CombinedEnsureUpperBoundOffset]); } Expr *getCombinedInit() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[CombinedInitOffset]); } Expr *getCombinedCond() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[CombinedConditionOffset]); } Expr *getCombinedNextLowerBound() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[CombinedNextLowerBoundOffset]); } Expr *getCombinedNextUpperBound() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound sharing directive"); return cast<Expr>(Data->getChildren()[CombinedNextUpperBoundOffset]); } Expr *getCombinedDistCond() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound distribute sharing directive"); return cast<Expr>(Data->getChildren()[CombinedDistConditionOffset]); } Expr *getCombinedParForInDistCond() const { assert(isOpenMPLoopBoundSharingDirective(getDirectiveKind()) && "expected loop bound distribute sharing directive"); return cast<Expr>(Data->getChildren()[CombinedParForInDistConditionOffset]); } Stmt *getBody(); const Stmt *getBody() const { return const_cast<OMPLoopDirective *>(this)->getBody(); }

ArrayRef<Expr *> counters() { return getCounters(); }

ArrayRef<Expr *> counters() const { return const_cast<OMPLoopDirective *>(this)->getCounters(); }

ArrayRef<Expr *> private_counters() { return getPrivateCounters(); }

ArrayRef<Expr *> private_counters() const { return const_cast<OMPLoopDirective *>(this)->getPrivateCounters(); }

ArrayRef<Expr *> inits() { return getInits(); }

ArrayRef<Expr *> inits() const { return const_cast<OMPLoopDirective *>(this)->getInits(); }

ArrayRef<Expr *> updates() { return getUpdates(); }

ArrayRef<Expr *> updates() const { return const_cast<OMPLoopDirective *>(this)->getUpdates(); }

ArrayRef<Expr *> finals() { return getFinals(); }

ArrayRef<Expr *> finals() const { return const_cast<OMPLoopDirective *>(this)->getFinals(); }

ArrayRef<Expr *> dependent_counters() { return getDependentCounters(); }

ArrayRef<Expr *> dependent_counters() const { return const_cast<OMPLoopDirective *>(this)->getDependentCounters(); }

ArrayRef<Expr *> dependent_inits() { return getDependentInits(); }

ArrayRef<Expr *> dependent_inits() const { return const_cast<OMPLoopDirective *>(this)->getDependentInits(); }

ArrayRef<Expr *> finals_conditions() { return getFinalsConditions(); }

ArrayRef<Expr *> finals_conditions() const { return const_cast<OMPLoopDirective *>(this)->getFinalsConditions(); }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPSimdDirectiveClass || T->getStmtClass() == OMPForDirectiveClass || T->getStmtClass() == OMPForSimdDirectiveClass || T->getStmtClass() == OMPParallelForDirectiveClass || T->getStmtClass() == OMPParallelForSimdDirectiveClass || T->getStmtClass() == OMPTaskLoopDirectiveClass || T->getStmtClass() == OMPTaskLoopSimdDirectiveClass || T->getStmtClass() == OMPMaskedTaskLoopDirectiveClass || T->getStmtClass() == OMPMaskedTaskLoopSimdDirectiveClass || T->getStmtClass() == OMPMasterTaskLoopDirectiveClass || T->getStmtClass() == OMPMasterTaskLoopSimdDirectiveClass || T->getStmtClass() == OMPGenericLoopDirectiveClass || T->getStmtClass() == OMPTeamsGenericLoopDirectiveClass || T->getStmtClass() == OMPTargetTeamsGenericLoopDirectiveClass || T->getStmtClass() == OMPParallelGenericLoopDirectiveClass || T->getStmtClass() == OMPTargetParallelGenericLoopDirectiveClass || T->getStmtClass() == OMPParallelMaskedTaskLoopDirectiveClass || T->getStmtClass() == OMPParallelMaskedTaskLoopSimdDirectiveClass || T->getStmtClass() == OMPParallelMasterTaskLoopDirectiveClass || T->getStmtClass() == OMPParallelMasterTaskLoopSimdDirectiveClass || T->getStmtClass() == OMPDistributeDirectiveClass || T->getStmtClass() == OMPTargetParallelForDirectiveClass || T->getStmtClass() == OMPDistributeParallelForDirectiveClass || T->getStmtClass() == OMPDistributeParallelForSimdDirectiveClass || T->getStmtClass() == OMPDistributeSimdDirectiveClass || T->getStmtClass() == OMPTargetParallelForSimdDirectiveClass || T->getStmtClass() == OMPTargetSimdDirectiveClass || T->getStmtClass() == OMPTeamsDistributeDirectiveClass || T->getStmtClass() == OMPTeamsDistributeSimdDirectiveClass || T->getStmtClass() == OMPTeamsDistributeParallelForSimdDirectiveClass || T->getStmtClass() == OMPTeamsDistributeParallelForDirectiveClass || T->getStmtClass() == OMPTargetTeamsDistributeParallelForDirectiveClass || T->getStmtClass() == OMPTargetTeamsDistributeParallelForSimdDirectiveClass || T->getStmtClass() == OMPTargetTeamsDistributeDirectiveClass || T->getStmtClass() == OMPTargetTeamsDistributeSimdDirectiveClass; } };

/ This represents '#pragma omp simd' directive. / /

/// #pragma omp simd private(a,b) linear(i,j:s) reduction(+:c,d)
///

/ In this example directive '#pragma omp simd' has clauses 'private' / with the variables 'a' and 'b', 'linear' with variables 'i', 'j' and / linear step 's', 'reduction' with operator '+' and variables 'c' and 'd'. / class OMPSimdDirective : public OMPLoopDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. /
CollapsedNumNumber of collapsed nested loops. / OMPSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum) : OMPLoopDirective(OMPSimdDirectiveClass, llvm::omp::OMPD_simd, StartLoc, EndLoc, CollapsedNum) {}

/ Build an empty directive. / /

Parameters
CollapsedNumNumber of collapsed nested loops. / explicit OMPSimdDirective(unsigned CollapsedNum) : OMPLoopDirective(OMPSimdDirectiveClass, llvm::omp::OMPD_simd, SourceLocation(), SourceLocation(), CollapsedNum) {}

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
CollapsedNumNumber of collapsed loops. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
ExprsHelper expressions for CodeGen. / static OMPSimdDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs);

/ Creates an empty directive with the place / for NumClauses clauses. / /

Parameters
CAST context. /
CollapsedNumNumber of collapsed nested loops. /
NumClausesNumber of clauses. / static OMPSimdDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPSimdDirectiveClass; } };

/ This represents '#pragma omp for' directive. / /

/// #pragma omp for private(a,b) reduction(+:c,d)
///

/ In this example directive '#pragma omp for' has clauses 'private' with the / variables 'a' and 'b' and 'reduction' with operator '+' and variables 'c' / and 'd'. / class OMPForDirective : public OMPLoopDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / true if current directive has inner cancel directive. bool HasCancel = false;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. /
CollapsedNumNumber of collapsed nested loops. / OMPForDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum) : OMPLoopDirective(OMPForDirectiveClass, llvm::omp::OMPD_for, StartLoc, EndLoc, CollapsedNum) {}

/ Build an empty directive. / /

Parameters
CollapsedNumNumber of collapsed nested loops. / explicit OMPForDirective(unsigned CollapsedNum) : OMPLoopDirective(OMPForDirectiveClass, llvm::omp::OMPD_for, SourceLocation(), SourceLocation(), CollapsedNum) {}

/ Sets special task reduction descriptor. void setTaskReductionRefExpr(Expr *E) { Data->getChildren()[numLoopChildren(getLoopsNumber(), llvm::omp::OMPD_for)] = E; }

/ Set cancel state. void setHasCancel(bool Has) { HasCancel = Has; }

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
CollapsedNumNumber of collapsed loops. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
ExprsHelper expressions for CodeGen. /
TaskRedRefTask reduction special reference expression to handle / taskgroup descriptor. /
HasCanceltrue if current directive has inner cancel directive. / static OMPForDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs, Expr *TaskRedRef, bool HasCancel);

/ Creates an empty directive with the place / for NumClauses clauses. / /

Parameters
CAST context. /
CollapsedNumNumber of collapsed nested loops. /
NumClausesNumber of clauses. / static OMPForDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell);

/ Returns special task reduction reference expression. Expr *getTaskReductionRefExpr() { return cast_or_null<Expr>(Data->getChildren()[numLoopChildren( getLoopsNumber(), llvm::omp::OMPD_for)]); } const Expr *getTaskReductionRefExpr() const { return const_cast<OMPForDirective *>(this)->getTaskReductionRefExpr(); }

/ Return true if current directive has inner cancel directive. bool hasCancel() const { return HasCancel; }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPForDirectiveClass; } };

/ This represents '#pragma omp for simd' directive. / /

/// #pragma omp for simd private(a,b) linear(i,j:s) reduction(+:c,d)
///

/ In this example directive '#pragma omp for simd' has clauses 'private' / with the variables 'a' and 'b', 'linear' with variables 'i', 'j' and / linear step 's', 'reduction' with operator '+' and variables 'c' and 'd'. / class OMPForSimdDirective : public OMPLoopDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. /
CollapsedNumNumber of collapsed nested loops. / OMPForSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum) : OMPLoopDirective(OMPForSimdDirectiveClass, llvm::omp::OMPD_for_simd, StartLoc, EndLoc, CollapsedNum) {}

/ Build an empty directive. / /

Parameters
CollapsedNumNumber of collapsed nested loops. / explicit OMPForSimdDirective(unsigned CollapsedNum) : OMPLoopDirective(OMPForSimdDirectiveClass, llvm::omp::OMPD_for_simd, SourceLocation(), SourceLocation(), CollapsedNum) {}

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
CollapsedNumNumber of collapsed loops. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
ExprsHelper expressions for CodeGen. / static OMPForSimdDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs);

/ Creates an empty directive with the place / for NumClauses clauses. / /

Parameters
CAST context. /
CollapsedNumNumber of collapsed nested loops. /
NumClausesNumber of clauses. / static OMPForSimdDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPForSimdDirectiveClass; } };

/ This represents '#pragma omp sections' directive. / /

/// #pragma omp sections private(a,b) reduction(+:c,d)
///

/ In this example directive '#pragma omp sections' has clauses 'private' with / the variables 'a' and 'b' and 'reduction' with operator '+' and variables / 'c' and 'd'. / class OMPSectionsDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

/ true if current directive has inner cancel directive. bool HasCancel = false;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPSectionsDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPSectionsDirectiveClass, llvm::omp::OMPD_sections, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPSectionsDirective() : OMPExecutableDirective(OMPSectionsDirectiveClass, llvm::omp::OMPD_sections, SourceLocation(), SourceLocation()) {}

/ Sets special task reduction descriptor. void setTaskReductionRefExpr(Expr *E) { Data->getChildren()[0] = E; }

/ Set cancel state. void setHasCancel(bool Has) { HasCancel = Has; }

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
TaskRedRefTask reduction special reference expression to handle / taskgroup descriptor. /
HasCanceltrue if current directive has inner directive. / static OMPSectionsDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, Expr *TaskRedRef, bool HasCancel);

/ Creates an empty directive with the place for NumClauses / clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPSectionsDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

/ Returns special task reduction reference expression. Expr *getTaskReductionRefExpr() { return cast_or_null<Expr>(Data->getChildren()[0]); } const Expr *getTaskReductionRefExpr() const { return const_cast<OMPSectionsDirective *>(this)->getTaskReductionRefExpr(); }

/ Return true if current directive has inner cancel directive. bool hasCancel() const { return HasCancel; }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPSectionsDirectiveClass; } };

/ This represents '#pragma omp section' directive. / /

/// #pragma omp section
///

/ class OMPSectionDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

/ true if current directive has inner cancel directive. bool HasCancel = false;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPSectionDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPSectionDirectiveClass, llvm::omp::OMPD_section, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPSectionDirective() : OMPExecutableDirective(OMPSectionDirectiveClass, llvm::omp::OMPD_section, SourceLocation(), SourceLocation()) {}

public: / Creates directive. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
AssociatedStmtStatement, associated with the directive. /
HasCanceltrue if current directive has inner directive. / static OMPSectionDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, Stmt *AssociatedStmt, bool HasCancel);

/ Creates an empty directive. / /

Parameters
CAST context. / static OMPSectionDirective *CreateEmpty(const ASTContext &C, EmptyShell);

/ Set cancel state. void setHasCancel(bool Has) { HasCancel = Has; }

/ Return true if current directive has inner cancel directive. bool hasCancel() const { return HasCancel; }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPSectionDirectiveClass; } };

/ This represents '#pragma omp scope' directive. /

/// #pragma omp scope private(a,b) nowait
///

/ In this example directive '#pragma omp scope' has clauses 'private' with / the variables 'a' and 'b' and nowait. / class OMPScopeDirective final : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPScopeDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPScopeDirectiveClass, llvm::omp::OMPD_scope, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPScopeDirective() : OMPExecutableDirective(OMPScopeDirectiveClass, llvm::omp::OMPD_scope, SourceLocation(), SourceLocation()) {}

public: / Creates directive. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
AssociatedStmtStatement, associated with the directive. / static OMPScopeDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);

/ Creates an empty directive. / /

Parameters
CAST context. / static OMPScopeDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPScopeDirectiveClass; } };

/ This represents '#pragma omp single' directive. / /

/// #pragma omp single private(a,b) copyprivate(c,d)
///

/ In this example directive '#pragma omp single' has clauses 'private' with / the variables 'a' and 'b' and 'copyprivate' with variables 'c' and 'd'. / class OMPSingleDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPSingleDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPSingleDirectiveClass, llvm::omp::OMPD_single, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPSingleDirective() : OMPExecutableDirective(OMPSingleDirectiveClass, llvm::omp::OMPD_single, SourceLocation(), SourceLocation()) {}

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. / static OMPSingleDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);

/ Creates an empty directive with the place for NumClauses / clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPSingleDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPSingleDirectiveClass; } };

/ This represents '#pragma omp master' directive. / /

/// #pragma omp master
///

/ class OMPMasterDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPMasterDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPMasterDirectiveClass, llvm::omp::OMPD_master, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPMasterDirective() : OMPExecutableDirective(OMPMasterDirectiveClass, llvm::omp::OMPD_master, SourceLocation(), SourceLocation()) {}

public: / Creates directive. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
AssociatedStmtStatement, associated with the directive. / static OMPMasterDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, Stmt *AssociatedStmt);

/ Creates an empty directive. / /

Parameters
CAST context. / static OMPMasterDirective *CreateEmpty(const ASTContext &C, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPMasterDirectiveClass; } };

/ This represents '#pragma omp critical' directive. / /

/// #pragma omp critical
///

/ class OMPCriticalDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Name of the directive. DeclarationNameInfo DirName; / Build directive with the given start and end location. / /

Parameters
NameName of the directive. /
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPCriticalDirective(const DeclarationNameInfo &Name, SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPCriticalDirectiveClass, llvm::omp::OMPD_critical, StartLoc, EndLoc), DirName(Name) {}

/ Build an empty directive. / explicit OMPCriticalDirective() : OMPExecutableDirective(OMPCriticalDirectiveClass, llvm::omp::OMPD_critical, SourceLocation(), SourceLocation()) {}

/ Set name of the directive. / /

Parameters
NameName of the directive. / void setDirectiveName(const DeclarationNameInfo &Name) { DirName = Name; }

public: / Creates directive. / /

Parameters
CAST context. /
NameName of the directive. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. / static OMPCriticalDirective * Create(const ASTContext &C, const DeclarationNameInfo &Name, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);

/ Creates an empty directive. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPCriticalDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

/ Return name of the directive. / DeclarationNameInfo getDirectiveName() const { return DirName; }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPCriticalDirectiveClass; } };

/ This represents '#pragma omp parallel for' directive. / /

/// #pragma omp parallel for private(a,b) reduction(+:c,d)
///

/ In this example directive '#pragma omp parallel for' has clauses 'private' / with the variables 'a' and 'b' and 'reduction' with operator '+' and / variables 'c' and 'd'. / class OMPParallelForDirective : public OMPLoopDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

/ true if current region has inner cancel directive. bool HasCancel = false;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. /
CollapsedNumNumber of collapsed nested loops. / OMPParallelForDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum) : OMPLoopDirective(OMPParallelForDirectiveClass, llvm::omp::OMPD_parallel_for, StartLoc, EndLoc, CollapsedNum) {}

/ Build an empty directive. / /

Parameters
CollapsedNumNumber of collapsed nested loops. / explicit OMPParallelForDirective(unsigned CollapsedNum) : OMPLoopDirective(OMPParallelForDirectiveClass, llvm::omp::OMPD_parallel_for, SourceLocation(), SourceLocation(), CollapsedNum) {}

/ Sets special task reduction descriptor. void setTaskReductionRefExpr(Expr *E) { Data->getChildren()[numLoopChildren(getLoopsNumber(), llvm::omp::OMPD_parallel_for)] = E; }

/ Set cancel state. void setHasCancel(bool Has) { HasCancel = Has; }

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
CollapsedNumNumber of collapsed loops. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
ExprsHelper expressions for CodeGen. /
TaskRedRefTask reduction special reference expression to handle / taskgroup descriptor. /
HasCanceltrue if current directive has inner cancel directive. / static OMPParallelForDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs, Expr *TaskRedRef, bool HasCancel);

/ Creates an empty directive with the place / for NumClauses clauses. / /

Parameters
CAST context. /
CollapsedNumNumber of collapsed nested loops. /
NumClausesNumber of clauses. / static OMPParallelForDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell);

/ Returns special task reduction reference expression. Expr *getTaskReductionRefExpr() { return cast_or_null<Expr>(Data->getChildren()[numLoopChildren( getLoopsNumber(), llvm::omp::OMPD_parallel_for)]); } const Expr *getTaskReductionRefExpr() const { return const_cast<OMPParallelForDirective *>(this) ->getTaskReductionRefExpr(); }

/ Return true if current directive has inner cancel directive. bool hasCancel() const { return HasCancel; }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPParallelForDirectiveClass; } };

/ This represents '#pragma omp parallel for simd' directive. / /

/// #pragma omp parallel for simd private(a,b) linear(i,j:s) reduction(+:c,d)
///

/ In this example directive '#pragma omp parallel for simd' has clauses / 'private' with the variables 'a' and 'b', 'linear' with variables 'i', 'j' / and linear step 's', 'reduction' with operator '+' and variables 'c' and / 'd'. / class OMPParallelForSimdDirective : public OMPLoopDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. /
CollapsedNumNumber of collapsed nested loops. / OMPParallelForSimdDirective(SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum) : OMPLoopDirective(OMPParallelForSimdDirectiveClass, llvm::omp::OMPD_parallel_for_simd, StartLoc, EndLoc, CollapsedNum) {}

/ Build an empty directive. / /

Parameters
CollapsedNumNumber of collapsed nested loops. / explicit OMPParallelForSimdDirective(unsigned CollapsedNum) : OMPLoopDirective(OMPParallelForSimdDirectiveClass, llvm::omp::OMPD_parallel_for_simd, SourceLocation(), SourceLocation(), CollapsedNum) {}

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
CollapsedNumNumber of collapsed loops. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
ExprsHelper expressions for CodeGen. / static OMPParallelForSimdDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, unsigned CollapsedNum, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, const HelperExprs &Exprs);

/ Creates an empty directive with the place / for NumClauses clauses. / /

Parameters
CAST context. /
CollapsedNumNumber of collapsed nested loops. /
NumClausesNumber of clauses. / static OMPParallelForSimdDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, unsigned CollapsedNum, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPParallelForSimdDirectiveClass; } };

/ This represents '#pragma omp parallel master' directive. / /

/// #pragma omp parallel master private(a,b)
///

/ In this example directive '#pragma omp parallel master' has clauses / 'private' with the variables 'a' and 'b' / class OMPParallelMasterDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

OMPParallelMasterDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPParallelMasterDirectiveClass, llvm::omp::OMPD_parallel_master, StartLoc, EndLoc) {}

explicit OMPParallelMasterDirective() : OMPExecutableDirective(OMPParallelMasterDirectiveClass, llvm::omp::OMPD_parallel_master, SourceLocation(), SourceLocation()) {}

/ Sets special task reduction descriptor. void setTaskReductionRefExpr(Expr *E) { Data->getChildren()[0] = E; }

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
TaskRedRefTask reduction special reference expression to handle / taskgroup descriptor. / static OMPParallelMasterDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, Expr *TaskRedRef);

/ Creates an empty directive with the place for NumClauses / clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPParallelMasterDirective * CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

/ Returns special task reduction reference expression. Expr *getTaskReductionRefExpr() { return cast_or_null<Expr>(Data->getChildren()[0]); } const Expr *getTaskReductionRefExpr() const { return const_cast<OMPParallelMasterDirective *>(this) ->getTaskReductionRefExpr(); }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPParallelMasterDirectiveClass; } };

/ This represents '#pragma omp parallel masked' directive. / /

/// #pragma omp parallel masked filter(tid)
///

/ In this example directive '#pragma omp parallel masked' has a clause / 'filter' with the variable tid / class OMPParallelMaskedDirective final : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

OMPParallelMaskedDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPParallelMaskedDirectiveClass, llvm::omp::OMPD_parallel_masked, StartLoc, EndLoc) {}

explicit OMPParallelMaskedDirective() : OMPExecutableDirective(OMPParallelMaskedDirectiveClass, llvm::omp::OMPD_parallel_masked, SourceLocation(), SourceLocation()) {}

/ Sets special task reduction descriptor. void setTaskReductionRefExpr(Expr *E) { Data->getChildren()[0] = E; }

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
TaskRedRefTask reduction special reference expression to handle / taskgroup descriptor. / static OMPParallelMaskedDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, Expr *TaskRedRef);

/ Creates an empty directive with the place for NumClauses / clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPParallelMaskedDirective * CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

/ Returns special task reduction reference expression. Expr *getTaskReductionRefExpr() { return cast_or_null<Expr>(Data->getChildren()[0]); } const Expr *getTaskReductionRefExpr() const { return const_cast<OMPParallelMaskedDirective *>(this) ->getTaskReductionRefExpr(); }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPParallelMaskedDirectiveClass; } };

/ This represents '#pragma omp parallel sections' directive. / /

/// #pragma omp parallel sections private(a,b) reduction(+:c,d)
///

/ In this example directive '#pragma omp parallel sections' has clauses / 'private' with the variables 'a' and 'b' and 'reduction' with operator '+' / and variables 'c' and 'd'. / class OMPParallelSectionsDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

/ true if current directive has inner cancel directive. bool HasCancel = false;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPParallelSectionsDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPParallelSectionsDirectiveClass, llvm::omp::OMPD_parallel_sections, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPParallelSectionsDirective() : OMPExecutableDirective(OMPParallelSectionsDirectiveClass, llvm::omp::OMPD_parallel_sections, SourceLocation(), SourceLocation()) {}

/ Sets special task reduction descriptor. void setTaskReductionRefExpr(Expr *E) { Data->getChildren()[0] = E; }

/ Set cancel state. void setHasCancel(bool Has) { HasCancel = Has; }

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
TaskRedRefTask reduction special reference expression to handle / taskgroup descriptor. /
HasCanceltrue if current directive has inner cancel directive. / static OMPParallelSectionsDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, Expr *TaskRedRef, bool HasCancel);

/ Creates an empty directive with the place for NumClauses / clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPParallelSectionsDirective * CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

/ Returns special task reduction reference expression. Expr *getTaskReductionRefExpr() { return cast_or_null<Expr>(Data->getChildren()[0]); } const Expr *getTaskReductionRefExpr() const { return const_cast<OMPParallelSectionsDirective *>(this) ->getTaskReductionRefExpr(); }

/ Return true if current directive has inner cancel directive. bool hasCancel() const { return HasCancel; }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPParallelSectionsDirectiveClass; } };

/ This represents '#pragma omp task' directive. / /

/// #pragma omp task private(a,b) final(d)
///

/ In this example directive '#pragma omp task' has clauses 'private' with the / variables 'a' and 'b' and 'final' with condition 'd'. / class OMPTaskDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / true if this directive has inner cancel directive. bool HasCancel = false;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPTaskDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPTaskDirectiveClass, llvm::omp::OMPD_task, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPTaskDirective() : OMPExecutableDirective(OMPTaskDirectiveClass, llvm::omp::OMPD_task, SourceLocation(), SourceLocation()) {}

/ Set cancel state. void setHasCancel(bool Has) { HasCancel = Has; }

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
HasCanceltrue, if current directive has inner cancel directive. / static OMPTaskDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, bool HasCancel);

/ Creates an empty directive with the place for NumClauses / clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPTaskDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

/ Return true if current directive has inner cancel directive. bool hasCancel() const { return HasCancel; }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPTaskDirectiveClass; } };

/ This represents '#pragma omp taskyield' directive. / /

/// #pragma omp taskyield
///

/ class OMPTaskyieldDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPTaskyieldDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPTaskyieldDirectiveClass, llvm::omp::OMPD_taskyield, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPTaskyieldDirective() : OMPExecutableDirective(OMPTaskyieldDirectiveClass, llvm::omp::OMPD_taskyield, SourceLocation(), SourceLocation()) {}

public: / Creates directive. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. / static OMPTaskyieldDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc);

/ Creates an empty directive. / /

Parameters
CAST context. / static OMPTaskyieldDirective *CreateEmpty(const ASTContext &C, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPTaskyieldDirectiveClass; } };

/ This represents '#pragma omp barrier' directive. / /

/// #pragma omp barrier
///

/ class OMPBarrierDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPBarrierDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPBarrierDirectiveClass, llvm::omp::OMPD_barrier, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPBarrierDirective() : OMPExecutableDirective(OMPBarrierDirectiveClass, llvm::omp::OMPD_barrier, SourceLocation(), SourceLocation()) {}

public: / Creates directive. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. / static OMPBarrierDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc);

/ Creates an empty directive. / /

Parameters
CAST context. / static OMPBarrierDirective *CreateEmpty(const ASTContext &C, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPBarrierDirectiveClass; } };

/ This represents '#pragma omp taskwait' directive. / /

/// #pragma omp taskwait
///

/ class OMPTaskwaitDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPTaskwaitDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPTaskwaitDirectiveClass, llvm::omp::OMPD_taskwait, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPTaskwaitDirective() : OMPExecutableDirective(OMPTaskwaitDirectiveClass, llvm::omp::OMPD_taskwait, SourceLocation(), SourceLocation()) {}

public: / Creates directive. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. / static OMPTaskwaitDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses);

/ Creates an empty directive. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPTaskwaitDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPTaskwaitDirectiveClass; } };

/ This represents '#pragma omp taskgroup' directive. / /

/// #pragma omp taskgroup
///

/ class OMPTaskgroupDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPTaskgroupDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPTaskgroupDirectiveClass, llvm::omp::OMPD_taskgroup, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPTaskgroupDirective() : OMPExecutableDirective(OMPTaskgroupDirectiveClass, llvm::omp::OMPD_taskgroup, SourceLocation(), SourceLocation()) {}

/ Sets the task_reduction return variable. void setReductionRef(Expr *RR) { Data->getChildren()[0] = RR; }

public: / Creates directive. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. /
ReductionRefReference to the task_reduction return variable. / static OMPTaskgroupDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt, Expr *ReductionRef);

/ Creates an empty directive. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPTaskgroupDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

/ Returns reference to the task_reduction return variable. const Expr *getReductionRef() const { return const_cast<OMPTaskgroupDirective *>(this)->getReductionRef(); } Expr *getReductionRef() { return cast_or_null<Expr>(Data->getChildren()[0]); }

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPTaskgroupDirectiveClass; } };

/ This represents '#pragma omp flush' directive. / /

/// #pragma omp flush(a,b)
///

/ In this example directive '#pragma omp flush' has 2 arguments- variables 'a' / and 'b'. / 'omp flush' directive does not have clauses but have an optional list of / variables to flush. This list of variables is stored within some fake clause / FlushClause. class OMPFlushDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPFlushDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPFlushDirectiveClass, llvm::omp::OMPD_flush, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPFlushDirective() : OMPExecutableDirective(OMPFlushDirectiveClass, llvm::omp::OMPD_flush, SourceLocation(), SourceLocation()) {}

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses (only single OMPFlushClause clause is / allowed). / static OMPFlushDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses);

/ Creates an empty directive with the place for NumClauses / clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPFlushDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPFlushDirectiveClass; } };

/ This represents '#pragma omp depobj' directive. / /

/// #pragma omp depobj(a) depend(in:x,y)
///

/ In this example directive '#pragma omp depobj' initializes a depobj object / 'a' with dependence type 'in' and a list with 'x' and 'y' locators. class OMPDepobjDirective final : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPDepobjDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPDepobjDirectiveClass, llvm::omp::OMPD_depobj, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPDepobjDirective() : OMPExecutableDirective(OMPDepobjDirectiveClass, llvm::omp::OMPD_depobj, SourceLocation(), SourceLocation()) {}

public: / Creates directive with a list of Clauses. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. / static OMPDepobjDirective *Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses);

/ Creates an empty directive with the place for NumClauses / clauses. / /

Parameters
CAST context. /
NumClausesNumber of clauses. / static OMPDepobjDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPDepobjDirectiveClass; } };

/ This represents '#pragma omp ordered' directive. / /

/// #pragma omp ordered
///

/ class OMPOrderedDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective; / Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPOrderedDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPOrderedDirectiveClass, llvm::omp::OMPD_ordered, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPOrderedDirective() : OMPExecutableDirective(OMPOrderedDirectiveClass, llvm::omp::OMPD_ordered, SourceLocation(), SourceLocation()) {}

public: / Creates directive. / /

Parameters
CAST context. /
StartLocStarting location of the directive kind. /
EndLocEnding Location of the directive. /
ClausesList of clauses. /
AssociatedStmtStatement, associated with the directive. / static OMPOrderedDirective * Create(const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef<OMPClause *> Clauses, Stmt *AssociatedStmt);

/ Creates an empty directive. / /

Parameters
CAST context. /
NumClausesNumber of clauses. /
IsStandalonetrue, if the standalone directive is created. / static OMPOrderedDirective *CreateEmpty(const ASTContext &C, unsigned NumClauses, bool IsStandalone, EmptyShell);

static bool classof(const Stmt *T) { return T->getStmtClass() == OMPOrderedDirectiveClass; } };

/ This represents '#pragma omp atomic' directive. / /

/// #pragma omp atomic capture
///

/ In this example directive '#pragma omp atomic' has clause 'capture'. / class OMPAtomicDirective : public OMPExecutableDirective { friend class ASTStmtReader; friend class OMPExecutableDirective;

struct FlagTy { / Used for 'atomic update' or 'atomic capture' constructs. They may / have atomic expressions of forms: /

/// x = x binop expr;
/// x = expr binop x;
///

/ This field is 1 for the first form of the expression and 0 for the / second. Required for correct codegen of non-associative operations (like / << or >>).

uint8_t IsXLHSInRHSPart : 1;

/ Used for 'atomic update' or 'atomic capture' constructs. They may / have atomic expressions of forms: /

/// v = x; <update x>;
/// <update x>; v = x;
///

/ This field is 1 for the first(postfix) form of the expression and 0 / otherwise.

uint8_t IsPostfixUpdate : 1;

/ 1 if 'v' is updated only when the condition is false (compare capture / only).

uint8_t IsFailOnly : 1;

} Flags;

/ Build directive with the given start and end location. / /

Parameters
StartLocStarting location of the directive kind. /
EndLocEnding location of the directive. / OMPAtomicDirective(SourceLocation StartLoc, SourceLocation EndLoc) : OMPExecutableDirective(OMPAtomicDirectiveClass, llvm::omp::OMPD_atomic, StartLoc, EndLoc) {}

/ Build an empty directive. / explicit OMPAtomicDirective() : OMPExecutableDirective(OMPAtomicDirectiveClass, llvm::omp::OMPD_atomic, SourceLocation(), SourceLocation()) {}

enum DataPositionTy : size_t { POS_X = 0, POS_V, POS_E, POS_UpdateExpr, POS_D, POS_Cond, POS_R, };

/ Set 'x' part of the associated expression/statement. void setX(Expr *X) { Data->getChildren()[DataPositionTy::POS_X] = X; } / Set helper expression of the form / 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or / 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'. void setUpdateExpr(Expr *UE) { Data->getChildren()[DataPositionTy::POS_UpdateExpr] = UE; } / Set 'v' part of the associated expression/statement. void setV(Expr *V) { Data->getChildren()[DataPositionTy::POS_V] = V; } / Set 'r' part of the associated expression/statement. void setR(Expr *R) { Data->getChildren()[DataPositionTy::POS_R] = R; } / Set 'expr' part of the associated expression/statement. void setExpr(Expr *E) { Data->getChildren()[DataPositionTy::POS_E] = E; } / Set 'd' part of the associated expression/statement. void setD(Expr *D) { Data->getChildren()[DataPositionTy::POS_D] = D; } / Set conditional expression in atomic compare. void setCond(Expr *C) { Data->getChildren()[DataPositionTy::POS_Cond] = C; }

public: struct Expressions { / 'x' part of the associated expression/statement. Expr *X = nullptr; / 'v' part of the associated expression/statement. Expr *V = nullptr; 'r' part of the associated expression/statement. Expr *R = nullptr; / 'expr' part of the associated expression/statement. Expr *E = nullptr; / UE Helper expression of the form: / 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or / 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'. Expr *UE = nullptr; / 'd' part of the associated expression/statement. Expr *D = nullptr; / Conditional expression in atomic compare construct.

Definition at line 3056 of file StmtOpenMP.h.

Referenced by clang::Sema::ActOnCondition(), clang::Sema::ActOnConditionalOp(), clang::Sema::ActOnDoStmt(), clang::Sema::ActOnIfStmt(), clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), clang::SemaOpenMP::ActOnOpenMPCanonicalLoop(), clang::SemaOpenMP::ActOnOpenMPReverseDirective(), clang::SemaOpenMP::ActOnOpenMPStripeDirective(), clang::SemaOpenMP::ActOnOpenMPTileDirective(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::ActOnWhileStmt(), AddAllConditionalTerms(), clang::ento::PathSensitiveBugReport::addTrackedCondition(), clang::OMPTraitInfo::anyScoreOrCondition(), clang::ento::ConstraintManager::assume(), clang::ento::ProgramState::assume(), clang::ento::ProgramState::assume(), clang::ento::ConstraintManager::assumeDual(), clang::ento::ConstraintManager::assumeInternal(), clang::ento::SimpleConstraintManager::assumeInternal(), clang::ento::SimpleConstraintManager::assumeSymUnsupported(), clang::CXXForRangeStmt::ASTStmtReader, clang::Sema::BuildCXXForRangeStmt(), clang::Sema::BuildIfStmt(), clang::Sema::BuildStaticAssertDeclaration(), builtinCommonTypeImpl(), checkCondition(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckCXXBooleanCondition(), checkEnumTypesInSwitchStmt(), checkFormatStringExpr(), checkFunctionConditionAttr(), checkOpenCLConditionVector(), checkOpenMPLoop(), clang::Sema::CheckSizelessVectorConditionalTypes(), clang::Sema::CheckSwitchCondition(), clang::Sema::CheckTypenameType(), clang::Sema::CheckVectorConditionalTypes(), clang::dataflow::computeBlockInputState(), computeDependence(), clang::CodeGen::CodeGenFunction::ConstantFoldsToSimpleInteger(), clang::CodeGen::CodeGenFunction::ConstantFoldsToSimpleInteger(), constructDebugPieceForTrackedCondition(), clang::IfStmt::Create(), clang::SwitchStmt::Create(), clang::WhileStmt::Create(), clang::Sema::CXXCheckConditionalOperands(), clang::CXXForRangeStmt::CXXForRangeStmt(), clang::Sema::DiagnoseStaticAssertDetails(), clang::DoStmt::DoStmt(), clang::CodeGen::CodeGenFunction::EmitBranchOnBoolExpr(), clang::CodeGen::CodeGenFunction::EmitBranchToCounterBlock(), clang::CodeGen::CodeGenFunction::EmitCaseStmtRange(), clang::CodeGen::CodeGenFunction::EmitCfiCheckFail(), clang::CodeGen::CodeGenFunction::EmitCfiSlowPathCheck(), clang::CodeGen::CodeGenFunction::EmitCheck(), clang::CodeGen::CodeGenFunction::EmitCheckedArgForBuiltin(), clang::CodeGen::CodeGenFunction::EmitCoroutineBody(), clang::CodeGen::CGOpenMPRuntime::emitIfClause(), clang::CodeGen::CodeGenFunction::EmitNonNullArgCheck(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::CodeGenFunction::EmitOMPLinearClauseFinal(), clang::CodeGen::CodeGenFunction::EmitOMPSimdFinal(), clang::CodeGen::CodeGenFunction::EmitOMPTaskBasedDirective(), emitPostUpdateForReductionClause(), emitPreCond(), clang::CodeGen::CodeGenFunction::EmitReturnValueCheck(), clang::ento::CheckerDocumentation::evalAssume(), clang::ento::retaincountchecker::RetainCountChecker::evalAssume(), EvaluateCond(), EvaluateStmt(), clang::Sema::findFailedBooleanCondition(), clang::ForStmt::ForStmt(), clang::CFGBlock::getLastCondition(), clang::CodeGen::CGOpenMPRuntime::getNumThreadsExprForTargetDirective(), handleDiagnoseIfAttr(), handleEnableIfAttr(), clang::ento::ConstraintManager::haveEqualConstraints(), instantiateDependentDiagnoseIfAttr(), instantiateDependentEnableIfAttr(), instantiateDependentFunctionAttrCondition(), clang::Sema::instantiateExplicitSpecifier(), isConditionForTerminator(), isEnableIf(), isTrivialDoWhile(), lookThroughRangesV3Condition(), clang::sema::FunctionScopeInfo::markSafeWeakUse(), clang::OMPFinalClause::OMPClauseReader, clang::OMPIfClause::OMPClauseReader, clang::OMPNocontextClause::OMPClauseReader, clang::OMPNovariantsClause::OMPClauseReader, clang::OMPFinalClause::OMPFinalClause(), clang::OMPIfClause::OMPIfClause(), clang::OMPNocontextClause::OMPNocontextClause(), clang::OMPNovariantsClause::OMPNovariantsClause(), OpenCLCheckVectorConditional(), clang::TreeTransform< AdjustConstraintDepth >::RebuildChooseExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildConditionalOperator(), clang::TreeTransform< AdjustConstraintDepth >::RebuildCXXForRangeStmt(), clang::TreeTransform< AdjustConstraintDepth >::RebuildDoStmt(), clang::TreeTransform< AdjustConstraintDepth >::RebuildForStmt(), clang::TreeTransform< AdjustConstraintDepth >::RebuildIfStmt(), clang::TreeTransform< AdjustConstraintDepth >::RebuildSwitchStmtStart(), clang::TreeTransform< AdjustConstraintDepth >::RebuildWhileStmt(), clang::ento::CheckerManager::runCheckersForEvalAssume(), clang::DoStmt::setCond(), clang::IfStmt::setCond(), clang::SwitchStmt::setCond(), clang::WhileStmt::setCond(), clang::ento::errno_modeling::setErrnoForStdFailure(), shouldTreatSuccessorsAsReachable(), clang::interp::Compiler< Emitter >::visitCXXForRangeStmt(), clang::interp::Compiler< Emitter >::visitDoStmt(), clang::interp::Compiler< Emitter >::visitForStmt(), clang::interp::Compiler< Emitter >::visitSwitchStmt(), clang::ento::ConditionBRVisitor::VisitTerminator(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ento::ConditionBRVisitor::VisitTrueTest(), and clang::interp::Compiler< Emitter >::visitWhileStmt().

◆ CudaNameVersionMap

const CudaVersionMapEntry clang::CudaNameVersionMap[]
static

Definition at line 20 of file Cuda.cpp.

Referenced by CudaStringToVersion(), CudaVersionToString(), and ToCudaVersion().

◆ DeclKindNameColor

◆ DeclNameColor

◆ DependentFeaturesList

const std::pair<StringRef, StringRef> clang::DependentFeaturesList[]
static
Initial value:
= {
{"__opencl_c_read_write_images", "__opencl_c_images"},
{"__opencl_c_3d_image_writes", "__opencl_c_images"},
{"__opencl_c_pipes", "__opencl_c_generic_address_space"},
{"__opencl_c_device_enqueue", "__opencl_c_generic_address_space"},
{"__opencl_c_device_enqueue", "__opencl_c_program_scope_global_variables"}}

Definition at line 16 of file OpenCLOptions.cpp.

Referenced by clang::OpenCLOptions::diagnoseUnsupportedFeatureDependencies().

◆ DesiredStackSize

size_t clang::DesiredStackSize = 8 << 20
constexpr

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 26 of file Stack.h.

Referenced by clang::CompilerInstance::compileModule(), isStackNearlyExhausted(), and runWithSufficientStackSpaceSlow().

◆ ErrorsColor

const TerminalColor clang::ErrorsColor = {llvm::raw_ostream::RED, true}
static

Definition at line 66 of file ASTDumperUtils.h.

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

◆ FeatureExtensionMap

const std::pair<StringRef, StringRef> clang::FeatureExtensionMap[]
static
Initial value:
= {
{"cl_khr_fp64", "__opencl_c_fp64"},
{"cl_khr_3d_image_writes", "__opencl_c_3d_image_writes"}}

Definition at line 24 of file OpenCLOptions.cpp.

Referenced by clang::OpenCLOptions::diagnoseFeatureExtensionDifferences().

◆ IndentColor

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

Definition at line 84 of file ASTDumperUtils.h.

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

◆ InitFiniPointerConstantDiscriminator

uint16_t clang::InitFiniPointerConstantDiscriminator = 0xD9D4
constexpr

Constant discriminator to be used with function pointers in .init_array and .fini_array.

The value is ptrauth_string_discriminator("init_fini")

Definition at line 32 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ IntegerLiteralSeparator

IntegerLiteralSeparatorStyle clang::IntegerLiteralSeparator

Format integer literal separators (' for C++ and _ for C#, Java, and JavaScript).

Version
16

Definition at line 3198 of file Format.h.

Referenced by operator==().

◆ InterestingIdentifierBits

int clang::InterestingIdentifierBits = 16
staticconstexpr

Definition at line 85 of file IdentifierTable.h.

Referenced by clang::IdentifierInfo::IdentifierTable.

◆ IsaPointerConstantDiscriminator

uint16_t clang::IsaPointerConstantDiscriminator = 0x6AE1
constexpr

Constant discriminator to be used with objective-c isa pointers.

The value is ptrauth_string_discriminator("isa")

Definition at line 40 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ IsFailOnly

bool clang::IsFailOnly

True if 'v' is updated only when the condition is false (compare capture only).

Definition at line 3063 of file StmtOpenMP.h.

Referenced by clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), emitOMPAtomicCompareExpr(), and emitOMPAtomicExpr().

◆ IsPostfixUpdate

bool clang::IsPostfixUpdate

True if original value of 'x' must be stored in 'v', not an updated one.

Definition at line 3060 of file StmtOpenMP.h.

Referenced by clang::SemaOpenMP::ActOnOpenMPAtomicDirective(), emitOMPAtomicCaptureExpr(), emitOMPAtomicCompareExpr(), and emitOMPAtomicExpr().

◆ IsXLHSInRHSPart

◆ JavaImportGroups

std::vector<std::string> clang::JavaImportGroups

A vector of prefixes ordered by the desired groups for Java imports.

One group's prefix can be a subset of another - the longest prefix is always matched. Within a group, the imports are ordered lexicographically. Static imports are grouped separately and follow the same group rules. By default, static imports are placed before non-static imports, but this behavior is changed by another option, SortJavaStaticImport.

In the .clang-format configuration file, this can be configured like in the following yaml example. This will result in imports being formatted as in the Java example below.

JavaImportGroups: [com.example, com, org]
import static com.example.function1;
import static com.test.function2;
import static org.example.function3;
import com.example.ClassA;
import com.example.Test;
import com.example.a.ClassB;
import com.test.ClassC;
import org.example.ClassD;
Version
8

Definition at line 3232 of file Format.h.

Referenced by operator==(), and clang::format::sortJavaImports().

◆ JavaScriptQuotes

JavaScriptQuoteStyle clang::JavaScriptQuotes

The JavaScriptQuoteStyle to use for JavaScript strings.

Version
3.9

Definition at line 3259 of file Format.h.

Referenced by operator==().

◆ JavaScriptWrapImports

bool clang::JavaScriptWrapImports

Whether to wrap JavaScript import/export statements.

true:
import {
VeryLongImportsAreAnnoying,
VeryLongImportsAreAnnoying,
VeryLongImportsAreAnnoying,
} from "some/module.js"
false:
import {VeryLongImportsAreAnnoying, VeryLongImportsAreAnnoying, VeryLongImportsAreAnnoying,} from "some/module.js"
Version
3.9

Definition at line 3275 of file Format.h.

Referenced by operator==().

◆ KeepEmptyLines

KeepEmptyLinesStyle clang::KeepEmptyLines

Which empty lines are kept. See MaxEmptyLinesToKeep for how many consecutive empty lines are kept.

Version
19

Definition at line 3312 of file Format.h.

Referenced by operator==().

◆ KeepFormFeed

bool clang::KeepFormFeed

This option is deprecated. See AtEndOfFile of KeepEmptyLines.

Version
17 This option is deprecated. See AtStartOfBlock of KeepEmptyLines.
3.7 Keep the form feed character if it's immediately preceded and followed by a newline. Multiple form feeds and newlines within a whitespace range are replaced with a single newline and form feed followed by the remaining newlines.
20

Definition at line 3328 of file Format.h.

Referenced by operator==().

◆ LambdaBodyIndentation

LambdaBodyIndentationKind clang::LambdaBodyIndentation

The indentation style of lambda bodies. Signature (the default) causes the lambda body to be indented one additional level relative to the indentation level of the signature. OuterScope forces the lambda body to be indented one additional level relative to the parent scope containing the lambda signature.

Version
13

Definition at line 3362 of file Format.h.

Referenced by operator==().

◆ Language

The language that this format style targets.

Note
You can specify the language (C, Cpp, or ObjC) for .h files by adding a // clang-format Language: line before the first non-comment (and non-empty) line, e.g. // clang-format Language: Cpp. \endnote
Version
3.5

Definition at line 3418 of file Format.h.

◆ LargestBuiltinID

◆ LineEnding

LineEndingStyle clang::LineEnding

Line ending style (\n or \r\n) to use.

Version
16

Definition at line 3434 of file Format.h.

Referenced by operator==().

◆ LocationColor

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

Definition at line 59 of file ASTDumperUtils.h.

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

◆ MacroBlockBegin

std::string clang::MacroBlockBegin

A regular expression matching macros that start a block.

# With:
MacroBlockBegin: "^NS_MAP_BEGIN|\
NS_TABLE_HEAD$"
NS_MAP_END|\
NS_TABLE_.*_END$"
NS_MAP_BEGIN
foo();
NS_MAP_END
NS_TABLE_HEAD
bar();
NS_TABLE_FOO_END
# Without:
NS_MAP_BEGIN
foo();
NS_MAP_END
NS_TABLE_HEAD
bar();
NS_TABLE_FOO_END
std::string MacroBlockBegin
A regular expression matching macros that start a block.
Definition Format.h:3463
std::string MacroBlockEnd
A regular expression matching macros that end a block.
Definition Format.h:3467
Version
3.7

Definition at line 3463 of file Format.h.

Referenced by operator==().

◆ MacroBlockEnd

std::string clang::MacroBlockEnd

A regular expression matching macros that end a block.

Version
3.7

Definition at line 3467 of file Format.h.

Referenced by operator==().

◆ Macros

std::vector<std::string> clang::Macros

A list of macros of the form <definition>=<expansion> .

Code will be parsed with macros expanded, in order to determine how to interpret and format the macro arguments.

For example, the code:

A(a*b);

will usually be interpreted as a call to a function A, and the multiplication expression will be formatted as a * b.

If we specify the macro definition:

Macros:
- A(x)=x

the code will now be parsed as a declaration of the variable b of type a*, and formatted as a* b (depending on pointer-binding rules).

Features and restrictions:

  • Both function-like macros and object-like macros are supported.
  • Macro arguments must be used exactly once in the expansion.
  • No recursive expansion; macros referencing other macros will be ignored.
  • Overloading by arity is supported: for example, given the macro definitions A=x, A()=y, A(a)=a
A; -> x;
A(); -> y;
A(z); -> z;
A(a, b); // will not be expanded.
Version
17

Definition at line 3507 of file Format.h.

Referenced by collectMacroDefinitions(), clang::CompilerInvocation::getModuleHash(), clang::format::MacroExpander::MacroExpander(), operator==(), and clang::ASTReader::ReadDefinedMacros().

◆ MacrosSkippedByRemoveParentheses

std::vector<std::string> clang::MacrosSkippedByRemoveParentheses

A vector of function-like macros whose invocations should be skipped by RemoveParentheses.

Version
21

Definition at line 3512 of file Format.h.

Referenced by operator==().

◆ MaxEmptyLinesToKeep

unsigned clang::MaxEmptyLinesToKeep

The maximum number of consecutive empty lines to keep.

int f() { int f() {
int = 1; int i = 1;
i = foo();
i = foo(); return i;
}
return i;
}
unsigned MaxEmptyLinesToKeep
The maximum number of consecutive empty lines to keep.
Definition Format.h:3526
Version
3.7

Definition at line 3526 of file Format.h.

Referenced by operator==().

◆ MethodListPointerConstantDiscriminator

uint16_t clang::MethodListPointerConstantDiscriminator = 0xC310
constexpr

Constant discriminator to be used with method list pointers.

The value is ptrauth_string_discriminator("method_list_t")

Definition at line 36 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ NamespaceIndentation

NamespaceIndentationKind clang::NamespaceIndentation

The indentation used for namespaces.

Version
3.7

Definition at line 3564 of file Format.h.

Referenced by operator==().

◆ NamespaceMacros

std::vector<std::string> clang::NamespaceMacros

A vector of macros which are used to open namespace blocks.

These are expected to be macros of the form:

NAMESPACE(<namespace-name>, ...) {
<namespace-content>
}

For example: TESTSUITE

Version
9

Definition at line 3577 of file Format.h.

Referenced by operator==().

◆ NullColor

◆ nullptr

clang::nullptr
Initial value:
{
std::uninitialized_value_construct_n(getTrailingObjects(), NumClauses)

This class represents a compute construct, representing a 'Kind' of ‘parallel’, 'serial', or 'kernel'.

These constructs are associated with a / 'structured block', defined as: / / in C or C++, an executable statement, possibly compound, with a single / entry at the top and a single exit at the bottom / / At the moment there is no real motivation to have a different AST node for / those three, as they are semantically identical, and have only minor / differences in the permitted list of clauses, which can be differentiated by / the 'Kind'. class OpenACCComputeConstruct final : public OpenACCAssociatedStmtConstruct, private llvm::TrailingObjects<OpenACCComputeConstruct, const OpenACCClause *> { friend class ASTStmtWriter; friend class ASTStmtReader; friend class ASTContext; friend TrailingObjects; OpenACCComputeConstruct(unsigned NumClauses) : OpenACCAssociatedStmtConstruct( OpenACCComputeConstructClass, OpenACCDirectiveKind::Invalid, SourceLocation{}, SourceLocation{}, SourceLocation{}, /*AssociatedStmt=

Definition at line 141 of file StmtOpenACC.h.

Referenced by clang::CodeGen::ABIArgInfo::ABIArgInfo(), clang::CIRGen::CIRGenFunction::AbstractCallee::AbstractCallee(), clang::CodeGen::CodeGenFunction::AbstractCallee::AbstractCallee(), clang::Sema::ActOnPragmaMSInitSeg(), clang::LineTableInfo::AddLineNote(), clang::CIRGen::Address::Address(), clang::CodeGen::Address::Address(), clang::CodeGen::Address::Address(), clang::CFGBlock::AdjacentBlock::AdjacentBlock(), clang::CFGBlock::AdjacentBlock::AdjacentBlock(), clang::AnyCall::AnyCall(), clang::AnyCall::AnyCall(), clang::AnyCall::AnyCall(), clang::AnyCall::AnyCall(), clang::ASTContext::ASTContext(), clang::ASTVector< Stmt * >::ASTVector(), clang::ASTVector< Stmt * >::ASTVector(), clang::AttributeCommonInfo::AttributeCommonInfo(), clang::AttributeCommonInfo::AttributeCommonInfo(), clang::CIRGen::CIRGenFunction::AutoVarEmission::AutoVarEmission(), clang::BaseUsingDecl::BaseUsingDecl(), clang::CodeGen::BlockByrefHelpers::BlockByrefHelpers(), clang::comments::BlockCommandComment::BlockCommandComment(), clang::comments::BlockCommandComment::BlockCommandComment(), clang::ento::BlockCounter::BlockCounter(), clang::hlsl::BuiltinTypeMethodBuilder::BuiltinTypeMethodBuilder(), clang::hlsl::BuiltinTypeMethodBuilder::BuiltinTypeMethodBuilder(), clang::tooling::dependencies::CachedFileContents::CachedFileContents(), clang::tooling::dependencies::CachedFileSystemEntry::CachedFileSystemEntry(), clang::CallEnter::CallEnter(), clang::CallExitBegin::CallExitBegin(), clang::CallExitEnd::CallExitEnd(), clang::CanonicalDeclPtr< decl_type >::CanonicalDeclPtr(), clang::threadSafety::CapabilityExpr::CapabilityExpr(), clang::CXXRecordDecl::captures_begin(), clang::Stmt::CastIterator< T, const T *const, const Stmt *const >::CastIterator(), clang::CFGBlock::CFGBlock(), clang::CFGMemberDtor::CFGMemberDtor(), clang::CFGTemporaryDtor::CFGTemporaryDtor(), clang::CodeGen::CGBlockInfo::CGBlockInfo(), clang::CodeGen::CGCalleeInfo::CGCalleeInfo(), clang::CodeGen::CGCalleeInfo::CGCalleeInfo(), clang::CodeGen::CodeGenFunction::CGCapturedStmtInfo::CGCapturedStmtInfo(), clang::CodeGen::CodeGenFunction::CGCapturedStmtInfo::CGCapturedStmtInfo(), clang::CodeGen::CGOpenCLRuntime::CGOpenCLRuntime(), clang::CodeGen::CGPointerAuthInfo::CGPointerAuthInfo(), clang::format::WhitespaceManager::Change::Change(), checkVAStartIsInVariadicFunction(), clang::CodeCompletionString::Chunk::Chunk(), clang::CIRGen::CIRGenCalleeInfo::CIRGenCalleeInfo(), clang::CIRGen::CIRGenCalleeInfo::CIRGenCalleeInfo(), clang::detail::CXXDeductionGuideNameExtra::clang::DeclarationNameTable, clang::detail::CXXLiteralOperatorIdName::clang::DeclarationNameTable, clang::detail::CXXSpecialNameExtra::clang::DeclarationNameTable, clang::ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(), clang::CodeGen::CodeGenPGO::CodeGenPGO(), clang::CodeGen::CodeGenTBAA::CodeGenTBAA(), clang::Sema::CodeSynthesisContext::CodeSynthesisContext(), clang::RedeclarableTemplateDecl::CommonBase::CommonBase(), clang::ParsedAttributesView::const_iterator::const_iterator(), clang::ConstantArrayType::ConstantArrayType(), clang::analyze_format_string::ConversionSpecifier::ConversionSpecifier(), clang::analyze_format_string::ConversionSpecifier::ConversionSpecifier(), clang::dataflow::copyRecord(), clang::ento::CoreEngine::CoreEngine(), clang::CodeGen::CoverageMappingGen::CoverageMappingGen(), clang::CXXCatchStmt::CXXCatchStmt(), clang::CXXRecordDecl::CXXRecordDecl(), clang::Decl::Decl(), clang::Declarator::Declarator(), clang::DeclIDIterator< FromTy, ToTy >::DeclIDIterator(), clang::DeclSpec::DeclSpec(), clang::DecompositionDeclarator::DecompositionDeclarator(), clang::interp::Descriptor::Descriptor(), clang::interp::Descriptor::Descriptor(), clang::interp::Descriptor::Descriptor(), clang::interp::Descriptor::Descriptor(), clang::Sema::diagnoseTypo(), DiagnoseVariableSizedIvars(), clang::driver::Driver::Driver(), clang::CodeGen::EHCleanupScope::EHCleanupScope(), clang::CodeGen::EHScope::EHScope(), clang::CodeGen::EHScopeStack::EHScopeStack(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::ento::EnvironmentEntry::EnvironmentEntry(), clang::lifetimes::internal::ExpiredLattice::ExpiredLattice(), clang::FieldDeclarator::FieldDeclarator(), clang::ento::ObjCSummaryCache::find(), findCapturingExpr(), findEnforceTCBAttrByName(), clang::tooling::dependencies::DependencyScanningFilesystemLocalCache::findEntryByFilename(), clang::tooling::dependencies::DependencyScanningFilesystemSharedCache::CacheShard::findEntryByFilename(), clang::tooling::dependencies::DependencyScanningFilesystemSharedCache::CacheShard::findEntryByUID(), clang::Sema::findLocallyScopedExternCDecl(), clang::tooling::dependencies::DependencyScanningFilesystemLocalCache::findRealPathByFilename(), clang::tooling::dependencies::DependencyScanningFilesystemSharedCache::CacheShard::findRealPathByFilename(), clang::FixedSizeTemplateParameterListStorage< N, HasRequiresClause >::FixedSizeTemplateParameterListStorage(), clang::format::FormatTokenLexer::FormatTokenLexer(), clang::FrontendAction::FrontendAction(), clang::Sema::FullExprArg::FullExprArg(), clang::Sema::FullExprArg::FullExprArg(), clang::Sema::getCurFunction(), clang::Sema::getCurrentModule(), GetDeclSpecTypeForDeclarator(), clang::CXXMethodDecl::getDevirtualizedMethod(), clang::Scope::getEntity(), clang::MaterializeTemporaryExpr::getExtendingDecl(), clang::ento::ExplodedNode::getFirstPred(), clang::ento::ExplodedNode::getFirstSucc(), clang::interp::Program::getFunction(), clang::ASTReader::getLoadedLookupTables(), clang::ASTReader::getLoadedSpecializationsLookupTables(), clang::Preprocessor::getLocalMacroDirectiveHistory(), clang::ASTReader::getLocalModuleFile(), clang::Preprocessor::getModuleForLocation(), clang::ASTReader::getModuleLocalLookupTables(), clang::CodeGen::CGOpenMPRuntime::getNumThreadsExprForTargetDirective(), clang::Rewriter::getRewriteBufferFor(), clang::InitListExpr::getSemanticForm(), clang::dataflow::Environment::getStorageLocation(), clang::dataflow::getTerminatorCondition(), clang::ASTReader::getTULocalLookupTables(), clang::TagDecl::getTypedefNameForAnonDecl(), clang::dataflow::Environment::getValue(), clang::VPtrInfo::getVBaseWithVPtr(), clang::CodeGen::CodeGenModule::getVTableLinkage(), clang::SemaObjC::HandleExprPropertyRefExpr(), clang::ImplicitParamDecl::ImplicitParamDecl(), clang::ImplicitParamDecl::ImplicitParamDecl(), clang::InitListExpr::InitListExpr(), clang::InitListExpr::InitListExpr(), clang::driver::InputInfo::InputInfo(), clang::driver::InputInfo::InputInfo(), clang::driver::InputInfo::InputInfo(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::Sema::InstantiatingTemplate::InstantiatingTemplate(), clang::interp::InterpFrame::InterpFrame(), clang::interp::InterpState::InterpState(), clang::Sema::IsFunctionConversion(), clang::CodeGen::EHScopeStack::iterator::iterator(), clang::LazyVector< T, Source, Loader, LoadedStorage, LocalStorage >::iterator::iterator(), clang::ParsedAttributesView::iterator::iterator(), clang::PreprocessingRecord::iterator::iterator(), ResultBuilder::ShadowMapEntry::iterator::iterator(), clang::Interpreter::JITConfig::JITConfig(), clang::CodeGen::CodeGenFunction::JumpDest::JumpDest(), clang::ModuleMap::KnownHeader::KnownHeader(), clang::analyze_format_string::LengthModifier::LengthModifier(), clang::LiveVariables::LivenessValues::LivenessValues(), clang::interp::LocalScope< Emitter >::LocalScope(), clang::LocationCheck::LocationCheck(), clang::LogDiagnosticPrinter::LogDiagnosticPrinter(), clang::Sema::LookupTemplateName(), clang::LoopControlStmt::LoopControlStmt(), clang::LoopExit::LoopExit(), clang::APValue::LValueBase::LValueBase(), clang::OMPClauseMappableExprCommon::MappableComponent::MappableComponent(), clang::ast_matchers::MatchFinder::MatchFinder(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MergeFunctionDecl(), clang::ASTContext::mergeFunctionTypes(), clang::MethodVFTableLocation::MethodVFTableLocation(), clang::ASTReader::ModuleDeclIterator::ModuleDeclIterator(), clang::ModuleLoadResult::ModuleLoadResult(), clang::syntax::Node::Node(), clang::NSAPI::NSAPI(), clang::ObjCDeclSpec::ObjCDeclSpec(), clang::ento::ObjCSummaryKey::ObjCSummaryKey(), clang::ento::ObjCSummaryKey::ObjCSummaryKey(), clang::Parser::ObjCTypeParamListScope::ObjCTypeParamListScope(), clang::CIRGen::CIRGenFunction::OpaqueValueMappingData::OpaqueValueMappingData(), clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::OpaqueValueMappingData(), clang::analyze_format_string::OptionalAmount::OptionalAmount(), clang::analyze_format_string::OptionalAmount::OptionalAmount(), clang::OverloadExpr::OverloadExpr(), clang::ParentMap::ParentMap(), clang::ParsedTemplateArgument::ParsedTemplateArgument(), clang::Parser::ParseTopLevelDecl(), clang::ParsingDeclRAIIObject::ParsingDeclRAIIObject(), clang::ParsingDeclRAIIObject::ParsingDeclRAIIObject(), clang::ento::PathDiagnosticLocation::PathDiagnosticLocation(), clang::interp::Pointer::Pointer(), clang::PostAllocatorCall::PostAllocatorCall(), clang::PostStmt::PostStmt(), clang::PostStmt::PostStmt(), clang::PostStmtPurgeDeadSymbols::PostStmtPurgeDeadSymbols(), clang::Preprocessor::Preprocessor(), clang::PreStmtPurgeDeadSymbols::PreStmtPurgeDeadSymbols(), clang::analyze_printf::PrintfConversionSpecifier::PrintfConversionSpecifier(), clang::CodeGen::RawAddress::RawAddress(), clang::CodeGen::RawAddress::RawAddress(), clang::CodeGen::RegionCodeGenTy::RegionCodeGenTy(), clang::concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement(), clang::CIRGen::RValue::RValue(), clang::CodeGen::RValue::RValue(), clang::analyze_scanf::ScanfConversionSpecifier::ScanfConversionSpecifier(), clang::format::ScopedMacroState::ScopedMacroState(), clang::ScratchBuffer::ScratchBuffer(), clang::detail::SearchDirIteratorImpl< true >::SearchDirIteratorImpl(), clang::comments::Sema::Sema(), clang::Sema::Sema(), clang::SemaObjC::SemaObjC(), clang::SemaOpenMP::SemaOpenMP(), clang::SemaOpenACC::AssociatedStmtRAII::SetCollapseInfoBeforeAssociatedStmt(), clang::ShuffleVectorExpr::ShuffleVectorExpr(), clang::threadSafety::til::SimpleArray< SExpr * >::SimpleArray(), clang::analyze_format_string::SpecifierResult< PrintfSpecifier >::SpecifierResult(), clang::StmtIteratorBase::StmtIteratorBase(), clang::StmtIteratorBase::StmtIteratorBase(), clang::StmtSequence::StmtSequence(), clang::CodeGen::CodeGenModule::Structor::Structor(), clang::SuppressAccessChecks::SuppressAccessChecks(), clang::ento::SymbolReaper::SymbolReaper(), clang::TagDecl::TagDecl(), clang::CodeGen::TBAAAccessInfo::TBAAAccessInfo(), clang::CodeGen::TBAAAccessInfo::TBAAAccessInfo(), clang::TemplateDecl::TemplateDecl(), clang::ThunkInfo::ThunkInfo(), clang::TokenValue::TokenValue(), clang::TypoCorrectionConsumer::TypoCorrectionConsumer(), clang::UnqualifiedId::UnqualifiedId(), clang::UnresolvedSetIterator::UnresolvedSetIterator(), clang::format::UnwrappedLineNode::UnwrappedLineNode(), clang::format::UnwrappedLineParser::UnwrappedLineParser(), clang::UsingShadowDecl::UsingShadowDecl(), clang::VAArgExpr::VAArgExpr(), clang::VarTemplateSpecializationDecl::VarTemplateSpecializationDecl(), clang::sema::FunctionScopeInfo::WeakObjectProfileTy::WeakObjectProfileTy(), clang::sema::FunctionScopeInfo::WeakObjectProfileTy::WeakObjectProfileTy(), clang::sema::FunctionScopeInfo::WeakObjectProfileTy::WeakObjectProfileTy(), and clang::ento::WorkListUnit::WorkListUnit().

◆ NumberOfOMPAllocateClauseModifiers

unsigned clang::NumberOfOMPAllocateClauseModifiers
staticconstexpr
Initial value:

Number of allowed allocate-modifiers.

Definition at line 254 of file OpenMPKinds.h.

◆ NumberOfOMPMapClauseModifiers

unsigned clang::NumberOfOMPMapClauseModifiers
staticconstexpr
Initial value:

Number of allowed map-type-modifiers.

Definition at line 88 of file OpenMPKinds.h.

Referenced by clang::SemaOpenMP::ActOnOpenMPMapClause(), clang::OMPMapClause::getMapTypeModifier(), and clang::OMPMapClause::getMapTypeModifierLoc().

◆ NumberOfOMPMotionModifiers

◆ NumericLiteralCase

NumericLiteralCaseStyle clang::NumericLiteralCase

Capitalization style for numeric literals.

Version
22

Definition at line 3644 of file Format.h.

Referenced by operator==().

◆ ObjCBinPackProtocolList

BinPackStyle clang::ObjCBinPackProtocolList

Controls bin-packing Objective-C protocol conformance list items into as few lines as possible when they go over ColumnLimit.

If Auto (the default), delegates to the value in BinPackParameters. If that is BinPack, bin-packs Objective-C protocol conformance list items into as few lines as possible whenever they go over ColumnLimit.

If Always, always bin-packs Objective-C protocol conformance list items into as few lines as possible whenever they go over ColumnLimit.

If Never, lays out Objective-C protocol conformance list items onto individual lines whenever they go over ColumnLimit.

Always (or Auto, if BinPackParameters==BinPack):
@interface ccccccccccccc () <
ccccccccccccc, ccccccccccccc,
ccccccccccccc, ccccccccccccc> {
}
Never (or Auto, if BinPackParameters!=BinPack):
@interface ddddddddddddd () <
ddddddddddddd,
ddddddddddddd,
ddddddddddddd,
ddddddddddddd> {
}
Version
7

Definition at line 3677 of file Format.h.

Referenced by operator==().

◆ ObjCBlockIndentWidth

unsigned clang::ObjCBlockIndentWidth

The number of characters to use for indentation of ObjC blocks.

ObjCBlockIndentWidth: 4
[operation setCompletionBlock:^{
[self onOperationDone];
}];
Version
3.7

Definition at line 3688 of file Format.h.

Referenced by operator==().

◆ ObjCBreakBeforeNestedBlockParam

bool clang::ObjCBreakBeforeNestedBlockParam

Break parameters list into lines when there is nested block parameters in a function call.

false:
- (void)_aMethod
{
[self.test1 t:self w:self callback:^(typeof(self) self, NSNumber
*u, NSNumber *v) {
u = c;
}]
}
true:
- (void)_aMethod
{
[self.test1 t:self
w:self
callback:^(typeof(self) self, NSNumber *u, NSNumber *v) {
u = c;
}]
}
Version
11

Definition at line 3712 of file Format.h.

Referenced by operator==().

◆ ObjCPropertyAttributeOrder

std::vector<std::string> clang::ObjCPropertyAttributeOrder

The order in which ObjC property attributes should appear.

Attributes in code will be sorted in the order specified. Any attributes encountered that are not mentioned in this array will be sorted last, in stable order. Comments between attributes will leave the attributes untouched.

Warning
Using this option could lead to incorrect code formatting due to clang-format's lack of complete semantic information. As such, extra care should be taken to review code changes made by this option. \endwarning
ObjCPropertyAttributeOrder: [
class, direct,
atomic, nonatomic,
assign, retain, strong, copy, weak, unsafe_unretained,
readonly, readwrite, getter, setter,
nullable, nonnull, null_resettable, null_unspecified
]
Version
18

Definition at line 3735 of file Format.h.

Referenced by operator==().

◆ ObjCSpaceAfterProperty

bool clang::ObjCSpaceAfterProperty

Add a space after @property in Objective-C, i.e. use @property (readonly) instead of @property(readonly).

Version
3.7

Definition at line 3740 of file Format.h.

Referenced by operator==().

◆ ObjCSpaceBeforeProtocolList

bool clang::ObjCSpaceBeforeProtocolList

Add a space in front of an Objective-C protocol list, i.e. use Foo <Protocol> instead of Foo<Protocol>.

Version
3.7

Definition at line 3745 of file Format.h.

Referenced by operator==().

◆ ObjectKindColor

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

Definition at line 64 of file ASTDumperUtils.h.

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

◆ OneLineFormatOffRegex

std::string clang::OneLineFormatOffRegex

A regular expression that describes markers for turning formatting off for one line. If it matches a comment that is the only token of a line, clang-format skips the comment and the next line. Otherwise, clang-format skips lines containing a matched token.

// OneLineFormatOffRegex: ^(// NOLINT|logger$)
// results in the output below:
int a;
int b ; // NOLINT
int c;
// NOLINTNEXTLINE
int d ;
int e;
s = "// NOLINT";
logger() ;
logger2();
my_logger();
__device__ __2f16 float __ockl_bool s
Version
21

Definition at line 3766 of file Format.h.

Referenced by operator==().

◆ PackConstructorInitializers

PackConstructorInitializersStyle clang::PackConstructorInitializers

The pack constructor initializers style to use.

Version
14

Definition at line 3828 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakAssignment

unsigned clang::PenaltyBreakAssignment

The penalty for breaking around an assignment operator.

Version
5

Definition at line 3832 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakBeforeFirstCallParameter

unsigned clang::PenaltyBreakBeforeFirstCallParameter

The penalty for breaking a function call after call(.

Version
3.7

Definition at line 3836 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakBeforeMemberAccess

unsigned clang::PenaltyBreakBeforeMemberAccess

The penalty for breaking before a member access operator (., ->).

Version
20

Definition at line 3840 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakComment

unsigned clang::PenaltyBreakComment

The penalty for each line break introduced inside a comment.

Version
3.7

Definition at line 3844 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakFirstLessLess

unsigned clang::PenaltyBreakFirstLessLess

The penalty for breaking before the first <<.

Version
3.7

Definition at line 3848 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakOpenParenthesis

unsigned clang::PenaltyBreakOpenParenthesis

The penalty for breaking after (.

Version
14

Definition at line 3852 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakScopeResolution

unsigned clang::PenaltyBreakScopeResolution

The penalty for breaking after ::.

Version
18

Definition at line 3856 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakString

unsigned clang::PenaltyBreakString

The penalty for each line break introduced inside a string literal.

Version
3.7

Definition at line 3860 of file Format.h.

Referenced by operator==().

◆ PenaltyBreakTemplateDeclaration

unsigned clang::PenaltyBreakTemplateDeclaration

The penalty for breaking after template declaration.

Version
7

Definition at line 3864 of file Format.h.

Referenced by operator==().

◆ PenaltyExcessCharacter

unsigned clang::PenaltyExcessCharacter

The penalty for each character outside of the column limit.

Version
3.7

Definition at line 3868 of file Format.h.

Referenced by operator==().

◆ PenaltyIndentedWhitespace

unsigned clang::PenaltyIndentedWhitespace

Penalty for each character of whitespace indentation (counted relative to leading non-whitespace column).

Version
12

Definition at line 3873 of file Format.h.

◆ PenaltyReturnTypeOnItsOwnLine

unsigned clang::PenaltyReturnTypeOnItsOwnLine

Penalty for putting the return type of a function onto its own line.

Version
3.7

Definition at line 3877 of file Format.h.

Referenced by operator==().

◆ PointerAlignment

PointerAlignmentStyle clang::PointerAlignment

Pointer and reference alignment style.

Version
3.7

Definition at line 3900 of file Format.h.

Referenced by operator==().

◆ PointerAuthKeyNone

unsigned clang::PointerAuthKeyNone = -1
constexpr

Definition at line 54 of file PointerAuthOptions.h.

Referenced by clang::PointerAuthQualifier::Create().

◆ PPIndentWidth

int clang::PPIndentWidth

The number of columns to use for indentation of preprocessor statements. When set to -1 (default) IndentWidth is used also for preprocessor statements.

#ifdef __linux__
# define FOO
#else
# define BAR
#endif
int PPIndentWidth
The number of columns to use for indentation of preprocessor statements. When set to -1 (default) Ind...
Definition Format.h:3915
Version
13

Definition at line 3915 of file Format.h.

◆ QualifierAlignment

QualifierAlignmentStyle clang::QualifierAlignment

Different ways to arrange specifiers and qualifiers (e.g. const/volatile).

Warning
Setting QualifierAlignment to something other than Leave, COULD lead to incorrect code formatting due to incorrect decisions made due to clang-formats lack of complete semantic information. As such extra care should be taken to review code changes made by the use of this option. \endwarning
Version
14

Definition at line 3961 of file Format.h.

Referenced by operator==().

◆ QualifierOrder

std::vector<std::string> clang::QualifierOrder

The order in which the qualifiers appear. The order is an array that can contain any of the following:

  • const
  • inline
  • static
  • friend
  • constexpr
  • volatile
  • restrict
  • type
Note
It must contain type. \endnote

Items to the left of type will be placed to the left of the type and aligned in the order supplied. Items to the right of type will be placed to the right of the type and aligned in the order supplied.

QualifierOrder: [inline, static, type, const, volatile]
Version
14

Definition at line 3987 of file Format.h.

Referenced by operator==().

◆ RawStringFormats

std::vector<RawStringFormat> clang::RawStringFormats

Defines hints for detecting supported languages code blocks in raw strings.

A raw string with a matching delimiter or a matching enclosing function name will be reformatted assuming the specified language based on the style for that language defined in the .clang-format file. If no style has been defined in the .clang-format file for the specific language, a predefined style given by BasedOnStyle is used. If BasedOnStyle is not found, the formatting is based on LLVM style. A matching delimiter takes precedence over a matching enclosing function name for determining the language of the raw string contents.

If a canonical delimiter is specified, occurrences of other delimiters for the same language will be updated to the canonical if possible.

There should be at most one specification per language and each delimiter and enclosing function should not occur in multiple specifications.

To configure this in the .clang-format file, use:

RawStringFormats:
- Language: TextProto
Delimiters:
- pb
- proto
EnclosingFunctions:
- PARSE_TEXT_PROTO
BasedOnStyle: google
- Language: Cpp
Delimiters:
- cc
- cpp
BasedOnStyle: LLVM
CanonicalDelimiter: cc
Version
6

Definition at line 4047 of file Format.h.

Referenced by operator==().

◆ ReferenceAlignment

ReferenceAlignmentStyle clang::ReferenceAlignment

Reference alignment style (overrides PointerAlignment for references).

Version
13

Definition at line 4072 of file Format.h.

Referenced by operator==().

◆ ReflowComments

ReflowCommentsStyle clang::ReflowComments

Comment reformatting style.

Version
3.8

Definition at line 4110 of file Format.h.

◆ RemoveBracesLLVM

bool clang::RemoveBracesLLVM

Remove optional braces of control statements (if, else, for, and while) in C++ according to the LLVM coding style.

Warning
This option will be renamed and expanded to support other styles. \endwarning
Setting this option to true could lead to incorrect code formatting due to clang-format's lack of complete semantic information. As such, extra care should be taken to review code changes made by this option. \endwarning
false: true:
if (isa<FunctionDecl>(D)) { vs. if (isa<FunctionDecl>(D))
handleFunctionDecl(D); handleFunctionDecl(D);
} else if (isa<VarDecl>(D)) { else if (isa<VarDecl>(D))
handleVarDecl(D); handleVarDecl(D);
}
if (isa<VarDecl>(D)) { vs. if (isa<VarDecl>(D)) {
for (auto *A : D.attrs()) { for (auto *A : D.attrs())
if (shouldProcessAttr(A)) { if (shouldProcessAttr(A))
handleAttr(A); handleAttr(A);
} }
}
}
if (isa<FunctionDecl>(D)) { vs. if (isa<FunctionDecl>(D))
for (auto *A : D.attrs()) { for (auto *A : D.attrs())
handleAttr(A); handleAttr(A);
}
}
if (auto *D = (T)(D)) { vs. if (auto *D = (T)(D)) {
if (shouldProcess(D)) { if (shouldProcess(D))
handleVarDecl(D); handleVarDecl(D);
} else { else
markAsIgnored(D); markAsIgnored(D);
} }
}
if (a) { vs. if (a)
b(); b();
} else { else if (c)
if (c) { d();
d(); else
} else { e();
e();
}
}
bool isa(CodeGen::Address addr)
Definition Address.h:330
Version
14

Definition at line 4164 of file Format.h.

Referenced by operator==().

◆ RemoveEmptyLinesInUnwrappedLines

bool clang::RemoveEmptyLinesInUnwrappedLines

Remove empty lines within unwrapped lines.

false: true:
int c vs. int c = a + b;
= a + b;
enum : unsigned vs. enum : unsigned {
AA = 0,
{ BB
AA = 0, } myEnum;
BB
} myEnum;
while ( vs. while (true) {
}
true) {
}
Version
20

Definition at line 4187 of file Format.h.

Referenced by operator==().

◆ RemoveParentheses

RemoveParenthesesStyle clang::RemoveParentheses

Remove redundant parentheses.

Warning
Setting this option to any value other than Leave could lead to incorrect code formatting due to clang-format's lack of complete semantic information. As such, extra care should be taken to review code changes made by this option. \endwarning
Version
17

Definition at line 4223 of file Format.h.

Referenced by operator==().

◆ RemoveSemicolon

bool clang::RemoveSemicolon

Remove semicolons after the closing braces of functions and constructors/destructors.

Warning
Setting this option to true could lead to incorrect code formatting due to clang-format's lack of complete semantic information. As such, extra care should be taken to review code changes made by this option. \endwarning
false: true:
int max(int a, int b) { int max(int a, int b) {
return a > b ? a : b; return a > b ? a : b;
}; }
__DEVICE__ int max(int __a, int __b)
Version
16

Definition at line 4241 of file Format.h.

Referenced by operator==().

◆ RequiresClausePosition

RequiresClausePositionStyle clang::RequiresClausePosition

The position of the requires clause.

Version
15

Definition at line 4344 of file Format.h.

Referenced by operator==().

◆ RequiresExpressionIndentation

RequiresExpressionIndentationKind clang::RequiresExpressionIndentation

The indentation used for requires expression bodies.

Version
16

Definition at line 4370 of file Format.h.

Referenced by operator==().

◆ Runtimes

const char* const clang::Runtimes
Initial value:
= R"(
#define __CLANG_REPL__ 1
#ifdef __cplusplus
#define EXTERN_C extern "C"
struct __clang_Interpreter_NewTag{} __ci_newtag;
void* operator new(__SIZE_TYPE__, void* __p, __clang_Interpreter_NewTag) noexcept;
template <class T, class = T (*)() /*disable for arrays*/>
void __clang_Interpreter_SetValueCopyArr(const T* Src, void* Placement, unsigned long Size) {
for (auto Idx = 0; Idx < Size; ++Idx)
new ((void*)(((T*)Placement) + Idx), __ci_newtag) T(Src[Idx]);
}
template <class T, unsigned long N>
void __clang_Interpreter_SetValueCopyArr(const T (*Src)[N], void* Placement, unsigned long Size) {
__clang_Interpreter_SetValueCopyArr(Src[0], Placement, Size);
}
#else
#define EXTERN_C extern
EXTERN_C void *memcpy(void *restrict dst, const void *restrict src, __SIZE_TYPE__ n);
EXTERN_C inline void __clang_Interpreter_SetValueCopyArr(const void* Src, void* Placement, unsigned long Size) {
memcpy(Placement, Src, Size);
}
#endif // __cplusplus
EXTERN_C void *__clang_Interpreter_SetValueWithAlloc(void*, void*, void*);
EXTERN_C void __clang_Interpreter_SetValueNoAlloc(void *This, void *OutVal, void *OpaqueType, ...);
)"

Definition at line 327 of file Interpreter.cpp.

Referenced by clang::Interpreter::create().

◆ SelPointerConstantDiscriminator

uint16_t clang::SelPointerConstantDiscriminator = 0x57c2
constexpr

Constant discriminator to be used with objective-c sel pointers.

The value is ptrauth_string_discriminator("sel")

Definition at line 48 of file PointerAuthOptions.h.

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

◆ SeparateDefinitionBlocks

SeparateDefinitionStyle clang::SeparateDefinitionBlocks

Specifies the use of empty lines to separate definition blocks, including classes, structs, enums, and functions.

#include <cstring> #include <cstring>
struct Foo {
int a, b, c; struct Foo {
}; int a, b, c;
namespace Ns { };
class Bar {
public: namespace Ns {
struct Foobar { class Bar {
int a; public:
int b; struct Foobar {
}; int a;
private: int b;
int t; };
int method1() {
// ... private:
} int t;
enum List {
ITEM1, int method1() {
ITEM2 // ...
}; }
template<typename T>
int method2(T x) { enum List {
// ... ITEM1,
} ITEM2
int i, j, k; };
int method3(int par) {
// ... template<typename T>
} int method2(T x) {
}; // ...
class C {}; }
}
int i, j, k;
int method3(int par) {
// ...
}
};
class C {};
}
Version
14

Definition at line 4428 of file Format.h.

Referenced by operator==().

◆ ShortNamespaceLines

unsigned clang::ShortNamespaceLines

The maximal number of unwrapped lines that a short namespace spans. Defaults to 1.

This determines the maximum length of short namespaces by counting unwrapped lines (i.e. containing neither opening nor closing namespace brace) and makes FixNamespaceComments omit adding end comments for those.

namespace a { namespace a {
int foo; int foo;
} } // namespace a
namespace b { namespace b {
int foo; int foo;
int bar; int bar;
} // namespace b } // namespace b
unsigned ShortNamespaceLines
The maximal number of unwrapped lines that a short namespace spans. Defaults to 1.
Definition Format.h:4450
Version
13

Definition at line 4450 of file Format.h.

Referenced by operator==().

◆ SkipMacroDefinitionBody

bool clang::SkipMacroDefinitionBody

Do not format macro definition body.

Version
18

Definition at line 4454 of file Format.h.

Referenced by operator==().

◆ SortIncludes

SortIncludesOptions clang::SortIncludes

Controls if and how clang-format will sort #includes.

Version
3.8

Definition at line 4493 of file Format.h.

Referenced by clang::format::formatReplacements(), and operator==().

◆ SortJavaStaticImport

SortJavaStaticImportOptions clang::SortJavaStaticImport

When sorting Java imports, by default static imports are placed before non-static imports. If JavaStaticImportAfterImport is After, static imports are placed after non-static imports.

Version
12

Definition at line 4517 of file Format.h.

Referenced by operator==().

◆ SortUsingDeclarations

SortUsingDeclarationsOptions clang::SortUsingDeclarations

Controls if and how clang-format will sort using declarations.

Version
5

Definition at line 4561 of file Format.h.

◆ SpaceAfterCStyleCast

bool clang::SpaceAfterCStyleCast

If true, a space is inserted after C style casts.

true: false:
(int) i; vs. (int)i;
Version
3.5

Definition at line 4569 of file Format.h.

Referenced by operator==().

◆ SpaceAfterLogicalNot

bool clang::SpaceAfterLogicalNot

If true, a space is inserted after the logical not operator (!).

true: false:
! someExpression(); vs. !someExpression();
Version
9

Definition at line 4577 of file Format.h.

Referenced by operator==().

◆ SpaceAfterOperatorKeyword

bool clang::SpaceAfterOperatorKeyword

If true, a space will be inserted after the operator keyword.

true: false:
bool operator ==(int a); vs. bool operator==(int a);
bool operator==(const CallGraphNode::CallRecord &LHS, const CallGraphNode::CallRecord &RHS)
Definition CallGraph.h:204
Version
21

Definition at line 4585 of file Format.h.

Referenced by operator==().

◆ SpaceAfterTemplateKeyword

bool clang::SpaceAfterTemplateKeyword

If true, a space will be inserted after the template keyword.

true: false:
template <int> void foo(); vs. template<int> void foo();
Version
4

Definition at line 4593 of file Format.h.

Referenced by operator==().

◆ SpaceAroundPointerQualifiers

SpaceAroundPointerQualifiersStyle clang::SpaceAroundPointerQualifiers

Defines in which cases to put a space before or after pointer qualifiers.

Version
12

Definition at line 4626 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeAssignmentOperators

bool clang::SpaceBeforeAssignmentOperators

If false, spaces will be removed before assignment operators.

true: false:
int a = 5; vs. int a= 5;
a += 42; a+= 42;
Version
3.7

Definition at line 4635 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeCaseColon

bool clang::SpaceBeforeCaseColon

If false, spaces will be removed before case colon.

true: false
switch (x) { vs. switch (x) {
case 1 : break; case 1: break;
} }
Version
12

Definition at line 4645 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeCpp11BracedList

bool clang::SpaceBeforeCpp11BracedList

If true, a space will be inserted before a C++11 braced list used to initialize an object (after the preceding identifier or type).

true: false:
Foo foo { bar }; vs. Foo foo{ bar };
Foo {}; Foo{};
vector<int> { 1, 2, 3 }; vector<int>{ 1, 2, 3 };
new int[3] { 1, 2, 3 }; new int[3]{ 1, 2, 3 };
Version
7

Definition at line 4657 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeCtorInitializerColon

bool clang::SpaceBeforeCtorInitializerColon

If false, spaces will be removed before constructor initializer colon.

true: false:
Foo::Foo() : a(a) {} Foo::Foo(): a(a) {}
Version
7

Definition at line 4666 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeInheritanceColon

bool clang::SpaceBeforeInheritanceColon

If false, spaces will be removed before inheritance colon.

true: false:
class Foo : Bar {} vs. class Foo: Bar {}
Version
7

Definition at line 4674 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeJsonColon

bool clang::SpaceBeforeJsonColon

If true, a space will be added before a JSON colon. For other languages, e.g. JavaScript, use SpacesInContainerLiterals instead.

true: false:
{ {
"key" : "value" vs. "key": "value"
} }
Version
17

Definition at line 4685 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeParens

SpaceBeforeParensStyle clang::SpaceBeforeParens

Defines in which cases to put a space before opening parentheses.

Version
3.5

Definition at line 4746 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeParensOptions

SpaceBeforeParensCustom clang::SpaceBeforeParensOptions

Control of individual space before parentheses.

If SpaceBeforeParens is set to Custom, use this to specify how each individual space before parentheses case should be handled. Otherwise, this is ignored.

# Example of usage:
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterFunctionDefinitionName: true
Version
14

Definition at line 4880 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeRangeBasedForLoopColon

bool clang::SpaceBeforeRangeBasedForLoopColon

If false, spaces will be removed before range-based for loop colon.

true: false:
for (auto v : values) {} vs. for(auto v: values) {}
Version
7

Definition at line 4899 of file Format.h.

Referenced by operator==().

◆ SpaceBeforeSquareBrackets

bool clang::SpaceBeforeSquareBrackets

If true, spaces will be before [. Lambdas will not be affected. Only the first [ will get a space added.

true: false:
int a [5]; vs. int a[5];
int a [5][5]; vs. int a[5][5];
Version
10

Definition at line 4890 of file Format.h.

Referenced by operator==().

◆ SpaceInEmptyBraces

SpaceInEmptyBracesStyle clang::SpaceInEmptyBraces

Specifies when to insert a space in empty braces.

Note
This option doesn't apply to initializer braces if Cpp11BracedListStyle is set to true. \endnote
Version
22

Definition at line 4939 of file Format.h.

Referenced by operator==().

◆ SpacesBeforeTrailingComments

unsigned clang::SpacesBeforeTrailingComments

If true, spaces may be inserted into (). This option is deprecated. See InEmptyParentheses of SpacesInParensOptions.

Version
3.7 The number of spaces before trailing line comments (// - comments).

This does not affect trailing block comments (/* - comments) as those commonly have different usage patterns and a number of special cases. In the case of Verilog, it doesn't affect a comment right after the opening parenthesis in the port or parameter list in a module header, because it is probably for the port on the following line instead of the parenthesis it follows.

void f() {
if (true) { // foo1
f(); // bar
} // foo
}
unsigned SpacesBeforeTrailingComments
If true, spaces may be inserted into (). This option is deprecated. See InEmptyParentheses of SpacesI...
Definition Format.h:4965
Version
3.7

Definition at line 4965 of file Format.h.

Referenced by operator==().

◆ SpacesInAngles

SpacesInAnglesStyle clang::SpacesInAngles

The SpacesInAnglesStyle to use for template argument lists.

Version
3.4

Definition at line 4988 of file Format.h.

Referenced by operator==().

◆ SpacesInContainerLiterals

bool clang::SpacesInContainerLiterals

If true, spaces will be inserted around if/for/switch/while conditions. This option is deprecated. See InConditionalStatements of SpacesInParensOptions.

Version
10 If true, spaces are inserted inside container literals (e.g. ObjC and Javascript array and dict literals). For JSON, use SpaceBeforeJsonColon instead.
true: false:
var arr = [ 1, 2, 3 ]; vs. var arr = [1, 2, 3];
f({a : 1, b : 2, c : 3}); f({a: 1, b: 2, c: 3});
3.7

Definition at line 5006 of file Format.h.

Referenced by operator==().

◆ SpacesInLineCommentPrefix

SpacesInLineComment clang::SpacesInLineCommentPrefix

How many spaces are allowed at the start of a line comment. To disable the maximum set it to -1, apart from that the maximum takes precedence over the minimum.

Minimum = 1
Maximum = -1
// One space is forced
// but more spaces are possible
Minimum = 0
Maximum = 0
//Forces to start every comment directly after the slashes

Note that in line comment sections the relative indent of the subsequent lines is kept, that means the following:

before: after:
Minimum: 1
//if (b) { // if (b) {
// return true; // return true;
//} // }
Maximum: 0
/// List: ///List:
/// - Foo /// - Foo
/// - Bar /// - Bar

This option has only effect if ReflowComments is set to true.

Version
13

Definition at line 5054 of file Format.h.

Referenced by operator==().

◆ SpacesInParens

SpacesInParensStyle clang::SpacesInParens

If true, spaces will be inserted after ( and before ). This option is deprecated. The previous behavior is preserved by using SpacesInParens with Custom and by setting all SpacesInParensOptions to true except for InCStyleCasts and InEmptyParentheses.

Version
3.7 Defines in which cases spaces will be inserted after ( and before ).
17

Definition at line 5083 of file Format.h.

Referenced by operator==().

◆ SpacesInParensOptions

SpacesInParensCustom clang::SpacesInParensOptions

Control of individual spaces in parentheses.

If SpacesInParens is set to Custom, use this to specify how each individual space in parentheses case should be handled. Otherwise, this is ignored.

# Example of usage:
SpacesInParens: Custom
SpacesInParensOptions:
ExceptDoubleParentheses: false
InConditionalStatements: true
InEmptyParentheses: true
Version
17

Definition at line 5176 of file Format.h.

Referenced by operator==().

◆ SpacesInSquareBrackets

bool clang::SpacesInSquareBrackets

If true, spaces will be inserted after [ and before ]. Lambdas without arguments or unspecified size array declarations will not be affected.

true: false:
int a[ 5 ]; vs. int a[5];
std::unique_ptr<int[]> foo() {} // Won't be affected
Version
3.7

Definition at line 5187 of file Format.h.

Referenced by operator==().

◆ Standard

LanguageStandard clang::Standard

Parse and format C++ constructs compatible with this standard.

c++03: latest:
vector<set<int> > x; vs. vector<set<int>> x;
Version
3.7

Definition at line 5222 of file Format.h.

Referenced by operator==().

◆ StatementAttributeLikeMacros

std::vector<std::string> clang::StatementAttributeLikeMacros

Macros which are ignored in front of a statement, as if they were an attribute. So that they are not parsed as identifier, for example for Qts emit.

AlignConsecutiveDeclarations: true
unsigned char data = 'x';
emit signal(data); // This is parsed as variable declaration.
AlignConsecutiveDeclarations: true
unsigned char data = 'x';
emit signal(data); // Now it's fine again.
static void emit(Program &P, llvm::SmallVectorImpl< std::byte > &Code, const T &Val, bool &Success)
Helper to write bytecode and bail out if 32-bit offsets become invalid.
std::vector< std::string > StatementAttributeLikeMacros
Macros which are ignored in front of a statement, as if they were an attribute. So that they are not ...
Definition Format.h:5239
Version
12

Definition at line 5239 of file Format.h.

Referenced by operator==().

◆ StatementMacros

std::vector<std::string> clang::StatementMacros

A vector of macros that should be interpreted as complete statements.

Typical macros are expressions and require a semicolon to be added. Sometimes this is not the case, and this allows to make clang-format aware of such cases.

For example: Q_UNUSED

Version
8

Definition at line 5249 of file Format.h.

Referenced by operator==().

◆ StdTypeInfoVTablePointerConstantDiscrimination

uint16_t clang::StdTypeInfoVTablePointerConstantDiscrimination = 0xB1EA
constexpr

Constant discriminator for std::type_info vtable pointers: 0xB1EA/45546 The value is ptrauth_string_discriminator("_ZTVSt9type_info"), i.e., the vtable type discriminator for classes derived from std::type_info.

Definition at line 59 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ StmtColor

◆ SuperPointerConstantDiscriminator

uint16_t clang::SuperPointerConstantDiscriminator = 0xB5AB
constexpr

Constant discriminator to be used with objective-c superclass pointers.

The value is ptrauth_string_discriminator("objc_class:superclass")

Definition at line 44 of file PointerAuthOptions.h.

Referenced by clang::CompilerInvocation::setDefaultPointerAuthOptions().

◆ T

const auto * clang::T = TL.getTypePtr()

Definition at line 1414 of file RecursiveASTVisitor.h.

Referenced by clang::AbstractConditionalOperator::AbstractConditionalOperator(), clang::hlsl::BuiltinTypeMethodBuilder::accessHandleFieldOnResource(), clang::ento::SymbolManager::acquire(), clang::Sema::ActOnArrayTypeTrait(), clang::Sema::ActOnBlockArguments(), clang::SemaObjC::ActOnClassPropertyRefExpr(), clang::SemaObjC::ActOnCompatibilityAlias(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::ActOnCXXNestedNameSpecifierDecltype(), clang::Sema::ActOnCXXParenListInitExpr(), clang::Sema::ActOnCXXTryBlock(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnCXXUuidof(), clang::Sema::ActOnDuplicateODRHashDefinition(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnExplicitInstantiation(), clang::Sema::ActOnFields(), clang::Sema::ActOnFriendTypeDecl(), clang::SemaOpenACC::ActOnIntExpr(), clang::SemaObjC::ActOnIvar(), clang::Sema::ActOnMSVCUnknownTypeName(), clang::Sema::ActOnNonTypeTemplateParameter(), clang::SemaObjC::ActOnObjCBridgedCast(), clang::SemaObjC::ActOnObjCInstanceType(), clang::SemaObjC::actOnObjCTypeArgsAndProtocolQualifiers(), clang::SemaOpenMP::ActOnOpenMPDeclareMapperVarDecl(), clang::Sema::ActOnPragmaVisibility(), clang::SemaObjC::ActOnProperty(), clang::SemaObjC::ActOnPropertyImplDecl(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnPseudoDestructorExpr(), clang::SemaObjC::ActOnSuperClassOfClassInterface(), clang::Sema::ActOnTag(), clang::Sema::ActOnTemplatedFriendTag(), clang::Sema::ActOnTemplateTemplateArgument(), clang::Sema::ActOnTemplateTypeArgument(), clang::SemaObjC::ActOnTypedefedProtocols(), clang::Sema::ActOnTypeName(), clang::Sema::ActOnTypenameType(), clang::Sema::ActOnTypenameType(), clang::Sema::ActOnTypeRequirement(), clang::Sema::ActOnTypeTrait(), clang::interp::Add(), clang::ento::ProgramState::add(), clang::ento::ProgramStateManager::add(), addAArch64VectorName(), clang::Sema::AddAlignValueAttr(), clang::InitializationSequence::AddArrayInitLoopStep(), clang::InitializationSequence::AddArrayInitStep(), addAssociatedClassesAndNamespaces(), AddBuiltinAssignmentOperatorCandidates(), clang::InitializationSequence::AddCAssignmentStep(), AddClassMessageCompletions(), clang::InitializationSequence::AddConstructorInitializationStep(), clang::InitializationSequence::AddConversionSequenceStep(), clang::data_collection::addDataToConsumer(), clang::data_collection::addDataToConsumer(), clang::data_collection::addDataToConsumer(), clang::ASTContext::addDestruction(), clang::InitializationSequence::AddExtraneousCopyToTemporary(), clang::InitializationSequence::AddFinalCopy(), addFlexibleArrayMemberInitSize(), clang::Sema::addImplicitTypedef(), clang::InitializationSequence::AddListInitializationStep(), clang::tooling::ASTMatchRefactorer::addMatcher(), clang::InitializationSequence::AddObjCObjectConversionStep(), clang::InitializationSequence::AddOCLSamplerInitStep(), clang::InitializationSequence::AddOCLZeroOpaqueTypeStep(), clang::interp::AddOffset(), clang::InitializationSequence::AddParenthesizedArrayInitStep(), clang::InitializationSequence::AddParenthesizedListInitStep(), clang::ento::taint::addPartialTaint(), addPGOAndCoverageFlags(), clang::InitializationSequence::AddProduceObjCObjectStep(), clang::ODRHash::AddQualType(), clang::InitializationSequence::AddReferenceBindingStep(), AddResultTypeChunk(), clang::CodeGen::CGHLSLRuntime::addRootSignature(), clang::driver::tools::AddRunTimeLibs(), clang::driver::tools::AddStaticDeviceLibs(), clang::driver::tools::AddStaticDeviceLibsLinking(), clang::InitializationSequence::AddStdInitializerListConstructionStep(), clang::InitializationSequence::AddStringInitStep(), clang::interp::AddSubMulHelper(), clang::ASTWriter::AddToken(), clang::ODRHash::AddType(), clang::ASTRecordWriter::AddTypeRef(), clang::ASTWriter::AddTypeRef(), clang::InitializationSequence::AddUserConversionStep(), clang::CodeGen::CodeGenModule::AddVTableTypeMetadata(), clang::InitializationSequence::AddZeroInitializationStep(), AdjustAddressSpaceForBuiltinOperandType(), clang::TemplateDeclInstantiator::adjustForRewrite(), clang::ASTContext::adjustFunctionType(), clang::Sema::adjustMemberFunctionCC(), clang::SemaObjC::AdjustParameterTypeForObjCAutoRefCount(), AdoptQualifiers(), AlignOfType(), clang::interp::InterpState::allocAP(), clang::ASTContext::Allocate(), clang::interp::Program::Allocate(), clang::interp::DynamicAllocator::allocate(), clang::interp::InterpState::allocate(), AllocatesMemory(), clang::threadSafety::til::MemRegionRef::allocateT(), clang::threadSafety::til::MemRegionRef::allocateT(), clang::interp::AllocN(), allowAmbiguity(), clang::TreeTransform< AdjustConstraintDepth >::AlreadyTransformed(), AnalyzeComparison(), AnalyzeImplicitConversions(), clang::ASTVector< Stmt * >::append(), clang::syntax::FactoryImpl::appendChildLowLevel(), appendDiagnostics(), AppendPlatformPrefix(), clang::QualifierCollector::apply(), clang::SemaARM::areCompatibleSveTypes(), llvm::areDenseMapKeysEqualSpecialValues(), clang::SemaARM::areLaxCompatibleSveTypes(), ARMMVEConstantSplat(), clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(), clang::interp::ArrayElem(), clang::interp::ArrayElemPop(), clang::interp::ArrayElemPtr(), clang::interp::ArrayElemPtrPop(), clang::ArrayInitIndexExpr::ArrayInitIndexExpr(), clang::ArrayInitLoopExpr::ArrayInitLoopExpr(), clang::ento::StoreManager::ArrayToPointer(), clang::Value::as(), asanUseGlobalsGC(), assert_cast(), assert_cast(), clang::syntax::Node::assertInvariants(), clang::interp::assignInteger(), clang::ento::SimpleConstraintManager::assumeInternal(), clang::ento::iterator::assumeNoOverflow(), clang::ento::RangedConstraintManager::assumeSymUnsupported(), clang::BindingDecl::ASTDeclReader, clang::IndirectFieldDecl::ASTDeclReader, clang::MSPropertyDecl::ASTDeclReader, clang::CXXConversionDecl::ASTDeclWriter, clang::CXXDeductionGuideDecl::ASTDeclWriter, clang::CXXDestructorDecl::ASTDeclWriter, clang::FieldDecl::ASTDeclWriter, clang::ObjCMethodDecl::ASTDeclWriter, clang::VarTemplatePartialSpecializationDecl::ASTDeclWriter, clang::CXXUnresolvedConstructExpr::ASTStmtReader, clang::FunctionParmPackExpr::ASTStmtReader, clang::CXXParenListInitExpr::ASTStmtWriter, clang::MaterializeTemporaryExpr::ASTStmtWriter, clang::ASTContext::AtomicUsesUnsupportedLibcall(), attributeHasIdentifierArg(), attributeStringLiteralListArg(), attrNonNullArgCheck(), clang::threadSafety::til::SimpleArray< SExpr * >::back(), clang::threadSafety::til::SimpleArray< SExpr * >::back(), BadSpecifier(), clang::threadSafety::til::BasicBlock::BasicBlock(), BCP(), clang::interp::BitAnd(), clang::interp::BitCastPrim(), clang::interp::BitOr(), clang::interp::BitXor(), clang::Sema::BoundsSafetyCheckUseOfCountAttrPtr(), clang::threadSafety::til::Branch::Branch(), clang::threadSafety::til::Branch::Branch(), clang::Sema::BuildAddressSpaceAttr(), clang::Sema::BuildAddressSpaceAttr(), clang::Sema::BuildArrayType(), clang::Sema::BuildArrayTypeTrait(), clang::Sema::BuildAtomicType(), clang::Sema::BuildBlockPointerType(), buildByrefHelpers(), clang::CodeGen::CGObjCRuntime::BuildByrefLayout(), clang::driver::Driver::BuildCompilation(), BuildConvertedConstantExpression(), clang::Sema::BuildConvertedConstantExpression(), clang::Sema::buildCoroutinePromise(), clang::Sema::BuildCXXNestedNameSpecifier(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXThrow(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildExceptionDeclaration(), BuildExpressionFromIntegralTemplateArgumentValue(), BuildExpressionFromNonTypeTemplateArgumentValue(), clang::Sema::BuildExtVectorType(), BuildFlattenedTypeList(), clang::Sema::BuildFunctionType(), clang::ASTContext::buildImplicitTypedef(), clang::Sema::BuildMemberPointerType(), buildMemcpyForAssignmentOp(), clang::SemaObjC::BuildObjCArrayLiteral(), clang::SemaObjC::BuildObjCBridgedCast(), clang::SemaObjC::BuildObjCExceptionDecl(), clang::Sema::BuildParenType(), clang::Sema::BuildParmVarDeclForTypedef(), clang::Sema::BuildPointerType(), clang::Sema::BuildQualifiedType(), clang::Sema::BuildQualifiedType(), clang::Sema::BuildReadPipeType(), clang::Sema::BuildReferenceType(), buildSingleCopyAssign(), buildSingleCopyAssignRecursively(), clang::Sema::BuildTypeofExprType(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildWritePipeType(), clang::BuiltinBitCastExpr::BuiltinBitCastExpr(), builtinCommonTypeImpl(), clang::Sema::BuiltinRemoveReference(), BuiltinTriviallyRelocate(), clang::SemaWasm::BuiltinWasmTestFunctionPointerSignature(), bytes(), bytes(), calculateLegacyCbufferFieldAlign(), calculateLegacyCbufferSize(), clang::threadSafety::til::Call::Call(), clang::threadSafety::til::Call::Call(), clang::ento::CallEventRef< T >::CallEventRef(), clang::ento::CallEventRef< T >::CallEventRef(), clang::Sema::canCalleeThrow(), canCaptureVariableByCopy(), clang::interp::Compiler< Emitter >::canClassify(), clang::interp::Context::canClassify(), clang::ento::SymbolManager::canSymbolicate(), clang::threadSafety::CapabilityExpr::CapabilityExpr(), clang::Sema::CaptureHasSideEffects(), captureVariablyModifiedType(), clang::interp::Cast(), clang::Value::convertFwd< T >::cast(), clang::Value::convertFwd< T * >::cast(), clang::interp::CastAP(), clang::interp::CastAPS(), clang::CFGElement::castAs(), clang::ento::SVal::castAs(), clang::ProgramPoint::castAs(), clang::Type::castAs(), clang::TypeLoc::castAs(), clang::Type::castAsCanonical(), clang::ento::SVal::castDataAs(), clang::interp::CastFixedPointIntegral(), clang::interp::CastFloatingIntegral(), castForMoving(), clang::interp::CastIntegralFixedPoint(), clang::interp::CastIntegralFloating(), clang::interp::CastPointerIntegral(), clang::ento::RangeSet::Factory::castTo(), ChangeIntegralSignedness(), clang::Sema::CheckAddressOfOperand(), checkArraySize(), CheckBitcastType(), clang::Sema::CheckBooleanCondition(), checkBuiltinTemplateIdType(), CheckC23ConstexprVarType(), clang::Sema::CheckCallReturnType(), clang::Sema::CheckCastAlign(), checkCastFunctionType(), CheckCommaOperand(), clang::Sema::CheckCompletedCXXClass(), CheckCompleteParameterTypesForMangler(), CheckConditionalOperand(), CheckConditionalOperator(), clang::Sema::CheckConditionVariable(), clang::interp::CheckConstant(), CheckConstexprDestructorSubobjects(), CheckConvertedConstantExpression(), clang::Sema::CheckConvertedConstantExpression(), clang::Sema::CheckConvertedConstantExpression(), clang::Sema::CheckDistantExceptionSpec(), clang::interp::CheckDivRem(), clang::Sema::CheckEnumConstant(), clang::Sema::CheckEnumUnderlyingType(), clang::interp::CheckEnumValue(), checkEscapingByref(), clang::Sema::CheckExplicitlyDefaultedComparison(), CheckExtensionTraitOperandType(), clang::Sema::CheckFieldDecl(), checkForConflictWithNonVisibleExternC(), CheckFormatString(), checkFormatStringExpr(), clang::Sema::CheckFunctionDeclaration(), clang::Sema::CheckFunctionReturnType(), checkGlobalOrExternCConflict(), clang::Sema::CheckImplicitConversion(), CheckKeyForObjCARCConversion(), CheckLiteralType(), clang::interp::CheckLiteralType(), clang::Sema::CheckMain(), clang::Sema::CheckMSVCRTEntryPoint(), clang::interp::CheckNewTypeMismatchArray(), clang::interp::CheckNonNullArg(), clang::Sema::CheckNonTypeTemplateParameterType(), checkNoThrow(), CheckObjCBridgeCFCast(), CheckObjCBridgeNSCast(), clang::SemaObjC::checkObjCBridgeRelatedComponents(), CheckObjCCollectionLiteralElement(), checkObjCMethodX86VectorTypes(), CheckObjCTraitOperandConstraints(), CheckOperatorNewDeleteTypes(), clang::Sema::CheckParameter(), clang::ento::retaincountchecker::RetainCountChecker::checkPostCall(), clang::ento::retaincountchecker::RetainCountChecker::checkPostStmt(), checkPtrAuthTypeDiscriminatorOperandType(), clang::Sema::CheckPtrComparisonWithNullChar(), checkQualifiedFunction(), clang::Sema::CheckQualifiedFunctionForTypeId(), clang::Sema::CheckSpecifiedExceptionType(), clang::SemaObjC::CheckSubscriptingKind(), clang::ento::retaincountchecker::RetainCountChecker::checkSummary(), clang::Sema::CheckSwitchCondition(), clang::Sema::CheckTemplateArgument(), clang::Sema::CheckTemplateArgument(), checkTupleLikeDecomposition(), clang::Sema::CheckTypedefForVariablyModifiedType(), clang::Sema::CheckTypenameType(), CheckUnicodeArithmeticConversions(), checkValueAtLValForInvariantViolation(), clang::Sema::CheckVariableDeclarationType(), CheckVecStepTraitOperandType(), CheckVectorElementsTraitOperandType(), clang::UnaryExprOrTypeTraitExpr::children(), chooseRecoveryType(), clang::interp::Context::classify(), clang::Sema::ClassifyName(), clang::interp::Compiler< Emitter >::classifyPrim(), clang::interp::Compiler< Emitter >::classifyPrim(), ClassifyTemporary(), ClassifyUnnamed(), clang::AbstractConditionalOperator::classof(), clang::AddrLabelExpr::classof(), clang::AdjustedType::classof(), clang::ArrayParameterType::classof(), clang::ArraySectionExpr::classof(), clang::ArraySubscriptExpr::classof(), clang::ArrayType::classof(), clang::ArrayTypeTraitExpr::classof(), clang::AsmStmt::classof(), clang::AsTypeExpr::classof(), clang::AtomicExpr::classof(), clang::AtomicType::classof(), clang::AttributedStmt::classof(), clang::BinaryConditionalOperator::classof(), clang::BitIntType::classof(), clang::BlockExpr::classof(), clang::BlockPointerType::classof(), clang::BoundsAttributedType::classof(), clang::BreakStmt::classof(), clang::BuiltinBitCastExpr::classof(), clang::BuiltinType::classof(), clang::CallExpr::classof(), clang::CapturedStmt::classof(), clang::CaseStmt::classof(), clang::CastExpr::classof(), clang::CharacterLiteral::classof(), clang::ChooseExpr::classof(), classof(), clang::CoawaitExpr::classof(), clang::ComplexType::classof(), clang::CompoundLiteralExpr::classof(), clang::CompoundStmt::classof(), clang::ConceptSpecializationExpr::classof(), clang::ConditionalOperator::classof(), clang::ConstantArrayType::classof(), clang::ConstantExpr::classof(), clang::ConstantMatrixType::classof(), clang::ContinueStmt::classof(), clang::ConvertVectorExpr::classof(), clang::CoreturnStmt::classof(), clang::CoroutineBodyStmt::classof(), clang::CoroutineSuspendExpr::classof(), clang::CountAttributedType::classof(), clang::CoyieldExpr::classof(), clang::CStyleCastExpr::classof(), clang::CUDAKernelCallExpr::classof(), clang::CXXAddrspaceCastExpr::classof(), clang::CXXBindTemporaryExpr::classof(), clang::CXXBoolLiteralExpr::classof(), clang::CXXCatchStmt::classof(), clang::CXXConstCastExpr::classof(), clang::CXXConstructExpr::classof(), clang::CXXDefaultArgExpr::classof(), clang::CXXDefaultInitExpr::classof(), clang::CXXDeleteExpr::classof(), clang::CXXDependentScopeMemberExpr::classof(), clang::CXXDynamicCastExpr::classof(), clang::CXXFoldExpr::classof(), clang::CXXForRangeStmt::classof(), clang::CXXFunctionalCastExpr::classof(), clang::CXXInheritedCtorInitExpr::classof(), clang::CXXMemberCallExpr::classof(), clang::CXXNamedCastExpr::classof(), clang::CXXNewExpr::classof(), clang::CXXNoexceptExpr::classof(), clang::CXXNullPtrLiteralExpr::classof(), clang::CXXOperatorCallExpr::classof(), clang::CXXParenListInitExpr::classof(), clang::CXXPseudoDestructorExpr::classof(), clang::CXXReinterpretCastExpr::classof(), clang::CXXRewrittenBinaryOperator::classof(), clang::CXXScalarValueInitExpr::classof(), clang::CXXStaticCastExpr::classof(), clang::CXXTemporaryObjectExpr::classof(), clang::CXXThisExpr::classof(), clang::CXXThrowExpr::classof(), clang::CXXTryStmt::classof(), clang::CXXTypeidExpr::classof(), clang::CXXUnresolvedConstructExpr::classof(), clang::CXXUuidofExpr::classof(), clang::DecayedType::classof(), clang::DeclRefExpr::classof(), clang::DeclStmt::classof(), clang::DefaultStmt::classof(), clang::DependentAddressSpaceType::classof(), clang::DependentBitIntType::classof(), clang::DependentCoawaitExpr::classof(), clang::DependentScopeDeclRefExpr::classof(), clang::DependentSizedArrayType::classof(), clang::DependentSizedExtVectorType::classof(), clang::DependentSizedMatrixType::classof(), clang::DependentVectorType::classof(), clang::DesignatedInitExpr::classof(), clang::DesignatedInitUpdateExpr::classof(), clang::DoStmt::classof(), clang::EmbedExpr::classof(), clang::ento::NoteTag::classof(), clang::ExplicitCastExpr::classof(), clang::Expr::classof(), clang::ExpressionTraitExpr::classof(), clang::ExprWithCleanups::classof(), clang::ExtVectorElementExpr::classof(), clang::ExtVectorType::classof(), clang::FixedPointLiteral::classof(), clang::FloatingLiteral::classof(), clang::ForStmt::classof(), clang::FullExpr::classof(), clang::FunctionNoProtoType::classof(), clang::FunctionParmPackExpr::classof(), clang::FunctionProtoType::classof(), clang::FunctionType::classof(), clang::GCCAsmStmt::classof(), clang::GenericSelectionExpr::classof(), clang::GNUNullExpr::classof(), clang::GotoStmt::classof(), clang::HLSLOutArgExpr::classof(), clang::IfStmt::classof(), clang::ImaginaryLiteral::classof(), clang::ImplicitCastExpr::classof(), clang::ImplicitValueInitExpr::classof(), clang::IncompleteArrayType::classof(), clang::IndirectGotoStmt::classof(), clang::InitListExpr::classof(), clang::IntegerLiteral::classof(), clang::KeywordWrapper< T >::classof(), clang::LabelStmt::classof(), clang::LambdaExpr::classof(), clang::LocInfoType::classof(), clang::LoopControlStmt::classof(), clang::LValueReferenceType::classof(), clang::MacroQualifiedType::classof(), clang::MaterializeTemporaryExpr::classof(), clang::MatrixSubscriptExpr::classof(), clang::MatrixType::classof(), clang::MemberExpr::classof(), clang::MemberPointerType::classof(), clang::MSAsmStmt::classof(), clang::MSDependentExistsStmt::classof(), clang::MSPropertyRefExpr::classof(), clang::MSPropertySubscriptExpr::classof(), clang::NoInitExpr::classof(), clang::NullStmt::classof(), clang::ObjCArrayLiteral::classof(), clang::ObjCAtCatchStmt::classof(), clang::ObjCAtFinallyStmt::classof(), clang::ObjCAtSynchronizedStmt::classof(), clang::ObjCAtThrowStmt::classof(), clang::ObjCAtTryStmt::classof(), clang::ObjCAutoreleasePoolStmt::classof(), clang::ObjCAvailabilityCheckExpr::classof(), clang::ObjCBoolLiteralExpr::classof(), clang::ObjCBoxedExpr::classof(), clang::ObjCBridgedCastExpr::classof(), clang::ObjCDictionaryLiteral::classof(), clang::ObjCEncodeExpr::classof(), clang::ObjCForCollectionStmt::classof(), clang::ObjCInterfaceType::classof(), clang::ObjCIsaExpr::classof(), clang::ObjCIvarRefExpr::classof(), clang::ObjCMessageExpr::classof(), clang::ObjCObjectPointerType::classof(), clang::ObjCPropertyRefExpr::classof(), clang::ObjCProtocolExpr::classof(), clang::ObjCSelectorExpr::classof(), clang::ObjCStringLiteral::classof(), clang::ObjCSubscriptRefExpr::classof(), clang::OffsetOfExpr::classof(), clang::OMPAcqRelClause::classof(), clang::OMPAcquireClause::classof(), clang::OMPAffinityClause::classof(), clang::OMPAlignedClause::classof(), clang::OMPAllocateClause::classof(), clang::OMPArrayShapingExpr::classof(), clang::OMPAtClause::classof(), clang::OMPAtomicDefaultMemOrderClause::classof(), clang::OMPCaptureClause::classof(), clang::OMPCompareClause::classof(), clang::OMPCopyinClause::classof(), clang::OMPCopyprivateClause::classof(), clang::OMPDefaultClause::classof(), clang::OMPDefaultmapClause::classof(), clang::OMPDependClause::classof(), clang::OMPDepobjClause::classof(), clang::OMPDestroyClause::classof(), clang::OMPDeviceClause::classof(), clang::OMPDistScheduleClause::classof(), clang::OMPDoacrossClause::classof(), clang::OMPDynamicAllocatorsClause::classof(), clang::OMPExclusiveClause::classof(), clang::OMPFailClause::classof(), clang::OMPFirstprivateClause::classof(), clang::OMPFlushClause::classof(), clang::OMPFromClause::classof(), clang::OMPGrainsizeClause::classof(), clang::OMPHasDeviceAddrClause::classof(), clang::OMPHintClause::classof(), clang::OMPIfClause::classof(), clang::OMPInclusiveClause::classof(), clang::OMPInitClause::classof(), clang::OMPInReductionClause::classof(), clang::OMPIsDevicePtrClause::classof(), clang::OMPIteratorExpr::classof(), clang::OMPLastprivateClause::classof(), clang::OMPLinearClause::classof(), clang::OMPMapClause::classof(), clang::OMPMergeableClause::classof(), clang::OMPNoChildClause< ClauseKind >::classof(), clang::OMPNogroupClause::classof(), clang::OMPNontemporalClause::classof(), clang::OMPNumTasksClause::classof(), clang::OMPNumTeamsClause::classof(), clang::OMPOneStmtClause< ClauseKind, Base >::classof(), clang::OMPOrderClause::classof(), clang::OMPOrderedClause::classof(), clang::OMPPartialClause::classof(), clang::OMPPermutationClause::classof(), clang::OMPPriorityClause::classof(), clang::OMPPrivateClause::classof(), clang::OMPProcBindClause::classof(), clang::OMPReadClause::classof(), clang::OMPReductionClause::classof(), clang::OMPRelaxedClause::classof(), clang::OMPReleaseClause::classof(), clang::OMPReverseOffloadClause::classof(), clang::OMPScheduleClause::classof(), clang::OMPSelfMapsClause::classof(), clang::OMPSeqCstClause::classof(), clang::OMPSeverityClause::classof(), clang::OMPSharedClause::classof(), clang::OMPSIMDClause::classof(), clang::OMPSizesClause::classof(), clang::OMPTaskReductionClause::classof(), clang::OMPThreadLimitClause::classof(), clang::OMPToClause::classof(), clang::OMPUnifiedSharedMemoryClause::classof(), clang::OMPUntiedClause::classof(), clang::OMPUpdateClause::classof(), clang::OMPUseClause::classof(), clang::OMPUseDeviceAddrClause::classof(), clang::OMPUseDevicePtrClause::classof(), clang::OMPUsesAllocatorsClause::classof(), clang::OMPWeakClause::classof(), clang::OMPWriteClause::classof(), clang::OpaqueValueExpr::classof(), clang::OpenACCAssociatedStmtConstruct::classof(), clang::OpenACCAsteriskSizeExpr::classof(), clang::OverloadExpr::classof(), clang::PackExpansionExpr::classof(), clang::PackIndexingExpr::classof(), clang::ParenExpr::classof(), clang::ParenListExpr::classof(), clang::ParenType::classof(), clang::PipeType::classof(), clang::PointerType::classof(), clang::PredefinedExpr::classof(), clang::PredefinedSugarType::classof(), clang::PseudoObjectExpr::classof(), clang::RecoveryExpr::classof(), clang::ReferenceType::classof(), clang::RequiresExpr::classof(), clang::ReturnStmt::classof(), clang::RValueReferenceType::classof(), clang::SEHExceptStmt::classof(), clang::SEHFinallyStmt::classof(), clang::SEHLeaveStmt::classof(), clang::SEHTryStmt::classof(), clang::ShuffleVectorExpr::classof(), clang::SizeOfPackExpr::classof(), clang::SourceLocExpr::classof(), clang::StmtExpr::classof(), clang::StringLiteral::classof(), clang::SubstNonTypeTemplateParmPackExpr::classof(), clang::SwitchCase::classof(), clang::SwitchStmt::classof(), clang::SYCLKernelCallStmt::classof(), clang::SYCLUniqueStableNameExpr::classof(), clang::TypedefType::classof(), clang::TypeOfExprType::classof(), clang::TypeTraitExpr::classof(), clang::UnaryExprOrTypeTraitExpr::classof(), clang::UnaryOperator::classof(), clang::UnresolvedLookupExpr::classof(), clang::UnresolvedMemberExpr::classof(), clang::UnresolvedUsingType::classof(), clang::UsingType::classof(), clang::VAArgExpr::classof(), clang::ValueStmt::classof(), clang::VariableArrayType::classof(), clang::VectorType::classof(), clang::WhileStmt::classof(), clang::interp::cleanupAfterFunctionCall(), clang::ento::CallEvent::cloneWithState(), clang::interp::CMP3(), clang::interp::CmpHelper(), clang::threadSafety::til::Code::Code(), clang::threadSafety::til::Code::Code(), clang::SemaCodeCompletion::CodeCompleteDeclSpec(), clang::SemaCodeCompletion::CodeCompleteObjCClassMessage(), clang::CodeCompletionContext::CodeCompletionContext(), collectAllContextsImpl(), clang::Sema::collectUnexpandedParameterPacks(), clang::interp::Comp(), clang::interp::Compare(), clang::interp::ByteCodeEmitter::compileFunc(), clang::Sema::completeExprArrayBound(), clang::CodeGen::CGDebugInfo::completeRequiredType(), clang::CompoundLiteralExpr::CompoundLiteralExpr(), computeCachedProperties(), computeCopyInfoForBlockCapture(), clang::Sema::computeDeclContext(), computeDependence(), computeDestroyInfoForBlockCapture(), computeOffset(), computeTargetTriple(), clang::RISCV::RVVTypeCache::computeType(), clang::LinkageComputer::computeTypeLinkageInfo(), clang::LinkageComputer::computeTypeLinkageInfo(), clang::RISCV::RVVTypeCache::computeTypes(), clang::ento::SymbolManager::conjureSymbol(), clang::ento::SValBuilder::conjureSymbolVal(), clang::interp::Const(), clang::CloneDetector::constrainClones(), clang::driver::tools::SPIRV::constructAssembleCommand(), constructBufferConceptDecl(), clang::hlsl::TemplateParameterListBuilder::constructConceptSpecializationExpr(), clang::driver::tools::HIP::constructGenerateObjFileFromHIPFatBinary(), clang::driver::tools::HIP::constructHIPFatbinCommand(), clang::ento::ExprEngine::ConstructInitList(), clang::driver::tools::ClangAs::ConstructJob(), clang::driver::tools::CrossWindows::Linker::ConstructJob(), clang::driver::tools::darwin::Assembler::ConstructJob(), constructStructuredBufferConstraintExpr(), clang::driver::tools::SPIRV::constructTranslateCommand(), constructTypedBufferConstraintExpr(), clang::ASTContext::containsAddressDiscriminatedPointerAuth(), clang::SemaHLSL::ContainsBitField(), clang::ASTContext::containsNonRelocatablePointerAuth(), clang::Sema::containsUnexpandedParameterPacks(), clang::ento::RangeSet::containsZero(), clang::ento::BasicValueFactory::Convert(), ConvertAPValueToString(), ConvertForConditional(), clang::CodeGen::convertFreeFunctionType(), clang::CodeGen::CGHLSLRuntime::convertHLSLSpecificType(), clang::CodeGen::CGOpenCLRuntime::convertOpenCLSpecificType(), convertPointersToCompositeType(), clang::Value::convertTo(), clang::tooling::detail::TransformerImpl::convertToAtomicChanges(), clang::CodeGen::CodeGenFunction::ConvertType(), clang::CodeGen::CodeGenFunction::ConvertType(), clang::CodeGen::CodeGenTypes::ConvertType(), clang::CodeGen::CodeGenTypes::convertTypeForLoadStore(), clang::CodeGen::CodeGenFunction::ConvertTypeForMem(), clang::CodeGen::CodeGenTypes::ConvertTypeForMem(), clang::CodeGen::convertTypeForMemory(), clang::interp::CopyArray(), clang::interp::copyComposite(), CopyObject(), clang::interp::copyPrimitiveMemory(), clang::interp::copyPrimitiveMemory(), clang::interp::copyRecord(), clang::BindingDecl::Create(), clang::CStyleCastExpr::Create(), clang::CXXAddrspaceCastExpr::Create(), clang::CXXConstCastExpr::Create(), clang::CXXConstructorDecl::Create(), clang::CXXConversionDecl::Create(), clang::CXXDeductionGuideDecl::Create(), clang::CXXDestructorDecl::Create(), clang::CXXDynamicCastExpr::Create(), clang::CXXFunctionalCastExpr::Create(), clang::CXXMethodDecl::Create(), clang::CXXParenListInitExpr::Create(), clang::CXXReinterpretCastExpr::Create(), clang::CXXStaticCastExpr::Create(), clang::CXXUnresolvedConstructExpr::Create(), clang::DeclRefExpr::Create(), clang::DeclRefExpr::Create(), clang::DecompositionDecl::Create(), clang::EnumConstantDecl::Create(), clang::FieldDecl::Create(), clang::FunctionDecl::Create(), clang::FunctionDecl::Create(), clang::FunctionParmPackExpr::Create(), clang::ImplicitCastExpr::Create(), clang::IndirectFieldDecl::Create(), clang::LambdaExpr::Create(), clang::MemberExpr::Create(), clang::MSPropertyDecl::Create(), clang::NonTypeTemplateParmDecl::Create(), clang::NonTypeTemplateParmDecl::Create(), clang::ObjCArrayLiteral::Create(), clang::ObjCAtDefsFieldDecl::Create(), clang::ObjCDictionaryLiteral::Create(), clang::ObjCIvarDecl::Create(), clang::ObjCMessageExpr::Create(), clang::ObjCMessageExpr::Create(), clang::ObjCMessageExpr::Create(), clang::ObjCMethodDecl::Create(), clang::ObjCPropertyDecl::Create(), clang::OMPArrayShapingExpr::Create(), clang::OMPCapturedExprDecl::Create(), clang::OMPDeclareMapperDecl::Create(), clang::OMPDeclareReductionDecl::Create(), clang::OMPIteratorExpr::Create(), clang::ParmVarDecl::Create(), clang::RecoveryExpr::Create(), clang::TypeTraitExpr::Create(), clang::TypeTraitExpr::Create(), clang::VarDecl::Create(), clang::VarTemplatePartialSpecializationDecl::Create(), clang::VarTemplateSpecializationDecl::Create(), clang::dataflow::Environment::create(), clang::DynTypedNode::create(), CreateAAPCSABIBuiltinVaListDecl(), clang::CodeGen::CodeGenFunction::CreateAggTemp(), clang::Sema::CreateBuiltinUnaryOp(), CreateCharPtrNamedVaListDecl(), clang::interp::Program::createDescriptor(), clang::interp::Program::createDescriptor(), clang::ASTContext::createDeviceMangleContext(), clang::OMPDeclarativeDirective< U >::createDirective(), createDynTypedNode(), clang::OMPDeclarativeDirective< U >::createEmptyDirective(), clang::interp::Program::createGlobalString(), clang::MemberExpr::CreateImplicit(), clang::CodeGen::CodeGenModule::CreateKCFITypeId(), clang::ASTContext::createMangleContext(), clang::Sema::CreateMaterializeTemporaryExpr(), clang::CodeGen::CodeGenModule::CreateMetadataIdentifierForFnType(), clang::CodeGen::CodeGenModule::CreateMetadataIdentifierForType(), clang::CodeGen::CodeGenModule::CreateMetadataIdentifierForVirtualMemPtrType(), clang::CodeGen::CodeGenModule::CreateMetadataIdentifierGeneralized(), clang::Sema::CreateParsedType(), clang::SemaObjC::CreatePropertyDecl(), clang::Sema::CreateRecoveryExpr(), clang::tooling::fixit::createRemoval(), clang::SemaHLSL::createSemanticAttr(), clang::syntax::createTree(), clang::ASTContext::CreateTypeSourceInfo(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), CreateVoidPtrBuiltinVaListDecl(), clang::driver::toolchains::CrossWindowsToolChain::CrossWindowsToolChain(), ctorArrayTy(), ctorTy(), CustomizableOptional(), clang::CustomizableOptional< DirectoryEntryRef >::CustomizableOptional(), clang::CustomizableOptional< DirectoryEntryRef >::CustomizableOptional(), clang::CodeGen::CodeGenFunction::cxxDestructorCanThrow(), clang::CXXFoldExpr::CXXFoldExpr(), clang::CXXInheritedCtorInitExpr::CXXInheritedCtorInitExpr(), clang::CXXMethodDecl::CXXMethodDecl(), CXXRecordNonInlineHasAttr(), clang::Sema::CXXThisScopeRAII::CXXThisScopeRAII(), clang::targets::DarwinI386TargetInfo::DarwinI386TargetInfo(), clang::targets::DarwinX86_64TargetInfo::DarwinX86_64TargetInfo(), clang::RecursiveASTVisitor< RecursiveSymbolVisitor< T > >::dataTraverseNode(), clang::DeclaratorDecl::DeclaratorDecl(), clang::Sema::DeclareAggregateDeductionGuideFromInitList(), clang::Sema::DeclareGlobalAllocationFunction(), clang::DeclRefExpr::DeclRefExpr(), decomposeTypeForEH(), DeduceForEachType(), DeduceFromInitializerList(), DeduceNonTypeTemplateArgument(), deducePropertyOwnershipFromType(), DeduceTemplateArguments(), DeduceTemplateBases(), clang::syntax::deepCopyExpandingMacros(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), DEF_TRAVERSE_TYPE(), clang::Sema::DefaultLvalueConversion(), denormalizeSimpleEnum(), denormalizeString(), denormalizeString(), DependsOnTemplateParameters(), clang::interp::Block::deref(), clang::interp::Pointer::deref(), clang::hlsl::BuiltinTypeMethodBuilder::dereference(), describeClass(), clang::CodeGen::CGCUDARuntime::DeviceVarFlags::DeviceVarFlags(), clang::Sema::BoundTypeDiagnoser< Ts >::diagnose(), clang::Sema::SizelessTypeDiagnoser< Ts >::diagnose(), clang::Sema::TypeDiagnoser::diagnose(), clang::Sema::DiagnoseAlwaysNonNullPointer(), clang::Sema::ContextualImplicitConverter::diagnoseAmbiguous(), diagnoseAmbiguousConversion(), DiagnoseAtomicInCXXTypeTrait(), clang::Sema::ContextualImplicitConverter::diagnoseConversion(), clang::Sema::DiagnoseExceptionUse(), clang::Sema::ContextualImplicitConverter::diagnoseExplicitConv(), DiagnoseFloatingImpCast(), clang::Sema::DiagnoseImmediateEscalatingReason(), DiagnoseImpCast(), DiagnoseImpCast(), clang::Sema::ContextualImplicitConverter::diagnoseIncomplete(), clang::SemaHLSL::diagnoseInputIDType(), DiagnoseIsEmptyReason(), DiagnoseIsFinalReason(), diagnoseListInit(), DiagnoseMixedUnicodeImplicitConversion(), diagnoseMutableFields(), DiagnoseNarrowingInInitList(), clang::Sema::ContextualImplicitConverter::diagnoseNoMatch(), clang::Sema::ICEConvertDiagnoser::diagnoseNoMatch(), DiagnoseNonAggregateReason(), DiagnoseNonAssignableReason(), DiagnoseNonConstructibleReason(), DiagnoseNonReplaceableReason(), DiagnoseNonStandardLayoutReason(), DiagnoseNonTriviallyCopyableReason(), DiagnoseNonTriviallyRelocatableReason(), clang::Sema::VerifyICEDiagnoser::diagnoseNotICEType(), clang::Sema::ICEConvertDiagnoser::diagnoseNotInt(), diagnoseNoViableConversion(), DiagnoseNullConversion(), clang::SemaHLSL::diagnosePositionType(), clang::Sema::diagnoseQualifiedDeclaration(), clang::Sema::DiagnoseSizeOfParametersAndReturnValue(), clang::Sema::diagnoseUnavailableAlignedAllocation(), clang::Sema::DiagnoseUnexpandedParameterPack(), DiagnoseUninitializedReference(), clang::Sema::DiagnoseUnusedNestedTypedefs(), DiagnoseVLAInCXXTypeTrait(), diagnoseWellFormedUnsatisfiedConstraintExpr(), DiagTemplateArg(), clang::interp::discard(), clang::interp::InterpStack::discard(), clang::Sema::DiscardMisalignedMemberAddress(), clang::interp::Div(), clang::interp::Divc(), clang::interp::DoBitCastPtr(), clang::ento::SMTConv::doFloatTypeConversion(), clang::ento::SMTConv::doIntTypeConversion(), clang::interp::DoMemcpy(), dtorArrayTy(), dtorTy(), clang::DynTypedNode::dump(), clang::interp::InterpStack::dump(), clang::TextNodeDumper::dumpBareType(), clang::syntax::TokenBuffer::dumpForTests(), dumpMicrosoftThunkAdjustment(), dumpPreviousDeclImpl(), dumpPreviousDeclImpl(), clang::TextNodeDumper::dumpType(), clang::interp::Dup(), clang::APValue::LValueBase::dyn_cast(), clang::interp::DynamicAllocator::DynamicAllocator(), clang::interp::Pointer::elem(), clang::threadSafety::CopyOnWriteVector< NameVarPair >::elem(), emit(), EmitBinaryAtomicPost(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallArgs(), clang::CIRGen::CIRGenFunction::emitCaseDefaultCascade(), clang::CIRGen::CIRGenFunction::emitCaseDefaultCascade(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitCheckTypeDescriptor(), emitConstantObjCStringLiteral(), clang::CodeGen::CodeGenFunction::EmitCoroutineIntrinsic(), clang::CodeGen::CodeGenFunction::EmitCXXGlobalVarDeclInit(), clang::CodeGen::CodeGenFunction::EmitCXXThrowExpr(), clang::CodeGen::CodeGenFunction::EmitCXXTryStmt(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), emitDeclTargetVarDeclLValue(), EmitDoacrossOrdered(), clang::CodeGen::CodeGenFunction::EmitDynamicCast(), clang::CodeGen::ConstantEmitter::emitForMemory(), EmitFromInt(), emitGlobalDtorWithCXAAtExit(), EmitGlobalVarDeclLValue(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CGDebugInfo::EmitGlobalVariable(), clang::CodeGen::CodeGenFunction::EmitLValueForLambdaField(), clang::CodeGen::CodeGenFunction::EmitNonNullRValueCheck(), clang::CodeGen::CodeGenModule::EmitNullConstant(), clang::CodeGen::ConstantEmitter::emitNullForMemory(), clang::CodeGen::ConstantEmitter::emitNullForMemory(), emitOMPAtomicRMW(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitPointerAuthCopy(), emitRestoreIP(), emitSerialized(), EmitThreadPrivateVarDeclLValue(), EmitToInt(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), clang::CodeGen::ABIInfo::EmitVAArg(), clang::CodeGen::CodeGenFunction::EmitVTablePtrCheck(), clang::CodeGen::CodeGenFunction::EmitVTablePtrCheckForCast(), clang::CodeGen::CodeGenFunction::EmitVTableTypeCheckedLoad(), clang::CodeGen::CodeGenModule::EmitVTableTypeMetadata(), EncodeBitField(), encodeTypeForFunctionPointerAuth(), clang::TypePropertyCache< Private >::ensure(), ensureOwned(), clang::EnumConstantDecl::EnumConstantDecl(), clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::CIRGenModule::errorNYI(), clang::transformer::MatchComputation< T >::eval(), clang::transformer::MatchComputation< std::string >::eval(), clang::ento::StoreManager::evalBaseToDerived(), clang::ento::ExprEngine::evalBinOp(), clang::ento::ExprEngine::evalEagerlyAssumeBifurcation(), Evaluate(), EvaluateArrayTypeTrait(), clang::Expr::EvaluateAsConstantExpr(), EvaluateAsStringImpl(), EvaluateBooleanTypeTrait(), EvaluateBuiltinClassifyType(), EvaluateCharRangeAsStringImpl(), clang::Sema::EvaluateConvertedConstantExpression(), EvaluateInPlace(), EvaluateSizeTTypeTrait(), clang::interp::Context::evaluateStrlen(), EvaluateUnaryTypeTrait(), clang::Interpreter::Execute(), clang::Expr::Expr(), ExtendNestedNameSpecifier(), extractForwardValue(), extractMaskValue(), clang::FieldDecl::FieldDecl(), clang::Sema::FillInlineAsmIdentifierInfo(), filterLookupForUDReductionAndMapper(), clang::DeclContextLookupResult::find_first(), findClangRelativeSysroot(), clang::Sema::FindCompositePointerType(), clang::Sema::FindFirstQualifierInScope(), findGcc(), clang::Sema::FindInstantiatedDecl(), clang::ClassTemplateDecl::findPartialSpecialization(), findPreviousTokenKind(), clang::ASTContext::findSYCLKernelInfo(), clang::CodeGen::CGHLSLRuntime::finishCodeGen(), clang::interp::finishGlobalRecurse(), FinishTemplateArgumentDeduction(), FixupInvocation(), clang::CodeGen::CodeGenFunction::FlattenAccessAndType(), for(), for(), for(), for(), clang::format::forEachToken(), clang::Sema::FormatStringHasSArg(), FormatUTFCodeUnitAsCodepoint(), FORWARD_TO_BASE(), clang::interp::Free(), clang::interp::Boolean::from(), clang::interp::Boolean::from(), clang::interp::Integral< Bits, false >::from(), clang::interp::IntegralAP< false >::from(), clang::installapi::FrontendRecordsSlice::FrontendRecordsSlice(), clang::FunctionDecl::FunctionDecl(), clang::CompilerInvocationBase::generateCC1CommandLine(), generateDiagnosticsForCallLike(), clang::CodeGen::CGHLSLRuntime::generateGlobalCtorDtorCalls(), clang::index::generateUSRForType(), clang::index::generateUSRForType(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), clang::APValue::LValueBase::get(), clang::ast_matchers::dynamic::internal::ArgTypeTraits< ast_matchers::internal::Matcher< T > >::get(), clang::CodeGen::EHPersonality::get(), clang::dataflow::Environment::get(), clang::DynTypedNode::get(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::get(), clang::LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >::get(), clang::TypePropertyCache< Private >::get(), clang::TypePropertyCache< Private >::get(), clang::ento::ProgramState::get_context(), clang::CodeGen::TargetCodeGenInfo::getABIInfo(), getAbsoluteValueKind(), clang::LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >::getAddressOfPointer(), clang::ASTContext::getAddrSpaceQualType(), clang::ASTContext::getAdjustedParameterType(), clang::ASTContext::getAlignOfGlobalVar(), clang::ASTContext::getAlignOfGlobalVarInChars(), GetAlignOfType(), clang::ASTNameGenerator::Implementation::getAllManglings(), getAllPossibleAMDGPUTargetIDFeatures(), getAllPossibleTargetIDFeatures(), getAMDGPUTargetGPU(), clang::AnalysisDeclContext::getAnalysis(), clang::ento::AnalysisManager::getAnalysis(), clang::ento::ExplodedNode::getAnalysis(), clang::LocationContext::getAnalysis(), clang::ento::BasicValueFactory::getAPSIntType(), clang::ActionResult< Expr * >::getAs(), clang::ActionResult< PtrTy, true >::getAs(), clang::CFGElement::getAs(), clang::lifetimes::internal::Fact::getAs(), clang::ProgramPoint::getAs(), clang::Type::getAs(), clang::TypeLoc::getAs(), clang::Type::getAsAdjusted(), clang::TypeLoc::getAsAdjusted(), getAsArrayToPointerDecayedDecl(), clang::ASTContext::getAsArrayType(), clang::Type::getAsCanonical(), clang::ASTContext::getAsConstantArrayType(), clang::ASTContext::getAsDependentSizedArrayType(), clang::ASTContext::getAsIncompleteArrayType(), clang::Type::getAsObjCQualifiedInterfaceType(), getAsSimpleValueDeclRef(), clang::tooling::getAssociatedRange(), getAsSugar(), GetAssumedMessageSendExprType(), clang::ASTContext::getAsVariableArrayType(), clang::ASTContext::getAtomicType(), clang::QualType::getAtomicUnqualifiedType(), clang::Decl::getAttr(), clang::AttributedTypeLoc::getAttrAs(), clang::BTFTagAttributedTypeLoc::getAttrAs(), clang::interp::Record::getBase(), GetBaseType(), clang::ento::StoreManager::getBinding(), clang::interp::Context::getBitWidth(), getBlockFieldFlagsForObjCObjectPointer(), clang::ASTContext::getBlockPointerType(), clang::CodeGen::CGCXXABI::GetBogusMemberPointer(), clang::RISCV::RVVIntrinsic::getBuiltinTypeStr(), clang::Sema::getCallingConvAttributedType(), getCallingConvMangling(), clang::ASTContext::getCanonicalParamType(), getCanonicalParamType(), getCanonicalProcessorName(), clang::ASTContext::getCanonicalTemplateSpecializationType(), clang::ASTContext::getCanonicalTemplateTemplateParmDecl(), clang::ASTContext::getCanonicalType(), clang::ASTContext::getCanonicalType(), GetCFNumberSize(), getCommonArrayElementType(), getCommonAttrLoc(), getCommonDecl(), getCommonDeclChecked(), getCommonElementType(), getCommonNNS(), getCommonPointeeType(), getCommonQualifier(), getCommonSizeExpr(), getCommonTypeKeyword(), getComparisonCategoryForBuiltinCmp(), GetCompletionTypeString(), clang::ASTContext::getComplexType(), clang::ASTContext::getComplexType(), clang::OMPMappableExprListClause< T >::getComponentListSizesRef(), clang::OMPMappableExprListClause< T >::getComponentListSizesRef(), clang::OMPMappableExprListClause< T >::getComponentsRef(), clang::OMPMappableExprListClause< T >::getComponentsRef(), clang::ento::BasicValueFactory::getCompoundValData(), clang::ento::getConfiguration(), clang::Sema::getConstructorName(), clang::ASTContext::getConstType(), getContainedDynamicClass(), GetConversionType(), clang::ASTContext::getCorrespondingSignedType(), clang::ASTContext::getCorrespondingUnsignedType(), clang::TargetInfo::getCorrespondingUnsignedType(), clang::CodeGen::CodeGenFunction::GetCountedByFieldExprGEP(), getCPersonality(), clang::driver::tools::getCPUName(), getCtorPrim(), clang::Sema::getCurrentInstantiationOf(), getCurrentInstantiationOf(), clang::ASTContext::getCVRQualifiedType(), getCXXPersonality(), getCXXRecord(), clang::ASTContext::getDecayedType(), clang::ASTContext::getDecayedType(), clang::ASTContext::getDeclAlign(), clang::FunctionDecl::getDeclaredReturnType(), getDeclLanguageLinkage(), clang::OMPMappableExprListClause< T >::getDeclNumListsRef(), clang::OMPMappableExprListClause< T >::getDeclNumListsRef(), GetDeclSpecTypeForDeclarator(), clang::Sema::getDecltypeForExpr(), getDeclUsageType(), clang::diff::SyntaxTree::Impl::getDeclValue(), clang::Sema::GetDecompositionElementCount(), getDeepPointeeType(), getDefaultLanguageStandard(), clang::driver::toolchains::Darwin::getDefaultObjCRuntime(), clang::ASTContext::getDependentNameType(), clang::ento::SValBuilder::getDerivedRegionValueSymbolVal(), clang::Sema::getDestructorName(), clang::Sema::getDestructorTypeForDecltype(), clang::ento::TypedValueRegion::getDesugaredValueType(), GetDiagnosticTypeSpecifierID(), clang::CodeGen::ABIArgInfo::getDirect(), clang::CodeGen::ABIArgInfo::getDirectInReg(), clang::OMPDirectiveListClause< T >::getDirectiveKinds(), getDtorPrim(), clang::CodeGen::CGObjCRuntime::GetEHType(), clang::ento::MemRegionManager::getElementRegion(), clang::ento::StoreManager::GetElementZeroRegion(), clang::interp::Descriptor::getElemQualType(), clang::interp::getElemType(), clang::Sema::getEmissionStatus(), clang::ASTContext::getExceptionObjectType(), clang::FunctionDecl::getExceptionSpecType(), clang::targets::DarwinTargetInfo< Target >::getExnObjectAlignment(), GetExplicitObjectType(), clang::CodeGen::ABIArgInfo::getExtend(), clang::tooling::getExtendedRange(), clang::tooling::getExtendedText(), clang::CodeGen::ABIArgInfo::getExtendInReg(), clang::interp::GetField(), clang::interp::GetFieldPop(), clang::Sema::getFixItZeroInitializerForType(), clang::Sema::getFixItZeroLiteralForType(), getFloatingRank(), clang::interp::Context::getFloatSemantics(), clang::ASTContext::getFloatTypeSemantics(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForVar(), clang::extractapi::DeclarationFragmentsBuilder::getFragmentsForVarTemplate(), clang::ASTNodeKind::getFromNode(), clang::ASTNodeKind::getFromNode(), clang::QualType::getFromOpaquePtr(), GetFullTypeForDeclarator(), clang::TypeName::getFullyQualifiedType(), clang::CodeGen::CodeGenModule::getFunctionPointerAuthInfo(), clang::ASTContext::getFunctionTypeWithoutParamABIs(), clang::ASTContext::getFunctionTypeWithoutPtrSizes(), clang::interp::GetGlobal(), clang::interp::GetGlobalUnchecked(), clang::serialization::UnsafeQualTypeDenseMapInfo::getHashValue(), clang::CodeGen::TargetCodeGenInfo::getHLSLType(), clang::ento::ExprEngine::getInitialState(), clang::ASTContext::getInjectedTemplateArg(), clang::ASTContext::getInnerObjCOwnership(), clang::EnumDecl::getIntegerType(), clang::interp::GetIntPtr(), clang::ento::BasicValueFactory::getIntValue(), clang::ASTContext::getIntWidth(), getLastTemplateSpecType(), clang::driver::tools::getLDMOption(), getLiteralTriple(), clang::interp::GetLocal(), clang::interp::InterpFrame::getLocal(), clang::ASTReader::GetLocalDeclAs(), clang::ASTRecordReader::GetLocalDeclAs(), clang::ento::ExplodedNode::getLocationAs(), clang::ento::TypedValueRegion::getLocationType(), clang::ASTContext::getLValueReferenceType(), getLValueType(), clang::ento::BasicValueFactory::getMaxValue(), clang::ento::BasicValueFactory::getMaxValue(), clang::ASTContext::getMemberPointerType(), clang::SemaObjC::getMessageSendResultType(), clang::ento::BasicValueFactory::getMinValue(), clang::ento::BasicValueFactory::getMinValue(), clang::driver::toolchains::OHOS::getMultiarchTriple(), clang::installapi::getName(), clang::UnresolvedMemberExpr::getNamingClass(), clang::CodeGen::CodeGenModule::getNaturalPointeeTypeAlignment(), clang::CodeGen::CodeGenModule::getNaturalTypeAlignment(), getNestedNameSpecifierIdentifiers(), getNextLargerIntegralType(), clang::ast_matchers::BoundNodes::getNodeAs(), clang::CodeGen::ABIArgInfo::getNoExtend(), getNonClosureContext(), clang::TypeLoc::getNonElaboratedBeginLoc(), getNoteDiagForInvalidRedeclaration(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::getNotUpdated(), clang::ASTContext::getNSIntegerType(), clang::NSAPI::GetNSIntegralKind(), clang::NSAPI::getNSNumberFactoryMethodKind(), clang::ASTContext::getNSUIntegerType(), clang::CodeGen::CodeGenModule::getNullPointer(), clang::CodeGen::TargetCodeGenInfo::getNullPointer(), clang::Sema::getNumArgumentsInExpansion(), clang::ento::BlockCounter::getNumVisited(), getObjCBridgeAttr(), clang::ASTContext::getObjCClassDecl(), clang::ASTContext::getObjCEncodingForMethodParameter(), clang::ASTContext::getObjCEncodingForPropertyType(), clang::ASTContext::getObjCEncodingForType(), clang::ASTContext::getObjCGCQualType(), clang::ASTContext::getObjCIdDecl(), clang::ASTContext::getObjCInterfaceType(), clang::SemaObjC::getObjCMessageKind(), clang::ASTContext::getObjCObjectType(), getObjCPersonality(), clang::ASTContext::getObjCSelDecl(), clang::CodeGen::TargetCodeGenInfo::getOpenCLType(), clang::ASTContext::getOpenCLTypeAddrSpace(), clang::ASTContext::getOpenCLTypeKind(), clang::ASTContext::getOpenMPDefaultSimdAlign(), clang::CodeGen::ABIInfo::getOptimalVectorMemoryType(), clang::interp::Program::getOrCreateDummy(), clang::interp::Context::getOrCreateFunction(), clang::interp::Context::getOrCreateObjCBlock(), clang::interp::Program::getOrCreateRecord(), clang::CodeGen::CGDebugInfo::getOrCreateRecordType(), clang::CodeGen::CGDebugInfo::getOrCreateStandaloneType(), clang::ASTWriter::GetOrCreateTypeID(), clang::ParmVarDecl::getOriginalType(), clang::ASTContext::getPackExpansionType(), clang::ASTContext::getPackIndexingType(), clang::interp::GetParam(), clang::interp::InterpFrame::getParam(), clang::interp::InterpFrame::getParamPointer(), clang::ASTContext::getParenType(), clang::ASTDeclWriter::getPartialSpecializations(), clang::OverloadCandidateSet::getPersistentArgsArray(), clang::CodeGen::CGOpenCLRuntime::getPipeType(), clang::CodeGen::CGOpenCLRuntime::getPipeType(), clang::HeuristicResolver::getPointeeType(), clang::ReferenceType::getPointeeType(), clang::CodeGen::CodeGenModule::getPointerAuthInfoForPointeeType(), clang::CodeGen::CodeGenModule::getPointerAuthInfoForType(), clang::ASTContext::getPointerAuthTypeDiscriminator(), clang::ASTContext::getPointerType(), clang::ASTContext::getPointerType(), clang::CodeGen::CGOpenCLRuntime::getPointerType(), clang::ASTContext::getPreferredTypeAlign(), clang::ASTContext::getPreferredTypeAlign(), clang::ASTContext::getPreferredTypeAlignInChars(), clang::Sema::getPrintable(), getProcessorFromTargetID(), clang::LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >::GetPtr(), clang::ASTContext::getQualifiedType(), clang::ASTContext::getQualifiedType(), getRangeOfTypeInNestedNameSpecifier(), clang::ento::ProgramState::getRawSVal(), clang::ASTContext::getReadPipeType(), clang::ObjCMessageExpr::getReceiverInterface(), clang::CodeGen::getRecordArgABI(), clang::ASTContext::getReferenceQualifiedType(), clang::ento::SValBuilder::getRegionValueSymbolVal(), clang::ASTContext::getRestrictType(), clang::ASTContext::getRValueReferenceType(), clang::CodeGen::CGOpenCLRuntime::getSamplerType(), clang::Type::getScalarTypeKind(), getScalarZeroExpressionForType(), GetSDLFromOffloadArchive(), getSEHPersonalityMSVC(), clang::ASTContext::getSignatureParameterType(), clang::CodeGen::ABIArgInfo::getSignExtend(), getSimplifiedTypeClass(), clang::ProgramPoint::getSourceLocation(), clang::DynTypedNode::getSourceRange(), clang::tooling::fixit::internal::getSourceRange(), clang::ASTDeclWriter::getSpecializationDecl(), clang::DeclSpec::getSpecifierName(), clang::DeclSpec::getSpecifierName(), clang::OMPOneStmtClause< ClauseKind, Base >::getStmtAs(), clang::StmtPoint::getStmtAs(), clang::ConstantExpr::getStorageKind(), clang::ASTContext::getSubstBuiltinTemplatePack(), clang::RISCV::RVVIntrinsic::getSuffixStr(), clang::ento::ProgramState::getSVal(), clang::ento::ProgramState::getSVal(), clang::ento::ProgramState::getSValAsScalarOrLoc(), clang::ento::ProgramState::getSValAsScalarOrLoc(), clang::ASTContext::getSYCLKernelInfo(), clang::driver::tools::systemz::getSystemZTargetCPU(), clang::ASTContext::getTagType(), clang::CodeGen::CodeGenTypes::getTargetAddressSpace(), clang::CodeGen::ABIArgInfo::getTargetSpecific(), clang::driver::ToolChain::getTargetSubDirPath(), getTemplateDefinition(), clang::ASTContext::getTemplateParamObjectDecl(), getTemplateSpecializationTypeDependence(), clang::tooling::fixit::getText(), clang::tooling::getText(), clang::interp::GetThisField(), clang::CodeGen::CGCXXABI::getThrowInfo(), getTraitName(), getTraitName(), getTraitName(), getTraitName(), getTraitSpelling(), getTraitSpelling(), getTraitSpelling(), getTraitSpelling(), getTrivialIntegralTemplateArgument(), clang::ASTContext::getTrivialTypeSourceInfo(), getTrivialTypeTemplateArgument(), clang::ento::BasicValueFactory::getTruthValue(), getTupleLikeElementType(), clang::ASTReader::GetType(), clang::APValue::LValueBase::getType(), clang::FoldingSetPlaceholder< T >::getType(), clang::interp::Descriptor::getType(), clang::ASTContext::getTypeAlign(), clang::ASTContext::getTypeAlign(), clang::TargetInfo::getTypeAlign(), clang::ASTContext::getTypeAlignIfKnown(), clang::ASTContext::getTypeAlignInChars(), clang::ASTContext::getTypeAlignInChars(), clang::TargetInfo::getTypeConstantSuffix(), clang::ASTContext::getTypeDeclType(), clang::Sema::GetTypeForDeclarator(), clang::TargetInfo::getTypeFormatModifier(), clang::interp::GetTypeidPtr(), clang::ASTContext::getTypeInfo(), clang::ASTContext::getTypeInfo(), clang::ASTContext::getTypeInfoDataSizeInChars(), clang::ASTContext::getTypeInfoInChars(), clang::ASTContext::getTypeInfoInChars(), clang::LinkageComputer::getTypeLinkageAndVisibility(), clang::LinkageComputer::getTypeLinkageAndVisibility(), clang::TypeLocBuilder::getTypeLocInContext(), clang::Sema::getTypeName(), clang::TargetInfo::getTypeName(), clang::CanProxyBase< T >::getTypePtr(), clang::CanQual< Type >::getTypePtr(), clang::CanQual< Type >::getTypePtrOrNull(), clang::ASTContext::getTypeSize(), clang::ASTContext::getTypeSize(), clang::ASTContext::getTypeSizeInChars(), clang::ASTContext::getTypeSizeInChars(), clang::TypeLocBuilder::getTypeSourceInfo(), GetTypeSourceInfoForDeclarator(), getTypeTraitArity(), clang::ASTContext::getTypeUnadjustedAlign(), clang::ASTContext::getTypeUnadjustedAlign(), clang::ASTContext::getTypeUnadjustedAlignInChars(), clang::ASTContext::getTypeUnadjustedAlignInChars(), clang::TargetInfo::getTypeWidth(), clang::OMPMappableExprListClause< T >::getUDMapperRefs(), clang::OMPMappableExprListClause< T >::getUDMapperRefs(), clang::DynTypedNode::getUnchecked(), clang::ASTContext::getUnconstrainedType(), GetUnderlyingFunction(), clang::OMPMappableExprListClause< T >::getUniqueDeclsRef(), clang::OMPMappableExprListClause< T >::getUniqueDeclsRef(), clang::ASTContext::getUnqualifiedArrayType(), clang::CanQual< T >::getUnqualifiedType(), clang::ASTContext::getUnresolvedUsingType(), clang::ASTContext::getUsingType(), clang::analyze_format_string::SpecifierResult< PrintfSpecifier >::getValue(), clang::analyze_format_string::SpecifierResult< PrintfSpecifier >::getValue(), clang::ento::BasicValueFactory::getValue(), clang::Expr::getValueKindForType(), clang::AtomicExpr::getValueType(), clang::OMPVarListClause< T >::getVarRefs(), clang::OMPVarListClause< T >::getVarRefs(), clang::ento::MemRegionManager::getVarRegion(), getVirtualOperatorDelete(), getVisibilityFromAttr(), clang::ASTContext::getVolatileType(), clang::ASTContext::getWritePipeType(), clang::CodeGen::ABIArgInfo::getZeroExtend(), clang::ento::BasicValueFactory::getZeroWithTypeSize(), HandleAddressSpaceTypeAttribute(), clang::SemaObjC::handleBridgeAttr(), handleCalledOnceAttr(), handleDefaultInitValue(), HandleDestruction(), HandleDestructionImpl(), handleDiagnoseAsBuiltinAttr(), clang::SemaObjC::HandleExprPropertyRefExpr(), HandleExtVectorTypeAttr(), clang::Sema::HandleField(), handleHVXTargetFeatures(), clang::SemaObjC::handleIndependentClass(), handleInitPriorityAttr(), clang::ento::ExprEngine::handleLValueBitCast(), HandleMatrixTypeAttr(), handleMIGServerRoutineAttr(), clang::Sema::HandleMSProperty(), handleNoEscapeAttr(), handleNonNullAttr(), clang::SemaObjC::handleNSObject(), HandleOverflow(), clang::interp::handleOverflow(), handleOwnershipAttr(), clang::SemaHLSL::handlePackOffsetAttr(), handlePreferredName(), clang::SemaObjC::HandlePropertyInClassExtension(), HandlePtrAuthQualifier(), clang::SemaHLSL::handleResourceTypeAttr(), HandleVectorSizeAttr(), clang::CodeGen::CodeGenFunction::hasAggregateEvaluationKind(), hasArmZAState(), hasArmZT0State(), HasAttribute(), clang::cross_tu::hasBodyOrInit(), clang::ast_matchers::dynamic::internal::ArgTypeTraits< ast_matchers::internal::Matcher< T > >::hasCorrectValue(), hasDeducibleTemplateParameters(), clang::VarDecl::hasDependentAlignment(), clang::Sema::hasExplicitCallingConv(), HasExplicitOwnershipAttr(), hasFlag(), clang::format::hash_combine(), hasIsEqualMethod(), hasMangledSubstitutionQualifiers(), HasNonDeletedDefaultedEqualityComparison(), HasNonDllImportDtor(), hasPublicMethodInBase(), hasPublicMethodInBase(), clang::ASTContext::hasSameFunctionTypeIgnoringExceptionSpec(), clang::ASTContext::hasSameFunctionTypeIgnoringParamABI(), clang::ASTContext::hasSameFunctionTypeIgnoringPtrSizes(), clang::ASTNodeImporter::hasSameVisibilityContextAndLinkage(), clang::CodeGen::CodeGenFunction::hasScalarEvaluationKind(), hasTemplateSpecializationInEncodedString(), hasTypedefNamed(), clang::interp::hasVirtualDestructor(), hasVirtualDestructor(), clang::CodeGen::CodeGenFunction::hasVolatileMember(), haveIncompatibleLanguageLinkages(), highlightLines(), clang::driver::toolchains::Hurd::Hurd(), if(), if(), clang::threadSafety::til::IfThenElse::IfThenElse(), clang::threadSafety::til::IfThenElse::IfThenElse(), clang::diff::SyntaxTree::Impl::Impl(), clang::diff::SyntaxTree::Impl::Impl(), clang::ASTNodeImporter::importChecked(), clang::ASTNodeImporter::ImportDeclParts(), clang::interp::IncDecHelper(), clang::interp::Init(), clang::interp::InitBitField(), clang::interp::InitBitFieldActivate(), clang::interp::InitElem(), clang::interp::InitElemPop(), clang::interp::InitField(), clang::interp::InitFieldActivate(), clang::interp::InitGlobal(), clang::interp::InitGlobalTemp(), InitializationHasSideEffects(), clang::dataflow::Environment::initialize(), initializeElaboratedKeyword(), clang::InitializedEntity::InitializeTemplateParameter(), clang::interp::Compiler< Emitter >::InitLink, clang::interp::InitPop(), clang::interp::InitThisBitField(), clang::interp::InitThisBitFieldActivate(), clang::interp::InitThisField(), clang::interp::InitThisFieldActivate(), clang::ASTVector< Stmt * >::insert(), clang::ASTVector< Stmt * >::insert(), clang::ASTVector< Stmt * >::insert(), insertOptionToCollection(), insertToInterestingnessMap(), clang::Sema::InstantiateFunctionDefinition(), clang::interp::Integral< Bits, false >::Integral, clang::interp::interp__builtin_blend(), clang::interp::interp__builtin_bswap(), clang::interp::interp__builtin_elementwise_abs(), clang::interp::interp__builtin_elementwise_countzeroes(), clang::interp::interp__builtin_elementwise_int_binop(), clang::interp::interp__builtin_elementwise_maxmin(), clang::interp::interp__builtin_elementwise_popcount(), clang::interp::interp__builtin_elementwise_triop(), clang::interp::interp__builtin_elementwise_triop_fp(), clang::interp::interp__builtin_ia32_pmul(), clang::interp::interp__builtin_memchr(), clang::interp::interp__builtin_select(), clang::interp::interp__builtin_strcmp(), clang::interp::interp__builtin_vector_reduce(), clang::interp::interp__builtin_x86_insert_subvector(), clang::interp::InterpretBuiltin(), clang::interp::EvalEmitter::interpretDecl(), clang::ento::ProgramState::invalidateRegions(), InventTemplateParameter(), clang::TreeTransform< AdjustConstraintDepth >::InventTypeSourceInfo(), clang::Sema::isAbstractType(), clang::QualType::isAddressSpaceOverlapping(), clang::CodeGen::isAggregateTypeForABI(), clang::ASTContext::isAlignmentRequired(), clang::ASTContext::isAlignmentRequired(), isArc4RandomAvailable(), isCallback(), clang::QualType::isCanonicalAsParam(), isCanonicalResultType(), IsCFError(), clang::ento::coreFoundation::isCFObjectRef(), clang::SemaObjC::isCFStringType(), clang::Sema::isCompleteType(), clang::ento::NonLoc::isCompoundType(), isConstOwnerPtrMemberExpr(), isCrossCompiling(), isDeclExternC(), clang::DeclSpec::isDeclRep(), isDefaultStdCall(), llvm::isDenseMapKeyEmpty(), llvm::isDenseMapKeyTombstone(), clang::DeclarationName::isDependentName(), isDependentOrGNUAutoType(), clang::ento::isDereferencableType(), IsDerivedFromInclusive(), isDiskArbitrationAPIRefType(), clang::Type::isElaboratedTypeSpecifier(), clang::CodeGen::isEmptyRecord(), clang::CodeGen::isEmptyRecordForLayout(), isExplicitMemberSpecialization(), isExprToGetCheckedPtrCapableMember(), isExternC(), isFirstInExternCContext(), isFunctionLike(), clang::Type::isFunctionPointerType(), clang::Type::isFunctionReferenceType(), isGetterOfSafePtr(), isIncompleteDeclExternC(), isIncompleteOrZeroLengthArrayType(), isInstantiationOfUnresolvedUsingDecl(), clang::interp::isIntegralType(), isInvalidOSLogArgTypeForCodeGen(), isKnownNonNilCollectionType(), IsLLVMStringRef(), clang::ento::Loc::isLocType(), clang::Type::isMemberDataPointerType(), clang::Type::isMemberFunctionPointerType(), clang::Sema::isMicrosoftMissingTypename(), clang::diff::isNodeExcluded(), clang::interp::IsNonNull(), IsNSError(), clang::SemaObjC::isNSStringType(), isNSStringType(), clang::NSAPI::isObjCBOOLType(), clang::ASTContext::isObjCClassType(), clang::Expr::isOBJCGCCandidate(), clang::ASTContext::isObjCIdType(), clang::NSAPI::isObjCNSIntegerType(), clang::NSAPI::isObjCNSUIntegerType(), isObjCReceiverType(), clang::ASTContext::isObjCSelType(), clang::Type::isObjectPointerType(), clang::interp::isOneByteCharacterType(), isOneByteCharacterType(), isOneOf(), isOverflowingIntegerType(), isOwnerPtrType(), isPackProducingBuiltinTemplateName(), clang::StandardConversionSequence::isPerfect(), isPointerToRecordType(), clang::CodeGen::CodeGenTypes::isPointerZeroInitializable(), IsPossiblyOpaquelyQualifiedType(), IsPossiblyOpaquelyQualifiedTypeInternal(), clang::ento::isPrimitiveType(), clang::ASTContext::isPromotableIntegerType(), isPtrOfType(), clang::interp::isPtrType(), isReadByLvalueToRvalueConversion(), IsReconstitutableType(), isRecordType(), clang::sema::isRecordWithAttr(), isRefOrCheckedPtrType(), isRelevantAttr(), clang::ASTContext::isRepresentableIntegerValue(), isRetainPtrOrOSPtrType(), isRvalueByValueRecord(), isSameWidthConstantConversion(), isScopedEnumerationType(), clang::SemaHLSL::isSemanticValid(), clang::interp::isSignedType(), isSimpleTemplateIdType(), clang::CodeGen::isSingleElementStruct(), IsSmallVector(), isStandardNewDelete(), IsStdString(), IsStdVector(), isStreamingCompatible(), IsStringInit(), clang::lifetimes::internal::utils::isSubsetOf(), isSubstitutedType(), isSupportedByOpenMPIRBuilder(), clang::TargetCXXABI::isSupportedCXXABI(), isSynthesizedRetainableProperty(), clang::DeclSpec::isTransformTypeTrait(), isTransparentUnion(), IsTriviallyRelocatableType(), isTupleLike(), clang::format::FormatToken::isTypeFinalized(), clang::TargetInfo::isTypeSigned(), isTypeTypedefedAsBOOL(), isUnchecked(), isUncheckedPtr(), isUncounted(), isUncountedPtr(), isUndeducedReturnType(), isUnretained(), isUnsafePtr(), isUnsigned(), clang::FunctionDecl::isUsableAsGlobalAllocationFunctionInConstantEvaluation(), isValidAfterIdentifierInDeclarator(), clang::MatrixType::isValidElementType(), clang::Sema::isValidPointerAttrType(), isValidPointerType(), isValidStructGUID(), clang::ento::SymExpr::isValidTypeForSymbol(), clang::VAOptDefinitionContext::isVAOptToken(), IsVariableSizedType(), isVoidPointer(), isVoidPointerToNonConst(), IsWideCharCompatible(), isWithinConstantOverflowBounds(), clang::CodeGen::CodeGenTypes::isZeroInitializable(), isZeroInitialized(), clang::lifetimes::internal::utils::join(), clang::dataflow::internal::joinConstMethodMap(), clang::KeywordWrapper< T >::KeywordWrapper(), clang::LazyGenerationalUpdatePtr< Owner, T, Update >::LazyData::LazyData(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::LazyGenerationalUpdatePtr(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::LazyGenerationalUpdatePtr(), clang::LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >::LazyOffsetPtr(), clang::comments::Lexer::lex(), lifetimeStartedInEvaluation(), likelyhasbetween(), clang::driver::toolchains::Linux::Linux(), clang::threadSafety::til::LiteralT< T >::LiteralT(), clang::CanProxyAdaptor< ObjCObjectPointerType >::LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(), clang::interp::Load(), clang::interp::LoadPop(), looksMutable(), clang::ento::CallDescriptionMap< T >::lookup(), clang::ento::CallDescriptionMap< T >::lookupAsWritten(), clang::Sema::LookupConstructors(), clang::Sema::LookupInlineAsmIdentifier(), clang::Sema::LookupInlineAsmVarDeclField(), lookupPromiseType(), make_shared_copy(), clang::driver::Compilation::MakeAction(), clang::CodeGen::CodeGenFunction::MakeAddrLValue(), clang::CodeGen::CodeGenFunction::MakeAddrLValue(), clang::CodeGen::CodeGenFunction::MakeAddrLValue(), clang::CodeGen::CodeGenFunction::MakeAddrLValueWithoutTBAA(), MakeAtomicCmpXchgValue(), MakeBinaryAtomicValue(), clang::ento::DefaultProgramStatePartialTraitImpl< T >::MakeData(), makeFlagToValueNormalizer(), clang::CodeGen::CodeGenFunction::makeNaturalAddressForPointer(), clang::CodeGen::CodeGenFunction::MakeNaturalAlignAddrLValue(), makeNaturalAlignAddrLValue(), clang::CodeGen::CodeGenFunction::MakeNaturalAlignPointeeAddrLValue(), clang::CodeGen::CodeGenFunction::MakeNaturalAlignPointeeRawAddrLValue(), clang::CodeGen::CodeGenFunction::MakeNaturalAlignRawAddrLValue(), clang::serialization::makeNullableFromOptional(), clang::serialization::makeOptionalFromNullable(), clang::serialization::makeOptionalFromPointer(), clang::serialization::makePointerFromOptional(), clang::CodeGen::CodeGenFunction::MakeRawAddrLValue(), MakeTypeID(), clang::LazyGenerationalUpdatePtr< Owner, T, Update >::makeValue(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::makeValue(), clang::ento::DefaultProgramStatePartialTraitImpl< T >::MakeVoidPtr(), clang::MangleContext::mangleCanonicalTypeName(), clang::MicrosoftMangleContext::mangleCXXCatchableType(), clang::MicrosoftMangleContext::mangleCXXCatchableTypeArray(), clang::MangleContext::mangleCXXRTTI(), clang::MangleContext::mangleCXXRTTIName(), clang::MicrosoftMangleContext::mangleCXXThrowInfo(), llvm::yaml::MappingTraits< Namespace >::mapping(), llvm::yaml::MappingTraits< Tag >::mapping(), llvm::yaml::MappingTraits< Typedef >::mapping(), clang::Sema::MarkDeclarationsReferencedInType(), MarkUsedTemplateParameters(), clang::ast_matchers::MatchFinder::match(), clang::Sema::ContextualImplicitConverter::match(), clang::Sema::ICEConvertDiagnoser::match(), MatchesFriend(), matchesSizeTPtrdiffT(), clang::Sema::MatchTemplateParametersToScopeSpecifier(), clang::MaterializeTemporaryExpr::MaterializeTemporaryExpr(), clang::MatrixSubscriptExpr::MatrixSubscriptExpr(), clang::Sema::MaybeBindToTemporary(), clang::ExternalSemaSource::MaybeDiagnoseMissingCompleteType(), clang::MultiplexExternalSemaSource::MaybeDiagnoseMissingCompleteType(), MayBeFunctionType(), maybeTailCall(), clang::CodeGen::CGCXXABI::mayNeedDestruction(), mergeForwardValue(), mergeMaskValue(), clang::ASTDeclReader::mergeMergeable(), clang::ASTDeclMerger::mergeRedeclarable(), clang::ASTDeclReader::mergeRedeclarable(), clang::ASTDeclMerger::mergeRedeclarableImpl(), clang::ASTContext::mergeTransparentUnionType(), clang::Sema::MergeTypedefNameDecl(), mergeTypeLists(), mergeVisibilityAttr(), moveOnNoError(), clang::interp::Mul(), clang::interp::Mulc(), clang::transformer::name(), clang::interp::needsAlloc(), NeedsInstantiationAsFunctionType(), clang::interp::Neg(), clang::NestedNameSpecifier::NestedNameSpecifier(), normalizeForBundler(), clang::interp::Null(), clang::ObjCBoxedExpr::ObjCBoxedExpr(), ObjCBridgeRelatedAttrFromType(), clang::ObjCEncodeExpr::ObjCEncodeExpr(), clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr(), clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr(), clang::ObjCPropertyRefExpr::ObjCPropertyRefExpr(), clang::ObjCProtocolExpr::ObjCProtocolExpr(), clang::ObjCSelectorExpr::ObjCSelectorExpr(), clang::ObjCStringLiteral::ObjCStringLiteral(), clang::ObjCSubscriptRefExpr::ObjCSubscriptRefExpr(), objectifyExpr(), clang::OffloadTargetInfo::OffloadTargetInfo(), clang::interp::OffsetHelper(), clang::interp::OffsetOf(), clang::OMPMappableExprListClause< T >::OMPMappableExprListClause(), clang::OpaqueValueExpr::OpaqueValueExpr(), clang::OpenACCFirstPrivateRecipe::OpenACCFirstPrivateRecipe(), clang::CanProxyBase< BlockPointerType >::operator const BlockPointerType *(), operator!=(), operator!=(), clang::ento::checker_registry::FullNameLT< PackageInfo >::operator()(), clang::CustomizableOptional< DirectoryEntryRef >::operator*(), clang::CustomizableOptional< DirectoryEntryRef >::operator*(), clang::CustomizableOptional< DirectoryEntryRef >::operator*(), clang::CanProxyBase< T >::operator->(), clang::CustomizableOptional< DirectoryEntryRef >::operator->(), clang::CustomizableOptional< DirectoryEntryRef >::operator->(), clang::LazyDetector< T >::operator->(), clang::LazyDetector< T >::operator->(), operator<(), operator<(), clang::ast_matchers::dynamic::Diagnostics::ArgStream::operator<<(), clang::DiagnosticBuilder::operator<<(), clang::DiagnosticBuilder::operator<<(), operator<<(), operator<<(), clang::OptionalDiagnostic::operator<<(), clang::PartialDiagnostic::operator<<(), clang::PartialDiagnostic::operator<<(), clang::SemaBase::ImmediateDiagBuilder::operator<<, clang::SemaBase::ImmediateDiagBuilder::operator<<(), clang::SemaBase::SemaDiagnosticBuilder::operator<<, clang::SemaBase::SemaDiagnosticBuilder::operator<<(), clang::syntax::operator<<(), operator<=(), operator<=(), clang::CustomizableOptional< DirectoryEntryRef >::operator=(), clang::CustomizableOptional< DirectoryEntryRef >::operator=(), clang::dataflow::Arena::operator=(), clang::hlsl::BuiltinTypeMethodBuilder::operator=(), clang::LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >::operator=(), operator==(), operator==(), operator>(), operator>(), operator>=(), operator>=(), clang::iterator< ObjCProtocolDecl >::operator[](), clang::threadSafety::CopyOnWriteVector< NameVarPair >::operator[](), clang::threadSafety::til::SimpleArray< SExpr * >::operator[](), clang::threadSafety::til::SimpleArray< SExpr * >::operator[](), clang::interp::OptPrimType::OptPrimType(), clang::ast_matchers::dynamic::internal::outvalueToVariantMatcher(), clang::TypeSourceInfo::overrideType(), clang::format::FormatToken::overwriteFixedType(), clang::ParmVarDecl::ParmVarDecl(), clang::Parser::parseMapperModifier(), clang::Parser::ParseOpenMPParensExpr(), parseOpenMPSimpleClause(), clang::Parser::ParseOpenMPVarList(), parseTargetID(), clang::Sema::ParseTypedefDecl(), clang::interp::InterpStack::peek(), clang::interp::InterpStack::peek(), clang::InitializationSequence::Perform(), clang::Sema::PerformContextualImplicitConversion(), clang::SemaOpenMP::PerformOpenMPImplicitIntegerConversion(), PickFP(), clang::interp::Pop(), clang::interp::InterpStack::pop(), clang::ASTVector< Stmt * >::pop_back_val(), clang::BumpVector< CFGElement >::pop_back_val(), clang::interp::popArg(), clang::interp::popToAPSInt(), clang::interp::popToAPSInt(), populateObjCForDestinationSet(), clang::syntax::FactoryImpl::prependChildLowLevel(), clang::interp::primSize(), primTypeToString(), clang::DynTypedNode::print(), print(), print_elem(), printArg(), printArg< IntegralAP< false > >(), printArg< IntegralAP< true > >(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printBasicBlock(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printCall(), printClangMatrixBefore(), printCountAttributedImpl(), printDims(), printHLSLMatrixAfter(), printHLSLMatrixBefore(), printIntegral(), PrintIterator(), clang::ProgramPoint::printJson(), PrintMacroDefinition(), PrintMapper(), clang::ASTContext::PrintStats(), clang::FileManager::PrintStats(), clang::Sema::ProcessAPINotes(), ProcessFormatStringLiteral(), clang::ento::ExprEngine::ProcessMemberDtor(), clang::ento::retaincountchecker::RetainCountChecker::processObjCLiterals(), clang::format::processReplacements(), clang::ento::retaincountchecker::RetainCountChecker::processSummaryOfInlined(), clang::ento::ExprEngine::ProcessTemporaryDtor(), clang::SemaCodeCompletion::ProduceCallSignatureHelp(), clang::AtomicType::Profile(), clang::ObjCObjectPointerType::Profile(), clang::PipeType::Profile(), clang::TemplateParamObjectDecl::Profile(), propagateAttribute(), clang::interp::InterpStack::push(), clang::TypeLocBuilder::push(), clang::ASTVector< Stmt * >::push_back(), clang::BumpVector< CFGElement >::push_back(), clang::LazyVector< const DeclaratorDecl *, ExternalSemaSource, &ExternalSemaSource::ReadUnusedFileScopedDecls, 2, 2 >::push_back(), clang::threadSafety::CopyOnWriteVector< NameVarPair >::push_back(), clang::threadSafety::til::CopyReducerBase::Container< T >::push_back(), clang::threadSafety::til::SimpleArray< SExpr * >::push_back(), clang::CIRGen::EHScopeStack::pushCleanup(), clang::CodeGen::EHScopeStack::pushCleanup(), clang::CodeGen::CodeGenFunction::pushCleanupAfterFullExpr(), clang::CodeGen::CodeGenFunction::pushCleanupAfterFullExprWithActiveFlag(), clang::CodeGen::CodeGenFunction::pushCleanupAndDeferDeactivation(), clang::CodeGen::EHScopeStack::pushCleanupTuple(), clang::CodeGen::EHScopeStack::pushCleanupWithExtra(), clang::CodeGen::CodeGenFunction::PushDestructorCleanup(), clang::CodeGen::CodeGenFunction::PushDestructorCleanup(), clang::CIRGen::CIRGenFunction::pushFullExprCleanup(), clang::CodeGen::CodeGenFunction::pushFullExprCleanup(), clang::interp::pushInteger(), clang::interp::pushInteger(), clang::TypeLocBuilder::pushTrivial(), clang::TypeLocBuilder::pushTypeSpec(), clang::interp::CodePtr::read(), clang::interp::ReadArg(), clang::ASTReader::ReadDeclAs(), clang::ASTRecordReader::readDeclAs(), clang::serialization::DataStreamBasicReader< Impl >::readEnum(), clang::ASTReader::ReadLateParsedTemplates(), clang::ASTRecordReader::readNestedNameSpecifierLoc(), ReadOriginalFileName(), clang::interp::readPointerToBuffer(), clang::ASTReader::ReadPragmaDiagnosticMappings(), clang::TreeTransform< Derived >::RebuildArrayType(), clang::TreeTransform< AdjustConstraintDepth >::RebuildCXXConstructExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildCXXInheritedCtorInitExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildCXXParenListInitExpr(), RebuildDeclaratorInCurrentInstantiation(), clang::TreeTransform< Derived >::RebuildFunctionNoProtoType(), clang::TreeTransform< Derived >::RebuildFunctionProtoType(), clang::TreeTransform< AdjustConstraintDepth >::RebuildFunctionProtoType(), clang::TreeTransform< AdjustConstraintDepth >::RebuildImplicitValueInitExpr(), clang::TreeTransform< AdjustConstraintDepth >::RebuildMacroQualifiedType(), clang::TreeTransform< AdjustConstraintDepth >::RebuildObjCExceptionDecl(), clang::TreeTransform< AdjustConstraintDepth >::RebuildObjCPropertyRefExpr(), clang::TreeTransform< Derived >::RebuildQualifiedType(), clang::TreeTransform< AdjustConstraintDepth >::RebuildQualifiedType(), clang::Sema::RebuildTypeInCurrentInstantiation(), clang::TreeTransform< AdjustConstraintDepth >::RebuildTypeRequirement(), clang::TreeTransform< Derived >::RebuildUnresolvedUsingType(), recordConversion(), RecoverCastedSymbol(), recoverFromTypeInKnownDependentBase(), clang::threadSafety::til::VisitReducer< Self >::reduceBasicBlock(), clang::threadSafety::til::VisitReducer< Self >::reduceIfThenElse(), clang::CodeGen::CodeGenTypes::RefreshTypeCacheForClass(), clang::driver::RegisterEffectiveTriple::RegisterEffectiveTriple(), clang::CodeGen::CodeGenModule::Release(), clang::interp::Rem(), clang::ento::ProgramState::remove(), clang::ento::ProgramState::remove(), clang::ento::ProgramState::remove(), clang::ento::ProgramStateManager::remove(), clang::ASTContext::removeAddrSpaceQualType(), clang::ASTContext::removePtrSizeAddrSpace(), RenderBuiltinOptions(), RenderCharacterOptions(), renderDebugOptions(), renderDwarfFormat(), RenderObjCOptions(), clang::Sema::RequireCompleteSizedType(), clang::Sema::RequireCompleteType(), clang::Sema::RequireCompleteType(), clang::Sema::RequireCompleteType(), clang::Sema::RequireCompleteType(), clang::Sema::RequireCompleteType(), clang::Sema::RequireLiteralType(), clang::Sema::RequireLiteralType(), clang::Sema::RequireLiteralType(), clang::Sema::RequireNonAbstractType(), clang::Sema::RequireNonAbstractType(), clang::Sema::RequireStructuralType(), clang::threadSafety::til::SimpleArray< SExpr * >::reserve(), clang::ASTVector< Stmt * >::resize(), clang::HeuristicResolver::resolveTypeToTagDecl(), clang::CodeGen::DominatingPointer< T, true >::restore(), clang::interp::Ret(), clang::hlsl::BuiltinTypeMethodBuilder::returnValue(), clang::InitializationSequence::RewrapReferenceInitList(), rewriteDescendantsImpl(), safeGetName(), clang::CodeGen::CodeGenFunction::saveValueInCond(), ScopeSpecifierHasTemplateId(), clang::ento::ProgramState::set(), clang::ento::ProgramState::set(), clang::ento::ProgramState::set(), clang::ento::ProgramStateManager::set(), clang::iterator< ObjCProtocolDecl >::set(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::set(), clang::StandardConversionSequence::setAllToTypes(), clang::driver::tools::arm::setArchNameInTriple(), clang::ImplicitConversionSequence::setAsIdentityConversion(), clang::LookupResult::setBaseObjectType(), clang::ASTContext::setCFConstantStringType(), clang::CodeGen::ABIArgInfo::setCoerceToType(), clang::CompoundAssignOperator::setComputationLHSType(), clang::CompoundAssignOperator::setComputationResultType(), clang::DeclarationName::setFETokenInfo(), clang::IdentifierInfo::setFETokenInfo(), clang::interp::SetField(), clang::format::FormatToken::setFinalizedType(), setFlag(), clang::AmbiguousConversionSequence::setFromType(), clang::BadConversionSequence::setFromType(), clang::StandardConversionSequence::setFromType(), clang::ImplicitConversionSequence::setInitializerListContainerType(), clang::EnumDecl::setIntegerType(), clang::TemplateArgument::setIntegralType(), clang::LangOptions::setLangDefaults(), clang::interp::SetLocal(), clang::interp::InterpFrame::setLocal(), SetNestedNameSpecifier(), clang::LazyGenerationalUpdatePtr< const Decl *, Decl *, &ExternalASTSource::CompleteRedeclChain >::setNotUpdated(), clang::ASTContext::setObjCNSStringType(), clang::ASTImporter::setODRHandling(), clang::interp::SetParam(), clang::interp::InterpFrame::setParam(), clang::CodeCompletionContext::setPreferredType(), clang::EnumDecl::setPromotionType(), clang::LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >::SetPtr(), clang::ObjCMethodDecl::setReturnType(), clang::LabelDecl::setStmt(), clang::ObjCMessageExpr::setSuper(), clang::installapi::DylibVerifier::setTarget(), clang::CXXBindTemporaryExpr::setTemporary(), clang::interp::SetThisField(), clang::interp::SetThreeWayComparisonField(), clang::AmbiguousConversionSequence::setToType(), clang::BadConversionSequence::setToType(), clang::StandardConversionSequence::setToType(), clang::driver::tools::darwin::setTripleTypeForMachOArchName(), clang::ObjCPropertyDecl::setType(), clang::DeclSpec::SetTypeQual(), clang::DeclSpec::SetTypeQual(), clang::DeclSpec::SetTypeSpecType(), clang::DeclSpec::SetTypeSpecType(), clang::DeclSpec::SetTypeSpecType(), clang::DeclSpec::SetTypeSpecType(), clang::DeclSpec::SetTypeSpecType(), clang::DeclSpec::SetTypeSpecType(), clang::DeclSpec::SetTypeSpecType(), clang::DeclSpec::SetTypeSpecType(), clang::threadSafety::til::SimpleArray< SExpr * >::setValues(), clang::Sema::ShouldDiagnoseAvailabilityOfDecl(), shouldHaveNullability(), shouldIgnoreUnsupportedTargetFeature(), clang::ASTDeclWriter::shouldSkipWritingSpecializations(), SignOrZeroExtend(), clang::threadSafety::til::SimpleArray< SExpr * >::SimpleArray(), clang::threadSafety::til::SimpleArray< SExpr * >::SimpleArray(), clang::CallExpr::sizeToAllocateForCallExprSubclass(), skipTopLevelReferences(), clang::Parser::SkipUntil(), SourceLocationForUserDeclaredType(), clang::analyze_format_string::SpecifierResult< PrintfSpecifier >::SpecifierResult(), clang::interp::ByteCodeEmitter::speculate(), clang::interp::EvalEmitter::speculate(), clang::driver::tools::SplitDebugInfo(), clang::ASTReader::StartedDeserializing(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::StmtExpr::StmtExpr(), clang::EnumConstantDecl::StmtIteratorBase, clang::interp::Store(), clang::interp::StoreActivate(), clang::interp::StoreActivatePop(), clang::interp::StoreBitField(), clang::interp::StoreBitFieldActivate(), clang::interp::StoreBitFieldActivatePop(), clang::interp::StoreBitFieldPop(), clang::interp::StorePop(), StringifyImpl(), stripObjCInstanceType(), clang::interp::Sub(), clang::interp::SubOffset(), clang::interp::SubPtr(), clang::Sema::SubstFunctionDeclType(), clang::SubstNonTypeTemplateParmPackExpr::SubstNonTypeTemplateParmPackExpr(), clang::Sema::SubstType(), clang::Sema::SubstType(), swapIterators(), clang::diff::SyntaxTree::SyntaxTree(), clang::TargetInfo::TargetInfo(), clang::TemplateArgument::TemplateArgument(), clang::Sema::TemporaryMaterializationConversion(), clang::syntax::Token::Token(), clang::syntax::TokenCollector::TokenCollector(), clang::syntax::tokenize(), clang::driver::ToolChain::ToolChain(), clang::interp::Pointer::toRValue(), clang::TreeTransform< Derived >::TransformExceptionSpec(), clang::TreeTransform< Derived >::TransformFunctionProtoType(), clang::TreeTransform< Derived >::TransformNestedNameSpecifierLoc(), clang::TreeTransform< Derived >::TransformReferenceType(), clang::TreeTransform< Derived >::TransformTagType(), clang::TreeTransform< Derived >::TransformTemplateArgument(), clang::TreeTransform< Derived >::TransformType(), clang::TreeTransform< Derived >::TransformType(), clang::TreeTransform< AdjustConstraintDepth >::TransformType(), TransformTypeSpecType(), clang::TreeTransform< Derived >::TransformTypeWithDeducedTST(), clang::TreeTransform< AdjustConstraintDepth >::TransformTypeWithDeducedTST(), translateEdits(), translateTemplateArgument(), clang::ast_matchers::traverse(), clang::ast_matchers::traverse(), clang::threadSafety::til::Traversal< Self, R >::traverse(), clang::RecursiveASTVisitor< Derived >::TraverseNestedNameSpecifier(), clang::DynamicRecursiveASTVisitorBase< false >::TraverseType(), clang::RecursiveASTVisitor< Derived >::TraverseType(), clang::RecursiveASTVisitor< RecursiveSymbolVisitor< T > >::TraverseType(), clang::interp::IntegralAP< false >::truncateCast(), TRY_TO(), TRY_TO(), TRY_TO(), TRY_TO(), TRY_TO(), TRY_TO(), TRY_TO(), clang::Parser::TryAnnotateTypeOrScopeTokenAfterScopeSpec(), TryClassUnification(), TryDeconstructFunctionLike(), clang::ento::tryExpandAsInteger(), TryGetExprRange(), TryOrBuildParenListInitialization(), TryToFixInvalidVariablyModifiedType(), clang::Sema::tryToFixVariablyModifiedVarType(), TryValueInitialization(), typeIsPostfix(), clang::ASTDeserializationListener::TypeRead(), clang::DelegatingDeserializationListener::TypeRead(), clang::MultiplexASTDeserializationListener::TypeRead(), clang::concepts::TypeRequirement::TypeRequirement(), clang::TypeLocBuilder::TypeWasModifiedSafely(), unwrapCastAwayConstnessLevel(), unwrapSugar(), UnwrapTypeForDebugInfo(), clang::CodeGen::CodeGenTypes::UpdateCompletedType(), updateConsecutiveMacroArgTokens(), clang::UpdateOnReturn< T >::UpdateOnReturn(), clang::driver::tools::arm::useAAPCSForMachO(), clang::TargetInfo::useObjCFPRetForRealType(), clang::TargetCXXABI::usesRelativeVTables(), clang::threadSafety::til::LiteralT< T >::value(), clang::threadSafety::til::LiteralT< T >::value(), clang::CustomizableOptional< DirectoryEntryRef >::value_or(), clang::CustomizableOptional< DirectoryEntryRef >::value_or(), clang::ValueDecl::ValueDecl(), clang::VarDecl::VarDecl(), clang::VarTemplateSpecializationDecl::VarDecl, clang::VarTemplateSpecializationDecl::VarTemplateSpecializationDecl(), clang::Sema::VerifyIntegerConstantExpression(), clang::Sema::VerifyIntegerConstantExpression(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::Visit(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::Visit(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::Visit(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::Visit(), clang::JSONNodeDumper::Visit(), clang::JSONNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::TextNodeDumper::Visit(), clang::TypeVisitor< JSONNodeDumper >::Visit(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitAdjustedType(), clang::interp::Compiler< Emitter >::visitAPValueInitializer(), clang::ento::ExprEngine::VisitArraySubscriptExpr(), clang::interp::Compiler< Emitter >::VisitArraySubscriptExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitArrayType(), clang::TextNodeDumper::VisitArrayType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitAtomicType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitAttributedType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitAutoType(), clang::TextNodeDumper::VisitAutoType(), clang::interp::Compiler< Emitter >::VisitBinaryOperator(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitBlockPointerType(), clang::interp::Compiler< Emitter >::visitBool(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitBTFTagAttributedType(), clang::interp::Compiler< Emitter >::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::interp::Compiler< Emitter >::VisitCastExpr(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitComplexType(), clang::interp::Compiler< Emitter >::VisitCompoundLiteralExpr(), clang::TextNodeDumper::VisitConstantArrayType(), clang::interp::Compiler< Emitter >::VisitConstantExpr(), clang::interp::Compiler< Emitter >::VisitCXXConstructExpr(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), clang::interp::Compiler< Emitter >::VisitCXXScalarValueInitExpr(), clang::interp::Compiler< Emitter >::VisitCXXTypeidExpr(), clang::interp::Compiler< Emitter >::visitDeclRef(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitDecltypeType(), clang::TextNodeDumper::VisitDeducedTemplateSpecializationType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitDependentSizedArrayType(), clang::TextNodeDumper::VisitDependentSizedArrayType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitDependentSizedExtVectorType(), clang::TextNodeDumper::VisitDependentSizedExtVectorType(), clang::interp::Compiler< Emitter >::visitExpr(), clang::interp::Compiler< Emitter >::VisitFixedPointBinOp(), clang::JSONNodeDumper::VisitFriendDecl(), clang::TextNodeDumper::VisitFriendDecl(), clang::ASTNodeImporter::VisitFunctionDecl(), clang::TemplateDeclInstantiator::VisitFunctionDecl(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitFunctionProtoType(), clang::JSONNodeDumper::VisitFunctionProtoType(), clang::TextNodeDumper::VisitFunctionProtoType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitFunctionType(), clang::JSONNodeDumper::VisitFunctionType(), clang::TextNodeDumper::VisitFunctionType(), clang::interp::Compiler< Emitter >::VisitGNUNullExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitHLSLAttributedResourceType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitHLSLInlineSpirvType(), clang::interp::Compiler< Emitter >::VisitImplicitValueInitExpr(), clang::interp::Compiler< Emitter >::visitInitList(), clang::TextNodeDumper::VisitInjectedClassNameType(), clang::interp::Compiler< Emitter >::VisitLambdaExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitLocInfoType(), clang::interp::Compiler< Emitter >::VisitLogicalBinOp(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::ento::ExprEngine::VisitMemberExpr(), clang::interp::Compiler< Emitter >::VisitMemberExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitMemberPointerType(), clang::ento::TagVisitor::VisitNode(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::TextNodeDumper::VisitObjCInterfaceType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitObjCObjectPointerType(), clang::ASTDeclReader::VisitObjCPropertyDecl(), clang::interp::Compiler< Emitter >::VisitOffsetOfExpr(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitPackExpansionType(), clang::TextNodeDumper::VisitPackExpansionType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitPackIndexingType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitPipeType(), clang::interp::Compiler< Emitter >::VisitPointerArithBinOp(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitPointerType(), clang::ASTDeclReader::VisitRedeclarable(), clang::ASTDeclWriter::VisitRedeclarable(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitReferenceType(), clang::TextNodeDumper::VisitRValueReferenceType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitSubstTemplateTypeParmPackType(), clang::JSONNodeDumper::VisitSubstTemplateTypeParmPackType(), clang::TextNodeDumper::VisitSubstTemplateTypeParmPackType(), clang::TextNodeDumper::VisitSubstTemplateTypeParmType(), clang::TextNodeDumper::VisitTagType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitTemplateSpecializationType(), clang::TextNodeDumper::VisitTemplateSpecializationType(), clang::TextNodeDumper::VisitTemplateTypeParmType(), clang::ASTNodeImporter::VisitType(), clang::DynamicRecursiveASTVisitorBase< false >::VisitType(), clang::RecursiveASTVisitor< RecursiveSymbolVisitor< T > >::VisitType(), clang::TextNodeDumper::VisitTypedefType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitTypeOfExprType(), clang::interp::Compiler< Emitter >::VisitTypeTraitExpr(), clang::ento::ExprEngine::VisitUnaryExprOrTypeTraitExpr(), clang::interp::Compiler< Emitter >::VisitUnaryOperator(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitUnaryTransformType(), clang::TextNodeDumper::VisitUnaryTransformType(), clang::TextNodeDumper::VisitUnresolvedUsingType(), clang::TextNodeDumper::VisitUsingType(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitVariableArrayType(), clang::TextNodeDumper::VisitVariableArrayType(), clang::ASTNodeImporter::VisitVarTemplateSpecializationDecl(), clang::ASTNodeTraverser< Derived, NodeDelegateType >::VisitVectorType(), clang::TextNodeDumper::VisitVectorType(), clang::CodeGen::CodeGenFunction::VlaSizePair::VlaSizePair(), clang::DynamicRecursiveASTVisitorBase< false >::WalkUpFromType(), clang::RecursiveASTVisitor< RecursiveSymbolVisitor< T > >::WalkUpFromType(), warnAboutRedundantParens(), warnOnSizeofOnArrayDecay(), clang::targets::WebAssembly32TargetInfo::WebAssembly32TargetInfo(), clang::targets::WebAssembly64TargetInfo::WebAssembly64TargetInfo(), clang::targets::WebAssemblyTargetInfo::WebAssemblyTargetInfo(), clang::QualType::withFastQualifiers(), clang::QualType::withoutLocalFastQualifiers(), withoutUnaligned(), clang::serialization::DataStreamBasicWriter< Impl >::writeArray(), clang::serialization::DataStreamBasicWriter< Impl >::writeEnum(), clang::ASTRecordWriter::writeQualType(), and clang::interp::Zero().

◆ TableGenBreakingDAGArgOperators

std::vector<std::string> clang::TableGenBreakingDAGArgOperators

Works only when TableGenBreakInsideDAGArg is not DontBreak. The string list needs to consist of identifiers in TableGen. If any identifier is specified, this limits the line breaks by TableGenBreakInsideDAGArg option only on DAGArg values beginning with the specified identifiers.

For example the configuration,

TableGenBreakInsideDAGArg: BreakAll
TableGenBreakingDAGArgOperators: [ins, outs]

makes the line break only occurs inside DAGArgs beginning with the specified identifiers ins and outs.

let DAGArgIns = (ins
i32:$src1,
i32:$src2
);
let DAGArgOtherID = (other i32:$other1, i32:$other2);
let DAGArgBang = (!cast<SomeType>("Some") i32:$src1, i32:$src2)
U cast(CodeGen::Address addr)
Definition Address.h:327
Version
19

Definition at line 5275 of file Format.h.

Referenced by operator==().

◆ TableGenBreakInsideDAGArg

DAGArgStyle clang::TableGenBreakInsideDAGArg

The styles of the line break inside the DAGArg in TableGen.

Version
19

Definition at line 5303 of file Format.h.

Referenced by operator==().

◆ TabWidth

unsigned clang::TabWidth

◆ TemplateNames

std::vector<std::string> clang::TemplateNames

A vector of non-keyword identifiers that should be interpreted as template names.

A < after a template name is annotated as a template opener instead of a binary operator.

Version
20

Definition at line 5316 of file Format.h.

Referenced by operator==().

◆ 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 1823 of file Diagnostic.h.

Referenced by applyTemplateHighlighting().

◆ TypeColor

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

◆ TypenameMacros

std::vector<std::string> clang::TypenameMacros

A vector of macros that should be interpreted as type declarations instead of as function calls.

These are expected to be macros of the form:

STACK_OF(...)

In the .clang-format configuration file, this can be configured like:

TypenameMacros: [STACK_OF, LIST]

For example: OpenSSL STACK_OF, BSD LIST_ENTRY.

Version
9

Definition at line 5343 of file Format.h.

Referenced by operator==().

◆ TypeNames

std::vector<std::string> clang::TypeNames

A vector of non-keyword identifiers that should be interpreted as type names.

A *, &, or && between a type name and another non-keyword identifier is annotated as a pointer or reference token instead of a binary operator.

Version
17

Definition at line 5326 of file Format.h.

Referenced by operator==().

◆ UndeserializedColor

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

Definition at line 72 of file ASTDumperUtils.h.

Referenced by clang::ASTDumper::dumpLookups(), and clang::TextNodeDumper::Visit().

◆ UseTab

UseTabStyle clang::UseTab

The way to use tab characters in the resulting file.

Version
3.7

Definition at line 5368 of file Format.h.

Referenced by operator==().

◆ ValueColor

◆ ValueKindColor

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

Definition at line 62 of file ASTDumperUtils.h.

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

◆ VariableTemplates

std::vector<std::string> clang::VariableTemplates

A vector of non-keyword identifiers that should be interpreted as variable template names.

A ) after a variable template instantiation is not annotated as the closing parenthesis of C-style cast operator.

Version
20

Definition at line 5377 of file Format.h.

Referenced by operator==().

◆ VerilogBreakBetweenInstancePorts

bool clang::VerilogBreakBetweenInstancePorts

For Verilog, put each port on its own line in module instantiations.

true:
ffnand ff1(.q(),
.qbar(out1),
.clear(in1),
.preset(in2));
false:
ffnand ff1(.q(), .qbar(out1), .clear(in1), .preset(in2));
Version
17

Definition at line 5391 of file Format.h.

Referenced by operator==().

◆ VPName

llvm::StringRef clang::VPName[]
staticconstexpr
Initial value:
= {
"__clang_Interpreter_SetValueNoAlloc",
"__clang_Interpreter_SetValueWithAlloc",
"__clang_Interpreter_SetValueCopyArr", "__ci_newtag"}

Definition at line 463 of file InterpreterValuePrinter.cpp.

◆ WhitespaceSensitiveMacros

std::vector<std::string> clang::WhitespaceSensitiveMacros

A vector of macros which are whitespace-sensitive and should not be touched.

These are expected to be macros of the form:

STRINGIZE(...)

In the .clang-format configuration file, this can be configured like:

WhitespaceSensitiveMacros: [STRINGIZE, PP_STRINGIZE]

For example: BOOST_PP_STRINGIZE

Version
11

Definition at line 5408 of file Format.h.

Referenced by operator==().

◆ WrapNamespaceBodyWithEmptyLines

WrapNamespaceBodyWithEmptyLinesStyle clang::WrapNamespaceBodyWithEmptyLines

Wrap namespace body with empty lines.

Version
20

Definition at line 5441 of file Format.h.

Referenced by operator==().