class Sema

Declaration

class Sema { /* full declaration omitted */ };

Description

Sema - This implements semantic analysis and AST building for C.

Declared at: clang/include/clang/Sema/Sema.h:355

Member Variables

private clang::ExternalSemaSource* ExternalSource
Source of additional semantic information.
private bool isMultiplexExternalSource
Whether Sema has generated a multiplexer and has to delete it.
public clang::OpenCLOptions OpenCLFeatures
public clang::FPOptions CurFPFeatures
public const clang::LangOptions& LangOpts
public clang::Preprocessor& PP
public clang::ASTContext& Context
public clang::ASTConsumer& Consumer
public clang::DiagnosticsEngine& Diags
public clang::SourceManager& SourceMgr
public bool CollectStats
Flag indicating whether or not to collect detailed statistics.
public clang::CodeCompleteConsumer* CodeCompleter
Code-completion consumer.
public clang::DeclContext* CurContext
CurContext - This is the current declaration context of parsing.
public clang::DeclContext* OriginalLexicalContext
Generally null except when we temporarily switch decl contexts, like in
public clang::DeclarationName VAListTagName
VAListTagName - The declaration name corresponding to __va_list_tag. This is used as part of a hack to omit that class from ADL results.
public bool MSStructPragmaOn
public LangOptions::PragmaMSPointersToMembersKind MSPointerToMemberRepresentationMethod
Controls member pointer representation format under the MS ABI.
public SmallVector<clang::Scope*, 2> CurrentSEHFinally
Stack of active SEH __finally scopes. Can be empty.
public clang::SourceLocation ImplicitMSInheritanceAttrLoc
Source location for newly created implicit MSInheritanceAttrs
public llvm::SmallVector<TypoExpr*, 2> TypoExprs
Holds TypoExprs that are created from `createDelayedTypo`. This is used by `TransformTypos` in order to keep track of any TypoExprs that are created recursively during typo correction and wipe them away if the correction fails.
public clang::Sema::PragmaClangSection PragmaClangBSSSection
public clang::Sema::PragmaClangSection PragmaClangDataSection
public clang::Sema::PragmaClangSection PragmaClangRodataSection
public clang::Sema::PragmaClangSection PragmaClangRelroSection
public clang::Sema::PragmaClangSection PragmaClangTextSection
public PragmaStack<clang::MSVtorDispMode> VtorDispStack
0: Suppress all vtordisps 1: Insert vtordisps in the presence of vbase overrides and non-trivial structors 2: Always insert vtordisps to support RTTI on partially constructed objects
public PragmaStack<clang::Sema::AlignPackInfo> AlignPackStack
public SmallVector<clang::Sema::AlignPackIncludeState, 8> AlignPackIncludeStack
public PragmaStack<clang::StringLiteral*> DataSegStack
public PragmaStack<clang::StringLiteral*> BSSSegStack
public PragmaStack<clang::StringLiteral*> ConstSegStack
public PragmaStack<clang::StringLiteral*> CodeSegStack
public PragmaStack<clang::FPOptionsOverride> FpPragmaStack
public clang::FileNullabilityMap NullabilityMap
A mapping that describes the nullability we've seen in each header file.
public clang::StringLiteral* CurInitSeg
Last section used with #pragma init_seg.
public clang::SourceLocation CurInitSegLoc
public llvm::StringMap< std::tuple<StringRef, SourceLocation>> FunctionToSectionMap
Sections used with #pragma alloc_text.
public void* VisContext
VisContext - Manages the stack for # pragma GCC visibility.
public SmallVector<clang::Sema::PragmaAttributeGroup, 2> PragmaAttributeStack
public const clang::Decl* PragmaAttributeCurrentTargetDecl
The declaration that is currently receiving an attribute from the #pragma attribute stack.
public clang::SourceLocation OptimizeOffPragmaLocation
This represents the last location of a "#pragma clang optimize off" directive if such a directive has not been closed by an "on" yet. If optimizations are currently "on", this is set to an invalid location.
public bool MSPragmaOptimizeIsOn = true
The "on" or "off" argument passed by # pragma optimize, that denotes whether the optimizations in the list passed to the pragma should be turned off or on. This boolean is true by default because command line options are honored when `#pragma optimize("", on)`. (i.e. `ModifyFnAttributeMSPragmaOptimze()` does nothing)
public llvm::SmallSetVector<StringRef, 4> MSFunctionNoBuiltins
Set of no-builtin functions listed by # pragma function.
public bool IsBuildingRecoveryCallExpr
This flag is used to avoid building recovery call expressions if Sema is already doing so, which would cause infinite recursions.
public clang::CleanupInfo Cleanup
Used to control the generation of ExprWithCleanups.
public SmallVector<ExprWithCleanups::CleanupObject, 8> ExprCleanupObjects
ExprCleanupObjects - This is the stack of objects requiring cleanup that are created by the current full expression.
public clang::Sema::MaybeODRUseExprSet MaybeODRUseExprs
public std::unique_ptr<sema::FunctionScopeInfo> CachedFunctionScope
public SmallVector<sema::FunctionScopeInfo*, 4> FunctionScopes
Stack containing information about each of the nested function, block, and method scopes that are currently active.
public unsigned int FunctionScopesStart = 0
The index of the first FunctionScope that corresponds to the current context.
public SmallVector<clang::InventedTemplateParameterInfo, 4> InventedParameterInfos
Stack containing information needed when in C++2a an 'auto' is encountered in a function declaration parameter type specifier in order to invent a corresponding template parameter in the enclosing abbreviated function template. This information is also present in LambdaScopeInfo, stored in the FunctionScopes stack.
public unsigned int InventedParameterInfosStart = 0
The index of the first InventedParameterInfo that refers to the current context.
public clang::Sema::ExtVectorDeclsType ExtVectorDecls
ExtVectorDecls - This is a list all the extended vector types. This allows us to associate a raw vector type with one of the ext_vector type names. This is only necessary for issuing pretty diagnostics.
public std::unique_ptr<CXXFieldCollector> FieldCollector
FieldCollector - Collects CXXFieldDecls during parsing of C++ classes.
public clang::Sema::NamedDeclSetType UnusedPrivateFields
Set containing all declared private fields that are not used.
public llvm::SmallSetVector<const TypedefNameDecl*, 4> UnusedLocalTypedefNameCandidates
Set containing all typedefs that are likely unused.
public llvm::MapVector<FieldDecl*, DeleteLocs> DeleteExprs
public std::unique_ptr<RecordDeclSetTy> PureVirtualClassDiagSet
PureVirtualClassDiagSet - a set of class declarations which we have emitted a list of pure virtual functions. Used to prevent emitting the same list more than once.
public llvm::SmallPtrSet<const Decl*, 4> ParsingInitForAutoVars
ParsingInitForAutoVars - a set of declarations with auto types for which we are currently parsing the initializer.
public clang::Sema::TentativeDefinitionsType TentativeDefinitions
All the tentative definitions encountered in the TU.
public SmallVector<clang::VarDecl*, 4> ExternalDeclarations
All the external declarations encoutered and used in the TU.
public clang::Sema::UnusedFileScopedDeclsType UnusedFileScopedDecls
The set of file scoped decls seen so far that have not been used and must warn if not used. Only contains the first declaration.
public clang::Sema::DelegatingCtorDeclsType DelegatingCtorDecls
All the delegating constructors seen so far in the file, used for cycle detection at the end of the TU.
public SmallVector<std::pair<const CXXMethodDecl*, const CXXMethodDecl*>, 2> DelayedOverridingExceptionSpecChecks
All the overriding functions seen during a class definition that had their exception spec checks delayed, plus the overridden function.
public SmallVector< std::pair<FunctionDecl*, FunctionDecl*>, 2> DelayedEquivalentExceptionSpecChecks
All the function redeclarations seen during a class definition that had their exception spec checks delayed, plus the prior declaration they should be checked against. Except during error recovery, the new decl should always be a friend declaration, as that's the only valid way to redeclare a special member before its class is complete.
public clang::Sema::LateParsedTemplateMapT LateParsedTemplateMap
public clang::Sema::LateTemplateParserCB* LateTemplateParser
public clang::Sema::LateTemplateParserCleanupCB* LateTemplateParserCleanup
public void* OpaqueParser
public class DelayedDiagnostics DelayedDiagnostics
public bool RebuildingImmediateInvocation = false
Whether the AST is currently being rebuilt to correct immediate invocations. Immediate invocation candidates and references to consteval functions aren't tracked when this is set.
public bool isConstantEvaluatedOverride
Used to change context to isConstantEvaluated without pushing a heavy ExpressionEvaluationContextRecord object.
public llvm::MapVector< IdentifierInfo*, llvm::SetVector< WeakInfo, llvm::SmallVector<WeakInfo, 1U>, llvm::SmallDenseSet< WeakInfo, 2U, WeakInfo::DenseMapInfoByAliasOnly>>> WeakUndeclaredIdentifiers
For aliases, the target identifier is used as a key for eventual processing when the target is declared. For the single-identifier form, the sole identifier is used as the key. Each entry is a `SetVector` (ordered by parse order) of aliases (identified by the alias name) in case of multiple aliases to the same undeclared identifier.
public llvm::DenseMap<IdentifierInfo*, AsmLabelAttr*> ExtnameUndeclaredIdentifiers
ExtnameUndeclaredIdentifiers - Identifiers contained in # pragma redefine_extname before declared. Used in Solaris system headers to define functions that occur in multiple standards to call the version in the currently selected standard.
public SmallVector<clang::Decl*, 2> WeakTopLevelDecl
WeakTopLevelDecl - Translation-unit scoped declarations generated by # pragma weak during processing of other Decls. I couldn't figure out a clean way to generate these in-line, so we store them here and handle separately -- which is a hack. It would be best to refactor this.
public clang::IdentifierResolver IdResolver
public clang::Scope* TUScope
Translation Unit Scope - useful to Objective-C actions that need to lookup file scope declarations in the "ordinary" C decl namespace. For example, user-defined classes, built-in "id" type, etc.
public clang::LazyDeclPtr StdNamespace
The C++ "std" namespace, where the standard library resides.
public clang::LazyDeclPtr StdBadAlloc
The C++ "std::bad_alloc" class, which is defined by the C++ standard library.
public clang::LazyDeclPtr StdAlignValT
The C++ "std::align_val_t" enum class, which is defined by the C++ standard library.
public clang::NamespaceDecl* StdExperimentalNamespaceCache
The C++ "std::experimental" namespace, where the experimental parts of the standard library resides.
public clang::ClassTemplateDecl* StdInitializerList
The C++ "std::initializer_list" template, which is defined in < initializer_list>.
public clang::ClassTemplateDecl* StdCoroutineTraitsCache
The C++ "std::coroutine_traits" template, which is defined in < coroutine_traits>
public clang::NamespaceDecl* CoroTraitsNamespaceCache
The namespace where coroutine components are defined. In standard, they are defined in std namespace. And in the previous implementation, they are defined in std::experimental namespace.
public clang::RecordDecl* CXXTypeInfoDecl
The C++ "type_info" declaration, which is defined in < typeinfo>.
public clang::RecordDecl* MSVCGuidDecl
The MSVC "_GUID" struct, which is defined in MSVC header files.
public clang::RecordDecl* StdSourceLocationImplDecl
The C++ "std::source_location::__impl" struct, defined in < source_location>.
public std::unique_ptr<NSAPI> NSAPIObj
Caches identifiers/selectors for NSFoundation APIs.
public clang::ObjCInterfaceDecl* NSNumberDecl
The declaration of the Objective-C NSNumber class.
public clang::ObjCInterfaceDecl* NSValueDecl
The declaration of the Objective-C NSValue class.
public clang::QualType NSNumberPointer
Pointer to NSNumber type (NSNumber *).
public clang::QualType NSValuePointer
Pointer to NSValue type (NSValue *).
public clang::ObjCMethodDecl* [15] NSNumberLiteralMethods
The Objective-C NSNumber methods used to create NSNumber literals.
public clang::ObjCInterfaceDecl* NSStringDecl
The declaration of the Objective-C NSString class.
public clang::QualType NSStringPointer
Pointer to NSString type (NSString *).
public clang::ObjCMethodDecl* StringWithUTF8StringMethod
The declaration of the stringWithUTF8String: method.
public clang::ObjCMethodDecl* ValueWithBytesObjCTypeMethod
The declaration of the valueWithBytes:objCType: method.
public clang::ObjCInterfaceDecl* NSArrayDecl
The declaration of the Objective-C NSArray class.
public clang::ObjCMethodDecl* ArrayWithObjectsMethod
The declaration of the arrayWithObjects:count: method.
public clang::ObjCInterfaceDecl* NSDictionaryDecl
The declaration of the Objective-C NSDictionary class.
public clang::ObjCMethodDecl* DictionaryWithObjectsMethod
The declaration of the dictionaryWithObjects:forKeys:count: method.
public clang::QualType QIDNSCopying
id <NSCopying > type.
public clang::Selector RespondsToSelectorSel
will hold 'respondsToSelector:'
public bool GlobalNewDeleteDeclared
A flag to remember whether the implicit forms of operator new and delete have been declared.
public SmallVector<clang::Sema:: ExpressionEvaluationContextRecord, 8> ExprEvalContexts
A stack of expression evaluation contexts.
public llvm::FoldingSet<SpecialMemberOverloadResultEntry> SpecialMemberCache
A cache of special member function overload resolution results for C++ records.
public llvm::DenseMap<const EnumDecl*, llvm::APInt> FlagBitsCache
A cache of the flags available in enumerations with the flag_bits attribute.
public const clang::TranslationUnitKind TUKind
When we're processing a complete translation unit, Sema will perform end-of-translation-unit semantic tasks (such as creating initializers for tentative definitions in C) once parsing has completed. Modules and precompiled headers perform different kinds of checks.
public llvm::BumpPtrAllocator BumpAlloc
public unsigned int NumSFINAEErrors
The number of SFINAE diagnostics that have been trapped.
public clang::Sema::UnparsedDefaultArgInstantiationsMap UnparsedDefaultArgInstantiations
This mapping is a temporary data structure used when parsing nested class templates or nested classes of class templates, where we might end up instantiating an inner class before the default arguments of its methods have been parsed.
public llvm::DenseMap<ParmVarDecl*, SourceLocation> UnparsedDefaultArgLocs
public llvm::MapVector<NamedDecl*, SourceLocation> UndefinedButUsed
UndefinedInternals - all the used, undefined objects which require a definition in this translation unit.
public clang::Sema::GlobalMethodPool MethodPool
Method Pool - allows efficient lookup when typechecking messages to "id". We need to maintain a list, since selectors can have differing signatures across classes. In Cocoa, this happens to be extremely uncommon (only 1% of selectors are "overloaded"). At the head of the list it is recorded whether there were 0, 1, or >= 2 methods inside categories with a particular selector.
public llvm::MapVector<Selector, SourceLocation> ReferencedSelectors
Method selectors used in a @ selector expression. Used for implementation of -Wselector.
public llvm::SmallVector< std::pair<SourceLocation, const BlockDecl*>, 1> ImplicitlyRetainedSelfLocs
List of SourceLocations where 'self' is implicitly retained inside a block.
public llvm::SmallPtrSet<SpecialMemberDecl, 4> SpecialMembersBeingDeclared
The C++ special members which we are currently in the process of declaring. If this process recursively triggers the declaration of the same special member, we should act as if it is not yet declared.
public llvm::SmallPtrSet<const NamedDecl*, 4> TypoCorrectedFunctionDefinitions
The function definitions which were renamed as part of typo-correction to match their respective declarations. We want to keep track of them to ensure that we don't emit a "redefinition" error if we encounter a correctly named definition after the renamed definition.
public llvm::SmallVector<QualType, 4> CurrentParameterCopyTypes
Stack of types that correspond to the parameter entities that are currently being copy-initialized. Can be empty.
public bool WarnedStackExhausted = false
public llvm::DenseMap<const VarDecl*, int> RefsMinusAssignments
Increment when we find a reference; decrement when we find an ignored assignment. Ultimately the value is 0 if every reference is an ignored assignment.
public bool DeclareRISCVVBuiltins = false
Indicate RISC-V vector builtin functions enabled or not.
private std::unique_ptr<sema::RISCVIntrinsicManager> RVIntrinsicManager
private Optional<std::unique_ptr<DarwinSDKInfo>> CachedDarwinSDKInfo
private bool WarnedDarwinSDKInfoMissing = false
public bool IsLastErrorImmediate = true
Is the last error level diagnostic immediate. This is used to determined whether the next info diagnostic should be immediate.
public bool DeferDiags = false
Whether deferrable diagnostics should be deferred.
private llvm::SmallSetVector<Decl*, 4> DeclsToCheckForDeferredDiags
Function or variable declarations to be checked for whether the deferred diagnostics should be emitted.
private llvm::SmallVector<ModuleScope, 16> ModuleScopes
The modules we're currently parsing.
private clang::Module* GlobalModuleFragment = nullptr
The global module fragment of the current translation unit.
private llvm::SmallPtrSet<clang::Module*, 8> DirectModuleImports
The modules we imported directly.
private llvm::SmallPtrSet<const NamespaceDecl*, 8> DeferredExportedNamespaces
Namespace definitions that we will export when they finish.
private clang::VisibleModuleSet VisibleModules
private llvm::DenseSet<const Module*> UsableModuleUnitsCache
Cache for module units which is usable for current module.
private llvm::DenseMap<const NamedDecl*, const NamedDecl*> ShadowingDecls
Map of current shadowing declarations to shadowed declarations. Warn if it looks like the user is trying to modify the shadowing declaration.
private llvm::MapVector<TypoExpr*, TypoExprState> DelayedTypos
The set of unhandled TypoExprs and their associated state.
private llvm::MapVector<NamespaceDecl*, bool> KnownNamespaces
private bool LoadedExternalKnownNamespaces
Whether we have already loaded known namespaces from an extenal source.
private llvm::SmallBitVector FullyCheckedComparisonCategories
public clang::QualType CXXThisTypeOverride
When non-NULL, the C++ 'this' expression is allowed despite the current context not being a non-static member function. In such cases, this provides the type used for 'this'.
private llvm::DenseMap<std::pair<NamedDecl*, NamedDecl*>, bool> SubsumptionCache
Caches pairs of template-like decls whose associated constraints were checked for subsumption and whether or not the first's constraints did in fact subsume the second's.
private llvm::DenseMap<NamedDecl*, NormalizedConstraint*> NormalizationCache
Caches the normalized associated constraints of declarations (concepts or constrained declarations). If an error occurred while normalizing the associated constraints of the template or concept, nullptr will be cached here.
private llvm::ContextualFoldingSet<ConstraintSatisfaction, const ASTContext&> SatisfactionCache
public SmallVector<clang::Sema::VTableUse, 16> VTableUses
The list of vtables that are required but have not yet been materialized.
public llvm::DenseMap<CXXRecordDecl*, bool> VTablesUsed
The set of classes whose vtables have been used within this translation unit, and a bit that will be true if the vtable is required to be emitted (otherwise, it should be emitted only if needed by code generation).
public bool AccessCheckingSFINAE
When true, access checking violations are treated as SFINAE failures rather than hard errors.
public SmallVector<clang::Sema::CodeSynthesisContext, 16> CodeSynthesisContexts
This vector is treated as a stack. As synthesis of one entity requires synthesis of another, additional contexts are pushed onto the stack.
public llvm::DenseSet<std::pair<Decl*, unsigned int>> InstantiatingSpecializations
Specializations whose definitions are currently being instantiated.
public llvm::DenseSet<QualType> InstantiatedNonDependentTypes
Non-dependent types used in templates that have already been instantiated by some template instantiation.
public SmallVector<clang::Module*, 16> CodeSynthesisContextLookupModules
Extra modules inspected when performing a lookup during a template instantiation. Computed lazily.
public llvm::DenseSet<Module*> LookupModulesCache
Cache of additional modules that should be used for name lookup within the current template instantiation. Computed lazily; use getLookupModules() to get a complete set.
public llvm::DenseMap<NamedDecl*, NamedDecl*> VisibleNamespaceCache
Map from the most recent declaration of a namespace to the most recent visible declaration of that namespace.
public bool InNonInstantiationSFINAEContext
This is used when setting up a SFINAE trap (\c see SFINAETrap) outside of a template instantiation or template argument deduction.
public unsigned int NonInstantiationEntries
When the instantiation depth reaches the user-configurable limit\p LangOptions::InstantiationDepth we will abort instantiation.
public unsigned int LastEmittedCodeSynthesisContextDepth = 0
This value is used to suppress printing of redundant context stacks when there are multiple errors or warnings in the same instantiation.
public std::vector<std::unique_ptr< TemplateInstantiationCallback>> TemplateInstCallbacks
This callbacks is used to print, trace or track template instantiations as they are being constructed.
public int ArgumentPackSubstitutionIndex
The pack expansion index will be -1 to indicate that parameter packs should be instantiated as themselves. Otherwise, the index specifies which argument within the parameter pack will be used for substitution.
public clang::Sema::SuppressedDiagnosticsMap SuppressedDiagnostics
public clang::LocalInstantiationScope* CurrentInstantiationScope
The current instantiation scope used to store local variables.
public bool DisableTypoCorrection
Tracks whether we are in a context where typo correction is disabled.
public unsigned int TyposCorrected
The number of typos corrected by CorrectTypo.
public clang::Sema::IdentifierSourceLocations TypoCorrectionFailures
A cache containing identifiers for which typo correction failed and their locations, so that repeated attempts to correct an identifier in a given location are ignored if typo correction already failed for it.
public sema::AnalysisBasedWarnings AnalysisWarnings
Worker object for performing CFG-based warnings.
public threadSafety::BeforeSet* ThreadSafetyDeclCache
public std::deque<PendingImplicitInstantiation> PendingInstantiations
The queue of implicit template instantiations that are required but have not yet been performed.
public SmallVector< clang::Sema::PendingImplicitInstantiation, 1> LateParsedInstantiations
Queue of implicit template instantiations that cannot be performed eagerly.
public std::deque<PendingImplicitInstantiation> PendingLocalImplicitInstantiations
This queue is only used for member functions of local classes in templates, which must be instantiated in the same scope as their enclosing function, so that they can reference function-local types, static variables, enumerators, etc.
private void* VarDataSharingAttributesStack
private SmallVector<clang::Sema::DeclareTargetContextInfo, 4> DeclareTargetNesting
Number of nested '#pragma omp declare target' directives.
private SmallVector<clang::Sema::OMPDeclareVariantScope, 4> OMPDeclareVariantScopes
The current `omp begin/end declare variant` scopes.
private SmallVector<clang::AssumptionAttr*, 4> OMPAssumeScoped
The current `omp begin/end assumes` scopes.
private SmallVector<clang::AssumptionAttr*, 4> OMPAssumeGlobal
All `omp assumes` we encountered so far.
private unsigned int ForceCUDAHostDeviceDepth = 0
public llvm::DenseMap<CanonicalDeclPtr<FunctionDecl>, std::vector<PartialDiagnosticAt>> DeviceDeferredDiags
Diagnostics that are emitted only if we discover that the given function must be codegen'ed. Because handling these correctly adds overhead to compilation, this is currently only enabled for CUDA compilations.
public llvm::DenseSet<FunctionDeclAndLoc> LocsWithCUDACallDiags
FunctionDecls and SourceLocations for which CheckCUDACall has emitted a (maybe deferred) "bad call" diagnostic. We use this to avoid emitting the same deferred diag twice.
public llvm::DenseMap<CanonicalDeclPtr<FunctionDecl>, FunctionDeclAndLoc> DeviceKnownEmittedFns
Functions that we can tell a priori must be emitted aren't added to this map.
private std::unique_ptr<llvm::DenseMap<TypeTagMagicValue, TypeTagData>> TypeTagForDatatypeMagicValues
A map from magic value to type information.
private clang::Scope* CurScope
The parser maintains this state here.
private clang::IdentifierInfo* Ident_super
private clang::IdentifierInfo* Ident___float128
private clang::IdentifierInfo* Ident__Nonnull = nullptr
Nullability type specifiers.
private clang::IdentifierInfo* Ident__Nullable = nullptr
private clang::IdentifierInfo* Ident__Nullable_result = nullptr
private clang::IdentifierInfo* Ident__Null_unspecified = nullptr
private clang::IdentifierInfo* Ident_NSError = nullptr
private sema::SemaPPCallbacks* SemaPPCallbackHandler
Used for diagnostics that implement custom semantic analysis for #include directives, like -Wpragma-pack.
public clang::RecordDecl* CFError = nullptr
The struct behind the CFErrorRef pointer.
public SmallVector<clang::CXXRecordDecl*, 4> DelayedDllExportClasses
public SmallVector<clang::CXXMethodDecl*, 4> DelayedDllExportMemberFunctions
private int ParsingClassDepth = 0
private SmallVector<clang::Sema::MisalignedMember, 4> MisalignedMembers
Small set of gathered accesses to potentially misaligned members due to the packed attribute.
public static const unsigned int MaxAlignmentExponent = 32
This is the greatest alignment value supported by load, store, and alloca instructions, and global values.
public static const uint64_t MaximumAlignment = 1ULL << MaxAlignmentExponent

Method Overview

  • public void ActOnAbortSEHFinallyBlock()
  • public bool ActOnAccessSpecifier(clang::AccessSpecifier Access, clang::SourceLocation ASLoc, clang::SourceLocation ColonLoc, const clang::ParsedAttributesView & Attrs)
  • public clang::ExprResult ActOnAddrLabel(clang::SourceLocation OpLoc, clang::SourceLocation LabLoc, clang::LabelDecl * TheDecl)
  • public void ActOnAfterCompoundStatementLeadingPragmas()
  • public clang::Decl * ActOnAliasDeclaration(clang::Scope * CurScope, clang::AccessSpecifier AS, clang::MultiTemplateParamsArg TemplateParams, clang::SourceLocation UsingLoc, clang::UnqualifiedId & Name, const clang::ParsedAttributesView & AttrList, clang::TypeResult Type, clang::Decl * DeclFromDeclSpec)
  • public clang::ExprResult ActOnArraySubscriptExpr(clang::Scope * S, clang::Expr * Base, clang::SourceLocation LLoc, clang::MultiExprArg ArgExprs, clang::SourceLocation RLoc)
  • public clang::ExprResult ActOnArrayTypeTrait(clang::ArrayTypeTrait ATT, clang::SourceLocation KWLoc, clang::ParsedType LhsTy, clang::Expr * DimExpr, clang::SourceLocation RParen)
  • public clang::ExprResult ActOnAsTypeExpr(clang::Expr * E, clang::ParsedType ParsedDestTy, clang::SourceLocation BuiltinLoc, clang::SourceLocation RParenLoc)
  • public clang::Decl * ActOnAtEnd(clang::Scope * S, clang::SourceRange AtEnd, ArrayRef<clang::Decl *> allMethods = None, ArrayRef<clang::Sema::DeclGroupPtrTy> allTUVars = None)
  • public clang::StmtResult ActOnAttributedStmt(const clang::ParsedAttributes & AttrList, clang::Stmt * SubStmt)
  • public clang::BaseResult ActOnBaseSpecifier(clang::Decl * classdecl, clang::SourceRange SpecifierRange, const clang::ParsedAttributesView & Attrs, bool Virtual, clang::AccessSpecifier Access, clang::ParsedType basetype, clang::SourceLocation BaseLoc, clang::SourceLocation EllipsisLoc)
  • public void ActOnBaseSpecifiers(clang::Decl * ClassDecl, MutableArrayRef<clang::CXXBaseSpecifier *> Bases)
  • public clang::ExprResult ActOnBinOp(clang::Scope * S, clang::SourceLocation TokLoc, tok::TokenKind Kind, clang::Expr * LHSExpr, clang::Expr * RHSExpr)
  • public void ActOnBlockArguments(clang::SourceLocation CaretLoc, clang::Declarator & ParamInfo, clang::Scope * CurScope)
  • public void ActOnBlockError(clang::SourceLocation CaretLoc, clang::Scope * CurScope)
  • public void ActOnBlockStart(clang::SourceLocation CaretLoc, clang::Scope * CurScope)
  • public clang::ExprResult ActOnBlockStmtExpr(clang::SourceLocation CaretLoc, clang::Stmt * Body, clang::Scope * CurScope)
  • public clang::StmtResult ActOnBreakStmt(clang::SourceLocation BreakLoc, clang::Scope * CurScope)
  • public clang::ExprResult ActOnBuiltinBitCastExpr(clang::SourceLocation KWLoc, clang::Declarator & Dcl, clang::ExprResult Operand, clang::SourceLocation RParenLoc)
  • public clang::ExprResult ActOnBuiltinOffsetOf(clang::Scope * S, clang::SourceLocation BuiltinLoc, clang::SourceLocation TypeLoc, clang::ParsedType ParsedArgTy, ArrayRef<clang::Sema::OffsetOfComponent> Components, clang::SourceLocation RParenLoc)
  • public clang::ExprResult ActOnCUDAExecConfigExpr(clang::Scope * S, clang::SourceLocation LLLLoc, clang::MultiExprArg ExecConfig, clang::SourceLocation GGGLoc)
  • public clang::ExprResult ActOnCXXBoolLiteral(clang::SourceLocation OpLoc, tok::TokenKind Kind)
  • public clang::StmtResult ActOnCXXCatchBlock(clang::SourceLocation CatchLoc, clang::Decl * ExDecl, clang::Stmt * HandlerBlock)
  • public clang::DeclResult ActOnCXXConditionDeclaration(clang::Scope * S, clang::Declarator & D)
  • public clang::ExprResult ActOnCXXDelete(clang::SourceLocation StartLoc, bool UseGlobal, bool ArrayForm, clang::Expr * Operand)
  • public void ActOnCXXEnterDeclInitializer(clang::Scope * S, clang::Decl * Dcl)
  • public bool ActOnCXXEnterDeclaratorScope(clang::Scope * S, clang::CXXScopeSpec & SS)
  • public void ActOnCXXExitDeclInitializer(clang::Scope * S, clang::Decl * Dcl)
  • public void ActOnCXXExitDeclaratorScope(clang::Scope * S, const clang::CXXScopeSpec & SS)
  • public clang::ExprResult ActOnCXXFoldExpr(clang::Scope * S, clang::SourceLocation LParenLoc, clang::Expr * LHS, tok::TokenKind Operator, clang::SourceLocation EllipsisLoc, clang::Expr * RHS, clang::SourceLocation RParenLoc)
  • public void ActOnCXXForRangeDecl(clang::Decl * D)
  • public clang::StmtResult ActOnCXXForRangeIdentifier(clang::Scope * S, clang::SourceLocation IdentLoc, clang::IdentifierInfo * Ident, clang::ParsedAttributes & Attrs)
  • public clang::StmtResult ActOnCXXForRangeStmt(clang::Scope * S, clang::SourceLocation ForLoc, clang::SourceLocation CoawaitLoc, clang::Stmt * InitStmt, clang::Stmt * LoopVar, clang::SourceLocation ColonLoc, clang::Expr * Collection, clang::SourceLocation RParenLoc, clang::Sema::BuildForRangeKind Kind)
  • public bool ActOnCXXGlobalScopeSpecifier(clang::SourceLocation CCLoc, clang::CXXScopeSpec & SS)
  • public clang::NamedDecl * ActOnCXXMemberDeclarator(clang::Scope * S, clang::AccessSpecifier AS, clang::Declarator & D, clang::MultiTemplateParamsArg TemplateParameterLists, clang::Expr * BitfieldWidth, const clang::VirtSpecifiers & VS, clang::InClassInitStyle InitStyle)
  • public clang::ExprResult ActOnCXXNamedCast(clang::SourceLocation OpLoc, tok::TokenKind Kind, clang::SourceLocation LAngleBracketLoc, clang::Declarator & D, clang::SourceLocation RAngleBracketLoc, clang::SourceLocation LParenLoc, clang::Expr * E, clang::SourceLocation RParenLoc)
  • public bool ActOnCXXNestedNameSpecifier(clang::Scope * S, clang::Sema::NestedNameSpecInfo & IdInfo, bool EnteringContext, clang::CXXScopeSpec & SS, bool * IsCorrectedToColon = nullptr, bool OnlyNamespace = false)
  • public bool ActOnCXXNestedNameSpecifier(clang::Scope * S, clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::Sema::TemplateTy TemplateName, clang::SourceLocation TemplateNameLoc, clang::SourceLocation LAngleLoc, clang::ASTTemplateArgsPtr TemplateArgs, clang::SourceLocation RAngleLoc, clang::SourceLocation CCLoc, bool EnteringContext)
  • public bool ActOnCXXNestedNameSpecifierDecltype(clang::CXXScopeSpec & SS, const clang::DeclSpec & DS, clang::SourceLocation ColonColonLoc)
  • public clang::ExprResult ActOnCXXNew(clang::SourceLocation StartLoc, bool UseGlobal, clang::SourceLocation PlacementLParen, clang::MultiExprArg PlacementArgs, clang::SourceLocation PlacementRParen, clang::SourceRange TypeIdParens, clang::Declarator & D, clang::Expr * Initializer)
  • public clang::ExprResult ActOnCXXNullPtrLiteral(clang::SourceLocation Loc)
  • public clang::ExprResult ActOnCXXThis(clang::SourceLocation loc)
  • public clang::ExprResult ActOnCXXThrow(clang::Scope * S, clang::SourceLocation OpLoc, clang::Expr * expr)
  • public clang::StmtResult ActOnCXXTryBlock(clang::SourceLocation TryLoc, clang::Stmt * TryBlock, ArrayRef<clang::Stmt *> Handlers)
  • public clang::ExprResult ActOnCXXTypeConstructExpr(clang::ParsedType TypeRep, clang::SourceLocation LParenOrBraceLoc, clang::MultiExprArg Exprs, clang::SourceLocation RParenOrBraceLoc, bool ListInitialization)
  • public clang::ExprResult ActOnCXXTypeid(clang::SourceLocation OpLoc, clang::SourceLocation LParenLoc, bool isType, void * TyOrExpr, clang::SourceLocation RParenLoc)
  • public clang::ExprResult ActOnCXXUuidof(clang::SourceLocation OpLoc, clang::SourceLocation LParenLoc, bool isType, void * TyOrExpr, clang::SourceLocation RParenLoc)
  • public clang::ExprResult ActOnCallExpr(clang::Scope * S, clang::Expr * Fn, clang::SourceLocation LParenLoc, clang::MultiExprArg ArgExprs, clang::SourceLocation RParenLoc, clang::Expr * ExecConfig = nullptr)
  • public clang::StmtResult ActOnCapScopeReturnStmt(clang::SourceLocation ReturnLoc, clang::Expr * RetValExp, clang::Sema::NamedReturnInfo & NRInfo, bool SupressSimplerImplicitMoves)
  • public clang::StmtResult ActOnCapturedRegionEnd(clang::Stmt * S)
  • public void ActOnCapturedRegionError()
  • public void ActOnCapturedRegionStart(clang::SourceLocation Loc, clang::Scope * CurScope, clang::CapturedRegionKind Kind, unsigned int NumParams)
  • public void ActOnCapturedRegionStart(clang::SourceLocation Loc, clang::Scope * CurScope, clang::CapturedRegionKind Kind, ArrayRef<clang::Sema::CapturedParamNameType> Params, unsigned int OpenMPCaptureLevel = 0)
  • public clang::ExprResult ActOnCaseExpr(clang::SourceLocation CaseLoc, clang::ExprResult Val)
  • public clang::StmtResult ActOnCaseStmt(clang::SourceLocation CaseLoc, clang::ExprResult LHS, clang::SourceLocation DotDotDotLoc, clang::ExprResult RHS, clang::SourceLocation ColonLoc)
  • public void ActOnCaseStmtBody(clang::Stmt * CaseStmt, clang::Stmt * SubStmt)
  • public clang::ExprResult ActOnCastExpr(clang::Scope * S, clang::SourceLocation LParenLoc, clang::Declarator & D, clang::ParsedType & Ty, clang::SourceLocation RParenLoc, clang::Expr * CastExpr)
  • public clang::ExprResult ActOnCharacterConstant(const clang::Token & Tok, clang::Scope * UDLScope = nullptr)
  • public clang::ExprResult ActOnChooseExpr(clang::SourceLocation BuiltinLoc, clang::Expr * CondExpr, clang::Expr * LHSExpr, clang::Expr * RHSExpr, clang::SourceLocation RPLoc)
  • public clang::ExprResult ActOnClassMessage(clang::Scope * S, clang::ParsedType Receiver, clang::Selector Sel, clang::SourceLocation LBracLoc, ArrayRef<clang::SourceLocation> SelectorLocs, clang::SourceLocation RBracLoc, clang::MultiExprArg Args)
  • public clang::ExprResult ActOnClassPropertyRefExpr(clang::IdentifierInfo & receiverName, clang::IdentifierInfo & propertyName, clang::SourceLocation receiverNameLoc, clang::SourceLocation propertyNameLoc)
  • public clang::DeclResult ActOnClassTemplateSpecialization(clang::Scope * S, unsigned int TagSpec, clang::Sema::TagUseKind TUK, clang::SourceLocation KWLoc, clang::SourceLocation ModulePrivateLoc, clang::CXXScopeSpec & SS, clang::TemplateIdAnnotation & TemplateId, const clang::ParsedAttributesView & Attr, clang::MultiTemplateParamsArg TemplateParameterLists, clang::Sema::SkipBodyInfo * SkipBody = nullptr)
  • public clang::ExprResult ActOnCoawaitExpr(clang::Scope * S, clang::SourceLocation KwLoc, clang::Expr * E)
  • public void ActOnComment(clang::SourceRange Comment)
  • public clang::Decl * ActOnCompatibilityAlias(clang::SourceLocation AtCompatibilityAliasLoc, clang::IdentifierInfo * AliasName, clang::SourceLocation AliasLocation, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassLocation)
  • public clang::ExprResult ActOnCompoundLiteral(clang::SourceLocation LParenLoc, clang::ParsedType Ty, clang::SourceLocation RParenLoc, clang::Expr * InitExpr)
  • public concepts::Requirement * ActOnCompoundRequirement(clang::Expr * E, clang::SourceLocation NoexceptLoc)
  • public concepts::Requirement * ActOnCompoundRequirement(clang::Expr * E, clang::SourceLocation NoexceptLoc, clang::CXXScopeSpec & SS, clang::TemplateIdAnnotation * TypeConstraint, unsigned int Depth)
  • public clang::StmtResult ActOnCompoundStmt(clang::SourceLocation L, clang::SourceLocation R, ArrayRef<clang::Stmt *> Elts, bool isStmtExpr)
  • public clang::Decl * ActOnConceptDefinition(clang::Scope * S, clang::MultiTemplateParamsArg TemplateParameterLists, clang::IdentifierInfo * Name, clang::SourceLocation NameLoc, clang::Expr * ConstraintExpr)
  • public clang::Sema::ConditionResult ActOnCondition(clang::Scope * S, clang::SourceLocation Loc, clang::Expr * SubExpr, clang::Sema::ConditionKind CK, bool MissingOK = false)
  • public clang::Sema::ConditionResult ActOnConditionVariable(clang::Decl * ConditionVar, clang::SourceLocation StmtLoc, clang::Sema::ConditionKind CK)
  • public clang::ExprResult ActOnConditionalOp(clang::SourceLocation QuestionLoc, clang::SourceLocation ColonLoc, clang::Expr * CondExpr, clang::Expr * LHSExpr, clang::Expr * RHSExpr)
  • public clang::ExprResult ActOnConstantExpression(clang::ExprResult Res)
  • public clang::StmtResult ActOnContinueStmt(clang::SourceLocation ContinueLoc, clang::Scope * CurScope)
  • public clang::Decl * ActOnConversionDeclarator(clang::CXXConversionDecl * Conversion)
  • public clang::ExprResult ActOnConvertVectorExpr(clang::Expr * E, clang::ParsedType ParsedDestTy, clang::SourceLocation BuiltinLoc, clang::SourceLocation RParenLoc)
  • public clang::StmtResult ActOnCoreturnStmt(clang::Scope * S, clang::SourceLocation KwLoc, clang::Expr * E)
  • public bool ActOnCoroutineBodyStart(clang::Scope * S, clang::SourceLocation KwLoc, llvm::StringRef Keyword)
  • public clang::ExprResult ActOnCoyieldExpr(clang::Scope * S, clang::SourceLocation KwLoc, clang::Expr * E)
  • public clang::StmtResult ActOnDeclStmt(clang::Sema::DeclGroupPtrTy Decl, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::Decl * ActOnDeclarator(clang::Scope * S, clang::Declarator & D)
  • public clang::ExprResult ActOnDecltypeExpression(clang::Expr * E)
  • public clang::NamedDecl * ActOnDecompositionDeclarator(clang::Scope * S, clang::Declarator & D, clang::MultiTemplateParamsArg TemplateParamLists)
  • public void ActOnDefaultCtorInitializers(clang::Decl * CDtorDecl)
  • public clang::StmtResult ActOnDefaultStmt(clang::SourceLocation DefaultLoc, clang::SourceLocation ColonLoc, clang::Stmt * SubStmt, clang::Scope * CurScope)
  • public void ActOnDefs(clang::Scope * S, clang::Decl * TagD, clang::SourceLocation DeclStart, clang::IdentifierInfo * ClassName, SmallVectorImpl<clang::Decl *> & Decls)
  • public void ActOnDelayedCXXMethodParameter(clang::Scope * S, clang::Decl * Param)
  • public clang::ExprResult ActOnDependentIdExpression(const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, const clang::DeclarationNameInfo & NameInfo, bool isAddressOfOperand, const clang::TemplateArgumentListInfo * TemplateArgs)
  • public clang::ExprResult ActOnDependentMemberExpr(clang::Expr * Base, clang::QualType BaseType, bool IsArrow, clang::SourceLocation OpLoc, const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::NamedDecl * FirstQualifierInScope, const clang::DeclarationNameInfo & NameInfo, const clang::TemplateArgumentListInfo * TemplateArgs)
  • public clang::TypeResult ActOnDependentTag(clang::Scope * S, unsigned int TagSpec, clang::Sema::TagUseKind TUK, const clang::CXXScopeSpec & SS, clang::IdentifierInfo * Name, clang::SourceLocation TagLoc, clang::SourceLocation NameLoc)
  • public clang::ExprResult ActOnDesignatedInitializer(clang::Designation & Desig, clang::SourceLocation EqualOrColonLoc, bool GNUSyntax, clang::ExprResult Init)
  • public clang::StmtResult ActOnDoStmt(clang::SourceLocation DoLoc, clang::Stmt * Body, clang::SourceLocation WhileLoc, clang::SourceLocation CondLParen, clang::Expr * Cond, clang::SourceLocation CondRParen)
  • public void ActOnDocumentableDecl(clang::Decl * D)
  • public void ActOnDocumentableDecls(ArrayRef<clang::Decl *> Group)
  • public bool ActOnDuplicateDefinition(clang::Decl * Prev, clang::Sema::SkipBodyInfo & SkipBody)
  • public clang::Decl * ActOnEmptyDeclaration(clang::Scope * S, const clang::ParsedAttributesView & AttrList, clang::SourceLocation SemiLoc)
  • public void ActOnEndOfTranslationUnit()
  • public void ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind Kind)
  • public void ActOnEnumBody(clang::SourceLocation EnumLoc, clang::SourceRange BraceRange, clang::Decl * EnumDecl, ArrayRef<clang::Decl *> Elements, clang::Scope * S, const clang::ParsedAttributesView & Attr)
  • public clang::Decl * ActOnEnumConstant(clang::Scope * S, clang::Decl * EnumDecl, clang::Decl * LastEnumConstant, clang::SourceLocation IdLoc, clang::IdentifierInfo * Id, const clang::ParsedAttributesView & Attrs, clang::SourceLocation EqualLoc, clang::Expr * Val)
  • public clang::Decl * ActOnExceptionDeclarator(clang::Scope * S, clang::Declarator & D)
  • public void ActOnExitFunctionContext()
  • public clang::ExplicitSpecifier ActOnExplicitBoolSpecifier(clang::Expr * E)
  • public clang::DeclResult ActOnExplicitInstantiation(clang::Scope * S, clang::SourceLocation ExternLoc, clang::SourceLocation TemplateLoc, clang::Declarator & D)
  • public clang::DeclResult ActOnExplicitInstantiation(clang::Scope * S, clang::SourceLocation ExternLoc, clang::SourceLocation TemplateLoc, unsigned int TagSpec, clang::SourceLocation KWLoc, const clang::CXXScopeSpec & SS, clang::Sema::TemplateTy Template, clang::SourceLocation TemplateNameLoc, clang::SourceLocation LAngleLoc, clang::ASTTemplateArgsPtr TemplateArgs, clang::SourceLocation RAngleLoc, const clang::ParsedAttributesView & Attr)
  • public clang::DeclResult ActOnExplicitInstantiation(clang::Scope * S, clang::SourceLocation ExternLoc, clang::SourceLocation TemplateLoc, unsigned int TagSpec, clang::SourceLocation KWLoc, clang::CXXScopeSpec & SS, clang::IdentifierInfo * Name, clang::SourceLocation NameLoc, const clang::ParsedAttributesView & Attr)
  • public clang::StmtResult ActOnExprStmt(clang::ExprResult Arg, bool DiscardedValue = true)
  • public clang::StmtResult ActOnExprStmtError()
  • public clang::ExprResult ActOnExpressionTrait(clang::ExpressionTrait OET, clang::SourceLocation KWLoc, clang::Expr * Queried, clang::SourceLocation RParen)
  • public clang::Decl * ActOnField(clang::Scope * S, clang::Decl * TagD, clang::SourceLocation DeclStart, clang::Declarator & D, clang::Expr * BitfieldWidth)
  • public void ActOnFields(clang::Scope * S, clang::SourceLocation RecLoc, clang::Decl * TagDecl, ArrayRef<clang::Decl *> Fields, clang::SourceLocation LBrac, clang::SourceLocation RBrac, const clang::ParsedAttributesView & AttrList)
  • public clang::Decl * ActOnFileScopeAsmDecl(clang::Expr * expr, clang::SourceLocation AsmLoc, clang::SourceLocation RParenLoc)
  • public void ActOnFinishCXXInClassMemberInitializer(clang::Decl * VarDecl, clang::SourceLocation EqualLoc, clang::Expr * Init)
  • public void ActOnFinishCXXMemberDecls()
  • public void ActOnFinishCXXMemberSpecification(clang::Scope * S, clang::SourceLocation RLoc, clang::Decl * TagDecl, clang::SourceLocation LBrac, clang::SourceLocation RBrac, const clang::ParsedAttributesView & AttrList)
  • public void ActOnFinishCXXNonNestedClass()
  • public void ActOnFinishDelayedAttribute(clang::Scope * S, clang::Decl * D, clang::ParsedAttributes & Attrs)
  • public void ActOnFinishDelayedCXXMethodDeclaration(clang::Scope * S, clang::Decl * Method)
  • public void ActOnFinishDelayedMemberDeclarations(clang::Scope * S, clang::Decl * Record)
  • public void ActOnFinishDelayedMemberInitializers(clang::Decl * Record)
  • public clang::Decl * ActOnFinishExportDecl(clang::Scope * S, clang::Decl * ExportDecl, clang::SourceLocation RBraceLoc)
  • public clang::ExprResult ActOnFinishFullExpr(clang::Expr * Expr, bool DiscardedValue)
  • public clang::ExprResult ActOnFinishFullExpr(clang::Expr * Expr, clang::SourceLocation CC, bool DiscardedValue, bool IsConstexpr = false)
  • public clang::StmtResult ActOnFinishFullStmt(clang::Stmt * Stmt)
  • public clang::Decl * ActOnFinishFunctionBody(clang::Decl * Decl, clang::Stmt * Body, bool IsInstantiation)
  • public clang::Decl * ActOnFinishFunctionBody(clang::Decl * Decl, clang::Stmt * Body)
  • public void ActOnFinishFunctionDeclarationDeclarator(clang::Declarator & D)
  • public void ActOnFinishInlineFunctionDef(clang::FunctionDecl * D)
  • public void ActOnFinishKNRParamDeclarations(clang::Scope * S, clang::Declarator & D, clang::SourceLocation LocAfterDecls)
  • public clang::Decl * ActOnFinishLinkageSpecification(clang::Scope * S, clang::Decl * LinkageSpec, clang::SourceLocation RBraceLoc)
  • public void ActOnFinishNamespaceDef(clang::Decl * Dcl, clang::SourceLocation RBrace)
  • public clang::Sema::DeclGroupPtrTy ActOnFinishObjCImplementation(clang::Decl * ObjCImpDecl, ArrayRef<clang::Decl *> Decls)
  • public void ActOnFinishOfCompoundStmt()
  • public void ActOnFinishRequiresExpr()
  • public clang::StmtResult ActOnFinishSEHFinallyBlock(clang::SourceLocation Loc, clang::Stmt * Block)
  • public clang::StmtResult ActOnFinishSwitchStmt(clang::SourceLocation SwitchLoc, clang::Stmt * Switch, clang::Stmt * Body)
  • public clang::ExprResult ActOnFinishTrailingRequiresClause(clang::ExprResult ConstraintExpr)
  • public void ActOnFinishedFunctionDefinitionInOpenMPAssumeScope(clang::Decl * D)
  • public void ActOnFinishedFunctionDefinitionInOpenMPDeclareVariantScope(clang::Decl * D, SmallVectorImpl<clang::FunctionDecl *> & Bases)
  • public void ActOnFinishedOpenMPDeclareTargetContext(clang::Sema::DeclareTargetContextInfo & DTCI)
  • public void ActOnForEachDeclStmt(clang::Sema::DeclGroupPtrTy Decl)
  • public clang::StmtResult ActOnForEachLValueExpr(clang::Expr * E)
  • public clang::StmtResult ActOnForStmt(clang::SourceLocation ForLoc, clang::SourceLocation LParenLoc, clang::Stmt * First, clang::Sema::ConditionResult Second, clang::Sema::FullExprArg Third, clang::SourceLocation RParenLoc, clang::Stmt * Body)
  • public clang::Sema::DeclGroupPtrTy ActOnForwardClassDeclaration(clang::SourceLocation Loc, clang::IdentifierInfo ** IdentList, clang::SourceLocation * IdentLocs, ArrayRef<clang::ObjCTypeParamList *> TypeParamLists, unsigned int NumElts)
  • public clang::Sema::DeclGroupPtrTy ActOnForwardProtocolDeclaration(clang::SourceLocation AtProtoclLoc, ArrayRef<clang::IdentifierLocPair> IdentList, const clang::ParsedAttributesView & attrList)
  • public clang::NamedDecl * ActOnFriendFunctionDecl(clang::Scope * S, clang::Declarator & D, clang::MultiTemplateParamsArg TemplateParams)
  • public clang::Decl * ActOnFriendTypeDecl(clang::Scope * S, const clang::DeclSpec & DS, clang::MultiTemplateParamsArg TemplateParams)
  • public clang::NamedDecl * ActOnFunctionDeclarator(clang::Scope * S, clang::Declarator & D, clang::DeclContext * DC, clang::TypeSourceInfo * TInfo, clang::LookupResult & Previous, clang::MultiTemplateParamsArg TemplateParamLists, bool & AddToScope)
  • public clang::StmtResult ActOnGCCAsmStmt(clang::SourceLocation AsmLoc, bool IsSimple, bool IsVolatile, unsigned int NumOutputs, unsigned int NumInputs, clang::IdentifierInfo ** Names, clang::MultiExprArg Constraints, clang::MultiExprArg Exprs, clang::Expr * AsmString, clang::MultiExprArg Clobbers, unsigned int NumLabels, clang::SourceLocation RParenLoc)
  • public clang::ExprResult ActOnGNUNullExpr(clang::SourceLocation TokenLoc)
  • public clang::ExprResult ActOnGenericSelectionExpr(clang::SourceLocation KeyLoc, clang::SourceLocation DefaultLoc, clang::SourceLocation RParenLoc, clang::Expr * ControllingExpr, ArrayRef<clang::ParsedType> ArgTypes, ArrayRef<clang::Expr *> ArgExprs)
  • public clang::Sema::DeclGroupPtrTy ActOnGlobalModuleFragmentDecl(clang::SourceLocation ModuleLoc)
  • public clang::StmtResult ActOnGotoStmt(clang::SourceLocation GotoLoc, clang::SourceLocation LabelLoc, clang::LabelDecl * TheDecl)
  • public clang::ExprResult ActOnIdExpression(clang::Scope * S, clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::UnqualifiedId & Id, bool HasTrailingLParen, bool IsAddressOfOperand, clang::CorrectionCandidateCallback * CCC = nullptr, bool IsInlineAsmIdentifier = false, clang::Token * KeywordReplacement = nullptr)
  • public clang::StmtResult ActOnIfStmt(clang::SourceLocation IfLoc, clang::IfStatementKind StatementKind, clang::SourceLocation LParenLoc, clang::Stmt * InitStmt, clang::Sema::ConditionResult Cond, clang::SourceLocation RParenLoc, clang::Stmt * ThenVal, clang::SourceLocation ElseLoc, clang::Stmt * ElseVal)
  • public clang::StmtResult ActOnIndirectGotoStmt(clang::SourceLocation GotoLoc, clang::SourceLocation StarLoc, clang::Expr * DestExp)
  • public clang::ExprResult ActOnInitList(clang::SourceLocation LBraceLoc, clang::MultiExprArg InitArgList, clang::SourceLocation RBraceLoc)
  • public void ActOnInitializerError(clang::Decl * Dcl)
  • public clang::ExprResult ActOnInstanceMessage(clang::Scope * S, clang::Expr * Receiver, clang::Selector Sel, clang::SourceLocation LBracLoc, ArrayRef<clang::SourceLocation> SelectorLocs, clang::SourceLocation RBracLoc, clang::MultiExprArg Args)
  • public clang::ExprResult ActOnIntegerConstant(clang::SourceLocation Loc, uint64_t Val)
  • public clang::Decl * ActOnIvar(clang::Scope * S, clang::SourceLocation DeclStart, clang::Declarator & D, clang::Expr * BitfieldWidth, tok::ObjCKeywordKind visibility)
  • public clang::StmtResult ActOnLabelStmt(clang::SourceLocation IdentLoc, clang::LabelDecl * TheDecl, clang::SourceLocation ColonLoc, clang::Stmt * SubStmt)
  • public void ActOnLambdaError(clang::SourceLocation StartLoc, clang::Scope * CurScope, bool IsInstantiation = false)
  • public void ActOnLambdaExplicitTemplateParameterList(clang::SourceLocation LAngleLoc, ArrayRef<clang::NamedDecl *> TParams, clang::SourceLocation RAngleLoc, clang::ExprResult RequiresClause)
  • public clang::ExprResult ActOnLambdaExpr(clang::SourceLocation StartLoc, clang::Stmt * Body, clang::Scope * CurScope)
  • public void ActOnLastBitfield(clang::SourceLocation DeclStart, SmallVectorImpl<clang::Decl *> & AllIvarDecls)
  • public clang::StmtResult ActOnMSAsmStmt(clang::SourceLocation AsmLoc, clang::SourceLocation LBraceLoc, ArrayRef<clang::Token> AsmToks, llvm::StringRef AsmString, unsigned int NumOutputs, unsigned int NumInputs, ArrayRef<llvm::StringRef> Constraints, ArrayRef<llvm::StringRef> Clobbers, ArrayRef<clang::Expr *> Exprs, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnMSDependentExistsStmt(clang::SourceLocation KeywordLoc, bool IsIfExists, clang::CXXScopeSpec & SS, clang::UnqualifiedId & Name, clang::Stmt * Nested)
  • public clang::ParsedType ActOnMSVCUnknownTypeName(const clang::IdentifierInfo & II, clang::SourceLocation NameLoc, bool IsTemplateTypeArg)
  • public clang::MemInitResult ActOnMemInitializer(clang::Decl * ConstructorD, clang::Scope * S, clang::CXXScopeSpec & SS, clang::IdentifierInfo * MemberOrBase, clang::ParsedType TemplateTypeTy, const clang::DeclSpec & DS, clang::SourceLocation IdLoc, clang::SourceLocation LParenLoc, ArrayRef<clang::Expr *> Args, clang::SourceLocation RParenLoc, clang::SourceLocation EllipsisLoc)
  • public clang::MemInitResult ActOnMemInitializer(clang::Decl * ConstructorD, clang::Scope * S, clang::CXXScopeSpec & SS, clang::IdentifierInfo * MemberOrBase, clang::ParsedType TemplateTypeTy, const clang::DeclSpec & DS, clang::SourceLocation IdLoc, clang::Expr * InitList, clang::SourceLocation EllipsisLoc)
  • public void ActOnMemInitializers(clang::Decl * ConstructorDecl, clang::SourceLocation ColonLoc, ArrayRef<clang::CXXCtorInitializer *> MemInits, bool AnyErrors)
  • public clang::ExprResult ActOnMemberAccessExpr(clang::Scope * S, clang::Expr * Base, clang::SourceLocation OpLoc, tok::TokenKind OpKind, clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::UnqualifiedId & Member, clang::Decl * ObjCImpDecl)
  • public clang::Decl * ActOnMethodDeclaration(clang::Scope * S, clang::SourceLocation BeginLoc, clang::SourceLocation EndLoc, tok::TokenKind MethodType, clang::ObjCDeclSpec & ReturnQT, clang::ParsedType ReturnType, ArrayRef<clang::SourceLocation> SelectorLocs, clang::Selector Sel, clang::Sema::ObjCArgInfo * ArgInfo, DeclaratorChunk::ParamInfo * CParamInfo, unsigned int CNumArgs, const clang::ParsedAttributesView & AttrList, tok::ObjCKeywordKind MethodImplKind, bool isVariadic, bool MethodDefinition)
  • public void ActOnModuleBegin(clang::SourceLocation DirectiveLoc, clang::Module * Mod)
  • public clang::Sema::DeclGroupPtrTy ActOnModuleDecl(clang::SourceLocation StartLoc, clang::SourceLocation ModuleLoc, clang::Sema::ModuleDeclKind MDK, clang::ModuleIdPath Path, clang::ModuleIdPath Partition, clang::Sema::ModuleImportState & ImportState)
  • public void ActOnModuleEnd(clang::SourceLocation DirectiveLoc, clang::Module * Mod)
  • public clang::DeclResult ActOnModuleImport(clang::SourceLocation StartLoc, clang::SourceLocation ExportLoc, clang::SourceLocation ImportLoc, clang::Module * M, clang::ModuleIdPath Path = {})
  • public clang::DeclResult ActOnModuleImport(clang::SourceLocation StartLoc, clang::SourceLocation ExportLoc, clang::SourceLocation ImportLoc, clang::ModuleIdPath Path, bool IsPartition = false)
  • public void ActOnModuleInclude(clang::SourceLocation DirectiveLoc, clang::Module * Mod)
  • public clang::ExprResult ActOnNameClassifiedAsDependentNonType(const clang::CXXScopeSpec & SS, clang::IdentifierInfo * Name, clang::SourceLocation NameLoc, bool IsAddressOfOperand)
  • public clang::ExprResult ActOnNameClassifiedAsNonType(clang::Scope * S, const clang::CXXScopeSpec & SS, clang::NamedDecl * Found, clang::SourceLocation NameLoc, const clang::Token & NextToken)
  • public clang::ExprResult ActOnNameClassifiedAsOverloadSet(clang::Scope * S, clang::Expr * OverloadSet)
  • public clang::ExprResult ActOnNameClassifiedAsUndeclaredNonType(clang::IdentifierInfo * Name, clang::SourceLocation NameLoc)
  • public clang::Decl * ActOnNamespaceAliasDef(clang::Scope * CurScope, clang::SourceLocation NamespaceLoc, clang::SourceLocation AliasLoc, clang::IdentifierInfo * Alias, clang::CXXScopeSpec & SS, clang::SourceLocation IdentLoc, clang::IdentifierInfo * Ident)
  • public concepts::Requirement * ActOnNestedRequirement(clang::Expr * Constraint)
  • public clang::ExprResult ActOnNoexceptExpr(clang::SourceLocation KeyLoc, clang::SourceLocation LParen, clang::Expr * Operand, clang::SourceLocation RParen)
  • public clang::ExprResult ActOnNoexceptSpec(clang::Expr * NoexceptExpr, clang::ExceptionSpecificationType & EST)
  • public clang::NamedDecl * ActOnNonTypeTemplateParameter(clang::Scope * S, clang::Declarator & D, unsigned int Depth, unsigned int Position, clang::SourceLocation EqualLoc, clang::Expr * DefaultArg)
  • public clang::StmtResult ActOnNullStmt(clang::SourceLocation SemiLoc, bool HasLeadingEmptyMacro = false)
  • public clang::ExprResult ActOnNumericConstant(const clang::Token & Tok, clang::Scope * UDLScope = nullptr)
  • public clang::ExprResult ActOnOMPArraySectionExpr(clang::Expr * Base, clang::SourceLocation LBLoc, clang::Expr * LowerBound, clang::SourceLocation ColonLocFirst, clang::SourceLocation ColonLocSecond, clang::Expr * Length, clang::Expr * Stride, clang::SourceLocation RBLoc)
  • public clang::ExprResult ActOnOMPArrayShapingExpr(clang::Expr * Base, clang::SourceLocation LParenLoc, clang::SourceLocation RParenLoc, ArrayRef<clang::Expr *> Dims, ArrayRef<clang::SourceRange> Brackets)
  • public clang::ExprResult ActOnOMPIteratorExpr(clang::Scope * S, clang::SourceLocation IteratorKwLoc, clang::SourceLocation LLoc, clang::SourceLocation RLoc, ArrayRef<clang::Sema::OMPIteratorData> Data)
  • public clang::StmtResult ActOnObjCAtCatchStmt(clang::SourceLocation AtLoc, clang::SourceLocation RParen, clang::Decl * Parm, clang::Stmt * Body)
  • public clang::StmtResult ActOnObjCAtFinallyStmt(clang::SourceLocation AtLoc, clang::Stmt * Body)
  • public clang::ExprResult ActOnObjCAtSynchronizedOperand(clang::SourceLocation atLoc, clang::Expr * operand)
  • public clang::StmtResult ActOnObjCAtSynchronizedStmt(clang::SourceLocation AtLoc, clang::Expr * SynchExpr, clang::Stmt * SynchBody)
  • public clang::StmtResult ActOnObjCAtThrowStmt(clang::SourceLocation AtLoc, clang::Expr * Throw, clang::Scope * CurScope)
  • public clang::StmtResult ActOnObjCAtTryStmt(clang::SourceLocation AtLoc, clang::Stmt * Try, clang::MultiStmtArg Catch, clang::Stmt * Finally)
  • public clang::StmtResult ActOnObjCAutoreleasePoolStmt(clang::SourceLocation AtLoc, clang::Stmt * Body)
  • public clang::ExprResult ActOnObjCAvailabilityCheckExpr(llvm::ArrayRef<AvailabilitySpec> AvailSpecs, clang::SourceLocation AtLoc, clang::SourceLocation RParen)
  • public clang::ExprResult ActOnObjCBoolLiteral(clang::SourceLocation OpLoc, tok::TokenKind Kind)
  • public clang::ExprResult ActOnObjCBoolLiteral(clang::SourceLocation AtLoc, clang::SourceLocation ValueLoc, bool Value)
  • public clang::ExprResult ActOnObjCBridgedCast(clang::Scope * S, clang::SourceLocation LParenLoc, clang::ObjCBridgeCastKind Kind, clang::SourceLocation BridgeKeywordLoc, clang::ParsedType Type, clang::SourceLocation RParenLoc, clang::Expr * SubExpr)
  • public void ActOnObjCContainerFinishDefinition()
  • public void ActOnObjCContainerStartDefinition(clang::ObjCContainerDecl * IDecl)
  • public clang::Decl * ActOnObjCExceptionDecl(clang::Scope * S, clang::Declarator & D)
  • public clang::StmtResult ActOnObjCForCollectionStmt(clang::SourceLocation ForColLoc, clang::Stmt * First, clang::Expr * collection, clang::SourceLocation RParenLoc)
  • public clang::ParsedType ActOnObjCInstanceType(clang::SourceLocation Loc)
  • public void ActOnObjCReenterContainerContext(clang::ObjCContainerDecl * ObjCCtx)
  • public void ActOnObjCTemporaryExitContainerContext(clang::ObjCContainerDecl * ObjCCtx)
  • public clang::OMPClause * ActOnOpenMPAcqRelClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPAcquireClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPAffinityClause(clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc, clang::Expr * Modifier, ArrayRef<clang::Expr *> Locators)
  • public clang::OMPClause * ActOnOpenMPAlignClause(clang::Expr * Alignment, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPAlignedClause(ArrayRef<clang::Expr *> VarList, clang::Expr * Alignment, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPAllocateClause(clang::Expr * Allocator, ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation ColonLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::Sema::DeclGroupPtrTy ActOnOpenMPAllocateDirective(clang::SourceLocation Loc, ArrayRef<clang::Expr *> VarList, ArrayRef<clang::OMPClause *> Clauses, clang::DeclContext * Owner = nullptr)
  • public clang::OMPClause * ActOnOpenMPAllocatorClause(clang::Expr * Allocator, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public void ActOnOpenMPAssumesDirective(clang::SourceLocation Loc, clang::OpenMPDirectiveKind DKind, ArrayRef<std::string> Assumptions, bool SkippedClauses)
  • public clang::OMPClause * ActOnOpenMPAtomicDefaultMemOrderClause(clang::OpenMPAtomicDefaultMemOrderClauseKind Kind, clang::SourceLocation KindLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPAtomicDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPBarrierDirective(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public void ActOnOpenMPBeginDeclareVariant(clang::SourceLocation Loc, clang::OMPTraitInfo & TI)
  • public clang::OMPClause * ActOnOpenMPBindClause(clang::OpenMPBindClauseKind Kind, clang::SourceLocation KindLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::ExprResult ActOnOpenMPCall(clang::ExprResult Call, clang::Scope * Scope, clang::SourceLocation LParenLoc, clang::MultiExprArg ArgExprs, clang::SourceLocation RParenLoc, clang::Expr * ExecConfig)
  • public clang::StmtResult ActOnOpenMPCancelDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::OpenMPDirectiveKind CancelRegion)
  • public clang::StmtResult ActOnOpenMPCancellationPointDirective(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::OpenMPDirectiveKind CancelRegion)
  • public clang::StmtResult ActOnOpenMPCanonicalLoop(clang::Stmt * AStmt)
  • public clang::OMPClause * ActOnOpenMPCaptureClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPClause(clang::OpenMPClauseKind Kind, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPCollapseClause(clang::Expr * NumForLoops, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPCompareClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPCopyinClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPCopyprivateClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPCriticalDirective(const clang::DeclarationNameInfo & DirName, ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::Sema::DeclGroupPtrTy ActOnOpenMPDeclareMapperDirective(clang::Scope * S, clang::DeclContext * DC, clang::DeclarationName Name, clang::QualType MapperType, clang::SourceLocation StartLoc, clang::DeclarationName VN, clang::AccessSpecifier AS, clang::Expr * MapperVarRef, ArrayRef<clang::OMPClause *> Clauses, clang::Decl * PrevDeclInScope = nullptr)
  • public clang::ExprResult ActOnOpenMPDeclareMapperDirectiveVarDecl(clang::Scope * S, clang::QualType MapperType, clang::SourceLocation StartLoc, clang::DeclarationName VN)
  • public clang::QualType ActOnOpenMPDeclareMapperType(clang::SourceLocation TyLoc, clang::TypeResult ParsedType)
  • public clang::TypeResult ActOnOpenMPDeclareMapperVarDecl(clang::Scope * S, clang::Declarator & D)
  • public void ActOnOpenMPDeclareReductionCombinerEnd(clang::Decl * D, clang::Expr * Combiner)
  • public void ActOnOpenMPDeclareReductionCombinerStart(clang::Scope * S, clang::Decl * D)
  • public clang::Sema::DeclGroupPtrTy ActOnOpenMPDeclareReductionDirectiveEnd(clang::Scope * S, clang::Sema::DeclGroupPtrTy DeclReductions, bool IsValid)
  • public clang::Sema::DeclGroupPtrTy ActOnOpenMPDeclareReductionDirectiveStart(clang::Scope * S, clang::DeclContext * DC, clang::DeclarationName Name, ArrayRef<std::pair<QualType, SourceLocation>> ReductionTypes, clang::AccessSpecifier AS, clang::Decl * PrevDeclInScope = nullptr)
  • public void ActOnOpenMPDeclareReductionInitializerEnd(clang::Decl * D, clang::Expr * Initializer, clang::VarDecl * OmpPrivParm)
  • public clang::VarDecl * ActOnOpenMPDeclareReductionInitializerStart(clang::Scope * S, clang::Decl * D)
  • public clang::QualType ActOnOpenMPDeclareReductionType(clang::SourceLocation TyLoc, clang::TypeResult ParsedType)
  • public clang::Sema::DeclGroupPtrTy ActOnOpenMPDeclareSimdDirective(clang::Sema::DeclGroupPtrTy DG, OMPDeclareSimdDeclAttr::BranchStateTy BS, clang::Expr * Simdlen, ArrayRef<clang::Expr *> Uniforms, ArrayRef<clang::Expr *> Aligneds, ArrayRef<clang::Expr *> Alignments, ArrayRef<clang::Expr *> Linears, ArrayRef<unsigned int> LinModifiers, ArrayRef<clang::Expr *> Steps, clang::SourceRange SR)
  • public void ActOnOpenMPDeclareTargetName(clang::NamedDecl * ND, clang::SourceLocation Loc, OMPDeclareTargetDeclAttr::MapTypeTy MT, clang::Sema::DeclareTargetContextInfo & DTCI)
  • public void ActOnOpenMPDeclareVariantDirective(clang::FunctionDecl * FD, clang::Expr * VariantRef, clang::OMPTraitInfo & TI, ArrayRef<clang::Expr *> AdjustArgsNothing, ArrayRef<clang::Expr *> AdjustArgsNeedDevicePtr, ArrayRef<OMPDeclareVariantAttr::InteropType> AppendArgs, clang::SourceLocation AdjustArgsLoc, clang::SourceLocation AppendArgsLoc, clang::SourceRange SR)
  • public clang::OMPClause * ActOnOpenMPDefaultClause(llvm::omp::DefaultKind Kind, clang::SourceLocation KindLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPDefaultmapClause(clang::OpenMPDefaultmapClauseModifier M, clang::OpenMPDefaultmapClauseKind Kind, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation MLoc, clang::SourceLocation KindLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPDependClause(const OMPDependClause::DependDataTy & Data, clang::Expr * DepModifier, ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPDepobjClause(clang::Expr * Depobj, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPDepobjDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPDestroyClause(clang::Expr * InteropVar, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation VarLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPDetachClause(clang::Expr * Evt, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPDeviceClause(clang::OpenMPDeviceClauseModifier Modifier, clang::Expr * Device, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ModifierLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPDispatchDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPDistScheduleClause(clang::OpenMPDistScheduleClauseKind Kind, clang::Expr * ChunkSize, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation KindLoc, clang::SourceLocation CommaLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPDistributeDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPDistributeParallelForDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPDistributeParallelForSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPDistributeSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::OMPClause * ActOnOpenMPDynamicAllocatorsClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public void ActOnOpenMPEndAssumesDirective()
  • public const clang::Sema::DeclareTargetContextInfo ActOnOpenMPEndDeclareTargetDirective()
  • public void ActOnOpenMPEndDeclareVariant()
  • public clang::OMPClause * ActOnOpenMPExclusiveClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPExecutableDirective(clang::OpenMPDirectiveKind Kind, const clang::DeclarationNameInfo & DirName, clang::OpenMPDirectiveKind CancelRegion, ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPFilterClause(clang::Expr * ThreadID, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPFinalClause(clang::Expr * Condition, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPFirstprivateClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPFlushClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPFlushDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPForDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPForSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::OMPClause * ActOnOpenMPFromClause(ArrayRef<clang::OpenMPMotionModifierKind> MotionModifiers, ArrayRef<clang::SourceLocation> MotionModifiersLoc, clang::CXXScopeSpec & MapperIdScopeSpec, clang::DeclarationNameInfo & MapperId, clang::SourceLocation ColonLoc, ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs, ArrayRef<clang::Expr *> UnresolvedMappers = llvm::None)
  • public clang::OMPClause * ActOnOpenMPFullClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPGenericLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::OMPClause * ActOnOpenMPGrainsizeClause(clang::Expr * Size, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPHasDeviceAddrClause(ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs)
  • public clang::OMPClause * ActOnOpenMPHintClause(clang::Expr * Hint, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::ExprResult ActOnOpenMPIdExpression(clang::Scope * CurScope, clang::CXXScopeSpec & ScopeSpec, const clang::DeclarationNameInfo & Id, clang::OpenMPDirectiveKind Kind)
  • public clang::OMPClause * ActOnOpenMPIfClause(clang::OpenMPDirectiveKind NameModifier, clang::Expr * Condition, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation NameModifierLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPInReductionClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc, clang::CXXScopeSpec & ReductionIdScopeSpec, const clang::DeclarationNameInfo & ReductionId, ArrayRef<clang::Expr *> UnresolvedReductions = llvm::None)
  • public clang::OMPClause * ActOnOpenMPInclusiveClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPInitClause(clang::Expr * InteropVar, ArrayRef<clang::Expr *> PrefExprs, bool IsTarget, bool IsTargetSync, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation VarLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPInteropDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPIsDevicePtrClause(ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs)
  • public clang::OMPClause * ActOnOpenMPLastprivateClause(ArrayRef<clang::Expr *> VarList, clang::OpenMPLastprivateModifier LPKind, clang::SourceLocation LPKindLoc, clang::SourceLocation ColonLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPLinearClause(ArrayRef<clang::Expr *> VarList, clang::Expr * Step, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::OpenMPLinearClauseKind LinKind, clang::SourceLocation LinLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc)
  • public void ActOnOpenMPLoopInitialization(clang::SourceLocation ForLoc, clang::Stmt * Init)
  • public clang::StmtResult ActOnOpenMPLoopnest(clang::Stmt * AStmt)
  • public clang::OMPClause * ActOnOpenMPMapClause(ArrayRef<clang::OpenMPMapModifierKind> MapTypeModifiers, ArrayRef<clang::SourceLocation> MapTypeModifiersLoc, clang::CXXScopeSpec & MapperIdScopeSpec, clang::DeclarationNameInfo & MapperId, clang::OpenMPMapClauseKind MapType, bool IsMapTypeImplicit, clang::SourceLocation MapLoc, clang::SourceLocation ColonLoc, ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs, bool NoDiagnose = false, ArrayRef<clang::Expr *> UnresolvedMappers = llvm::None)
  • public clang::StmtResult ActOnOpenMPMaskedDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPMaskedTaskLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPMaskedTaskLoopSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPMasterDirective(clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPMasterTaskLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPMasterTaskLoopSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::OMPClause * ActOnOpenMPMergeableClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPMetaDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPNocontextClause(clang::Expr * Condition, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPNogroupClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPNontemporalClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPNovariantsClause(clang::Expr * Condition, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPNowaitClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPNumTasksClause(clang::Expr * NumTasks, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPNumTeamsClause(clang::Expr * NumTeams, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPNumThreadsClause(clang::Expr * NumThreads, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPOrderClause(clang::OpenMPOrderClauseKind Kind, clang::SourceLocation KindLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPOrderedClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::SourceLocation LParenLoc = clang::SourceLocation(), clang::Expr * NumForLoops = nullptr)
  • public clang::StmtResult ActOnOpenMPOrderedDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPParallelDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPParallelForDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPParallelForSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPParallelGenericLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPParallelMaskedDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPParallelMaskedTaskLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPParallelMaskedTaskLoopSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPParallelMasterDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPParallelMasterTaskLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPParallelMasterTaskLoopSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPParallelSectionsDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPPartialClause(clang::Expr * FactorExpr, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPPriorityClause(clang::Expr * Priority, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPPrivateClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPProcBindClause(llvm::omp::ProcBindKind Kind, clang::SourceLocation KindLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPReadClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPReductionClause(ArrayRef<clang::Expr *> VarList, clang::OpenMPReductionClauseModifier Modifier, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ModifierLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc, clang::CXXScopeSpec & ReductionIdScopeSpec, const clang::DeclarationNameInfo & ReductionId, ArrayRef<clang::Expr *> UnresolvedReductions = llvm::None)
  • public clang::StmtResult ActOnOpenMPRegionEnd(clang::StmtResult S, ArrayRef<clang::OMPClause *> Clauses)
  • public void ActOnOpenMPRegionStart(clang::OpenMPDirectiveKind DKind, clang::Scope * CurScope)
  • public clang::OMPClause * ActOnOpenMPRelaxedClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPReleaseClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::Sema::DeclGroupPtrTy ActOnOpenMPRequiresDirective(clang::SourceLocation Loc, ArrayRef<clang::OMPClause *> ClauseList)
  • public clang::OMPClause * ActOnOpenMPReverseOffloadClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPSIMDClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPSafelenClause(clang::Expr * Length, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPScanDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPScheduleClause(clang::OpenMPScheduleClauseModifier M1, clang::OpenMPScheduleClauseModifier M2, clang::OpenMPScheduleClauseKind Kind, clang::Expr * ChunkSize, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation M1Loc, clang::SourceLocation M2Loc, clang::SourceLocation KindLoc, clang::SourceLocation CommaLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPSectionDirective(clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPSectionsDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPSeqCstClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPSharedClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::OMPClause * ActOnOpenMPSimdlenClause(clang::Expr * Length, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPSimpleClause(clang::OpenMPClauseKind Kind, unsigned int Argument, clang::SourceLocation ArgumentLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPSingleDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPSingleExprClause(clang::OpenMPClauseKind Kind, clang::Expr * Expr, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPSingleExprWithArgClause(clang::OpenMPClauseKind Kind, ArrayRef<unsigned int> Arguments, clang::Expr * Expr, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, ArrayRef<clang::SourceLocation> ArgumentsLoc, clang::SourceLocation DelimLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPSizesClause(ArrayRef<clang::Expr *> SizeExprs, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTargetDataDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTargetDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTargetEnterDataDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Stmt * AStmt)
  • public clang::StmtResult ActOnOpenMPTargetExitDataDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Stmt * AStmt)
  • public clang::StmtResult ActOnOpenMPTargetParallelDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTargetParallelForDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetParallelForSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetParallelGenericLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetTeamsDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTargetTeamsDistributeDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetTeamsDistributeParallelForDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetTeamsDistributeSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetTeamsGenericLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTargetUpdateDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Stmt * AStmt)
  • public clang::StmtResult ActOnOpenMPTaskDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTaskLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTaskLoopSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::OMPClause * ActOnOpenMPTaskReductionClause(ArrayRef<clang::Expr *> VarList, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ColonLoc, clang::SourceLocation EndLoc, clang::CXXScopeSpec & ReductionIdScopeSpec, const clang::DeclarationNameInfo & ReductionId, ArrayRef<clang::Expr *> UnresolvedReductions = llvm::None)
  • public clang::StmtResult ActOnOpenMPTaskgroupDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTaskwaitDirective(ArrayRef<clang::OMPClause *> Clauses, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTaskyieldDirective(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTeamsDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTeamsDistributeDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTeamsDistributeParallelForDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTeamsDistributeParallelForSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTeamsDistributeSimdDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::StmtResult ActOnOpenMPTeamsGenericLoopDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, clang::Sema::VarsWithInheritedDSAType & VarsWithImplicitDSA)
  • public clang::OMPClause * ActOnOpenMPThreadLimitClause(clang::Expr * ThreadLimit, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::Sema::DeclGroupPtrTy ActOnOpenMPThreadprivateDirective(clang::SourceLocation Loc, ArrayRef<clang::Expr *> VarList)
  • public clang::OMPClause * ActOnOpenMPThreadsClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPTileDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPToClause(ArrayRef<clang::OpenMPMotionModifierKind> MotionModifiers, ArrayRef<clang::SourceLocation> MotionModifiersLoc, clang::CXXScopeSpec & MapperIdScopeSpec, clang::DeclarationNameInfo & MapperId, clang::SourceLocation ColonLoc, ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs, ArrayRef<clang::Expr *> UnresolvedMappers = llvm::None)
  • public clang::OMPClause * ActOnOpenMPUnifiedAddressClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPUnifiedSharedMemoryClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::StmtResult ActOnOpenMPUnrollDirective(ArrayRef<clang::OMPClause *> Clauses, clang::Stmt * AStmt, clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPUntiedClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPUpdateClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPUpdateClause(clang::OpenMPDependClauseKind Kind, clang::SourceLocation KindLoc, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPUseClause(clang::Expr * InteropVar, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation VarLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPUseDeviceAddrClause(ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs)
  • public clang::OMPClause * ActOnOpenMPUseDevicePtrClause(ArrayRef<clang::Expr *> VarList, const clang::OMPVarListLocTy & Locs)
  • public clang::OMPClause * ActOnOpenMPUsesAllocatorClause(clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc, ArrayRef<clang::Sema::UsesAllocatorsData> Data)
  • public clang::OMPClause * ActOnOpenMPVarListClause(clang::OpenMPClauseKind Kind, ArrayRef<clang::Expr *> Vars, const clang::OMPVarListLocTy & Locs, clang::Sema::OpenMPVarListDataTy & Data)
  • public clang::OMPClause * ActOnOpenMPWhenClause(clang::OMPTraitInfo & TI, clang::SourceLocation StartLoc, clang::SourceLocation LParenLoc, clang::SourceLocation EndLoc)
  • public clang::OMPClause * ActOnOpenMPWriteClause(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc)
  • public clang::ParsedTemplateArgument ActOnPackExpansion(const clang::ParsedTemplateArgument & Arg, clang::SourceLocation EllipsisLoc)
  • public clang::ExprResult ActOnPackExpansion(clang::Expr * Pattern, clang::SourceLocation EllipsisLoc)
  • public clang::TypeResult ActOnPackExpansion(clang::ParsedType Type, clang::SourceLocation EllipsisLoc)
  • public clang::Decl * ActOnParamDeclarator(clang::Scope * S, clang::Declarator & D)
  • public void ActOnParamDefaultArgument(clang::Decl * param, clang::SourceLocation EqualLoc, clang::Expr * defarg)
  • public void ActOnParamDefaultArgumentError(clang::Decl * param, clang::SourceLocation EqualLoc)
  • public void ActOnParamUnparsedDefaultArgument(clang::Decl * param, clang::SourceLocation EqualLoc, clang::SourceLocation ArgLoc)
  • public clang::ExprResult ActOnParenExpr(clang::SourceLocation L, clang::SourceLocation R, clang::Expr * E)
  • public clang::ExprResult ActOnParenListExpr(clang::SourceLocation L, clang::SourceLocation R, clang::MultiExprArg Val)
  • public void ActOnPopScope(clang::SourceLocation Loc, clang::Scope * S)
  • public clang::ExprResult ActOnPostfixUnaryOp(clang::Scope * S, clang::SourceLocation OpLoc, tok::TokenKind Kind, clang::Expr * Input)
  • public void ActOnPragmaAttributeAttribute(clang::ParsedAttr & Attribute, clang::SourceLocation PragmaLoc, attr::ParsedSubjectMatchRuleSet Rules)
  • public void ActOnPragmaAttributeEmptyPush(clang::SourceLocation PragmaLoc, const clang::IdentifierInfo * Namespace)
  • public void ActOnPragmaAttributePop(clang::SourceLocation PragmaLoc, const clang::IdentifierInfo * Namespace)
  • public void ActOnPragmaClangSection(clang::SourceLocation PragmaLoc, clang::Sema::PragmaClangSectionAction Action, clang::Sema::PragmaClangSectionKind SecKind, llvm::StringRef SecName)
  • public void ActOnPragmaDetectMismatch(clang::SourceLocation Loc, llvm::StringRef Name, llvm::StringRef Value)
  • public void ActOnPragmaDump(clang::Scope * S, clang::SourceLocation Loc, clang::IdentifierInfo * II)
  • public void ActOnPragmaFEnvAccess(clang::SourceLocation Loc, bool IsEnabled)
  • public void ActOnPragmaFEnvRound(clang::SourceLocation Loc, llvm::RoundingMode)
  • public void ActOnPragmaFPContract(clang::SourceLocation Loc, LangOptions::FPModeKind FPC)
  • public void ActOnPragmaFPEvalMethod(clang::SourceLocation Loc, LangOptions::FPEvalMethodKind Value)
  • public void ActOnPragmaFPExceptions(clang::SourceLocation Loc, LangOptions::FPExceptionModeKind)
  • public void ActOnPragmaFPReassociate(clang::SourceLocation Loc, bool IsEnabled)
  • public void ActOnPragmaFloatControl(clang::SourceLocation Loc, clang::Sema::PragmaMsStackAction Action, clang::PragmaFloatControlKind Value)
  • public void ActOnPragmaMSAllocText(clang::SourceLocation PragmaLocation, llvm::StringRef Section, const SmallVector<std::tuple<IdentifierInfo *, SourceLocation>> & Functions)
  • public void ActOnPragmaMSComment(clang::SourceLocation CommentLoc, clang::PragmaMSCommentKind Kind, llvm::StringRef Arg)
  • public void ActOnPragmaMSFunction(clang::SourceLocation Loc, const llvm::SmallVectorImpl<StringRef> & NoBuiltins)
  • public void ActOnPragmaMSInitSeg(clang::SourceLocation PragmaLocation, clang::StringLiteral * SegmentName)
  • public void ActOnPragmaMSOptimize(clang::SourceLocation Loc, bool IsOn)
  • public void ActOnPragmaMSPointersToMembers(LangOptions::PragmaMSPointersToMembersKind Kind, clang::SourceLocation PragmaLoc)
  • public void ActOnPragmaMSSection(clang::SourceLocation PragmaLocation, int SectionFlags, clang::StringLiteral * SegmentName)
  • public void ActOnPragmaMSSeg(clang::SourceLocation PragmaLocation, clang::Sema::PragmaMsStackAction Action, llvm::StringRef StackSlotLabel, clang::StringLiteral * SegmentName, llvm::StringRef PragmaName)
  • public void ActOnPragmaMSStruct(clang::PragmaMSStructKind Kind)
  • public void ActOnPragmaMSVtorDisp(clang::Sema::PragmaMsStackAction Action, clang::SourceLocation PragmaLoc, clang::MSVtorDispMode Value)
  • public void ActOnPragmaOptimize(bool On, clang::SourceLocation PragmaLoc)
  • public void ActOnPragmaOptionsAlign(clang::Sema::PragmaOptionsAlignKind Kind, clang::SourceLocation PragmaLoc)
  • public void ActOnPragmaPack(clang::SourceLocation PragmaLoc, clang::Sema::PragmaMsStackAction Action, llvm::StringRef SlotLabel, clang::Expr * Alignment)
  • public void ActOnPragmaRedefineExtname(clang::IdentifierInfo * WeakName, clang::IdentifierInfo * AliasName, clang::SourceLocation PragmaLoc, clang::SourceLocation WeakNameLoc, clang::SourceLocation AliasNameLoc)
  • public void ActOnPragmaUnused(const clang::Token & Identifier, clang::Scope * curScope, clang::SourceLocation PragmaLoc)
  • public void ActOnPragmaVisibility(const clang::IdentifierInfo * VisType, clang::SourceLocation PragmaLoc)
  • public void ActOnPragmaWeakAlias(clang::IdentifierInfo * WeakName, clang::IdentifierInfo * AliasName, clang::SourceLocation PragmaLoc, clang::SourceLocation WeakNameLoc, clang::SourceLocation AliasNameLoc)
  • public void ActOnPragmaWeakID(clang::IdentifierInfo * WeakName, clang::SourceLocation PragmaLoc, clang::SourceLocation WeakNameLoc)
  • public clang::ExprResult ActOnPredefinedExpr(clang::SourceLocation Loc, tok::TokenKind Kind)
  • public clang::Sema::DeclGroupPtrTy ActOnPrivateModuleFragmentDecl(clang::SourceLocation ModuleLoc, clang::SourceLocation PrivateLoc)
  • public clang::Decl * ActOnProperty(clang::Scope * S, clang::SourceLocation AtLoc, clang::SourceLocation LParenLoc, clang::FieldDeclarator & FD, clang::ObjCDeclSpec & ODS, clang::Selector GetterSel, clang::Selector SetterSel, tok::ObjCKeywordKind MethodImplKind, clang::DeclContext * lexicalDC = nullptr)
  • public clang::Decl * ActOnPropertyImplDecl(clang::Scope * S, clang::SourceLocation AtLoc, clang::SourceLocation PropertyLoc, bool ImplKind, clang::IdentifierInfo * PropertyId, clang::IdentifierInfo * PropertyIvar, clang::SourceLocation PropertyIvarLoc, clang::ObjCPropertyQueryKind QueryKind)
  • public clang::ExprResult ActOnPseudoDestructorExpr(clang::Scope * S, clang::Expr * Base, clang::SourceLocation OpLoc, tok::TokenKind OpKind, clang::SourceLocation TildeLoc, const clang::DeclSpec & DS)
  • public clang::ExprResult ActOnPseudoDestructorExpr(clang::Scope * S, clang::Expr * Base, clang::SourceLocation OpLoc, tok::TokenKind OpKind, clang::CXXScopeSpec & SS, clang::UnqualifiedId & FirstTypeName, clang::SourceLocation CCLoc, clang::SourceLocation TildeLoc, clang::UnqualifiedId & SecondTypeName)
  • public void ActOnPureSpecifier(clang::Decl * D, clang::SourceLocation PureSpecLoc)
  • public void ActOnReenterCXXMethodParameter(clang::Scope * S, clang::ParmVarDecl * Param)
  • public void ActOnReenterFunctionContext(clang::Scope * S, clang::Decl * D)
  • public unsigned int ActOnReenterTemplateScope(clang::Decl * Template, llvm::function_ref<Scope *()> EnterScope)
  • public clang::ExprResult ActOnRequiresClause(clang::ExprResult ConstraintExpr)
  • public clang::ExprResult ActOnRequiresExpr(clang::SourceLocation RequiresKWLoc, clang::RequiresExprBodyDecl * Body, ArrayRef<clang::ParmVarDecl *> LocalParameters, ArrayRef<concepts::Requirement *> Requirements, clang::SourceLocation ClosingBraceLoc)
  • public clang::StmtResult ActOnReturnStmt(clang::SourceLocation ReturnLoc, clang::Expr * RetValExp, clang::Scope * CurScope)
  • public clang::StmtResult ActOnSEHExceptBlock(clang::SourceLocation Loc, clang::Expr * FilterExpr, clang::Stmt * Block)
  • public clang::StmtResult ActOnSEHLeaveStmt(clang::SourceLocation Loc, clang::Scope * CurScope)
  • public clang::StmtResult ActOnSEHTryBlock(bool IsCXXTry, clang::SourceLocation TryLoc, clang::Stmt * TryBlock, clang::Stmt * Handler)
  • public clang::ExprResult ActOnSYCLUniqueStableNameExpr(clang::SourceLocation OpLoc, clang::SourceLocation LParen, clang::SourceLocation RParen, clang::ParsedType ParsedTy)
  • public concepts::Requirement * ActOnSimpleRequirement(clang::Expr * E)
  • public clang::ExprResult ActOnSizeofParameterPackExpr(clang::Scope * S, clang::SourceLocation OpLoc, clang::IdentifierInfo & Name, clang::SourceLocation NameLoc, clang::SourceLocation RParenLoc)
  • public clang::Decl * ActOnSkippedFunctionBody(clang::Decl * Decl)
  • public clang::ExprResult ActOnSourceLocExpr(SourceLocExpr::IdentKind Kind, clang::SourceLocation BuiltinLoc, clang::SourceLocation RPLoc)
  • public void ActOnStartCXXInClassMemberInitializer()
  • public void ActOnStartCXXMemberDeclarations(clang::Scope * S, clang::Decl * TagDecl, clang::SourceLocation FinalLoc, bool IsFinalSpelledSealed, bool IsAbstract, clang::SourceLocation LBraceLoc)
  • public clang::ExprResult ActOnStartCXXMemberReference(clang::Scope * S, clang::Expr * Base, clang::SourceLocation OpLoc, tok::TokenKind OpKind, clang::ParsedType & ObjectType, bool & MayBePseudoDestructor)
  • public clang::ObjCCategoryImplDecl * ActOnStartCategoryImplementation(clang::SourceLocation AtCatImplLoc, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassLoc, clang::IdentifierInfo * CatName, clang::SourceLocation CatLoc, const clang::ParsedAttributesView & AttrList)
  • public clang::ObjCCategoryDecl * ActOnStartCategoryInterface(clang::SourceLocation AtInterfaceLoc, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassLoc, clang::ObjCTypeParamList * typeParamList, clang::IdentifierInfo * CategoryName, clang::SourceLocation CategoryLoc, clang::Decl *const * ProtoRefs, unsigned int NumProtoRefs, const clang::SourceLocation * ProtoLocs, clang::SourceLocation EndProtoLoc, const clang::ParsedAttributesView & AttrList)
  • public clang::ObjCImplementationDecl * ActOnStartClassImplementation(clang::SourceLocation AtClassImplLoc, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassLoc, clang::IdentifierInfo * SuperClassname, clang::SourceLocation SuperClassLoc, const clang::ParsedAttributesView & AttrList)
  • public clang::ObjCInterfaceDecl * ActOnStartClassInterface(clang::Scope * S, clang::SourceLocation AtInterfaceLoc, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassLoc, clang::ObjCTypeParamList * typeParamList, clang::IdentifierInfo * SuperName, clang::SourceLocation SuperLoc, ArrayRef<clang::ParsedType> SuperTypeArgs, clang::SourceRange SuperTypeArgsRange, clang::Decl *const * ProtoRefs, unsigned int NumProtoRefs, const clang::SourceLocation * ProtoLocs, clang::SourceLocation EndProtoLoc, const clang::ParsedAttributesView & AttrList)
  • public void ActOnStartDelayedCXXMethodDeclaration(clang::Scope * S, clang::Decl * Method)
  • public void ActOnStartDelayedMemberDeclarations(clang::Scope * S, clang::Decl * Record)
  • public clang::Decl * ActOnStartExportDecl(clang::Scope * S, clang::SourceLocation ExportLoc, clang::SourceLocation LBraceLoc)
  • public void ActOnStartFunctionDeclarationDeclarator(clang::Declarator & D, unsigned int TemplateParameterDepth)
  • public clang::Decl * ActOnStartLinkageSpecification(clang::Scope * S, clang::SourceLocation ExternLoc, clang::Expr * LangStr, clang::SourceLocation LBraceLoc)
  • public clang::Decl * ActOnStartNamespaceDef(clang::Scope * S, clang::SourceLocation InlineLoc, clang::SourceLocation NamespaceLoc, clang::SourceLocation IdentLoc, clang::IdentifierInfo * Ident, clang::SourceLocation LBrace, const clang::ParsedAttributesView & AttrList, clang::UsingDirectiveDecl *& UsingDecl)
  • public void ActOnStartOfCompoundStmt(bool IsStmtExpr)
  • public clang::Decl * ActOnStartOfFunctionDef(clang::Scope * S, clang::Decl * D, clang::Sema::SkipBodyInfo * SkipBody = nullptr, clang::Sema::FnBodyKind BodyKind = FnBodyKind::Other)
  • public clang::Decl * ActOnStartOfFunctionDef(clang::Scope * S, clang::Declarator & D, clang::MultiTemplateParamsArg TemplateParamLists, clang::Sema::SkipBodyInfo * SkipBody = nullptr, clang::Sema::FnBodyKind BodyKind = FnBodyKind::Other)
  • public void ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(clang::Scope * S, clang::Declarator & D, clang::MultiTemplateParamsArg TemplateParameterLists, SmallVectorImpl<clang::FunctionDecl *> & Bases)
  • public void ActOnStartOfLambdaDefinition(clang::LambdaIntroducer & Intro, clang::Declarator & ParamInfo, clang::Scope * CurScope)
  • public void ActOnStartOfObjCMethodDef(clang::Scope * S, clang::Decl * D)
  • public clang::StmtResult ActOnStartOfSwitchStmt(clang::SourceLocation SwitchLoc, clang::SourceLocation LParenLoc, clang::Stmt * InitStmt, clang::Sema::ConditionResult Cond, clang::SourceLocation RParenLoc)
  • public void ActOnStartOfTranslationUnit()
  • public bool ActOnStartOpenMPDeclareTargetContext(clang::Sema::DeclareTargetContextInfo & DTCI)
  • public clang::ObjCProtocolDecl * ActOnStartProtocolInterface(clang::SourceLocation AtProtoInterfaceLoc, clang::IdentifierInfo * ProtocolName, clang::SourceLocation ProtocolLoc, clang::Decl *const * ProtoRefNames, unsigned int NumProtoRefs, const clang::SourceLocation * ProtoLocs, clang::SourceLocation EndProtoLoc, const clang::ParsedAttributesView & AttrList)
  • public clang::RequiresExprBodyDecl * ActOnStartRequiresExpr(clang::SourceLocation RequiresKWLoc, ArrayRef<clang::ParmVarDecl *> LocalParameters, clang::Scope * BodyScope)
  • public void ActOnStartSEHFinallyBlock()
  • public void ActOnStartStmtExpr()
  • public void ActOnStartTrailingRequiresClause(clang::Scope * S, clang::Declarator & D)
  • public clang::Decl * ActOnStaticAssertDeclaration(clang::SourceLocation StaticAssertLoc, clang::Expr * AssertExpr, clang::Expr * AssertMessageExpr, clang::SourceLocation RParenLoc)
  • public clang::ExprResult ActOnStmtExpr(clang::Scope * S, clang::SourceLocation LPLoc, clang::Stmt * SubStmt, clang::SourceLocation RPLoc)
  • public void ActOnStmtExprError()
  • public clang::ExprResult ActOnStmtExprResult(clang::ExprResult E)
  • public clang::ExprResult ActOnStringLiteral(ArrayRef<clang::Token> StringToks, clang::Scope * UDLScope = nullptr)
  • public void ActOnSuperClassOfClassInterface(clang::Scope * S, clang::SourceLocation AtInterfaceLoc, clang::ObjCInterfaceDecl * IDecl, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassLoc, clang::IdentifierInfo * SuperName, clang::SourceLocation SuperLoc, ArrayRef<clang::ParsedType> SuperTypeArgs, clang::SourceRange SuperTypeArgsRange)
  • public clang::ExprResult ActOnSuperMessage(clang::Scope * S, clang::SourceLocation SuperLoc, clang::Selector Sel, clang::SourceLocation LBracLoc, ArrayRef<clang::SourceLocation> SelectorLocs, clang::SourceLocation RBracLoc, clang::MultiExprArg Args)
  • public bool ActOnSuperScopeSpecifier(clang::SourceLocation SuperLoc, clang::SourceLocation ColonColonLoc, clang::CXXScopeSpec & SS)
  • public clang::Decl * ActOnTag(clang::Scope * S, unsigned int TagSpec, clang::Sema::TagUseKind TUK, clang::SourceLocation KWLoc, clang::CXXScopeSpec & SS, clang::IdentifierInfo * Name, clang::SourceLocation NameLoc, const clang::ParsedAttributesView & Attr, clang::AccessSpecifier AS, clang::SourceLocation ModulePrivateLoc, clang::MultiTemplateParamsArg TemplateParameterLists, bool & OwnedDecl, bool & IsDependent, clang::SourceLocation ScopedEnumKWLoc, bool ScopedEnumUsesClassTag, clang::TypeResult UnderlyingType, bool IsTypeSpecifier, bool IsTemplateParamOrArg, clang::Sema::SkipBodyInfo * SkipBody = nullptr)
  • public void ActOnTagDefinitionError(clang::Scope * S, clang::Decl * TagDecl)
  • public void ActOnTagFinishDefinition(clang::Scope * S, clang::Decl * TagDecl, clang::SourceRange BraceRange)
  • public void ActOnTagFinishSkippedDefinition(clang::Sema::SkippedDefinitionContext Context)
  • public void ActOnTagStartDefinition(clang::Scope * S, clang::Decl * TagDecl)
  • public clang::Sema::SkippedDefinitionContext ActOnTagStartSkippedDefinition(clang::Scope * S, clang::Decl * TD)
  • public clang::TypeResult ActOnTagTemplateIdType(clang::Sema::TagUseKind TUK, clang::TypeSpecifierType TagSpec, clang::SourceLocation TagLoc, clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::Sema::TemplateTy TemplateD, clang::SourceLocation TemplateLoc, clang::SourceLocation LAngleLoc, clang::ASTTemplateArgsPtr TemplateArgsIn, clang::SourceLocation RAngleLoc)
  • public clang::Decl * ActOnTemplateDeclarator(clang::Scope * S, clang::MultiTemplateParamsArg TemplateParameterLists, clang::Declarator & D)
  • public clang::TypeResult ActOnTemplateIdType(clang::Scope * S, clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::Sema::TemplateTy Template, clang::IdentifierInfo * TemplateII, clang::SourceLocation TemplateIILoc, clang::SourceLocation LAngleLoc, clang::ASTTemplateArgsPtr TemplateArgs, clang::SourceLocation RAngleLoc, bool IsCtorOrDtorName = false, bool IsClassName = false)
  • public clang::TemplateNameKind ActOnTemplateName(clang::Scope * S, clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, const clang::UnqualifiedId & Name, clang::ParsedType ObjectType, bool EnteringContext, clang::Sema::TemplateTy & Template, bool AllowInjectedClassName = false)
  • public clang::TemplateParameterList * ActOnTemplateParameterList(unsigned int Depth, clang::SourceLocation ExportLoc, clang::SourceLocation TemplateLoc, clang::SourceLocation LAngleLoc, ArrayRef<clang::NamedDecl *> Params, clang::SourceLocation RAngleLoc, clang::Expr * RequiresClause)
  • public clang::NamedDecl * ActOnTemplateTemplateParameter(clang::Scope * S, clang::SourceLocation TmpLoc, clang::TemplateParameterList * Params, clang::SourceLocation EllipsisLoc, clang::IdentifierInfo * ParamName, clang::SourceLocation ParamNameLoc, unsigned int Depth, unsigned int Position, clang::SourceLocation EqualLoc, clang::ParsedTemplateArgument DefaultArg)
  • public clang::ParsedTemplateArgument ActOnTemplateTypeArgument(clang::TypeResult ParsedType)
  • public clang::Decl * ActOnTemplatedFriendTag(clang::Scope * S, clang::SourceLocation FriendLoc, unsigned int TagSpec, clang::SourceLocation TagLoc, clang::CXXScopeSpec & SS, clang::IdentifierInfo * Name, clang::SourceLocation NameLoc, const clang::ParsedAttributesView & Attr, clang::MultiTemplateParamsArg TempParamLists)
  • public void ActOnTranslationUnitScope(clang::Scope * S)
  • public bool ActOnTypeConstraint(const clang::CXXScopeSpec & SS, clang::TemplateIdAnnotation * TypeConstraint, clang::TemplateTypeParmDecl * ConstrainedParameter, clang::SourceLocation EllipsisLoc)
  • public clang::TypeResult ActOnTypeName(clang::Scope * S, clang::Declarator & D)
  • public clang::NamedDecl * ActOnTypeParameter(clang::Scope * S, bool Typename, clang::SourceLocation EllipsisLoc, clang::SourceLocation KeyLoc, clang::IdentifierInfo * ParamName, clang::SourceLocation ParamNameLoc, unsigned int Depth, unsigned int Position, clang::SourceLocation EqualLoc, clang::ParsedType DefaultArg, bool HasTypeConstraint)
  • public concepts::Requirement * ActOnTypeRequirement(clang::SourceLocation TypenameKWLoc, clang::CXXScopeSpec & SS, clang::SourceLocation NameLoc, clang::IdentifierInfo * TypeName, clang::TemplateIdAnnotation * TemplateId)
  • public clang::ExprResult ActOnTypeTrait(clang::TypeTrait Kind, clang::SourceLocation KWLoc, ArrayRef<clang::ParsedType> Args, clang::SourceLocation RParenLoc)
  • public clang::NamedDecl * ActOnTypedefDeclarator(clang::Scope * S, clang::Declarator & D, clang::DeclContext * DC, clang::TypeSourceInfo * TInfo, clang::LookupResult & Previous)
  • public clang::NamedDecl * ActOnTypedefNameDecl(clang::Scope * S, clang::DeclContext * DC, clang::TypedefNameDecl * D, clang::LookupResult & Previous, bool & Redeclaration)
  • public void ActOnTypedefedProtocols(SmallVectorImpl<clang::Decl *> & ProtocolRefs, SmallVectorImpl<clang::SourceLocation> & ProtocolLocs, clang::IdentifierInfo * SuperName, clang::SourceLocation SuperLoc)
  • public clang::TypeResult ActOnTypenameType(clang::Scope * S, clang::SourceLocation TypenameLoc, const clang::CXXScopeSpec & SS, const clang::IdentifierInfo & II, clang::SourceLocation IdLoc)
  • public clang::TypeResult ActOnTypenameType(clang::Scope * S, clang::SourceLocation TypenameLoc, const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateLoc, clang::Sema::TemplateTy TemplateName, clang::IdentifierInfo * TemplateII, clang::SourceLocation TemplateIILoc, clang::SourceLocation LAngleLoc, clang::ASTTemplateArgsPtr TemplateArgs, clang::SourceLocation RAngleLoc)
  • public clang::ExprResult ActOnUnaryExprOrTypeTraitExpr(clang::SourceLocation OpLoc, clang::UnaryExprOrTypeTrait ExprKind, bool IsType, void * TyOrEx, clang::SourceRange ArgRange)
  • public clang::ExprResult ActOnUnaryOp(clang::Scope * S, clang::SourceLocation OpLoc, tok::TokenKind Op, clang::Expr * Input)
  • public void ActOnUndeclaredTypeTemplateName(clang::Scope * S, clang::Sema::TemplateTy & Name, clang::TemplateNameKind & TNK, clang::SourceLocation NameLoc, clang::IdentifierInfo *& II)
  • public void ActOnUninitializedDecl(clang::Decl * dcl)
  • public clang::Decl * ActOnUsingDeclaration(clang::Scope * CurScope, clang::AccessSpecifier AS, clang::SourceLocation UsingLoc, clang::SourceLocation TypenameLoc, clang::CXXScopeSpec & SS, clang::UnqualifiedId & Name, clang::SourceLocation EllipsisLoc, const clang::ParsedAttributesView & AttrList)
  • public clang::Decl * ActOnUsingDirective(clang::Scope * CurScope, clang::SourceLocation UsingLoc, clang::SourceLocation NamespcLoc, clang::CXXScopeSpec & SS, clang::SourceLocation IdentLoc, clang::IdentifierInfo * NamespcName, const clang::ParsedAttributesView & AttrList)
  • public clang::Decl * ActOnUsingEnumDeclaration(clang::Scope * CurScope, clang::AccessSpecifier AS, clang::SourceLocation UsingLoc, clang::SourceLocation EnumLoc, const clang::DeclSpec &)
  • public clang::ExprResult ActOnVAArg(clang::SourceLocation BuiltinLoc, clang::Expr * E, clang::ParsedType Ty, clang::SourceLocation RPLoc)
  • public clang::DeclResult ActOnVarTemplateSpecialization(clang::Scope * S, clang::Declarator & D, clang::TypeSourceInfo * DI, clang::SourceLocation TemplateKWLoc, clang::TemplateParameterList * TemplateParams, clang::StorageClass SC, bool IsPartialSpecialization)
  • public clang::NamedDecl * ActOnVariableDeclarator(clang::Scope * S, clang::Declarator & D, clang::DeclContext * DC, clang::TypeSourceInfo * TInfo, clang::LookupResult & Previous, clang::MultiTemplateParamsArg TemplateParamLists, bool & AddToScope, ArrayRef<clang::BindingDecl *> Bindings = None)
  • public clang::StmtResult ActOnWhileStmt(clang::SourceLocation WhileLoc, clang::SourceLocation LParenLoc, clang::Sema::ConditionResult Cond, clang::SourceLocation RParenLoc, clang::Stmt * Body)
  • public void AddAlignValueAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::Expr * E)
  • public void AddAlignedAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::TypeSourceInfo * T, bool IsPackExpansion)
  • public void AddAlignedAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::Expr * E, bool IsPackExpansion)
  • public void AddAlignmentAttributesForRecord(clang::RecordDecl * RD)
  • public void AddAllocAlignAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::Expr * ParamExpr)
  • public void AddAnnotationAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, llvm::StringRef Annot, MutableArrayRef<clang::Expr *> Args)
  • public void AddAnyMethodToGlobalPool(clang::Decl * D)
  • public void AddArgumentDependentLookupCandidates(clang::DeclarationName Name, clang::SourceLocation Loc, ArrayRef<clang::Expr *> Args, clang::TemplateArgumentListInfo * ExplicitTemplateArgs, clang::OverloadCandidateSet & CandidateSet, bool PartialOverloading = false)
  • public void AddAssumeAlignedAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::Expr * E, clang::Expr * OE)
  • public void AddBuiltinCandidate(clang::QualType * ParamTys, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, bool IsAssignmentOperator = false, unsigned int NumContextualBoolArguments = 0)
  • public void AddBuiltinOperatorCandidates(clang::OverloadedOperatorKind Op, clang::SourceLocation OpLoc, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet)
  • public void AddCFAuditedAttribute(clang::Decl * D)
  • public void AddConversionCandidate(clang::CXXConversionDecl * Conversion, clang::DeclAccessPair FoundDecl, clang::CXXRecordDecl * ActingContext, clang::Expr * From, clang::QualType ToType, clang::OverloadCandidateSet & CandidateSet, bool AllowObjCConversionOnExplicit, bool AllowExplicit, bool AllowResultConversion = true)
  • public void AddFactoryMethodToGlobalPool(clang::ObjCMethodDecl * Method, bool impl = false)
  • public void AddFunctionCandidates(const clang::UnresolvedSetImpl & Functions, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, clang::TemplateArgumentListInfo * ExplicitTemplateArgs = nullptr, bool SuppressUserConversions = false, bool PartialOverloading = false, bool FirstArgumentIsBase = false)
  • public void AddImplicitMSFunctionNoBuiltinAttr(clang::FunctionDecl * FD)
  • public void AddImplicitlyDeclaredMembersToClass(clang::CXXRecordDecl * ClassDecl)
  • public void AddInitializerToDecl(clang::Decl * dcl, clang::Expr * init, bool DirectInit)
  • public void AddInstanceMethodToGlobalPool(clang::ObjCMethodDecl * Method, bool impl = false)
  • public void AddKnownFunctionAttributes(clang::FunctionDecl * FD)
  • public void AddKnownFunctionAttributesForReplaceableGlobalAllocationFunction(clang::FunctionDecl * FD)
  • public void AddLaunchBoundsAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::Expr * MaxThreads, clang::Expr * MinBlocks)
  • public void AddMemberOperatorCandidates(clang::OverloadedOperatorKind Op, clang::SourceLocation OpLoc, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, clang::OverloadCandidateParamOrder PO = {})
  • public void AddMethodCandidate(clang::CXXMethodDecl * Method, clang::DeclAccessPair FoundDecl, clang::CXXRecordDecl * ActingContext, clang::QualType ObjectType, Expr::Classification ObjectClassification, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, bool SuppressUserConversions = false, bool PartialOverloading = false, clang::ConversionSequenceList EarlyConversions = None, clang::OverloadCandidateParamOrder PO = {})
  • public void AddMethodCandidate(clang::DeclAccessPair FoundDecl, clang::QualType ObjectType, Expr::Classification ObjectClassification, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, bool SuppressUserConversion = false, clang::OverloadCandidateParamOrder PO = {})
  • public void AddMethodTemplateCandidate(clang::FunctionTemplateDecl * MethodTmpl, clang::DeclAccessPair FoundDecl, clang::CXXRecordDecl * ActingContext, clang::TemplateArgumentListInfo * ExplicitTemplateArgs, clang::QualType ObjectType, Expr::Classification ObjectClassification, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, bool SuppressUserConversions = false, bool PartialOverloading = false, clang::OverloadCandidateParamOrder PO = {})
  • private void AddMethodToGlobalPool(clang::ObjCMethodDecl * Method, bool impl, bool instance)
  • public void AddModeAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::IdentifierInfo * Name, bool InInstantiation = false)
  • public void AddMsStructLayoutForRecord(clang::RecordDecl * RD)
  • public void AddNonMemberOperatorCandidates(const clang::UnresolvedSetImpl & Functions, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, clang::TemplateArgumentListInfo * ExplicitTemplateArgs = nullptr)
  • public void AddOptnoneAttributeIfNoConflicts(clang::FunctionDecl * FD, clang::SourceLocation Loc)
  • public void AddOverloadCandidate(clang::FunctionDecl * Function, clang::DeclAccessPair FoundDecl, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, bool SuppressUserConversions = false, bool PartialOverloading = false, bool AllowExplicit = true, bool AllowExplicitConversion = false, clang::Sema::ADLCallKind IsADLCandidate = ADLCallKind::NotADL, clang::ConversionSequenceList EarlyConversions = None, clang::OverloadCandidateParamOrder PO = {})
  • public void AddOverloadedCallCandidates(clang::LookupResult & R, clang::TemplateArgumentListInfo * ExplicitTemplateArgs, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet)
  • public void AddOverloadedCallCandidates(clang::UnresolvedLookupExpr * ULE, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, bool PartialOverloading = false)
  • public bool AddOverriddenMethods(clang::CXXRecordDecl * DC, clang::CXXMethodDecl * MD)
  • public void AddParameterABIAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::ParameterABI ABI)
  • private void AddPotentialMisalignedMembers(clang::Expr * E, clang::RecordDecl * RD, clang::ValueDecl * MD, clang::CharUnits Alignment)
  • public void AddPragmaAttributes(clang::Scope * S, clang::Decl * D)
  • public void AddPushedVisibilityAttribute(clang::Decl * RD)
  • public void AddRangeBasedOptnone(clang::FunctionDecl * FD)
  • public void AddSectionMSAllocText(clang::FunctionDecl * FD)
  • public void AddSurrogateCandidate(clang::CXXConversionDecl * Conversion, clang::DeclAccessPair FoundDecl, clang::CXXRecordDecl * ActingContext, const clang::FunctionProtoType * Proto, clang::Expr * Object, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet)
  • public void AddTemplateConversionCandidate(clang::FunctionTemplateDecl * FunctionTemplate, clang::DeclAccessPair FoundDecl, clang::CXXRecordDecl * ActingContext, clang::Expr * From, clang::QualType ToType, clang::OverloadCandidateSet & CandidateSet, bool AllowObjCConversionOnExplicit, bool AllowExplicit, bool AllowResultConversion = true)
  • public void AddTemplateOverloadCandidate(clang::FunctionTemplateDecl * FunctionTemplate, clang::DeclAccessPair FoundDecl, clang::TemplateArgumentListInfo * ExplicitTemplateArgs, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, bool SuppressUserConversions = false, bool PartialOverloading = false, bool AllowExplicit = true, clang::Sema::ADLCallKind IsADLCandidate = ADLCallKind::NotADL, clang::OverloadCandidateParamOrder PO = {})
  • public void AddXConsumedAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::Sema::RetainOwnershipKind K, bool IsTemplateInstantiation)
  • public clang::TemplateDecl * AdjustDeclIfTemplate(clang::Decl *& Decl)
  • public void AdjustDestructorExceptionSpec(clang::CXXDestructorDecl * Destructor)
  • private void AnalyzeDeleteExprMismatch(const clang::CXXDeleteExpr * DE)
  • private void AnalyzeDeleteExprMismatch(clang::FieldDecl * Field, clang::SourceLocation DeleteLoc, bool DeleteWasArrayForm)
  • public bool AreMultipleMethodsInGlobalPool(clang::Selector Sel, clang::ObjCMethodDecl * BestMethod, clang::SourceRange R, bool receiverIdOrClass, SmallVectorImpl<clang::ObjCMethodDecl *> & Methods)
  • public void ArgumentDependentLookup(clang::DeclarationName Name, clang::SourceLocation Loc, ArrayRef<clang::Expr *> Args, clang::ADLResult & Functions)
  • public void AtomicPropertySetterGetterRules(clang::ObjCImplDecl * IMPDecl, clang::ObjCInterfaceDecl * IDecl)
  • public bool AttachBaseSpecifiers(clang::CXXRecordDecl * Class, MutableArrayRef<clang::CXXBaseSpecifier *> Bases)
  • public bool AttachTypeConstraint(clang::AutoTypeLoc TL, clang::NonTypeTemplateParmDecl * ConstrainedParameter, clang::SourceLocation EllipsisLoc)
  • public bool AttachTypeConstraint(clang::NestedNameSpecifierLoc NS, clang::DeclarationNameInfo NameInfo, clang::ConceptDecl * NamedConcept, const clang::TemplateArgumentListInfo * TemplateArgs, clang::TemplateTypeParmDecl * ConstrainedParameter, clang::SourceLocation EllipsisLoc)
  • public clang::QualType BuildAddressSpaceAttr(clang::QualType & T, clang::LangAS ASIdx, clang::Expr * AddrSpace, clang::SourceLocation AttrLoc)
  • public clang::QualType BuildAddressSpaceAttr(clang::QualType & T, clang::Expr * AddrSpace, clang::SourceLocation AttrLoc)
  • public clang::Decl * BuildAnonymousStructOrUnion(clang::Scope * S, clang::DeclSpec & DS, clang::AccessSpecifier AS, clang::RecordDecl * Record, const clang::PrintingPolicy & Policy)
  • public clang::ExprResult BuildAnonymousStructUnionMemberReference(const clang::CXXScopeSpec & SS, clang::SourceLocation nameLoc, clang::IndirectFieldDecl * indirectField, clang::DeclAccessPair FoundDecl = DeclAccessPair::make(nullptr, AS_none), clang::Expr * baseObjectExpr = nullptr, clang::SourceLocation opLoc = clang::SourceLocation())
  • public clang::QualType BuildArrayType(clang::QualType T, ArrayType::ArraySizeModifier ASM, clang::Expr * ArraySize, unsigned int Quals, clang::SourceRange Brackets, clang::DeclarationName Entity)
  • public clang::ExprResult BuildArrayTypeTrait(clang::ArrayTypeTrait ATT, clang::SourceLocation KWLoc, clang::TypeSourceInfo * TSInfo, clang::Expr * DimExpr, clang::SourceLocation RParen)
  • public clang::ExprResult BuildAsTypeExpr(clang::Expr * E, clang::QualType DestTy, clang::SourceLocation BuiltinLoc, clang::SourceLocation RParenLoc)
  • public clang::ExprResult BuildAtomicExpr(clang::SourceRange CallRange, clang::SourceRange ExprRange, clang::SourceLocation RParenLoc, clang::MultiExprArg Args, AtomicExpr::AtomicOp Op, clang::Sema::AtomicArgumentOrder ArgOrder = AtomicArgumentOrder::API)
  • public clang::QualType BuildAtomicType(clang::QualType T, clang::SourceLocation Loc)
  • public clang::StmtResult BuildAttributedStmt(clang::SourceLocation AttrsLoc, ArrayRef<const clang::Attr *> Attrs, clang::Stmt * SubStmt)
  • public clang::MemInitResult BuildBaseInitializer(clang::QualType BaseType, clang::TypeSourceInfo * BaseTInfo, clang::Expr * Init, clang::CXXRecordDecl * ClassDecl, clang::SourceLocation EllipsisLoc)
  • public void BuildBasePathArray(const clang::CXXBasePaths & Paths, clang::CXXCastPath & BasePath)
  • public clang::ExprResult BuildBinOp(clang::Scope * S, clang::SourceLocation OpLoc, clang::BinaryOperatorKind Opc, clang::Expr * LHSExpr, clang::Expr * RHSExpr)
  • public clang::QualType BuildBitIntType(bool IsUnsigned, clang::Expr * BitWidth, clang::SourceLocation Loc)
  • public clang::ExprResult BuildBlockForLambdaConversion(clang::SourceLocation CurrentLocation, clang::SourceLocation ConvLocation, clang::CXXConversionDecl * Conv, clang::Expr * Src)
  • public clang::QualType BuildBlockPointerType(clang::QualType T, clang::SourceLocation Loc, clang::DeclarationName Entity)
  • public clang::ExprResult BuildBuiltinBitCastExpr(clang::SourceLocation KWLoc, clang::TypeSourceInfo * TSI, clang::Expr * Operand, clang::SourceLocation RParenLoc)
  • public clang::Expr * BuildBuiltinCallExpr(clang::SourceLocation Loc, Builtin::ID Id, clang::MultiExprArg CallArgs)
  • public clang::ExprResult BuildBuiltinOffsetOf(clang::SourceLocation BuiltinLoc, clang::TypeSourceInfo * TInfo, ArrayRef<clang::Sema::OffsetOfComponent> Components, clang::SourceLocation RParenLoc)
  • public clang::ExprResult BuildCStyleCastExpr(clang::SourceLocation LParenLoc, clang::TypeSourceInfo * Ty, clang::SourceLocation RParenLoc, clang::Expr * Op)
  • public clang::ExprResult BuildCXXConstructExpr(clang::SourceLocation ConstructLoc, clang::QualType DeclInitType, clang::NamedDecl * FoundDecl, clang::CXXConstructorDecl * Constructor, bool Elidable, clang::MultiExprArg Exprs, bool HadMultipleCandidates, bool IsListInitialization, bool IsStdInitListInitialization, bool RequiresZeroInit, unsigned int ConstructKind, clang::SourceRange ParenRange)
  • public clang::ExprResult BuildCXXConstructExpr(clang::SourceLocation ConstructLoc, clang::QualType DeclInitType, clang::CXXConstructorDecl * Constructor, bool Elidable, clang::MultiExprArg Exprs, bool HadMultipleCandidates, bool IsListInitialization, bool IsStdInitListInitialization, bool RequiresZeroInit, unsigned int ConstructKind, clang::SourceRange ParenRange)
  • public clang::ExprResult BuildCXXConstructExpr(clang::SourceLocation ConstructLoc, clang::QualType DeclInitType, clang::NamedDecl * FoundDecl, clang::CXXConstructorDecl * Constructor, clang::MultiExprArg Exprs, bool HadMultipleCandidates, bool IsListInitialization, bool IsStdInitListInitialization, bool RequiresZeroInit, unsigned int ConstructKind, clang::SourceRange ParenRange)
  • public clang::ExprResult BuildCXXDefaultArgExpr(clang::SourceLocation CallLoc, clang::FunctionDecl * FD, clang::ParmVarDecl * Param)
  • public clang::ExprResult BuildCXXDefaultInitExpr(clang::SourceLocation Loc, clang::FieldDecl * Field)
  • public clang::ExprResult BuildCXXFoldExpr(clang::UnresolvedLookupExpr * Callee, clang::SourceLocation LParenLoc, clang::Expr * LHS, clang::BinaryOperatorKind Operator, clang::SourceLocation EllipsisLoc, clang::Expr * RHS, clang::SourceLocation RParenLoc, Optional<unsigned int> NumExpansions)
  • public clang::StmtResult BuildCXXForRangeStmt(clang::SourceLocation ForLoc, clang::SourceLocation CoawaitLoc, clang::Stmt * InitStmt, clang::SourceLocation ColonLoc, clang::Stmt * RangeDecl, clang::Stmt * Begin, clang::Stmt * End, clang::Expr * Cond, clang::Expr * Inc, clang::Stmt * LoopVarDecl, clang::SourceLocation RParenLoc, clang::Sema::BuildForRangeKind Kind)
  • public clang::ExprResult BuildCXXFunctionalCastExpr(clang::TypeSourceInfo * TInfo, clang::QualType Type, clang::SourceLocation LParenLoc, clang::Expr * CastExpr, clang::SourceLocation RParenLoc)
  • public clang::ExprResult BuildCXXMemberCallExpr(clang::Expr * Exp, clang::NamedDecl * FoundDecl, clang::CXXConversionDecl * Method, bool HadMultipleCandidates)
  • public clang::ExprResult BuildCXXNamedCast(clang::SourceLocation OpLoc, tok::TokenKind Kind, clang::TypeSourceInfo * Ty, clang::Expr * E, clang::SourceRange AngleBrackets, clang::SourceRange Parens)
  • public bool BuildCXXNestedNameSpecifier(clang::Scope * S, clang::Sema::NestedNameSpecInfo & IdInfo, bool EnteringContext, clang::CXXScopeSpec & SS, clang::NamedDecl * ScopeLookupResult, bool ErrorRecoveryLookup, bool * IsCorrectedToColon = nullptr, bool OnlyNamespace = false)
  • public clang::ExprResult BuildCXXNew(clang::SourceRange Range, bool UseGlobal, clang::SourceLocation PlacementLParen, clang::MultiExprArg PlacementArgs, clang::SourceLocation PlacementRParen, clang::SourceRange TypeIdParens, clang::QualType AllocType, clang::TypeSourceInfo * AllocTypeInfo, Optional<clang::Expr *> ArraySize, clang::SourceRange DirectInitRange, clang::Expr * Initializer)
  • public clang::ExprResult BuildCXXNoexceptExpr(clang::SourceLocation KeyLoc, clang::Expr * Operand, clang::SourceLocation RParen)
  • public clang::Expr * BuildCXXThisExpr(clang::SourceLocation Loc, clang::QualType Type, bool IsImplicit)
  • public clang::ExprResult BuildCXXThrow(clang::SourceLocation OpLoc, clang::Expr * Ex, bool IsThrownVarInScope)
  • public clang::ExprResult BuildCXXTypeConstructExpr(clang::TypeSourceInfo * Type, clang::SourceLocation LParenLoc, clang::MultiExprArg Exprs, clang::SourceLocation RParenLoc, bool ListInitialization)
  • public clang::ExprResult BuildCXXTypeId(clang::QualType TypeInfoType, clang::SourceLocation TypeidLoc, clang::TypeSourceInfo * Operand, clang::SourceLocation RParenLoc)
  • public clang::ExprResult BuildCXXTypeId(clang::QualType TypeInfoType, clang::SourceLocation TypeidLoc, clang::Expr * Operand, clang::SourceLocation RParenLoc)
  • public clang::ExprResult BuildCXXUuidof(clang::QualType TypeInfoType, clang::SourceLocation TypeidLoc, clang::Expr * Operand, clang::SourceLocation RParenLoc)
  • public clang::ExprResult BuildCXXUuidof(clang::QualType TypeInfoType, clang::SourceLocation TypeidLoc, clang::TypeSourceInfo * Operand, clang::SourceLocation RParenLoc)
  • public clang::ExprResult BuildCallExpr(clang::Scope * S, clang::Expr * Fn, clang::SourceLocation LParenLoc, clang::MultiExprArg ArgExprs, clang::SourceLocation RParenLoc, clang::Expr * ExecConfig = nullptr, bool IsExecConfig = false, bool AllowRecovery = false)
  • public clang::ExprResult BuildCallToMemberFunction(clang::Scope * S, clang::Expr * MemExpr, clang::SourceLocation LParenLoc, clang::MultiExprArg Args, clang::SourceLocation RParenLoc, clang::Expr * ExecConfig = nullptr, bool IsExecConfig = false, bool AllowRecovery = false)
  • public clang::ExprResult BuildCallToObjectOfClassType(clang::Scope * S, clang::Expr * Object, clang::SourceLocation LParenLoc, clang::MultiExprArg Args, clang::SourceLocation RParenLoc)
  • public clang::FieldDecl * BuildCaptureField(clang::RecordDecl * RD, const sema::Capture & Capture)
  • public clang::ExprResult BuildCaptureInit(const sema::Capture & Capture, clang::SourceLocation ImplicitCaptureLoc, bool IsOpenMPMapping = false)
  • public clang::ExprResult BuildClassMessage(clang::TypeSourceInfo * ReceiverTypeInfo, clang::QualType ReceiverType, clang::SourceLocation SuperLoc, clang::Selector Sel, clang::ObjCMethodDecl * Method, clang::SourceLocation LBracLoc, ArrayRef<clang::SourceLocation> SelectorLocs, clang::SourceLocation RBracLoc, clang::MultiExprArg Args, bool isImplicit = false)
  • public clang::ExprResult BuildClassMessageImplicit(clang::QualType ReceiverType, bool isSuperReceiver, clang::SourceLocation Loc, clang::Selector Sel, clang::ObjCMethodDecl * Method, clang::MultiExprArg Args)
  • public clang::ExprResult BuildCompoundLiteralExpr(clang::SourceLocation LParenLoc, clang::TypeSourceInfo * TInfo, clang::SourceLocation RParenLoc, clang::Expr * LiteralExpr)
  • public clang::StmtResult BuildCoreturnStmt(clang::SourceLocation KwLoc, clang::Expr * E, bool IsImplicit = false)
  • public clang::StmtResult BuildCoroutineBodyStmt(CoroutineBodyStmt::CtorArgs)
  • public clang::ExprResult BuildCoyieldExpr(clang::SourceLocation KwLoc, clang::Expr * E)
  • public clang::DeclRefExpr * BuildDeclRefExpr(clang::ValueDecl * D, clang::QualType Ty, clang::ExprValueKind VK, clang::SourceLocation Loc, const clang::CXXScopeSpec * SS = nullptr)
  • public clang::DeclRefExpr * BuildDeclRefExpr(clang::ValueDecl * D, clang::QualType Ty, clang::ExprValueKind VK, const clang::DeclarationNameInfo & NameInfo, const clang::CXXScopeSpec * SS = nullptr, clang::NamedDecl * FoundD = nullptr, clang::SourceLocation TemplateKWLoc = clang::SourceLocation(), const clang::TemplateArgumentListInfo * TemplateArgs = nullptr)
  • public clang::DeclRefExpr * BuildDeclRefExpr(clang::ValueDecl * D, clang::QualType Ty, clang::ExprValueKind VK, const clang::DeclarationNameInfo & NameInfo, clang::NestedNameSpecifierLoc NNS, clang::NamedDecl * FoundD = nullptr, clang::SourceLocation TemplateKWLoc = clang::SourceLocation(), const clang::TemplateArgumentListInfo * TemplateArgs = nullptr)
  • public clang::ExprResult BuildDeclarationNameExpr(const clang::CXXScopeSpec & SS, const clang::DeclarationNameInfo & NameInfo, clang::NamedDecl * D, clang::NamedDecl * FoundD = nullptr, const clang::TemplateArgumentListInfo * TemplateArgs = nullptr, bool AcceptInvalidDecl = false)
  • public clang::ExprResult BuildDeclarationNameExpr(const clang::CXXScopeSpec & SS, clang::LookupResult & R, bool NeedsADL, bool AcceptInvalidDecl = false)
  • public clang::Sema::DeclGroupPtrTy BuildDeclaratorGroup(MutableArrayRef<clang::Decl *> Group)
  • public clang::QualType BuildDecltypeType(clang::Expr * E, bool AsUnevaluated = true)
  • public clang::MemInitResult BuildDelegatingInitializer(clang::TypeSourceInfo * TInfo, clang::Expr * Init, clang::CXXRecordDecl * ClassDecl)
  • public clang::ExprResult BuildDependentDeclRefExpr(const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, const clang::DeclarationNameInfo & NameInfo, const clang::TemplateArgumentListInfo * TemplateArgs)
  • public clang::ExprResult BuildEmptyCXXFoldExpr(clang::SourceLocation EllipsisLoc, clang::BinaryOperatorKind Operator)
  • public clang::VarDecl * BuildExceptionDeclaration(clang::Scope * S, clang::TypeSourceInfo * TInfo, clang::SourceLocation StartLoc, clang::SourceLocation IdLoc, clang::IdentifierInfo * Id)
  • public concepts::ExprRequirement * BuildExprRequirement(concepts::Requirement::SubstitutionDiagnostic * ExprSubstDiag, bool IsSatisfied, clang::SourceLocation NoexceptLoc, concepts::ExprRequirement::ReturnTypeRequirement ReturnTypeRequirement)
  • public concepts::ExprRequirement * BuildExprRequirement(clang::Expr * E, bool IsSatisfied, clang::SourceLocation NoexceptLoc, concepts::ExprRequirement::ReturnTypeRequirement ReturnTypeRequirement)
  • public clang::ExprResult BuildExpressionFromDeclTemplateArgument(const clang::TemplateArgument & Arg, clang::QualType ParamType, clang::SourceLocation Loc)
  • public clang::ExprResult BuildExpressionFromIntegralTemplateArgument(const clang::TemplateArgument & Arg, clang::SourceLocation Loc)
  • public clang::ExprResult BuildExpressionTrait(clang::ExpressionTrait OET, clang::SourceLocation KWLoc, clang::Expr * Queried, clang::SourceLocation RParen)
  • public clang::QualType BuildExtVectorType(clang::QualType T, clang::Expr * ArraySize, clang::SourceLocation AttrLoc)
  • public clang::ExprResult BuildFieldReferenceExpr(clang::Expr * BaseExpr, bool IsArrow, clang::SourceLocation OpLoc, const clang::CXXScopeSpec & SS, clang::FieldDecl * Field, clang::DeclAccessPair FoundDecl, const clang::DeclarationNameInfo & MemberNameInfo)
  • public clang::Sema::ForRangeStatus BuildForRangeBeginEndCall(clang::SourceLocation Loc, clang::SourceLocation RangeLoc, const clang::DeclarationNameInfo & NameInfo, clang::LookupResult & MemberLookup, clang::OverloadCandidateSet * CandidateSet, clang::Expr * Range, clang::ExprResult * CallExpr)
  • public clang::QualType BuildFunctionType(clang::QualType T, MutableArrayRef<clang::QualType> ParamTypes, clang::SourceLocation Loc, clang::DeclarationName Entity, const FunctionProtoType::ExtProtoInfo & EPI)
  • public clang::StmtResult BuildIfStmt(clang::SourceLocation IfLoc, clang::IfStatementKind StatementKind, clang::SourceLocation LParenLoc, clang::Stmt * InitStmt, clang::Sema::ConditionResult Cond, clang::SourceLocation RParenLoc, clang::Stmt * ThenVal, clang::SourceLocation ElseLoc, clang::Stmt * ElseVal)
  • public clang::ExprResult BuildImplicitMemberExpr(const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::LookupResult & R, const clang::TemplateArgumentListInfo * TemplateArgs, bool IsDefiniteInstance, const clang::Scope * S)
  • public clang::ExprResult BuildInitList(clang::SourceLocation LBraceLoc, clang::MultiExprArg InitArgList, clang::SourceLocation RBraceLoc)
  • public clang::ExprResult BuildInstanceMessage(clang::Expr * Receiver, clang::QualType ReceiverType, clang::SourceLocation SuperLoc, clang::Selector Sel, clang::ObjCMethodDecl * Method, clang::SourceLocation LBracLoc, ArrayRef<clang::SourceLocation> SelectorLocs, clang::SourceLocation RBracLoc, clang::MultiExprArg Args, bool isImplicit = false)
  • public clang::ExprResult BuildInstanceMessageImplicit(clang::Expr * Receiver, clang::QualType ReceiverType, clang::SourceLocation Loc, clang::Selector Sel, clang::ObjCMethodDecl * Method, clang::MultiExprArg Args)
  • public clang::ExprResult BuildIvarRefExpr(clang::Scope * S, clang::SourceLocation Loc, clang::ObjCIvarDecl * IV)
  • public clang::ExprResult BuildLambdaExpr(clang::SourceLocation StartLoc, clang::SourceLocation EndLoc, sema::LambdaScopeInfo * LSI)
  • public clang::ExprResult BuildLiteralOperatorCall(clang::LookupResult & R, clang::DeclarationNameInfo & SuffixInfo, ArrayRef<clang::Expr *> Args, clang::SourceLocation LitEndLoc, clang::TemplateArgumentListInfo * ExplicitTemplateArgs = nullptr)
  • public clang::StmtResult BuildMSDependentExistsStmt(clang::SourceLocation KeywordLoc, bool IsIfExists, clang::NestedNameSpecifierLoc QualifierLoc, clang::DeclarationNameInfo NameInfo, clang::Stmt * Nested)
  • public clang::QualType BuildMatrixType(clang::QualType T, clang::Expr * NumRows, clang::Expr * NumColumns, clang::SourceLocation AttrLoc)
  • public clang::MemInitResult BuildMemInitializer(clang::Decl * ConstructorD, clang::Scope * S, clang::CXXScopeSpec & SS, clang::IdentifierInfo * MemberOrBase, clang::ParsedType TemplateTypeTy, const clang::DeclSpec & DS, clang::SourceLocation IdLoc, clang::Expr * Init, clang::SourceLocation EllipsisLoc)
  • public clang::MemberExpr * BuildMemberExpr(clang::Expr * Base, bool IsArrow, clang::SourceLocation OpLoc, const clang::CXXScopeSpec * SS, clang::SourceLocation TemplateKWLoc, clang::ValueDecl * Member, clang::DeclAccessPair FoundDecl, bool HadMultipleCandidates, const clang::DeclarationNameInfo & MemberNameInfo, clang::QualType Ty, clang::ExprValueKind VK, clang::ExprObjectKind OK, const clang::TemplateArgumentListInfo * TemplateArgs = nullptr)
  • public clang::MemberExpr * BuildMemberExpr(clang::Expr * Base, bool IsArrow, clang::SourceLocation OpLoc, clang::NestedNameSpecifierLoc NNS, clang::SourceLocation TemplateKWLoc, clang::ValueDecl * Member, clang::DeclAccessPair FoundDecl, bool HadMultipleCandidates, const clang::DeclarationNameInfo & MemberNameInfo, clang::QualType Ty, clang::ExprValueKind VK, clang::ExprObjectKind OK, const clang::TemplateArgumentListInfo * TemplateArgs = nullptr)
  • public clang::MemInitResult BuildMemberInitializer(clang::ValueDecl * Member, clang::Expr * Init, clang::SourceLocation IdLoc)
  • public clang::QualType BuildMemberPointerType(clang::QualType T, clang::QualType Class, clang::SourceLocation Loc, clang::DeclarationName Entity)
  • public clang::ExprResult BuildMemberReferenceExpr(clang::Expr * Base, clang::QualType BaseType, clang::SourceLocation OpLoc, bool IsArrow, clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::NamedDecl * FirstQualifierInScope, const clang::DeclarationNameInfo & NameInfo, const clang::TemplateArgumentListInfo * TemplateArgs, const clang::Scope * S, clang::Sema::ActOnMemberAccessExtraArgs * ExtraArgs = nullptr)
  • public clang::ExprResult BuildMemberReferenceExpr(clang::Expr * Base, clang::QualType BaseType, clang::SourceLocation OpLoc, bool IsArrow, const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::NamedDecl * FirstQualifierInScope, clang::LookupResult & R, const clang::TemplateArgumentListInfo * TemplateArgs, const clang::Scope * S, bool SuppressQualifierCheck = false, clang::Sema::ActOnMemberAccessExtraArgs * ExtraArgs = nullptr)
  • public clang::Decl * BuildMicrosoftCAnonymousStruct(clang::Scope * S, clang::DeclSpec & DS, clang::RecordDecl * Record)
  • public void BuildModuleInclude(clang::SourceLocation DirectiveLoc, clang::Module * Mod)
  • public concepts::NestedRequirement * BuildNestedRequirement(concepts::Requirement::SubstitutionDiagnostic * SubstDiag)
  • public concepts::NestedRequirement * BuildNestedRequirement(clang::Expr * E)
  • public clang::ExprResult BuildObjCArrayLiteral(clang::SourceRange SR, clang::MultiExprArg Elements)
  • public clang::StmtResult BuildObjCAtThrowStmt(clang::SourceLocation AtLoc, clang::Expr * Throw)
  • public clang::ExprResult BuildObjCBoxedExpr(clang::SourceRange SR, clang::Expr * ValueExpr)
  • public clang::ExprResult BuildObjCBridgedCast(clang::SourceLocation LParenLoc, clang::ObjCBridgeCastKind Kind, clang::SourceLocation BridgeKeywordLoc, clang::TypeSourceInfo * TSInfo, clang::Expr * SubExpr)
  • public clang::ExprResult BuildObjCDictionaryLiteral(clang::SourceRange SR, MutableArrayRef<clang::ObjCDictionaryElement> Elements)
  • public clang::ExprResult BuildObjCEncodeExpression(clang::SourceLocation AtLoc, clang::TypeSourceInfo * EncodedTypeInfo, clang::SourceLocation RParenLoc)
  • public clang::VarDecl * BuildObjCExceptionDecl(clang::TypeSourceInfo * TInfo, clang::QualType ExceptionType, clang::SourceLocation StartLoc, clang::SourceLocation IdLoc, clang::IdentifierInfo * Id, bool Invalid = false)
  • public clang::ExprResult BuildObjCNumericLiteral(clang::SourceLocation AtLoc, clang::Expr * Number)
  • public clang::QualType BuildObjCObjectType(clang::QualType BaseType, clang::SourceLocation Loc, clang::SourceLocation TypeArgsLAngleLoc, ArrayRef<clang::TypeSourceInfo *> TypeArgs, clang::SourceLocation TypeArgsRAngleLoc, clang::SourceLocation ProtocolLAngleLoc, ArrayRef<clang::ObjCProtocolDecl *> Protocols, ArrayRef<clang::SourceLocation> ProtocolLocs, clang::SourceLocation ProtocolRAngleLoc, bool FailOnError = false)
  • public clang::ExprResult BuildObjCStringLiteral(clang::SourceLocation AtLoc, clang::StringLiteral * S)
  • public clang::ExprResult BuildObjCSubscriptExpression(clang::SourceLocation RB, clang::Expr * BaseExpr, clang::Expr * IndexExpr, clang::ObjCMethodDecl * getterMethod, clang::ObjCMethodDecl * setterMethod)
  • public clang::QualType BuildObjCTypeParamType(const clang::ObjCTypeParamDecl * Decl, clang::SourceLocation ProtocolLAngleLoc, ArrayRef<clang::ObjCProtocolDecl *> Protocols, ArrayRef<clang::SourceLocation> ProtocolLocs, clang::SourceLocation ProtocolRAngleLoc, bool FailOnError = false)
  • public clang::ExprResult BuildOperatorCoawaitCall(clang::SourceLocation Loc, clang::Expr * E, clang::UnresolvedLookupExpr * Lookup)
  • public clang::ExprResult BuildOperatorCoawaitLookupExpr(clang::Scope * S, clang::SourceLocation Loc)
  • public clang::ExprResult BuildOverloadedArrowExpr(clang::Scope * S, clang::Expr * Base, clang::SourceLocation OpLoc, bool * NoArrowOperatorFound = nullptr)
  • public clang::ExprResult BuildOverloadedCallExpr(clang::Scope * S, clang::Expr * Fn, clang::UnresolvedLookupExpr * ULE, clang::SourceLocation LParenLoc, clang::MultiExprArg Args, clang::SourceLocation RParenLoc, clang::Expr * ExecConfig, bool AllowTypoCorrection = true, bool CalleesAddressIsTaken = false)
  • public clang::QualType BuildParenType(clang::QualType T)
  • public clang::ParmVarDecl * BuildParmVarDeclForTypedef(clang::DeclContext * DC, clang::SourceLocation Loc, clang::QualType T)
  • public clang::QualType BuildPointerType(clang::QualType T, clang::SourceLocation Loc, clang::DeclarationName Entity)
  • public clang::ExprResult BuildPossibleImplicitMemberExpr(const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::LookupResult & R, const clang::TemplateArgumentListInfo * TemplateArgs, const clang::Scope * S, clang::UnresolvedLookupExpr * AsULE = nullptr)
  • public clang::ExprResult BuildPredefinedExpr(clang::SourceLocation Loc, PredefinedExpr::IdentKind IK)
  • public clang::ExprResult BuildPseudoDestructorExpr(clang::Expr * Base, clang::SourceLocation OpLoc, tok::TokenKind OpKind, const clang::CXXScopeSpec & SS, clang::TypeSourceInfo * ScopeType, clang::SourceLocation CCLoc, clang::SourceLocation TildeLoc, clang::PseudoDestructorTypeStorage DestroyedType)
  • public clang::ExprResult BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec & SS, const clang::DeclarationNameInfo & NameInfo, bool IsAddressOfOperand, const clang::Scope * S, clang::TypeSourceInfo ** RecoveryTSI = nullptr)
  • public clang::ExprResult BuildQualifiedTemplateIdExpr(clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, const clang::DeclarationNameInfo & NameInfo, const clang::TemplateArgumentListInfo * TemplateArgs)
  • public clang::QualType BuildQualifiedType(clang::QualType T, clang::SourceLocation Loc, unsigned int CVRA, const clang::DeclSpec * DS = nullptr)
  • public clang::QualType BuildQualifiedType(clang::QualType T, clang::SourceLocation Loc, clang::Qualifiers Qs, const clang::DeclSpec * DS = nullptr)
  • public clang::QualType BuildReadPipeType(clang::QualType T, clang::SourceLocation Loc)
  • public clang::QualType BuildReferenceType(clang::QualType T, bool LValueRef, clang::SourceLocation Loc, clang::DeclarationName Entity)
  • public clang::ExprResult BuildResolvedCallExpr(clang::Expr * Fn, clang::NamedDecl * NDecl, clang::SourceLocation LParenLoc, ArrayRef<clang::Expr *> Arg, clang::SourceLocation RParenLoc, clang::Expr * Config = nullptr, bool IsExecConfig = false, clang::Sema::ADLCallKind UsesADL = ADLCallKind::NotADL)
  • public clang::ExprResult BuildResolvedCoawaitExpr(clang::SourceLocation KwLoc, clang::Expr * Operand, clang::Expr * Awaiter, bool IsImplicit = false)
  • public clang::StmtResult BuildReturnStmt(clang::SourceLocation ReturnLoc, clang::Expr * RetValExp, bool AllowRecovery = false)
  • public clang::ExprResult BuildSYCLUniqueStableNameExpr(clang::SourceLocation OpLoc, clang::SourceLocation LParen, clang::SourceLocation RParen, clang::TypeSourceInfo * TSI)
  • public clang::ExprResult BuildSourceLocExpr(SourceLocExpr::IdentKind Kind, clang::QualType ResultTy, clang::SourceLocation BuiltinLoc, clang::SourceLocation RPLoc, clang::DeclContext * ParentContext)
  • public clang::Decl * BuildStaticAssertDeclaration(clang::SourceLocation StaticAssertLoc, clang::Expr * AssertExpr, clang::StringLiteral * AssertMessageExpr, clang::SourceLocation RParenLoc, bool Failed)
  • public clang::QualType BuildStdInitializerList(clang::QualType Element, clang::SourceLocation Loc)
  • public clang::ExprResult BuildStmtExpr(clang::SourceLocation LPLoc, clang::Stmt * SubStmt, clang::SourceLocation RPLoc, unsigned int TemplateDepth)
  • public clang::ExprResult BuildSynthesizedThreeWayComparison(clang::SourceLocation OpLoc, const clang::UnresolvedSetImpl & Fns, clang::Expr * LHS, clang::Expr * RHS, clang::FunctionDecl * DefaultedFn)
  • public clang::ExprResult BuildTemplateIdExpr(const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::LookupResult & R, bool RequiresADL, const clang::TemplateArgumentListInfo * TemplateArgs)
  • public bool BuildTypeConstraint(const clang::CXXScopeSpec & SS, clang::TemplateIdAnnotation * TypeConstraint, clang::TemplateTypeParmDecl * ConstrainedParameter, clang::SourceLocation EllipsisLoc, bool AllowUnexpandedPack)
  • public concepts::TypeRequirement * BuildTypeRequirement(clang::TypeSourceInfo * Type)
  • public concepts::TypeRequirement * BuildTypeRequirement(concepts::Requirement::SubstitutionDiagnostic * SubstDiag)
  • public clang::ExprResult BuildTypeTrait(clang::TypeTrait Kind, clang::SourceLocation KWLoc, ArrayRef<clang::TypeSourceInfo *> Args, clang::SourceLocation RParenLoc)
  • public clang::QualType BuildTypeofExprType(clang::Expr * E)
  • public clang::ExprResult BuildUnaryOp(clang::Scope * S, clang::SourceLocation OpLoc, clang::UnaryOperatorKind Opc, clang::Expr * Input)
  • public clang::QualType BuildUnaryTransformType(clang::QualType BaseType, UnaryTransformType::UTTKind UKind, clang::SourceLocation Loc)
  • public clang::ExprResult BuildUnresolvedCoawaitExpr(clang::SourceLocation KwLoc, clang::Expr * Operand, clang::UnresolvedLookupExpr * Lookup)
  • public clang::NamedDecl * BuildUsingDeclaration(clang::Scope * S, clang::AccessSpecifier AS, clang::SourceLocation UsingLoc, bool HasTypenameKeyword, clang::SourceLocation TypenameLoc, clang::CXXScopeSpec & SS, clang::DeclarationNameInfo NameInfo, clang::SourceLocation EllipsisLoc, const clang::ParsedAttributesView & AttrList, bool IsInstantiation, bool IsUsingIfExists)
  • public clang::NamedDecl * BuildUsingEnumDeclaration(clang::Scope * S, clang::AccessSpecifier AS, clang::SourceLocation UsingLoc, clang::SourceLocation EnumLoc, clang::SourceLocation NameLoc, clang::EnumDecl * ED)
  • public clang::NamedDecl * BuildUsingPackDecl(clang::NamedDecl * InstantiatedFrom, ArrayRef<clang::NamedDecl *> Expansions)
  • public clang::UsingShadowDecl * BuildUsingShadowDecl(clang::Scope * S, clang::BaseUsingDecl * BUD, clang::NamedDecl * Target, clang::UsingShadowDecl * PrevDecl)
  • public clang::ExprResult BuildVAArgExpr(clang::SourceLocation BuiltinLoc, clang::Expr * E, clang::TypeSourceInfo * TInfo, clang::SourceLocation RPLoc)
  • public clang::VarTemplateSpecializationDecl * BuildVarTemplateInstantiation(clang::VarTemplateDecl * VarTemplate, clang::VarDecl * FromVar, const clang::TemplateArgumentList & TemplateArgList, const clang::TemplateArgumentListInfo & TemplateArgsInfo, SmallVectorImpl<clang::TemplateArgument> & Converted, clang::SourceLocation PointOfInstantiation, clang::Sema::LateInstantiatedAttrVec * LateAttrs = nullptr, clang::LocalInstantiationScope * StartingScope = nullptr)
  • public void BuildVariableInstantiation(clang::VarDecl * NewVar, clang::VarDecl * OldVar, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::Sema::LateInstantiatedAttrVec * LateAttrs, clang::DeclContext * Owner, clang::LocalInstantiationScope * StartingScope, bool InstantiatingVarTemplate = false, clang::VarTemplateSpecializationDecl * PrevVTSD = nullptr)
  • public clang::ExprResult BuildVectorLiteral(clang::SourceLocation LParenLoc, clang::SourceLocation RParenLoc, clang::Expr * E, clang::TypeSourceInfo * TInfo)
  • public clang::QualType BuildVectorType(clang::QualType T, clang::Expr * VecSize, clang::SourceLocation AttrLoc)
  • public clang::QualType BuildWritePipeType(clang::QualType T, clang::SourceLocation Loc)
  • public void CUDACheckLambdaCapture(clang::CXXMethodDecl * D, const sema::Capture & Capture)
  • public clang::Sema::SemaDiagnosticBuilder CUDADiagIfDeviceCode(clang::SourceLocation Loc, unsigned int DiagID)
  • public clang::Sema::SemaDiagnosticBuilder CUDADiagIfHostCode(clang::SourceLocation Loc, unsigned int DiagID)
  • public void CUDASetLambdaAttrs(clang::CXXMethodDecl * Method)
  • public clang::QualType CXXCheckConditionalOperands(clang::ExprResult & cond, clang::ExprResult & lhs, clang::ExprResult & rhs, clang::ExprValueKind & VK, clang::ExprObjectKind & OK, clang::SourceLocation questionLoc)
  • public clang::ExprResult CallExprUnaryConversions(clang::Expr * E)
  • public bool CanPerformAggregateInitializationForOverloadResolution(const clang::InitializedEntity & Entity, clang::InitListExpr * From)
  • public bool CanPerformCopyInitialization(const clang::InitializedEntity & Entity, clang::ExprResult Init)
  • public bool CanUseDecl(clang::NamedDecl * D, bool TreatUnavailableAsInvalid)
  • public bool CaptureHasSideEffects(const sema::Capture & From)
  • private bool CheckAArch64BuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckAMDGCNBuiltinFunctionCall(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public bool CheckARCMethodDecl(clang::ObjCMethodDecl * method)
  • private bool CheckARMBuiltinExclusiveCall(unsigned int BuiltinID, clang::CallExpr * TheCall, unsigned int MaxWidth)
  • private bool CheckARMBuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckARMCoprocessorImmediate(const clang::TargetInfo & TI, const clang::Expr * CoprocArg, bool WantCDE)
  • private void CheckAbsoluteValueFunction(const clang::CallExpr * Call, const clang::FunctionDecl * FDecl)
  • public clang::QualType CheckAdditionOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::BinaryOperatorKind Opc, clang::QualType * CompLHSTy = nullptr)
  • public clang::Sema::AccessResult CheckAddressOfMemberAccess(clang::Expr * OvlExpr, clang::DeclAccessPair FoundDecl)
  • private void CheckAddressOfNoDeref(const clang::Expr * E)
  • public clang::QualType CheckAddressOfOperand(clang::ExprResult & Operand, clang::SourceLocation OpLoc)
  • private void CheckAddressOfPackedMember(clang::Expr * rhs)
  • public void CheckAlignasUnderalignment(clang::Decl * D)
  • public bool CheckAllocatedType(clang::QualType AllocType, clang::SourceLocation Loc, clang::SourceRange R)
  • public clang::Sema::AccessResult CheckAllocationAccess(clang::SourceLocation OperatorLoc, clang::SourceRange PlacementRange, clang::CXXRecordDecl * NamingClass, clang::DeclAccessPair FoundDecl, bool Diagnose = true)
  • public bool CheckAltivecInitFromScalar(clang::SourceRange R, clang::QualType VecTy, clang::QualType SrcTy)
  • private void CheckArgAlignment(clang::SourceLocation Loc, clang::NamedDecl * FDecl, llvm::StringRef ParamName, clang::QualType ArgTy, clang::QualType ParamTy)
  • private void CheckArgumentWithTypeTag(const clang::ArgumentWithTypeTagAttr * Attr, const ArrayRef<const clang::Expr *> ExprArgs, clang::SourceLocation CallSiteLoc)
  • private void CheckArrayAccess(const clang::Expr * E)
  • private void CheckArrayAccess(const clang::Expr * BaseExpr, const clang::Expr * IndexExpr, const clang::ArraySubscriptExpr * ASE = nullptr, bool AllowOnePastEnd = true, bool IndexNegated = false)
  • public clang::Sema::AssignConvertType CheckAssignmentConstraints(clang::QualType LHSType, clang::ExprResult & RHS, clang::CastKind & Kind, bool ConvertRHS = true)
  • public clang::Sema::AssignConvertType CheckAssignmentConstraints(clang::SourceLocation Loc, clang::QualType LHSType, clang::QualType RHSType)
  • public clang::QualType CheckAssignmentOperands(clang::Expr * LHSExpr, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::QualType CompoundType, clang::BinaryOperatorKind Opc)
  • public bool CheckAttrNoArgs(const clang::ParsedAttr & CurrAttr)
  • public bool CheckAttrTarget(const clang::ParsedAttr & CurrAttr)
  • private bool CheckBPFBuiltinFunctionCall(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public clang::Sema::AccessResult CheckBaseClassAccess(clang::SourceLocation AccessLoc, clang::QualType Base, clang::QualType Derived, const clang::CXXBasePath & Path, unsigned int DiagID, bool ForceCheck = false, bool ForceUnprivileged = false)
  • public clang::CXXBaseSpecifier * CheckBaseSpecifier(clang::CXXRecordDecl * Class, clang::SourceRange SpecifierRange, bool Virtual, clang::AccessSpecifier Access, clang::TypeSourceInfo * TInfo, clang::SourceLocation EllipsisLoc)
  • private void CheckBitFieldInitialization(clang::SourceLocation InitLoc, clang::FieldDecl * Field, clang::Expr * Init)
  • public clang::QualType CheckBitwiseOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::BinaryOperatorKind Opc)
  • private void CheckBoolLikeConversion(clang::Expr * E, clang::SourceLocation CC)
  • public clang::ExprResult CheckBooleanCondition(clang::SourceLocation Loc, clang::Expr * E, bool IsConstexpr = false)
  • private void CheckBreakContinueBinding(clang::Expr * E)
  • private clang::ExprResult CheckBuiltinFunctionCall(clang::FunctionDecl * FDecl, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckCDEBuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public bool CheckCUDACall(clang::SourceLocation Loc, clang::FunctionDecl * Callee)
  • public clang::ExprResult CheckCXXBooleanCondition(clang::Expr * CondExpr, bool IsConstexpr = false)
  • public bool CheckCXXDefaultArgExpr(clang::SourceLocation CallLoc, clang::FunctionDecl * FD, clang::ParmVarDecl * Param)
  • public void CheckCXXDefaultArguments(clang::FunctionDecl * FD)
  • public bool CheckCXXThisCapture(clang::SourceLocation Loc, bool Explicit = false, bool BuildAndDiagnose = true, const unsigned int *const FunctionScopeIndexToStopAt = nullptr, bool ByCopy = false)
  • public bool CheckCXXThrowOperand(clang::SourceLocation ThrowLoc, clang::QualType ThrowTy, clang::Expr * E)
  • public bool CheckCallReturnType(clang::QualType ReturnType, clang::SourceLocation Loc, clang::CallExpr * CE, clang::FunctionDecl * FD)
  • public bool CheckCallingConvAttr(const clang::ParsedAttr & attr, clang::CallingConv & CC, const clang::FunctionDecl * FD = nullptr)
  • public bool CheckCaseExpression(clang::Expr * E)
  • public void CheckCastAlign(clang::Expr * Op, clang::QualType T, clang::SourceRange TRange)
  • public void CheckCategoryVsClassMethodMatches(clang::ObjCCategoryImplDecl * CatIMP)
  • public clang::DeclResult CheckClassTemplate(clang::Scope * S, unsigned int TagSpec, clang::Sema::TagUseKind TUK, clang::SourceLocation KWLoc, clang::CXXScopeSpec & SS, clang::IdentifierInfo * Name, clang::SourceLocation NameLoc, const clang::ParsedAttributesView & Attr, clang::TemplateParameterList * TemplateParams, clang::AccessSpecifier AS, clang::SourceLocation ModulePrivateLoc, clang::SourceLocation FriendLoc, unsigned int NumOuterTemplateParamLists, clang::TemplateParameterList ** OuterTemplateParamLists, clang::Sema::SkipBodyInfo * SkipBody = nullptr)
  • public clang::QualType CheckCompareOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::BinaryOperatorKind Opc)
  • public clang::QualType CheckComparisonCategoryType(clang::ComparisonCategoryType Kind, clang::SourceLocation Loc, clang::Sema::ComparisonCategoryUsage Usage)
  • public void CheckCompatibleReinterpretCast(clang::QualType SrcType, clang::QualType DestType, bool IsDereference, clang::SourceRange Range)
  • public void CheckCompleteDecompositionDeclaration(clang::DecompositionDecl * DD)
  • public void CheckCompleteDestructorVariant(clang::SourceLocation CurrentLocation, clang::CXXDestructorDecl * Dtor)
  • public void CheckCompleteVariableDeclaration(clang::VarDecl * VD)
  • public void CheckCompletedCXXClass(clang::Scope * S, clang::CXXRecordDecl * Record)
  • public void CheckCompletedCoroutineBody(clang::FunctionDecl * FD, clang::Stmt *& Body)
  • private void CheckCompletedExpr(clang::Expr * E, clang::SourceLocation CheckLoc = clang::SourceLocation(), bool IsConstexpr = false)
  • public void CheckConceptRedefinition(clang::ConceptDecl * NewDecl, clang::LookupResult & Previous, bool & AddToScope)
  • public clang::ExprResult CheckConceptTemplateId(const clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, const clang::DeclarationNameInfo & ConceptNameInfo, clang::NamedDecl * FoundDecl, clang::ConceptDecl * NamedConcept, const clang::TemplateArgumentListInfo * TemplateArgs)
  • public clang::ExprResult CheckConditionVariable(clang::VarDecl * ConditionVar, clang::SourceLocation StmtLoc, clang::Sema::ConditionKind CK)
  • public clang::QualType CheckConditionalOperands(clang::ExprResult & Cond, clang::ExprResult & LHS, clang::ExprResult & RHS, clang::ExprValueKind & VK, clang::ExprObjectKind & OK, clang::SourceLocation QuestionLoc)
  • public void CheckConflictingOverridingMethod(clang::ObjCMethodDecl * Method, clang::ObjCMethodDecl * Overridden, bool IsProtocolMethodDecl)
  • public bool CheckConstexprFunctionDefinition(const clang::FunctionDecl * FD, clang::Sema::CheckConstexprKind Kind)
  • public bool CheckConstraintExpression(const clang::Expr * CE, clang::Token NextToken = clang::Token(), bool * PossibleNonPrimary = nullptr, bool IsTrailingRequiresClause = false)
  • public bool CheckConstraintSatisfaction(const clang::Expr * ConstraintExpr, clang::ConstraintSatisfaction & Satisfaction)
  • public bool CheckConstraintSatisfaction(const clang::NamedDecl * Template, ArrayRef<const clang::Expr *> ConstraintExprs, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::SourceRange TemplateIDRange, clang::ConstraintSatisfaction & Satisfaction)
  • public void CheckConstructor(clang::CXXConstructorDecl * Constructor)
  • public clang::Sema::AccessResult CheckConstructorAccess(clang::SourceLocation Loc, clang::CXXConstructorDecl * D, clang::DeclAccessPair FoundDecl, const clang::InitializedEntity & Entity, const clang::PartialDiagnostic & PDiag)
  • public clang::Sema::AccessResult CheckConstructorAccess(clang::SourceLocation Loc, clang::CXXConstructorDecl * D, clang::DeclAccessPair FoundDecl, const clang::InitializedEntity & Entity, bool IsCopyBindingRefToTemp = false)
  • private void CheckConstructorCall(clang::FunctionDecl * FDecl, clang::QualType ThisType, ArrayRef<const clang::Expr *> Args, const clang::FunctionProtoType * Proto, clang::SourceLocation Loc)
  • public clang::QualType CheckConstructorDeclarator(clang::Declarator & D, clang::QualType R, clang::StorageClass & SC)
  • public void CheckConversionDeclarator(clang::Declarator & D, clang::QualType & R, clang::StorageClass & SC)
  • public bool CheckConversionToObjCLiteral(clang::QualType DstType, clang::Expr *& SrcExpr, bool Diagnose = true)
  • public clang::ExprResult CheckConvertedConstantExpression(clang::Expr * From, clang::QualType T, clang::APValue & Value, clang::Sema::CCEKind CCE, clang::NamedDecl * Dest = nullptr)
  • public clang::ExprResult CheckConvertedConstantExpression(clang::Expr * From, clang::QualType T, llvm::APSInt & Value, clang::Sema::CCEKind CCE)
  • public void CheckDeductionGuideDeclarator(clang::Declarator & D, clang::QualType & R, clang::StorageClass & SC)
  • public void CheckDeductionGuideTemplate(clang::FunctionTemplateDecl * TD)
  • public void CheckDelayedMemberExceptionSpecs()
  • public void CheckDelegatingCtorCycles()
  • public bool CheckDependentFunctionTemplateSpecialization(clang::FunctionDecl * FD, const clang::TemplateArgumentListInfo & ExplicitTemplateArgs, clang::LookupResult & Previous)
  • public bool CheckDerivedToBaseConversion(clang::QualType Derived, clang::QualType Base, clang::SourceLocation Loc, clang::SourceRange Range, clang::CXXCastPath * BasePath = nullptr, bool IgnoreAccess = false)
  • public bool CheckDerivedToBaseConversion(clang::QualType Derived, clang::QualType Base, unsigned int InaccessibleBaseID, unsigned int AmbiguousBaseConvID, clang::SourceLocation Loc, clang::SourceRange Range, clang::DeclarationName Name, clang::CXXCastPath * BasePath, bool IgnoreAccess = false)
  • public bool CheckDestructor(clang::CXXDestructorDecl * Destructor)
  • public clang::Sema::AccessResult CheckDestructorAccess(clang::SourceLocation Loc, clang::CXXDestructorDecl * Dtor, const clang::PartialDiagnostic & PDiag, clang::QualType objectType = clang::QualType())
  • public clang::QualType CheckDestructorDeclarator(clang::Declarator & D, clang::QualType R, clang::StorageClass & SC)
  • public bool CheckDistantExceptionSpec(clang::QualType T)
  • public clang::EnableIfAttr * CheckEnableIf(clang::FunctionDecl * Function, clang::SourceLocation CallLoc, ArrayRef<clang::Expr *> Args, bool MissingImplicitThis = false)
  • public clang::EnumConstantDecl * CheckEnumConstant(clang::EnumDecl * Enum, clang::EnumConstantDecl * LastEnumConst, clang::SourceLocation IdLoc, clang::IdentifierInfo * Id, clang::Expr * val)
  • public bool CheckEnumRedeclaration(clang::SourceLocation EnumLoc, bool IsScoped, clang::QualType EnumUnderlyingTy, bool IsFixed, const clang::EnumDecl * Prev)
  • public bool CheckEnumUnderlyingType(clang::TypeSourceInfo * TI)
  • public bool CheckEquivalentExceptionSpec(const clang::FunctionProtoType * Old, clang::SourceLocation OldLoc, const clang::FunctionProtoType * New, clang::SourceLocation NewLoc)
  • public bool CheckEquivalentExceptionSpec(const clang::PartialDiagnostic & DiagID, const clang::PartialDiagnostic & NoteID, const clang::FunctionProtoType * Old, clang::SourceLocation OldLoc, const clang::FunctionProtoType * New, clang::SourceLocation NewLoc)
  • public bool CheckEquivalentExceptionSpec(clang::FunctionDecl * Old, clang::FunctionDecl * New)
  • public bool CheckExceptionSpecCompatibility(clang::Expr * From, clang::QualType ToType)
  • public bool CheckExceptionSpecSubset(const clang::PartialDiagnostic & DiagID, const clang::PartialDiagnostic & NestedDiagID, const clang::PartialDiagnostic & NoteID, const clang::PartialDiagnostic & NoThrowDiagID, const clang::FunctionProtoType * Superset, clang::SourceLocation SuperLoc, const clang::FunctionProtoType * Subset, clang::SourceLocation SubLoc)
  • public bool CheckExplicitlyDefaultedComparison(clang::Scope * S, clang::FunctionDecl * MD, clang::Sema::DefaultedComparisonKind DCK)
  • public void CheckExplicitlyDefaultedFunction(clang::Scope * S, clang::FunctionDecl * MD)
  • public bool CheckExplicitlyDefaultedSpecialMember(clang::CXXMethodDecl * MD, clang::Sema::CXXSpecialMember CSM)
  • public clang::ExprResult CheckExtVectorCast(clang::SourceRange R, clang::QualType DestTy, clang::Expr * CastExpr, clang::CastKind & Kind)
  • public void CheckExtraCXXDefaultArguments(clang::Declarator & D)
  • public clang::FieldDecl * CheckFieldDecl(clang::DeclarationName Name, clang::QualType T, clang::TypeSourceInfo * TInfo, clang::RecordDecl * Record, clang::SourceLocation Loc, bool Mutable, clang::Expr * BitfieldWidth, clang::InClassInitStyle InitStyle, clang::SourceLocation TSSL, clang::AccessSpecifier AS, clang::NamedDecl * PrevDecl, clang::Declarator * D = nullptr)
  • public void CheckFloatComparison(clang::SourceLocation Loc, clang::Expr * LHS, clang::Expr * RHS, clang::BinaryOperatorKind Opcode)
  • public bool CheckForConstantInitializer(clang::Expr * e, clang::QualType t)
  • public void CheckForFunctionRedefinition(clang::FunctionDecl * FD, const clang::FunctionDecl * EffectiveDefinition = nullptr, clang::Sema::SkipBodyInfo * SkipBody = nullptr)
  • public clang::ExprResult CheckForImmediateInvocation(clang::ExprResult E, clang::FunctionDecl * Decl)
  • private void CheckForIntOverflow(clang::Expr * E)
  • private bool CheckFormatArguments(ArrayRef<const clang::Expr *> Args, clang::Sema::FormatArgumentPassingKind FAPK, unsigned int format_idx, unsigned int firstDataArg, clang::Sema::FormatStringType Type, clang::Sema::VariadicCallType CallType, clang::SourceLocation Loc, clang::SourceRange range, llvm::SmallBitVector & CheckedVarArgs)
  • private bool CheckFormatArguments(const clang::FormatAttr * Format, ArrayRef<const clang::Expr *> Args, bool IsCXXMember, clang::Sema::VariadicCallType CallType, clang::SourceLocation Loc, clang::SourceRange Range, llvm::SmallBitVector & CheckedVarArgs)
  • public bool CheckForwardProtocolDeclarationForCircularDependency(clang::IdentifierInfo * PName, clang::SourceLocation & PLoc, clang::SourceLocation PrevLoc, const ObjCList<clang::ObjCProtocolDecl> & PList)
  • private void CheckFreeArguments(const clang::CallExpr * E)
  • public clang::Sema::AccessResult CheckFriendAccess(clang::NamedDecl * D)
  • public clang::FriendDecl * CheckFriendTypeDecl(clang::SourceLocation LocStart, clang::SourceLocation FriendLoc, clang::TypeSourceInfo * TSInfo)
  • private bool CheckFunctionCall(clang::FunctionDecl * FDecl, clang::CallExpr * TheCall, const clang::FunctionProtoType * Proto)
  • public bool CheckFunctionConstraints(const clang::FunctionDecl * FD, clang::ConstraintSatisfaction & Satisfaction, clang::SourceLocation UsageLoc = clang::SourceLocation())
  • public bool CheckFunctionDeclaration(clang::Scope * S, clang::FunctionDecl * NewFD, clang::LookupResult & Previous, bool IsMemberSpecialization, bool DeclIsDefn)
  • public void CheckFunctionOrTemplateParamDeclarator(clang::Scope * S, clang::Declarator & D)
  • public bool CheckFunctionReturnType(clang::QualType T, clang::SourceLocation Loc)
  • public bool CheckFunctionTemplateSpecialization(clang::FunctionDecl * FD, clang::TemplateArgumentListInfo * ExplicitTemplateArgs, clang::LookupResult & Previous, bool QualifiedFriend = false)
  • private bool CheckHexagonBuiltinArgument(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckHexagonBuiltinFunctionCall(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public bool CheckIfOverriddenFunctionIsMarkedFinal(const clang::CXXMethodDecl * New, const clang::CXXMethodDecl * Old)
  • public void CheckImplementationIvars(clang::ObjCImplementationDecl * ImpDecl, clang::ObjCIvarDecl ** Fields, unsigned int nIvars, clang::SourceLocation Loc)
  • private void CheckImplicitConversions(clang::Expr * E, clang::SourceLocation CC = clang::SourceLocation())
  • public void CheckImplicitSpecialMemberDeclaration(clang::Scope * S, clang::FunctionDecl * FD)
  • public bool CheckInheritingConstructorUsingDecl(clang::UsingDecl * UD)
  • public bool CheckInstantiatedFunctionTemplateConstraints(clang::SourceLocation PointOfInstantiation, clang::FunctionDecl * Decl, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::ConstraintSatisfaction & Satisfaction)
  • public clang::ExprResult CheckLValueToRValueConversionOperand(clang::Expr * E)
  • public clang::Sema::ObjCLiteralKind CheckLiteralKind(clang::Expr * FromE)
  • public bool CheckLiteralOperatorDeclaration(clang::FunctionDecl * FnDecl)
  • public clang::QualType CheckLogicalOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::BinaryOperatorKind Opc)
  • public void CheckLookupAccess(const clang::LookupResult & R)
  • public bool CheckLoopHintExpr(clang::Expr * E, clang::SourceLocation Loc)
  • public void CheckMSVCRTEntryPoint(clang::FunctionDecl * FD)
  • private bool CheckMVEBuiltinFunctionCall(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public void CheckMain(clang::FunctionDecl * FD, const clang::DeclSpec & D)
  • public bool CheckMatrixCast(clang::SourceRange R, clang::QualType DestTy, clang::QualType SrcTy, clang::CastKind & Kind)
  • public clang::QualType CheckMatrixElementwiseOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, bool IsCompAssign)
  • public clang::QualType CheckMatrixMultiplyOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, bool IsCompAssign)
  • private void CheckMaxUnsignedZero(const clang::CallExpr * Call, const clang::FunctionDecl * FDecl)
  • private void CheckMemaccessArguments(const clang::CallExpr * Call, unsigned int BId, clang::IdentifierInfo * FnName)
  • public clang::Sema::AccessResult CheckMemberAccess(clang::SourceLocation UseLoc, clang::CXXRecordDecl * NamingClass, clang::DeclAccessPair Found)
  • private void CheckMemberAccessOfNoDeref(const clang::MemberExpr * E)
  • public clang::Sema::AccessResult CheckMemberOperatorAccess(clang::SourceLocation Loc, clang::Expr * ObjectExpr, ArrayRef<clang::Expr *> ArgExprs, clang::DeclAccessPair FoundDecl)
  • public clang::Sema::AccessResult CheckMemberOperatorAccess(clang::SourceLocation Loc, clang::Expr * ObjectExpr, const clang::SourceRange &, clang::DeclAccessPair FoundDecl)
  • public clang::Sema::AccessResult CheckMemberOperatorAccess(clang::SourceLocation Loc, clang::Expr * ObjectExpr, clang::Expr * ArgExpr, clang::DeclAccessPair FoundDecl)
  • public bool CheckMemberPointerConversion(clang::Expr * From, clang::QualType ToType, clang::CastKind & Kind, clang::CXXCastPath & BasePath, bool IgnoreBaseAccess)
  • public bool CheckMemberSpecialization(clang::NamedDecl * Member, clang::LookupResult & Previous)
  • public bool CheckMessageArgumentTypes(const clang::Expr * Receiver, clang::QualType ReceiverType, clang::MultiExprArg Args, clang::Selector Sel, ArrayRef<clang::SourceLocation> SelectorLocs, clang::ObjCMethodDecl * Method, bool isClassMessage, bool isSuperMessage, clang::SourceLocation lbrac, clang::SourceLocation rbrac, clang::SourceRange RecRange, clang::QualType & ReturnType, clang::ExprValueKind & VK)
  • public clang::Sema::IfExistsResult CheckMicrosoftIfExistsSymbol(clang::Scope * S, clang::CXXScopeSpec & SS, const clang::DeclarationNameInfo & TargetNameInfo)
  • public clang::Sema::IfExistsResult CheckMicrosoftIfExistsSymbol(clang::Scope * S, clang::SourceLocation KeywordLoc, bool IsIfExists, clang::CXXScopeSpec & SS, clang::UnqualifiedId & Name)
  • private bool CheckMipsBuiltinArgument(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckMipsBuiltinCpu(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckMipsBuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public clang::QualType CheckMultiplyDivideOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, bool IsCompAssign, bool IsDivide)
  • private bool CheckNeonBuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public bool CheckNonDependentConversions(clang::FunctionTemplateDecl * FunctionTemplate, ArrayRef<clang::QualType> ParamTypes, ArrayRef<clang::Expr *> Args, clang::OverloadCandidateSet & CandidateSet, clang::ConversionSequenceList & Conversions, bool SuppressUserConversions, clang::CXXRecordDecl * ActingContext = nullptr, clang::QualType ObjectType = clang::QualType(), Expr::Classification ObjectClassification = {}, clang::OverloadCandidateParamOrder PO = {})
  • public clang::QualType CheckNonTypeTemplateParameterType(clang::TypeSourceInfo *& TSI, clang::SourceLocation Loc)
  • public clang::QualType CheckNonTypeTemplateParameterType(clang::QualType T, clang::SourceLocation Loc)
  • public bool CheckNontrivialField(clang::FieldDecl * FD)
  • public clang::OMPRequiresDecl * CheckOMPRequiresDecl(clang::SourceLocation Loc, ArrayRef<clang::OMPClause *> Clauses)
  • public clang::OMPThreadPrivateDecl * CheckOMPThreadPrivateDecl(clang::SourceLocation Loc, ArrayRef<clang::Expr *> VarList)
  • private clang::ExprResult CheckOSLogFormatStringArg(clang::Expr * Arg)
  • public bool CheckObjCARCUnavailableWeakConversion(clang::QualType castType, clang::QualType ExprType)
  • public void CheckObjCBridgeRelatedCast(clang::QualType castType, clang::Expr * castExpr)
  • public bool CheckObjCBridgeRelatedConversions(clang::SourceLocation Loc, clang::QualType DestType, clang::QualType SrcType, clang::Expr *& SrcExpr, bool Diagnose = true)
  • private void CheckObjCCircularContainer(clang::ObjCMessageExpr * Message)
  • public clang::Sema::ARCConversionResult CheckObjCConversion(clang::SourceRange castRange, clang::QualType castType, clang::Expr *& op, clang::Sema::CheckedConversionKind CCK, bool Diagnose = true, bool DiagnoseCFAudited = false, clang::BinaryOperatorKind Opc = BO_PtrMemD)
  • public bool CheckObjCDeclScope(clang::Decl * D)
  • public clang::ExprResult CheckObjCForCollectionOperand(clang::SourceLocation forLoc, clang::Expr * collection)
  • private bool CheckObjCMethodCall(clang::ObjCMethodDecl * Method, clang::SourceLocation loc, ArrayRef<const clang::Expr *> Args)
  • public void CheckObjCMethodDirectOverrides(clang::ObjCMethodDecl * method, clang::ObjCMethodDecl * overridden)
  • public void CheckObjCMethodOverride(clang::ObjCMethodDecl * NewMethod, const clang::ObjCMethodDecl * Overridden)
  • public void CheckObjCMethodOverrides(clang::ObjCMethodDecl * ObjCMethod, clang::ObjCInterfaceDecl * CurrentClass, clang::Sema::ResultTypeCompatibilityKind RTC)
  • public void CheckObjCPropertyAttributes(clang::Decl * PropertyPtrTy, clang::SourceLocation Loc, unsigned int & Attributes, bool propertyInPrimaryClass)
  • private bool CheckObjCString(clang::Expr * Arg)
  • public bool CheckOpenMPLinearDecl(const clang::ValueDecl * D, clang::SourceLocation ELoc, clang::OpenMPLinearClauseKind LinKind, clang::QualType Type, bool IsDeclareSimd = false)
  • public bool CheckOpenMPLinearModifier(clang::OpenMPLinearClauseKind LinKind, clang::SourceLocation LinLoc)
  • private bool CheckOtherCall(clang::CallExpr * TheCall, const clang::FunctionProtoType * Proto)
  • public clang::Sema::OverloadKind CheckOverload(clang::Scope * S, clang::FunctionDecl * New, const clang::LookupResult & OldDecls, clang::NamedDecl *& OldDecl, bool IsForUsingDecl)
  • public bool CheckOverloadedOperatorDeclaration(clang::FunctionDecl * FnDecl)
  • public void CheckOverrideControl(clang::NamedDecl * D)
  • public bool CheckOverridingFunctionAttributes(const clang::CXXMethodDecl * New, const clang::CXXMethodDecl * Old)
  • public bool CheckOverridingFunctionExceptionSpec(const clang::CXXMethodDecl * New, const clang::CXXMethodDecl * Old)
  • public bool CheckOverridingFunctionReturnType(const clang::CXXMethodDecl * New, const clang::CXXMethodDecl * Old)
  • private bool CheckPPCBuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckPPCMMAType(clang::QualType Type, clang::SourceLocation TypeLoc)
  • public clang::QualType CheckPackExpansion(clang::QualType Pattern, clang::SourceRange PatternRange, clang::SourceLocation EllipsisLoc, Optional<unsigned int> NumExpansions)
  • public clang::ExprResult CheckPackExpansion(clang::Expr * Pattern, clang::SourceLocation EllipsisLoc, Optional<unsigned int> NumExpansions)
  • public clang::TypeSourceInfo * CheckPackExpansion(clang::TypeSourceInfo * Pattern, clang::SourceLocation EllipsisLoc, Optional<unsigned int> NumExpansions)
  • public bool CheckParamExceptionSpec(const clang::PartialDiagnostic & NestedDiagID, const clang::PartialDiagnostic & NoteID, const clang::FunctionProtoType * Target, clang::SourceLocation TargetLoc, const clang::FunctionProtoType * Source, clang::SourceLocation SourceLoc)
  • public clang::ParmVarDecl * CheckParameter(clang::DeclContext * DC, clang::SourceLocation StartLoc, clang::SourceLocation NameLoc, clang::IdentifierInfo * Name, clang::QualType T, clang::TypeSourceInfo * TSInfo, clang::StorageClass SC)
  • public bool CheckParameterPacksForExpansion(clang::SourceLocation EllipsisLoc, clang::SourceRange PatternRange, ArrayRef<clang::UnexpandedParameterPack> Unexpanded, const clang::MultiLevelTemplateArgumentList & TemplateArgs, bool & ShouldExpand, bool & RetainExpansion, Optional<unsigned int> & NumExpansions)
  • public bool CheckParmsForFunctionDef(ArrayRef<clang::ParmVarDecl *> Parameters, bool CheckParameterNames)
  • public clang::ExprResult CheckPlaceholderExpr(clang::Expr * E)
  • private bool CheckPointerCall(clang::NamedDecl * NDecl, clang::CallExpr * TheCall, const clang::FunctionProtoType * Proto)
  • public bool CheckPointerConversion(clang::Expr * From, clang::QualType ToType, clang::CastKind & Kind, clang::CXXCastPath & BasePath, bool IgnoreBaseAccess, bool Diagnose = true)
  • public clang::QualType CheckPointerToMemberOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::ExprValueKind & VK, clang::SourceLocation OpLoc, bool isIndirect)
  • public void CheckPtrComparisonWithNullChar(clang::ExprResult & E, clang::ExprResult & NullE)
  • public bool CheckPureMethod(clang::CXXMethodDecl * Method, clang::SourceRange InitRange)
  • public bool CheckQualifiedFunctionForTypeId(clang::QualType T, clang::SourceLocation Loc)
  • public bool CheckQualifiedMemberReference(clang::Expr * BaseExpr, clang::QualType BaseType, const clang::CXXScopeSpec & SS, const clang::LookupResult & R)
  • private bool CheckRISCVBuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckRISCVLMUL(clang::CallExpr * TheCall, unsigned int ArgNum)
  • public bool CheckRedeclarationExported(clang::NamedDecl * New, clang::NamedDecl * Old)
  • public bool CheckRedeclarationInModule(clang::NamedDecl * New, clang::NamedDecl * Old)
  • public bool CheckRedeclarationModuleOwnership(clang::NamedDecl * New, clang::NamedDecl * Old)
  • public bool CheckRegparmAttr(const clang::ParsedAttr & attr, unsigned int & value)
  • public clang::QualType CheckRemainderOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, bool IsCompAssign = false)
  • private void CheckReturnValExpr(clang::Expr * RetValExp, clang::QualType lhsType, clang::SourceLocation ReturnLoc, bool isObjCMethod = false, const clang::AttrVec * Attrs = nullptr, const clang::FunctionDecl * FD = nullptr)
  • private bool CheckSVEBuiltinFunctionCall(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public void CheckShadow(clang::Scope * S, clang::VarDecl * D)
  • public void CheckShadow(clang::NamedDecl * D, clang::NamedDecl * ShadowedDecl, const clang::LookupResult & R)
  • private void CheckShadowInheritedFields(const clang::SourceLocation & Loc, clang::DeclarationName FieldName, const clang::CXXRecordDecl * RD, bool DeclIsField = true)
  • public void CheckShadowingDeclModification(clang::Expr * E, clang::SourceLocation Loc)
  • public clang::QualType CheckShiftOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::BinaryOperatorKind Opc, bool IsCompAssign = false)
  • public clang::Sema::AssignConvertType CheckSingleAssignmentConstraints(clang::QualType LHSType, clang::ExprResult & RHS, bool Diagnose = true, bool DiagnoseCFAudited = false, bool ConvertRHS = true)
  • public clang::QualType CheckSizelessVectorCompareOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::BinaryOperatorKind Opc)
  • public clang::QualType CheckSizelessVectorConditionalTypes(clang::ExprResult & Cond, clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation QuestionLoc)
  • public clang::QualType CheckSizelessVectorOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, bool IsCompAssign, clang::Sema::ArithConvKind OperationKind)
  • public bool CheckSpecializationInstantiationRedecl(clang::SourceLocation NewLoc, clang::TemplateSpecializationKind NewTSK, clang::NamedDecl * PrevDecl, clang::TemplateSpecializationKind PrevTSK, clang::SourceLocation PrevPtOfInstantiation, bool & SuppressNew)
  • public bool CheckSpecifiedExceptionType(clang::QualType & T, clang::SourceRange Range)
  • public void CheckStaticArrayArgument(clang::SourceLocation CallLoc, clang::ParmVarDecl * Param, const clang::Expr * ArgExpr)
  • public void CheckStaticLocalForDllExport(clang::VarDecl * VD)
  • private void CheckStrlcpycatArguments(const clang::CallExpr * Call, clang::IdentifierInfo * FnName)
  • private void CheckStrncatArguments(const clang::CallExpr * Call, clang::IdentifierInfo * FnName)
  • public clang::Sema::AccessResult CheckStructuredBindingMemberAccess(clang::SourceLocation UseLoc, clang::CXXRecordDecl * DecomposedClass, clang::DeclAccessPair Field)
  • private void CheckSubscriptAccessOfNoDeref(const clang::ArraySubscriptExpr * E)
  • public clang::Sema::ObjCSubscriptKind CheckSubscriptingKind(clang::Expr * FromE)
  • public clang::QualType CheckSubtractionOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::QualType * CompLHSTy = nullptr)
  • public clang::ExprResult CheckSwitchCondition(clang::SourceLocation SwitchLoc, clang::Expr * Cond)
  • private bool CheckSystemZBuiltinFunctionCall(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private void CheckTCBEnforcement(const clang::SourceLocation CallExprLoc, const clang::NamedDecl * Callee)
  • private bool CheckTSBuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • public bool CheckTemplateArgument(clang::NamedDecl * Param, clang::TemplateArgumentLoc & Arg, clang::NamedDecl * Template, clang::SourceLocation TemplateLoc, clang::SourceLocation RAngleLoc, unsigned int ArgumentPackIndex, SmallVectorImpl<clang::TemplateArgument> & Converted, clang::Sema::CheckTemplateArgumentKind CTAK = CTAK_Specified)
  • public clang::ExprResult CheckTemplateArgument(clang::NonTypeTemplateParmDecl * Param, clang::QualType InstantiatedParamType, clang::Expr * Arg, clang::TemplateArgument & Converted, clang::Sema::CheckTemplateArgumentKind CTAK = CTAK_Specified)
  • public bool CheckTemplateArgument(clang::TypeSourceInfo * Arg)
  • public bool CheckTemplateArgumentList(clang::TemplateDecl * Template, clang::SourceLocation TemplateLoc, clang::TemplateArgumentListInfo & TemplateArgs, bool PartialTemplateArgs, SmallVectorImpl<clang::TemplateArgument> & Converted, bool UpdateArgsWithConversions = true, bool * ConstraintsNotSatisfied = nullptr)
  • public bool CheckTemplateDeclScope(clang::Scope * S, clang::TemplateParameterList * TemplateParams)
  • public clang::QualType CheckTemplateIdType(clang::TemplateName Template, clang::SourceLocation TemplateLoc, clang::TemplateArgumentListInfo & TemplateArgs)
  • public bool CheckTemplateParameterList(clang::TemplateParameterList * NewParams, clang::TemplateParameterList * OldParams, clang::Sema::TemplateParamListContext TPC, clang::Sema::SkipBodyInfo * SkipBody = nullptr)
  • public void CheckTemplatePartialSpecialization(clang::ClassTemplatePartialSpecializationDecl * Partial)
  • public void CheckTemplatePartialSpecialization(clang::VarTemplatePartialSpecializationDecl * Partial)
  • public bool CheckTemplatePartialSpecializationArgs(clang::SourceLocation Loc, clang::TemplateDecl * PrimaryTemplate, unsigned int NumExplicitArgs, ArrayRef<clang::TemplateArgument> Args)
  • public bool CheckTemplateTemplateArgument(clang::TemplateTemplateParmDecl * Param, clang::TemplateParameterList * Params, clang::TemplateArgumentLoc & Arg)
  • public bool CheckTemplateTypeArgument(clang::TemplateTypeParmDecl * Param, clang::TemplateArgumentLoc & Arg, SmallVectorImpl<clang::TemplateArgument> & Converted)
  • public void CheckTollFreeBridgeCast(clang::QualType castType, clang::Expr * castExpr)
  • public bool CheckTollFreeBridgeStaticCast(clang::QualType castType, clang::Expr * castExpr, clang::CastKind & Kind)
  • public clang::Sema::AssignConvertType CheckTransparentUnionArgumentConstraints(clang::QualType ArgType, clang::ExprResult & RHS)
  • public void CheckTypedefForVariablyModifiedType(clang::Scope * S, clang::TypedefNameDecl * D)
  • public clang::QualType CheckTypenameType(clang::ElaboratedTypeKeyword Keyword, clang::SourceLocation KeywordLoc, clang::NestedNameSpecifierLoc QualifierLoc, const clang::IdentifierInfo & II, clang::SourceLocation IILoc, bool DeducedTSTContext = true)
  • public clang::QualType CheckTypenameType(clang::ElaboratedTypeKeyword Keyword, clang::SourceLocation KeywordLoc, clang::NestedNameSpecifierLoc QualifierLoc, const clang::IdentifierInfo & II, clang::SourceLocation IILoc, clang::TypeSourceInfo ** TSI, bool DeducedTSTContext)
  • public bool CheckUnaryExprOrTypeTraitOperand(clang::Expr * E, clang::UnaryExprOrTypeTrait ExprKind)
  • public bool CheckUnaryExprOrTypeTraitOperand(clang::QualType ExprType, clang::SourceLocation OpLoc, clang::SourceRange ExprRange, clang::UnaryExprOrTypeTrait ExprKind)
  • public clang::ExprResult CheckUnevaluatedOperand(clang::Expr * E)
  • public clang::Sema::AccessResult CheckUnresolvedLookupAccess(clang::UnresolvedLookupExpr * E, clang::DeclAccessPair FoundDecl)
  • public clang::Sema::AccessResult CheckUnresolvedMemberAccess(clang::UnresolvedMemberExpr * E, clang::DeclAccessPair FoundDecl)
  • private void CheckUnsequencedOperations(const clang::Expr * E)
  • public void CheckUnusedVolatileAssignment(clang::Expr * E)
  • public bool CheckUsingDeclQualifier(clang::SourceLocation UsingLoc, bool HasTypename, const clang::CXXScopeSpec & SS, const clang::DeclarationNameInfo & NameInfo, clang::SourceLocation NameLoc, const clang::LookupResult * R = nullptr, const clang::UsingDecl * UD = nullptr)
  • public bool CheckUsingDeclRedeclaration(clang::SourceLocation UsingLoc, bool HasTypenameKeyword, const clang::CXXScopeSpec & SS, clang::SourceLocation NameLoc, const clang::LookupResult & Previous)
  • public bool CheckUsingShadowDecl(clang::BaseUsingDecl * BUD, clang::NamedDecl * Target, const clang::LookupResult & PreviousDecls, clang::UsingShadowDecl *& PrevShadow)
  • public clang::DeclResult CheckVarTemplateId(clang::VarTemplateDecl * Template, clang::SourceLocation TemplateLoc, clang::SourceLocation TemplateNameLoc, const clang::TemplateArgumentListInfo & TemplateArgs)
  • public clang::ExprResult CheckVarTemplateId(const clang::CXXScopeSpec & SS, const clang::DeclarationNameInfo & NameInfo, clang::VarTemplateDecl * Template, clang::SourceLocation TemplateLoc, const clang::TemplateArgumentListInfo * TemplateArgs)
  • public bool CheckVariableDeclaration(clang::VarDecl * NewVD, clang::LookupResult & Previous)
  • public void CheckVariableDeclarationType(clang::VarDecl * NewVD)
  • public bool CheckVecStepExpr(clang::Expr * E)
  • public bool CheckVectorCast(clang::SourceRange R, clang::QualType VectorTy, clang::QualType Ty, clang::CastKind & Kind)
  • public clang::QualType CheckVectorCompareOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::BinaryOperatorKind Opc)
  • public clang::QualType CheckVectorConditionalTypes(clang::ExprResult & Cond, clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation QuestionLoc)
  • public clang::QualType CheckVectorLogicalOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc)
  • public clang::QualType CheckVectorOperands(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, bool IsCompAssign, bool AllowBothBool, bool AllowBoolConversion, bool AllowBoolOperation, bool ReportInvalid)
  • public void CheckVirtualDtorCall(clang::CXXDestructorDecl * dtor, clang::SourceLocation Loc, bool IsDelete, bool CallCanBeVirtual, bool WarnOnNonAbstractTypes, clang::SourceLocation DtorLoc)
  • private bool CheckX86BuiltinFunctionCall(const clang::TargetInfo & TI, unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckX86BuiltinGatherScatterScale(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckX86BuiltinRoundingOrSAE(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckX86BuiltinTileArguments(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool CheckX86BuiltinTileArgumentsRange(clang::CallExpr * TheCall, ArrayRef<int> ArgNums)
  • private bool CheckX86BuiltinTileDuplicate(clang::CallExpr * TheCall, ArrayRef<int> ArgNums)
  • private bool CheckX86BuiltinTileRangeAndDuplicate(clang::CallExpr * TheCall, ArrayRef<int> ArgNums)
  • public clang::Sema::NameClassification ClassifyName(clang::Scope * S, clang::CXXScopeSpec & SS, clang::IdentifierInfo *& Name, clang::SourceLocation NameLoc, const clang::Token & NextToken, clang::CorrectionCandidateCallback * CCC = nullptr)
  • public void CleanupVarDeclMarking()
  • public void CodeCompleteAfterFunctionEquals(clang::Declarator & D)
  • public void CodeCompleteAfterIf(clang::Scope * S, bool IsBracedThen)
  • public void CodeCompleteAttribute(AttributeCommonInfo::Syntax Syntax, clang::Sema::AttributeCompletion Completion = AttributeCompletion::Attribute, const clang::IdentifierInfo * Scope = nullptr)
  • public void CodeCompleteAvailabilityPlatformName()
  • public void CodeCompleteBracketDeclarator(clang::Scope * S)
  • public void CodeCompleteCase(clang::Scope * S)
  • public void CodeCompleteConstructorInitializer(clang::Decl * Constructor, ArrayRef<clang::CXXCtorInitializer *> Initializers)
  • public void CodeCompleteDeclSpec(clang::Scope * S, clang::DeclSpec & DS, bool AllowNonIdentifiers, bool AllowNestedNameSpecifiers)
  • public void CodeCompleteDesignator(const clang::QualType BaseType, llvm::ArrayRef<Expr *> InitExprs, const clang::Designation & D)
  • public void CodeCompleteExpression(clang::Scope * S, const clang::Sema::CodeCompleteExpressionData & Data)
  • public void CodeCompleteExpression(clang::Scope * S, clang::QualType PreferredType, bool IsParenthesized = false)
  • public void CodeCompleteFunctionQualifiers(clang::DeclSpec & DS, clang::Declarator & D, const clang::VirtSpecifiers * VS = nullptr)
  • public void CodeCompleteInPreprocessorConditionalExclusion(clang::Scope * S)
  • public void CodeCompleteIncludedFile(llvm::StringRef Dir, bool IsAngled)
  • public void CodeCompleteInitializer(clang::Scope * S, clang::Decl * D)
  • public void CodeCompleteLambdaIntroducer(clang::Scope * S, clang::LambdaIntroducer & Intro, bool AfterAmpersand)
  • public void CodeCompleteMemberReferenceExpr(clang::Scope * S, clang::Expr * Base, clang::Expr * OtherOpBase, clang::SourceLocation OpLoc, bool IsArrow, bool IsBaseExprStatement, clang::QualType PreferredType)
  • public void CodeCompleteModuleImport(clang::SourceLocation ImportLoc, clang::ModuleIdPath Path)
  • public void CodeCompleteNamespaceAliasDecl(clang::Scope * S)
  • public void CodeCompleteNamespaceDecl(clang::Scope * S)
  • public void CodeCompleteNaturalLanguage()
  • public void CodeCompleteObjCAtDirective(clang::Scope * S)
  • public void CodeCompleteObjCAtExpression(clang::Scope * S)
  • public void CodeCompleteObjCAtStatement(clang::Scope * S)
  • public void CodeCompleteObjCAtVisibility(clang::Scope * S)
  • public void CodeCompleteObjCClassMessage(clang::Scope * S, clang::ParsedType Receiver, ArrayRef<clang::IdentifierInfo *> SelIdents, bool AtArgumentExpression, bool IsSuper = false)
  • public void CodeCompleteObjCClassPropertyRefExpr(clang::Scope * S, clang::IdentifierInfo & ClassName, clang::SourceLocation ClassNameLoc, bool IsBaseExprStatement)
  • public void CodeCompleteObjCForCollection(clang::Scope * S, clang::Sema::DeclGroupPtrTy IterationVar)
  • public void CodeCompleteObjCImplementationCategory(clang::Scope * S, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassNameLoc)
  • public void CodeCompleteObjCImplementationDecl(clang::Scope * S)
  • public void CodeCompleteObjCInstanceMessage(clang::Scope * S, clang::Expr * Receiver, ArrayRef<clang::IdentifierInfo *> SelIdents, bool AtArgumentExpression, clang::ObjCInterfaceDecl * Super = nullptr)
  • public void CodeCompleteObjCInterfaceCategory(clang::Scope * S, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassNameLoc)
  • public void CodeCompleteObjCInterfaceDecl(clang::Scope * S)
  • public void CodeCompleteObjCMessageReceiver(clang::Scope * S)
  • public void CodeCompleteObjCMethodDecl(clang::Scope * S, Optional<bool> IsInstanceMethod, clang::ParsedType ReturnType)
  • public void CodeCompleteObjCMethodDeclSelector(clang::Scope * S, bool IsInstanceMethod, bool AtParameterName, clang::ParsedType ReturnType, ArrayRef<clang::IdentifierInfo *> SelIdents)
  • public void CodeCompleteObjCPassingType(clang::Scope * S, clang::ObjCDeclSpec & DS, bool IsParameter)
  • public void CodeCompleteObjCPropertyDefinition(clang::Scope * S)
  • public void CodeCompleteObjCPropertyFlags(clang::Scope * S, clang::ObjCDeclSpec & ODS)
  • public void CodeCompleteObjCPropertyGetter(clang::Scope * S)
  • public void CodeCompleteObjCPropertySetter(clang::Scope * S)
  • public void CodeCompleteObjCPropertySynthesizeIvar(clang::Scope * S, clang::IdentifierInfo * PropertyName)
  • public void CodeCompleteObjCProtocolDecl(clang::Scope * S)
  • public void CodeCompleteObjCProtocolReferences(ArrayRef<clang::IdentifierLocPair> Protocols)
  • public void CodeCompleteObjCSelector(clang::Scope * S, ArrayRef<clang::IdentifierInfo *> SelIdents)
  • public void CodeCompleteObjCSuperMessage(clang::Scope * S, clang::SourceLocation SuperLoc, ArrayRef<clang::IdentifierInfo *> SelIdents, bool AtArgumentExpression)
  • public void CodeCompleteObjCSuperclass(clang::Scope * S, clang::IdentifierInfo * ClassName, clang::SourceLocation ClassNameLoc)
  • public void CodeCompleteOperatorName(clang::Scope * S)
  • public void CodeCompleteOrdinaryName(clang::Scope * S, clang::Sema::ParserCompletionContext CompletionContext)
  • public void CodeCompletePostfixExpression(clang::Scope * S, clang::ExprResult LHS, clang::QualType PreferredType)
  • public void CodeCompletePreprocessorDirective(bool InConditional)
  • public void CodeCompletePreprocessorExpression()
  • public void CodeCompletePreprocessorMacroArgument(clang::Scope * S, clang::IdentifierInfo * Macro, clang::MacroInfo * MacroInfo, unsigned int Argument)
  • public void CodeCompletePreprocessorMacroName(bool IsDefinition)
  • public void CodeCompleteQualifiedId(clang::Scope * S, clang::CXXScopeSpec & SS, bool EnteringContext, bool IsUsingDeclaration, clang::QualType BaseType, clang::QualType PreferredType)
  • public void CodeCompleteTag(clang::Scope * S, unsigned int TagSpec)
  • public void CodeCompleteTypeQualifiers(clang::DeclSpec & DS)
  • public void CodeCompleteUsing(clang::Scope * S)
  • public void CodeCompleteUsingDirective(clang::Scope * S)
  • public void CollectIvarsToConstructOrDestruct(clang::ObjCInterfaceDecl * OI, SmallVectorImpl<clang::ObjCIvarDecl *> & Ivars)
  • public bool CollectMultipleMethodsInGlobalPool(clang::Selector Sel, SmallVectorImpl<clang::ObjCMethodDecl *> & Methods, bool InstanceFirst, bool CheckTheOther, const clang::ObjCObjectType * TypeBound = nullptr)
  • public clang::Sema::ReferenceCompareResult CompareReferenceRelationship(clang::SourceLocation Loc, clang::QualType T1, clang::QualType T2, clang::Sema::ReferenceConversions * Conv = nullptr)
  • public bool CompleteConstructorCall(clang::CXXConstructorDecl * Constructor, clang::QualType DeclInitType, clang::MultiExprArg ArgsPtr, clang::SourceLocation Loc, SmallVectorImpl<clang::Expr *> & ConvertedArgs, bool AllowExplicit = false, bool IsListInitialization = false)
  • public void CompleteMemberSpecialization(clang::NamedDecl * Member, clang::LookupResult & Previous)
  • public clang::VarTemplateSpecializationDecl * CompleteVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl * VarSpec, clang::VarDecl * PatternDecl, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public static clang::Sema::ConditionResult ConditionError()
  • public bool ConstantFoldAttrArgs(const clang::AttributeCommonInfo & CI, MutableArrayRef<clang::Expr *> Args)
  • public bool ConvertArgumentsForCall(clang::CallExpr * Call, clang::Expr * Fn, clang::FunctionDecl * FDecl, const clang::FunctionProtoType * Proto, ArrayRef<clang::Expr *> Args, clang::SourceLocation RParenLoc, bool ExecConfig = false)
  • public clang::Sema::DeclGroupPtrTy ConvertDeclToDeclGroup(clang::Decl * Ptr, clang::Decl * OwnedType = nullptr)
  • public void ConvertIntegerToTypeWarnOnOverflow(llvm::APSInt & OldVal, unsigned int NewWidth, bool NewSign, clang::SourceLocation Loc, unsigned int DiagID)
  • public clang::ExprResult ConvertParamDefaultArgument(clang::ParmVarDecl * Param, clang::Expr * DefaultArg, clang::SourceLocation EqualLoc)
  • private static clang::BinaryOperatorKind ConvertTokenKindToBinaryOpcode(tok::TokenKind Kind)
  • public clang::ExprResult CorrectDelayedTyposInExpr(clang::ExprResult ER, clang::VarDecl * InitDecl = nullptr, bool RecoverUncorrectedTypos = false, llvm::function_ref<ExprResult (Expr *)> Filter = [](clang::Expr *E) -> clang::ActionResult<clang::Expr *, true> { return E; })
  • public clang::ExprResult CorrectDelayedTyposInExpr(clang::Expr * E, clang::VarDecl * InitDecl = nullptr, bool RecoverUncorrectedTypos = false, llvm::function_ref<ExprResult (Expr *)> Filter = [](clang::Expr *E) -> clang::ActionResult<clang::Expr *, true> { return E; })
  • public clang::TypoCorrection CorrectTypo(const clang::DeclarationNameInfo & Typo, Sema::LookupNameKind LookupKind, clang::Scope * S, clang::CXXScopeSpec * SS, clang::CorrectionCandidateCallback & CCC, clang::Sema::CorrectTypoKind Mode, clang::DeclContext * MemberContext = nullptr, bool EnteringContext = false, const clang::ObjCObjectPointerType * OPT = nullptr, bool RecordFailure = true)
  • public clang::TypoExpr * CorrectTypoDelayed(const clang::DeclarationNameInfo & Typo, Sema::LookupNameKind LookupKind, clang::Scope * S, clang::CXXScopeSpec * SS, clang::CorrectionCandidateCallback & CCC, clang::Sema::TypoDiagnosticGenerator TDG, clang::Sema::TypoRecoveryCallback TRC, clang::Sema::CorrectTypoKind Mode, clang::DeclContext * MemberContext = nullptr, bool EnteringContext = false, const clang::ObjCObjectPointerType * OPT = nullptr)
  • private bool CppLookupName(clang::LookupResult & R, clang::Scope * S)
  • public clang::FunctionDecl * CreateBuiltin(clang::IdentifierInfo * II, clang::QualType Type, unsigned int ID, clang::SourceLocation Loc)
  • public clang::ExprResult CreateBuiltinArraySubscriptExpr(clang::Expr * Base, clang::SourceLocation LLoc, clang::Expr * Idx, clang::SourceLocation RLoc)
  • public clang::ExprResult CreateBuiltinBinOp(clang::SourceLocation OpLoc, clang::BinaryOperatorKind Opc, clang::Expr * LHSExpr, clang::Expr * RHSExpr)
  • public clang::ExprResult CreateBuiltinMatrixSubscriptExpr(clang::Expr * Base, clang::Expr * RowIdx, clang::Expr * ColumnIdx, clang::SourceLocation RBLoc)
  • public clang::ExprResult CreateBuiltinUnaryOp(clang::SourceLocation OpLoc, clang::UnaryOperatorKind Opc, clang::Expr * InputExpr)
  • public clang::RecordDecl * CreateCapturedStmtRecordDecl(clang::CapturedDecl *& CD, clang::SourceLocation Loc, unsigned int NumParams)
  • public clang::ExprResult CreateGenericSelectionExpr(clang::SourceLocation KeyLoc, clang::SourceLocation DefaultLoc, clang::SourceLocation RParenLoc, clang::Expr * ControllingExpr, ArrayRef<clang::TypeSourceInfo *> Types, ArrayRef<clang::Expr *> Exprs)
  • public clang::MaterializeTemporaryExpr * CreateMaterializeTemporaryExpr(clang::QualType T, clang::Expr * Temporary, bool BoundToLvalueReference)
  • public clang::ExprResult CreateOverloadedArraySubscriptExpr(clang::SourceLocation LLoc, clang::SourceLocation RLoc, clang::Expr * Base, clang::MultiExprArg Args)
  • public clang::ExprResult CreateOverloadedBinOp(clang::SourceLocation OpLoc, clang::BinaryOperatorKind Opc, const clang::UnresolvedSetImpl & Fns, clang::Expr * LHS, clang::Expr * RHS, bool RequiresADL = true, bool AllowRewrittenCandidates = true, clang::FunctionDecl * DefaultedFn = nullptr)
  • public clang::ExprResult CreateOverloadedUnaryOp(clang::SourceLocation OpLoc, clang::UnaryOperatorKind Opc, const clang::UnresolvedSetImpl & Fns, clang::Expr * input, bool RequiresADL = true)
  • public clang::ParsedType CreateParsedType(clang::QualType T, clang::TypeSourceInfo * TInfo)
  • public clang::ObjCPropertyDecl * CreatePropertyDecl(clang::Scope * S, clang::ObjCContainerDecl * CDecl, clang::SourceLocation AtLoc, clang::SourceLocation LParenLoc, clang::FieldDeclarator & FD, clang::Selector GetterSel, clang::SourceLocation GetterNameLoc, clang::Selector SetterSel, clang::SourceLocation SetterNameLoc, const bool isReadWrite, const unsigned int Attributes, const unsigned int AttributesAsWritten, clang::QualType T, clang::TypeSourceInfo * TSI, tok::ObjCKeywordKind MethodImplKind, clang::DeclContext * lexicalDC = nullptr)
  • public clang::ExprResult CreateRecoveryExpr(clang::SourceLocation Begin, clang::SourceLocation End, ArrayRef<clang::Expr *> SubExprs, clang::QualType T = clang::QualType())
  • public clang::ExprResult CreateUnaryExprOrTypeTraitExpr(clang::Expr * E, clang::SourceLocation OpLoc, clang::UnaryExprOrTypeTrait ExprKind)
  • public clang::ExprResult CreateUnaryExprOrTypeTraitExpr(clang::TypeSourceInfo * TInfo, clang::SourceLocation OpLoc, clang::UnaryExprOrTypeTrait ExprKind, clang::SourceRange R)
  • public clang::ExprResult CreateUnresolvedLookupExpr(clang::CXXRecordDecl * NamingClass, clang::NestedNameSpecifierLoc NNSLoc, clang::DeclarationNameInfo DNI, const clang::UnresolvedSetImpl & Fns, bool PerformADL = true)
  • public clang::FPOptionsOverride CurFPFeatureOverrides()
  • public clang::Sema::CUDAFunctionTarget CurrentCUDATarget()
  • public void DeclApplyPragmaWeak(clang::Scope * S, clang::NamedDecl * ND, const clang::WeakInfo & W)
  • public clang::NamedDecl * DeclClonePragmaWeak(clang::NamedDecl * ND, const clang::IdentifierInfo * II, clang::SourceLocation Loc)
  • public void DeclareGlobalAllocationFunction(clang::DeclarationName Name, clang::QualType Return, ArrayRef<clang::QualType> Params)
  • public void DeclareGlobalNewDelete()
  • public clang::CXXMethodDecl * DeclareImplicitCopyAssignment(clang::CXXRecordDecl * ClassDecl)
  • public clang::CXXConstructorDecl * DeclareImplicitCopyConstructor(clang::CXXRecordDecl * ClassDecl)
  • public void DeclareImplicitDeductionGuides(clang::TemplateDecl * Template, clang::SourceLocation Loc)
  • public clang::CXXConstructorDecl * DeclareImplicitDefaultConstructor(clang::CXXRecordDecl * ClassDecl)
  • public clang::CXXDestructorDecl * DeclareImplicitDestructor(clang::CXXRecordDecl * ClassDecl)
  • public void DeclareImplicitEqualityComparison(clang::CXXRecordDecl * RD, clang::FunctionDecl * Spaceship)
  • public clang::CXXMethodDecl * DeclareImplicitMoveAssignment(clang::CXXRecordDecl * ClassDecl)
  • public clang::CXXConstructorDecl * DeclareImplicitMoveConstructor(clang::CXXRecordDecl * ClassDecl)
  • public void DecomposeUnqualifiedId(const clang::UnqualifiedId & Id, clang::TemplateArgumentListInfo & Buffer, clang::DeclarationNameInfo & NameInfo, const clang::TemplateArgumentListInfo *& TemplateArgs)
  • public clang::Sema::DeduceAutoResult DeduceAutoType(clang::TypeSourceInfo * AutoType, clang::Expr *& Initializer, clang::QualType & Result, Optional<unsigned int> DependentDeductionDepth = None, bool IgnoreConstraints = false)
  • public clang::Sema::DeduceAutoResult DeduceAutoType(clang::TypeLoc AutoTypeLoc, clang::Expr *& Initializer, clang::QualType & Result, Optional<unsigned int> DependentDeductionDepth = None, bool IgnoreConstraints = false)
  • public bool DeduceFunctionTypeFromReturnExpr(clang::FunctionDecl * FD, clang::SourceLocation ReturnLoc, clang::Expr *& RetExpr, const clang::AutoType * AT)
  • public bool DeduceReturnType(clang::FunctionDecl * FD, clang::SourceLocation Loc, bool Diagnose = true)
  • public clang::Sema::TemplateDeductionResult DeduceTemplateArguments(clang::FunctionTemplateDecl * FunctionTemplate, clang::QualType ToType, clang::CXXConversionDecl *& Specialization, sema::TemplateDeductionInfo & Info)
  • public clang::Sema::TemplateDeductionResult DeduceTemplateArguments(clang::FunctionTemplateDecl * FunctionTemplate, clang::TemplateArgumentListInfo * ExplicitTemplateArgs, clang::FunctionDecl *& Specialization, sema::TemplateDeductionInfo & Info, bool IsAddressOfFunction = false)
  • public clang::Sema::TemplateDeductionResult DeduceTemplateArguments(clang::FunctionTemplateDecl * FunctionTemplate, clang::TemplateArgumentListInfo * ExplicitTemplateArgs, clang::QualType ArgFunctionType, clang::FunctionDecl *& Specialization, sema::TemplateDeductionInfo & Info, bool IsAddressOfFunction = false)
  • public clang::Sema::TemplateDeductionResult DeduceTemplateArguments(clang::FunctionTemplateDecl * FunctionTemplate, clang::TemplateArgumentListInfo * ExplicitTemplateArgs, ArrayRef<clang::Expr *> Args, clang::FunctionDecl *& Specialization, sema::TemplateDeductionInfo & Info, bool PartialOverloading, llvm::function_ref<bool (ArrayRef<QualType>)> CheckNonDependent)
  • public clang::Sema::TemplateDeductionResult DeduceTemplateArguments(clang::ClassTemplatePartialSpecializationDecl * Partial, const clang::TemplateArgumentList & TemplateArgs, sema::TemplateDeductionInfo & Info)
  • public clang::Sema::TemplateDeductionResult DeduceTemplateArguments(clang::VarTemplatePartialSpecializationDecl * Partial, const clang::TemplateArgumentList & TemplateArgs, sema::TemplateDeductionInfo & Info)
  • public clang::QualType DeduceTemplateSpecializationFromInitializer(clang::TypeSourceInfo * TInfo, const clang::InitializedEntity & Entity, const clang::InitializationKind & Kind, clang::MultiExprArg Init)
  • public bool DeduceVariableDeclarationType(clang::VarDecl * VDecl, bool DirectInit, clang::Expr * Init)
  • public clang::ExprResult DefaultArgumentPromotion(clang::Expr * E)
  • public clang::ExprResult DefaultFunctionArrayConversion(clang::Expr * E, bool Diagnose = true)
  • public clang::ExprResult DefaultFunctionArrayLvalueConversion(clang::Expr * E, bool Diagnose = true)
  • public clang::ExprResult DefaultLvalueConversion(clang::Expr * E)
  • public void DefaultSynthesizeProperties(clang::Scope * S, clang::ObjCImplDecl * IMPDecl, clang::ObjCInterfaceDecl * IDecl, clang::SourceLocation AtEnd)
  • public void DefaultSynthesizeProperties(clang::Scope * S, clang::Decl * D, clang::SourceLocation AtEnd)
  • public clang::ExprResult DefaultVariadicArgumentPromotion(clang::Expr * E, clang::Sema::VariadicCallType CT, clang::FunctionDecl * FDecl)
  • public void DefineDefaultedComparison(clang::SourceLocation Loc, clang::FunctionDecl * FD, clang::Sema::DefaultedComparisonKind DCK)
  • public void DefineImplicitCopyAssignment(clang::SourceLocation CurrentLocation, clang::CXXMethodDecl * MethodDecl)
  • public void DefineImplicitCopyConstructor(clang::SourceLocation CurrentLocation, clang::CXXConstructorDecl * Constructor)
  • public void DefineImplicitDefaultConstructor(clang::SourceLocation CurrentLocation, clang::CXXConstructorDecl * Constructor)
  • public void DefineImplicitDestructor(clang::SourceLocation CurrentLocation, clang::CXXDestructorDecl * Destructor)
  • public void DefineImplicitLambdaToBlockPointerConversion(clang::SourceLocation CurrentLoc, clang::CXXConversionDecl * Conv)
  • public void DefineImplicitLambdaToFunctionPointerConversion(clang::SourceLocation CurrentLoc, clang::CXXConversionDecl * Conv)
  • public void DefineImplicitMoveAssignment(clang::SourceLocation CurrentLocation, clang::CXXMethodDecl * MethodDecl)
  • public void DefineImplicitMoveConstructor(clang::SourceLocation CurrentLocation, clang::CXXConstructorDecl * Constructor)
  • public void DefineInheritingConstructor(clang::SourceLocation UseLoc, clang::CXXConstructorDecl * Constructor)
  • public bool DefineUsedVTables()
  • private void DestroyDataSharingAttributesStack()
  • public clang::Sema::SemaDiagnosticBuilder Diag(clang::SourceLocation Loc, const clang::PartialDiagnostic & PD, bool DeferHint = false)
  • public clang::Sema::SemaDiagnosticBuilder Diag(clang::SourceLocation Loc, unsigned int DiagID, bool DeferHint = false)
  • public bool DiagIfReachable(clang::SourceLocation Loc, ArrayRef<const clang::Stmt *> Stmts, const clang::PartialDiagnostic & PD)
  • public bool DiagRuntimeBehavior(clang::SourceLocation Loc, const clang::Stmt * Statement, const clang::PartialDiagnostic & PD)
  • public bool DiagRuntimeBehavior(clang::SourceLocation Loc, ArrayRef<const clang::Stmt *> Stmts, const clang::PartialDiagnostic & PD)
  • public void DiagnoseAbsenceOfOverrideControl(clang::NamedDecl * D, bool Inconsistent)
  • public void DiagnoseAbstractType(const clang::CXXRecordDecl * RD)
  • public void DiagnoseAlwaysNonNullPointer(clang::Expr * E, Expr::NullPointerConstantKind NullType, bool IsEqual, clang::SourceRange Range)
  • public void DiagnoseAmbiguousLookup(clang::LookupResult & Result)
  • public void DiagnoseAssignmentAsCondition(clang::Expr * E)
  • public void DiagnoseAssignmentEnum(clang::QualType DstType, clang::QualType SrcType, clang::Expr * SrcExpr)
  • public bool DiagnoseAssignmentResult(clang::Sema::AssignConvertType ConvTy, clang::SourceLocation Loc, clang::QualType DstType, clang::QualType SrcType, clang::Expr * SrcExpr, clang::Sema::AssignmentAction Action, bool * Complained = nullptr)
  • public void DiagnoseAutoDeductionFailure(clang::VarDecl * VDecl, clang::Expr * Init)
  • public void DiagnoseAvailabilityOfDecl(clang::NamedDecl * D, ArrayRef<clang::SourceLocation> Locs, const clang::ObjCInterfaceDecl * UnknownObjCClass, bool ObjCPropertyAccess, bool AvoidPartialAvailabilityChecks = false, clang::ObjCInterfaceDecl * ClassReceiver = nullptr)
  • public void DiagnoseClassExtensionDupMethods(clang::ObjCCategoryDecl * CAT, clang::ObjCInterfaceDecl * ID)
  • public bool DiagnoseClassNameShadow(clang::DeclContext * DC, clang::DeclarationNameInfo Info)
  • public void DiagnoseCommaOperator(const clang::Expr * LHS, clang::SourceLocation Loc)
  • public bool DiagnoseConditionalForNull(clang::Expr * LHSExpr, clang::Expr * RHSExpr, clang::SourceLocation QuestionLoc)
  • public void DiagnoseDeletedDefaultedFunction(clang::FunctionDecl * FD)
  • public bool DiagnoseDependentMemberLookup(clang::LookupResult & R)
  • public void DiagnoseDuplicateIvars(clang::ObjCInterfaceDecl * ID, clang::ObjCInterfaceDecl * SID)
  • public bool DiagnoseEmptyLookup(clang::Scope * S, clang::CXXScopeSpec & SS, clang::LookupResult & R, clang::CorrectionCandidateCallback & CCC, clang::TemplateArgumentListInfo * ExplicitTemplateArgs = nullptr, ArrayRef<clang::Expr *> Args = None, clang::TypoExpr ** Out = nullptr)
  • public void DiagnoseEmptyLoopBody(const clang::Stmt * S, const clang::Stmt * PossibleBody)
  • public void DiagnoseEmptyStmtBody(clang::SourceLocation StmtLoc, const clang::Stmt * Body, unsigned int DiagID)
  • public void DiagnoseEqualityWithExtraParens(clang::ParenExpr * ParenE)
  • public void DiagnoseFunctionSpecifiers(const clang::DeclSpec & DS)
  • public void DiagnoseHiddenVirtualMethods(clang::CXXMethodDecl * MD)
  • public void DiagnoseInvalidJumps(clang::Stmt * Body)
  • public void DiagnoseMisalignedMembers()
  • public void DiagnoseMissingDesignatedInitOverrides(const clang::ObjCImplementationDecl * ImplD, const clang::ObjCInterfaceDecl * IFD)
  • public void DiagnoseMultipleMethodInGlobalPool(SmallVectorImpl<clang::ObjCMethodDecl *> & Methods, clang::Selector Sel, clang::SourceRange R, bool receiverIdOrClass)
  • public bool DiagnoseMultipleUserDefinedConversion(clang::Expr * From, clang::QualType ToType)
  • public void DiagnoseNonDefaultPragmaAlignPack(clang::Sema::PragmaAlignPackDiagnoseKind Kind, clang::SourceLocation IncludeLoc)
  • public void DiagnoseNontrivial(const clang::CXXRecordDecl * Record, clang::Sema::CXXSpecialMember CSM)
  • public void DiagnoseOwningPropertyGetterSynthesis(const clang::ObjCImplementationDecl * D)
  • public bool DiagnosePropertyAccessorMismatch(clang::ObjCPropertyDecl * PD, clang::ObjCMethodDecl * Getter, clang::SourceLocation Loc)
  • public void DiagnosePropertyMismatch(clang::ObjCPropertyDecl * Property, clang::ObjCPropertyDecl * SuperProperty, const clang::IdentifierInfo * Name, bool OverridingProtocolProperty)
  • public void DiagnoseReturnInConstructorExceptionHandler(clang::CXXTryStmt * TryBlock)
  • public void DiagnoseSelfMove(const clang::Expr * LHSExpr, const clang::Expr * RHSExpr, clang::SourceLocation OpLoc)
  • public void DiagnoseSentinelCalls(clang::NamedDecl * D, clang::SourceLocation Loc, ArrayRef<clang::Expr *> Args)
  • public void DiagnoseShadowingLambdaDecls(const sema::LambdaScopeInfo * LSI)
  • public void DiagnoseSizeOfParametersAndReturnValue(ArrayRef<clang::ParmVarDecl *> Parameters, clang::QualType ReturnTy, clang::NamedDecl * D)
  • public bool DiagnoseSwiftName(clang::Decl * D, llvm::StringRef Name, clang::SourceLocation Loc, const clang::ParsedAttr & AL, bool IsAsync)
  • public void DiagnoseTemplateParameterShadow(clang::SourceLocation Loc, clang::Decl * PrevDecl)
  • public void DiagnoseTypeArgsAndProtocols(clang::IdentifierInfo * ProtocolId, clang::SourceLocation ProtocolLoc, clang::IdentifierInfo * TypeArgId, clang::SourceLocation TypeArgLoc, bool SelectProtocolFirst = false)
  • public bool DiagnoseUnexpandedParameterPack(clang::SourceLocation Loc, clang::TypeSourceInfo * T, clang::Sema::UnexpandedParameterPackContext UPPC)
  • public bool DiagnoseUnexpandedParameterPack(clang::Expr * E, clang::Sema::UnexpandedParameterPackContext UPPC = UPPC_Expression)
  • public bool DiagnoseUnexpandedParameterPack(const clang::CXXScopeSpec & SS, clang::Sema::UnexpandedParameterPackContext UPPC)
  • public bool DiagnoseUnexpandedParameterPack(const clang::DeclarationNameInfo & NameInfo, clang::Sema::UnexpandedParameterPackContext UPPC)
  • public bool DiagnoseUnexpandedParameterPack(clang::SourceLocation Loc, clang::TemplateName Template, clang::Sema::UnexpandedParameterPackContext UPPC)
  • public bool DiagnoseUnexpandedParameterPack(clang::TemplateArgumentLoc Arg, clang::Sema::UnexpandedParameterPackContext UPPC)
  • public bool DiagnoseUnexpandedParameterPackInRequiresExpr(clang::RequiresExpr * RE)
  • public bool DiagnoseUnexpandedParameterPacks(clang::SourceLocation Loc, clang::Sema::UnexpandedParameterPackContext UPPC, ArrayRef<clang::UnexpandedParameterPack> Unexpanded)
  • public void DiagnoseUnguardedAvailabilityViolations(clang::Decl * FD)
  • public void DiagnoseUnimplementedProperties(clang::Scope * S, clang::ObjCImplDecl * IMPDecl, clang::ObjCContainerDecl * CDecl, bool SynthesizeProperties)
  • public bool DiagnoseUninstantiableTemplate(clang::SourceLocation PointOfInstantiation, clang::NamedDecl * Instantiation, bool InstantiatedFromMember, const clang::NamedDecl * Pattern, const clang::NamedDecl * PatternDef, clang::TemplateSpecializationKind TSK, bool Complain = true)
  • public bool DiagnoseUnknownTemplateName(const clang::IdentifierInfo & II, clang::SourceLocation IILoc, clang::Scope * S, const clang::CXXScopeSpec * SS, clang::Sema::TemplateTy & SuggestedTemplate, clang::TemplateNameKind & SuggestedKind)
  • public void DiagnoseUnknownTypeName(clang::IdentifierInfo *& II, clang::SourceLocation IILoc, clang::Scope * S, clang::CXXScopeSpec * SS, clang::ParsedType & SuggestedType, bool IsTemplateName = false)
  • public void DiagnoseUnsatisfiedConstraint(const clang::ConstraintSatisfaction & Satisfaction, bool First = true)
  • public void DiagnoseUnsatisfiedConstraint(const clang::ASTConstraintSatisfaction & Satisfaction, bool First = true)
  • public void DiagnoseUnterminatedOpenMPDeclareTarget()
  • public void DiagnoseUnterminatedPragmaAlignPack()
  • public void DiagnoseUnterminatedPragmaAttribute()
  • public void DiagnoseUnusedBackingIvarInAccessor(clang::Scope * S, const clang::ObjCImplementationDecl * ImplD)
  • public void DiagnoseUnusedButSetDecl(const clang::VarDecl * VD)
  • public void DiagnoseUnusedDecl(const clang::NamedDecl * ND)
  • public void DiagnoseUnusedExprResult(const clang::Stmt * S, unsigned int DiagID)
  • public bool DiagnoseUnusedLambdaCapture(clang::SourceRange CaptureRange, const sema::Capture & From)
  • public void DiagnoseUnusedNestedTypedefs(const clang::RecordDecl * D)
  • public void DiagnoseUnusedParameters(ArrayRef<clang::ParmVarDecl *> Parameters)
  • public bool DiagnoseUseOfDecl(clang::NamedDecl * D, ArrayRef<clang::SourceLocation> Locs, const clang::ObjCInterfaceDecl * UnknownObjCClass = nullptr, bool ObjCPropertyAccess = false, bool AvoidPartialAvailabilityChecks = false, clang::ObjCInterfaceDecl * ClassReciever = nullptr)
  • public void DiagnoseUseOfUnimplementedSelectors()
  • public void DiscardCleanupsInEvaluationContext()
  • public void DiscardMisalignedMemberAddress(const clang::Type * T, clang::Expr * E)
  • public void EmitCurrentDiagnostic(unsigned int DiagID)
  • public void EmitRelatedResultTypeNote(const clang::Expr * E)
  • public void EmitRelatedResultTypeNoteForReturn(clang::QualType destType)
  • public void EndOpenMPClause()
  • public void EndOpenMPDSABlock(clang::Stmt * CurDirective)
  • public bool EnsureTemplateArgumentListConstraints(clang::TemplateDecl * Template, ArrayRef<clang::TemplateArgument> TemplateArgs, clang::SourceRange TemplateIDRange)
  • public void EnterDeclaratorContext(clang::Scope * S, clang::DeclContext * DC)
  • public void EnterTemplatedContext(clang::Scope * S, clang::DeclContext * DC)
  • public void EraseUnwantedCUDAMatches(const clang::FunctionDecl * Caller, SmallVectorImpl<std::pair<DeclAccessPair, FunctionDecl *>> & Matches)
  • public void EvaluateImplicitExceptionSpec(clang::SourceLocation Loc, clang::FunctionDecl * FD)
  • public void ExitDeclaratorContext(clang::Scope * S)
  • public clang::QualType ExtractUnqualifiedFunctionType(clang::QualType PossiblyAFunctionType)
  • private clang::TypoCorrection FailedCorrection(clang::IdentifierInfo * Typo, clang::SourceLocation TypoLoc, bool RecordFailure = true)
  • public void FillInlineAsmIdentifierInfo(clang::Expr * Res, llvm::InlineAsmIdentifierInfo & Info)
  • public void FilterAcceptableTemplateNames(clang::LookupResult & R, bool AllowFunctionTemplates = true, bool AllowDependent = true)
  • public void FilterLookupForScope(clang::LookupResult & R, clang::DeclContext * Ctx, clang::Scope * S, bool ConsiderLinkage, bool AllowInlineNamespace)
  • public void FilterUsingLookup(clang::Scope * S, clang::LookupResult & lookup)
  • public void FinalizeDeclaration(clang::Decl * D)
  • public clang::Sema::DeclGroupPtrTy FinalizeDeclaratorGroup(clang::Scope * S, const clang::DeclSpec & DS, ArrayRef<clang::Decl *> Group)
  • public void FinalizeVarWithDestructor(clang::VarDecl * VD, const clang::RecordType * DeclInitType)
  • public bool FindAllocationFunctions(clang::SourceLocation StartLoc, clang::SourceRange Range, clang::Sema::AllocationFunctionScope NewScope, clang::Sema::AllocationFunctionScope DeleteScope, clang::QualType AllocType, bool IsArray, bool & PassAlignment, clang::MultiExprArg PlaceArgs, clang::FunctionDecl *& OperatorNew, clang::FunctionDecl *& OperatorDelete, bool Diagnose = true)
  • public void FindAssociatedClassesAndNamespaces(clang::SourceLocation InstantiationLoc, ArrayRef<clang::Expr *> Args, clang::Sema::AssociatedNamespaceSet & AssociatedNamespaces, clang::Sema::AssociatedClassSet & AssociatedClasses)
  • public clang::QualType FindCompositeObjCPointerType(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation QuestionLoc)
  • public clang::QualType FindCompositePointerType(clang::SourceLocation Loc, clang::ExprResult & E1, clang::ExprResult & E2, bool ConvertArgs = true)
  • public clang::QualType FindCompositePointerType(clang::SourceLocation Loc, clang::Expr *& E1, clang::Expr *& E2, bool ConvertArgs = true)
  • public bool FindDeallocationFunction(clang::SourceLocation StartLoc, clang::CXXRecordDecl * RD, clang::DeclarationName Name, clang::FunctionDecl *& Operator, bool Diagnose = true)
  • public clang::FunctionDecl * FindDeallocationFunctionForDestructor(clang::SourceLocation StartLoc, clang::CXXRecordDecl * RD)
  • public clang::NamedDecl * FindFirstQualifierInScope(clang::Scope * S, clang::NestedNameSpecifier * NNS)
  • public void FindHiddenVirtualMethods(clang::CXXMethodDecl * MD, SmallVectorImpl<clang::CXXMethodDecl *> & OverloadedMethods)
  • public clang::DeclContext * FindInstantiatedContext(clang::SourceLocation Loc, clang::DeclContext * DC, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::NamedDecl * FindInstantiatedDecl(clang::SourceLocation Loc, clang::NamedDecl * D, const clang::MultiLevelTemplateArgumentList & TemplateArgs, bool FindingInstantiatedContext = false)
  • public void FindProtocolDeclaration(bool WarnOnDeclarations, bool ForObjCContainer, ArrayRef<clang::IdentifierLocPair> ProtocolId, SmallVectorImpl<clang::Decl *> & Protocols)
  • public clang::FunctionDecl * FindUsualDeallocationFunction(clang::SourceLocation StartLoc, bool CanProvideSize, bool Overaligned, clang::DeclarationName Name)
  • public clang::StmtResult FinishCXXForRangeStmt(clang::Stmt * ForRange, clang::Stmt * Body)
  • public clang::StmtResult FinishObjCForCollectionStmt(clang::Stmt * ForCollection, clang::Stmt * Body)
  • public clang::Sema::TemplateDeductionResult FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl * FunctionTemplate, SmallVectorImpl<clang::DeducedTemplateArgument> & Deduced, unsigned int NumExplicitlySpecified, clang::FunctionDecl *& Specialization, sema::TemplateDeductionInfo & Info, const SmallVectorImpl<clang::Sema::OriginalCallArg> * OriginalCallArgs = nullptr, bool PartialOverloading = false, llvm::function_ref<bool ()> CheckNonDependent = [] { return false; })
  • public clang::ExprResult FixOverloadedFunctionReference(clang::ExprResult, clang::DeclAccessPair FoundDecl, clang::FunctionDecl * Fn)
  • public clang::Expr * FixOverloadedFunctionReference(clang::Expr * E, clang::DeclAccessPair FoundDecl, clang::FunctionDecl * Fn)
  • public void ForceDeclarationOfImplicitMembers(clang::CXXRecordDecl * Class)
  • public bool FormatStringHasSArg(const clang::StringLiteral * FExpr)
  • public void FreeVisContext()
  • public bool FunctionParamTypesAreEqual(const clang::FunctionProtoType * OldType, const clang::FunctionProtoType * NewType, unsigned int * ArgPos = nullptr, bool Reversed = false)
  • public bool GatherArgumentsForCall(clang::SourceLocation CallLoc, clang::FunctionDecl * FDecl, const clang::FunctionProtoType * Proto, unsigned int FirstParam, ArrayRef<clang::Expr *> Args, SmallVectorImpl<clang::Expr *> & AllArgs, clang::Sema::VariadicCallType CallType = VariadicDoesNotApply, bool AllowExplicit = false, bool IsListInitialization = false)
  • public void GatherGlobalCodeCompletions(clang::CodeCompletionAllocator & Allocator, clang::CodeCompletionTUInfo & CCTUInfo, SmallVectorImpl<clang::CodeCompletionResult> & Results)
  • public static bool GetFormatNSStringIdx(const clang::FormatAttr * Format, unsigned int & Idx)
  • public static clang::Sema::FormatStringType GetFormatStringType(const clang::FormatAttr * Format)
  • public clang::ObjCIvarDecl * GetIvarBackingPropertyAccessor(const clang::ObjCMethodDecl * Method, const clang::ObjCPropertyDecl *& PDecl) const
  • public clang::DeclarationNameInfo GetNameForDeclarator(clang::Declarator & D)
  • public clang::DeclarationNameInfo GetNameFromUnqualifiedId(const clang::UnqualifiedId & Name)
  • public clang::LabelDecl * GetOrCreateMSAsmLabel(llvm::StringRef ExternalLabelName, clang::SourceLocation Location, bool AlwaysCreate)
  • public clang::QualType GetSignedSizelessVectorType(clang::QualType V)
  • public clang::QualType GetSignedVectorType(clang::QualType V)
  • public clang::TypeSourceInfo * GetTypeForDeclarator(clang::Declarator & D, clang::Scope * S)
  • public clang::TypeSourceInfo * GetTypeForDeclaratorCast(clang::Declarator & D, clang::QualType FromTy)
  • public static clang::QualType GetTypeFromParser(clang::ParsedType Ty, clang::TypeSourceInfo ** TInfo = nullptr)
  • public clang::NamedDecl * HandleDeclarator(clang::Scope * S, clang::Declarator & D, clang::MultiTemplateParamsArg TemplateParameterLists)
  • public void HandleDelayedAccessCheck(sema::DelayedDiagnostic & DD, clang::Decl * Ctx)
  • public void HandleDependentAccessCheck(const clang::DependentDiagnostic & DD, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::ExprResult HandleExprEvaluationContextForTypeof(clang::Expr * E)
  • public clang::ExprResult HandleExprPropertyRefExpr(const clang::ObjCObjectPointerType * OPT, clang::Expr * BaseExpr, clang::SourceLocation OpLoc, clang::DeclarationName MemberName, clang::SourceLocation MemberLoc, clang::SourceLocation SuperLoc, clang::QualType SuperType, bool Super)
  • public clang::FieldDecl * HandleField(clang::Scope * S, clang::RecordDecl * TagD, clang::SourceLocation DeclStart, clang::Declarator & D, clang::Expr * BitfieldWidth, clang::InClassInitStyle InitStyle, clang::AccessSpecifier AS)
  • public void HandleFunctionTypeMismatch(clang::PartialDiagnostic & PDiag, clang::QualType FromType, clang::QualType ToType)
  • public clang::MSPropertyDecl * HandleMSProperty(clang::Scope * S, clang::RecordDecl * TagD, clang::SourceLocation DeclStart, clang::Declarator & D, clang::Expr * BitfieldWidth, clang::InClassInitStyle InitStyle, clang::AccessSpecifier AS, const clang::ParsedAttr & MSPropertyAttr)
  • public clang::ObjCPropertyDecl * HandlePropertyInClassExtension(clang::Scope * S, clang::SourceLocation AtLoc, clang::SourceLocation LParenLoc, clang::FieldDeclarator & FD, clang::Selector GetterSel, clang::SourceLocation GetterNameLoc, clang::Selector SetterSel, clang::SourceLocation SetterNameLoc, const bool isReadWrite, unsigned int & Attributes, const unsigned int AttributesAsWritten, clang::QualType T, clang::TypeSourceInfo * TSI, tok::ObjCKeywordKind MethodImplKind)
  • private void HandleStartOfHeaderUnit()
  • public void HideUsingShadowDecl(clang::Scope * S, clang::UsingShadowDecl * Shadow)
  • public clang::Sema::CUDAFunctionPreference IdentifyCUDAPreference(const clang::FunctionDecl * Caller, const clang::FunctionDecl * Callee)
  • public clang::Sema::CUDAVariableTarget IdentifyCUDATarget(const clang::VarDecl * D)
  • public clang::Sema::CUDAFunctionTarget IdentifyCUDATarget(const clang::ParsedAttributesView & Attrs)
  • public clang::Sema::CUDAFunctionTarget IdentifyCUDATarget(const clang::FunctionDecl * D, bool IgnoreImplicitHDAttr = false)
  • public clang::ExprResult IgnoredValueConversions(clang::Expr * E)
  • public clang::ExprResult ImpCastExprToType(clang::Expr * E, clang::QualType Type, clang::CastKind CK, clang::ExprValueKind VK = VK_PRValue, const clang::CXXCastPath * BasePath = nullptr, clang::Sema::CheckedConversionKind CCK = CCK_ImplicitConversion)
  • public void ImplMethodsVsClassMethods(clang::Scope * S, clang::ObjCImplDecl * IMPDecl, clang::ObjCContainerDecl * IDecl, bool IncompleteImpl = false)
  • public clang::NamedDecl * ImplicitlyDefineFunction(clang::SourceLocation Loc, clang::IdentifierInfo & II, clang::Scope * S)
  • private void InitDataSharingAttributesStack()
  • public void Initialize()
  • public void InstantiateAttrs(const clang::MultiLevelTemplateArgumentList & TemplateArgs, const clang::Decl * Pattern, clang::Decl * Inst, clang::Sema::LateInstantiatedAttrVec * LateAttrs = nullptr, clang::LocalInstantiationScope * OuterMostScope = nullptr)
  • public void InstantiateAttrsForDecl(const clang::MultiLevelTemplateArgumentList & TemplateArgs, const clang::Decl * Pattern, clang::Decl * Inst, clang::Sema::LateInstantiatedAttrVec * LateAttrs = nullptr, clang::LocalInstantiationScope * OuterMostScope = nullptr)
  • public bool InstantiateClass(clang::SourceLocation PointOfInstantiation, clang::CXXRecordDecl * Instantiation, clang::CXXRecordDecl * Pattern, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::TemplateSpecializationKind TSK, bool Complain = true)
  • public void InstantiateClassMembers(clang::SourceLocation PointOfInstantiation, clang::CXXRecordDecl * Instantiation, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::TemplateSpecializationKind TSK)
  • public bool InstantiateClassTemplateSpecialization(clang::SourceLocation PointOfInstantiation, clang::ClassTemplateSpecializationDecl * ClassTemplateSpec, clang::TemplateSpecializationKind TSK, bool Complain = true)
  • public void InstantiateClassTemplateSpecializationMembers(clang::SourceLocation PointOfInstantiation, clang::ClassTemplateSpecializationDecl * ClassTemplateSpec, clang::TemplateSpecializationKind TSK)
  • public bool InstantiateDefaultArgument(clang::SourceLocation CallLoc, clang::FunctionDecl * FD, clang::ParmVarDecl * Param)
  • public void InstantiateDefaultCtorDefaultArgs(clang::CXXConstructorDecl * Ctor)
  • public bool InstantiateEnum(clang::SourceLocation PointOfInstantiation, clang::EnumDecl * Instantiation, clang::EnumDecl * Pattern, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::TemplateSpecializationKind TSK)
  • public void InstantiateExceptionSpec(clang::SourceLocation PointOfInstantiation, clang::FunctionDecl * Function)
  • public clang::FunctionDecl * InstantiateFunctionDeclaration(clang::FunctionTemplateDecl * FTD, const clang::TemplateArgumentList * Args, clang::SourceLocation Loc)
  • public void InstantiateFunctionDefinition(clang::SourceLocation PointOfInstantiation, clang::FunctionDecl * Function, bool Recursive = false, bool DefinitionRequired = false, bool AtEndOfTU = false)
  • public bool InstantiateInClassInitializer(clang::SourceLocation PointOfInstantiation, clang::FieldDecl * Instantiation, clang::FieldDecl * Pattern, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public void InstantiateMemInitializers(clang::CXXConstructorDecl * New, const clang::CXXConstructorDecl * Tmpl, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public void InstantiateVariableDefinition(clang::SourceLocation PointOfInstantiation, clang::VarDecl * Var, bool Recursive = false, bool DefinitionRequired = false, bool AtEndOfTU = false)
  • public void InstantiateVariableInitializer(clang::VarDecl * Var, clang::VarDecl * OldVar, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::QualType InvalidLogicalVectorOperands(clang::SourceLocation Loc, clang::ExprResult & LHS, clang::ExprResult & RHS)
  • public clang::QualType InvalidOperands(clang::SourceLocation Loc, clang::ExprResult & LHS, clang::ExprResult & RHS)
  • public clang::IdentifierInfo * InventAbbreviatedTemplateParameterTypeName(clang::IdentifierInfo * ParamName, unsigned int Index)
  • public bool IsAllowedCUDACall(const clang::FunctionDecl * Caller, const clang::FunctionDecl * Callee)
  • public bool IsAtLeastAsConstrained(clang::NamedDecl * D1, ArrayRef<const clang::Expr *> AC1, clang::NamedDecl * D2, ArrayRef<const clang::Expr *> AC2, bool & Result)
  • public bool IsBlockPointerConversion(clang::QualType FromType, clang::QualType ToType, clang::QualType & ConvertedType)
  • public bool IsComplexPromotion(clang::QualType FromType, clang::QualType ToType)
  • public bool IsDerivedFrom(clang::SourceLocation Loc, clang::QualType Derived, clang::QualType Base)
  • public bool IsDerivedFrom(clang::SourceLocation Loc, clang::QualType Derived, clang::QualType Base, clang::CXXBasePaths & Paths)
  • public bool IsFloatingPointPromotion(clang::QualType FromType, clang::QualType ToType)
  • public bool IsFunctionConversion(clang::QualType FromType, clang::QualType ToType, clang::QualType & ResultTy)
  • public bool IsInsideALocalClassWithinATemplateFunction()
  • public bool IsIntegralPromotion(clang::Expr * From, clang::QualType FromType, clang::QualType ToType)
  • public bool IsInvalidUnlessNestedName(clang::Scope * S, clang::CXXScopeSpec & SS, clang::Sema::NestedNameSpecInfo & IdInfo, bool EnteringContext)
  • public bool IsMemberPointerConversion(clang::Expr * From, clang::QualType FromType, clang::QualType ToType, bool InOverloadResolution, clang::QualType & ConvertedType)
  • public bool IsOverload(clang::FunctionDecl * New, clang::FunctionDecl * Old, bool IsForUsingDecl, bool ConsiderCudaAttrs = true, bool ConsiderRequiresClauses = true)
  • public bool IsPointerConversion(clang::Expr * From, clang::QualType FromType, clang::QualType ToType, bool InOverloadResolution, clang::QualType & ConvertedType, bool & IncompatibleObjC)
  • public bool IsQualificationConversion(clang::QualType FromType, clang::QualType ToType, bool CStyle, bool & ObjCLifetimeConversion)
  • public bool IsRedefinitionInModule(const clang::NamedDecl * New, const clang::NamedDecl * Old) const
  • public bool IsSimplyAccessible(clang::NamedDecl * Decl, clang::CXXRecordDecl * NamingClass, clang::QualType BaseType)
  • public bool IsStringInit(clang::Expr * Init, const clang::ArrayType * AT)
  • public bool IsStringLiteralToNonConstPointerConversion(clang::Expr * From, clang::QualType ToType)
  • public bool IsValueInFlagEnum(const clang::EnumDecl * ED, const llvm::APInt & Val, bool AllowMask) const
  • public bool IvarBacksCurrentMethodAccessor(clang::ObjCInterfaceDecl * IFace, clang::ObjCMethodDecl * Method, clang::ObjCIvarDecl * IV)
  • public clang::NamedDecl * LazilyCreateBuiltin(clang::IdentifierInfo * II, unsigned int ID, clang::Scope * S, bool ForRedeclaration, clang::SourceLocation Loc)
  • public void LoadExternalVTableUses()
  • public void LoadExternalWeakUndeclaredIdentifiers()
  • public void LookupBinOp(clang::Scope * S, clang::SourceLocation OpLoc, clang::BinaryOperatorKind Opc, clang::UnresolvedSetImpl & Functions)
  • public bool LookupBuiltin(clang::LookupResult & R)
  • public clang::DeclContextLookupResult LookupConstructors(clang::CXXRecordDecl * Class)
  • public clang::CXXMethodDecl * LookupCopyingAssignment(clang::CXXRecordDecl * Class, unsigned int Quals, bool RValueThis, unsigned int ThisQuals)
  • public clang::CXXConstructorDecl * LookupCopyingConstructor(clang::CXXRecordDecl * Class, unsigned int Quals)
  • public clang::CXXConstructorDecl * LookupDefaultConstructor(clang::CXXRecordDecl * Class)
  • public clang::CXXDestructorDecl * LookupDestructor(clang::CXXRecordDecl * Class)
  • public clang::ObjCMethodDecl * LookupFactoryMethodInGlobalPool(clang::Selector Sel, clang::SourceRange R, bool receiverIdOrClass = false)
  • public clang::ObjCMethodDecl * LookupImplementedMethodInGlobalPool(clang::Selector Sel)
  • public clang::ExprResult LookupInObjCMethod(clang::LookupResult & LookUp, clang::Scope * S, clang::IdentifierInfo * II, bool AllowBuiltinCreation = false)
  • public bool LookupInSuper(clang::LookupResult & R, clang::CXXRecordDecl * Class)
  • public bool LookupInlineAsmField(llvm::StringRef Base, llvm::StringRef Member, unsigned int & Offset, clang::SourceLocation AsmLoc)
  • public clang::ExprResult LookupInlineAsmIdentifier(clang::CXXScopeSpec & SS, clang::SourceLocation TemplateKWLoc, clang::UnqualifiedId & Id, bool IsUnevaluatedContext)
  • public clang::ExprResult LookupInlineAsmVarDeclField(clang::Expr * RefExpr, llvm::StringRef Member, clang::SourceLocation AsmLoc)
  • public clang::ObjCMethodDecl * LookupInstanceMethodInGlobalPool(clang::Selector Sel, clang::SourceRange R, bool receiverIdOrClass = false)
  • public clang::DeclResult LookupIvarInObjCMethod(clang::LookupResult & Lookup, clang::Scope * S, clang::IdentifierInfo * II)
  • public clang::Sema::LiteralOperatorLookupResult LookupLiteralOperator(clang::Scope * S, clang::LookupResult & R, ArrayRef<clang::QualType> ArgTys, bool AllowRaw, bool AllowTemplate, bool AllowStringTemplate, bool DiagnoseMissing, clang::StringLiteral * StringLit = nullptr)
  • private clang::ObjCMethodDecl * LookupMethodInGlobalPool(clang::Selector Sel, clang::SourceRange R, bool receiverIdOrClass, bool instance)
  • public clang::ObjCMethodDecl * LookupMethodInObjectType(clang::Selector Sel, clang::QualType Ty, bool IsInstance)
  • public clang::ObjCMethodDecl * LookupMethodInQualifiedType(clang::Selector Sel, const clang::ObjCObjectPointerType * OPT, bool IsInstance)
  • public clang::CXXMethodDecl * LookupMovingAssignment(clang::CXXRecordDecl * Class, unsigned int Quals, bool RValueThis, unsigned int ThisQuals)
  • public clang::CXXConstructorDecl * LookupMovingConstructor(clang::CXXRecordDecl * Class, unsigned int Quals)
  • public bool LookupName(clang::LookupResult & R, clang::Scope * S, bool AllowBuiltinCreation = false, bool ForceNoCPlusPlus = false)
  • public void LookupNecessaryTypesForBuiltin(clang::Scope * S, unsigned int ID)
  • public clang::LabelDecl * LookupOrCreateLabel(clang::IdentifierInfo * II, clang::SourceLocation IdentLoc, clang::SourceLocation GnuLabelLoc = clang::SourceLocation())
  • public void LookupOverloadedBinOp(clang::OverloadCandidateSet & CandidateSet, clang::OverloadedOperatorKind Op, const clang::UnresolvedSetImpl & Fns, ArrayRef<clang::Expr *> Args, bool RequiresADL = true)
  • public void LookupOverloadedOperatorName(clang::OverloadedOperatorKind Op, clang::Scope * S, clang::UnresolvedSetImpl & Functions)
  • public bool LookupParsedName(clang::LookupResult & R, clang::Scope * S, clang::CXXScopeSpec * SS, bool AllowBuiltinCreation = false, bool EnteringContext = false)
  • public clang::ObjCProtocolDecl * LookupProtocol(clang::IdentifierInfo * II, clang::SourceLocation IdLoc, clang::Sema::RedeclarationKind Redecl = NotForRedeclaration)
  • public bool LookupQualifiedName(clang::LookupResult & R, clang::DeclContext * LookupCtx, bool InUnqualifiedLookup = false)
  • public bool LookupQualifiedName(clang::LookupResult & R, clang::DeclContext * LookupCtx, clang::CXXScopeSpec & SS)
  • public clang::NamedDecl * LookupSingleName(clang::Scope * S, clang::DeclarationName Name, clang::SourceLocation Loc, clang::Sema::LookupNameKind NameKind, clang::Sema::RedeclarationKind Redecl = NotForRedeclaration)
  • public clang::Sema::SpecialMemberOverloadResult LookupSpecialMember(clang::CXXRecordDecl * D, clang::Sema::CXXSpecialMember SM, bool ConstArg, bool VolatileArg, bool RValueThis, bool ConstThis, bool VolatileThis)
  • public bool LookupTemplateName(clang::LookupResult & R, clang::Scope * S, clang::CXXScopeSpec & SS, clang::QualType ObjectType, bool EnteringContext, bool & MemberOfUnknownSpecialization, clang::Sema::RequiredTemplateKind RequiredTemplate = clang::SourceLocation(), clang::Sema::AssumedTemplateKind * ATK = nullptr, bool AllowTypoCorrection = true)
  • public void LookupVisibleDecls(clang::Scope * S, clang::Sema::LookupNameKind Kind, clang::VisibleDeclConsumer & Consumer, bool IncludeGlobalScope = true, bool LoadExternal = true)
  • public void LookupVisibleDecls(clang::DeclContext * Ctx, clang::Sema::LookupNameKind Kind, clang::VisibleDeclConsumer & Consumer, bool IncludeGlobalScope = true, bool IncludeDependentBases = false, bool LoadExternal = true)
  • public clang::Sema::FullExprArg MakeFullDiscardedValueExpr(clang::Expr * Arg)
  • public clang::Sema::FullExprArg MakeFullExpr(clang::Expr * Arg)
  • public clang::Sema::FullExprArg MakeFullExpr(clang::Expr * Arg, clang::SourceLocation CC)
  • public void MarkAnyDeclReferenced(clang::SourceLocation Loc, clang::Decl * D, bool MightBeOdrUse)
  • public void MarkAsLateParsedTemplate(clang::FunctionDecl * FD, clang::Decl * FnD, clang::CachedTokens & Toks)
  • public void MarkBaseAndMemberDestructorsReferenced(clang::SourceLocation Loc, clang::CXXRecordDecl * Record)
  • public void MarkCaptureUsedInEnclosingContext(clang::VarDecl * Capture, clang::SourceLocation Loc, unsigned int CapturingScopeIndex)
  • public void MarkDeclRefReferenced(clang::DeclRefExpr * E, const clang::Expr * Base = nullptr)
  • public void MarkDeclarationsReferencedInExpr(clang::Expr * E, bool SkipLocalVariables = false, ArrayRef<const clang::Expr *> StopAt = None)
  • public void MarkDeclarationsReferencedInType(clang::SourceLocation Loc, clang::QualType T)
  • public void MarkDeducedTemplateParameters(const clang::FunctionTemplateDecl * FunctionTemplate, llvm::SmallBitVector & Deduced)
  • public static void MarkDeducedTemplateParameters(clang::ASTContext & Ctx, const clang::FunctionTemplateDecl * FunctionTemplate, llvm::SmallBitVector & Deduced)
  • public void MarkFunctionParmPackReferenced(clang::FunctionParmPackExpr * E)
  • public void MarkFunctionReferenced(clang::SourceLocation Loc, clang::FunctionDecl * Func, bool MightBeOdrUse = true)
  • public void MarkMemberReferenced(clang::MemberExpr * E)
  • public void MarkThisReferenced(clang::CXXThisExpr * This)
  • public void MarkTypoCorrectedFunctionDefinition(const clang::NamedDecl * F)
  • public void MarkUnusedFileScopedDecl(const clang::DeclaratorDecl * D)
  • public void MarkUsedTemplateParameters(const clang::Expr * E, bool OnlyDeduced, unsigned int Depth, llvm::SmallBitVector & Used)
  • public void MarkUsedTemplateParameters(const clang::TemplateArgumentList & TemplateArgs, bool OnlyDeduced, unsigned int Depth, llvm::SmallBitVector & Used)
  • public void MarkVTableUsed(clang::SourceLocation Loc, clang::CXXRecordDecl * Class, bool DefinitionRequired = false)
  • public void MarkVariableReferenced(clang::SourceLocation Loc, clang::VarDecl * Var)
  • public void MarkVirtualBaseDestructorsReferenced(clang::SourceLocation Location, clang::CXXRecordDecl * ClassDecl, llvm::SmallPtrSetImpl<const RecordType *> * DirectVirtualBases = nullptr)
  • public void MarkVirtualMemberExceptionSpecsNeeded(clang::SourceLocation Loc, const clang::CXXRecordDecl * RD)
  • public void MarkVirtualMembersReferenced(clang::SourceLocation Loc, const clang::CXXRecordDecl * RD, bool ConstexprOnly = false)
  • public void MatchAllMethodDeclarations(const clang::Sema::SelectorSet & InsMap, const clang::Sema::SelectorSet & ClsMap, clang::Sema::SelectorSet & InsMapSeen, clang::Sema::SelectorSet & ClsMapSeen, clang::ObjCImplDecl * IMPDecl, clang::ObjCContainerDecl * IDecl, bool & IncompleteImpl, bool ImmediateClass, bool WarnCategoryMethodImpl = false)
  • public clang::TemplateParameterList * MatchTemplateParametersToScopeSpecifier(clang::SourceLocation DeclStartLoc, clang::SourceLocation DeclLoc, const clang::CXXScopeSpec & SS, clang::TemplateIdAnnotation * TemplateId, ArrayRef<clang::TemplateParameterList *> ParamLists, bool IsFriend, bool & IsMemberSpecialization, bool & Invalid, bool SuppressDiagnostic = false)
  • public bool MatchTwoMethodDeclarations(const clang::ObjCMethodDecl * Method, const clang::ObjCMethodDecl * PrevMethod, clang::Sema::MethodMatchStrategy strategy = MMS_strict)
  • public void MaybeAddCUDAConstantAttr(clang::VarDecl * VD)
  • public clang::ExprResult MaybeBindToTemporary(clang::Expr * E)
  • public clang::ExprResult MaybeConvertParenListExprToParenExpr(clang::Scope * S, clang::Expr * ME)
  • public clang::Expr * MaybeCreateExprWithCleanups(clang::Expr * SubExpr)
  • public clang::ExprResult MaybeCreateExprWithCleanups(clang::ExprResult SubExpr)
  • public clang::Stmt * MaybeCreateStmtWithCleanups(clang::Stmt * SubStmt)
  • public bool MaybeEmitAmbiguousAtomicConstraintsDiagnostic(clang::NamedDecl * D1, ArrayRef<const clang::Expr *> AC1, clang::NamedDecl * D2, ArrayRef<const clang::Expr *> AC2)
  • public void MaybeSuggestAddingStaticToDecl(const clang::FunctionDecl * D)
  • public bool MergeCXXFunctionDecl(clang::FunctionDecl * New, clang::FunctionDecl * Old, clang::Scope * S)
  • public bool MergeCompatibleFunctionDecls(clang::FunctionDecl * New, clang::FunctionDecl * Old, clang::Scope * S, bool MergeTypeWithOld)
  • public bool MergeFunctionDecl(clang::FunctionDecl * New, clang::NamedDecl *& Old, clang::Scope * S, bool MergeTypeWithOld, bool NewDeclIsDefn)
  • public void MergeTypedefNameDecl(clang::Scope * S, clang::TypedefNameDecl * New, clang::LookupResult & OldDecls)
  • public void MergeVarDecl(clang::VarDecl * New, clang::LookupResult & Previous)
  • public void MergeVarDeclExceptionSpecs(clang::VarDecl * New, clang::VarDecl * Old)
  • public void MergeVarDeclTypes(clang::VarDecl * New, clang::VarDecl * Old, bool MergeTypeWithOld)
  • public void ModifyFnAttributesMSPragmaOptimize(clang::FunctionDecl * FD)
  • public bool NeedToCaptureVariable(clang::VarDecl * Var, clang::SourceLocation Loc)
  • public void NoteAllFoundTemplates(clang::TemplateName Name)
  • public void NoteAllOverloadCandidates(clang::Expr * E, clang::QualType DestType = clang::QualType(), bool TakingAddress = false)
  • public void NoteDeletedFunction(clang::FunctionDecl * FD)
  • public void NoteDeletedInheritingConstructor(clang::CXXConstructorDecl * CD)
  • public void NoteHiddenVirtualMethods(clang::CXXMethodDecl * MD, SmallVectorImpl<clang::CXXMethodDecl *> & OverloadedMethods)
  • public void NoteOverloadCandidate(clang::NamedDecl * Found, clang::FunctionDecl * Fn, clang::OverloadCandidateRewriteKind RewriteKind = clang::OverloadCandidateRewriteKind(), clang::QualType DestType = clang::QualType(), bool TakingAddress = false)
  • public clang::PartialDiagnostic PDiag(unsigned int DiagID = 0)
  • public clang::ExprResult ParseObjCEncodeExpression(clang::SourceLocation AtLoc, clang::SourceLocation EncodeLoc, clang::SourceLocation LParenLoc, clang::ParsedType Ty, clang::SourceLocation RParenLoc)
  • public clang::ExprResult ParseObjCProtocolExpression(clang::IdentifierInfo * ProtocolName, clang::SourceLocation AtLoc, clang::SourceLocation ProtoLoc, clang::SourceLocation LParenLoc, clang::SourceLocation ProtoIdLoc, clang::SourceLocation RParenLoc)
  • public clang::ExprResult ParseObjCSelectorExpression(clang::Selector Sel, clang::SourceLocation AtLoc, clang::SourceLocation SelLoc, clang::SourceLocation LParenLoc, clang::SourceLocation RParenLoc, bool WarnMultipleSelectors)
  • public clang::ExprResult ParseObjCStringLiteral(clang::SourceLocation * AtLocs, ArrayRef<clang::Expr *> Strings)
  • public clang::TypedefDecl * ParseTypedefDecl(clang::Scope * S, clang::Declarator & D, clang::QualType T, clang::TypeSourceInfo * TInfo)
  • public clang::Decl * ParsedFreeStandingDeclSpec(clang::Scope * S, clang::AccessSpecifier AS, clang::DeclSpec & DS, const clang::ParsedAttributesView & DeclAttrs, clang::RecordDecl *& AnonRecord)
  • public clang::Decl * ParsedFreeStandingDeclSpec(clang::Scope * S, clang::AccessSpecifier AS, clang::DeclSpec & DS, const clang::ParsedAttributesView & DeclAttrs, clang::MultiTemplateParamsArg TemplateParams, bool IsExplicitInstantiation, clang::RecordDecl *& AnonRecord)
  • public clang::ExprResult PerformContextualImplicitConversion(clang::SourceLocation Loc, clang::Expr * FromE, clang::Sema::ContextualImplicitConverter & Converter)
  • public clang::ExprResult PerformContextuallyConvertToBool(clang::Expr * From)
  • public clang::ExprResult PerformContextuallyConvertToObjCPointer(clang::Expr * From)
  • public clang::ExprResult PerformCopyInitialization(const clang::InitializedEntity & Entity, clang::SourceLocation EqualLoc, clang::ExprResult Init, bool TopLevelOfInitList = false, bool AllowExplicit = false)
  • public void PerformDependentDiagnostics(const clang::DeclContext * Pattern, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::ExprResult PerformImplicitConversion(clang::Expr * From, clang::QualType ToType, const clang::StandardConversionSequence & SCS, clang::Sema::AssignmentAction Action, clang::Sema::CheckedConversionKind CCK)
  • public clang::ExprResult PerformImplicitConversion(clang::Expr * From, clang::QualType ToType, const clang::ImplicitConversionSequence & ICS, clang::Sema::AssignmentAction Action, clang::Sema::CheckedConversionKind CCK = CCK_ImplicitConversion)
  • public clang::ExprResult PerformImplicitConversion(clang::Expr * From, clang::QualType ToType, clang::Sema::AssignmentAction Action, bool AllowExplicit = false)
  • public clang::ExprResult PerformMemberExprBaseConversion(clang::Expr * Base, bool IsArrow)
  • public clang::ExprResult PerformMoveOrCopyInitialization(const clang::InitializedEntity & Entity, const clang::Sema::NamedReturnInfo & NRInfo, clang::Expr * Value, bool SupressSimplerImplicitMoves = false)
  • public clang::ExprResult PerformObjectArgumentInitialization(clang::Expr * From, clang::NestedNameSpecifier * Qualifier, clang::NamedDecl * FoundDecl, clang::CXXMethodDecl * Method)
  • public clang::ExprResult PerformObjectMemberConversion(clang::Expr * From, clang::NestedNameSpecifier * Qualifier, clang::NamedDecl * FoundDecl, clang::NamedDecl * Member)
  • public clang::ExprResult PerformOpenMPImplicitIntegerConversion(clang::SourceLocation OpLoc, clang::Expr * Op)
  • public void PerformPendingInstantiations(bool LocalOnly = false)
  • public clang::ExprResult PerformQualificationConversion(clang::Expr * E, clang::QualType Ty, clang::ExprValueKind VK = VK_PRValue, clang::Sema::CheckedConversionKind CCK = CCK_ImplicitConversion)
  • public void PopCompoundScope()
  • public void PopDeclContext()
  • public void PopExpressionEvaluationContext()
  • public bool PopForceCUDAHostDevice()
  • public clang::Sema::PoppedFunctionScopePtr PopFunctionScopeInfo(const sema::AnalysisBasedWarnings::Policy * WP = nullptr, const clang::Decl * D = nullptr, clang::QualType BlockType = clang::QualType())
  • private void PopGlobalModuleFragment()
  • public void PopParsingClass(clang::Sema::ParsingClassState state)
  • public void PopParsingDeclaration(clang::Sema::ParsingDeclState state, clang::Decl * decl)
  • public void PopPragmaVisibility(bool IsNamespaceEnd, clang::SourceLocation EndLoc)
  • public clang::QualType PreferredConditionType(clang::Sema::ConditionKind K) const
  • private bool PrepareBuiltinElementwiseMathOneArgCall(clang::CallExpr * TheCall)
  • private bool PrepareBuiltinReduceMathOneArgCall(clang::CallExpr * TheCall)
  • public clang::CastKind PrepareCastToObjCObjectPointer(clang::ExprResult & E)
  • public clang::CastKind PrepareScalarCast(clang::ExprResult & src, clang::QualType destType)
  • public void PrintContextStack()
  • public void PrintInstantiationStack()
  • public void PrintPragmaAttributeInstantiationPoint()
  • public void PrintStats() const
  • public bool ProcessAccessDeclAttributeList(clang::AccessSpecDecl * ASDecl, const clang::ParsedAttributesView & AttrList)
  • public void ProcessDeclAttributeDelayed(clang::Decl * D, const clang::ParsedAttributesView & AttrList)
  • public void ProcessDeclAttributeList(clang::Scope * S, clang::Decl * D, const clang::ParsedAttributesView & AttrList, const clang::Sema::ProcessDeclAttributeOptions & Options = clang::Sema::ProcessDeclAttributeOptions())
  • public void ProcessDeclAttributes(clang::Scope * S, clang::Decl * D, const clang::Declarator & PD)
  • public void ProcessPragmaWeak(clang::Scope * S, clang::Decl * D)
  • public void ProcessPropertyDecl(clang::ObjCPropertyDecl * property)
  • public void ProcessStmtAttributes(clang::Stmt * Stmt, const clang::ParsedAttributes & InAttrs, SmallVectorImpl<const clang::Attr *> & OutAttrs)
  • public clang::QualType ProduceCallSignatureHelp(clang::Expr * Fn, ArrayRef<clang::Expr *> Args, clang::SourceLocation OpenParLoc)
  • public clang::QualType ProduceConstructorSignatureHelp(clang::QualType Type, clang::SourceLocation Loc, ArrayRef<clang::Expr *> Args, clang::SourceLocation OpenParLoc, bool Braced)
  • public clang::QualType ProduceCtorInitMemberSignatureHelp(clang::Decl * ConstructorDecl, clang::CXXScopeSpec SS, clang::ParsedType TemplateTypeTy, ArrayRef<clang::Expr *> ArgExprs, clang::IdentifierInfo * II, clang::SourceLocation OpenParLoc, bool Braced)
  • public clang::QualType ProduceTemplateArgumentSignatureHelp(clang::Sema::TemplateTy, ArrayRef<clang::ParsedTemplateArgument>, clang::SourceLocation LAngleLoc)
  • public void PushBlockScope(clang::Scope * BlockScope, clang::BlockDecl * Block)
  • public void PushCapturedRegionScope(clang::Scope * RegionScope, clang::CapturedDecl * CD, clang::RecordDecl * RD, clang::CapturedRegionKind K, unsigned int OpenMPCaptureLevel = 0)
  • public void PushCompoundScope(bool IsStmtExpr)
  • public void PushDeclContext(clang::Scope * S, clang::DeclContext * DC)
  • public void PushExpressionEvaluationContext(clang::Sema::ExpressionEvaluationContext NewContext, clang::Decl * LambdaContextDecl = nullptr, ExpressionEvaluationContextRecord::ExpressionKind Type = ExpressionEvaluationContextRecord::EK_Other)
  • public void PushExpressionEvaluationContext(clang::Sema::ExpressionEvaluationContext NewContext, clang::Sema::ReuseLambdaContextDecl_t, ExpressionEvaluationContextRecord::ExpressionKind Type = ExpressionEvaluationContextRecord::EK_Other)
  • public void PushForceCUDAHostDevice()
  • public void PushFunctionScope()
  • private clang::Module * PushGlobalModuleFragment(clang::SourceLocation BeginLoc, bool IsImplicit)
  • public sema::LambdaScopeInfo * PushLambdaScope()
  • public void PushNamespaceVisibilityAttr(const clang::VisibilityAttr * Attr, clang::SourceLocation Loc)
  • public void PushOnScopeChains(clang::NamedDecl * D, clang::Scope * S, bool AddToContext = true)
  • public clang::Sema::ParsingClassState PushParsingClass()
  • public clang::Sema::ParsingDeclState PushParsingDeclaration(sema::DelayedDiagnosticPool & pool)
  • public void PushUsingDirective(clang::Scope * S, clang::UsingDirectiveDecl * UDir)
  • public void ReadMethodPool(clang::Selector Sel)
  • public clang::ExprResult RebuildExprInCurrentInstantiation(clang::Expr * E)
  • public bool RebuildNestedNameSpecifierInCurrentInstantiation(clang::CXXScopeSpec & SS)
  • public bool RebuildTemplateParamsInCurrentInstantiation(clang::TemplateParameterList * Params)
  • public clang::TypeSourceInfo * RebuildTypeInCurrentInstantiation(clang::TypeSourceInfo * T, clang::SourceLocation Loc, clang::DeclarationName Name)
  • public void RecordParsingTemplateParameterDepth(unsigned int Depth)
  • public void RefersToMemberWithReducedAlignment(clang::Expr * E, llvm::function_ref<void (Expr *, RecordDecl *, FieldDecl *, CharUnits)> Action)
  • public void RegisterLocallyScopedExternCDecl(clang::NamedDecl * ND, clang::Scope * S)
  • public void RegisterTypeTagForDatatype(const clang::IdentifierInfo * ArgumentKind, uint64_t MagicValue, clang::QualType Type, bool LayoutCompatible, bool MustBeNull)
  • public clang::QualType ReplaceAutoType(clang::QualType TypeWithAuto, clang::QualType Replacement)
  • public clang::TypeSourceInfo * ReplaceAutoTypeSourceInfo(clang::TypeSourceInfo * TypeWithAuto, clang::QualType Replacement)
  • public bool RequireCompleteDeclContext(clang::CXXScopeSpec & SS, clang::DeclContext * DC)
  • public bool RequireCompleteEnumDecl(clang::EnumDecl * D, clang::SourceLocation L, clang::CXXScopeSpec * SS = nullptr)
  • public bool RequireCompleteExprType(clang::Expr * E, clang::Sema::CompleteTypeKind Kind, clang::Sema::TypeDiagnoser & Diagnoser)
  • public bool RequireCompleteExprType(clang::Expr * E, unsigned int DiagID)
  • public template <typename... Ts>bool RequireCompleteExprType(clang::Expr * E, unsigned int DiagID, const Ts &... Args)
  • public template <typename... Ts>bool RequireCompleteSizedExprType(clang::Expr * E, unsigned int DiagID, const Ts &... Args)
  • public template <typename... Ts>bool RequireCompleteSizedType(clang::SourceLocation Loc, clang::QualType T, unsigned int DiagID, const Ts &... Args)
  • public bool RequireCompleteType(clang::SourceLocation Loc, clang::QualType T, unsigned int DiagID)
  • public bool RequireCompleteType(clang::SourceLocation Loc, clang::QualType T, clang::Sema::TypeDiagnoser & Diagnoser)
  • public bool RequireCompleteType(clang::SourceLocation Loc, clang::QualType T, clang::Sema::CompleteTypeKind Kind, unsigned int DiagID)
  • public bool RequireCompleteType(clang::SourceLocation Loc, clang::QualType T, clang::Sema::CompleteTypeKind Kind, clang::Sema::TypeDiagnoser & Diagnoser)
  • public template <typename... Ts>bool RequireCompleteType(clang::SourceLocation Loc, clang::QualType T, unsigned int DiagID, const Ts &... Args)
  • private bool RequireCompleteTypeImpl(clang::SourceLocation Loc, clang::QualType T, clang::Sema::CompleteTypeKind Kind, clang::Sema::TypeDiagnoser * Diagnoser)
  • public bool RequireLiteralType(clang::SourceLocation Loc, clang::QualType T, unsigned int DiagID)
  • public bool RequireLiteralType(clang::SourceLocation Loc, clang::QualType T, clang::Sema::TypeDiagnoser & Diagnoser)
  • public template <typename... Ts>bool RequireLiteralType(clang::SourceLocation Loc, clang::QualType T, unsigned int DiagID, const Ts &... Args)
  • public template <typename... Ts>bool RequireNonAbstractType(clang::SourceLocation Loc, clang::QualType T, unsigned int DiagID, const Ts &... Args)
  • public bool RequireNonAbstractType(clang::SourceLocation Loc, clang::QualType T, clang::Sema::TypeDiagnoser & Diagnoser)
  • public bool RequireStructuralType(clang::QualType T, clang::SourceLocation Loc)
  • public clang::FunctionDecl * ResolveAddressOfOverloadedFunction(clang::Expr * AddressOfExpr, clang::QualType TargetType, bool Complain, clang::DeclAccessPair & Found, bool * pHadMultipleCandidates = nullptr)
  • public bool ResolveAndFixSingleFunctionTemplateSpecialization(clang::ExprResult & SrcExpr, bool DoFunctionPointerConverion = false, bool Complain = false, clang::SourceRange OpRangeForComplaining = clang::SourceRange(), clang::QualType DestTypeForComplaining = clang::QualType(), unsigned int DiagIDForComplaining = 0)
  • public const clang::FunctionProtoType * ResolveExceptionSpec(clang::SourceLocation Loc, const clang::FunctionProtoType * FPT)
  • public clang::FunctionDecl * ResolveSingleFunctionTemplateSpecialization(clang::OverloadExpr * ovl, bool Complain = false, clang::DeclAccessPair * Found = nullptr)
  • public void RestoreNestedNameSpecifierAnnotation(void * Annotation, clang::SourceRange AnnotationRange, clang::CXXScopeSpec & SS)
  • public clang::Sema::SemaDiagnosticBuilder SYCLDiagIfDeviceCode(clang::SourceLocation Loc, unsigned int DiagID)
  • public void * SaveNestedNameSpecifierAnnotation(clang::CXXScopeSpec & SS)
  • public static clang::CastKind ScalarTypeToBooleanCastKind(clang::QualType ScalarTy)
  • private clang::ObjCMethodDecl * SelectBestMethod(clang::Selector Sel, clang::MultiExprArg Args, bool IsInstance, SmallVectorImpl<clang::ObjCMethodDecl *> & Methods)
  • public const clang::ObjCMethodDecl * SelectorsForTypoCorrection(clang::Selector Sel, clang::QualType ObjectType = clang::QualType())
  • private Sema(const clang::Sema &)
  • public Sema(clang::Preprocessor & pp, clang::ASTContext & ctxt, clang::ASTConsumer & consumer, clang::TranslationUnitKind TUKind = TU_Complete, clang::CodeCompleteConsumer * CompletionConsumer = nullptr)
  • private clang::ExprResult SemaAtomicOpsOverloaded(clang::ExprResult TheCallResult, AtomicExpr::AtomicOp Op)
  • private bool SemaBuiltinARMMemoryTaggingCall(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool SemaBuiltinARMSpecialReg(unsigned int BuiltinID, clang::CallExpr * TheCall, int ArgNum, unsigned int ExpectedFieldNum, bool AllowName)
  • private bool SemaBuiltinAllocaWithAlign(clang::CallExpr * TheCall)
  • private bool SemaBuiltinArithmeticFence(clang::CallExpr * TheCall)
  • private bool SemaBuiltinAssume(clang::CallExpr * TheCall)
  • private bool SemaBuiltinAssumeAligned(clang::CallExpr * TheCall)
  • private clang::ExprResult SemaBuiltinAtomicOverloaded(clang::ExprResult TheCallResult)
  • private bool SemaBuiltinComplex(clang::CallExpr * TheCall)
  • private bool SemaBuiltinConstantArg(clang::CallExpr * TheCall, int ArgNum, llvm::APSInt & Result)
  • private bool SemaBuiltinConstantArgMultiple(clang::CallExpr * TheCall, int ArgNum, unsigned int Multiple)
  • private bool SemaBuiltinConstantArgPower2(clang::CallExpr * TheCall, int ArgNum)
  • private bool SemaBuiltinConstantArgRange(clang::CallExpr * TheCall, int ArgNum, int Low, int High, bool RangeIsError = true)
  • private bool SemaBuiltinConstantArgShiftedByte(clang::CallExpr * TheCall, int ArgNum, unsigned int ArgBits)
  • private bool SemaBuiltinConstantArgShiftedByteOrXXFF(clang::CallExpr * TheCall, int ArgNum, unsigned int ArgBits)
  • private bool SemaBuiltinElementwiseMath(clang::CallExpr * TheCall)
  • private bool SemaBuiltinFPClassification(clang::CallExpr * TheCall, unsigned int NumArgs)
  • private bool SemaBuiltinLongjmp(clang::CallExpr * TheCall)
  • private clang::ExprResult SemaBuiltinMatrixColumnMajorLoad(clang::CallExpr * TheCall, clang::ExprResult CallResult)
  • private clang::ExprResult SemaBuiltinMatrixColumnMajorStore(clang::CallExpr * TheCall, clang::ExprResult CallResult)
  • private clang::ExprResult SemaBuiltinMatrixTranspose(clang::CallExpr * TheCall, clang::ExprResult CallResult)
  • private clang::ExprResult SemaBuiltinNontemporalOverloaded(clang::ExprResult TheCallResult)
  • private bool SemaBuiltinOSLogFormat(clang::CallExpr * TheCall)
  • private clang::ExprResult SemaBuiltinOperatorNewDeleteOverloaded(clang::ExprResult TheCallResult, bool IsDelete)
  • private bool SemaBuiltinPPCMMACall(clang::CallExpr * TheCall, unsigned int BuiltinID, const char * TypeDesc)
  • private bool SemaBuiltinPrefetch(clang::CallExpr * TheCall)
  • private bool SemaBuiltinSetjmp(clang::CallExpr * TheCall)
  • public clang::ExprResult SemaBuiltinShuffleVector(clang::CallExpr * TheCall)
  • private bool SemaBuiltinUnorderedCompare(clang::CallExpr * TheCall)
  • private bool SemaBuiltinVAStart(unsigned int BuiltinID, clang::CallExpr * TheCall)
  • private bool SemaBuiltinVAStartARMMicrosoft(clang::CallExpr * Call)
  • private bool SemaBuiltinVSX(clang::CallExpr * TheCall)
  • public clang::ExprResult SemaConvertVectorExpr(clang::Expr * E, clang::TypeSourceInfo * TInfo, clang::SourceLocation BuiltinLoc, clang::SourceLocation RParenLoc)
  • private bool SemaValueIsRunOfOnes(clang::CallExpr * TheCall, unsigned int ArgNum)
  • public bool SetCtorInitializers(clang::CXXConstructorDecl * Constructor, bool AnyErrors, ArrayRef<clang::CXXCtorInitializer *> Initializers = None)
  • public void SetDeclDefaulted(clang::Decl * dcl, clang::SourceLocation DefaultLoc)
  • public void SetDeclDeleted(clang::Decl * dcl, clang::SourceLocation DelLoc)
  • public bool SetDelegatingInitializer(clang::CXXConstructorDecl * Constructor, clang::CXXCtorInitializer * Initializer)
  • public void SetFunctionBodyKind(clang::Decl * D, clang::SourceLocation Loc, clang::Sema::FnBodyKind BodyKind)
  • public void SetIvarInitializers(clang::ObjCImplementationDecl * ObjCImplementation)
  • public void SetLateTemplateParser(clang::Sema::LateTemplateParserCB * LTP, clang::Sema::LateTemplateParserCleanupCB * LTPCleanup, void * P)
  • public bool SetMemberAccessSpecifier(clang::NamedDecl * MemberDecl, clang::NamedDecl * PrevMemberDecl, clang::AccessSpecifier LexicalAS)
  • public void SetParamDefaultArgument(clang::ParmVarDecl * Param, clang::Expr * DefaultArg, clang::SourceLocation EqualLoc)
  • public bool ShouldDeleteSpecialMember(clang::CXXMethodDecl * MD, clang::Sema::CXXSpecialMember CSM, clang::Sema::InheritedConstructorInfo * ICI = nullptr, bool Diagnose = false)
  • public bool ShouldEnterDeclaratorScope(clang::Scope * S, const clang::CXXScopeSpec & SS)
  • public bool ShouldSplatAltivecScalarInCast(const clang::VectorType * VecTy)
  • public bool ShouldWarnIfUnusedFileScopedDecl(const clang::DeclaratorDecl * D) const
  • public bool SpecialMemberIsTrivial(clang::CXXMethodDecl * MD, clang::Sema::CXXSpecialMember CSM, clang::Sema::TrivialABIHandling TAH = TAH_IgnoreTrivialABI, bool Diagnose = false)
  • public void StartOpenMPClause(clang::OpenMPClauseKind K)
  • public void StartOpenMPDSABlock(clang::OpenMPDirectiveKind K, const clang::DeclarationNameInfo & DirName, clang::Scope * CurScope, clang::SourceLocation Loc)
  • public clang::QualType SubstAutoType(clang::QualType TypeWithAuto, clang::QualType Replacement)
  • public clang::QualType SubstAutoTypeDependent(clang::QualType TypeWithAuto)
  • public clang::TypeSourceInfo * SubstAutoTypeSourceInfo(clang::TypeSourceInfo * TypeWithAuto, clang::QualType Replacement)
  • public clang::TypeSourceInfo * SubstAutoTypeSourceInfoDependent(clang::TypeSourceInfo * TypeWithAuto)
  • public bool SubstBaseSpecifiers(clang::CXXRecordDecl * Instantiation, clang::CXXRecordDecl * Pattern, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::Decl * SubstDecl(clang::Decl * D, clang::DeclContext * Owner, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::DeclarationNameInfo SubstDeclarationNameInfo(const clang::DeclarationNameInfo & NameInfo, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::TemplateArgumentLoc SubstDefaultTemplateArgumentIfAvailable(clang::TemplateDecl * Template, clang::SourceLocation TemplateLoc, clang::SourceLocation RAngleLoc, clang::Decl * Param, SmallVectorImpl<clang::TemplateArgument> & Converted, bool & HasDefaultArg)
  • public bool SubstExceptionSpec(clang::SourceLocation Loc, FunctionProtoType::ExceptionSpecInfo & ESI, SmallVectorImpl<clang::QualType> & ExceptionStorage, const clang::MultiLevelTemplateArgumentList & Args)
  • public void SubstExceptionSpec(clang::FunctionDecl * New, const clang::FunctionProtoType * Proto, const clang::MultiLevelTemplateArgumentList & Args)
  • public clang::ExprResult SubstExpr(clang::Expr * E, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public bool SubstExprs(ArrayRef<clang::Expr *> Exprs, bool IsCall, const clang::MultiLevelTemplateArgumentList & TemplateArgs, SmallVectorImpl<clang::Expr *> & Outputs)
  • public clang::TypeSourceInfo * SubstFunctionDeclType(clang::TypeSourceInfo * T, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::SourceLocation Loc, clang::DeclarationName Entity, clang::CXXRecordDecl * ThisContext, clang::Qualifiers ThisTypeQuals)
  • public clang::ExprResult SubstInitializer(clang::Expr * E, const clang::MultiLevelTemplateArgumentList & TemplateArgs, bool CXXDirectInit)
  • public clang::NestedNameSpecifierLoc SubstNestedNameSpecifierLoc(clang::NestedNameSpecifierLoc NNS, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public bool SubstParmTypes(clang::SourceLocation Loc, ArrayRef<clang::ParmVarDecl *> Params, const FunctionProtoType::ExtParameterInfo * ExtParamInfos, const clang::MultiLevelTemplateArgumentList & TemplateArgs, SmallVectorImpl<clang::QualType> & ParamTypes, SmallVectorImpl<clang::ParmVarDecl *> * OutParams, clang::Sema::ExtParameterInfoBuilder & ParamInfos)
  • public clang::ParmVarDecl * SubstParmVarDecl(clang::ParmVarDecl * D, const clang::MultiLevelTemplateArgumentList & TemplateArgs, int indexAdjustment, Optional<unsigned int> NumExpansions, bool ExpectParameterPack)
  • public clang::FunctionDecl * SubstSpaceshipAsEqualEqual(clang::CXXRecordDecl * RD, clang::FunctionDecl * Spaceship)
  • public clang::StmtResult SubstStmt(clang::Stmt * S, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public bool SubstTemplateArguments(ArrayRef<clang::TemplateArgumentLoc> Args, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::TemplateArgumentListInfo & Outputs)
  • public clang::TemplateName SubstTemplateName(clang::NestedNameSpecifierLoc QualifierLoc, clang::TemplateName Name, clang::SourceLocation Loc, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::TemplateParameterList * SubstTemplateParams(clang::TemplateParameterList * Params, clang::DeclContext * Owner, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::TypeSourceInfo * SubstType(clang::TypeSourceInfo * T, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::SourceLocation Loc, clang::DeclarationName Entity, bool AllowDeducedTST = false)
  • public clang::QualType SubstType(clang::QualType T, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::SourceLocation Loc, clang::DeclarationName Entity)
  • public clang::TypeSourceInfo * SubstType(clang::TypeLoc TL, const clang::MultiLevelTemplateArgumentList & TemplateArgs, clang::SourceLocation Loc, clang::DeclarationName Entity)
  • public bool SubstTypeConstraint(clang::TemplateTypeParmDecl * Inst, const clang::TypeConstraint * TC, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public clang::Sema::TemplateDeductionResult SubstituteExplicitTemplateArguments(clang::FunctionTemplateDecl * FunctionTemplate, clang::TemplateArgumentListInfo & ExplicitTemplateArgs, SmallVectorImpl<clang::DeducedTemplateArgument> & Deduced, SmallVectorImpl<clang::QualType> & ParamTypes, clang::QualType * FunctionType, sema::TemplateDeductionInfo & Info)
  • public bool TemplateParameterListsAreEqual(clang::TemplateParameterList * New, clang::TemplateParameterList * Old, bool Complain, clang::Sema::TemplateParameterListEqualKind Kind, clang::SourceLocation TemplateArgLoc = clang::SourceLocation())
  • public clang::ExprResult TemporaryMaterializationConversion(clang::Expr * E)
  • public static bool TooManyArguments(size_t NumParams, size_t NumArgs, bool PartialOverloading = false)
  • public clang::TypeSourceInfo * TransformToPotentiallyEvaluated(clang::TypeSourceInfo * TInfo)
  • public clang::ExprResult TransformToPotentiallyEvaluated(clang::Expr * E)
  • public clang::ImplicitConversionSequence TryImplicitConversion(clang::Expr * From, clang::QualType ToType, bool SuppressUserConversions, clang::Sema::AllowedExplicit AllowExplicit, bool InOverloadResolution, bool CStyle, bool AllowObjCWritebackConversion)
  • public bool UnifySection(llvm::StringRef SectionName, int SectionFlags, clang::NamedDecl * TheDecl)
  • public bool UnifySection(llvm::StringRef SectionName, int SectionFlags, clang::SourceLocation PragmaSectionLocation)
  • public void UnmarkAsLateParsedTemplate(clang::FunctionDecl * FD)
  • public void UpdateExceptionSpec(clang::FunctionDecl * FD, const FunctionProtoType::ExceptionSpecInfo & ESI)
  • public bool UseArgumentDependentLookup(const clang::CXXScopeSpec & SS, const clang::LookupResult & R, bool HasTrailingLParen)
  • public clang::QualType UsualArithmeticConversions(clang::ExprResult & LHS, clang::ExprResult & RHS, clang::SourceLocation Loc, clang::Sema::ArithConvKind ACK)
  • public clang::ExprResult UsualUnaryConversions(clang::Expr * E)
  • public clang::ExprResult VerifyBitField(clang::SourceLocation FieldLoc, clang::IdentifierInfo * FieldName, clang::QualType FieldTy, bool IsMsStruct, clang::Expr * BitWidth)
  • public clang::ExprResult VerifyIntegerConstantExpression(clang::Expr * E, llvm::APSInt * Result, unsigned int DiagID, clang::Sema::AllowFoldKind CanFold = NoFold)
  • public clang::ExprResult VerifyIntegerConstantExpression(clang::Expr * E, llvm::APSInt * Result, clang::Sema::VerifyICEDiagnoser & Diagnoser, clang::Sema::AllowFoldKind CanFold = NoFold)
  • public clang::ExprResult VerifyIntegerConstantExpression(clang::Expr * E, clang::Sema::AllowFoldKind CanFold = NoFold)
  • public clang::ExprResult VerifyIntegerConstantExpression(clang::Expr * E, llvm::APSInt * Result = nullptr, clang::Sema::AllowFoldKind CanFold = NoFold)
  • private clang::ExprResult VerifyPositiveIntegerConstantInClause(clang::Expr * Op, clang::OpenMPClauseKind CKind, bool StrictlyPositive = true, bool SuppressExprDiags = false)
  • public void WarnConflictingTypedMethods(clang::ObjCMethodDecl * Method, clang::ObjCMethodDecl * MethodDecl, bool IsProtocolMethodDecl)
  • public void WarnExactTypedMethods(clang::ObjCMethodDecl * Method, clang::ObjCMethodDecl * MethodDecl, bool IsProtocolMethodDecl)
  • public void WarnOnPendingNoDerefs(clang::Sema::ExpressionEvaluationContextRecord & Rec)
  • public SmallVectorImpl<clang::Decl *> & WeakTopLevelDecls()
  • public void actOnDelayedExceptionSpecification(clang::Decl * Method, clang::ExceptionSpecificationType EST, clang::SourceRange SpecificationRange, ArrayRef<clang::ParsedType> DynamicExceptions, ArrayRef<clang::SourceRange> DynamicExceptionRanges, clang::Expr * NoexceptExpr)
  • public clang::ParsedType actOnLambdaInitCaptureInitialization(clang::SourceLocation Loc, bool ByRef, clang::SourceLocation EllipsisLoc, clang::IdentifierInfo * Id, clang::LambdaCaptureInitKind InitKind, clang::Expr *& Init)
  • public clang::TypeResult actOnObjCProtocolQualifierType(clang::SourceLocation lAngleLoc, ArrayRef<clang::Decl *> protocols, ArrayRef<clang::SourceLocation> protocolLocs, clang::SourceLocation rAngleLoc)
  • public clang::TypeResult actOnObjCTypeArgsAndProtocolQualifiers(clang::Scope * S, clang::SourceLocation Loc, clang::ParsedType BaseType, clang::SourceLocation TypeArgsLAngleLoc, ArrayRef<clang::ParsedType> TypeArgs, clang::SourceLocation TypeArgsRAngleLoc, clang::SourceLocation ProtocolLAngleLoc, ArrayRef<clang::Decl *> Protocols, ArrayRef<clang::SourceLocation> ProtocolLocs, clang::SourceLocation ProtocolRAngleLoc)
  • public void actOnObjCTypeArgsOrProtocolQualifiers(clang::Scope * S, clang::ParsedType baseType, clang::SourceLocation lAngleLoc, ArrayRef<clang::IdentifierInfo *> identifiers, ArrayRef<clang::SourceLocation> identifierLocs, clang::SourceLocation rAngleLoc, clang::SourceLocation & typeArgsLAngleLoc, SmallVectorImpl<clang::ParsedType> & typeArgs, clang::SourceLocation & typeArgsRAngleLoc, clang::SourceLocation & protocolLAngleLoc, SmallVectorImpl<clang::Decl *> & protocols, clang::SourceLocation & protocolRAngleLoc, bool warnOnIncompleteProtocols)
  • public clang::DeclResult actOnObjCTypeParam(clang::Scope * S, clang::ObjCTypeParamVariance variance, clang::SourceLocation varianceLoc, unsigned int index, clang::IdentifierInfo * paramName, clang::SourceLocation paramLoc, clang::SourceLocation colonLoc, clang::ParsedType typeBound)
  • public clang::ObjCTypeParamList * actOnObjCTypeParamList(clang::Scope * S, clang::SourceLocation lAngleLoc, ArrayRef<clang::Decl *> typeParams, clang::SourceLocation rAngleLoc)
  • public void addAMDGPUFlatWorkGroupSizeAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::Expr * Min, clang::Expr * Max)
  • public void addAMDGPUWavesPerEUAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::Expr * Min, clang::Expr * Max)
  • public void addExternalSource(clang::ExternalSemaSource * E)
  • public void addImplicitTypedef(llvm::StringRef Name, clang::QualType T)
  • public void addInitCapture(sema::LambdaScopeInfo * LSI, clang::VarDecl * Var)
  • private bool addInstantiatedParametersToScope(clang::FunctionDecl * Function, const clang::FunctionDecl * PatternDecl, clang::LocalInstantiationScope & Scope, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • public void addLambdaParameters(ArrayRef<LambdaIntroducer::LambdaCapture> Captures, clang::CXXMethodDecl * CallOperator, clang::Scope * CurScope)
  • public void addMethodToGlobalList(clang::ObjCMethodList * List, clang::ObjCMethodDecl * Method)
  • public clang::QualType adjustCCAndNoReturn(clang::QualType ArgFunctionType, clang::QualType FunctionType, bool AdjustExceptionSpec = false)
  • public static bool adjustContextForLocalExternDecl(clang::DeclContext *& DC)
  • public void adjustMemberFunctionCC(clang::QualType & T, bool IsStatic, bool IsCtorOrDtor, clang::SourceLocation Loc)
  • private void adjustOpenMPTargetScopeIndex(unsigned int & FunctionScopesIndex, unsigned int Level) const
  • public virtual void anchor()
  • public bool anyAltivecTypes(clang::QualType srcType, clang::QualType destType)
  • public bool areLaxCompatibleVectorTypes(clang::QualType srcType, clang::QualType destType)
  • public bool areMatrixTypesOfTheSameDimension(clang::QualType srcTy, clang::QualType destTy)
  • public bool areMultiversionVariantFunctionsCompatible(const clang::FunctionDecl * OldFD, const clang::FunctionDecl * NewFD, const clang::PartialDiagnostic & NoProtoDiagID, const clang::PartialDiagnosticAt & NoteCausedDiagIDAt, const clang::PartialDiagnosticAt & NoSupportDiagIDAt, const clang::PartialDiagnosticAt & DiffDiagIDAt, bool TemplatesSupported, bool ConstexprSupported, bool CLinkageMayDiffer)
  • public bool areSameVectorElemTypes(clang::QualType srcType, clang::QualType destType)
  • public bool areVectorTypesSameSize(clang::QualType srcType, clang::QualType destType)
  • public bool buildCoroutineParameterMoves(clang::SourceLocation Loc)
  • public clang::VarDecl * buildCoroutinePromise(clang::SourceLocation Loc)
  • public clang::QualType buildLambdaInitCaptureInitialization(clang::SourceLocation Loc, bool ByRef, clang::SourceLocation EllipsisLoc, Optional<unsigned int> NumExpansions, clang::IdentifierInfo * Id, bool DirectInit, clang::Expr *& Init)
  • public void buildLambdaScope(sema::LambdaScopeInfo * LSI, clang::CXXMethodDecl * CallOperator, clang::SourceRange IntroducerRange, clang::LambdaCaptureDefault CaptureDefault, clang::SourceLocation CaptureDefaultLoc, bool ExplicitParams, bool ExplicitResultType, bool Mutable)
  • public bool buildOverloadedCallSet(clang::Scope * S, clang::Expr * Fn, clang::UnresolvedLookupExpr * ULE, clang::MultiExprArg Args, clang::SourceLocation RParenLoc, clang::OverloadCandidateSet * CandidateSet, clang::ExprResult * Result)
  • public static clang::CanThrowResult canCalleeThrow(clang::Sema & S, const clang::Expr * E, const clang::Decl * D, clang::SourceLocation Loc = clang::SourceLocation())
  • public bool canDelayFunctionBody(const clang::Declarator & D)
  • public bool canFullyTypeCheckRedeclaration(clang::ValueDecl * NewD, clang::ValueDecl * OldD, clang::QualType NewT, clang::QualType OldT)
  • public bool canSkipFunctionBody(clang::Decl * D)
  • public clang::CanThrowResult canThrow(const clang::Stmt * E)
  • private void checkAIXMemberAlignment(clang::SourceLocation Loc, const clang::Expr * Arg)
  • public bool checkAddressOfFunctionIsAvailable(const clang::FunctionDecl * Function, bool Complain = false, clang::SourceLocation Loc = clang::SourceLocation())
  • public void checkAllowedCUDAInitializer(clang::VarDecl * VD)
  • public bool checkAndRewriteMustTailAttr(clang::Stmt * St, const clang::Attr & MTA)
  • public void checkCUDATargetOverload(clang::FunctionDecl * NewFD, const clang::LookupResult & Previous)
  • private void checkCall(clang::NamedDecl * FDecl, const clang::FunctionProtoType * Proto, const clang::Expr * ThisArg, ArrayRef<const clang::Expr *> Args, bool IsMemberFunction, clang::SourceLocation Loc, clang::SourceRange Range, clang::Sema::VariadicCallType CallType)
  • public void checkClassLevelCodeSegAttribute(clang::CXXRecordDecl * Class)
  • public void checkClassLevelDLLAttribute(clang::CXXRecordDecl * Class)
  • public bool checkCommonAttributeFeatures(const clang::Stmt * S, const clang::ParsedAttr & A, bool SkipArgCountCheck = false)
  • public bool checkCommonAttributeFeatures(const clang::Decl * D, const clang::ParsedAttr & A, bool SkipArgCountCheck = false)
  • public void checkDeclIsAllowedInOpenMPTarget(clang::Expr * E, clang::Decl * D, clang::SourceLocation IdLoc = clang::SourceLocation())
  • public void checkExceptionSpecification(bool IsTopLevel, clang::ExceptionSpecificationType EST, ArrayRef<clang::ParsedType> DynamicExceptions, ArrayRef<clang::SourceRange> DynamicExceptionRanges, clang::Expr * NoexceptExpr, SmallVectorImpl<clang::QualType> & Exceptions, FunctionProtoType::ExceptionSpecInfo & ESI)
  • public bool checkFinalSuspendNoThrow(const clang::Stmt * FinalSuspend)
  • private void checkFortifiedBuiltinMemoryFunction(clang::FunctionDecl * FD, clang::CallExpr * TheCall)
  • public void checkIllFormedTrivialABIStruct(clang::CXXRecordDecl & RD)
  • public bool checkInitMethod(clang::ObjCMethodDecl * method, clang::QualType receiverTypeIfCall)
  • public void checkInitializerLifetime(const clang::InitializedEntity & Entity, clang::Expr * Init)
  • public bool checkLiteralOperatorId(const clang::CXXScopeSpec & SS, const clang::UnqualifiedId & Id, bool IsUDSuffix)
  • public bool checkMSInheritanceAttrOnDefinition(clang::CXXRecordDecl * RD, clang::SourceRange Range, bool BestCase, clang::MSInheritanceModel SemanticSpelling)
  • private bool checkMustTailAttr(const clang::Stmt * St, const clang::Attr & MTA)
  • public bool checkNSReturnsRetainedReturnType(clang::SourceLocation loc, clang::QualType type)
  • public void checkNonTrivialCUnion(clang::QualType QT, clang::SourceLocation Loc, clang::Sema::NonTrivialCUnionContext UseContext, unsigned int NonTrivialKind)
  • public void checkNonTrivialCUnionInInitializer(const clang::Expr * Init, clang::SourceLocation Loc)
  • public bool checkObjCBridgeRelatedComponents(clang::SourceLocation Loc, clang::QualType DestType, clang::QualType SrcType, clang::ObjCInterfaceDecl *& RelatedClass, clang::ObjCMethodDecl *& ClassMethod, clang::ObjCMethodDecl *& InstanceMethod, clang::TypedefNameDecl *& TDNDecl, bool CfToNs, bool Diagnose = true)
  • public Optional<std::pair<FunctionDecl *, Expr *>> checkOpenMPDeclareVariantFunction(clang::Sema::DeclGroupPtrTy DG, clang::Expr * VariantRef, clang::OMPTraitInfo & TI, unsigned int NumAppendArgs, clang::SourceRange SR)
  • public clang::ExprResult checkPseudoObjectAssignment(clang::Scope * S, clang::SourceLocation OpLoc, clang::BinaryOperatorKind Opcode, clang::Expr * LHS, clang::Expr * RHS)
  • public clang::ExprResult checkPseudoObjectIncDec(clang::Scope * S, clang::SourceLocation OpLoc, clang::UnaryOperatorKind Opcode, clang::Expr * Op)
  • public clang::ExprResult checkPseudoObjectRValue(clang::Expr * E)
  • public void checkRetainCycles(clang::ObjCMessageExpr * msg)
  • public void checkRetainCycles(clang::VarDecl * Var, clang::Expr * Init)
  • public void checkRetainCycles(clang::Expr * receiver, clang::Expr * argument)
  • public bool checkSYCLDeviceFunction(clang::SourceLocation Loc, clang::FunctionDecl * Callee)
  • public bool checkSectionName(clang::SourceLocation LiteralLoc, llvm::StringRef Str)
  • public void checkSpecializationReachability(clang::SourceLocation Loc, clang::NamedDecl * Spec)
  • public void checkSpecializationVisibility(clang::SourceLocation Loc, clang::NamedDecl * Spec)
  • public bool checkStringLiteralArgumentAttr(const clang::ParsedAttr & Attr, unsigned int ArgNum, llvm::StringRef & Str, clang::SourceLocation * ArgLocation = nullptr)
  • public bool checkStringLiteralArgumentAttr(const clang::AttributeCommonInfo & CI, const clang::Expr * E, llvm::StringRef & Str, clang::SourceLocation * ArgLocation = nullptr)
  • public bool checkTargetAttr(clang::SourceLocation LiteralLoc, llvm::StringRef Str)
  • public bool checkTargetClonesAttrString(clang::SourceLocation LiteralLoc, llvm::StringRef Str, const clang::StringLiteral * Literal, bool & HasDefault, bool & HasCommas, SmallVectorImpl<llvm::StringRef> & Strings)
  • public bool checkThisInStaticMemberFunctionAttributes(clang::CXXMethodDecl * Method)
  • public bool checkThisInStaticMemberFunctionExceptionSpec(clang::CXXMethodDecl * Method)
  • public bool checkThisInStaticMemberFunctionType(clang::CXXMethodDecl * Method)
  • private bool checkTransformableLoopNest(clang::OpenMPDirectiveKind Kind, clang::Stmt * AStmt, int NumLoops, SmallVectorImpl<OMPLoopBasedDirective::HelperExprs> & LoopHelpers, clang::Stmt *& Body, SmallVectorImpl<SmallVector<llvm::PointerUnion<Stmt *, Decl *>, 0>> & OriginalInits)
  • public void checkTypeSupport(clang::QualType Ty, clang::SourceLocation Loc, clang::ValueDecl * D = nullptr)
  • public clang::ExprResult checkUnknownAnyArg(clang::SourceLocation callLoc, clang::Expr * result, clang::QualType & paramType)
  • public clang::ExprResult checkUnknownAnyCast(clang::SourceRange TypeRange, clang::QualType CastType, clang::Expr * CastExpr, clang::CastKind & CastKind, clang::ExprValueKind & VK, clang::CXXCastPath & Path)
  • public bool checkUnsafeAssigns(clang::SourceLocation Loc, clang::QualType LHS, clang::Expr * RHS)
  • public void checkUnsafeExprAssigns(clang::SourceLocation Loc, clang::Expr * LHS, clang::Expr * RHS)
  • public void checkUnusedDeclAttributes(clang::Declarator & D)
  • public bool checkVarDeclRedefinition(clang::VarDecl * OldDefn, clang::VarDecl * NewDefn)
  • public void checkVariadicArgument(const clang::Expr * E, clang::Sema::VariadicCallType CT)
  • public void clearDelayedTypo(clang::TypoExpr * TE)
  • public void collectUnexpandedParameterPacks(clang::QualType T, SmallVectorImpl<clang::UnexpandedParameterPack> & Unexpanded)
  • public void collectUnexpandedParameterPacks(clang::TypeLoc TL, SmallVectorImpl<clang::UnexpandedParameterPack> & Unexpanded)
  • public void collectUnexpandedParameterPacks(clang::TemplateArgumentLoc Arg, SmallVectorImpl<clang::UnexpandedParameterPack> & Unexpanded)
  • public void collectUnexpandedParameterPacks(const clang::DeclarationNameInfo & NameInfo, SmallVectorImpl<clang::UnexpandedParameterPack> & Unexpanded)
  • public void collectUnexpandedParameterPacks(clang::TemplateArgument Arg, SmallVectorImpl<clang::UnexpandedParameterPack> & Unexpanded)
  • public void collectUnexpandedParameterPacks(clang::NestedNameSpecifierLoc NNS, SmallVectorImpl<clang::UnexpandedParameterPack> & Unexpanded)
  • public void completeExprArrayBound(clang::Expr * E)
  • public clang::DeclContext * computeDeclContext(const clang::CXXScopeSpec & SS, bool EnteringContext = false)
  • public clang::DeclContext * computeDeclContext(clang::QualType T)
  • public void computeNRVO(clang::Stmt * Body, sema::FunctionScopeInfo * Scope)
  • public bool containsUnexpandedParameterPacks(clang::Declarator & D)
  • private clang::TypoExpr * createDelayedTypo(std::unique_ptr<TypoCorrectionConsumer> TCC, clang::Sema::TypoDiagnosticGenerator TDG, clang::Sema::TypoRecoveryCallback TRC, clang::SourceLocation TypoLoc)
  • public void createImplicitModuleImportForErrorRecovery(clang::SourceLocation Loc, clang::Module * Mod)
  • public clang::CXXRecordDecl * createLambdaClosureType(clang::SourceRange IntroducerRange, clang::TypeSourceInfo * Info, unsigned int LambdaDependencyKind, clang::LambdaCaptureDefault CaptureDefault)
  • public clang::VarDecl * createLambdaInitCaptureVarDecl(clang::SourceLocation Loc, clang::QualType InitCaptureType, clang::SourceLocation EllipsisLoc, clang::IdentifierInfo * Id, unsigned int InitStyle, clang::Expr * Init)
  • public bool currentModuleIsInterface() const
  • public void deduceClosureReturnType(sema::CapturingScopeInfo & CSI)
  • public void deduceOpenCLAddressSpace(clang::ValueDecl * decl)
  • public clang::QualType deduceVarTypeFromInitializer(clang::VarDecl * VDecl, clang::DeclarationName Name, clang::QualType Type, clang::TypeSourceInfo * TSI, clang::SourceRange Range, bool DirectInit, clang::Expr * Init)
  • public void deepTypeCheckForSYCLDevice(clang::SourceLocation UsedAt, llvm::DenseSet<QualType> Visited, clang::ValueDecl * DeclToCheck)
  • public clang::Sema::SemaDiagnosticBuilder diagIfOpenMPDeviceCode(clang::SourceLocation Loc, unsigned int DiagID, clang::FunctionDecl * FD)
  • public clang::Sema::SemaDiagnosticBuilder diagIfOpenMPHostCode(clang::SourceLocation Loc, unsigned int DiagID, clang::FunctionDecl * FD)
  • public void diagnoseARCUnbridgedCast(clang::Expr * e)
  • public bool diagnoseArgDependentDiagnoseIfAttrs(const clang::FunctionDecl * Function, const clang::Expr * ThisArg, ArrayRef<const clang::Expr *> Args, clang::SourceLocation Loc)
  • public bool diagnoseArgIndependentDiagnoseIfAttrs(const clang::NamedDecl * ND, clang::SourceLocation Loc)
  • public void diagnoseEquivalentInternalLinkageDeclarations(clang::SourceLocation Loc, const clang::NamedDecl * D, ArrayRef<const clang::NamedDecl *> Equiv)
  • public void diagnoseExprIntendedAsTemplateName(clang::Scope * S, clang::ExprResult TemplateName, clang::SourceLocation Less, clang::SourceLocation Greater)
  • public void diagnoseIgnoredQualifiers(unsigned int DiagID, unsigned int Quals, clang::SourceLocation FallbackLoc, clang::SourceLocation ConstQualLoc = clang::SourceLocation(), clang::SourceLocation VolatileQualLoc = clang::SourceLocation(), clang::SourceLocation RestrictQualLoc = clang::SourceLocation(), clang::SourceLocation AtomicQualLoc = clang::SourceLocation(), clang::SourceLocation UnalignedQualLoc = clang::SourceLocation())
  • public void diagnoseMissingImport(clang::SourceLocation Loc, clang::NamedDecl * Decl, clang::Sema::MissingImportKind MIK, bool Recover = true)
  • public void diagnoseMissingImport(clang::SourceLocation Loc, clang::NamedDecl * Decl, clang::SourceLocation DeclLoc, ArrayRef<clang::Module *> Modules, clang::Sema::MissingImportKind MIK, bool Recover)
  • public void diagnoseMissingTemplateArguments(clang::TemplateName Name, clang::SourceLocation Loc)
  • public void diagnoseNullResettableSynthesizedSetters(const clang::ObjCImplDecl * impDecl)
  • public void diagnoseNullableToNonnullConversion(clang::QualType DstType, clang::QualType SrcType, clang::SourceLocation Loc)
  • public bool diagnoseQualifiedDeclaration(clang::CXXScopeSpec & SS, clang::DeclContext * DC, clang::DeclarationName Name, clang::SourceLocation Loc, bool IsTemplateId)
  • public void diagnoseTypo(const clang::TypoCorrection & Correction, const clang::PartialDiagnostic & TypoDiag, const clang::PartialDiagnostic & PrevNote, bool ErrorRecovery = true)
  • public void diagnoseTypo(const clang::TypoCorrection & Correction, const clang::PartialDiagnostic & TypoDiag, bool ErrorRecovery = true)
  • public void diagnoseUnavailableAlignedAllocation(const clang::FunctionDecl & FD, clang::SourceLocation Loc)
  • public void diagnoseZeroToNullptrConversion(clang::CastKind Kind, const clang::Expr * E)
  • public void emitAndClearUnusedLocalTypedefWarnings()
  • public void emitDeferredDiags()
  • public void finalizeOpenMPDelayedAnalysis(const clang::FunctionDecl * Caller, const clang::FunctionDecl * Callee, clang::SourceLocation Loc)
  • public std::pair<Expr *, std::string> findFailedBooleanCondition(clang::Expr * Cond)
  • public clang::CXXConstructorDecl * findInheritingConstructor(clang::SourceLocation Loc, clang::CXXConstructorDecl * BaseCtor, clang::ConstructorUsingShadowDecl * DerivedShadow)
  • public clang::NamedDecl * findLocallyScopedExternCDecl(clang::DeclarationName Name)
  • public bool findMacroSpelling(clang::SourceLocation & loc, llvm::StringRef name)
  • public void finishLambdaExplicitCaptures(sema::LambdaScopeInfo * LSI)
  • public clang::Sema::RedeclarationKind forRedeclarationInCurContext()
  • public clang::ExprResult forceUnknownAnyToType(clang::Expr * E, clang::QualType ToType)
  • public clang::ASTConsumer & getASTConsumer() const
  • public clang::ASTContext & getASTContext() const
  • public clang::ASTMutationListener * getASTMutationListener() const
  • public std::string getAmbiguousPathsDisplayString(clang::CXXBasePaths & Paths)
  • public static clang::NamedDecl * getAsTemplateNameDecl(clang::NamedDecl * D, bool AllowFunctionTemplates = true, bool AllowDependent = true)
  • public clang::NamespaceDecl * getCachedCoroNamespace()
  • public const clang::AttributedType * getCallingConvAttributedType(clang::QualType T) const
  • public clang::QualType getCapturedDeclRefType(clang::VarDecl * Var, clang::SourceLocation Loc)
  • public clang::QualType getCompletedType(clang::Expr * E)
  • public clang::ParsedType getConstructorName(clang::IdentifierInfo & II, clang::SourceLocation NameLoc, clang::Scope * S, clang::CXXScopeSpec & SS, bool EnteringContext)
  • public const clang::VarDecl * getCopyElisionCandidate(clang::Sema::NamedReturnInfo & Info, clang::QualType ReturnType)
  • public std::string getCudaConfigureFuncName() const
  • public sema::BlockScopeInfo * getCurBlock()
  • public sema::CapturedRegionScopeInfo * getCurCapturedRegion()
  • public sema::CompoundScopeInfo & getCurCompoundScope() const
  • public clang::FPOptions & getCurFPFeatures()
  • public sema::FunctionScopeInfo * getCurFunction() const
  • public sema::FunctionScopeInfo * getCurFunctionAvailabilityContext()
  • public clang::FunctionDecl * getCurFunctionDecl(bool AllowLambda = false)
  • public clang::NamedDecl * getCurFunctionOrMethodDecl()
  • public sema::LambdaScopeInfo * getCurGenericLambda()
  • public sema::LambdaScopeInfo * getCurLambda(bool IgnoreNonLambdaCapturingScope = false)
  • public clang::DeclContext * getCurLexicalContext() const
  • public clang::ObjCMethodDecl * getCurMethodDecl()
  • public const clang::DeclContext * getCurObjCLexicalContext() const
  • public clang::Scope * getCurScope() const
  • public clang::CXXRecordDecl * getCurrentClass(clang::Scope * S, const clang::CXXScopeSpec * SS)
  • public clang::CXXRecordDecl * getCurrentInstantiationOf(clang::NestedNameSpecifier * NNS)
  • public std::tuple<MangleNumberingContext *, Decl *> getCurrentMangleNumberContext(const clang::DeclContext * DC)
  • public clang::Module * getCurrentModule() const
  • public clang::QualType getCurrentThisType()
  • public clang::DarwinSDKInfo * getDarwinSDKInfoForAvailabilityChecking()
  • public clang::DarwinSDKInfo * getDarwinSDKInfoForAvailabilityChecking(clang::SourceLocation Loc, llvm::StringRef Platform)
  • public clang::QualType getDecltypeForExpr(clang::Expr * E)
  • public clang::LangAS getDefaultCXXMethodAddrSpace() const
  • public clang::Sema::DefaultedComparisonKind getDefaultedComparisonKind(const clang::FunctionDecl * FD)
  • public clang::Sema::DefaultedFunctionKind getDefaultedFunctionKind(const clang::FunctionDecl * FD)
  • public clang::ParsedType getDestructorName(clang::SourceLocation TildeLoc, clang::IdentifierInfo & II, clang::SourceLocation NameLoc, clang::Scope * S, clang::CXXScopeSpec & SS, clang::ParsedType ObjectType, bool EnteringContext)
  • public clang::ParsedType getDestructorTypeForDecltype(const clang::DeclSpec & DS, clang::ParsedType ObjectType)
  • public clang::DiagnosticsEngine & getDiagnostics() const
  • public clang::QualType getElaboratedType(clang::ElaboratedTypeKeyword Keyword, const clang::CXXScopeSpec & SS, clang::QualType T, clang::TagDecl * OwnedTagDecl = nullptr)
  • public clang::Sema::FunctionEmissionStatus getEmissionStatus(clang::FunctionDecl * Decl, bool Final = false)
  • public sema::FunctionScopeInfo * getEnclosingFunction() const
  • public sema::LambdaScopeInfo * getEnclosingLambda() const
  • public clang::SourceRange getExprRange(clang::Expr * E) const
  • public clang::ExternalSemaSource * getExternalSource() const
  • public std::string getFixItZeroInitializerForType(clang::QualType T, clang::SourceLocation Loc) const
  • public std::string getFixItZeroLiteralForType(clang::QualType T, clang::SourceLocation Loc) const
  • public clang::IdentifierInfo * getFloat128Identifier() const
  • public static bool getFormatStringInfo(const clang::FormatAttr * Format, bool IsCXXMember, bool IsVariadic, clang::Sema::FormatStringInfo * FSI)
  • public Optional<unsigned int> getFullyPackExpandedSize(clang::TemplateArgument Arg)
  • public clang::DeclContext * getFunctionLevelDeclContext(bool AllowLambda = false)
  • public ArrayRef<sema::FunctionScopeInfo *> getFunctionScopes() const
  • public clang::TemplateArgumentLoc getIdentityTemplateArgumentLoc(clang::NamedDecl * Param, clang::SourceLocation Location)
  • public clang::Attr * getImplicitCodeSegOrSectionAttrForFunction(const clang::FunctionDecl * FD, bool IsDefinition)
  • public clang::ParsedType getInheritingConstructorName(clang::CXXScopeSpec & SS, clang::SourceLocation NameLoc, clang::IdentifierInfo & Name)
  • public ArrayRef<clang::InventedTemplateParameterInfo> getInventedParameterInfos() const
  • public clang::QualType getLambdaConversionFunctionResultType(const clang::FunctionProtoType * CallOpType, clang::CallingConv CC)
  • public const clang::LangOptions & getLangOpts() const
  • public clang::SourceLocation getLocForEndOfToken(clang::SourceLocation Loc, unsigned int Offset = 0)
  • public clang::SourceLocation getLocationOfStringLiteralByte(const clang::StringLiteral * SL, unsigned int ByteNo) const
  • public llvm::DenseSet<Module *> & getLookupModules()
  • public clang::QualType getMessageSendResultType(const clang::Expr * Receiver, clang::QualType ReceiverType, clang::ObjCMethodDecl * Method, bool isClassMessage, bool isSuperMessage)
  • public const llvm::MapVector<FieldDecl *, DeleteLocs> & getMismatchingDeleteExpressions() const
  • public clang::ModuleLoader & getModuleLoader() const
  • public clang::ClassTemplatePartialSpecializationDecl * getMoreSpecializedPartialSpecialization(clang::ClassTemplatePartialSpecializationDecl * PS1, clang::ClassTemplatePartialSpecializationDecl * PS2, clang::SourceLocation Loc)
  • public clang::VarTemplatePartialSpecializationDecl * getMoreSpecializedPartialSpecialization(clang::VarTemplatePartialSpecializationDecl * PS1, clang::VarTemplatePartialSpecializationDecl * PS2, clang::SourceLocation Loc)
  • public clang::FunctionTemplateDecl * getMoreSpecializedTemplate(clang::FunctionTemplateDecl * FT1, clang::FunctionTemplateDecl * FT2, clang::SourceLocation Loc, clang::TemplatePartialOrderingContext TPOC, unsigned int NumCallArguments1, unsigned int NumCallArguments2, bool Reversed = false, bool AllowOrderingByConstraints = true)
  • public clang::UnresolvedSetIterator getMostSpecialized(clang::UnresolvedSetIterator SBegin, clang::UnresolvedSetIterator SEnd, clang::TemplateSpecCandidateSet & FailedCandidates, clang::SourceLocation Loc, const clang::PartialDiagnostic & NoneDiag, const clang::PartialDiagnostic & AmbigDiag, const clang::PartialDiagnostic & CandidateDiag, bool Complain = true, clang::QualType TargetType = clang::QualType())
  • public clang::IdentifierInfo * getNSErrorIdent()
  • public clang::Sema::NamedReturnInfo getNamedReturnInfo(clang::Expr *& E, clang::Sema::SimplerImplicitMoveMode Mode = SimplerImplicitMoveMode::Normal)
  • public clang::Sema::NamedReturnInfo getNamedReturnInfo(const clang::VarDecl * VD)
  • public clang::Scope * getNonFieldDeclScope(clang::Scope * S)
  • public clang::NonOdrUseReason getNonOdrUseReasonInCurrentContext(clang::ValueDecl * D)
  • public clang::Sema::NonTagKind getNonTagTypeDeclKind(const clang::Decl * D, clang::TagTypeKind TTK)
  • public const clang::NormalizedConstraint * getNormalizedAssociatedConstraints(clang::NamedDecl * ConstrainedDecl, ArrayRef<const clang::Expr *> AssociatedConstraints)
  • public clang::IdentifierInfo * getNullabilityKeyword(clang::NullabilityKind nullability)
  • public Optional<unsigned int> getNumArgumentsInExpansion(clang::QualType T, const clang::MultiLevelTemplateArgumentList & TemplateArgs)
  • private int getNumberOfConstructScopes(unsigned int Level) const
  • private clang::OMPTraitInfo * getOMPTraitInfoForSurroundingScope()
  • public clang::Sema::ObjCContainerKind getObjCContainerKind() const
  • public clang::ObjCContainerDecl * getObjCDeclContext() const
  • public clang::ObjCInterfaceDecl * getObjCInterfaceDecl(clang::IdentifierInfo *& Id, clang::SourceLocation IdLoc, bool TypoCorrection = false)
  • public clang::Sema::ObjCMessageKind getObjCMessageKind(clang::Scope * S, clang::IdentifierInfo * Name, clang::SourceLocation NameLoc, bool IsSuper, bool HasTrailingDot, clang::ParsedType & ReceiverType)
  • public clang::OpenCLOptions & getOpenCLOptions()
  • public static int getOpenMPCaptureLevels(clang::OpenMPDirectiveKind Kind)
  • public clang::ExprResult getOpenMPCapturedExpr(clang::VarDecl * Capture, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation Loc)
  • public const clang::ValueDecl * getOpenMPDeclareMapperVarName() const
  • private unsigned int getOpenMPNestingLevel() const
  • public clang::SourceLocation getOptimizeOffPragmaLocation() const
  • public clang::NamespaceDecl * getOrCreateStdNamespace()
  • public clang::Module * getOwningModule(const clang::Decl * Entity)
  • public clang::Preprocessor & getPreprocessor() const
  • public static unsigned int getPrintable(unsigned int I)
  • public static const clang::IdentifierInfo * getPrintable(const clang::IdentifierInfo * II)
  • public static clang::DeclarationName getPrintable(clang::DeclarationName N)
  • public static clang::QualType getPrintable(clang::QualType T)
  • public static clang::SourceRange getPrintable(clang::SourceRange R)
  • public static clang::SourceRange getPrintable(clang::SourceLocation L)
  • public static clang::SourceRange getPrintable(const clang::Expr * E)
  • public static clang::SourceRange getPrintable(clang::TypeLoc TL)
  • public static const std::string & getPrintable(const std::string & S)
  • public static llvm::StringRef getPrintable(llvm::StringRef S)
  • public static const char * getPrintable(const char * S)
  • public static int getPrintable(int I)
  • public static bool getPrintable(bool B)
  • public static clang::PrintingPolicy getPrintingPolicy(const clang::ASTContext & Ctx, const clang::Preprocessor & PP)
  • public clang::PrintingPolicy getPrintingPolicy() const
  • public clang::TypeLoc getReturnTypeLoc(clang::FunctionDecl * FD) const
  • public clang::Scope * getScopeForContext(clang::DeclContext * Ctx)
  • public static clang::Scope * getScopeForDeclContext(clang::Scope * S, clang::DeclContext * DC)
  • public const clang::FieldDecl * getSelfAssignmentClassMemberCandidate(const clang::ValueDecl * SelfAssigned)
  • public clang::NamedDecl * getShadowedDeclaration(const clang::VarDecl * D, const clang::LookupResult & R)
  • public clang::NamedDecl * getShadowedDeclaration(const clang::TypedefNameDecl * D, const clang::LookupResult & R)
  • public clang::NamedDecl * getShadowedDeclaration(const clang::BindingDecl * D, const clang::LookupResult & R)
  • public clang::SourceManager & getSourceManager() const
  • public clang::Sema::CXXSpecialMember getSpecialMember(const clang::CXXMethodDecl * MD)
  • public clang::EnumDecl * getStdAlignValT() const
  • public clang::CXXRecordDecl * getStdBadAlloc() const
  • public clang::NamespaceDecl * getStdNamespace() const
  • public clang::IdentifierInfo * getSuperIdentifier() const
  • public std::string getTemplateArgumentBindingsText(const clang::TemplateParameterList * Params, const clang::TemplateArgumentList & Args)
  • public std::string getTemplateArgumentBindingsText(const clang::TemplateParameterList * Params, const clang::TemplateArgument * Args, unsigned int NumArgs)
  • public clang::TemplateArgumentLoc getTemplateArgumentPackExpansionPattern(clang::TemplateArgumentLoc OrigLoc, clang::SourceLocation & Ellipsis, Optional<unsigned int> & NumExpansions) const
  • public unsigned int getTemplateDepth(clang::Scope * S) const
  • public clang::MultiLevelTemplateArgumentList getTemplateInstantiationArgs(const clang::NamedDecl * D, const clang::TemplateArgumentList * Innermost = nullptr, bool RelativeToPrimary = false, const clang::FunctionDecl * Pattern = nullptr)
  • public clang::Sema::TemplateNameKindForDiagnostics getTemplateNameKindForDiagnostics(clang::TemplateName Name)
  • public clang::TemplateArgumentLoc getTrivialTemplateArgumentLoc(const clang::TemplateArgument & Arg, clang::QualType NTTPType, clang::SourceLocation Loc)
  • public clang::ParsedType getTypeName(const clang::IdentifierInfo & II, clang::SourceLocation NameLoc, clang::Scope * S, clang::CXXScopeSpec * SS = nullptr, bool isClassName = false, bool HasTrailingDot = false, clang::ParsedType ObjectType = nullptr, bool IsCtorOrDtorName = false, bool WantNontrivialTypeSourceInfo = false, bool IsClassTemplateDeductionContext = true, clang::IdentifierInfo ** CorrectedII = nullptr)
  • public const clang::Sema::TypoExprState & getTypoExprState(clang::TypoExpr * TE) const
  • public void getUndefinedButUsed(SmallVectorImpl<std::pair<NamedDecl *, SourceLocation>> & Undefined)
  • public clang::Sema::VariadicCallType getVariadicCallType(clang::FunctionDecl * FDecl, const clang::FunctionProtoType * Proto, clang::Expr * Fn)
  • public void handleDelayedAvailabilityCheck(sema::DelayedDiagnostic & DD, clang::Decl * Ctx)
  • public void handleLambdaNumbering(clang::CXXRecordDecl * Class, clang::CXXMethodDecl * Method, Optional<std::tuple<bool, unsigned int, unsigned int, Decl *>> Mangling = None)
  • public void handleTagNumbering(const clang::TagDecl * Tag, clang::Scope * TagScope)
  • public bool handlerCanCatch(clang::QualType HandlerType, clang::QualType ExceptionType)
  • public bool hasAcceptableDefaultArgument(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules, Sema::AcceptableKind Kind)
  • public bool hasAcceptableDefinition(clang::NamedDecl * D, clang::Sema::AcceptableKind Kind)
  • public bool hasAcceptableDefinition(clang::NamedDecl * D, clang::NamedDecl ** Suggested, clang::Sema::AcceptableKind Kind, bool OnlyNeedComplete = false)
  • public bool hasAnyAcceptableTemplateNames(clang::LookupResult & R, bool AllowFunctionTemplates = true, bool AllowDependent = true, bool AllowNonTemplateFunctions = false)
  • public bool hasAnyUnrecoverableErrorsInThisFunction() const
  • public bool hasCStrMethod(const clang::Expr * E)
  • public bool hasExplicitCallingConv(clang::QualType T)
  • public bool hasGlobalOpenMPAssumes() const
  • public bool hasMergedDefinitionInCurrentModule(clang::NamedDecl * Def)
  • public bool hasReachableDeclaration(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasReachableDeclarationSlow(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasReachableDefaultArgument(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasReachableDefinition(clang::NamedDecl * D, clang::NamedDecl ** Suggested, bool OnlyNeedComplete = false)
  • public bool hasReachableDefinition(clang::NamedDecl * D)
  • public bool hasReachableExplicitSpecialization(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasReachableMemberSpecialization(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasStructuralCompatLayout(clang::Decl * D, clang::Decl * Suggested)
  • public bool hasUncompilableErrorOccurred() const
  • public bool hasVisibleDeclaration(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasVisibleDeclarationSlow(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules)
  • public bool hasVisibleDefaultArgument(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasVisibleDefinition(clang::NamedDecl * D, clang::NamedDecl ** Suggested, bool OnlyNeedComplete = false)
  • public bool hasVisibleDefinition(const clang::NamedDecl * D)
  • public bool hasVisibleExplicitSpecialization(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasVisibleMemberSpecialization(const clang::NamedDecl * D, llvm::SmallVectorImpl<Module *> * Modules = nullptr)
  • public bool hasVisibleMergedDefinition(clang::NamedDecl * Def)
  • public bool inTemplateInstantiation() const
  • public void incrementMSManglingNumber() const
  • public bool inferCUDATargetForImplicitSpecialMember(clang::CXXRecordDecl * ClassDecl, clang::Sema::CXXSpecialMember CSM, clang::CXXMethodDecl * MemberDecl, bool ConstRHS, bool Diagnose)
  • public void inferGslOwnerPointerAttribute(clang::CXXRecordDecl * Record)
  • public void inferGslPointerAttribute(clang::TypedefNameDecl * TD)
  • public void inferGslPointerAttribute(clang::NamedDecl * ND, clang::CXXRecordDecl * UnderlyingRecord)
  • public bool inferObjCARCLifetime(clang::ValueDecl * decl)
  • public void inheritCUDATargetAttrs(clang::FunctionDecl * FD, const clang::FunctionTemplateDecl & TD)
  • public bool isAbstractType(clang::SourceLocation Loc, clang::QualType T)
  • public bool isAcceptable(const clang::NamedDecl * D, clang::Sema::AcceptableKind Kind)
  • public bool isAcceptableNestedNameSpecifier(const clang::NamedDecl * SD, bool * CanCorrect = nullptr)
  • private bool isAcceptableSlow(const clang::NamedDecl * D, clang::Sema::AcceptableKind Kind)
  • public bool isAcceptableTagRedeclaration(const clang::TagDecl * Previous, clang::TagTypeKind NewTag, bool isDefinition, clang::SourceLocation NewTagLoc, const clang::IdentifierInfo * Name)
  • public bool isCFError(clang::RecordDecl * D)
  • public static bool isCUDAImplicitHostDeviceFunction(const clang::FunctionDecl * D)
  • public static bool isCast(clang::Sema::CheckedConversionKind CCK)
  • public bool isCompleteType(clang::SourceLocation Loc, clang::QualType T, clang::Sema::CompleteTypeKind Kind = CompleteTypeKind::Default)
  • public bool isConstantEvaluated()
  • public bool isCurrentClassName(const clang::IdentifierInfo & II, clang::Scope * S, const clang::CXXScopeSpec * SS = nullptr)
  • public bool isCurrentClassNameTypo(clang::IdentifierInfo *& II, const clang::CXXScopeSpec * SS)
  • private bool isCurrentModulePurview() const
  • public bool isDeclInScope(clang::NamedDecl * D, clang::DeclContext * Ctx, clang::Scope * S = nullptr, bool AllowInlineNamespace = false)
  • public bool isDeductionGuideName(clang::Scope * S, const clang::IdentifierInfo & Name, clang::SourceLocation NameLoc, clang::ParsedTemplateTy * Template = nullptr)
  • public bool isDependentScopeSpecifier(const clang::CXXScopeSpec & SS)
  • public bool isEmptyCudaConstructor(clang::SourceLocation Loc, clang::CXXConstructorDecl * CD)
  • public bool isEmptyCudaDestructor(clang::SourceLocation Loc, clang::CXXDestructorDecl * CD)
  • public bool isEquivalentInternalLinkageDeclaration(const clang::NamedDecl * A, const clang::NamedDecl * B)
  • public bool isExternalWithNoLinkageType(clang::ValueDecl * VD)
  • public bool isImmediateFunctionContext() const
  • public bool isImplicitlyDeleted(clang::FunctionDecl * FD)
  • public bool isInOpenMPAssumeScope() const
  • public bool isInOpenMPDeclareTargetContext() const
  • public bool isInOpenMPDeclareVariantScope() const
  • public bool isInOpenMPTargetExecutionDirective() const
  • public bool isInOpenMPTaskUntiedContext() const
  • public bool isIncompatibleTypedef(clang::TypeDecl * Old, clang::TypedefNameDecl * New)
  • public bool isInitListConstructor(const clang::FunctionDecl * Ctor)
  • public bool isKnownName(llvm::StringRef name)
  • public bool isLaxVectorConversion(clang::QualType srcType, clang::QualType destType)
  • public bool isLibstdcxxEagerExceptionSpecHack(const clang::Declarator & D)
  • public bool isMemberAccessibleForDeletion(clang::CXXRecordDecl * NamingClass, clang::DeclAccessPair Found, clang::QualType ObjectType, clang::SourceLocation Loc, const clang::PartialDiagnostic & Diag)
  • public bool isMemberAccessibleForDeletion(clang::CXXRecordDecl * NamingClass, clang::DeclAccessPair Found, clang::QualType ObjectType)
  • public bool isMicrosoftMissingTypename(const clang::CXXScopeSpec * SS, clang::Scope * S)
  • public bool isModuleDirectlyImported(const clang::Module * M)
  • private bool isModuleUnitOfCurrentTU(const clang::Module * M) const
  • public bool isModuleVisible(const clang::Module * M, bool ModulePrivate = false)
  • public bool isMoreSpecializedThanPrimary(clang::VarTemplatePartialSpecializationDecl * T, sema::TemplateDeductionInfo & Info)
  • public bool isMoreSpecializedThanPrimary(clang::ClassTemplatePartialSpecializationDecl * T, sema::TemplateDeductionInfo & Info)
  • public bool isNonTypeNestedNameSpecifier(clang::Scope * S, clang::CXXScopeSpec & SS, clang::Sema::NestedNameSpecInfo & IdInfo)
  • public bool isObjCMethodDecl(clang::Decl * D)
  • public bool isObjCPointerConversion(clang::QualType FromType, clang::QualType ToType, clang::QualType & ConvertedType, bool & IncompatibleObjC)
  • public bool isObjCWritebackConversion(clang::QualType FromType, clang::QualType ToType, clang::QualType & ConvertedType)
  • public bool isOpenMPCapturedByRef(const clang::ValueDecl * D, unsigned int Level, unsigned int OpenMPCaptureLevel) const
  • public clang::VarDecl * isOpenMPCapturedDecl(clang::ValueDecl * D, bool CheckScopeInfo = false, unsigned int StopAt = 0)
  • public bool isOpenMPDeclareMapperVarDeclAllowed(const clang::VarDecl * VD) const
  • public bool isOpenMPGlobalCapturedDecl(clang::ValueDecl * D, unsigned int Level, unsigned int CaptureLevel) const
  • public clang::OpenMPClauseKind isOpenMPPrivateDecl(clang::ValueDecl * D, unsigned int Level, unsigned int CapLevel) const
  • public bool isOpenMPRebuildMemberExpr(clang::ValueDecl * D)
  • public bool isOpenMPTargetCapturedDecl(const clang::ValueDecl * D, unsigned int Level, unsigned int CaptureLevel) const
  • public bool isPreciseFPEnabled()
  • public bool isQualifiedMemberAccess(clang::Expr * E)
  • public bool isReachable(const clang::NamedDecl * D)
  • public Optional<sema::TemplateDeductionInfo *> isSFINAEContext() const
  • public bool isSameOrCompatibleFunctionType(clang::QualType Param, clang::QualType Arg)
  • public bool isSelfExpr(clang::Expr * RExpr)
  • public bool isSelfExpr(clang::Expr * RExpr, const clang::ObjCMethodDecl * Method)
  • public bool isSimpleTypeSpecifier(tok::TokenKind Kind) const
  • public bool isStdInitializerList(clang::QualType Ty, clang::QualType * Element)
  • public clang::TypeSpecifierType isTagName(clang::IdentifierInfo & II, clang::Scope * S)
  • public clang::TemplateNameKind isTemplateName(clang::Scope * S, clang::CXXScopeSpec & SS, bool hasTemplateKeyword, const clang::UnqualifiedId & Name, clang::ParsedType ObjectType, bool EnteringContext, clang::Sema::TemplateTy & Template, bool & MemberOfUnknownSpecialization, bool Disambiguation = false)
  • public bool isTemplateTemplateParameterAtLeastAsSpecializedAs(clang::TemplateParameterList * PParam, clang::TemplateDecl * AArg, clang::SourceLocation Loc)
  • public bool isThisOutsideMemberFunctionBody(clang::QualType BaseType)
  • public bool isUnavailableAlignedAllocationFunction(const clang::FunctionDecl & FD) const
  • public bool isUnevaluatedContext() const
  • public bool isUnexpandedParameterPackPermitted()
  • private bool isUsableModule(const clang::Module * M)
  • public bool isUsualDeallocationFunction(const clang::CXXMethodDecl * FD)
  • public bool isValidPointerAttrType(clang::QualType T, bool RefOkay = false)
  • public llvm::Error isValidSectionSpecifier(llvm::StringRef Str)
  • public bool isValidSveBitcast(clang::QualType srcType, clang::QualType destType)
  • public clang::Sema::VarArgKind isValidVarArgType(const clang::QualType & Ty)
  • public bool isVisible(const clang::NamedDecl * D)
  • public clang::ClassTemplateDecl * lookupCoroutineTraits(clang::SourceLocation KwLoc, clang::SourceLocation FuncLoc, clang::NamespaceDecl *& Namespace)
  • public clang::NamedDecl * lookupOpenMPDeclareTargetName(clang::Scope * CurScope, clang::CXXScopeSpec & ScopeSpec, const clang::DeclarationNameInfo & Id)
  • public clang::NamespaceDecl * lookupStdExperimentalNamespace()
  • public void makeMergedDefinitionVisible(clang::NamedDecl * ND)
  • public void makeModuleVisible(clang::Module * Mod, clang::SourceLocation ImportLoc)
  • private std::unique_ptr<TypoCorrectionConsumer> makeTypoCorrectionConsumer(const clang::DeclarationNameInfo & Typo, Sema::LookupNameKind LookupKind, clang::Scope * S, clang::CXXScopeSpec * SS, clang::CorrectionCandidateCallback & CCC, clang::DeclContext * MemberContext, bool EnteringContext, const clang::ObjCObjectPointerType * OPT, bool ErrorRecovery)
  • public bool makeUnavailableInSystemHeader(clang::SourceLocation loc, UnavailableAttr::ImplicitReason reason)
  • public void maybeAddCUDAHostDeviceAttrs(clang::FunctionDecl * FD, const clang::LookupResult & Previous)
  • public void maybeExtendBlockObject(clang::ExprResult & E)
  • public clang::AlwaysInlineAttr * mergeAlwaysInlineAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, const clang::IdentifierInfo * Ident)
  • public clang::AvailabilityAttr * mergeAvailabilityAttr(clang::NamedDecl * D, const clang::AttributeCommonInfo & CI, clang::IdentifierInfo * Platform, bool Implicit, llvm::VersionTuple Introduced, llvm::VersionTuple Deprecated, llvm::VersionTuple Obsoleted, bool IsUnavailable, llvm::StringRef Message, bool IsStrict, llvm::StringRef Replacement, clang::Sema::AvailabilityMergeKind AMK, int Priority)
  • public clang::BTFDeclTagAttr * mergeBTFDeclTagAttr(clang::Decl * D, const clang::BTFDeclTagAttr & AL)
  • public clang::CodeSegAttr * mergeCodeSegAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, llvm::StringRef Name)
  • public clang::DLLExportAttr * mergeDLLExportAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI)
  • public clang::DLLImportAttr * mergeDLLImportAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI)
  • public void mergeDeclAttributes(clang::NamedDecl * New, clang::Decl * Old, clang::Sema::AvailabilityMergeKind AMK = AMK_Redeclaration)
  • public clang::EnforceTCBAttr * mergeEnforceTCBAttr(clang::Decl * D, const clang::EnforceTCBAttr & AL)
  • public clang::EnforceTCBLeafAttr * mergeEnforceTCBLeafAttr(clang::Decl * D, const clang::EnforceTCBLeafAttr & AL)
  • public clang::ErrorAttr * mergeErrorAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, llvm::StringRef NewUserDiagnostic)
  • public clang::FormatAttr * mergeFormatAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, clang::IdentifierInfo * Format, int FormatIdx, int FirstArg)
  • public clang::HLSLNumThreadsAttr * mergeHLSLNumThreadsAttr(clang::Decl * D, const clang::AttributeCommonInfo & AL, int X, int Y, int Z)
  • public clang::HLSLShaderAttr * mergeHLSLShaderAttr(clang::Decl * D, const clang::AttributeCommonInfo & AL, HLSLShaderAttr::ShaderType ShaderType)
  • public clang::WebAssemblyImportModuleAttr * mergeImportModuleAttr(clang::Decl * D, const clang::WebAssemblyImportModuleAttr & AL)
  • public clang::WebAssemblyImportNameAttr * mergeImportNameAttr(clang::Decl * D, const clang::WebAssemblyImportNameAttr & AL)
  • public clang::InternalLinkageAttr * mergeInternalLinkageAttr(clang::Decl * D, const clang::InternalLinkageAttr & AL)
  • public clang::InternalLinkageAttr * mergeInternalLinkageAttr(clang::Decl * D, const clang::ParsedAttr & AL)
  • public clang::MSInheritanceAttr * mergeMSInheritanceAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, bool BestCase, clang::MSInheritanceModel Model)
  • public clang::MinSizeAttr * mergeMinSizeAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI)
  • public void mergeObjCMethodDecls(clang::ObjCMethodDecl * New, clang::ObjCMethodDecl * Old)
  • public clang::OptimizeNoneAttr * mergeOptimizeNoneAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI)
  • public clang::SectionAttr * mergeSectionAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, llvm::StringRef Name)
  • public clang::SwiftNameAttr * mergeSwiftNameAttr(clang::Decl * D, const clang::SwiftNameAttr & SNA, llvm::StringRef Name)
  • public clang::TypeVisibilityAttr * mergeTypeVisibilityAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, TypeVisibilityAttr::VisibilityType Vis)
  • public clang::UuidAttr * mergeUuidAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, llvm::StringRef UuidAsWritten, clang::MSGuidDecl * GuidDecl)
  • public clang::VisibilityAttr * mergeVisibilityAttr(clang::Decl * D, const clang::AttributeCommonInfo & CI, VisibilityAttr::VisibilityType Vis)
  • public bool mightBeIntendedToBeTemplateName(clang::ExprResult E, bool & Dependent)
  • private static bool mightHaveNonExternalLinkage(const clang::DeclaratorDecl * FD)
  • public void notePreviousDefinition(const clang::NamedDecl * Old, clang::SourceLocation New)
  • public void popCodeSynthesisContext()
  • public void popObjCTypeParamList(clang::Scope * S, clang::ObjCTypeParamList * typeParamList)
  • private void popOpenMPFunctionRegion(const sema::FunctionScopeInfo * OldFSI)
  • public clang::ExprResult prepareVectorSplat(clang::QualType VectorTy, clang::Expr * SplattedExpr)
  • public void propagateDLLAttrToBaseClassTemplate(clang::CXXRecordDecl * Class, clang::Attr * ClassAttr, clang::ClassTemplateSpecializationDecl * BaseTemplateSpec, clang::SourceLocation BaseLoc)
  • public void pushCodeSynthesisContext(clang::Sema::CodeSynthesisContext Ctx)
  • private void pushOpenMPFunctionRegion()
  • public clang::Expr * recreateSyntacticForm(clang::PseudoObjectExpr * E)
  • public void redelayDiagnostics(sema::DelayedDiagnosticPool & pool)
  • public void referenceDLLExportedClassMethods()
  • public clang::FunctionDecl * resolveAddressOfSingleOverloadCandidate(clang::Expr * E, clang::DeclAccessPair & FoundResult)
  • public bool resolveAndFixAddressOfSingleOverloadCandidate(clang::ExprResult & SrcExpr, bool DoFunctionPointerConversion = false)
  • public bool resolveAssumedTemplateNameAsType(clang::Scope * S, clang::TemplateName & Name, clang::SourceLocation NameLoc, bool Diagnose = true)
  • public void runWithSufficientStackSpace(clang::SourceLocation Loc, llvm::function_ref<void ()> Fn)
  • public void setExceptionMode(clang::SourceLocation Loc, LangOptions::FPExceptionModeKind)
  • public void setFunctionHasBranchIntoScope()
  • public void setFunctionHasBranchProtectedScope()
  • public void setFunctionHasIndirectGoto()
  • public void setFunctionHasMustTail()
  • public void setOpenMPCaptureKind(clang::FieldDecl * FD, const clang::ValueDecl * D, unsigned int Level)
  • public void setTagNameForLinkagePurposes(clang::TagDecl * TagFromDeclSpec, clang::TypedefNameDecl * NewTD)
  • private void setupImplicitSpecialMemberType(clang::CXXMethodDecl * SpecialMem, clang::QualType ResultTy, ArrayRef<clang::QualType> Args)
  • public bool shouldIgnoreInHostDeviceCheck(clang::FunctionDecl * Callee)
  • public bool shouldLinkDependentDeclWithPrevious(clang::Decl * D, clang::Decl * OldDecl)
  • private bool shouldLinkPossiblyHiddenDecl(const clang::NamedDecl * Old, const clang::NamedDecl * New)
  • private bool shouldLinkPossiblyHiddenDecl(clang::LookupResult & Old, const clang::NamedDecl * New)
  • public clang::Sema::SkipBodyInfo shouldSkipAnonEnumBody(clang::Scope * S, clang::IdentifierInfo * II, clang::SourceLocation IILoc)
  • public clang::CXXMethodDecl * startLambdaDefinition(clang::CXXRecordDecl * Class, clang::SourceRange IntroducerRange, clang::TypeSourceInfo * MethodType, clang::SourceLocation EndLoc, ArrayRef<clang::ParmVarDecl *> Params, clang::ConstexprSpecKind ConstexprKind, clang::Expr * TrailingRequiresClause)
  • public void startOpenMPCXXRangeFor()
  • public void startOpenMPLoop()
  • public clang::Expr * stripARCUnbridgedCast(clang::Expr * e)
  • public clang::Sema::SemaDiagnosticBuilder targetDiag(clang::SourceLocation Loc, const clang::PartialDiagnostic & PD, clang::FunctionDecl * FD = nullptr)
  • public clang::Sema::SemaDiagnosticBuilder targetDiag(clang::SourceLocation Loc, unsigned int DiagID, clang::FunctionDecl * FD = nullptr)
  • public void translateTemplateArguments(const clang::ASTTemplateArgsPtr & In, clang::TemplateArgumentListInfo & Out)
  • public clang::ObjCMethodDecl * tryCaptureObjCSelf(clang::SourceLocation Loc)
  • public void tryCaptureOpenMPLambdas(clang::ValueDecl * V)
  • public bool tryCaptureVariable(clang::VarDecl * Var, clang::SourceLocation Loc, clang::Sema::TryCaptureKind Kind, clang::SourceLocation EllipsisLoc, bool BuildAndDiagnose, clang::QualType & CaptureType, clang::QualType & DeclRefType, const unsigned int *const FunctionScopeIndexToStopAt)
  • public bool tryCaptureVariable(clang::VarDecl * Var, clang::SourceLocation Loc, clang::Sema::TryCaptureKind Kind = TryCapture_Implicit, clang::SourceLocation EllipsisLoc = clang::SourceLocation())
  • public clang::ExprResult tryConvertExprToType(clang::Expr * E, clang::QualType Ty)
  • public bool tryExprAsCall(clang::Expr & E, clang::QualType & ZeroArgCallReturnTy, clang::UnresolvedSetImpl & NonTemplateOverloads)
  • private clang::ValueDecl * tryLookupCtorInitMemberDecl(clang::CXXRecordDecl * ClassDecl, clang::CXXScopeSpec & SS, clang::ParsedType TemplateTypeTy, clang::IdentifierInfo * MemberOrBase)
  • public bool tryResolveExplicitSpecifier(clang::ExplicitSpecifier & ExplicitSpec)
  • public bool tryToFixVariablyModifiedVarType(clang::TypeSourceInfo *& TInfo, clang::QualType & T, clang::SourceLocation Loc, unsigned int FailedFoldDiagID)
  • public bool tryToRecoverWithCall(clang::ExprResult & E, const clang::PartialDiagnostic & PD, bool ForceComplain = false, bool (*)(clang::QualType) IsPlausibleResult = nullptr)
  • public void updateOutOfDateSelector(clang::Selector Sel)
  • public bool usesPartialOrExplicitSpecialization(clang::SourceLocation Loc, clang::ClassTemplateSpecializationDecl * ClassTemplateSpec)
  • public void warnOnReservedIdentifier(const clang::NamedDecl * D)
  • public void warnStackExhausted(clang::SourceLocation Loc)
  • public ~Sema()

Methods

void ActOnAbortSEHFinallyBlock()

Declared at: clang/include/clang/Sema/Sema.h:5145

bool ActOnAccessSpecifier(
    clang::AccessSpecifier Access,
    clang::SourceLocation ASLoc,
    clang::SourceLocation ColonLoc,
    const clang::ParsedAttributesView& Attrs)

Declared at: clang/include/clang/Sema/Sema.h:7288

Parameters

clang::AccessSpecifier Access
clang::SourceLocation ASLoc
clang::SourceLocation ColonLoc
const clang::ParsedAttributesView& Attrs

clang::ExprResult ActOnAddrLabel(
    clang::SourceLocation OpLoc,
    clang::SourceLocation LabLoc,
    clang::LabelDecl* TheDecl)

Description

ActOnAddrLabel - Parse the GNU address of label extension: "&&foo".

Declared at: clang/include/clang/Sema/Sema.h:5795

Parameters

clang::SourceLocation OpLoc
clang::SourceLocation LabLoc
clang::LabelDecl* TheDecl

void ActOnAfterCompoundStatementLeadingPragmas()

Declared at: clang/include/clang/Sema/Sema.h:4899

clang::Decl* ActOnAliasDeclaration(
    clang::Scope* CurScope,
    clang::AccessSpecifier AS,
    clang::MultiTemplateParamsArg TemplateParams,
    clang::SourceLocation UsingLoc,
    clang::UnqualifiedId& Name,
    const clang::ParsedAttributesView& AttrList,
    clang::TypeResult Type,
    clang::Decl* DeclFromDeclSpec)

Declared at: clang/include/clang/Sema/Sema.h:6062

Parameters

clang::Scope* CurScope
clang::AccessSpecifier AS
clang::MultiTemplateParamsArg TemplateParams
clang::SourceLocation UsingLoc
clang::UnqualifiedId& Name
const clang::ParsedAttributesView& AttrList
clang::TypeResult Type
clang::Decl* DeclFromDeclSpec

clang::ExprResult ActOnArraySubscriptExpr(
    clang::Scope* S,
    clang::Expr* Base,
    clang::SourceLocation LLoc,
    clang::MultiExprArg ArgExprs,
    clang::SourceLocation RLoc)

Declared at: clang/include/clang/Sema/Sema.h:5584

Parameters

clang::Scope* S
clang::Expr* Base
clang::SourceLocation LLoc
clang::MultiExprArg ArgExprs
clang::SourceLocation RLoc

clang::ExprResult ActOnArrayTypeTrait(
    clang::ArrayTypeTrait ATT,
    clang::SourceLocation KWLoc,
    clang::ParsedType LhsTy,
    clang::Expr* DimExpr,
    clang::SourceLocation RParen)

Description

ActOnArrayTypeTrait - Parsed one of the binary type trait support pseudo-functions.

Declared at: clang/include/clang/Sema/Sema.h:6653

Parameters

clang::ArrayTypeTrait ATT
clang::SourceLocation KWLoc
clang::ParsedType LhsTy
clang::Expr* DimExpr
clang::SourceLocation RParen

clang::ExprResult ActOnAsTypeExpr(
    clang::Expr* E,
    clang::ParsedType ParsedDestTy,
    clang::SourceLocation BuiltinLoc,
    clang::SourceLocation RParenLoc)

Description

__builtin_astype(...)

Declared at: clang/include/clang/Sema/Sema.h:5922

Parameters

clang::Expr* E
clang::ParsedType ParsedDestTy
clang::SourceLocation BuiltinLoc
clang::SourceLocation RParenLoc

clang::Decl* ActOnAtEnd(
    clang::Scope* S,
    clang::SourceRange AtEnd,
    ArrayRef<clang::Decl*> allMethods = None,
    ArrayRef<clang::Sema::DeclGroupPtrTy>
        allTUVars = None)

Declared at: clang/include/clang/Sema/Sema.h:10030

Parameters

clang::Scope* S
clang::SourceRange AtEnd
ArrayRef<clang::Decl*> allMethods = None
ArrayRef<clang::Sema::DeclGroupPtrTy> allTUVars = None

clang::StmtResult ActOnAttributedStmt(
    const clang::ParsedAttributes& AttrList,
    clang::Stmt* SubStmt)

Declared at: clang/include/clang/Sema/Sema.h:4950

Parameters

const clang::ParsedAttributes& AttrList
clang::Stmt* SubStmt

clang::BaseResult ActOnBaseSpecifier(
    clang::Decl* classdecl,
    clang::SourceRange SpecifierRange,
    const clang::ParsedAttributesView& Attrs,
    bool Virtual,
    clang::AccessSpecifier Access,
    clang::ParsedType basetype,
    clang::SourceLocation BaseLoc,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Sema.h:7533

Parameters

clang::Decl* classdecl
clang::SourceRange SpecifierRange
const clang::ParsedAttributesView& Attrs
bool Virtual
clang::AccessSpecifier Access
clang::ParsedType basetype
clang::SourceLocation BaseLoc
clang::SourceLocation EllipsisLoc

void ActOnBaseSpecifiers(
    clang::Decl* ClassDecl,
    MutableArrayRef<clang::CXXBaseSpecifier*>
        Bases)

Declared at: clang/include/clang/Sema/Sema.h:7541

Parameters

clang::Decl* ClassDecl
MutableArrayRef<clang::CXXBaseSpecifier*> Bases

clang::ExprResult ActOnBinOp(
    clang::Scope* S,
    clang::SourceLocation TokLoc,
    tok::TokenKind Kind,
    clang::Expr* LHSExpr,
    clang::Expr* RHSExpr)

Declared at: clang/include/clang/Sema/Sema.h:5777

Parameters

clang::Scope* S
clang::SourceLocation TokLoc
tok::TokenKind Kind
clang::Expr* LHSExpr
clang::Expr* RHSExpr

void ActOnBlockArguments(
    clang::SourceLocation CaretLoc,
    clang::Declarator& ParamInfo,
    clang::Scope* CurScope)

Description

ActOnBlockArguments - This callback allows processing of block arguments. If there are no arguments, this is still invoked.

Declared at: clang/include/clang/Sema/Sema.h:5900

Parameters

clang::SourceLocation CaretLoc
clang::Declarator& ParamInfo
clang::Scope* CurScope

void ActOnBlockError(
    clang::SourceLocation CaretLoc,
    clang::Scope* CurScope)

Description

ActOnBlockError - If there is an error parsing a block, this callback is invoked to pop the information about the block from the action impl.

Declared at: clang/include/clang/Sema/Sema.h:5905

Parameters

clang::SourceLocation CaretLoc
clang::Scope* CurScope

void ActOnBlockStart(
    clang::SourceLocation CaretLoc,
    clang::Scope* CurScope)

Description

ActOnBlockStart - This callback is invoked when a block literal is started.

Declared at: clang/include/clang/Sema/Sema.h:5896

Parameters

clang::SourceLocation CaretLoc
clang::Scope* CurScope

clang::ExprResult ActOnBlockStmtExpr(
    clang::SourceLocation CaretLoc,
    clang::Stmt* Body,
    clang::Scope* CurScope)

Description

ActOnBlockStmtExpr - This is called when the body of a block statement literal was successfully completed. ^(int x){...}

Declared at: clang/include/clang/Sema/Sema.h:5909

Parameters

clang::SourceLocation CaretLoc
clang::Stmt* Body
clang::Scope* CurScope

clang::StmtResult ActOnBreakStmt(
    clang::SourceLocation BreakLoc,
    clang::Scope* CurScope)

Declared at: clang/include/clang/Sema/Sema.h:5026

Parameters

clang::SourceLocation BreakLoc
clang::Scope* CurScope

clang::ExprResult ActOnBuiltinBitCastExpr(
    clang::SourceLocation KWLoc,
    clang::Declarator& Dcl,
    clang::ExprResult Operand,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:6416

Parameters

clang::SourceLocation KWLoc
clang::Declarator& Dcl
clang::ExprResult Operand
clang::SourceLocation RParenLoc

clang::ExprResult ActOnBuiltinOffsetOf(
    clang::Scope* S,
    clang::SourceLocation BuiltinLoc,
    clang::SourceLocation TypeLoc,
    clang::ParsedType ParsedArgTy,
    ArrayRef<clang::Sema::OffsetOfComponent>
        Components,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:5822

Parameters

clang::Scope* S
clang::SourceLocation BuiltinLoc
clang::SourceLocation TypeLoc
clang::ParsedType ParsedArgTy
ArrayRef<clang::Sema::OffsetOfComponent> Components
clang::SourceLocation RParenLoc

clang::ExprResult ActOnCUDAExecConfigExpr(
    clang::Scope* S,
    clang::SourceLocation LLLLoc,
    clang::MultiExprArg ExecConfig,
    clang::SourceLocation GGGLoc)

Declared at: clang/include/clang/Sema/Sema.h:5730

Parameters

clang::Scope* S
clang::SourceLocation LLLLoc
clang::MultiExprArg ExecConfig
clang::SourceLocation GGGLoc

clang::ExprResult ActOnCXXBoolLiteral(
    clang::SourceLocation OpLoc,
    tok::TokenKind Kind)

Description

ActOnCXXBoolLiteral - Parse {true,false} literals.

Declared at: clang/include/clang/Sema/Sema.h:6528

Parameters

clang::SourceLocation OpLoc
tok::TokenKind Kind

clang::StmtResult ActOnCXXCatchBlock(
    clang::SourceLocation CatchLoc,
    clang::Decl* ExDecl,
    clang::Stmt* HandlerBlock)

Declared at: clang/include/clang/Sema/Sema.h:5133

Parameters

clang::SourceLocation CatchLoc
clang::Decl* ExDecl
clang::Stmt* HandlerBlock

clang::DeclResult ActOnCXXConditionDeclaration(
    clang::Scope* S,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:12465

Parameters

clang::Scope* S
clang::Declarator& D

clang::ExprResult ActOnCXXDelete(
    clang::SourceLocation StartLoc,
    bool UseGlobal,
    bool ArrayForm,
    clang::Expr* Operand)

Description

ActOnCXXDelete - Parsed a C++ 'delete' expression

Declared at: clang/include/clang/Sema/Sema.h:6630

Parameters

clang::SourceLocation StartLoc
bool UseGlobal
bool ArrayForm
clang::Expr* Operand

void ActOnCXXEnterDeclInitializer(
    clang::Scope* S,
    clang::Decl* Dcl)

Description

ActOnCXXEnterDeclInitializer - Invoked when we are about to parse an initializer for the declaration 'Dcl'. After this method is called, according to [C++ 3.4.1p13], if 'Dcl' is a static data member of class X, names should be looked up in the scope of class X.

Declared at: clang/include/clang/Sema/Sema.h:6930

Parameters

clang::Scope* S
clang::Decl* Dcl

bool ActOnCXXEnterDeclaratorScope(
    clang::Scope* S,
    clang::CXXScopeSpec& SS)

Description

ActOnCXXEnterDeclaratorScope - Called when a C++ scope specifier (global scope or nested-name-specifier) is parsed, part of a declarator-id. After this method is called, according to [C++ 3.4.3p3], names should be looked up in the declarator-id's scope, until the declarator is parsed and ActOnCXXExitDeclaratorScope is called. The 'SS' should be a non-empty valid CXXScopeSpec.

Declared at: clang/include/clang/Sema/Sema.h:6916

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS

void ActOnCXXExitDeclInitializer(clang::Scope* S,
                                 clang::Decl* Dcl)

Description

ActOnCXXExitDeclInitializer - Invoked after we are finished parsing an initializer for the declaration 'Dcl'.

Declared at: clang/include/clang/Sema/Sema.h:6934

Parameters

clang::Scope* S
clang::Decl* Dcl

void ActOnCXXExitDeclaratorScope(
    clang::Scope* S,
    const clang::CXXScopeSpec& SS)

Description

ActOnCXXExitDeclaratorScope - Called when a declarator that previously invoked ActOnCXXEnterDeclaratorScope(), is finished. 'SS' is the same CXXScopeSpec that was passed to ActOnCXXEnterDeclaratorScope as well. Used to indicate that names should revert to being looked up in the defining scope.

Declared at: clang/include/clang/Sema/Sema.h:6923

Parameters

clang::Scope* S
const clang::CXXScopeSpec& SS

clang::ExprResult ActOnCXXFoldExpr(
    clang::Scope* S,
    clang::SourceLocation LParenLoc,
    clang::Expr* LHS,
    tok::TokenKind Operator,
    clang::SourceLocation EllipsisLoc,
    clang::Expr* RHS,
    clang::SourceLocation RParenLoc)

Description

Handle a C++1z fold-expression: ( expr op ... op expr ).

Declared at: clang/include/clang/Sema/Sema.h:6454

Parameters

clang::Scope* S
clang::SourceLocation LParenLoc
clang::Expr* LHS
tok::TokenKind Operator
clang::SourceLocation EllipsisLoc
clang::Expr* RHS
clang::SourceLocation RParenLoc

void ActOnCXXForRangeDecl(clang::Decl* D)

Declared at: clang/include/clang/Sema/Sema.h:2970

Parameters

clang::Decl* D

clang::StmtResult ActOnCXXForRangeIdentifier(
    clang::Scope* S,
    clang::SourceLocation IdentLoc,
    clang::IdentifierInfo* Ident,
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Sema/Sema.h:2971

Parameters

clang::Scope* S
clang::SourceLocation IdentLoc
clang::IdentifierInfo* Ident
clang::ParsedAttributes& Attrs

clang::StmtResult ActOnCXXForRangeStmt(
    clang::Scope* S,
    clang::SourceLocation ForLoc,
    clang::SourceLocation CoawaitLoc,
    clang::Stmt* InitStmt,
    clang::Stmt* LoopVar,
    clang::SourceLocation ColonLoc,
    clang::Expr* Collection,
    clang::SourceLocation RParenLoc,
    clang::Sema::BuildForRangeKind Kind)

Declared at: clang/include/clang/Sema/Sema.h:5001

Parameters

clang::Scope* S
clang::SourceLocation ForLoc
clang::SourceLocation CoawaitLoc
clang::Stmt* InitStmt
clang::Stmt* LoopVar
clang::SourceLocation ColonLoc
clang::Expr* Collection
clang::SourceLocation RParenLoc
clang::Sema::BuildForRangeKind Kind

bool ActOnCXXGlobalScopeSpecifier(
    clang::SourceLocation CCLoc,
    clang::CXXScopeSpec& SS)

Description

The parser has parsed a global nested-name-specifier '::'.

Declared at: clang/include/clang/Sema/Sema.h:6747

Parameters

clang::SourceLocation CCLoc
The location of the '::'.
clang::CXXScopeSpec& SS
The nested-name-specifier, which will be updated in-place to reflect the parsed nested-name-specifier.

Returns

true if an error occurred, false otherwise.

clang::NamedDecl* ActOnCXXMemberDeclarator(
    clang::Scope* S,
    clang::AccessSpecifier AS,
    clang::Declarator& D,
    clang::MultiTemplateParamsArg
        TemplateParameterLists,
    clang::Expr* BitfieldWidth,
    const clang::VirtSpecifiers& VS,
    clang::InClassInitStyle InitStyle)

Declared at: clang/include/clang/Sema/Sema.h:7292

Parameters

clang::Scope* S
clang::AccessSpecifier AS
clang::Declarator& D
clang::MultiTemplateParamsArg TemplateParameterLists
clang::Expr* BitfieldWidth
const clang::VirtSpecifiers& VS
clang::InClassInitStyle InitStyle

clang::ExprResult ActOnCXXNamedCast(
    clang::SourceLocation OpLoc,
    tok::TokenKind Kind,
    clang::SourceLocation LAngleBracketLoc,
    clang::Declarator& D,
    clang::SourceLocation RAngleBracketLoc,
    clang::SourceLocation LParenLoc,
    clang::Expr* E,
    clang::SourceLocation RParenLoc)

Description

ActOnCXXNamedCast - Parse {dynamic,static,reinterpret,const,addrspace}_cast's.

Declared at: clang/include/clang/Sema/Sema.h:6400

Parameters

clang::SourceLocation OpLoc
tok::TokenKind Kind
clang::SourceLocation LAngleBracketLoc
clang::Declarator& D
clang::SourceLocation RAngleBracketLoc
clang::SourceLocation LParenLoc
clang::Expr* E
clang::SourceLocation RParenLoc

bool ActOnCXXNestedNameSpecifier(
    clang::Scope* S,
    clang::Sema::NestedNameSpecInfo& IdInfo,
    bool EnteringContext,
    clang::CXXScopeSpec& SS,
    bool* IsCorrectedToColon = nullptr,
    bool OnlyNamespace = false)

Description

The parser has parsed a nested-name-specifier 'identifier::'.

Declared at: clang/include/clang/Sema/Sema.h:6833

Parameters

clang::Scope* S
The scope in which this nested-name-specifier occurs.
clang::Sema::NestedNameSpecInfo& IdInfo
Parser information about an identifier in the nested-name-spec.
bool EnteringContext
Whether we're entering the context nominated by this nested-name-specifier.
clang::CXXScopeSpec& SS
The nested-name-specifier, which is both an input parameter (the nested-name-specifier before this type) and an output parameter (containing the full nested-name-specifier, including this new type).
bool* IsCorrectedToColon = nullptr
If not null, suggestions to replace '::' -> ':' are allowed. The bool value pointed by this parameter is set to 'true' if the identifier is treated as if it was followed by ':', not '::'.
bool OnlyNamespace = false
If true, only considers namespaces in lookup.

Returns

true if an error occurred, false otherwise.

bool ActOnCXXNestedNameSpecifier(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::Sema::TemplateTy TemplateName,
    clang::SourceLocation TemplateNameLoc,
    clang::SourceLocation LAngleLoc,
    clang::ASTTemplateArgsPtr TemplateArgs,
    clang::SourceLocation RAngleLoc,
    clang::SourceLocation CCLoc,
    bool EnteringContext)

Description

The parser has parsed a nested-name-specifier 'template[opt] template-name < template-args >::'.

Declared at: clang/include/clang/Sema/Sema.h:6873

Parameters

clang::Scope* S
The scope in which this nested-name-specifier occurs.
clang::CXXScopeSpec& SS
The nested-name-specifier, which is both an input parameter (the nested-name-specifier before this type) and an output parameter (containing the full nested-name-specifier, including this new type).
clang::SourceLocation TemplateKWLoc
the location of the 'template' keyword, if any.
clang::Sema::TemplateTy TemplateName
the template name.
clang::SourceLocation TemplateNameLoc
The location of the template name.
clang::SourceLocation LAngleLoc
The location of the opening angle bracket (' < ').
clang::ASTTemplateArgsPtr TemplateArgs
The template arguments.
clang::SourceLocation RAngleLoc
The location of the closing angle bracket ('>').
clang::SourceLocation CCLoc
The location of the '::'.
bool EnteringContext
Whether we're entering the context of the nested-name-specifier.

Returns

true if an error occurred, false otherwise.

bool ActOnCXXNestedNameSpecifierDecltype(
    clang::CXXScopeSpec& SS,
    const clang::DeclSpec& DS,
    clang::SourceLocation ColonColonLoc)

Declared at: clang/include/clang/Sema/Sema.h:6842

Parameters

clang::CXXScopeSpec& SS
const clang::DeclSpec& DS
clang::SourceLocation ColonColonLoc

clang::ExprResult ActOnCXXNew(
    clang::SourceLocation StartLoc,
    bool UseGlobal,
    clang::SourceLocation PlacementLParen,
    clang::MultiExprArg PlacementArgs,
    clang::SourceLocation PlacementRParen,
    clang::SourceRange TypeIdParens,
    clang::Declarator& D,
    clang::Expr* Initializer)

Description

ActOnCXXNew - Parsed a C++ 'new' expression.

Declared at: clang/include/clang/Sema/Sema.h:6564

Parameters

clang::SourceLocation StartLoc
bool UseGlobal
clang::SourceLocation PlacementLParen
clang::MultiExprArg PlacementArgs
clang::SourceLocation PlacementRParen
clang::SourceRange TypeIdParens
clang::Declarator& D
clang::Expr* Initializer

clang::ExprResult ActOnCXXNullPtrLiteral(
    clang::SourceLocation Loc)

Description

ActOnCXXNullPtrLiteral - Parse 'nullptr'.

Declared at: clang/include/clang/Sema/Sema.h:6539

Parameters

clang::SourceLocation Loc

clang::ExprResult ActOnCXXThis(
    clang::SourceLocation loc)

Description

/ ActOnCXXThis - Parse 'this' pointer.

Declared at: clang/include/clang/Sema/Sema.h:6468

Parameters

clang::SourceLocation loc

clang::ExprResult ActOnCXXThrow(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    clang::Expr* expr)

Description

/ ActOnCXXThrow - Parse throw expressions.

Declared at: clang/include/clang/Sema/Sema.h:6542

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
clang::Expr* expr

clang::StmtResult ActOnCXXTryBlock(
    clang::SourceLocation TryLoc,
    clang::Stmt* TryBlock,
    ArrayRef<clang::Stmt*> Handlers)

Declared at: clang/include/clang/Sema/Sema.h:5135

Parameters

clang::SourceLocation TryLoc
clang::Stmt* TryBlock
ArrayRef<clang::Stmt*> Handlers

clang::ExprResult ActOnCXXTypeConstructExpr(
    clang::ParsedType TypeRep,
    clang::SourceLocation LParenOrBraceLoc,
    clang::MultiExprArg Exprs,
    clang::SourceLocation RParenOrBraceLoc,
    bool ListInitialization)

Description

ActOnCXXTypeConstructExpr - Parse construction of a specified type. Can be interpreted either as function-style casting ("int(x)") or class type construction ("ClassType(x,y,z)") or creation of a value-initialized type ("int()").

Declared at: clang/include/clang/Sema/Sema.h:6551

Parameters

clang::ParsedType TypeRep
clang::SourceLocation LParenOrBraceLoc
clang::MultiExprArg Exprs
clang::SourceLocation RParenOrBraceLoc
bool ListInitialization

clang::ExprResult ActOnCXXTypeid(
    clang::SourceLocation OpLoc,
    clang::SourceLocation LParenLoc,
    bool isType,
    void* TyOrExpr,
    clang::SourceLocation RParenLoc)

Description

ActOnCXXTypeid - Parse typeid( something ).

Declared at: clang/include/clang/Sema/Sema.h:6433

Parameters

clang::SourceLocation OpLoc
clang::SourceLocation LParenLoc
bool isType
void* TyOrExpr
clang::SourceLocation RParenLoc

clang::ExprResult ActOnCXXUuidof(
    clang::SourceLocation OpLoc,
    clang::SourceLocation LParenLoc,
    bool isType,
    void* TyOrExpr,
    clang::SourceLocation RParenLoc)

Description

ActOnCXXUuidof - Parse __uuidof( something ).

Declared at: clang/include/clang/Sema/Sema.h:6448

Parameters

clang::SourceLocation OpLoc
clang::SourceLocation LParenLoc
bool isType
void* TyOrExpr
clang::SourceLocation RParenLoc

clang::ExprResult ActOnCallExpr(
    clang::Scope* S,
    clang::Expr* Fn,
    clang::SourceLocation LParenLoc,
    clang::MultiExprArg ArgExprs,
    clang::SourceLocation RParenLoc,
    clang::Expr* ExecConfig = nullptr)

Description

ActOnCallExpr - Handle a call to Fn with the specified array of arguments. This provides the location of the left/right parens and a list of comma locations.

Declared at: clang/include/clang/Sema/Sema.h:5708

Parameters

clang::Scope* S
clang::Expr* Fn
clang::SourceLocation LParenLoc
clang::MultiExprArg ArgExprs
clang::SourceLocation RParenLoc
clang::Expr* ExecConfig = nullptr

clang::StmtResult ActOnCapScopeReturnStmt(
    clang::SourceLocation ReturnLoc,
    clang::Expr* RetValExp,
    clang::Sema::NamedReturnInfo& NRInfo,
    bool SupressSimplerImplicitMoves)

Declared at: clang/include/clang/Sema/Sema.h:5066

Parameters

clang::SourceLocation ReturnLoc
clang::Expr* RetValExp
clang::Sema::NamedReturnInfo& NRInfo
bool SupressSimplerImplicitMoves

clang::StmtResult ActOnCapturedRegionEnd(
    clang::Stmt* S)

Declared at: clang/include/clang/Sema/Sema.h:5035

Parameters

clang::Stmt* S

void ActOnCapturedRegionError()

Declared at: clang/include/clang/Sema/Sema.h:5036

void ActOnCapturedRegionStart(
    clang::SourceLocation Loc,
    clang::Scope* CurScope,
    clang::CapturedRegionKind Kind,
    unsigned int NumParams)

Declared at: clang/include/clang/Sema/Sema.h:5028

Parameters

clang::SourceLocation Loc
clang::Scope* CurScope
clang::CapturedRegionKind Kind
unsigned int NumParams

void ActOnCapturedRegionStart(
    clang::SourceLocation Loc,
    clang::Scope* CurScope,
    clang::CapturedRegionKind Kind,
    ArrayRef<clang::Sema::CapturedParamNameType>
        Params,
    unsigned int OpenMPCaptureLevel = 0)

Declared at: clang/include/clang/Sema/Sema.h:5031

Parameters

clang::SourceLocation Loc
clang::Scope* CurScope
clang::CapturedRegionKind Kind
ArrayRef<clang::Sema::CapturedParamNameType> Params
unsigned int OpenMPCaptureLevel = 0

clang::ExprResult ActOnCaseExpr(
    clang::SourceLocation CaseLoc,
    clang::ExprResult Val)

Declared at: clang/include/clang/Sema/Sema.h:4936

Parameters

clang::SourceLocation CaseLoc
clang::ExprResult Val

clang::StmtResult ActOnCaseStmt(
    clang::SourceLocation CaseLoc,
    clang::ExprResult LHS,
    clang::SourceLocation DotDotDotLoc,
    clang::ExprResult RHS,
    clang::SourceLocation ColonLoc)

Declared at: clang/include/clang/Sema/Sema.h:4937

Parameters

clang::SourceLocation CaseLoc
clang::ExprResult LHS
clang::SourceLocation DotDotDotLoc
clang::ExprResult RHS
clang::SourceLocation ColonLoc

void ActOnCaseStmtBody(clang::Stmt* CaseStmt,
                       clang::Stmt* SubStmt)

Declared at: clang/include/clang/Sema/Sema.h:4940

Parameters

clang::Stmt* CaseStmt
clang::Stmt* SubStmt

clang::ExprResult ActOnCastExpr(
    clang::Scope* S,
    clang::SourceLocation LParenLoc,
    clang::Declarator& D,
    clang::ParsedType& Ty,
    clang::SourceLocation RParenLoc,
    clang::Expr* CastExpr)

Declared at: clang/include/clang/Sema/Sema.h:5734

Parameters

clang::Scope* S
clang::SourceLocation LParenLoc
clang::Declarator& D
clang::ParsedType& Ty
clang::SourceLocation RParenLoc
clang::Expr* CastExpr

clang::ExprResult ActOnCharacterConstant(
    const clang::Token& Tok,
    clang::Scope* UDLScope = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5521

Parameters

const clang::Token& Tok
clang::Scope* UDLScope = nullptr

clang::ExprResult ActOnChooseExpr(
    clang::SourceLocation BuiltinLoc,
    clang::Expr* CondExpr,
    clang::Expr* LHSExpr,
    clang::Expr* RHSExpr,
    clang::SourceLocation RPLoc)

Declared at: clang/include/clang/Sema/Sema.h:5830

Parameters

clang::SourceLocation BuiltinLoc
clang::Expr* CondExpr
clang::Expr* LHSExpr
clang::Expr* RHSExpr
clang::SourceLocation RPLoc

clang::ExprResult ActOnClassMessage(
    clang::Scope* S,
    clang::ParsedType Receiver,
    clang::Selector Sel,
    clang::SourceLocation LBracLoc,
    ArrayRef<clang::SourceLocation> SelectorLocs,
    clang::SourceLocation RBracLoc,
    clang::MultiExprArg Args)

Declared at: clang/include/clang/Sema/Sema.h:10156

Parameters

clang::Scope* S
clang::ParsedType Receiver
clang::Selector Sel
clang::SourceLocation LBracLoc
ArrayRef<clang::SourceLocation> SelectorLocs
clang::SourceLocation RBracLoc
clang::MultiExprArg Args

clang::ExprResult ActOnClassPropertyRefExpr(
    clang::IdentifierInfo& receiverName,
    clang::IdentifierInfo& propertyName,
    clang::SourceLocation receiverNameLoc,
    clang::SourceLocation propertyNameLoc)

Declared at: clang/include/clang/Sema/Sema.h:10105

Parameters

clang::IdentifierInfo& receiverName
clang::IdentifierInfo& propertyName
clang::SourceLocation receiverNameLoc
clang::SourceLocation propertyNameLoc

clang::DeclResult
ActOnClassTemplateSpecialization(
    clang::Scope* S,
    unsigned int TagSpec,
    clang::Sema::TagUseKind TUK,
    clang::SourceLocation KWLoc,
    clang::SourceLocation ModulePrivateLoc,
    clang::CXXScopeSpec& SS,
    clang::TemplateIdAnnotation& TemplateId,
    const clang::ParsedAttributesView& Attr,
    clang::MultiTemplateParamsArg
        TemplateParameterLists,
    clang::Sema::SkipBodyInfo* SkipBody = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:8000

Parameters

clang::Scope* S
unsigned int TagSpec
clang::Sema::TagUseKind TUK
clang::SourceLocation KWLoc
clang::SourceLocation ModulePrivateLoc
clang::CXXScopeSpec& SS
clang::TemplateIdAnnotation& TemplateId
const clang::ParsedAttributesView& Attr
clang::MultiTemplateParamsArg TemplateParameterLists
clang::Sema::SkipBodyInfo* SkipBody = nullptr

clang::ExprResult ActOnCoawaitExpr(
    clang::Scope* S,
    clang::SourceLocation KwLoc,
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:10560

Parameters

clang::Scope* S
clang::SourceLocation KwLoc
clang::Expr* E

void ActOnComment(clang::SourceRange Comment)

Declared at: clang/include/clang/Sema/Sema.h:2005

Parameters

clang::SourceRange Comment

clang::Decl* ActOnCompatibilityAlias(
    clang::SourceLocation AtCompatibilityAliasLoc,
    clang::IdentifierInfo* AliasName,
    clang::SourceLocation AliasLocation,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassLocation)

Declared at: clang/include/clang/Sema/Sema.h:9891

Parameters

clang::SourceLocation AtCompatibilityAliasLoc
clang::IdentifierInfo* AliasName
clang::SourceLocation AliasLocation
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassLocation

clang::ExprResult ActOnCompoundLiteral(
    clang::SourceLocation LParenLoc,
    clang::ParsedType Ty,
    clang::SourceLocation RParenLoc,
    clang::Expr* InitExpr)

Declared at: clang/include/clang/Sema/Sema.h:5750

Parameters

clang::SourceLocation LParenLoc
clang::ParsedType Ty
clang::SourceLocation RParenLoc
clang::Expr* InitExpr

concepts::Requirement* ActOnCompoundRequirement(
    clang::Expr* E,
    clang::SourceLocation NoexceptLoc)

Declared at: clang/include/clang/Sema/Sema.h:8283

Parameters

clang::Expr* E
clang::SourceLocation NoexceptLoc

concepts::Requirement* ActOnCompoundRequirement(
    clang::Expr* E,
    clang::SourceLocation NoexceptLoc,
    clang::CXXScopeSpec& SS,
    clang::TemplateIdAnnotation* TypeConstraint,
    unsigned int Depth)

Declared at: clang/include/clang/Sema/Sema.h:8286

Parameters

clang::Expr* E
clang::SourceLocation NoexceptLoc
clang::CXXScopeSpec& SS
clang::TemplateIdAnnotation* TypeConstraint
unsigned int Depth

clang::StmtResult ActOnCompoundStmt(
    clang::SourceLocation L,
    clang::SourceLocation R,
    ArrayRef<clang::Stmt*> Elts,
    bool isStmtExpr)

Declared at: clang/include/clang/Sema/Sema.h:4901

Parameters

clang::SourceLocation L
clang::SourceLocation R
ArrayRef<clang::Stmt*> Elts
bool isStmtExpr

clang::Decl* ActOnConceptDefinition(
    clang::Scope* S,
    clang::MultiTemplateParamsArg
        TemplateParameterLists,
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc,
    clang::Expr* ConstraintExpr)

Declared at: clang/include/clang/Sema/Sema.h:8267

Parameters

clang::Scope* S
clang::MultiTemplateParamsArg TemplateParameterLists
clang::IdentifierInfo* Name
clang::SourceLocation NameLoc
clang::Expr* ConstraintExpr

clang::Sema::ConditionResult ActOnCondition(
    clang::Scope* S,
    clang::SourceLocation Loc,
    clang::Expr* SubExpr,
    clang::Sema::ConditionKind CK,
    bool MissingOK = false)

Declared at: clang/include/clang/Sema/Sema.h:12458

Parameters

clang::Scope* S
clang::SourceLocation Loc
clang::Expr* SubExpr
clang::Sema::ConditionKind CK
bool MissingOK = false

clang::Sema::ConditionResult
ActOnConditionVariable(
    clang::Decl* ConditionVar,
    clang::SourceLocation StmtLoc,
    clang::Sema::ConditionKind CK)

Declared at: clang/include/clang/Sema/Sema.h:12461

Parameters

clang::Decl* ConditionVar
clang::SourceLocation StmtLoc
clang::Sema::ConditionKind CK

clang::ExprResult ActOnConditionalOp(
    clang::SourceLocation QuestionLoc,
    clang::SourceLocation ColonLoc,
    clang::Expr* CondExpr,
    clang::Expr* LHSExpr,
    clang::Expr* RHSExpr)

Description

ActOnConditionalOp - Parse a ?: operation. Note that 'LHS' may be null in the case of a the GNU conditional expr extension.

Declared at: clang/include/clang/Sema/Sema.h:5790

Parameters

clang::SourceLocation QuestionLoc
clang::SourceLocation ColonLoc
clang::Expr* CondExpr
clang::Expr* LHSExpr
clang::Expr* RHSExpr

clang::ExprResult ActOnConstantExpression(
    clang::ExprResult Res)

Declared at: clang/include/clang/Sema/Sema.h:5267

Parameters

clang::ExprResult Res

clang::StmtResult ActOnContinueStmt(
    clang::SourceLocation ContinueLoc,
    clang::Scope* CurScope)

Declared at: clang/include/clang/Sema/Sema.h:5025

Parameters

clang::SourceLocation ContinueLoc
clang::Scope* CurScope

clang::Decl* ActOnConversionDeclarator(
    clang::CXXConversionDecl* Conversion)

Declared at: clang/include/clang/Sema/Sema.h:7504

Parameters

clang::CXXConversionDecl* Conversion

clang::ExprResult ActOnConvertVectorExpr(
    clang::Expr* E,
    clang::ParsedType ParsedDestTy,
    clang::SourceLocation BuiltinLoc,
    clang::SourceLocation RParenLoc)

Description

__builtin_convertvector(...)

Declared at: clang/include/clang/Sema/Sema.h:5915

Parameters

clang::Expr* E
clang::ParsedType ParsedDestTy
clang::SourceLocation BuiltinLoc
clang::SourceLocation RParenLoc

clang::StmtResult ActOnCoreturnStmt(
    clang::Scope* S,
    clang::SourceLocation KwLoc,
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:10562

Parameters

clang::Scope* S
clang::SourceLocation KwLoc
clang::Expr* E

bool ActOnCoroutineBodyStart(
    clang::Scope* S,
    clang::SourceLocation KwLoc,
    llvm::StringRef Keyword)

Declared at: clang/include/clang/Sema/Sema.h:10558

Parameters

clang::Scope* S
clang::SourceLocation KwLoc
llvm::StringRef Keyword

clang::ExprResult ActOnCoyieldExpr(
    clang::Scope* S,
    clang::SourceLocation KwLoc,
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:10561

Parameters

clang::Scope* S
clang::SourceLocation KwLoc
clang::Expr* E

clang::StmtResult ActOnDeclStmt(
    clang::Sema::DeclGroupPtrTy Decl,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Declared at: clang/include/clang/Sema/Sema.h:4931

Parameters

clang::Sema::DeclGroupPtrTy Decl
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::Decl* ActOnDeclarator(clang::Scope* S,
                             clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:2797

Parameters

clang::Scope* S
clang::Declarator& D

clang::ExprResult ActOnDecltypeExpression(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:6840

Parameters

clang::Expr* E

clang::NamedDecl* ActOnDecompositionDeclarator(
    clang::Scope* S,
    clang::Declarator& D,
    clang::MultiTemplateParamsArg
        TemplateParamLists)

Declared at: clang/include/clang/Sema/Sema.h:2858

Parameters

clang::Scope* S
clang::Declarator& D
clang::MultiTemplateParamsArg TemplateParamLists

void ActOnDefaultCtorInitializers(
    clang::Decl* CDtorDecl)

Declared at: clang/include/clang/Sema/Sema.h:5694

Parameters

clang::Decl* CDtorDecl

clang::StmtResult ActOnDefaultStmt(
    clang::SourceLocation DefaultLoc,
    clang::SourceLocation ColonLoc,
    clang::Stmt* SubStmt,
    clang::Scope* CurScope)

Declared at: clang/include/clang/Sema/Sema.h:4942

Parameters

clang::SourceLocation DefaultLoc
clang::SourceLocation ColonLoc
clang::Stmt* SubStmt
clang::Scope* CurScope

void ActOnDefs(
    clang::Scope* S,
    clang::Decl* TagD,
    clang::SourceLocation DeclStart,
    clang::IdentifierInfo* ClassName,
    SmallVectorImpl<clang::Decl*>& Decls)

Declared at: clang/include/clang/Sema/Sema.h:3263

Parameters

clang::Scope* S
clang::Decl* TagD
clang::SourceLocation DeclStart
clang::IdentifierInfo* ClassName
SmallVectorImpl<clang::Decl*>& Decls

void ActOnDelayedCXXMethodParameter(
    clang::Scope* S,
    clang::Decl* Param)

Declared at: clang/include/clang/Sema/Sema.h:7469

Parameters

clang::Scope* S
clang::Decl* Param

clang::ExprResult ActOnDependentIdExpression(
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    const clang::DeclarationNameInfo& NameInfo,
    bool isAddressOfOperand,
    const clang::TemplateArgumentListInfo*
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:5426

Parameters

const clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
const clang::DeclarationNameInfo& NameInfo
bool isAddressOfOperand
const clang::TemplateArgumentListInfo* TemplateArgs

clang::ExprResult ActOnDependentMemberExpr(
    clang::Expr* Base,
    clang::QualType BaseType,
    bool IsArrow,
    clang::SourceLocation OpLoc,
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::NamedDecl* FirstQualifierInScope,
    const clang::DeclarationNameInfo& NameInfo,
    const clang::TemplateArgumentListInfo*
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:5661

Parameters

clang::Expr* Base
clang::QualType BaseType
bool IsArrow
clang::SourceLocation OpLoc
const clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::NamedDecl* FirstQualifierInScope
const clang::DeclarationNameInfo& NameInfo
const clang::TemplateArgumentListInfo* TemplateArgs

clang::TypeResult ActOnDependentTag(
    clang::Scope* S,
    unsigned int TagSpec,
    clang::Sema::TagUseKind TUK,
    const clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* Name,
    clang::SourceLocation TagLoc,
    clang::SourceLocation NameLoc)

Declared at: clang/include/clang/Sema/Sema.h:3255

Parameters

clang::Scope* S
unsigned int TagSpec
clang::Sema::TagUseKind TUK
const clang::CXXScopeSpec& SS
clang::IdentifierInfo* Name
clang::SourceLocation TagLoc
clang::SourceLocation NameLoc

clang::ExprResult ActOnDesignatedInitializer(
    clang::Designation& Desig,
    clang::SourceLocation EqualOrColonLoc,
    bool GNUSyntax,
    clang::ExprResult Init)

Declared at: clang/include/clang/Sema/Sema.h:5768

Parameters

clang::Designation& Desig
clang::SourceLocation EqualOrColonLoc
bool GNUSyntax
clang::ExprResult Init

clang::StmtResult ActOnDoStmt(
    clang::SourceLocation DoLoc,
    clang::Stmt* Body,
    clang::SourceLocation WhileLoc,
    clang::SourceLocation CondLParen,
    clang::Expr* Cond,
    clang::SourceLocation CondRParen)

Declared at: clang/include/clang/Sema/Sema.h:4972

Parameters

clang::SourceLocation DoLoc
clang::Stmt* Body
clang::SourceLocation WhileLoc
clang::SourceLocation CondLParen
clang::Expr* Cond
clang::SourceLocation CondRParen

void ActOnDocumentableDecl(clang::Decl* D)

Description

Should be called on all declarations that might have attached documentation comments.

Declared at: clang/include/clang/Sema/Sema.h:2984

Parameters

clang::Decl* D

void ActOnDocumentableDecls(
    ArrayRef<clang::Decl*> Group)

Declared at: clang/include/clang/Sema/Sema.h:2985

Parameters

ArrayRef<clang::Decl*> Group

bool ActOnDuplicateDefinition(
    clang::Decl* Prev,
    clang::Sema::SkipBodyInfo& SkipBody)

Description

Perform ODR-like check for C/ObjC when merging tag types from modules. Differently from C++, actually parse the body and reject / error out in case of a structural mismatch.

Declared at: clang/include/clang/Sema/Sema.h:3368

Parameters

clang::Decl* Prev
clang::Sema::SkipBodyInfo& SkipBody

clang::Decl* ActOnEmptyDeclaration(
    clang::Scope* S,
    const clang::ParsedAttributesView& AttrList,
    clang::SourceLocation SemiLoc)

Description

Handle a C++11 empty-declaration and attribute-declaration.

Declared at: clang/include/clang/Sema/Sema.h:3066

Parameters

clang::Scope* S
const clang::ParsedAttributesView& AttrList
clang::SourceLocation SemiLoc

void ActOnEndOfTranslationUnit()

Declared at: clang/include/clang/Sema/Sema.h:1912

void ActOnEndOfTranslationUnitFragment(
    clang::Sema::TUFragmentKind Kind)

Declared at: clang/include/clang/Sema/Sema.h:1913

Parameters

clang::Sema::TUFragmentKind Kind

void ActOnEnumBody(
    clang::SourceLocation EnumLoc,
    clang::SourceRange BraceRange,
    clang::Decl* EnumDecl,
    ArrayRef<clang::Decl*> Elements,
    clang::Scope* S,
    const clang::ParsedAttributesView& Attr)

Declared at: clang/include/clang/Sema/Sema.h:3425

Parameters

clang::SourceLocation EnumLoc
clang::SourceRange BraceRange
clang::Decl* EnumDecl
ArrayRef<clang::Decl*> Elements
clang::Scope* S
const clang::ParsedAttributesView& Attr

clang::Decl* ActOnEnumConstant(
    clang::Scope* S,
    clang::Decl* EnumDecl,
    clang::Decl* LastEnumConstant,
    clang::SourceLocation IdLoc,
    clang::IdentifierInfo* Id,
    const clang::ParsedAttributesView& Attrs,
    clang::SourceLocation EqualLoc,
    clang::Expr* Val)

Declared at: clang/include/clang/Sema/Sema.h:3421

Parameters

clang::Scope* S
clang::Decl* EnumDecl
clang::Decl* LastEnumConstant
clang::SourceLocation IdLoc
clang::IdentifierInfo* Id
const clang::ParsedAttributesView& Attrs
clang::SourceLocation EqualLoc
clang::Expr* Val

clang::Decl* ActOnExceptionDeclarator(
    clang::Scope* S,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:5131

Parameters

clang::Scope* S
clang::Declarator& D

void ActOnExitFunctionContext()

Declared at: clang/include/clang/Sema/Sema.h:3445

clang::ExplicitSpecifier
ActOnExplicitBoolSpecifier(clang::Expr* E)

Description

ActOnExplicitBoolSpecifier - Build an ExplicitSpecifier from an expression found in an explicit(bool) specifier.

Declared at: clang/include/clang/Sema/Sema.h:12485

Parameters

clang::Expr* E

clang::DeclResult ActOnExplicitInstantiation(
    clang::Scope* S,
    clang::SourceLocation ExternLoc,
    clang::SourceLocation TemplateLoc,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:8052

Parameters

clang::Scope* S
clang::SourceLocation ExternLoc
clang::SourceLocation TemplateLoc
clang::Declarator& D

clang::DeclResult ActOnExplicitInstantiation(
    clang::Scope* S,
    clang::SourceLocation ExternLoc,
    clang::SourceLocation TemplateLoc,
    unsigned int TagSpec,
    clang::SourceLocation KWLoc,
    const clang::CXXScopeSpec& SS,
    clang::Sema::TemplateTy Template,
    clang::SourceLocation TemplateNameLoc,
    clang::SourceLocation LAngleLoc,
    clang::ASTTemplateArgsPtr TemplateArgs,
    clang::SourceLocation RAngleLoc,
    const clang::ParsedAttributesView& Attr)

Declared at: clang/include/clang/Sema/Sema.h:8038

Parameters

clang::Scope* S
clang::SourceLocation ExternLoc
clang::SourceLocation TemplateLoc
unsigned int TagSpec
clang::SourceLocation KWLoc
const clang::CXXScopeSpec& SS
clang::Sema::TemplateTy Template
clang::SourceLocation TemplateNameLoc
clang::SourceLocation LAngleLoc
clang::ASTTemplateArgsPtr TemplateArgs
clang::SourceLocation RAngleLoc
const clang::ParsedAttributesView& Attr

clang::DeclResult ActOnExplicitInstantiation(
    clang::Scope* S,
    clang::SourceLocation ExternLoc,
    clang::SourceLocation TemplateLoc,
    unsigned int TagSpec,
    clang::SourceLocation KWLoc,
    clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc,
    const clang::ParsedAttributesView& Attr)

Declared at: clang/include/clang/Sema/Sema.h:8045

Parameters

clang::Scope* S
clang::SourceLocation ExternLoc
clang::SourceLocation TemplateLoc
unsigned int TagSpec
clang::SourceLocation KWLoc
clang::CXXScopeSpec& SS
clang::IdentifierInfo* Name
clang::SourceLocation NameLoc
const clang::ParsedAttributesView& Attr

clang::StmtResult ActOnExprStmt(
    clang::ExprResult Arg,
    bool DiscardedValue = true)

Declared at: clang/include/clang/Sema/Sema.h:4892

Parameters

clang::ExprResult Arg
bool DiscardedValue = true

clang::StmtResult ActOnExprStmtError()

Declared at: clang/include/clang/Sema/Sema.h:4893

clang::ExprResult ActOnExpressionTrait(
    clang::ExpressionTrait OET,
    clang::SourceLocation KWLoc,
    clang::Expr* Queried,
    clang::SourceLocation RParen)

Description

ActOnExpressionTrait - Parsed one of the unary type trait support pseudo-functions.

Declared at: clang/include/clang/Sema/Sema.h:6667

Parameters

clang::ExpressionTrait OET
clang::SourceLocation KWLoc
clang::Expr* Queried
clang::SourceLocation RParen

clang::Decl* ActOnField(
    clang::Scope* S,
    clang::Decl* TagD,
    clang::SourceLocation DeclStart,
    clang::Declarator& D,
    clang::Expr* BitfieldWidth)

Declared at: clang/include/clang/Sema/Sema.h:3266

Parameters

clang::Scope* S
clang::Decl* TagD
clang::SourceLocation DeclStart
clang::Declarator& D
clang::Expr* BitfieldWidth

void ActOnFields(
    clang::Scope* S,
    clang::SourceLocation RecLoc,
    clang::Decl* TagDecl,
    ArrayRef<clang::Decl*> Fields,
    clang::SourceLocation LBrac,
    clang::SourceLocation RBrac,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:3356

Parameters

clang::Scope* S
clang::SourceLocation RecLoc
clang::Decl* TagDecl
ArrayRef<clang::Decl*> Fields
clang::SourceLocation LBrac
clang::SourceLocation RBrac
const clang::ParsedAttributesView& AttrList

clang::Decl* ActOnFileScopeAsmDecl(
    clang::Expr* expr,
    clang::SourceLocation AsmLoc,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:3061

Parameters

clang::Expr* expr
clang::SourceLocation AsmLoc
clang::SourceLocation RParenLoc

void ActOnFinishCXXInClassMemberInitializer(
    clang::Decl* VarDecl,
    clang::SourceLocation EqualLoc,
    clang::Expr* Init)

Declared at: clang/include/clang/Sema/Sema.h:7299

Parameters

clang::Decl* VarDecl
clang::SourceLocation EqualLoc
clang::Expr* Init

void ActOnFinishCXXMemberDecls()

Declared at: clang/include/clang/Sema/Sema.h:7461

void ActOnFinishCXXMemberSpecification(
    clang::Scope* S,
    clang::SourceLocation RLoc,
    clang::Decl* TagDecl,
    clang::SourceLocation LBrac,
    clang::SourceLocation RBrac,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:7457

Parameters

clang::Scope* S
clang::SourceLocation RLoc
clang::Decl* TagDecl
clang::SourceLocation LBrac
clang::SourceLocation RBrac
const clang::ParsedAttributesView& AttrList

void ActOnFinishCXXNonNestedClass()

Declared at: clang/include/clang/Sema/Sema.h:7462

void ActOnFinishDelayedAttribute(
    clang::Scope* S,
    clang::Decl* D,
    clang::ParsedAttributes& Attrs)

Description

ActOnFinishDelayedAttribute - Invoked when we have finished parsing an attribute for which parsing is delayed.

Declared at: clang/include/clang/Sema/Sema.h:3047

Parameters

clang::Scope* S
clang::Decl* D
clang::ParsedAttributes& Attrs

void ActOnFinishDelayedCXXMethodDeclaration(
    clang::Scope* S,
    clang::Decl* Method)

Declared at: clang/include/clang/Sema/Sema.h:7471

Parameters

clang::Scope* S
clang::Decl* Method

void ActOnFinishDelayedMemberDeclarations(
    clang::Scope* S,
    clang::Decl* Record)

Declared at: clang/include/clang/Sema/Sema.h:7470

Parameters

clang::Scope* S
clang::Decl* Record

void ActOnFinishDelayedMemberInitializers(
    clang::Decl* Record)

Declared at: clang/include/clang/Sema/Sema.h:7472

Parameters

clang::Decl* Record

clang::Decl* ActOnFinishExportDecl(
    clang::Scope* S,
    clang::Decl* ExportDecl,
    clang::SourceLocation RBraceLoc)

Declared at: clang/include/clang/Sema/Sema.h:3169

Parameters

clang::Scope* S
clang::Decl* ExportDecl
clang::SourceLocation RBraceLoc

clang::ExprResult ActOnFinishFullExpr(
    clang::Expr* Expr,
    bool DiscardedValue)

Declared at: clang/include/clang/Sema/Sema.h:6719

Parameters

clang::Expr* Expr
bool DiscardedValue

clang::ExprResult ActOnFinishFullExpr(
    clang::Expr* Expr,
    clang::SourceLocation CC,
    bool DiscardedValue,
    bool IsConstexpr = false)

Declared at: clang/include/clang/Sema/Sema.h:6723

Parameters

clang::Expr* Expr
clang::SourceLocation CC
bool DiscardedValue
bool IsConstexpr = false

clang::StmtResult ActOnFinishFullStmt(
    clang::Stmt* Stmt)

Declared at: clang/include/clang/Sema/Sema.h:6725

Parameters

clang::Stmt* Stmt

clang::Decl* ActOnFinishFunctionBody(
    clang::Decl* Decl,
    clang::Stmt* Body,
    bool IsInstantiation)

Declared at: clang/include/clang/Sema/Sema.h:3041

Parameters

clang::Decl* Decl
clang::Stmt* Body
bool IsInstantiation

clang::Decl* ActOnFinishFunctionBody(
    clang::Decl* Decl,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:3040

Parameters

clang::Decl* Decl
clang::Stmt* Body

void ActOnFinishFunctionDeclarationDeclarator(
    clang::Declarator& D)

Description

Called after parsing a function declarator belonging to a function declaration.

Declared at: clang/include/clang/Sema/Sema.h:2003

Parameters

clang::Declarator& D

void ActOnFinishInlineFunctionDef(
    clang::FunctionDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:3043

Parameters

clang::FunctionDecl* D

void ActOnFinishKNRParamDeclarations(
    clang::Scope* S,
    clang::Declarator& D,
    clang::SourceLocation LocAfterDecls)

Declared at: clang/include/clang/Sema/Sema.h:2999

Parameters

clang::Scope* S
clang::Declarator& D
clang::SourceLocation LocAfterDecls

clang::Decl* ActOnFinishLinkageSpecification(
    clang::Scope* S,
    clang::Decl* LinkageSpec,
    clang::SourceLocation RBraceLoc)

Declared at: clang/include/clang/Sema/Sema.h:7275

Parameters

clang::Scope* S
clang::Decl* LinkageSpec
clang::SourceLocation RBraceLoc

void ActOnFinishNamespaceDef(
    clang::Decl* Dcl,
    clang::SourceLocation RBrace)

Declared at: clang/include/clang/Sema/Sema.h:5938

Parameters

clang::Decl* Dcl
clang::SourceLocation RBrace

clang::Sema::DeclGroupPtrTy
ActOnFinishObjCImplementation(
    clang::Decl* ObjCImpDecl,
    ArrayRef<clang::Decl*> Decls)

Declared at: clang/include/clang/Sema/Sema.h:9925

Parameters

clang::Decl* ObjCImpDecl
ArrayRef<clang::Decl*> Decls

void ActOnFinishOfCompoundStmt()

Declared at: clang/include/clang/Sema/Sema.h:4900

void ActOnFinishRequiresExpr()

Declared at: clang/include/clang/Sema/Sema.h:8278

clang::StmtResult ActOnFinishSEHFinallyBlock(
    clang::SourceLocation Loc,
    clang::Stmt* Block)

Declared at: clang/include/clang/Sema/Sema.h:5146

Parameters

clang::SourceLocation Loc
clang::Stmt* Block

clang::StmtResult ActOnFinishSwitchStmt(
    clang::SourceLocation SwitchLoc,
    clang::Stmt* Switch,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:4967

Parameters

clang::SourceLocation SwitchLoc
clang::Stmt* Switch
clang::Stmt* Body

clang::ExprResult
ActOnFinishTrailingRequiresClause(
    clang::ExprResult ConstraintExpr)

Declared at: clang/include/clang/Sema/Sema.h:3013

Parameters

clang::ExprResult ConstraintExpr

void ActOnFinishedFunctionDefinitionInOpenMPAssumeScope(
    clang::Decl* D)

Description

Act on \p D, a function definition inside of an `omp [begin/end] assumes`.

Declared at: clang/include/clang/Sema/Sema.h:10705

Parameters

clang::Decl* D

void ActOnFinishedFunctionDefinitionInOpenMPDeclareVariantScope(
    clang::Decl* D,
    SmallVectorImpl<clang::FunctionDecl*>& Bases)

Description

Register \p D as specialization of all base functions in \p Bases in the current `omp begin/end declare variant` scope.

Declared at: clang/include/clang/Sema/Sema.h:10701

Parameters

clang::Decl* D
SmallVectorImpl<clang::FunctionDecl*>& Bases

void ActOnFinishedOpenMPDeclareTargetContext(
    clang::Sema::DeclareTargetContextInfo& DTCI)

Description

Called once a target context is completed, that can be when a '#pragma omp end declare target' was encountered or when a '#pragma omp declare target' without declaration-definition-seq was encountered.

Declared at: clang/include/clang/Sema/Sema.h:10912

Parameters

clang::Sema::DeclareTargetContextInfo& DTCI

void ActOnForEachDeclStmt(
    clang::Sema::DeclGroupPtrTy Decl)

Declared at: clang/include/clang/Sema/Sema.h:4934

Parameters

clang::Sema::DeclGroupPtrTy Decl

clang::StmtResult ActOnForEachLValueExpr(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:4935

Parameters

clang::Expr* E

clang::StmtResult ActOnForStmt(
    clang::SourceLocation ForLoc,
    clang::SourceLocation LParenLoc,
    clang::Stmt* First,
    clang::Sema::ConditionResult Second,
    clang::Sema::FullExprArg Third,
    clang::SourceLocation RParenLoc,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:4976

Parameters

clang::SourceLocation ForLoc
clang::SourceLocation LParenLoc
clang::Stmt* First
clang::Sema::ConditionResult Second
clang::Sema::FullExprArg Third
clang::SourceLocation RParenLoc
clang::Stmt* Body

clang::Sema::DeclGroupPtrTy
ActOnForwardClassDeclaration(
    clang::SourceLocation Loc,
    clang::IdentifierInfo** IdentList,
    clang::SourceLocation* IdentLocs,
    ArrayRef<clang::ObjCTypeParamList*>
        TypeParamLists,
    unsigned int NumElts)

Declared at: clang/include/clang/Sema/Sema.h:9928

Parameters

clang::SourceLocation Loc
clang::IdentifierInfo** IdentList
clang::SourceLocation* IdentLocs
ArrayRef<clang::ObjCTypeParamList*> TypeParamLists
unsigned int NumElts

clang::Sema::DeclGroupPtrTy
ActOnForwardProtocolDeclaration(
    clang::SourceLocation AtProtoclLoc,
    ArrayRef<clang::IdentifierLocPair> IdentList,
    const clang::ParsedAttributesView& attrList)

Declared at: clang/include/clang/Sema/Sema.h:9935

Parameters

clang::SourceLocation AtProtoclLoc
ArrayRef<clang::IdentifierLocPair> IdentList
const clang::ParsedAttributesView& attrList

clang::NamedDecl* ActOnFriendFunctionDecl(
    clang::Scope* S,
    clang::Declarator& D,
    clang::MultiTemplateParamsArg TemplateParams)

Declared at: clang/include/clang/Sema/Sema.h:7493

Parameters

clang::Scope* S
clang::Declarator& D
clang::MultiTemplateParamsArg TemplateParams

clang::Decl* ActOnFriendTypeDecl(
    clang::Scope* S,
    const clang::DeclSpec& DS,
    clang::MultiTemplateParamsArg TemplateParams)

Declared at: clang/include/clang/Sema/Sema.h:7491

Parameters

clang::Scope* S
const clang::DeclSpec& DS
clang::MultiTemplateParamsArg TemplateParams

clang::NamedDecl* ActOnFunctionDeclarator(
    clang::Scope* S,
    clang::Declarator& D,
    clang::DeclContext* DC,
    clang::TypeSourceInfo* TInfo,
    clang::LookupResult& Previous,
    clang::MultiTemplateParamsArg
        TemplateParamLists,
    bool& AddToScope)

Declared at: clang/include/clang/Sema/Sema.h:2869

Parameters

clang::Scope* S
clang::Declarator& D
clang::DeclContext* DC
clang::TypeSourceInfo* TInfo
clang::LookupResult& Previous
clang::MultiTemplateParamsArg TemplateParamLists
bool& AddToScope

clang::StmtResult ActOnGCCAsmStmt(
    clang::SourceLocation AsmLoc,
    bool IsSimple,
    bool IsVolatile,
    unsigned int NumOutputs,
    unsigned int NumInputs,
    clang::IdentifierInfo** Names,
    clang::MultiExprArg Constraints,
    clang::MultiExprArg Exprs,
    clang::Expr* AsmString,
    clang::MultiExprArg Clobbers,
    unsigned int NumLabels,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:5070

Parameters

clang::SourceLocation AsmLoc
bool IsSimple
bool IsVolatile
unsigned int NumOutputs
unsigned int NumInputs
clang::IdentifierInfo** Names
clang::MultiExprArg Constraints
clang::MultiExprArg Exprs
clang::Expr* AsmString
clang::MultiExprArg Clobbers
unsigned int NumLabels
clang::SourceLocation RParenLoc

clang::ExprResult ActOnGNUNullExpr(
    clang::SourceLocation TokenLoc)

Declared at: clang/include/clang/Sema/Sema.h:5853

Parameters

clang::SourceLocation TokenLoc

clang::ExprResult ActOnGenericSelectionExpr(
    clang::SourceLocation KeyLoc,
    clang::SourceLocation DefaultLoc,
    clang::SourceLocation RParenLoc,
    clang::Expr* ControllingExpr,
    ArrayRef<clang::ParsedType> ArgTypes,
    ArrayRef<clang::Expr*> ArgExprs)

Declared at: clang/include/clang/Sema/Sema.h:5533

Parameters

clang::SourceLocation KeyLoc
clang::SourceLocation DefaultLoc
clang::SourceLocation RParenLoc
clang::Expr* ControllingExpr
ArrayRef<clang::ParsedType> ArgTypes
ArrayRef<clang::Expr*> ArgExprs

clang::Sema::DeclGroupPtrTy
ActOnGlobalModuleFragmentDecl(
    clang::SourceLocation ModuleLoc)

Description

The parser has processed a global-module-fragment declaration that begins the definition of the global module fragment of the current module unit.

Declared at: clang/include/clang/Sema/Sema.h:3104

Parameters

clang::SourceLocation ModuleLoc
The location of the 'module' keyword.

clang::StmtResult ActOnGotoStmt(
    clang::SourceLocation GotoLoc,
    clang::SourceLocation LabelLoc,
    clang::LabelDecl* TheDecl)

Declared at: clang/include/clang/Sema/Sema.h:5019

Parameters

clang::SourceLocation GotoLoc
clang::SourceLocation LabelLoc
clang::LabelDecl* TheDecl

clang::ExprResult ActOnIdExpression(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::UnqualifiedId& Id,
    bool HasTrailingLParen,
    bool IsAddressOfOperand,
    clang::CorrectionCandidateCallback* CCC =
        nullptr,
    bool IsInlineAsmIdentifier = false,
    clang::Token* KeywordReplacement = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5399

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::UnqualifiedId& Id
bool HasTrailingLParen
bool IsAddressOfOperand
clang::CorrectionCandidateCallback* CCC = nullptr
bool IsInlineAsmIdentifier = false
clang::Token* KeywordReplacement = nullptr

clang::StmtResult ActOnIfStmt(
    clang::SourceLocation IfLoc,
    clang::IfStatementKind StatementKind,
    clang::SourceLocation LParenLoc,
    clang::Stmt* InitStmt,
    clang::Sema::ConditionResult Cond,
    clang::SourceLocation RParenLoc,
    clang::Stmt* ThenVal,
    clang::SourceLocation ElseLoc,
    clang::Stmt* ElseVal)

Declared at: clang/include/clang/Sema/Sema.h:4955

Parameters

clang::SourceLocation IfLoc
clang::IfStatementKind StatementKind
clang::SourceLocation LParenLoc
clang::Stmt* InitStmt
clang::Sema::ConditionResult Cond
clang::SourceLocation RParenLoc
clang::Stmt* ThenVal
clang::SourceLocation ElseLoc
clang::Stmt* ElseVal

clang::StmtResult ActOnIndirectGotoStmt(
    clang::SourceLocation GotoLoc,
    clang::SourceLocation StarLoc,
    clang::Expr* DestExp)

Declared at: clang/include/clang/Sema/Sema.h:5022

Parameters

clang::SourceLocation GotoLoc
clang::SourceLocation StarLoc
clang::Expr* DestExp

clang::ExprResult ActOnInitList(
    clang::SourceLocation LBraceLoc,
    clang::MultiExprArg InitArgList,
    clang::SourceLocation RBraceLoc)

Declared at: clang/include/clang/Sema/Sema.h:5760

Parameters

clang::SourceLocation LBraceLoc
clang::MultiExprArg InitArgList
clang::SourceLocation RBraceLoc

void ActOnInitializerError(clang::Decl* Dcl)

Declared at: clang/include/clang/Sema/Sema.h:2967

Parameters

clang::Decl* Dcl

clang::ExprResult ActOnInstanceMessage(
    clang::Scope* S,
    clang::Expr* Receiver,
    clang::Selector Sel,
    clang::SourceLocation LBracLoc,
    ArrayRef<clang::SourceLocation> SelectorLocs,
    clang::SourceLocation RBracLoc,
    clang::MultiExprArg Args)

Declared at: clang/include/clang/Sema/Sema.h:10182

Parameters

clang::Scope* S
clang::Expr* Receiver
clang::Selector Sel
clang::SourceLocation LBracLoc
ArrayRef<clang::SourceLocation> SelectorLocs
clang::SourceLocation RBracLoc
clang::MultiExprArg Args

clang::ExprResult ActOnIntegerConstant(
    clang::SourceLocation Loc,
    uint64_t Val)

Declared at: clang/include/clang/Sema/Sema.h:5507

Parameters

clang::SourceLocation Loc
uint64_t Val

clang::Decl* ActOnIvar(
    clang::Scope* S,
    clang::SourceLocation DeclStart,
    clang::Declarator& D,
    clang::Expr* BitfieldWidth,
    tok::ObjCKeywordKind visibility)

Declared at: clang/include/clang/Sema/Sema.h:3351

Parameters

clang::Scope* S
clang::SourceLocation DeclStart
clang::Declarator& D
clang::Expr* BitfieldWidth
tok::ObjCKeywordKind visibility

clang::StmtResult ActOnLabelStmt(
    clang::SourceLocation IdentLoc,
    clang::LabelDecl* TheDecl,
    clang::SourceLocation ColonLoc,
    clang::Stmt* SubStmt)

Declared at: clang/include/clang/Sema/Sema.h:4945

Parameters

clang::SourceLocation IdentLoc
clang::LabelDecl* TheDecl
clang::SourceLocation ColonLoc
clang::Stmt* SubStmt

void ActOnLambdaError(
    clang::SourceLocation StartLoc,
    clang::Scope* CurScope,
    bool IsInstantiation = false)

Description

ActOnLambdaError - If there is an error parsing a lambda, this callback is invoked to pop the information about the lambda.

Declared at: clang/include/clang/Sema/Sema.h:7024

Parameters

clang::SourceLocation StartLoc
clang::Scope* CurScope
bool IsInstantiation = false

void ActOnLambdaExplicitTemplateParameterList(
    clang::SourceLocation LAngleLoc,
    ArrayRef<clang::NamedDecl*> TParams,
    clang::SourceLocation RAngleLoc,
    clang::ExprResult RequiresClause)

Description

This is called after parsing the explicit template parameter list on a lambda (if it exists) in C++2a.

Declared at: clang/include/clang/Sema/Sema.h:7001

Parameters

clang::SourceLocation LAngleLoc
ArrayRef<clang::NamedDecl*> TParams
clang::SourceLocation RAngleLoc
clang::ExprResult RequiresClause

clang::ExprResult ActOnLambdaExpr(
    clang::SourceLocation StartLoc,
    clang::Stmt* Body,
    clang::Scope* CurScope)

Description

ActOnLambdaExpr - This is called when the body of a lambda expression was successfully completed.

Declared at: clang/include/clang/Sema/Sema.h:7029

Parameters

clang::SourceLocation StartLoc
clang::Stmt* Body
clang::Scope* CurScope

void ActOnLastBitfield(
    clang::SourceLocation DeclStart,
    SmallVectorImpl<clang::Decl*>& AllIvarDecls)

Declared at: clang/include/clang/Sema/Sema.h:3349

Parameters

clang::SourceLocation DeclStart
SmallVectorImpl<clang::Decl*>& AllIvarDecls

clang::StmtResult ActOnMSAsmStmt(
    clang::SourceLocation AsmLoc,
    clang::SourceLocation LBraceLoc,
    ArrayRef<clang::Token> AsmToks,
    llvm::StringRef AsmString,
    unsigned int NumOutputs,
    unsigned int NumInputs,
    ArrayRef<llvm::StringRef> Constraints,
    ArrayRef<llvm::StringRef> Clobbers,
    ArrayRef<clang::Expr*> Exprs,
    clang::SourceLocation EndLoc)

Declared at: clang/include/clang/Sema/Sema.h:5088

Parameters

clang::SourceLocation AsmLoc
clang::SourceLocation LBraceLoc
ArrayRef<clang::Token> AsmToks
llvm::StringRef AsmString
unsigned int NumOutputs
unsigned int NumInputs
ArrayRef<llvm::StringRef> Constraints
ArrayRef<llvm::StringRef> Clobbers
ArrayRef<clang::Expr*> Exprs
clang::SourceLocation EndLoc

clang::StmtResult ActOnMSDependentExistsStmt(
    clang::SourceLocation KeywordLoc,
    bool IsIfExists,
    clang::CXXScopeSpec& SS,
    clang::UnqualifiedId& Name,
    clang::Stmt* Nested)

Declared at: clang/include/clang/Sema/Sema.h:5887

Parameters

clang::SourceLocation KeywordLoc
bool IsIfExists
clang::CXXScopeSpec& SS
clang::UnqualifiedId& Name
clang::Stmt* Nested

clang::ParsedType ActOnMSVCUnknownTypeName(
    const clang::IdentifierInfo& II,
    clang::SourceLocation NameLoc,
    bool IsTemplateTypeArg)

Description

Attempt to behave like MSVC in situations where lookup of an unqualified type name has failed in a dependent context. In these situations, we automatically form a DependentTypeName that will retry lookup in a related scope during instantiation.

Declared at: clang/include/clang/Sema/Sema.h:2554

Parameters

const clang::IdentifierInfo& II
clang::SourceLocation NameLoc
bool IsTemplateTypeArg

clang::MemInitResult ActOnMemInitializer(
    clang::Decl* ConstructorD,
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* MemberOrBase,
    clang::ParsedType TemplateTypeTy,
    const clang::DeclSpec& DS,
    clang::SourceLocation IdLoc,
    clang::SourceLocation LParenLoc,
    ArrayRef<clang::Expr*> Args,
    clang::SourceLocation RParenLoc,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Sema.h:7303

Parameters

clang::Decl* ConstructorD
clang::Scope* S
clang::CXXScopeSpec& SS
clang::IdentifierInfo* MemberOrBase
clang::ParsedType TemplateTypeTy
const clang::DeclSpec& DS
clang::SourceLocation IdLoc
clang::SourceLocation LParenLoc
ArrayRef<clang::Expr*> Args
clang::SourceLocation RParenLoc
clang::SourceLocation EllipsisLoc

clang::MemInitResult ActOnMemInitializer(
    clang::Decl* ConstructorD,
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* MemberOrBase,
    clang::ParsedType TemplateTypeTy,
    const clang::DeclSpec& DS,
    clang::SourceLocation IdLoc,
    clang::Expr* InitList,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Sema.h:7315

Parameters

clang::Decl* ConstructorD
clang::Scope* S
clang::CXXScopeSpec& SS
clang::IdentifierInfo* MemberOrBase
clang::ParsedType TemplateTypeTy
const clang::DeclSpec& DS
clang::SourceLocation IdLoc
clang::Expr* InitList
clang::SourceLocation EllipsisLoc

void ActOnMemInitializers(
    clang::Decl* ConstructorDecl,
    clang::SourceLocation ColonLoc,
    ArrayRef<clang::CXXCtorInitializer*> MemInits,
    bool AnyErrors)

Declared at: clang/include/clang/Sema/Sema.h:7422

Parameters

clang::Decl* ConstructorDecl
clang::SourceLocation ColonLoc
ArrayRef<clang::CXXCtorInitializer*> MemInits
bool AnyErrors

clang::ExprResult ActOnMemberAccessExpr(
    clang::Scope* S,
    clang::Expr* Base,
    clang::SourceLocation OpLoc,
    tok::TokenKind OpKind,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::UnqualifiedId& Member,
    clang::Decl* ObjCImpDecl)

Declared at: clang/include/clang/Sema/Sema.h:5669

Parameters

clang::Scope* S
clang::Expr* Base
clang::SourceLocation OpLoc
tok::TokenKind OpKind
clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::UnqualifiedId& Member
clang::Decl* ObjCImpDecl

clang::Decl* ActOnMethodDeclaration(
    clang::Scope* S,
    clang::SourceLocation BeginLoc,
    clang::SourceLocation EndLoc,
    tok::TokenKind MethodType,
    clang::ObjCDeclSpec& ReturnQT,
    clang::ParsedType ReturnType,
    ArrayRef<clang::SourceLocation> SelectorLocs,
    clang::Selector Sel,
    clang::Sema::ObjCArgInfo* ArgInfo,
    DeclaratorChunk::ParamInfo* CParamInfo,
    unsigned int CNumArgs,
    const clang::ParsedAttributesView& AttrList,
    tok::ObjCKeywordKind MethodImplKind,
    bool isVariadic,
    bool MethodDefinition)

Declared at: clang/include/clang/Sema/Sema.h:10071

Parameters

clang::Scope* S
clang::SourceLocation BeginLoc
clang::SourceLocation EndLoc
tok::TokenKind MethodType
clang::ObjCDeclSpec& ReturnQT
clang::ParsedType ReturnType
ArrayRef<clang::SourceLocation> SelectorLocs
clang::Selector Sel
clang::Sema::ObjCArgInfo* ArgInfo
DeclaratorChunk::ParamInfo* CParamInfo
unsigned int CNumArgs
const clang::ParsedAttributesView& AttrList
tok::ObjCKeywordKind MethodImplKind
bool isVariadic
bool MethodDefinition

void ActOnModuleBegin(
    clang::SourceLocation DirectiveLoc,
    clang::Module* Mod)

Description

The parsed has entered a submodule.

Declared at: clang/include/clang/Sema/Sema.h:3136

Parameters

clang::SourceLocation DirectiveLoc
clang::Module* Mod

clang::Sema::DeclGroupPtrTy ActOnModuleDecl(
    clang::SourceLocation StartLoc,
    clang::SourceLocation ModuleLoc,
    clang::Sema::ModuleDeclKind MDK,
    clang::ModuleIdPath Path,
    clang::ModuleIdPath Partition,
    clang::Sema::ModuleImportState& ImportState)

Description

The parser has processed a module-declaration that begins the definition of a module interface or implementation.

Declared at: clang/include/clang/Sema/Sema.h:3096

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation ModuleLoc
clang::Sema::ModuleDeclKind MDK
clang::ModuleIdPath Path
clang::ModuleIdPath Partition
clang::Sema::ModuleImportState& ImportState

void ActOnModuleEnd(
    clang::SourceLocation DirectiveLoc,
    clang::Module* Mod)

Description

The parser has left a submodule.

Declared at: clang/include/clang/Sema/Sema.h:3138

Parameters

clang::SourceLocation DirectiveLoc
clang::Module* Mod

clang::DeclResult ActOnModuleImport(
    clang::SourceLocation StartLoc,
    clang::SourceLocation ExportLoc,
    clang::SourceLocation ImportLoc,
    clang::Module* M,
    clang::ModuleIdPath Path = {})

Declared at: clang/include/clang/Sema/Sema.h:3125

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation ExportLoc
clang::SourceLocation ImportLoc
clang::Module* M
clang::ModuleIdPath Path = {}

clang::DeclResult ActOnModuleImport(
    clang::SourceLocation StartLoc,
    clang::SourceLocation ExportLoc,
    clang::SourceLocation ImportLoc,
    clang::ModuleIdPath Path,
    bool IsPartition = false)

Description

The parser has processed a module import declaration.

Declared at: clang/include/clang/Sema/Sema.h:3121

Parameters

clang::SourceLocation StartLoc
The location of the first token in the declaration. This could be the location of an ' @ ', 'export', or 'import'.
clang::SourceLocation ExportLoc
The location of the 'export' keyword, if any.
clang::SourceLocation ImportLoc
The location of the 'import' keyword.
clang::ModuleIdPath Path
The module toplevel name as an access path.
bool IsPartition = false
If the name is for a partition.

void ActOnModuleInclude(
    clang::SourceLocation DirectiveLoc,
    clang::Module* Mod)

Description

The parser has processed a module import translated from a #include or similar preprocessing directive.

Declared at: clang/include/clang/Sema/Sema.h:3132

Parameters

clang::SourceLocation DirectiveLoc
clang::Module* Mod

clang::ExprResult
ActOnNameClassifiedAsDependentNonType(
    const clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc,
    bool IsAddressOfOperand)

Description

Act on the result of classifying a name as an undeclared member of a dependent base class.

Declared at: clang/include/clang/Sema/Sema.h:2746

Parameters

const clang::CXXScopeSpec& SS
clang::IdentifierInfo* Name
clang::SourceLocation NameLoc
bool IsAddressOfOperand

clang::ExprResult ActOnNameClassifiedAsNonType(
    clang::Scope* S,
    const clang::CXXScopeSpec& SS,
    clang::NamedDecl* Found,
    clang::SourceLocation NameLoc,
    const clang::Token& NextToken)

Description

Act on the result of classifying a name as a specific non-type declaration.

Declared at: clang/include/clang/Sema/Sema.h:2752

Parameters

clang::Scope* S
const clang::CXXScopeSpec& SS
clang::NamedDecl* Found
clang::SourceLocation NameLoc
const clang::Token& NextToken

clang::ExprResult
ActOnNameClassifiedAsOverloadSet(
    clang::Scope* S,
    clang::Expr* OverloadSet)

Description

Act on the result of classifying a name as an overload set.

Declared at: clang/include/clang/Sema/Sema.h:2757

Parameters

clang::Scope* S
clang::Expr* OverloadSet

clang::ExprResult
ActOnNameClassifiedAsUndeclaredNonType(
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc)

Description

Act on the result of classifying a name as an undeclared (ADL-only) non-type declaration.

Declared at: clang/include/clang/Sema/Sema.h:2742

Parameters

clang::IdentifierInfo* Name
clang::SourceLocation NameLoc

clang::Decl* ActOnNamespaceAliasDef(
    clang::Scope* CurScope,
    clang::SourceLocation NamespaceLoc,
    clang::SourceLocation AliasLoc,
    clang::IdentifierInfo* Alias,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation IdentLoc,
    clang::IdentifierInfo* Ident)

Declared at: clang/include/clang/Sema/Sema.h:6003

Parameters

clang::Scope* CurScope
clang::SourceLocation NamespaceLoc
clang::SourceLocation AliasLoc
clang::IdentifierInfo* Alias
clang::CXXScopeSpec& SS
clang::SourceLocation IdentLoc
clang::IdentifierInfo* Ident

concepts::Requirement* ActOnNestedRequirement(
    clang::Expr* Constraint)

Declared at: clang/include/clang/Sema/Sema.h:8289

Parameters

clang::Expr* Constraint

clang::ExprResult ActOnNoexceptExpr(
    clang::SourceLocation KeyLoc,
    clang::SourceLocation LParen,
    clang::Expr* Operand,
    clang::SourceLocation RParen)

Declared at: clang/include/clang/Sema/Sema.h:6638

Parameters

clang::SourceLocation KeyLoc
clang::SourceLocation LParen
clang::Expr* Operand
clang::SourceLocation RParen

clang::ExprResult ActOnNoexceptSpec(
    clang::Expr* NoexceptExpr,
    clang::ExceptionSpecificationType& EST)

Description

Check the given noexcept-specifier, convert its expression, and compute the appropriate ExceptionSpecificationType.

Declared at: clang/include/clang/Sema/Sema.h:6195

Parameters

clang::Expr* NoexceptExpr
clang::ExceptionSpecificationType& EST

clang::NamedDecl* ActOnNonTypeTemplateParameter(
    clang::Scope* S,
    clang::Declarator& D,
    unsigned int Depth,
    unsigned int Position,
    clang::SourceLocation EqualLoc,
    clang::Expr* DefaultArg)

Declared at: clang/include/clang/Sema/Sema.h:7855

Parameters

clang::Scope* S
clang::Declarator& D
unsigned int Depth
unsigned int Position
clang::SourceLocation EqualLoc
clang::Expr* DefaultArg

clang::StmtResult ActOnNullStmt(
    clang::SourceLocation SemiLoc,
    bool HasLeadingEmptyMacro = false)

Declared at: clang/include/clang/Sema/Sema.h:4895

Parameters

clang::SourceLocation SemiLoc
bool HasLeadingEmptyMacro = false

clang::ExprResult ActOnNumericConstant(
    const clang::Token& Tok,
    clang::Scope* UDLScope = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5520

Parameters

const clang::Token& Tok
clang::Scope* UDLScope = nullptr

clang::ExprResult ActOnOMPArraySectionExpr(
    clang::Expr* Base,
    clang::SourceLocation LBLoc,
    clang::Expr* LowerBound,
    clang::SourceLocation ColonLocFirst,
    clang::SourceLocation ColonLocSecond,
    clang::Expr* Length,
    clang::Expr* Stride,
    clang::SourceLocation RBLoc)

Declared at: clang/include/clang/Sema/Sema.h:5594

Parameters

clang::Expr* Base
clang::SourceLocation LBLoc
clang::Expr* LowerBound
clang::SourceLocation ColonLocFirst
clang::SourceLocation ColonLocSecond
clang::Expr* Length
clang::Expr* Stride
clang::SourceLocation RBLoc

clang::ExprResult ActOnOMPArrayShapingExpr(
    clang::Expr* Base,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation RParenLoc,
    ArrayRef<clang::Expr*> Dims,
    ArrayRef<clang::SourceRange> Brackets)

Declared at: clang/include/clang/Sema/Sema.h:5600

Parameters

clang::Expr* Base
clang::SourceLocation LParenLoc
clang::SourceLocation RParenLoc
ArrayRef<clang::Expr*> Dims
ArrayRef<clang::SourceRange> Brackets

clang::ExprResult ActOnOMPIteratorExpr(
    clang::Scope* S,
    clang::SourceLocation IteratorKwLoc,
    clang::SourceLocation LLoc,
    clang::SourceLocation RLoc,
    ArrayRef<clang::Sema::OMPIteratorData> Data)

Declared at: clang/include/clang/Sema/Sema.h:5616

Parameters

clang::Scope* S
clang::SourceLocation IteratorKwLoc
clang::SourceLocation LLoc
clang::SourceLocation RLoc
ArrayRef<clang::Sema::OMPIteratorData> Data

clang::StmtResult ActOnObjCAtCatchStmt(
    clang::SourceLocation AtLoc,
    clang::SourceLocation RParen,
    clang::Decl* Parm,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:5107

Parameters

clang::SourceLocation AtLoc
clang::SourceLocation RParen
clang::Decl* Parm
clang::Stmt* Body

clang::StmtResult ActOnObjCAtFinallyStmt(
    clang::SourceLocation AtLoc,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:5110

Parameters

clang::SourceLocation AtLoc
clang::Stmt* Body

clang::ExprResult ActOnObjCAtSynchronizedOperand(
    clang::SourceLocation atLoc,
    clang::Expr* operand)

Declared at: clang/include/clang/Sema/Sema.h:5118

Parameters

clang::SourceLocation atLoc
clang::Expr* operand

clang::StmtResult ActOnObjCAtSynchronizedStmt(
    clang::SourceLocation AtLoc,
    clang::Expr* SynchExpr,
    clang::Stmt* SynchBody)

Declared at: clang/include/clang/Sema/Sema.h:5120

Parameters

clang::SourceLocation AtLoc
clang::Expr* SynchExpr
clang::Stmt* SynchBody

clang::StmtResult ActOnObjCAtThrowStmt(
    clang::SourceLocation AtLoc,
    clang::Expr* Throw,
    clang::Scope* CurScope)

Declared at: clang/include/clang/Sema/Sema.h:5116

Parameters

clang::SourceLocation AtLoc
clang::Expr* Throw
clang::Scope* CurScope

clang::StmtResult ActOnObjCAtTryStmt(
    clang::SourceLocation AtLoc,
    clang::Stmt* Try,
    clang::MultiStmtArg Catch,
    clang::Stmt* Finally)

Declared at: clang/include/clang/Sema/Sema.h:5112

Parameters

clang::SourceLocation AtLoc
clang::Stmt* Try
clang::MultiStmtArg Catch
clang::Stmt* Finally

clang::StmtResult ActOnObjCAutoreleasePoolStmt(
    clang::SourceLocation AtLoc,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:5124

Parameters

clang::SourceLocation AtLoc
clang::Stmt* Body

clang::ExprResult ActOnObjCAvailabilityCheckExpr(
    llvm::ArrayRef<AvailabilitySpec> AvailSpecs,
    clang::SourceLocation AtLoc,
    clang::SourceLocation RParen)

Declared at: clang/include/clang/Sema/Sema.h:6535

Parameters

llvm::ArrayRef<AvailabilitySpec> AvailSpecs
clang::SourceLocation AtLoc
clang::SourceLocation RParen

clang::ExprResult ActOnObjCBoolLiteral(
    clang::SourceLocation OpLoc,
    tok::TokenKind Kind)

Description

ActOnObjCBoolLiteral - Parse {__objc_yes,__objc_no} literals.

Declared at: clang/include/clang/Sema/Sema.h:6532

Parameters

clang::SourceLocation OpLoc
tok::TokenKind Kind

clang::ExprResult ActOnObjCBoolLiteral(
    clang::SourceLocation AtLoc,
    clang::SourceLocation ValueLoc,
    bool Value)

Declared at: clang/include/clang/Sema/Sema.h:7220

Parameters

clang::SourceLocation AtLoc
clang::SourceLocation ValueLoc
bool Value

clang::ExprResult ActOnObjCBridgedCast(
    clang::Scope* S,
    clang::SourceLocation LParenLoc,
    clang::ObjCBridgeCastKind Kind,
    clang::SourceLocation BridgeKeywordLoc,
    clang::ParsedType Type,
    clang::SourceLocation RParenLoc,
    clang::Expr* SubExpr)

Declared at: clang/include/clang/Sema/Sema.h:10196

Parameters

clang::Scope* S
clang::SourceLocation LParenLoc
clang::ObjCBridgeCastKind Kind
clang::SourceLocation BridgeKeywordLoc
clang::ParsedType Type
clang::SourceLocation RParenLoc
clang::Expr* SubExpr

void ActOnObjCContainerFinishDefinition()

Declared at: clang/include/clang/Sema/Sema.h:3393

void ActOnObjCContainerStartDefinition(
    clang::ObjCContainerDecl* IDecl)

Declared at: clang/include/clang/Sema/Sema.h:3375

Parameters

clang::ObjCContainerDecl* IDecl

clang::Decl* ActOnObjCExceptionDecl(
    clang::Scope* S,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:5105

Parameters

clang::Scope* S
clang::Declarator& D

clang::StmtResult ActOnObjCForCollectionStmt(
    clang::SourceLocation ForColLoc,
    clang::Stmt* First,
    clang::Expr* collection,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:4985

Parameters

clang::SourceLocation ForColLoc
clang::Stmt* First
clang::Expr* collection
clang::SourceLocation RParenLoc

clang::ParsedType ActOnObjCInstanceType(
    clang::SourceLocation Loc)

Description

The parser has parsed the context-sensitive type 'instancetype' in an Objective-C message declaration. Return the appropriate type.

Declared at: clang/include/clang/Sema/Sema.h:2132

Parameters

clang::SourceLocation Loc

void ActOnObjCReenterContainerContext(
    clang::ObjCContainerDecl* ObjCCtx)

Declared at: clang/include/clang/Sema/Sema.h:3400

Parameters

clang::ObjCContainerDecl* ObjCCtx

void ActOnObjCTemporaryExitContainerContext(
    clang::ObjCContainerDecl* ObjCCtx)

Description

Invoked when we must temporarily exit the objective-c container scope for parsing/looking-up C constructs. Must be followed by a call to

Declared at: clang/include/clang/Sema/Sema.h:3399

Parameters

clang::ObjCContainerDecl* ObjCCtx

clang::OMPClause* ActOnOpenMPAcqRelClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'acq_rel' clause.

Declared at: clang/include/clang/Sema/Sema.h:11536

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPAcquireClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'acquire' clause.

Declared at: clang/include/clang/Sema/Sema.h:11539

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPAffinityClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation EndLoc,
    clang::Expr* Modifier,
    ArrayRef<clang::Expr*> Locators)

Description

Called on well-formed 'affinity' clause.

Declared at: clang/include/clang/Sema/Sema.h:11818

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation ColonLoc
clang::SourceLocation EndLoc
clang::Expr* Modifier
ArrayRef<clang::Expr*> Locators

clang::OMPClause* ActOnOpenMPAlignClause(
    clang::Expr* Alignment,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'align' clause.

Declared at: clang/include/clang/Sema/Sema.h:11408

Parameters

clang::Expr* Alignment
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPAlignedClause(
    ArrayRef<clang::Expr*> VarList,
    clang::Expr* Alignment,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'aligned' clause.

Declared at: clang/include/clang/Sema/Sema.h:11699

Parameters

ArrayRef<clang::Expr*> VarList
clang::Expr* Alignment
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation ColonLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPAllocateClause(
    clang::Expr* Allocator,
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'allocate' clause.

Declared at: clang/include/clang/Sema/Sema.h:11647

Parameters

clang::Expr* Allocator
ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation ColonLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::Sema::DeclGroupPtrTy
ActOnOpenMPAllocateDirective(
    clang::SourceLocation Loc,
    ArrayRef<clang::Expr*> VarList,
    ArrayRef<clang::OMPClause*> Clauses,
    clang::DeclContext* Owner = nullptr)

Description

Called on well-formed '#pragma omp allocate'.

Declared at: clang/include/clang/Sema/Sema.h:10833

Parameters

clang::SourceLocation Loc
ArrayRef<clang::Expr*> VarList
ArrayRef<clang::OMPClause*> Clauses
clang::DeclContext* Owner = nullptr

clang::OMPClause* ActOnOpenMPAllocatorClause(
    clang::Expr* Allocator,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'allocator' clause.

Declared at: clang/include/clang/Sema/Sema.h:11387

Parameters

clang::Expr* Allocator
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

void ActOnOpenMPAssumesDirective(
    clang::SourceLocation Loc,
    clang::OpenMPDirectiveKind DKind,
    ArrayRef<std::string> Assumptions,
    bool SkippedClauses)

Description

Called on well-formed '#pragma omp [begin] assume[s]'.

Declared at: clang/include/clang/Sema/Sema.h:10839

Parameters

clang::SourceLocation Loc
clang::OpenMPDirectiveKind DKind
ArrayRef<std::string> Assumptions
bool SkippedClauses

clang::OMPClause*
ActOnOpenMPAtomicDefaultMemOrderClause(
    clang::OpenMPAtomicDefaultMemOrderClauseKind
        Kind,
    clang::SourceLocation KindLoc,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'atomic_default_mem_order' clause.

Declared at: clang/include/clang/Sema/Sema.h:11606

Parameters

clang::OpenMPAtomicDefaultMemOrderClauseKind Kind
clang::SourceLocation KindLoc
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPAtomicDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp atomic' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11101

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPBarrierDirective(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp barrier'.

Declared at: clang/include/clang/Sema/Sema.h:11072

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

void ActOnOpenMPBeginDeclareVariant(
    clang::SourceLocation Loc,
    clang::OMPTraitInfo& TI)

Description

Handle a `omp begin declare variant`.

Declared at: clang/include/clang/Sema/Sema.h:10721

Parameters

clang::SourceLocation Loc
clang::OMPTraitInfo& TI

clang::OMPClause* ActOnOpenMPBindClause(
    clang::OpenMPBindClauseKind Kind,
    clang::SourceLocation KindLoc,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on a well-formed 'bind' clause.

Declared at: clang/include/clang/Sema/Sema.h:11824

Parameters

clang::OpenMPBindClauseKind Kind
clang::SourceLocation KindLoc
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::ExprResult ActOnOpenMPCall(
    clang::ExprResult Call,
    clang::Scope* Scope,
    clang::SourceLocation LParenLoc,
    clang::MultiExprArg ArgExprs,
    clang::SourceLocation RParenLoc,
    clang::Expr* ExecConfig)

Description

Given the potential call expression \p Call, determine if there is a specialization via the OpenMP declare variant mechanism available. If there is, return the specialized call expression, otherwise return the original \p Call.

Declared at: clang/include/clang/Sema/Sema.h:10716

Parameters

clang::ExprResult Call
clang::Scope* Scope
clang::SourceLocation LParenLoc
clang::MultiExprArg ArgExprs
clang::SourceLocation RParenLoc
clang::Expr* ExecConfig

clang::StmtResult ActOnOpenMPCancelDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::OpenMPDirectiveKind CancelRegion)

Description

Called on well-formed ' # pragma omp cancel'.

Declared at: clang/include/clang/Sema/Sema.h:11168

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::OpenMPDirectiveKind CancelRegion

clang::StmtResult
ActOnOpenMPCancellationPointDirective(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::OpenMPDirectiveKind CancelRegion)

Description

Called on well-formed ' # pragma omp cancellation point'.

Declared at: clang/include/clang/Sema/Sema.h:11164

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::OpenMPDirectiveKind CancelRegion

clang::StmtResult ActOnOpenMPCanonicalLoop(
    clang::Stmt* AStmt)

Description

Called for syntactical loops (ForStmt or CXXForRangeStmt) associated to an OpenMP loop directive.

Declared at: clang/include/clang/Sema/Sema.h:10957

Parameters

clang::Stmt* AStmt

clang::OMPClause* ActOnOpenMPCaptureClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'capture' clause.

Declared at: clang/include/clang/Sema/Sema.h:11527

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPClause(
    clang::OpenMPClauseKind Kind,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Declared at: clang/include/clang/Sema/Sema.h:11506

Parameters

clang::OpenMPClauseKind Kind
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPCollapseClause(
    clang::Expr* NumForLoops,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'collapse' clause.

Declared at: clang/include/clang/Sema/Sema.h:11433

Parameters

clang::Expr* NumForLoops
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPCompareClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'compare' clause.

Declared at: clang/include/clang/Sema/Sema.h:11530

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPCopyinClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'copyin' clause.

Declared at: clang/include/clang/Sema/Sema.h:11706

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPCopyprivateClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'copyprivate' clause.

Declared at: clang/include/clang/Sema/Sema.h:11711

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPCriticalDirective(
    const clang::DeclarationNameInfo& DirName,
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp critical' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11031

Parameters

const clang::DeclarationNameInfo& DirName
ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::Sema::DeclGroupPtrTy
ActOnOpenMPDeclareMapperDirective(
    clang::Scope* S,
    clang::DeclContext* DC,
    clang::DeclarationName Name,
    clang::QualType MapperType,
    clang::SourceLocation StartLoc,
    clang::DeclarationName VN,
    clang::AccessSpecifier AS,
    clang::Expr* MapperVarRef,
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Decl* PrevDeclInScope = nullptr)

Description

Called on start of '#pragma omp declare mapper'.

Declared at: clang/include/clang/Sema/Sema.h:10889

Parameters

clang::Scope* S
clang::DeclContext* DC
clang::DeclarationName Name
clang::QualType MapperType
clang::SourceLocation StartLoc
clang::DeclarationName VN
clang::AccessSpecifier AS
clang::Expr* MapperVarRef
ArrayRef<clang::OMPClause*> Clauses
clang::Decl* PrevDeclInScope = nullptr

clang::ExprResult
ActOnOpenMPDeclareMapperDirectiveVarDecl(
    clang::Scope* S,
    clang::QualType MapperType,
    clang::SourceLocation StartLoc,
    clang::DeclarationName VN)

Description

Build the mapper variable of '#pragma omp declare mapper'.

Declared at: clang/include/clang/Sema/Sema.h:10895

Parameters

clang::Scope* S
clang::QualType MapperType
clang::SourceLocation StartLoc
clang::DeclarationName VN

clang::QualType ActOnOpenMPDeclareMapperType(
    clang::SourceLocation TyLoc,
    clang::TypeResult ParsedType)

Description

Check if the specified type is allowed to be used in 'omp declare mapper' construct.

Declared at: clang/include/clang/Sema/Sema.h:10886

Parameters

clang::SourceLocation TyLoc
clang::TypeResult ParsedType

clang::TypeResult ActOnOpenMPDeclareMapperVarDecl(
    clang::Scope* S,
    clang::Declarator& D)

Description

Check variable declaration in 'omp declare mapper' construct.

Declared at: clang/include/clang/Sema/Sema.h:10883

Parameters

clang::Scope* S
clang::Declarator& D

void ActOnOpenMPDeclareReductionCombinerEnd(
    clang::Decl* D,
    clang::Expr* Combiner)

Description

Finish current declare reduction construct initializer.

Declared at: clang/include/clang/Sema/Sema.h:10871

Parameters

clang::Decl* D
clang::Expr* Combiner

void ActOnOpenMPDeclareReductionCombinerStart(
    clang::Scope* S,
    clang::Decl* D)

Description

Initialize declare reduction construct initializer.

Declared at: clang/include/clang/Sema/Sema.h:10869

Parameters

clang::Scope* S
clang::Decl* D

clang::Sema::DeclGroupPtrTy
ActOnOpenMPDeclareReductionDirectiveEnd(
    clang::Scope* S,
    clang::Sema::DeclGroupPtrTy DeclReductions,
    bool IsValid)

Description

Called at the end of '#pragma omp declare reduction'.

Declared at: clang/include/clang/Sema/Sema.h:10879

Parameters

clang::Scope* S
clang::Sema::DeclGroupPtrTy DeclReductions
bool IsValid

clang::Sema::DeclGroupPtrTy
ActOnOpenMPDeclareReductionDirectiveStart(
    clang::Scope* S,
    clang::DeclContext* DC,
    clang::DeclarationName Name,
    ArrayRef<std::pair<QualType, SourceLocation>>
        ReductionTypes,
    clang::AccessSpecifier AS,
    clang::Decl* PrevDeclInScope = nullptr)

Description

Called on start of '#pragma omp declare reduction'.

Declared at: clang/include/clang/Sema/Sema.h:10864

Parameters

clang::Scope* S
clang::DeclContext* DC
clang::DeclarationName Name
ArrayRef<std::pair<QualType, SourceLocation>> ReductionTypes
clang::AccessSpecifier AS
clang::Decl* PrevDeclInScope = nullptr

void ActOnOpenMPDeclareReductionInitializerEnd(
    clang::Decl* D,
    clang::Expr* Initializer,
    clang::VarDecl* OmpPrivParm)

Description

Finish current declare reduction construct initializer.

Declared at: clang/include/clang/Sema/Sema.h:10876

Parameters

clang::Decl* D
clang::Expr* Initializer
clang::VarDecl* OmpPrivParm

clang::VarDecl*
ActOnOpenMPDeclareReductionInitializerStart(
    clang::Scope* S,
    clang::Decl* D)

Description

Initialize declare reduction construct initializer.

Declared at: clang/include/clang/Sema/Sema.h:10874

Parameters

clang::Scope* S
clang::Decl* D

Returns

omp_priv variable.

clang::QualType ActOnOpenMPDeclareReductionType(
    clang::SourceLocation TyLoc,
    clang::TypeResult ParsedType)

Description

Check if the specified type is allowed to be used in 'omp declare reduction' construct.

Declared at: clang/include/clang/Sema/Sema.h:10861

Parameters

clang::SourceLocation TyLoc
clang::TypeResult ParsedType

clang::Sema::DeclGroupPtrTy
ActOnOpenMPDeclareSimdDirective(
    clang::Sema::DeclGroupPtrTy DG,
    OMPDeclareSimdDeclAttr::BranchStateTy BS,
    clang::Expr* Simdlen,
    ArrayRef<clang::Expr*> Uniforms,
    ArrayRef<clang::Expr*> Aligneds,
    ArrayRef<clang::Expr*> Alignments,
    ArrayRef<clang::Expr*> Linears,
    ArrayRef<unsigned int> LinModifiers,
    ArrayRef<clang::Expr*> Steps,
    clang::SourceRange SR)

Description

Called on well-formed ' # pragma omp declare simd' after parsing of the associated method/function.

Declared at: clang/include/clang/Sema/Sema.h:11338

Parameters

clang::Sema::DeclGroupPtrTy DG
OMPDeclareSimdDeclAttr::BranchStateTy BS
clang::Expr* Simdlen
ArrayRef<clang::Expr*> Uniforms
ArrayRef<clang::Expr*> Aligneds
ArrayRef<clang::Expr*> Alignments
ArrayRef<clang::Expr*> Linears
ArrayRef<unsigned int> LinModifiers
ArrayRef<clang::Expr*> Steps
clang::SourceRange SR

void ActOnOpenMPDeclareTargetName(
    clang::NamedDecl* ND,
    clang::SourceLocation Loc,
    OMPDeclareTargetDeclAttr::MapTypeTy MT,
    clang::Sema::DeclareTargetContextInfo& DTCI)

Description

Called on correct id-expression from the '#pragma omp declare target'.

Declared at: clang/include/clang/Sema/Sema.h:10925

Parameters

clang::NamedDecl* ND
clang::SourceLocation Loc
OMPDeclareTargetDeclAttr::MapTypeTy MT
clang::Sema::DeclareTargetContextInfo& DTCI

void ActOnOpenMPDeclareVariantDirective(
    clang::FunctionDecl* FD,
    clang::Expr* VariantRef,
    clang::OMPTraitInfo& TI,
    ArrayRef<clang::Expr*> AdjustArgsNothing,
    ArrayRef<clang::Expr*>
        AdjustArgsNeedDevicePtr,
    ArrayRef<OMPDeclareVariantAttr::InteropType>
        AppendArgs,
    clang::SourceLocation AdjustArgsLoc,
    clang::SourceLocation AppendArgsLoc,
    clang::SourceRange SR)

Description

Called on well-formed ' # pragma omp declare variant' after parsing of the associated method/function.

Declared at: clang/include/clang/Sema/Sema.h:11373

Parameters

clang::FunctionDecl* FD
Function declaration to which declare variant directive is applied to.
clang::Expr* VariantRef
Expression that references the variant function, which must be used instead of the original one, specified in \p DG.
clang::OMPTraitInfo& TI
The context traits associated with the function variant.
ArrayRef<clang::Expr*> AdjustArgsNothing
The list of 'nothing' arguments.
ArrayRef<clang::Expr*> AdjustArgsNeedDevicePtr
The list of 'need_device_ptr' arguments.
ArrayRef<OMPDeclareVariantAttr::InteropType> AppendArgs
The list of 'append_args' arguments.
clang::SourceLocation AdjustArgsLoc
The Location of an 'adjust_args' clause.
clang::SourceLocation AppendArgsLoc
The Location of an 'append_args' clause.
clang::SourceRange SR
The SourceRange of the 'declare variant' directive.

clang::OMPClause* ActOnOpenMPDefaultClause(
    llvm::omp::DefaultKind Kind,
    clang::SourceLocation KindLoc,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'default' clause.

Declared at: clang/include/clang/Sema/Sema.h:11470

Parameters

llvm::omp::DefaultKind Kind
clang::SourceLocation KindLoc
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPDefaultmapClause(
    clang::OpenMPDefaultmapClauseModifier M,
    clang::OpenMPDefaultmapClauseKind Kind,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation MLoc,
    clang::SourceLocation KindLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'defaultmap' clause.

Declared at: clang/include/clang/Sema/Sema.h:11765

Parameters

clang::OpenMPDefaultmapClauseModifier M
clang::OpenMPDefaultmapClauseKind Kind
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation MLoc
clang::SourceLocation KindLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPDependClause(
    const OMPDependClause::DependDataTy& Data,
    clang::Expr* DepModifier,
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'depend' clause.

Declared at: clang/include/clang/Sema/Sema.h:11725

Parameters

const OMPDependClause::DependDataTy& Data
clang::Expr* DepModifier
ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPDepobjClause(
    clang::Expr* Depobj,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'depobj' pseudo clause.

Declared at: clang/include/clang/Sema/Sema.h:11721

Parameters

clang::Expr* Depobj
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPDepobjDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp depobj'.

Declared at: clang/include/clang/Sema/Sema.h:11087

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPDestroyClause(
    clang::Expr* InteropVar,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation VarLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'destroy' clause.

Declared at: clang/include/clang/Sema/Sema.h:11562

Parameters

clang::Expr* InteropVar
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation VarLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPDetachClause(
    clang::Expr* Evt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'detach' clause.

Declared at: clang/include/clang/Sema/Sema.h:11455

Parameters

clang::Expr* Evt
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPDeviceClause(
    clang::OpenMPDeviceClauseModifier Modifier,
    clang::Expr* Device,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation ModifierLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'device' clause.

Declared at: clang/include/clang/Sema/Sema.h:11732

Parameters

clang::OpenMPDeviceClauseModifier Modifier
clang::Expr* Device
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation ModifierLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPDispatchDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp dispatch' after parsing of the

Declared at: clang/include/clang/Sema/Sema.h:11312

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPDistScheduleClause(
    clang::OpenMPDistScheduleClauseKind Kind,
    clang::Expr* ChunkSize,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation KindLoc,
    clang::SourceLocation CommaLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'dist_schedule' clause.

Declared at: clang/include/clang/Sema/Sema.h:11760

Parameters

clang::OpenMPDistScheduleClauseKind Kind
clang::Expr* ChunkSize
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation KindLoc
clang::SourceLocation CommaLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPDistributeDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp distribute' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11226

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPDistributeParallelForDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp distribute parallel for' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11236

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPDistributeParallelForSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp distribute parallel for simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11241

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPDistributeSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp distribute simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11246

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::OMPClause*
ActOnOpenMPDynamicAllocatorsClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'dynamic_allocators' clause.

Declared at: clang/include/clang/Sema/Sema.h:11602

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

void ActOnOpenMPEndAssumesDirective()

Description

Called on well-formed '#pragma omp end assumes'.

Declared at: clang/include/clang/Sema/Sema.h:10851

const clang::Sema::DeclareTargetContextInfo
ActOnOpenMPEndDeclareTargetDirective()

Description

Called at the end of target region i.e. '#pragma omp end declare target'.

Declared at: clang/include/clang/Sema/Sema.h:10906

void ActOnOpenMPEndDeclareVariant()

Description

Handle a `omp end declare variant`.

Declared at: clang/include/clang/Sema/Sema.h:10724

clang::OMPClause* ActOnOpenMPExclusiveClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'exclusive' clause.

Declared at: clang/include/clang/Sema/Sema.h:11641

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPExecutableDirective(
    clang::OpenMPDirectiveKind Kind,
    const clang::DeclarationNameInfo& DirName,
    clang::OpenMPDirectiveKind CancelRegion,
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Declared at: clang/include/clang/Sema/Sema.h:10971

Parameters

clang::OpenMPDirectiveKind Kind
const clang::DeclarationNameInfo& DirName
clang::OpenMPDirectiveKind CancelRegion
ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPFilterClause(
    clang::Expr* ThreadID,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'filter' clause.

Declared at: clang/include/clang/Sema/Sema.h:11577

Parameters

clang::Expr* ThreadID
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPFinalClause(
    clang::Expr* Condition,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'final' clause.

Declared at: clang/include/clang/Sema/Sema.h:11399

Parameters

clang::Expr* Condition
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPFirstprivateClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'firstprivate' clause.

Declared at: clang/include/clang/Sema/Sema.h:11656

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPFlushClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'flush' pseudo clause.

Declared at: clang/include/clang/Sema/Sema.h:11716

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPFlushDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp flush'.

Declared at: clang/include/clang/Sema/Sema.h:11083

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPForDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp for' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11002

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult ActOnOpenMPForSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp for simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11008

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::OMPClause* ActOnOpenMPFromClause(
    ArrayRef<clang::OpenMPMotionModifierKind>
        MotionModifiers,
    ArrayRef<clang::SourceLocation>
        MotionModifiersLoc,
    clang::CXXScopeSpec& MapperIdScopeSpec,
    clang::DeclarationNameInfo& MapperId,
    clang::SourceLocation ColonLoc,
    ArrayRef<clang::Expr*> VarList,
    const clang::OMPVarListLocTy& Locs,
    ArrayRef<clang::Expr*> UnresolvedMappers =
        llvm::None)

Description

Called on well-formed 'from' clause.

Declared at: clang/include/clang/Sema/Sema.h:11779

Parameters

ArrayRef<clang::OpenMPMotionModifierKind> MotionModifiers
ArrayRef<clang::SourceLocation> MotionModifiersLoc
clang::CXXScopeSpec& MapperIdScopeSpec
clang::DeclarationNameInfo& MapperId
clang::SourceLocation ColonLoc
ArrayRef<clang::Expr*> VarList
const clang::OMPVarListLocTy& Locs
ArrayRef<clang::Expr*> UnresolvedMappers = llvm::None

clang::OMPClause* ActOnOpenMPFullClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-form 'full' clauses.

Declared at: clang/include/clang/Sema/Sema.h:11426

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPGenericLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp loop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11323

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::OMPClause* ActOnOpenMPGrainsizeClause(
    clang::Expr* Size,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'grainsize' clause.

Declared at: clang/include/clang/Sema/Sema.h:11443

Parameters

clang::Expr* Size
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPHasDeviceAddrClause(
    ArrayRef<clang::Expr*> VarList,
    const clang::OMPVarListLocTy& Locs)

Description

Called on well-formed 'has_device_addr' clause.

Declared at: clang/include/clang/Sema/Sema.h:11795

Parameters

ArrayRef<clang::Expr*> VarList
const clang::OMPVarListLocTy& Locs

clang::OMPClause* ActOnOpenMPHintClause(
    clang::Expr* Hint,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'hint' clause.

Declared at: clang/include/clang/Sema/Sema.h:11451

Parameters

clang::Expr* Hint
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::ExprResult ActOnOpenMPIdExpression(
    clang::Scope* CurScope,
    clang::CXXScopeSpec& ScopeSpec,
    const clang::DeclarationNameInfo& Id,
    clang::OpenMPDirectiveKind Kind)

Description

Called on correct id-expression from the '#pragma omp threadprivate'.

Declared at: clang/include/clang/Sema/Sema.h:10822

Parameters

clang::Scope* CurScope
clang::CXXScopeSpec& ScopeSpec
const clang::DeclarationNameInfo& Id
clang::OpenMPDirectiveKind Kind

clang::OMPClause* ActOnOpenMPIfClause(
    clang::OpenMPDirectiveKind NameModifier,
    clang::Expr* Condition,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation NameModifierLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'if' clause.

Declared at: clang/include/clang/Sema/Sema.h:11392

Parameters

clang::OpenMPDirectiveKind NameModifier
clang::Expr* Condition
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation NameModifierLoc
clang::SourceLocation ColonLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPInReductionClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation EndLoc,
    clang::CXXScopeSpec& ReductionIdScopeSpec,
    const clang::DeclarationNameInfo& ReductionId,
    ArrayRef<clang::Expr*> UnresolvedReductions =
        llvm::None)

Description

Called on well-formed 'in_reduction' clause.

Declared at: clang/include/clang/Sema/Sema.h:11686

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation ColonLoc
clang::SourceLocation EndLoc
clang::CXXScopeSpec& ReductionIdScopeSpec
const clang::DeclarationNameInfo& ReductionId
ArrayRef<clang::Expr*> UnresolvedReductions = llvm::None

clang::OMPClause* ActOnOpenMPInclusiveClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'inclusive' clause.

Declared at: clang/include/clang/Sema/Sema.h:11636

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPInitClause(
    clang::Expr* InteropVar,
    ArrayRef<clang::Expr*> PrefExprs,
    bool IsTarget,
    bool IsTargetSync,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation VarLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'init' clause.

Declared at: clang/include/clang/Sema/Sema.h:11549

Parameters

clang::Expr* InteropVar
ArrayRef<clang::Expr*> PrefExprs
bool IsTarget
bool IsTargetSync
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation VarLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPInteropDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp interop'.

Declared at: clang/include/clang/Sema/Sema.h:11307

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPIsDevicePtrClause(
    ArrayRef<clang::Expr*> VarList,
    const clang::OMPVarListLocTy& Locs)

Description

Called on well-formed 'is_device_ptr' clause.

Declared at: clang/include/clang/Sema/Sema.h:11792

Parameters

ArrayRef<clang::Expr*> VarList
const clang::OMPVarListLocTy& Locs

clang::OMPClause* ActOnOpenMPLastprivateClause(
    ArrayRef<clang::Expr*> VarList,
    clang::OpenMPLastprivateModifier LPKind,
    clang::SourceLocation LPKindLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'lastprivate' clause.

Declared at: clang/include/clang/Sema/Sema.h:11661

Parameters

ArrayRef<clang::Expr*> VarList
clang::OpenMPLastprivateModifier LPKind
clang::SourceLocation LPKindLoc
clang::SourceLocation ColonLoc
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPLinearClause(
    ArrayRef<clang::Expr*> VarList,
    clang::Expr* Step,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::OpenMPLinearClauseKind LinKind,
    clang::SourceLocation LinLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'linear' clause.

Declared at: clang/include/clang/Sema/Sema.h:11694

Parameters

ArrayRef<clang::Expr*> VarList
clang::Expr* Step
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::OpenMPLinearClauseKind LinKind
clang::SourceLocation LinLoc
clang::SourceLocation ColonLoc
clang::SourceLocation EndLoc

void ActOnOpenMPLoopInitialization(
    clang::SourceLocation ForLoc,
    clang::Stmt* Init)

Description

Check if the current region is an OpenMP loop region and if it is, mark loop control variable, used in \p Init for loop initialization, as private by default.

Declared at: clang/include/clang/Sema/Sema.h:10811

Parameters

clang::SourceLocation ForLoc
clang::Stmt* Init
First part of the for loop.

clang::StmtResult ActOnOpenMPLoopnest(
    clang::Stmt* AStmt)

Description

Process a canonical OpenMP loop nest that can either be a canonical literal loop (ForStmt or CXXForRangeStmt), or the generated loop of an OpenMP loop transformation construct.

Declared at: clang/include/clang/Sema/Sema.h:10962

Parameters

clang::Stmt* AStmt

clang::OMPClause* ActOnOpenMPMapClause(
    ArrayRef<clang::OpenMPMapModifierKind>
        MapTypeModifiers,
    ArrayRef<clang::SourceLocation>
        MapTypeModifiersLoc,
    clang::CXXScopeSpec& MapperIdScopeSpec,
    clang::DeclarationNameInfo& MapperId,
    clang::OpenMPMapClauseKind MapType,
    bool IsMapTypeImplicit,
    clang::SourceLocation MapLoc,
    clang::SourceLocation ColonLoc,
    ArrayRef<clang::Expr*> VarList,
    const clang::OMPVarListLocTy& Locs,
    bool NoDiagnose = false,
    ArrayRef<clang::Expr*> UnresolvedMappers =
        llvm::None)

Description

Called on well-formed 'map' clause.

Declared at: clang/include/clang/Sema/Sema.h:11738

Parameters

ArrayRef<clang::OpenMPMapModifierKind> MapTypeModifiers
ArrayRef<clang::SourceLocation> MapTypeModifiersLoc
clang::CXXScopeSpec& MapperIdScopeSpec
clang::DeclarationNameInfo& MapperId
clang::OpenMPMapClauseKind MapType
bool IsMapTypeImplicit
clang::SourceLocation MapLoc
clang::SourceLocation ColonLoc
ArrayRef<clang::Expr*> VarList
const clang::OMPVarListLocTy& Locs
bool NoDiagnose = false
ArrayRef<clang::Expr*> UnresolvedMappers = llvm::None

clang::StmtResult ActOnOpenMPMaskedDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp masked' after parsing of the

Declared at: clang/include/clang/Sema/Sema.h:11317

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult
ActOnOpenMPMaskedTaskLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp masked taskloop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11205

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPMaskedTaskLoopSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp masked taskloop simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11210

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult ActOnOpenMPMasterDirective(
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp master' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11027

Parameters

clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult
ActOnOpenMPMasterTaskLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp master taskloop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11185

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPMasterTaskLoopSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp master taskloop simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11190

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::OMPClause* ActOnOpenMPMergeableClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'mergeable' clause.

Declared at: clang/include/clang/Sema/Sema.h:11515

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPMetaDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp metadirective' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:10815

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPNocontextClause(
    clang::Expr* Condition,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'nocontext' clause.

Declared at: clang/include/clang/Sema/Sema.h:11572

Parameters

clang::Expr* Condition
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPNogroupClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'nogroup' clause.

Declared at: clang/include/clang/Sema/Sema.h:11587

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPNontemporalClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'nontemporal' clause.

Declared at: clang/include/clang/Sema/Sema.h:11798

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPNovariantsClause(
    clang::Expr* Condition,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'novariants' clause.

Declared at: clang/include/clang/Sema/Sema.h:11567

Parameters

clang::Expr* Condition
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPNowaitClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'nowait' clause.

Declared at: clang/include/clang/Sema/Sema.h:11509

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPNumTasksClause(
    clang::Expr* NumTasks,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'num_tasks' clause.

Declared at: clang/include/clang/Sema/Sema.h:11447

Parameters

clang::Expr* NumTasks
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPNumTeamsClause(
    clang::Expr* NumTeams,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'num_teams' clause.

Declared at: clang/include/clang/Sema/Sema.h:11747

Parameters

clang::Expr* NumTeams
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPNumThreadsClause(
    clang::Expr* NumThreads,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'num_threads' clause.

Declared at: clang/include/clang/Sema/Sema.h:11403

Parameters

clang::Expr* NumThreads
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPOrderClause(
    clang::OpenMPOrderClauseKind Kind,
    clang::SourceLocation KindLoc,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'order' clause.

Declared at: clang/include/clang/Sema/Sema.h:11482

Parameters

clang::OpenMPOrderClauseKind Kind
clang::SourceLocation KindLoc
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPOrderedClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::SourceLocation LParenLoc =
        clang::SourceLocation(),
    clang::Expr* NumForLoops = nullptr)

Description

Called on well-formed 'ordered' clause.

Declared at: clang/include/clang/Sema/Sema.h:11439

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::SourceLocation LParenLoc = clang::SourceLocation()
clang::Expr* NumForLoops = nullptr

clang::StmtResult ActOnOpenMPOrderedDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp ordered' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11096

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPParallelDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp parallel' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:10977

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPParallelForDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp parallel for' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11037

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPParallelForSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp parallel for simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11042

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPParallelGenericLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp parallel loop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11154

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPParallelMaskedDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp parallel masked' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11053

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult
ActOnOpenMPParallelMaskedTaskLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp parallel masked taskloop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11215

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPParallelMaskedTaskLoopSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp parallel masked taskloop simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11220

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPParallelMasterDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp parallel master' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11047

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult
ActOnOpenMPParallelMasterTaskLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp parallel master taskloop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11195

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPParallelMasterTaskLoopSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp parallel master taskloop simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11200

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPParallelSectionsDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp parallel sections' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11059

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPPartialClause(
    clang::Expr* FactorExpr,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-form 'partial' clauses.

Declared at: clang/include/clang/Sema/Sema.h:11429

Parameters

clang::Expr* FactorExpr
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPPriorityClause(
    clang::Expr* Priority,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'priority' clause.

Declared at: clang/include/clang/Sema/Sema.h:11756

Parameters

clang::Expr* Priority
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPPrivateClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'private' clause.

Declared at: clang/include/clang/Sema/Sema.h:11651

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPProcBindClause(
    llvm::omp::ProcBindKind Kind,
    clang::SourceLocation KindLoc,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'proc_bind' clause.

Declared at: clang/include/clang/Sema/Sema.h:11476

Parameters

llvm::omp::ProcBindKind Kind
clang::SourceLocation KindLoc
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPReadClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'read' clause.

Declared at: clang/include/clang/Sema/Sema.h:11518

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPReductionClause(
    ArrayRef<clang::Expr*> VarList,
    clang::OpenMPReductionClauseModifier Modifier,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation ModifierLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation EndLoc,
    clang::CXXScopeSpec& ReductionIdScopeSpec,
    const clang::DeclarationNameInfo& ReductionId,
    ArrayRef<clang::Expr*> UnresolvedReductions =
        llvm::None)

Description

Called on well-formed 'reduction' clause.

Declared at: clang/include/clang/Sema/Sema.h:11671

Parameters

ArrayRef<clang::Expr*> VarList
clang::OpenMPReductionClauseModifier Modifier
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation ModifierLoc
clang::SourceLocation ColonLoc
clang::SourceLocation EndLoc
clang::CXXScopeSpec& ReductionIdScopeSpec
const clang::DeclarationNameInfo& ReductionId
ArrayRef<clang::Expr*> UnresolvedReductions = llvm::None

clang::StmtResult ActOnOpenMPRegionEnd(
    clang::StmtResult S,
    ArrayRef<clang::OMPClause*> Clauses)

Description

End of OpenMP region.

Declared at: clang/include/clang/Sema/Sema.h:10970

Parameters

clang::StmtResult S
Statement associated with the current OpenMP region.
ArrayRef<clang::OMPClause*> Clauses
List of clauses for the current OpenMP region.

Returns

Statement for finished OpenMP region.

void ActOnOpenMPRegionStart(
    clang::OpenMPDirectiveKind DKind,
    clang::Scope* CurScope)

Description

Initialization of captured region for OpenMP region.

Declared at: clang/include/clang/Sema/Sema.h:10953

Parameters

clang::OpenMPDirectiveKind DKind
clang::Scope* CurScope

clang::OMPClause* ActOnOpenMPRelaxedClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'relaxed' clause.

Declared at: clang/include/clang/Sema/Sema.h:11545

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPReleaseClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'release' clause.

Declared at: clang/include/clang/Sema/Sema.h:11542

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::Sema::DeclGroupPtrTy
ActOnOpenMPRequiresDirective(
    clang::SourceLocation Loc,
    ArrayRef<clang::OMPClause*> ClauseList)

Description

Called on well-formed '#pragma omp requires'.

Declared at: clang/include/clang/Sema/Sema.h:10854

Parameters

clang::SourceLocation Loc
ArrayRef<clang::OMPClause*> ClauseList

clang::OMPClause* ActOnOpenMPReverseOffloadClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'reverse_offload' clause.

Declared at: clang/include/clang/Sema/Sema.h:11598

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPSIMDClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'simd' clause.

Declared at: clang/include/clang/Sema/Sema.h:11584

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPSafelenClause(
    clang::Expr* Length,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'safelen' clause.

Declared at: clang/include/clang/Sema/Sema.h:11412

Parameters

clang::Expr* Length
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPScanDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp scan'.

Declared at: clang/include/clang/Sema/Sema.h:11091

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPScheduleClause(
    clang::OpenMPScheduleClauseModifier M1,
    clang::OpenMPScheduleClauseModifier M2,
    clang::OpenMPScheduleClauseKind Kind,
    clang::Expr* ChunkSize,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation M1Loc,
    clang::SourceLocation M2Loc,
    clang::SourceLocation KindLoc,
    clang::SourceLocation CommaLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'schedule' clause.

Declared at: clang/include/clang/Sema/Sema.h:11500

Parameters

clang::OpenMPScheduleClauseModifier M1
clang::OpenMPScheduleClauseModifier M2
clang::OpenMPScheduleClauseKind Kind
clang::Expr* ChunkSize
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation M1Loc
clang::SourceLocation M2Loc
clang::SourceLocation KindLoc
clang::SourceLocation CommaLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPSectionDirective(
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp section' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11018

Parameters

clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPSectionsDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp sections' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11013

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPSeqCstClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'seq_cst' clause.

Declared at: clang/include/clang/Sema/Sema.h:11533

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPSharedClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'shared' clause.

Declared at: clang/include/clang/Sema/Sema.h:11666

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:10986

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::OMPClause* ActOnOpenMPSimdlenClause(
    clang::Expr* Length,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'simdlen' clause.

Declared at: clang/include/clang/Sema/Sema.h:11417

Parameters

clang::Expr* Length
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPSimpleClause(
    clang::OpenMPClauseKind Kind,
    unsigned int Argument,
    clang::SourceLocation ArgumentLoc,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Declared at: clang/include/clang/Sema/Sema.h:11459

Parameters

clang::OpenMPClauseKind Kind
unsigned int Argument
clang::SourceLocation ArgumentLoc
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPSingleDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp single' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11022

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPSingleExprClause(
    clang::OpenMPClauseKind Kind,
    clang::Expr* Expr,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Declared at: clang/include/clang/Sema/Sema.h:11381

Parameters

clang::OpenMPClauseKind Kind
clang::Expr* Expr
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause*
ActOnOpenMPSingleExprWithArgClause(
    clang::OpenMPClauseKind Kind,
    ArrayRef<unsigned int> Arguments,
    clang::Expr* Expr,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    ArrayRef<clang::SourceLocation> ArgumentsLoc,
    clang::SourceLocation DelimLoc,
    clang::SourceLocation EndLoc)

Declared at: clang/include/clang/Sema/Sema.h:11494

Parameters

clang::OpenMPClauseKind Kind
ArrayRef<unsigned int> Arguments
clang::Expr* Expr
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
ArrayRef<clang::SourceLocation> ArgumentsLoc
clang::SourceLocation DelimLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPSizesClause(
    ArrayRef<clang::Expr*> SizeExprs,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-form 'sizes' clause.

Declared at: clang/include/clang/Sema/Sema.h:11421

Parameters

ArrayRef<clang::Expr*> SizeExprs
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPTargetDataDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp target data' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11111

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPTargetDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp target' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11106

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult
ActOnOpenMPTargetEnterDataDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Stmt* AStmt)

Description

Called on well-formed ' # pragma omp target enter data' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11116

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Stmt* AStmt

clang::StmtResult
ActOnOpenMPTargetExitDataDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Stmt* AStmt)

Description

Called on well-formed ' # pragma omp target exit data' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11122

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Stmt* AStmt

clang::StmtResult
ActOnOpenMPTargetParallelDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp target parallel' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11128

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult
ActOnOpenMPTargetParallelForDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target parallel for' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11134

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTargetParallelForSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target parallel for simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11251

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTargetParallelGenericLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target parallel loop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11159

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult ActOnOpenMPTargetSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11257

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult ActOnOpenMPTargetTeamsDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp target teams' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11282

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult
ActOnOpenMPTargetTeamsDistributeDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target teams distribute' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11288

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTargetTeamsDistributeParallelForDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target teams distribute parallel for' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11293

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTargetTeamsDistributeParallelForSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target teams distribute parallel for simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11298

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTargetTeamsDistributeSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target teams distribute simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11303

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTargetTeamsGenericLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp target teams loop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11149

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTargetUpdateDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Stmt* AStmt)

Description

Called on well-formed ' # pragma omp target update'.

Declared at: clang/include/clang/Sema/Sema.h:11230

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Stmt* AStmt

clang::StmtResult ActOnOpenMPTaskDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp task' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11065

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPTaskLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp taskloop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11175

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTaskLoopSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp taskloop simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11180

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::OMPClause* ActOnOpenMPTaskReductionClause(
    ArrayRef<clang::Expr*> VarList,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation ColonLoc,
    clang::SourceLocation EndLoc,
    clang::CXXScopeSpec& ReductionIdScopeSpec,
    const clang::DeclarationNameInfo& ReductionId,
    ArrayRef<clang::Expr*> UnresolvedReductions =
        llvm::None)

Description

Called on well-formed 'task_reduction' clause.

Declared at: clang/include/clang/Sema/Sema.h:11679

Parameters

ArrayRef<clang::Expr*> VarList
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation ColonLoc
clang::SourceLocation EndLoc
clang::CXXScopeSpec& ReductionIdScopeSpec
const clang::DeclarationNameInfo& ReductionId
ArrayRef<clang::Expr*> UnresolvedReductions = llvm::None

clang::StmtResult ActOnOpenMPTaskgroupDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp taskgroup'.

Declared at: clang/include/clang/Sema/Sema.h:11079

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPTaskwaitDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp taskwait'.

Declared at: clang/include/clang/Sema/Sema.h:11075

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPTaskyieldDirective(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp taskyield'.

Declared at: clang/include/clang/Sema/Sema.h:11069

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPTeamsDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed ' # pragma omp teams' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11139

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult
ActOnOpenMPTeamsDistributeDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp teams distribute' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11262

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTeamsDistributeParallelForDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp teams distribute parallel for' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11277

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTeamsDistributeParallelForSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp teams distribute parallel for simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11272

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTeamsDistributeSimdDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp teams distribute simd' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11267

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::StmtResult
ActOnOpenMPTeamsGenericLoopDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    clang::Sema::VarsWithInheritedDSAType&
        VarsWithImplicitDSA)

Description

Called on well-formed ' # pragma omp teams loop' after parsing of the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:11144

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
clang::Sema::VarsWithInheritedDSAType& VarsWithImplicitDSA

clang::OMPClause* ActOnOpenMPThreadLimitClause(
    clang::Expr* ThreadLimit,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'thread_limit' clause.

Declared at: clang/include/clang/Sema/Sema.h:11751

Parameters

clang::Expr* ThreadLimit
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::Sema::DeclGroupPtrTy
ActOnOpenMPThreadprivateDirective(
    clang::SourceLocation Loc,
    ArrayRef<clang::Expr*> VarList)

Description

Called on well-formed '#pragma omp threadprivate'.

Declared at: clang/include/clang/Sema/Sema.h:10826

Parameters

clang::SourceLocation Loc
ArrayRef<clang::Expr*> VarList

clang::OMPClause* ActOnOpenMPThreadsClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'threads' clause.

Declared at: clang/include/clang/Sema/Sema.h:11581

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPTileDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed '#pragma omp tile' after parsing of its clauses and the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:10991

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPToClause(
    ArrayRef<clang::OpenMPMotionModifierKind>
        MotionModifiers,
    ArrayRef<clang::SourceLocation>
        MotionModifiersLoc,
    clang::CXXScopeSpec& MapperIdScopeSpec,
    clang::DeclarationNameInfo& MapperId,
    clang::SourceLocation ColonLoc,
    ArrayRef<clang::Expr*> VarList,
    const clang::OMPVarListLocTy& Locs,
    ArrayRef<clang::Expr*> UnresolvedMappers =
        llvm::None)

Description

Called on well-formed 'to' clause.

Declared at: clang/include/clang/Sema/Sema.h:11771

Parameters

ArrayRef<clang::OpenMPMotionModifierKind> MotionModifiers
ArrayRef<clang::SourceLocation> MotionModifiersLoc
clang::CXXScopeSpec& MapperIdScopeSpec
clang::DeclarationNameInfo& MapperId
clang::SourceLocation ColonLoc
ArrayRef<clang::Expr*> VarList
const clang::OMPVarListLocTy& Locs
ArrayRef<clang::Expr*> UnresolvedMappers = llvm::None

clang::OMPClause* ActOnOpenMPUnifiedAddressClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'unified_address' clause.

Declared at: clang/include/clang/Sema/Sema.h:11590

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause*
ActOnOpenMPUnifiedSharedMemoryClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'unified_address' clause.

Declared at: clang/include/clang/Sema/Sema.h:11594

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::StmtResult ActOnOpenMPUnrollDirective(
    ArrayRef<clang::OMPClause*> Clauses,
    clang::Stmt* AStmt,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed '#pragma omp unroll' after parsing of its clauses and the associated statement.

Declared at: clang/include/clang/Sema/Sema.h:10996

Parameters

ArrayRef<clang::OMPClause*> Clauses
clang::Stmt* AStmt
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPUntiedClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'untied' clause.

Declared at: clang/include/clang/Sema/Sema.h:11512

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPUpdateClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'update' clause.

Declared at: clang/include/clang/Sema/Sema.h:11524

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPUpdateClause(
    clang::OpenMPDependClauseKind Kind,
    clang::SourceLocation KindLoc,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'update' clause.

Declared at: clang/include/clang/Sema/Sema.h:11488

Parameters

clang::OpenMPDependClauseKind Kind
clang::SourceLocation KindLoc
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPUseClause(
    clang::Expr* InteropVar,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation VarLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'use' clause.

Declared at: clang/include/clang/Sema/Sema.h:11557

Parameters

clang::Expr* InteropVar
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation VarLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPUseDeviceAddrClause(
    ArrayRef<clang::Expr*> VarList,
    const clang::OMPVarListLocTy& Locs)

Description

Called on well-formed 'use_device_addr' clause.

Declared at: clang/include/clang/Sema/Sema.h:11789

Parameters

ArrayRef<clang::Expr*> VarList
const clang::OMPVarListLocTy& Locs

clang::OMPClause* ActOnOpenMPUseDevicePtrClause(
    ArrayRef<clang::Expr*> VarList,
    const clang::OMPVarListLocTy& Locs)

Description

Called on well-formed 'use_device_ptr' clause.

Declared at: clang/include/clang/Sema/Sema.h:11786

Parameters

ArrayRef<clang::Expr*> VarList
const clang::OMPVarListLocTy& Locs

clang::OMPClause* ActOnOpenMPUsesAllocatorClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc,
    ArrayRef<clang::Sema::UsesAllocatorsData>
        Data)

Description

Called on well-formed 'uses_allocators' clause.

Declared at: clang/include/clang/Sema/Sema.h:11813

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc
ArrayRef<clang::Sema::UsesAllocatorsData> Data

clang::OMPClause* ActOnOpenMPVarListClause(
    clang::OpenMPClauseKind Kind,
    ArrayRef<clang::Expr*> Vars,
    const clang::OMPVarListLocTy& Locs,
    clang::Sema::OpenMPVarListDataTy& Data)

Declared at: clang/include/clang/Sema/Sema.h:11631

Parameters

clang::OpenMPClauseKind Kind
ArrayRef<clang::Expr*> Vars
const clang::OMPVarListLocTy& Locs
clang::Sema::OpenMPVarListDataTy& Data

clang::OMPClause* ActOnOpenMPWhenClause(
    clang::OMPTraitInfo& TI,
    clang::SourceLocation StartLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'when' clause.

Declared at: clang/include/clang/Sema/Sema.h:11466

Parameters

clang::OMPTraitInfo& TI
clang::SourceLocation StartLoc
clang::SourceLocation LParenLoc
clang::SourceLocation EndLoc

clang::OMPClause* ActOnOpenMPWriteClause(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Description

Called on well-formed 'write' clause.

Declared at: clang/include/clang/Sema/Sema.h:11521

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

clang::ParsedTemplateArgument ActOnPackExpansion(
    const clang::ParsedTemplateArgument& Arg,
    clang::SourceLocation EllipsisLoc)

Description

Invoked when parsing a template argument followed by an ellipsis, which creates a pack expansion.

Declared at: clang/include/clang/Sema/Sema.h:8540

Parameters

const clang::ParsedTemplateArgument& Arg
The template argument preceding the ellipsis, which may already be invalid.
clang::SourceLocation EllipsisLoc
The location of the ellipsis.

clang::ExprResult ActOnPackExpansion(
    clang::Expr* Pattern,
    clang::SourceLocation EllipsisLoc)

Description

Invoked when parsing an expression followed by an ellipsis, which creates a pack expansion.

Declared at: clang/include/clang/Sema/Sema.h:8572

Parameters

clang::Expr* Pattern
The expression preceding the ellipsis, which will become the pattern of the pack expansion.
clang::SourceLocation EllipsisLoc
The location of the ellipsis.

clang::TypeResult ActOnPackExpansion(
    clang::ParsedType Type,
    clang::SourceLocation EllipsisLoc)

Description

Invoked when parsing a type followed by an ellipsis, which creates a pack expansion.

Declared at: clang/include/clang/Sema/Sema.h:8550

Parameters

clang::ParsedType Type
The type preceding the ellipsis, which will become the pattern of the pack expansion.
clang::SourceLocation EllipsisLoc
The location of the ellipsis.

clang::Decl* ActOnParamDeclarator(
    clang::Scope* S,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:2904

Parameters

clang::Scope* S
clang::Declarator& D

void ActOnParamDefaultArgument(
    clang::Decl* param,
    clang::SourceLocation EqualLoc,
    clang::Expr* defarg)

Declared at: clang/include/clang/Sema/Sema.h:2912

Parameters

clang::Decl* param
clang::SourceLocation EqualLoc
clang::Expr* defarg

void ActOnParamDefaultArgumentError(
    clang::Decl* param,
    clang::SourceLocation EqualLoc)

Declared at: clang/include/clang/Sema/Sema.h:2917

Parameters

clang::Decl* param
clang::SourceLocation EqualLoc

void ActOnParamUnparsedDefaultArgument(
    clang::Decl* param,
    clang::SourceLocation EqualLoc,
    clang::SourceLocation ArgLoc)

Declared at: clang/include/clang/Sema/Sema.h:2915

Parameters

clang::Decl* param
clang::SourceLocation EqualLoc
clang::SourceLocation ArgLoc

clang::ExprResult ActOnParenExpr(
    clang::SourceLocation L,
    clang::SourceLocation R,
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5523

Parameters

clang::SourceLocation L
clang::SourceLocation R
clang::Expr* E

clang::ExprResult ActOnParenListExpr(
    clang::SourceLocation L,
    clang::SourceLocation R,
    clang::MultiExprArg Val)

Declared at: clang/include/clang/Sema/Sema.h:5524

Parameters

clang::SourceLocation L
clang::SourceLocation R
clang::MultiExprArg Val

void ActOnPopScope(clang::SourceLocation Loc,
                   clang::Scope* S)

Description

Scope actions.

Declared at: clang/include/clang/Sema/Sema.h:3188

Parameters

clang::SourceLocation Loc
clang::Scope* S

clang::ExprResult ActOnPostfixUnaryOp(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    tok::TokenKind Kind,
    clang::Expr* Input)

Declared at: clang/include/clang/Sema/Sema.h:5581

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
tok::TokenKind Kind
clang::Expr* Input

void ActOnPragmaAttributeAttribute(
    clang::ParsedAttr& Attribute,
    clang::SourceLocation PragmaLoc,
    attr::ParsedSubjectMatchRuleSet Rules)

Declared at: clang/include/clang/Sema/Sema.h:10438

Parameters

clang::ParsedAttr& Attribute
clang::SourceLocation PragmaLoc
attr::ParsedSubjectMatchRuleSet Rules

void ActOnPragmaAttributeEmptyPush(
    clang::SourceLocation PragmaLoc,
    const clang::IdentifierInfo* Namespace)

Declared at: clang/include/clang/Sema/Sema.h:10441

Parameters

clang::SourceLocation PragmaLoc
const clang::IdentifierInfo* Namespace

void ActOnPragmaAttributePop(
    clang::SourceLocation PragmaLoc,
    const clang::IdentifierInfo* Namespace)

Description

Called on well-formed ' # pragma clang attribute pop'.

Declared at: clang/include/clang/Sema/Sema.h:10445

Parameters

clang::SourceLocation PragmaLoc
const clang::IdentifierInfo* Namespace

void ActOnPragmaClangSection(
    clang::SourceLocation PragmaLoc,
    clang::Sema::PragmaClangSectionAction Action,
    clang::Sema::PragmaClangSectionKind SecKind,
    llvm::StringRef SecName)

Description

ActOnPragmaClangSection - Called on well formed # pragma clang section

Declared at: clang/include/clang/Sema/Sema.h:10257

Parameters

clang::SourceLocation PragmaLoc
clang::Sema::PragmaClangSectionAction Action
clang::Sema::PragmaClangSectionKind SecKind
llvm::StringRef SecName

void ActOnPragmaDetectMismatch(
    clang::SourceLocation Loc,
    llvm::StringRef Name,
    llvm::StringRef Value)

Description

ActOnPragmaDetectMismatch - Call on well-formed # pragma detect_mismatch

Declared at: clang/include/clang/Sema/Sema.h:10336

Parameters

clang::SourceLocation Loc
llvm::StringRef Name
llvm::StringRef Value

void ActOnPragmaDump(clang::Scope* S,
                     clang::SourceLocation Loc,
                     clang::IdentifierInfo* II)

Description

Called on #pragma clang __debug dump II

Declared at: clang/include/clang/Sema/Sema.h:10333

Parameters

clang::Scope* S
clang::SourceLocation Loc
clang::IdentifierInfo* II

void ActOnPragmaFEnvAccess(
    clang::SourceLocation Loc,
    bool IsEnabled)

Description

ActOnPragmaFenvAccess - Called on well formed # pragma STDC FENV_ACCESS

Declared at: clang/include/clang/Sema/Sema.h:10398

Parameters

clang::SourceLocation Loc
bool IsEnabled

void ActOnPragmaFEnvRound(
    clang::SourceLocation Loc,
    llvm::RoundingMode)

Description

Called to set constant rounding mode for floating point operations.

Declared at: clang/include/clang/Sema/Sema.h:10405

Parameters

clang::SourceLocation Loc
llvm::RoundingMode

void ActOnPragmaFPContract(
    clang::SourceLocation Loc,
    LangOptions::FPModeKind FPC)

Description

ActOnPragmaFPContract - Called on well formed # pragma {STDC,OPENCL} FP_CONTRACT and # pragma clang fp contract

Declared at: clang/include/clang/Sema/Sema.h:10390

Parameters

clang::SourceLocation Loc
LangOptions::FPModeKind FPC

void ActOnPragmaFPEvalMethod(
    clang::SourceLocation Loc,
    LangOptions::FPEvalMethodKind Value)

Declared at: clang/include/clang/Sema/Sema.h:10347

Parameters

clang::SourceLocation Loc
LangOptions::FPEvalMethodKind Value

void ActOnPragmaFPExceptions(
    clang::SourceLocation Loc,
    LangOptions::FPExceptionModeKind)

Description

Called on well formed ' # pragma clang fp' that has option 'exceptions'.

Declared at: clang/include/clang/Sema/Sema.h:10401

Parameters

clang::SourceLocation Loc
LangOptions::FPExceptionModeKind

void ActOnPragmaFPReassociate(
    clang::SourceLocation Loc,
    bool IsEnabled)

Description

Called on well formed # pragma clang fp reassociate

Declared at: clang/include/clang/Sema/Sema.h:10394

Parameters

clang::SourceLocation Loc
bool IsEnabled

void ActOnPragmaFloatControl(
    clang::SourceLocation Loc,
    clang::Sema::PragmaMsStackAction Action,
    clang::PragmaFloatControlKind Value)

Description

ActOnPragmaFloatControl - Call on well-formed # pragma float_control

Declared at: clang/include/clang/Sema/Sema.h:10351

Parameters

clang::SourceLocation Loc
clang::Sema::PragmaMsStackAction Action
clang::PragmaFloatControlKind Value

void ActOnPragmaMSAllocText(
    clang::SourceLocation PragmaLocation,
    llvm::StringRef Section,
    const SmallVector<std::tuple<IdentifierInfo*,
                                 SourceLocation>>&
        Functions)

Description

Called on well-formed # pragma alloc_text().

Declared at: clang/include/clang/Sema/Sema.h:10327

Parameters

clang::SourceLocation PragmaLocation
llvm::StringRef Section
const SmallVector< std::tuple<IdentifierInfo*, SourceLocation>>& Functions

void ActOnPragmaMSComment(
    clang::SourceLocation CommentLoc,
    clang::PragmaMSCommentKind Kind,
    llvm::StringRef Arg)

Description

ActOnPragmaMSComment - Called on well formed # pragma comment(kind, "arg").

Declared at: clang/include/clang/Sema/Sema.h:10283

Parameters

clang::SourceLocation CommentLoc
clang::PragmaMSCommentKind Kind
llvm::StringRef Arg

void ActOnPragmaMSFunction(
    clang::SourceLocation Loc,
    const llvm::SmallVectorImpl<StringRef>&
        NoBuiltins)

Description

Call on well formed # pragma function.

Declared at: clang/include/clang/Sema/Sema.h:10462

Parameters

clang::SourceLocation Loc
const llvm::SmallVectorImpl<StringRef>& NoBuiltins

void ActOnPragmaMSInitSeg(
    clang::SourceLocation PragmaLocation,
    clang::StringLiteral* SegmentName)

Description

Called on well-formed # pragma init_seg().

Declared at: clang/include/clang/Sema/Sema.h:10323

Parameters

clang::SourceLocation PragmaLocation
clang::StringLiteral* SegmentName

void ActOnPragmaMSOptimize(
    clang::SourceLocation Loc,
    bool IsOn)

Description

#pragma optimize("[optimization-list]", on | off).

Declared at: clang/include/clang/Sema/Sema.h:10458

Parameters

clang::SourceLocation Loc
bool IsOn

void ActOnPragmaMSPointersToMembers(
    LangOptions::PragmaMSPointersToMembersKind
        Kind,
    clang::SourceLocation PragmaLoc)

Description

ActOnPragmaMSPointersToMembers - called on well formed # pragma pointers_to_members(representation method[, general purpose representation]).

Declared at: clang/include/clang/Sema/Sema.h:10289

Parameters

LangOptions::PragmaMSPointersToMembersKind Kind
clang::SourceLocation PragmaLoc

void ActOnPragmaMSSection(
    clang::SourceLocation PragmaLocation,
    int SectionFlags,
    clang::StringLiteral* SegmentName)

Description

Called on well formed # pragma section().

Declared at: clang/include/clang/Sema/Sema.h:10319

Parameters

clang::SourceLocation PragmaLocation
int SectionFlags
clang::StringLiteral* SegmentName

void ActOnPragmaMSSeg(
    clang::SourceLocation PragmaLocation,
    clang::Sema::PragmaMsStackAction Action,
    llvm::StringRef StackSlotLabel,
    clang::StringLiteral* SegmentName,
    llvm::StringRef PragmaName)

Description

Called on well formed # pragma bss_seg/data_seg/const_seg/code_seg.

Declared at: clang/include/clang/Sema/Sema.h:10312

Parameters

clang::SourceLocation PragmaLocation
clang::Sema::PragmaMsStackAction Action
llvm::StringRef StackSlotLabel
clang::StringLiteral* SegmentName
llvm::StringRef PragmaName

void ActOnPragmaMSStruct(
    clang::PragmaMSStructKind Kind)

Description

ActOnPragmaMSStruct - Called on well formed # pragma ms_struct [on|off].

Declared at: clang/include/clang/Sema/Sema.h:10279

Parameters

clang::PragmaMSStructKind Kind

void ActOnPragmaMSVtorDisp(
    clang::Sema::PragmaMsStackAction Action,
    clang::SourceLocation PragmaLoc,
    clang::MSVtorDispMode Value)

Description

Called on well formed # pragma vtordisp().

Declared at: clang/include/clang/Sema/Sema.h:10294

Parameters

clang::Sema::PragmaMsStackAction Action
clang::SourceLocation PragmaLoc
clang::MSVtorDispMode Value

void ActOnPragmaOptimize(
    bool On,
    clang::SourceLocation PragmaLoc)

Description

Called on well formed # pragma clang optimize.

Declared at: clang/include/clang/Sema/Sema.h:10455

Parameters

bool On
clang::SourceLocation PragmaLoc

void ActOnPragmaOptionsAlign(
    clang::Sema::PragmaOptionsAlignKind Kind,
    clang::SourceLocation PragmaLoc)

Description

ActOnPragmaOptionsAlign - Called on well formed # pragma options align.

Declared at: clang/include/clang/Sema/Sema.h:10262

Parameters

clang::Sema::PragmaOptionsAlignKind Kind
clang::SourceLocation PragmaLoc

void ActOnPragmaPack(
    clang::SourceLocation PragmaLoc,
    clang::Sema::PragmaMsStackAction Action,
    llvm::StringRef SlotLabel,
    clang::Expr* Alignment)

Description

ActOnPragmaPack - Called on well formed # pragma pack(...).

Declared at: clang/include/clang/Sema/Sema.h:10266

Parameters

clang::SourceLocation PragmaLoc
clang::Sema::PragmaMsStackAction Action
llvm::StringRef SlotLabel
clang::Expr* Alignment

void ActOnPragmaRedefineExtname(
    clang::IdentifierInfo* WeakName,
    clang::IdentifierInfo* AliasName,
    clang::SourceLocation PragmaLoc,
    clang::SourceLocation WeakNameLoc,
    clang::SourceLocation AliasNameLoc)

Description

ActOnPragmaRedefineExtname - Called on well formed # pragma redefine_extname oldname newname.

Declared at: clang/include/clang/Sema/Sema.h:10374

Parameters

clang::IdentifierInfo* WeakName
clang::IdentifierInfo* AliasName
clang::SourceLocation PragmaLoc
clang::SourceLocation WeakNameLoc
clang::SourceLocation AliasNameLoc

void ActOnPragmaUnused(
    const clang::Token& Identifier,
    clang::Scope* curScope,
    clang::SourceLocation PragmaLoc)

Description

ActOnPragmaUnused - Called on well-formed ' # pragma unused'.

Declared at: clang/include/clang/Sema/Sema.h:10355

Parameters

const clang::Token& Identifier
clang::Scope* curScope
clang::SourceLocation PragmaLoc

void ActOnPragmaVisibility(
    const clang::IdentifierInfo* VisType,
    clang::SourceLocation PragmaLoc)

Description

ActOnPragmaVisibility - Called on well formed # pragma GCC visibility... .

Declared at: clang/include/clang/Sema/Sema.h:10360

Parameters

const clang::IdentifierInfo* VisType
clang::SourceLocation PragmaLoc

void ActOnPragmaWeakAlias(
    clang::IdentifierInfo* WeakName,
    clang::IdentifierInfo* AliasName,
    clang::SourceLocation PragmaLoc,
    clang::SourceLocation WeakNameLoc,
    clang::SourceLocation AliasNameLoc)

Description

ActOnPragmaWeakAlias - Called on well formed # pragma weak ident = ident.

Declared at: clang/include/clang/Sema/Sema.h:10381

Parameters

clang::IdentifierInfo* WeakName
clang::IdentifierInfo* AliasName
clang::SourceLocation PragmaLoc
clang::SourceLocation WeakNameLoc
clang::SourceLocation AliasNameLoc

void ActOnPragmaWeakID(
    clang::IdentifierInfo* WeakName,
    clang::SourceLocation PragmaLoc,
    clang::SourceLocation WeakNameLoc)

Description

ActOnPragmaWeakID - Called on well formed # pragma weak ident.

Declared at: clang/include/clang/Sema/Sema.h:10368

Parameters

clang::IdentifierInfo* WeakName
clang::SourceLocation PragmaLoc
clang::SourceLocation WeakNameLoc

clang::ExprResult ActOnPredefinedExpr(
    clang::SourceLocation Loc,
    tok::TokenKind Kind)

Declared at: clang/include/clang/Sema/Sema.h:5506

Parameters

clang::SourceLocation Loc
tok::TokenKind Kind

clang::Sema::DeclGroupPtrTy
ActOnPrivateModuleFragmentDecl(
    clang::SourceLocation ModuleLoc,
    clang::SourceLocation PrivateLoc)

Description

The parser has processed a private-module-fragment declaration that begins the definition of the private module fragment of the current module unit.

Declared at: clang/include/clang/Sema/Sema.h:3110

Parameters

clang::SourceLocation ModuleLoc
The location of the 'module' keyword.
clang::SourceLocation PrivateLoc
The location of the 'private' keyword.

clang::Decl* ActOnProperty(
    clang::Scope* S,
    clang::SourceLocation AtLoc,
    clang::SourceLocation LParenLoc,
    clang::FieldDeclarator& FD,
    clang::ObjCDeclSpec& ODS,
    clang::Selector GetterSel,
    clang::Selector SetterSel,
    tok::ObjCKeywordKind MethodImplKind,
    clang::DeclContext* lexicalDC = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:10034

Parameters

clang::Scope* S
clang::SourceLocation AtLoc
clang::SourceLocation LParenLoc
clang::FieldDeclarator& FD
clang::ObjCDeclSpec& ODS
clang::Selector GetterSel
clang::Selector SetterSel
tok::ObjCKeywordKind MethodImplKind
clang::DeclContext* lexicalDC = nullptr

clang::Decl* ActOnPropertyImplDecl(
    clang::Scope* S,
    clang::SourceLocation AtLoc,
    clang::SourceLocation PropertyLoc,
    bool ImplKind,
    clang::IdentifierInfo* PropertyId,
    clang::IdentifierInfo* PropertyIvar,
    clang::SourceLocation PropertyIvarLoc,
    clang::ObjCPropertyQueryKind QueryKind)

Declared at: clang/include/clang/Sema/Sema.h:10041

Parameters

clang::Scope* S
clang::SourceLocation AtLoc
clang::SourceLocation PropertyLoc
bool ImplKind
clang::IdentifierInfo* PropertyId
clang::IdentifierInfo* PropertyIvar
clang::SourceLocation PropertyIvarLoc
clang::ObjCPropertyQueryKind QueryKind

clang::ExprResult ActOnPseudoDestructorExpr(
    clang::Scope* S,
    clang::Expr* Base,
    clang::SourceLocation OpLoc,
    tok::TokenKind OpKind,
    clang::SourceLocation TildeLoc,
    const clang::DeclSpec& DS)

Declared at: clang/include/clang/Sema/Sema.h:6702

Parameters

clang::Scope* S
clang::Expr* Base
clang::SourceLocation OpLoc
tok::TokenKind OpKind
clang::SourceLocation TildeLoc
const clang::DeclSpec& DS

clang::ExprResult ActOnPseudoDestructorExpr(
    clang::Scope* S,
    clang::Expr* Base,
    clang::SourceLocation OpLoc,
    tok::TokenKind OpKind,
    clang::CXXScopeSpec& SS,
    clang::UnqualifiedId& FirstTypeName,
    clang::SourceLocation CCLoc,
    clang::SourceLocation TildeLoc,
    clang::UnqualifiedId& SecondTypeName)

Declared at: clang/include/clang/Sema/Sema.h:6693

Parameters

clang::Scope* S
clang::Expr* Base
clang::SourceLocation OpLoc
tok::TokenKind OpKind
clang::CXXScopeSpec& SS
clang::UnqualifiedId& FirstTypeName
clang::SourceLocation CCLoc
clang::SourceLocation TildeLoc
clang::UnqualifiedId& SecondTypeName

void ActOnPureSpecifier(
    clang::Decl* D,
    clang::SourceLocation PureSpecLoc)

Declared at: clang/include/clang/Sema/Sema.h:2969

Parameters

clang::Decl* D
clang::SourceLocation PureSpecLoc

void ActOnReenterCXXMethodParameter(
    clang::Scope* S,
    clang::ParmVarDecl* Param)

Declared at: clang/include/clang/Sema/Sema.h:7464

Parameters

clang::Scope* S
clang::ParmVarDecl* Param

void ActOnReenterFunctionContext(clang::Scope* S,
                                 clang::Decl* D)

Description

Push the parameters of D, which must be a function, into scope.

Declared at: clang/include/clang/Sema/Sema.h:3444

Parameters

clang::Scope* S
clang::Decl* D

unsigned int ActOnReenterTemplateScope(
    clang::Decl* Template,
    llvm::function_ref<Scope*()> EnterScope)

Declared at: clang/include/clang/Sema/Sema.h:7465

Parameters

clang::Decl* Template
llvm::function_ref<Scope*()> EnterScope

clang::ExprResult ActOnRequiresClause(
    clang::ExprResult ConstraintExpr)

Declared at: clang/include/clang/Sema/Sema.h:3014

Parameters

clang::ExprResult ConstraintExpr

clang::ExprResult ActOnRequiresExpr(
    clang::SourceLocation RequiresKWLoc,
    clang::RequiresExprBodyDecl* Body,
    ArrayRef<clang::ParmVarDecl*> LocalParameters,
    ArrayRef<concepts::Requirement*> Requirements,
    clang::SourceLocation ClosingBraceLoc)

Declared at: clang/include/clang/Sema/Sema.h:8307

Parameters

clang::SourceLocation RequiresKWLoc
clang::RequiresExprBodyDecl* Body
ArrayRef<clang::ParmVarDecl*> LocalParameters
ArrayRef<concepts::Requirement*> Requirements
clang::SourceLocation ClosingBraceLoc

clang::StmtResult ActOnReturnStmt(
    clang::SourceLocation ReturnLoc,
    clang::Expr* RetValExp,
    clang::Scope* CurScope)

Declared at: clang/include/clang/Sema/Sema.h:5062

Parameters

clang::SourceLocation ReturnLoc
clang::Expr* RetValExp
clang::Scope* CurScope

clang::StmtResult ActOnSEHExceptBlock(
    clang::SourceLocation Loc,
    clang::Expr* FilterExpr,
    clang::Stmt* Block)

Declared at: clang/include/clang/Sema/Sema.h:5141

Parameters

clang::SourceLocation Loc
clang::Expr* FilterExpr
clang::Stmt* Block

clang::StmtResult ActOnSEHLeaveStmt(
    clang::SourceLocation Loc,
    clang::Scope* CurScope)

Declared at: clang/include/clang/Sema/Sema.h:5147

Parameters

clang::SourceLocation Loc
clang::Scope* CurScope

clang::StmtResult ActOnSEHTryBlock(
    bool IsCXXTry,
    clang::SourceLocation TryLoc,
    clang::Stmt* TryBlock,
    clang::Stmt* Handler)

Declared at: clang/include/clang/Sema/Sema.h:5138

Parameters

bool IsCXXTry
clang::SourceLocation TryLoc
clang::Stmt* TryBlock
clang::Stmt* Handler

clang::ExprResult ActOnSYCLUniqueStableNameExpr(
    clang::SourceLocation OpLoc,
    clang::SourceLocation LParen,
    clang::SourceLocation RParen,
    clang::ParsedType ParsedTy)

Declared at: clang/include/clang/Sema/Sema.h:5513

Parameters

clang::SourceLocation OpLoc
clang::SourceLocation LParen
clang::SourceLocation RParen
clang::ParsedType ParsedTy

concepts::Requirement* ActOnSimpleRequirement(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:8279

Parameters

clang::Expr* E

clang::ExprResult ActOnSizeofParameterPackExpr(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    clang::IdentifierInfo& Name,
    clang::SourceLocation NameLoc,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:5576

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
clang::IdentifierInfo& Name
clang::SourceLocation NameLoc
clang::SourceLocation RParenLoc

clang::Decl* ActOnSkippedFunctionBody(
    clang::Decl* Decl)

Declared at: clang/include/clang/Sema/Sema.h:3042

Parameters

clang::Decl* Decl

clang::ExprResult ActOnSourceLocExpr(
    SourceLocExpr::IdentKind Kind,
    clang::SourceLocation BuiltinLoc,
    clang::SourceLocation RPLoc)

Declared at: clang/include/clang/Sema/Sema.h:5842

Parameters

SourceLocExpr::IdentKind Kind
clang::SourceLocation BuiltinLoc
clang::SourceLocation RPLoc

void ActOnStartCXXInClassMemberInitializer()

Declared at: clang/include/clang/Sema/Sema.h:7298

void ActOnStartCXXMemberDeclarations(
    clang::Scope* S,
    clang::Decl* TagDecl,
    clang::SourceLocation FinalLoc,
    bool IsFinalSpelledSealed,
    bool IsAbstract,
    clang::SourceLocation LBraceLoc)

Description

ActOnStartCXXMemberDeclarations - Invoked when we have parsed a C++ record definition's base-specifiers clause and are starting its member declarations.

Declared at: clang/include/clang/Sema/Sema.h:3380

Parameters

clang::Scope* S
clang::Decl* TagDecl
clang::SourceLocation FinalLoc
bool IsFinalSpelledSealed
bool IsAbstract
clang::SourceLocation LBraceLoc

clang::ExprResult ActOnStartCXXMemberReference(
    clang::Scope* S,
    clang::Expr* Base,
    clang::SourceLocation OpLoc,
    tok::TokenKind OpKind,
    clang::ParsedType& ObjectType,
    bool& MayBePseudoDestructor)

Declared at: clang/include/clang/Sema/Sema.h:6677

Parameters

clang::Scope* S
clang::Expr* Base
clang::SourceLocation OpLoc
tok::TokenKind OpKind
clang::ParsedType& ObjectType
bool& MayBePseudoDestructor

clang::ObjCCategoryImplDecl*
ActOnStartCategoryImplementation(
    clang::SourceLocation AtCatImplLoc,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassLoc,
    clang::IdentifierInfo* CatName,
    clang::SourceLocation CatLoc,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:9920

Parameters

clang::SourceLocation AtCatImplLoc
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassLoc
clang::IdentifierInfo* CatName
clang::SourceLocation CatLoc
const clang::ParsedAttributesView& AttrList

clang::ObjCCategoryDecl*
ActOnStartCategoryInterface(
    clang::SourceLocation AtInterfaceLoc,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassLoc,
    clang::ObjCTypeParamList* typeParamList,
    clang::IdentifierInfo* CategoryName,
    clang::SourceLocation CategoryLoc,
    clang::Decl* const* ProtoRefs,
    unsigned int NumProtoRefs,
    const clang::SourceLocation* ProtoLocs,
    clang::SourceLocation EndProtoLoc,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:9907

Parameters

clang::SourceLocation AtInterfaceLoc
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassLoc
clang::ObjCTypeParamList* typeParamList
clang::IdentifierInfo* CategoryName
clang::SourceLocation CategoryLoc
clang::Decl* const* ProtoRefs
unsigned int NumProtoRefs
const clang::SourceLocation* ProtoLocs
clang::SourceLocation EndProtoLoc
const clang::ParsedAttributesView& AttrList

clang::ObjCImplementationDecl*
ActOnStartClassImplementation(
    clang::SourceLocation AtClassImplLoc,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassLoc,
    clang::IdentifierInfo* SuperClassname,
    clang::SourceLocation SuperClassLoc,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:9915

Parameters

clang::SourceLocation AtClassImplLoc
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassLoc
clang::IdentifierInfo* SuperClassname
clang::SourceLocation SuperClassLoc
const clang::ParsedAttributesView& AttrList

clang::ObjCInterfaceDecl*
ActOnStartClassInterface(
    clang::Scope* S,
    clang::SourceLocation AtInterfaceLoc,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassLoc,
    clang::ObjCTypeParamList* typeParamList,
    clang::IdentifierInfo* SuperName,
    clang::SourceLocation SuperLoc,
    ArrayRef<clang::ParsedType> SuperTypeArgs,
    clang::SourceRange SuperTypeArgsRange,
    clang::Decl* const* ProtoRefs,
    unsigned int NumProtoRefs,
    const clang::SourceLocation* ProtoLocs,
    clang::SourceLocation EndProtoLoc,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:9867

Parameters

clang::Scope* S
clang::SourceLocation AtInterfaceLoc
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassLoc
clang::ObjCTypeParamList* typeParamList
clang::IdentifierInfo* SuperName
clang::SourceLocation SuperLoc
ArrayRef<clang::ParsedType> SuperTypeArgs
clang::SourceRange SuperTypeArgsRange
clang::Decl* const* ProtoRefs
unsigned int NumProtoRefs
const clang::SourceLocation* ProtoLocs
clang::SourceLocation EndProtoLoc
const clang::ParsedAttributesView& AttrList

void ActOnStartDelayedCXXMethodDeclaration(
    clang::Scope* S,
    clang::Decl* Method)

Declared at: clang/include/clang/Sema/Sema.h:7468

Parameters

clang::Scope* S
clang::Decl* Method

void ActOnStartDelayedMemberDeclarations(
    clang::Scope* S,
    clang::Decl* Record)

Declared at: clang/include/clang/Sema/Sema.h:7467

Parameters

clang::Scope* S
clang::Decl* Record

clang::Decl* ActOnStartExportDecl(
    clang::Scope* S,
    clang::SourceLocation ExportLoc,
    clang::SourceLocation LBraceLoc)

Declared at: clang/include/clang/Sema/Sema.h:3167

Parameters

clang::Scope* S
clang::SourceLocation ExportLoc
clang::SourceLocation LBraceLoc

void ActOnStartFunctionDeclarationDeclarator(
    clang::Declarator& D,
    unsigned int TemplateParameterDepth)

Description

Called before parsing a function declarator belonging to a function declaration.

Declared at: clang/include/clang/Sema/Sema.h:1998

Parameters

clang::Declarator& D
unsigned int TemplateParameterDepth

clang::Decl* ActOnStartLinkageSpecification(
    clang::Scope* S,
    clang::SourceLocation ExternLoc,
    clang::Expr* LangStr,
    clang::SourceLocation LBraceLoc)

Declared at: clang/include/clang/Sema/Sema.h:7271

Parameters

clang::Scope* S
clang::SourceLocation ExternLoc
clang::Expr* LangStr
clang::SourceLocation LBraceLoc

clang::Decl* ActOnStartNamespaceDef(
    clang::Scope* S,
    clang::SourceLocation InlineLoc,
    clang::SourceLocation NamespaceLoc,
    clang::SourceLocation IdentLoc,
    clang::IdentifierInfo* Ident,
    clang::SourceLocation LBrace,
    const clang::ParsedAttributesView& AttrList,
    clang::UsingDirectiveDecl*& UsingDecl)

Declared at: clang/include/clang/Sema/Sema.h:5932

Parameters

clang::Scope* S
clang::SourceLocation InlineLoc
clang::SourceLocation NamespaceLoc
clang::SourceLocation IdentLoc
clang::IdentifierInfo* Ident
clang::SourceLocation LBrace
const clang::ParsedAttributesView& AttrList
clang::UsingDirectiveDecl*& UsingDecl

void ActOnStartOfCompoundStmt(bool IsStmtExpr)

Declared at: clang/include/clang/Sema/Sema.h:4898

Parameters

bool IsStmtExpr

clang::Decl* ActOnStartOfFunctionDef(
    clang::Scope* S,
    clang::Decl* D,
    clang::Sema::SkipBodyInfo* SkipBody = nullptr,
    clang::Sema::FnBodyKind BodyKind =
        FnBodyKind::Other)

Declared at: clang/include/clang/Sema/Sema.h:3008

Parameters

clang::Scope* S
clang::Decl* D
clang::Sema::SkipBodyInfo* SkipBody = nullptr
clang::Sema::FnBodyKind BodyKind = FnBodyKind::Other

clang::Decl* ActOnStartOfFunctionDef(
    clang::Scope* S,
    clang::Declarator& D,
    clang::MultiTemplateParamsArg
        TemplateParamLists,
    clang::Sema::SkipBodyInfo* SkipBody = nullptr,
    clang::Sema::FnBodyKind BodyKind =
        FnBodyKind::Other)

Declared at: clang/include/clang/Sema/Sema.h:3004

Parameters

clang::Scope* S
clang::Declarator& D
clang::MultiTemplateParamsArg TemplateParamLists
clang::Sema::SkipBodyInfo* SkipBody = nullptr
clang::Sema::FnBodyKind BodyKind = FnBodyKind::Other

void ActOnStartOfFunctionDefinitionInOpenMPDeclareVariantScope(
    clang::Scope* S,
    clang::Declarator& D,
    clang::MultiTemplateParamsArg
        TemplateParameterLists,
    SmallVectorImpl<clang::FunctionDecl*>& Bases)

Description

The declarator \p D defines a function in the scope \p S which is nested in an `omp begin/end declare variant` scope. In this method we create a declaration for \p D and rename \p D according to the OpenMP context selector of the surrounding scope. Return all base functions in \p Bases.

Declared at: clang/include/clang/Sema/Sema.h:10695

Parameters

clang::Scope* S
clang::Declarator& D
clang::MultiTemplateParamsArg TemplateParameterLists
SmallVectorImpl<clang::FunctionDecl*>& Bases

void ActOnStartOfLambdaDefinition(
    clang::LambdaIntroducer& Intro,
    clang::Declarator& ParamInfo,
    clang::Scope* CurScope)

Description

ActOnStartOfLambdaDefinition - This is called just before we start parsing the body of a lambda; it analyzes the explicit captures and arguments, and sets up various data-structures for the body of the lambda.

Declared at: clang/include/clang/Sema/Sema.h:7019

Parameters

clang::LambdaIntroducer& Intro
clang::Declarator& ParamInfo
clang::Scope* CurScope

void ActOnStartOfObjCMethodDef(clang::Scope* S,
                               clang::Decl* D)

Declared at: clang/include/clang/Sema/Sema.h:3015

Parameters

clang::Scope* S
clang::Decl* D

clang::StmtResult ActOnStartOfSwitchStmt(
    clang::SourceLocation SwitchLoc,
    clang::SourceLocation LParenLoc,
    clang::Stmt* InitStmt,
    clang::Sema::ConditionResult Cond,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:4963

Parameters

clang::SourceLocation SwitchLoc
clang::SourceLocation LParenLoc
clang::Stmt* InitStmt
clang::Sema::ConditionResult Cond
clang::SourceLocation RParenLoc

void ActOnStartOfTranslationUnit()

Declared at: clang/include/clang/Sema/Sema.h:1911

bool ActOnStartOpenMPDeclareTargetContext(
    clang::Sema::DeclareTargetContextInfo& DTCI)

Description

Called on the start of target region i.e. '#pragma omp declare target'.

Declared at: clang/include/clang/Sema/Sema.h:10903

Parameters

clang::Sema::DeclareTargetContextInfo& DTCI

clang::ObjCProtocolDecl*
ActOnStartProtocolInterface(
    clang::SourceLocation AtProtoInterfaceLoc,
    clang::IdentifierInfo* ProtocolName,
    clang::SourceLocation ProtocolLoc,
    clang::Decl* const* ProtoRefNames,
    unsigned int NumProtoRefs,
    const clang::SourceLocation* ProtoLocs,
    clang::SourceLocation EndProtoLoc,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:9901

Parameters

clang::SourceLocation AtProtoInterfaceLoc
clang::IdentifierInfo* ProtocolName
clang::SourceLocation ProtocolLoc
clang::Decl* const* ProtoRefNames
unsigned int NumProtoRefs
const clang::SourceLocation* ProtoLocs
clang::SourceLocation EndProtoLoc
const clang::ParsedAttributesView& AttrList

clang::RequiresExprBodyDecl*
ActOnStartRequiresExpr(
    clang::SourceLocation RequiresKWLoc,
    ArrayRef<clang::ParmVarDecl*> LocalParameters,
    clang::Scope* BodyScope)

Declared at: clang/include/clang/Sema/Sema.h:8275

Parameters

clang::SourceLocation RequiresKWLoc
ArrayRef<clang::ParmVarDecl*> LocalParameters
clang::Scope* BodyScope

void ActOnStartSEHFinallyBlock()

Declared at: clang/include/clang/Sema/Sema.h:5144

void ActOnStartStmtExpr()

Declared at: clang/include/clang/Sema/Sema.h:5798

void ActOnStartTrailingRequiresClause(
    clang::Scope* S,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:3012

Parameters

clang::Scope* S
clang::Declarator& D

clang::Decl* ActOnStaticAssertDeclaration(
    clang::SourceLocation StaticAssertLoc,
    clang::Expr* AssertExpr,
    clang::Expr* AssertMessageExpr,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:7478

Parameters

clang::SourceLocation StaticAssertLoc
clang::Expr* AssertExpr
clang::Expr* AssertMessageExpr
clang::SourceLocation RParenLoc

clang::ExprResult ActOnStmtExpr(
    clang::Scope* S,
    clang::SourceLocation LPLoc,
    clang::Stmt* SubStmt,
    clang::SourceLocation RPLoc)

Declared at: clang/include/clang/Sema/Sema.h:5799

Parameters

clang::Scope* S
clang::SourceLocation LPLoc
clang::Stmt* SubStmt
clang::SourceLocation RPLoc

void ActOnStmtExprError()

Declared at: clang/include/clang/Sema/Sema.h:5805

clang::ExprResult ActOnStmtExprResult(
    clang::ExprResult E)

Declared at: clang/include/clang/Sema/Sema.h:5804

Parameters

clang::ExprResult E

clang::ExprResult ActOnStringLiteral(
    ArrayRef<clang::Token> StringToks,
    clang::Scope* UDLScope = nullptr)

Description

ActOnStringLiteral - The specified tokens were lexed as pasted string fragments (e.g. "foo" "bar" L"baz").

Declared at: clang/include/clang/Sema/Sema.h:5530

Parameters

ArrayRef<clang::Token> StringToks
clang::Scope* UDLScope = nullptr

void ActOnSuperClassOfClassInterface(
    clang::Scope* S,
    clang::SourceLocation AtInterfaceLoc,
    clang::ObjCInterfaceDecl* IDecl,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassLoc,
    clang::IdentifierInfo* SuperName,
    clang::SourceLocation SuperLoc,
    ArrayRef<clang::ParsedType> SuperTypeArgs,
    clang::SourceRange SuperTypeArgsRange)

Declared at: clang/include/clang/Sema/Sema.h:9876

Parameters

clang::Scope* S
clang::SourceLocation AtInterfaceLoc
clang::ObjCInterfaceDecl* IDecl
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassLoc
clang::IdentifierInfo* SuperName
clang::SourceLocation SuperLoc
ArrayRef<clang::ParsedType> SuperTypeArgs
clang::SourceRange SuperTypeArgsRange

clang::ExprResult ActOnSuperMessage(
    clang::Scope* S,
    clang::SourceLocation SuperLoc,
    clang::Selector Sel,
    clang::SourceLocation LBracLoc,
    ArrayRef<clang::SourceLocation> SelectorLocs,
    clang::SourceLocation RBracLoc,
    clang::MultiExprArg Args)

Declared at: clang/include/clang/Sema/Sema.h:10131

Parameters

clang::Scope* S
clang::SourceLocation SuperLoc
clang::Selector Sel
clang::SourceLocation LBracLoc
ArrayRef<clang::SourceLocation> SelectorLocs
clang::SourceLocation RBracLoc
clang::MultiExprArg Args

bool ActOnSuperScopeSpecifier(
    clang::SourceLocation SuperLoc,
    clang::SourceLocation ColonColonLoc,
    clang::CXXScopeSpec& SS)

Description

The parser has parsed a '__super' nested-name-specifier.

Declared at: clang/include/clang/Sema/Sema.h:6759

Parameters

clang::SourceLocation SuperLoc
The location of the '__super' keyword.
clang::SourceLocation ColonColonLoc
The location of the '::'.
clang::CXXScopeSpec& SS
The nested-name-specifier, which will be updated in-place to reflect the parsed nested-name-specifier.

Returns

true if an error occurred, false otherwise.

clang::Decl* ActOnTag(
    clang::Scope* S,
    unsigned int TagSpec,
    clang::Sema::TagUseKind TUK,
    clang::SourceLocation KWLoc,
    clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc,
    const clang::ParsedAttributesView& Attr,
    clang::AccessSpecifier AS,
    clang::SourceLocation ModulePrivateLoc,
    clang::MultiTemplateParamsArg
        TemplateParameterLists,
    bool& OwnedDecl,
    bool& IsDependent,
    clang::SourceLocation ScopedEnumKWLoc,
    bool ScopedEnumUsesClassTag,
    clang::TypeResult UnderlyingType,
    bool IsTypeSpecifier,
    bool IsTemplateParamOrArg,
    clang::Sema::SkipBodyInfo* SkipBody = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:3238

Parameters

clang::Scope* S
unsigned int TagSpec
clang::Sema::TagUseKind TUK
clang::SourceLocation KWLoc
clang::CXXScopeSpec& SS
clang::IdentifierInfo* Name
clang::SourceLocation NameLoc
const clang::ParsedAttributesView& Attr
clang::AccessSpecifier AS
clang::SourceLocation ModulePrivateLoc
clang::MultiTemplateParamsArg TemplateParameterLists
bool& OwnedDecl
bool& IsDependent
clang::SourceLocation ScopedEnumKWLoc
bool ScopedEnumUsesClassTag
clang::TypeResult UnderlyingType
bool IsTypeSpecifier
bool IsTemplateParamOrArg
clang::Sema::SkipBodyInfo* SkipBody = nullptr

void ActOnTagDefinitionError(clang::Scope* S,
                             clang::Decl* TagDecl)

Description

ActOnTagDefinitionError - Invoked when there was an unrecoverable error parsing the definition of a tag.

Declared at: clang/include/clang/Sema/Sema.h:3404

Parameters

clang::Scope* S
clang::Decl* TagDecl

void ActOnTagFinishDefinition(
    clang::Scope* S,
    clang::Decl* TagDecl,
    clang::SourceRange BraceRange)

Description

ActOnTagFinishDefinition - Invoked once we have finished parsing the definition of a tag (enumeration, class, struct, or union).

Declared at: clang/include/clang/Sema/Sema.h:3388

Parameters

clang::Scope* S
clang::Decl* TagDecl
clang::SourceRange BraceRange

void ActOnTagFinishSkippedDefinition(
    clang::Sema::SkippedDefinitionContext Context)

Declared at: clang/include/clang/Sema/Sema.h:3391

Parameters

clang::Sema::SkippedDefinitionContext Context

void ActOnTagStartDefinition(clang::Scope* S,
                             clang::Decl* TagDecl)

Description

ActOnTagStartDefinition - Invoked when we have entered the scope of a tag's definition (e.g., for an enumeration, class, struct, or union).

Declared at: clang/include/clang/Sema/Sema.h:3363

Parameters

clang::Scope* S
clang::Decl* TagDecl

clang::Sema::SkippedDefinitionContext
ActOnTagStartSkippedDefinition(clang::Scope* S,
                               clang::Decl* TD)

Description

Invoked when we enter a tag definition that we're skipping.

Declared at: clang/include/clang/Sema/Sema.h:3373

Parameters

clang::Scope* S
clang::Decl* TD

clang::TypeResult ActOnTagTemplateIdType(
    clang::Sema::TagUseKind TUK,
    clang::TypeSpecifierType TagSpec,
    clang::SourceLocation TagLoc,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::Sema::TemplateTy TemplateD,
    clang::SourceLocation TemplateLoc,
    clang::SourceLocation LAngleLoc,
    clang::ASTTemplateArgsPtr TemplateArgsIn,
    clang::SourceLocation RAngleLoc)

Description

Parsed an elaborated-type-specifier that refers to a template-id, such as \c class T::template apply <U >.

Declared at: clang/include/clang/Sema/Sema.h:7942

Parameters

clang::Sema::TagUseKind TUK
clang::TypeSpecifierType TagSpec
clang::SourceLocation TagLoc
clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::Sema::TemplateTy TemplateD
clang::SourceLocation TemplateLoc
clang::SourceLocation LAngleLoc
clang::ASTTemplateArgsPtr TemplateArgsIn
clang::SourceLocation RAngleLoc

clang::Decl* ActOnTemplateDeclarator(
    clang::Scope* S,
    clang::MultiTemplateParamsArg
        TemplateParameterLists,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:8016

Parameters

clang::Scope* S
clang::MultiTemplateParamsArg TemplateParameterLists
clang::Declarator& D

clang::TypeResult ActOnTemplateIdType(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::Sema::TemplateTy Template,
    clang::IdentifierInfo* TemplateII,
    clang::SourceLocation TemplateIILoc,
    clang::SourceLocation LAngleLoc,
    clang::ASTTemplateArgsPtr TemplateArgs,
    clang::SourceLocation RAngleLoc,
    bool IsCtorOrDtorName = false,
    bool IsClassName = false)

Declared at: clang/include/clang/Sema/Sema.h:7934

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::Sema::TemplateTy Template
clang::IdentifierInfo* TemplateII
clang::SourceLocation TemplateIILoc
clang::SourceLocation LAngleLoc
clang::ASTTemplateArgsPtr TemplateArgs
clang::SourceLocation RAngleLoc
bool IsCtorOrDtorName = false
bool IsClassName = false

clang::TemplateNameKind ActOnTemplateName(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    const clang::UnqualifiedId& Name,
    clang::ParsedType ObjectType,
    bool EnteringContext,
    clang::Sema::TemplateTy& Template,
    bool AllowInjectedClassName = false)

Declared at: clang/include/clang/Sema/Sema.h:7995

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
const clang::UnqualifiedId& Name
clang::ParsedType ObjectType
bool EnteringContext
clang::Sema::TemplateTy& Template
bool AllowInjectedClassName = false

clang::TemplateParameterList*
ActOnTemplateParameterList(
    unsigned int Depth,
    clang::SourceLocation ExportLoc,
    clang::SourceLocation TemplateLoc,
    clang::SourceLocation LAngleLoc,
    ArrayRef<clang::NamedDecl*> Params,
    clang::SourceLocation RAngleLoc,
    clang::Expr* RequiresClause)

Declared at: clang/include/clang/Sema/Sema.h:7872

Parameters

unsigned int Depth
clang::SourceLocation ExportLoc
clang::SourceLocation TemplateLoc
clang::SourceLocation LAngleLoc
ArrayRef<clang::NamedDecl*> Params
clang::SourceLocation RAngleLoc
clang::Expr* RequiresClause

clang::NamedDecl* ActOnTemplateTemplateParameter(
    clang::Scope* S,
    clang::SourceLocation TmpLoc,
    clang::TemplateParameterList* Params,
    clang::SourceLocation EllipsisLoc,
    clang::IdentifierInfo* ParamName,
    clang::SourceLocation ParamNameLoc,
    unsigned int Depth,
    unsigned int Position,
    clang::SourceLocation EqualLoc,
    clang::ParsedTemplateArgument DefaultArg)

Declared at: clang/include/clang/Sema/Sema.h:7860

Parameters

clang::Scope* S
clang::SourceLocation TmpLoc
clang::TemplateParameterList* Params
clang::SourceLocation EllipsisLoc
clang::IdentifierInfo* ParamName
clang::SourceLocation ParamNameLoc
unsigned int Depth
unsigned int Position
clang::SourceLocation EqualLoc
clang::ParsedTemplateArgument DefaultArg

clang::ParsedTemplateArgument
ActOnTemplateTypeArgument(
    clang::TypeResult ParsedType)

Declared at: clang/include/clang/Sema/Sema.h:7925

Parameters

clang::TypeResult ParsedType

clang::Decl* ActOnTemplatedFriendTag(
    clang::Scope* S,
    clang::SourceLocation FriendLoc,
    unsigned int TagSpec,
    clang::SourceLocation TagLoc,
    clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc,
    const clang::ParsedAttributesView& Attr,
    clang::MultiTemplateParamsArg TempParamLists)

Declared at: clang/include/clang/Sema/Sema.h:3248

Parameters

clang::Scope* S
clang::SourceLocation FriendLoc
unsigned int TagSpec
clang::SourceLocation TagLoc
clang::CXXScopeSpec& SS
clang::IdentifierInfo* Name
clang::SourceLocation NameLoc
const clang::ParsedAttributesView& Attr
clang::MultiTemplateParamsArg TempParamLists

void ActOnTranslationUnitScope(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:3189

Parameters

clang::Scope* S

bool ActOnTypeConstraint(
    const clang::CXXScopeSpec& SS,
    clang::TemplateIdAnnotation* TypeConstraint,
    clang::TemplateTypeParmDecl*
        ConstrainedParameter,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Sema.h:7828

Parameters

const clang::CXXScopeSpec& SS
clang::TemplateIdAnnotation* TypeConstraint
clang::TemplateTypeParmDecl* ConstrainedParameter
clang::SourceLocation EllipsisLoc

clang::TypeResult ActOnTypeName(
    clang::Scope* S,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:2128

Parameters

clang::Scope* S
clang::Declarator& D

clang::NamedDecl* ActOnTypeParameter(
    clang::Scope* S,
    bool Typename,
    clang::SourceLocation EllipsisLoc,
    clang::SourceLocation KeyLoc,
    clang::IdentifierInfo* ParamName,
    clang::SourceLocation ParamNameLoc,
    unsigned int Depth,
    unsigned int Position,
    clang::SourceLocation EqualLoc,
    clang::ParsedType DefaultArg,
    bool HasTypeConstraint)

Declared at: clang/include/clang/Sema/Sema.h:7819

Parameters

clang::Scope* S
bool Typename
clang::SourceLocation EllipsisLoc
clang::SourceLocation KeyLoc
clang::IdentifierInfo* ParamName
clang::SourceLocation ParamNameLoc
unsigned int Depth
unsigned int Position
clang::SourceLocation EqualLoc
clang::ParsedType DefaultArg
bool HasTypeConstraint

concepts::Requirement* ActOnTypeRequirement(
    clang::SourceLocation TypenameKWLoc,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation NameLoc,
    clang::IdentifierInfo* TypeName,
    clang::TemplateIdAnnotation* TemplateId)

Declared at: clang/include/clang/Sema/Sema.h:8280

Parameters

clang::SourceLocation TypenameKWLoc
clang::CXXScopeSpec& SS
clang::SourceLocation NameLoc
clang::IdentifierInfo* TypeName
clang::TemplateIdAnnotation* TemplateId

clang::ExprResult ActOnTypeTrait(
    clang::TypeTrait Kind,
    clang::SourceLocation KWLoc,
    ArrayRef<clang::ParsedType> Args,
    clang::SourceLocation RParenLoc)

Description

Parsed one of the type trait support pseudo-functions.

Declared at: clang/include/clang/Sema/Sema.h:6644

Parameters

clang::TypeTrait Kind
clang::SourceLocation KWLoc
ArrayRef<clang::ParsedType> Args
clang::SourceLocation RParenLoc

clang::NamedDecl* ActOnTypedefDeclarator(
    clang::Scope* S,
    clang::Declarator& D,
    clang::DeclContext* DC,
    clang::TypeSourceInfo* TInfo,
    clang::LookupResult& Previous)

Declared at: clang/include/clang/Sema/Sema.h:2846

Parameters

clang::Scope* S
clang::Declarator& D
clang::DeclContext* DC
clang::TypeSourceInfo* TInfo
clang::LookupResult& Previous

clang::NamedDecl* ActOnTypedefNameDecl(
    clang::Scope* S,
    clang::DeclContext* DC,
    clang::TypedefNameDecl* D,
    clang::LookupResult& Previous,
    bool& Redeclaration)

Declared at: clang/include/clang/Sema/Sema.h:2849

Parameters

clang::Scope* S
clang::DeclContext* DC
clang::TypedefNameDecl* D
clang::LookupResult& Previous
bool& Redeclaration

void ActOnTypedefedProtocols(
    SmallVectorImpl<clang::Decl*>& ProtocolRefs,
    SmallVectorImpl<clang::SourceLocation>&
        ProtocolLocs,
    clang::IdentifierInfo* SuperName,
    clang::SourceLocation SuperLoc)

Declared at: clang/include/clang/Sema/Sema.h:9886

Parameters

SmallVectorImpl<clang::Decl*>& ProtocolRefs
SmallVectorImpl<clang::SourceLocation>& ProtocolLocs
clang::IdentifierInfo* SuperName
clang::SourceLocation SuperLoc

clang::TypeResult ActOnTypenameType(
    clang::Scope* S,
    clang::SourceLocation TypenameLoc,
    const clang::CXXScopeSpec& SS,
    const clang::IdentifierInfo& II,
    clang::SourceLocation IdLoc)

Description

Called when the parser has parsed a C++ typename specifier, e.g., "typename T::type".

Declared at: clang/include/clang/Sema/Sema.h:8201

Parameters

clang::Scope* S
The scope in which this typename type occurs.
clang::SourceLocation TypenameLoc
the location of the 'typename' keyword
const clang::CXXScopeSpec& SS
the nested-name-specifier following the typename (e.g., 'T::').
const clang::IdentifierInfo& II
the identifier we're retrieving (e.g., 'type' in the example).
clang::SourceLocation IdLoc
the location of the identifier.

clang::TypeResult ActOnTypenameType(
    clang::Scope* S,
    clang::SourceLocation TypenameLoc,
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateLoc,
    clang::Sema::TemplateTy TemplateName,
    clang::IdentifierInfo* TemplateII,
    clang::SourceLocation TemplateIILoc,
    clang::SourceLocation LAngleLoc,
    clang::ASTTemplateArgsPtr TemplateArgs,
    clang::SourceLocation RAngleLoc)

Description

Called when the parser has parsed a C++ typename specifier that ends in a template-id, e.g., "typename MetaFun::template apply<T1, T2>".

Declared at: clang/include/clang/Sema/Sema.h:8220

Parameters

clang::Scope* S
The scope in which this typename type occurs.
clang::SourceLocation TypenameLoc
the location of the 'typename' keyword
const clang::CXXScopeSpec& SS
the nested-name-specifier following the typename (e.g., 'T::').
clang::SourceLocation TemplateLoc
the location of the 'template' keyword, if any.
clang::Sema::TemplateTy TemplateName
The template name.
clang::IdentifierInfo* TemplateII
The identifier used to name the template.
clang::SourceLocation TemplateIILoc
The location of the template name.
clang::SourceLocation LAngleLoc
The location of the opening angle bracket (' < ').
clang::ASTTemplateArgsPtr TemplateArgs
The template arguments.
clang::SourceLocation RAngleLoc
The location of the closing angle bracket ('>').

clang::ExprResult ActOnUnaryExprOrTypeTraitExpr(
    clang::SourceLocation OpLoc,
    clang::UnaryExprOrTypeTrait ExprKind,
    bool IsType,
    void* TyOrEx,
    clang::SourceRange ArgRange)

Declared at: clang/include/clang/Sema/Sema.h:5564

Parameters

clang::SourceLocation OpLoc
clang::UnaryExprOrTypeTrait ExprKind
bool IsType
void* TyOrEx
clang::SourceRange ArgRange

clang::ExprResult ActOnUnaryOp(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    tok::TokenKind Op,
    clang::Expr* Input)

Declared at: clang/include/clang/Sema/Sema.h:5551

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
tok::TokenKind Op
clang::Expr* Input

void ActOnUndeclaredTypeTemplateName(
    clang::Scope* S,
    clang::Sema::TemplateTy& Name,
    clang::TemplateNameKind& TNK,
    clang::SourceLocation NameLoc,
    clang::IdentifierInfo*& II)

Description

Try to resolve an undeclared template name as a type template. Sets II to the identifier corresponding to the template name, and updates Name to a corresponding (typo-corrected) type template name and TNK to the corresponding kind, if possible.

Declared at: clang/include/clang/Sema/Sema.h:7786

Parameters

clang::Scope* S
clang::Sema::TemplateTy& Name
clang::TemplateNameKind& TNK
clang::SourceLocation NameLoc
clang::IdentifierInfo*& II

void ActOnUninitializedDecl(clang::Decl* dcl)

Declared at: clang/include/clang/Sema/Sema.h:2966

Parameters

clang::Decl* dcl

clang::Decl* ActOnUsingDeclaration(
    clang::Scope* CurScope,
    clang::AccessSpecifier AS,
    clang::SourceLocation UsingLoc,
    clang::SourceLocation TypenameLoc,
    clang::CXXScopeSpec& SS,
    clang::UnqualifiedId& Name,
    clang::SourceLocation EllipsisLoc,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:6054

Parameters

clang::Scope* CurScope
clang::AccessSpecifier AS
clang::SourceLocation UsingLoc
clang::SourceLocation TypenameLoc
clang::CXXScopeSpec& SS
clang::UnqualifiedId& Name
clang::SourceLocation EllipsisLoc
const clang::ParsedAttributesView& AttrList

clang::Decl* ActOnUsingDirective(
    clang::Scope* CurScope,
    clang::SourceLocation UsingLoc,
    clang::SourceLocation NamespcLoc,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation IdentLoc,
    clang::IdentifierInfo* NamespcName,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:5995

Parameters

clang::Scope* CurScope
clang::SourceLocation UsingLoc
clang::SourceLocation NamespcLoc
clang::CXXScopeSpec& SS
clang::SourceLocation IdentLoc
clang::IdentifierInfo* NamespcName
const clang::ParsedAttributesView& AttrList

clang::Decl* ActOnUsingEnumDeclaration(
    clang::Scope* CurScope,
    clang::AccessSpecifier AS,
    clang::SourceLocation UsingLoc,
    clang::SourceLocation EnumLoc,
    const clang::DeclSpec&)

Declared at: clang/include/clang/Sema/Sema.h:6059

Parameters

clang::Scope* CurScope
clang::AccessSpecifier AS
clang::SourceLocation UsingLoc
clang::SourceLocation EnumLoc
const clang::DeclSpec&

clang::ExprResult ActOnVAArg(
    clang::SourceLocation BuiltinLoc,
    clang::Expr* E,
    clang::ParsedType Ty,
    clang::SourceLocation RPLoc)

Declared at: clang/include/clang/Sema/Sema.h:5835

Parameters

clang::SourceLocation BuiltinLoc
clang::Expr* E
clang::ParsedType Ty
clang::SourceLocation RPLoc

clang::DeclResult ActOnVarTemplateSpecialization(
    clang::Scope* S,
    clang::Declarator& D,
    clang::TypeSourceInfo* DI,
    clang::SourceLocation TemplateKWLoc,
    clang::TemplateParameterList* TemplateParams,
    clang::StorageClass SC,
    bool IsPartialSpecialization)

Declared at: clang/include/clang/Sema/Sema.h:7953

Parameters

clang::Scope* S
clang::Declarator& D
clang::TypeSourceInfo* DI
clang::SourceLocation TemplateKWLoc
clang::TemplateParameterList* TemplateParams
clang::StorageClass SC
bool IsPartialSpecialization

clang::NamedDecl* ActOnVariableDeclarator(
    clang::Scope* S,
    clang::Declarator& D,
    clang::DeclContext* DC,
    clang::TypeSourceInfo* TInfo,
    clang::LookupResult& Previous,
    clang::MultiTemplateParamsArg
        TemplateParamLists,
    bool& AddToScope,
    ArrayRef<clang::BindingDecl*> Bindings = None)

Declared at: clang/include/clang/Sema/Sema.h:2851

Parameters

clang::Scope* S
clang::Declarator& D
clang::DeclContext* DC
clang::TypeSourceInfo* TInfo
clang::LookupResult& Previous
clang::MultiTemplateParamsArg TemplateParamLists
bool& AddToScope
ArrayRef<clang::BindingDecl*> Bindings = None

clang::StmtResult ActOnWhileStmt(
    clang::SourceLocation WhileLoc,
    clang::SourceLocation LParenLoc,
    clang::Sema::ConditionResult Cond,
    clang::SourceLocation RParenLoc,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:4969

Parameters

clang::SourceLocation WhileLoc
clang::SourceLocation LParenLoc
clang::Sema::ConditionResult Cond
clang::SourceLocation RParenLoc
clang::Stmt* Body

void AddAlignValueAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::Expr* E)

Description

AddAlignValueAttr - Adds an align_value attribute to a particular declaration.

Declared at: clang/include/clang/Sema/Sema.h:10514

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::Expr* E

void AddAlignedAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::TypeSourceInfo* T,
    bool IsPackExpansion)

Declared at: clang/include/clang/Sema/Sema.h:10499

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::TypeSourceInfo* T
bool IsPackExpansion

void AddAlignedAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::Expr* E,
    bool IsPackExpansion)

Description

AddAlignedAttr - Adds an aligned attribute to a particular declaration.

Declared at: clang/include/clang/Sema/Sema.h:10497

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::Expr* E
bool IsPackExpansion

void AddAlignmentAttributesForRecord(
    clang::RecordDecl* RD)

Description

AddAlignmentAttributesForRecord - Adds any needed alignment attributes to a the record decl, to handle ' # pragma pack' and ' # pragma options align'.

Declared at: clang/include/clang/Sema/Sema.h:10412

Parameters

clang::RecordDecl* RD

void AddAllocAlignAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::Expr* ParamExpr)

Description

AddAllocAlignAttr - Adds an alloc_align attribute to a particular declaration.

Declared at: clang/include/clang/Sema/Sema.h:10509

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::Expr* ParamExpr

void AddAnnotationAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    llvm::StringRef Annot,
    MutableArrayRef<clang::Expr*> Args)

Description

AddAnnotationAttr - Adds an annotation Annot with Args arguments to D.

Declared at: clang/include/clang/Sema/Sema.h:10517

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
llvm::StringRef Annot
MutableArrayRef<clang::Expr*> Args

void AddAnyMethodToGlobalPool(clang::Decl* D)

Description

AddAnyMethodToGlobalPool - Add any method, instance or factory to global pool.

Declared at: clang/include/clang/Sema/Sema.h:4821

Parameters

clang::Decl* D

void AddArgumentDependentLookupCandidates(
    clang::DeclarationName Name,
    clang::SourceLocation Loc,
    ArrayRef<clang::Expr*> Args,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs,
    clang::OverloadCandidateSet& CandidateSet,
    bool PartialOverloading = false)

Declared at: clang/include/clang/Sema/Sema.h:3936

Parameters

clang::DeclarationName Name
clang::SourceLocation Loc
ArrayRef<clang::Expr*> Args
clang::TemplateArgumentListInfo* ExplicitTemplateArgs
clang::OverloadCandidateSet& CandidateSet
bool PartialOverloading = false

void AddAssumeAlignedAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::Expr* E,
    clang::Expr* OE)

Description

AddAssumeAlignedAttr - Adds an assume_aligned attribute to a particular declaration.

Declared at: clang/include/clang/Sema/Sema.h:10504

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::Expr* E
clang::Expr* OE

void AddBuiltinCandidate(
    clang::QualType* ParamTys,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    bool IsAssignmentOperator = false,
    unsigned int NumContextualBoolArguments = 0)

Declared at: clang/include/clang/Sema/Sema.h:3929

Parameters

clang::QualType* ParamTys
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
bool IsAssignmentOperator = false
unsigned int NumContextualBoolArguments = 0

void AddBuiltinOperatorCandidates(
    clang::OverloadedOperatorKind Op,
    clang::SourceLocation OpLoc,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet)

Declared at: clang/include/clang/Sema/Sema.h:3933

Parameters

clang::OverloadedOperatorKind Op
clang::SourceLocation OpLoc
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet

void AddCFAuditedAttribute(clang::Decl* D)

Description

AddCFAuditedAttribute - Check whether we're currently within ' # pragma clang arc_cf_code_audited' and, if so, consider adding the appropriate attribute.

Declared at: clang/include/clang/Sema/Sema.h:10436

Parameters

clang::Decl* D

void AddConversionCandidate(
    clang::CXXConversionDecl* Conversion,
    clang::DeclAccessPair FoundDecl,
    clang::CXXRecordDecl* ActingContext,
    clang::Expr* From,
    clang::QualType ToType,
    clang::OverloadCandidateSet& CandidateSet,
    bool AllowObjCConversionOnExplicit,
    bool AllowExplicit,
    bool AllowResultConversion = true)

Declared at: clang/include/clang/Sema/Sema.h:3905

Parameters

clang::CXXConversionDecl* Conversion
clang::DeclAccessPair FoundDecl
clang::CXXRecordDecl* ActingContext
clang::Expr* From
clang::QualType ToType
clang::OverloadCandidateSet& CandidateSet
bool AllowObjCConversionOnExplicit
bool AllowExplicit
bool AllowResultConversion = true

void AddFactoryMethodToGlobalPool(
    clang::ObjCMethodDecl* Method,
    bool impl = false)

Description

AddFactoryMethodToGlobalPool - Same as above, but for factory methods.

Declared at: clang/include/clang/Sema/Sema.h:4815

Parameters

clang::ObjCMethodDecl* Method
bool impl = false

void AddFunctionCandidates(
    const clang::UnresolvedSetImpl& Functions,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs = nullptr,
    bool SuppressUserConversions = false,
    bool PartialOverloading = false,
    bool FirstArgumentIsBase = false)

Declared at: clang/include/clang/Sema/Sema.h:3856

Parameters

const clang::UnresolvedSetImpl& Functions
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
clang::TemplateArgumentListInfo* ExplicitTemplateArgs = nullptr
bool SuppressUserConversions = false
bool PartialOverloading = false
bool FirstArgumentIsBase = false

void AddImplicitMSFunctionNoBuiltinAttr(
    clang::FunctionDecl* FD)

Description

Only called on function definitions; if there is a pragma in scope with the effect of a range-based no_builtin, consider marking the function with attribute no_builtin.

Declared at: clang/include/clang/Sema/Sema.h:10494

Parameters

clang::FunctionDecl* FD

void AddImplicitlyDeclaredMembersToClass(
    clang::CXXRecordDecl* ClassDecl)

Declared at: clang/include/clang/Sema/Sema.h:7420

Parameters

clang::CXXRecordDecl* ClassDecl

void AddInitializerToDecl(clang::Decl* dcl,
                          clang::Expr* init,
                          bool DirectInit)

Declared at: clang/include/clang/Sema/Sema.h:2965

Parameters

clang::Decl* dcl
clang::Expr* init
bool DirectInit

void AddInstanceMethodToGlobalPool(
    clang::ObjCMethodDecl* Method,
    bool impl = false)

Description

AddInstanceMethodToGlobalPool - All instance methods in a translation unit are added to a global pool. This allows us to efficiently associate a selector with a method declaraation for purposes of typechecking messages sent to "id" (where the class of the object is unknown).

Declared at: clang/include/clang/Sema/Sema.h:4810

Parameters

clang::ObjCMethodDecl* Method
bool impl = false

void AddKnownFunctionAttributes(
    clang::FunctionDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:4505

Parameters

clang::FunctionDecl* FD

void AddKnownFunctionAttributesForReplaceableGlobalAllocationFunction(
    clang::FunctionDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:4503

Parameters

clang::FunctionDecl* FD

void AddLaunchBoundsAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::Expr* MaxThreads,
    clang::Expr* MinBlocks)

Description

AddLaunchBoundsAttr - Adds a launch_bounds attribute to a particular declaration.

Declared at: clang/include/clang/Sema/Sema.h:10529

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::Expr* MaxThreads
clang::Expr* MinBlocks

void AddMemberOperatorCandidates(
    clang::OverloadedOperatorKind Op,
    clang::SourceLocation OpLoc,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    clang::OverloadCandidateParamOrder PO = {})

Declared at: clang/include/clang/Sema/Sema.h:3925

Parameters

clang::OverloadedOperatorKind Op
clang::SourceLocation OpLoc
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
clang::OverloadCandidateParamOrder PO = {}

void AddMethodCandidate(
    clang::CXXMethodDecl* Method,
    clang::DeclAccessPair FoundDecl,
    clang::CXXRecordDecl* ActingContext,
    clang::QualType ObjectType,
    Expr::Classification ObjectClassification,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    bool SuppressUserConversions = false,
    bool PartialOverloading = false,
    clang::ConversionSequenceList
        EarlyConversions = None,
    clang::OverloadCandidateParamOrder PO = {})

Declared at: clang/include/clang/Sema/Sema.h:3870

Parameters

clang::CXXMethodDecl* Method
clang::DeclAccessPair FoundDecl
clang::CXXRecordDecl* ActingContext
clang::QualType ObjectType
Expr::Classification ObjectClassification
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
bool SuppressUserConversions = false
bool PartialOverloading = false
clang::ConversionSequenceList EarlyConversions = None
clang::OverloadCandidateParamOrder PO = {}

void AddMethodCandidate(
    clang::DeclAccessPair FoundDecl,
    clang::QualType ObjectType,
    Expr::Classification ObjectClassification,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    bool SuppressUserConversion = false,
    clang::OverloadCandidateParamOrder PO = {})

Declared at: clang/include/clang/Sema/Sema.h:3863

Parameters

clang::DeclAccessPair FoundDecl
clang::QualType ObjectType
Expr::Classification ObjectClassification
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
bool SuppressUserConversion = false
clang::OverloadCandidateParamOrder PO = {}

void AddMethodTemplateCandidate(
    clang::FunctionTemplateDecl* MethodTmpl,
    clang::DeclAccessPair FoundDecl,
    clang::CXXRecordDecl* ActingContext,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs,
    clang::QualType ObjectType,
    Expr::Classification ObjectClassification,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    bool SuppressUserConversions = false,
    bool PartialOverloading = false,
    clang::OverloadCandidateParamOrder PO = {})

Declared at: clang/include/clang/Sema/Sema.h:3880

Parameters

clang::FunctionTemplateDecl* MethodTmpl
clang::DeclAccessPair FoundDecl
clang::CXXRecordDecl* ActingContext
clang::TemplateArgumentListInfo* ExplicitTemplateArgs
clang::QualType ObjectType
Expr::Classification ObjectClassification
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
bool SuppressUserConversions = false
bool PartialOverloading = false
clang::OverloadCandidateParamOrder PO = {}

void AddMethodToGlobalPool(
    clang::ObjCMethodDecl* Method,
    bool impl,
    bool instance)

Description

AddMethodToGlobalPool - Add an instance or factory method to the global pool. See descriptoin of AddInstanceMethodToGlobalPool.

Declared at: clang/include/clang/Sema/Sema.h:4759

Parameters

clang::ObjCMethodDecl* Method
bool impl
bool instance

void AddModeAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::IdentifierInfo* Name,
    bool InInstantiation = false)

Description

AddModeAttr - Adds a mode attribute to a particular declaration.

Declared at: clang/include/clang/Sema/Sema.h:10533

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::IdentifierInfo* Name
bool InInstantiation = false

void AddMsStructLayoutForRecord(
    clang::RecordDecl* RD)

Description

AddMsStructLayoutForRecord - Adds ms_struct layout attribute to record.

Declared at: clang/include/clang/Sema/Sema.h:10415

Parameters

clang::RecordDecl* RD

void AddNonMemberOperatorCandidates(
    const clang::UnresolvedSetImpl& Functions,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:3921

Parameters

const clang::UnresolvedSetImpl& Functions
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
clang::TemplateArgumentListInfo* ExplicitTemplateArgs = nullptr

void AddOptnoneAttributeIfNoConflicts(
    clang::FunctionDecl* FD,
    clang::SourceLocation Loc)

Description

Adds the 'optnone' attribute to the function declaration if there are no conflicts; Loc represents the location causing the 'optnone' attribute to be added (usually because of a pragma).

Declared at: clang/include/clang/Sema/Sema.h:10484

Parameters

clang::FunctionDecl* FD
clang::SourceLocation Loc

void AddOverloadCandidate(
    clang::FunctionDecl* Function,
    clang::DeclAccessPair FoundDecl,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    bool SuppressUserConversions = false,
    bool PartialOverloading = false,
    bool AllowExplicit = true,
    bool AllowExplicitConversion = false,
    clang::Sema::ADLCallKind IsADLCandidate =
        ADLCallKind::NotADL,
    clang::ConversionSequenceList
        EarlyConversions = None,
    clang::OverloadCandidateParamOrder PO = {})

Declared at: clang/include/clang/Sema/Sema.h:3846

Parameters

clang::FunctionDecl* Function
clang::DeclAccessPair FoundDecl
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
bool SuppressUserConversions = false
bool PartialOverloading = false
bool AllowExplicit = true
bool AllowExplicitConversion = false
clang::Sema::ADLCallKind IsADLCandidate = ADLCallKind::NotADL
clang::ConversionSequenceList EarlyConversions = None
clang::OverloadCandidateParamOrder PO = {}

void AddOverloadedCallCandidates(
    clang::LookupResult& R,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet)

Declared at: clang/include/clang/Sema/Sema.h:4040

Parameters

clang::LookupResult& R
clang::TemplateArgumentListInfo* ExplicitTemplateArgs
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet

void AddOverloadedCallCandidates(
    clang::UnresolvedLookupExpr* ULE,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    bool PartialOverloading = false)

Declared at: clang/include/clang/Sema/Sema.h:4036

Parameters

clang::UnresolvedLookupExpr* ULE
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
bool PartialOverloading = false

bool AddOverriddenMethods(
    clang::CXXRecordDecl* DC,
    clang::CXXMethodDecl* MD)

Declared at: clang/include/clang/Sema/Sema.h:2874

Parameters

clang::CXXRecordDecl* DC
clang::CXXMethodDecl* MD

void AddParameterABIAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::ParameterABI ABI)

Declared at: clang/include/clang/Sema/Sema.h:10536

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::ParameterABI ABI

void AddPotentialMisalignedMembers(
    clang::Expr* E,
    clang::RecordDecl* RD,
    clang::ValueDecl* MD,
    clang::CharUnits Alignment)

Description

Adds an expression to the set of gathered misaligned members.

Declared at: clang/include/clang/Sema/Sema.h:13462

Parameters

clang::Expr* E
clang::RecordDecl* RD
clang::ValueDecl* MD
clang::CharUnits Alignment

void AddPragmaAttributes(clang::Scope* S,
                         clang::Decl* D)

Description

Adds the attributes that have been specified using the ' # pragma clang attribute push' directives to the given declaration.

Declared at: clang/include/clang/Sema/Sema.h:10450

Parameters

clang::Scope* S
clang::Decl* D

void AddPushedVisibilityAttribute(clang::Decl* RD)

Description

AddPushedVisibilityAttribute - If ' # pragma GCC visibility' was used, add an appropriate visibility attribute.

Declared at: clang/include/clang/Sema/Sema.h:10424

Parameters

clang::Decl* RD

void AddRangeBasedOptnone(clang::FunctionDecl* FD)

Description

Only called on function definitions; if there is a pragma in scope with the effect of a range-based optnone, consider marking the function with attribute optnone.

Declared at: clang/include/clang/Sema/Sema.h:10474

Parameters

clang::FunctionDecl* FD

void AddSectionMSAllocText(
    clang::FunctionDecl* FD)

Description

Only called on function definitions; if there is a `#pragma alloc_text` that decides which code section the function should be in, add attribute section to the function.

Declared at: clang/include/clang/Sema/Sema.h:10479

Parameters

clang::FunctionDecl* FD

void AddSurrogateCandidate(
    clang::CXXConversionDecl* Conversion,
    clang::DeclAccessPair FoundDecl,
    clang::CXXRecordDecl* ActingContext,
    const clang::FunctionProtoType* Proto,
    clang::Expr* Object,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet)

Declared at: clang/include/clang/Sema/Sema.h:3915

Parameters

clang::CXXConversionDecl* Conversion
clang::DeclAccessPair FoundDecl
clang::CXXRecordDecl* ActingContext
const clang::FunctionProtoType* Proto
clang::Expr* Object
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet

void AddTemplateConversionCandidate(
    clang::FunctionTemplateDecl* FunctionTemplate,
    clang::DeclAccessPair FoundDecl,
    clang::CXXRecordDecl* ActingContext,
    clang::Expr* From,
    clang::QualType ToType,
    clang::OverloadCandidateSet& CandidateSet,
    bool AllowObjCConversionOnExplicit,
    bool AllowExplicit,
    bool AllowResultConversion = true)

Declared at: clang/include/clang/Sema/Sema.h:3910

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
clang::DeclAccessPair FoundDecl
clang::CXXRecordDecl* ActingContext
clang::Expr* From
clang::QualType ToType
clang::OverloadCandidateSet& CandidateSet
bool AllowObjCConversionOnExplicit
bool AllowExplicit
bool AllowResultConversion = true

void AddTemplateOverloadCandidate(
    clang::FunctionTemplateDecl* FunctionTemplate,
    clang::DeclAccessPair FoundDecl,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    bool SuppressUserConversions = false,
    bool PartialOverloading = false,
    bool AllowExplicit = true,
    clang::Sema::ADLCallKind IsADLCandidate =
        ADLCallKind::NotADL,
    clang::OverloadCandidateParamOrder PO = {})

Declared at: clang/include/clang/Sema/Sema.h:3891

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
clang::DeclAccessPair FoundDecl
clang::TemplateArgumentListInfo* ExplicitTemplateArgs
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
bool SuppressUserConversions = false
bool PartialOverloading = false
bool AllowExplicit = true
clang::Sema::ADLCallKind IsADLCandidate = ADLCallKind::NotADL
clang::OverloadCandidateParamOrder PO = {}

void AddXConsumedAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::Sema::RetainOwnershipKind K,
    bool IsTemplateInstantiation)

Declared at: clang/include/clang/Sema/Sema.h:10540

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::Sema::RetainOwnershipKind K
bool IsTemplateInstantiation

clang::TemplateDecl* AdjustDeclIfTemplate(
    clang::Decl*& Decl)

Declared at: clang/include/clang/Sema/Sema.h:7817

Parameters

clang::Decl*& Decl

void AdjustDestructorExceptionSpec(
    clang::CXXDestructorDecl* Destructor)

Description

Build an exception spec for destructors that don't have one. C++11 says that user-defined destructors with no exception spec get one that looks as if the destructor was implicitly declared.

Declared at: clang/include/clang/Sema/Sema.h:6264

Parameters

clang::CXXDestructorDecl* Destructor

void AnalyzeDeleteExprMismatch(
    const clang::CXXDeleteExpr* DE)

Declared at: clang/include/clang/Sema/Sema.h:13273

Parameters

const clang::CXXDeleteExpr* DE

void AnalyzeDeleteExprMismatch(
    clang::FieldDecl* Field,
    clang::SourceLocation DeleteLoc,
    bool DeleteWasArrayForm)

Declared at: clang/include/clang/Sema/Sema.h:13274

Parameters

clang::FieldDecl* Field
clang::SourceLocation DeleteLoc
bool DeleteWasArrayForm

bool AreMultipleMethodsInGlobalPool(
    clang::Selector Sel,
    clang::ObjCMethodDecl* BestMethod,
    clang::SourceRange R,
    bool receiverIdOrClass,
    SmallVectorImpl<clang::ObjCMethodDecl*>&
        Methods)

Declared at: clang/include/clang/Sema/Sema.h:4780

Parameters

clang::Selector Sel
clang::ObjCMethodDecl* BestMethod
clang::SourceRange R
bool receiverIdOrClass
SmallVectorImpl<clang::ObjCMethodDecl*>& Methods

void ArgumentDependentLookup(
    clang::DeclarationName Name,
    clang::SourceLocation Loc,
    ArrayRef<clang::Expr*> Args,
    clang::ADLResult& Functions)

Declared at: clang/include/clang/Sema/Sema.h:4388

Parameters

clang::DeclarationName Name
clang::SourceLocation Loc
ArrayRef<clang::Expr*> Args
clang::ADLResult& Functions

void AtomicPropertySetterGetterRules(
    clang::ObjCImplDecl* IMPDecl,
    clang::ObjCInterfaceDecl* IDecl)

Description

AtomicPropertySetterGetterRules - This routine enforces the rule (via warning) when atomic property has one but not the other user-declared setter or getter.

Declared at: clang/include/clang/Sema/Sema.h:4711

Parameters

clang::ObjCImplDecl* IMPDecl
clang::ObjCInterfaceDecl* IDecl

bool AttachBaseSpecifiers(
    clang::CXXRecordDecl* Class,
    MutableArrayRef<clang::CXXBaseSpecifier*>
        Bases)

Declared at: clang/include/clang/Sema/Sema.h:7539

Parameters

clang::CXXRecordDecl* Class
MutableArrayRef<clang::CXXBaseSpecifier*> Bases

bool AttachTypeConstraint(
    clang::AutoTypeLoc TL,
    clang::NonTypeTemplateParmDecl*
        ConstrainedParameter,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Sema.h:7845

Parameters

clang::AutoTypeLoc TL
clang::NonTypeTemplateParmDecl* ConstrainedParameter
clang::SourceLocation EllipsisLoc

bool AttachTypeConstraint(
    clang::NestedNameSpecifierLoc NS,
    clang::DeclarationNameInfo NameInfo,
    clang::ConceptDecl* NamedConcept,
    const clang::TemplateArgumentListInfo*
        TemplateArgs,
    clang::TemplateTypeParmDecl*
        ConstrainedParameter,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Sema.h:7838

Parameters

clang::NestedNameSpecifierLoc NS
clang::DeclarationNameInfo NameInfo
clang::ConceptDecl* NamedConcept
const clang::TemplateArgumentListInfo* TemplateArgs
clang::TemplateTypeParmDecl* ConstrainedParameter
clang::SourceLocation EllipsisLoc

clang::QualType BuildAddressSpaceAttr(
    clang::QualType& T,
    clang::LangAS ASIdx,
    clang::Expr* AddrSpace,
    clang::SourceLocation AttrLoc)

Declared at: clang/include/clang/Sema/Sema.h:2028

Parameters

clang::QualType& T
clang::LangAS ASIdx
clang::Expr* AddrSpace
clang::SourceLocation AttrLoc

clang::QualType BuildAddressSpaceAttr(
    clang::QualType& T,
    clang::Expr* AddrSpace,
    clang::SourceLocation AttrLoc)

Description

Same as above, but constructs the AddressSpace index if not provided.

Declared at: clang/include/clang/Sema/Sema.h:2032

Parameters

clang::QualType& T
clang::Expr* AddrSpace
clang::SourceLocation AttrLoc

clang::Decl* BuildAnonymousStructOrUnion(
    clang::Scope* S,
    clang::DeclSpec& DS,
    clang::AccessSpecifier AS,
    clang::RecordDecl* Record,
    const clang::PrintingPolicy& Policy)

Declared at: clang/include/clang/Sema/Sema.h:3200

Parameters

clang::Scope* S
clang::DeclSpec& DS
clang::AccessSpecifier AS
clang::RecordDecl* Record
const clang::PrintingPolicy& Policy

clang::ExprResult
BuildAnonymousStructUnionMemberReference(
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation nameLoc,
    clang::IndirectFieldDecl* indirectField,
    clang::DeclAccessPair FoundDecl =
        DeclAccessPair::make(nullptr, AS_none),
    clang::Expr* baseObjectExpr = nullptr,
    clang::SourceLocation opLoc =
        clang::SourceLocation())

Declared at: clang/include/clang/Sema/Sema.h:5455

Parameters

const clang::CXXScopeSpec& SS
clang::SourceLocation nameLoc
clang::IndirectFieldDecl* indirectField
clang::DeclAccessPair FoundDecl = DeclAccessPair::make(nullptr, AS_none)
clang::Expr* baseObjectExpr = nullptr
clang::SourceLocation opLoc = clang::SourceLocation()

clang::QualType BuildArrayType(
    clang::QualType T,
    ArrayType::ArraySizeModifier ASM,
    clang::Expr* ArraySize,
    unsigned int Quals,
    clang::SourceRange Brackets,
    clang::DeclarationName Entity)

Declared at: clang/include/clang/Sema/Sema.h:2019

Parameters

clang::QualType T
ArrayType::ArraySizeModifier ASM
clang::Expr* ArraySize
unsigned int Quals
clang::SourceRange Brackets
clang::DeclarationName Entity

clang::ExprResult BuildArrayTypeTrait(
    clang::ArrayTypeTrait ATT,
    clang::SourceLocation KWLoc,
    clang::TypeSourceInfo* TSInfo,
    clang::Expr* DimExpr,
    clang::SourceLocation RParen)

Declared at: clang/include/clang/Sema/Sema.h:6659

Parameters

clang::ArrayTypeTrait ATT
clang::SourceLocation KWLoc
clang::TypeSourceInfo* TSInfo
clang::Expr* DimExpr
clang::SourceLocation RParen

clang::ExprResult BuildAsTypeExpr(
    clang::Expr* E,
    clang::QualType DestTy,
    clang::SourceLocation BuiltinLoc,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:5925

Parameters

clang::Expr* E
clang::QualType DestTy
clang::SourceLocation BuiltinLoc
clang::SourceLocation RParenLoc

clang::ExprResult BuildAtomicExpr(
    clang::SourceRange CallRange,
    clang::SourceRange ExprRange,
    clang::SourceLocation RParenLoc,
    clang::MultiExprArg Args,
    AtomicExpr::AtomicOp Op,
    clang::Sema::AtomicArgumentOrder ArgOrder =
        AtomicArgumentOrder::API)

Declared at: clang/include/clang/Sema/Sema.h:5720

Parameters

clang::SourceRange CallRange
clang::SourceRange ExprRange
clang::SourceLocation RParenLoc
clang::MultiExprArg Args
AtomicExpr::AtomicOp Op
clang::Sema::AtomicArgumentOrder ArgOrder = AtomicArgumentOrder::API

clang::QualType BuildAtomicType(
    clang::QualType T,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:2077

Parameters

clang::QualType T
clang::SourceLocation Loc

clang::StmtResult BuildAttributedStmt(
    clang::SourceLocation AttrsLoc,
    ArrayRef<const clang::Attr*> Attrs,
    clang::Stmt* SubStmt)

Declared at: clang/include/clang/Sema/Sema.h:4948

Parameters

clang::SourceLocation AttrsLoc
ArrayRef<const clang::Attr*> Attrs
clang::Stmt* SubStmt

clang::MemInitResult BuildBaseInitializer(
    clang::QualType BaseType,
    clang::TypeSourceInfo* BaseTInfo,
    clang::Expr* Init,
    clang::CXXRecordDecl* ClassDecl,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Sema.h:7339

Parameters

clang::QualType BaseType
clang::TypeSourceInfo* BaseTInfo
clang::Expr* Init
clang::CXXRecordDecl* ClassDecl
clang::SourceLocation EllipsisLoc

void BuildBasePathArray(
    const clang::CXXBasePaths& Paths,
    clang::CXXCastPath& BasePath)

Declared at: clang/include/clang/Sema/Sema.h:7549

Parameters

const clang::CXXBasePaths& Paths
clang::CXXCastPath& BasePath

clang::ExprResult BuildBinOp(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    clang::BinaryOperatorKind Opc,
    clang::Expr* LHSExpr,
    clang::Expr* RHSExpr)

Declared at: clang/include/clang/Sema/Sema.h:5779

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
clang::BinaryOperatorKind Opc
clang::Expr* LHSExpr
clang::Expr* RHSExpr

clang::QualType BuildBitIntType(
    bool IsUnsigned,
    clang::Expr* BitWidth,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:2082

Parameters

bool IsUnsigned
clang::Expr* BitWidth
clang::SourceLocation Loc

clang::ExprResult BuildBlockForLambdaConversion(
    clang::SourceLocation CurrentLocation,
    clang::SourceLocation ConvLocation,
    clang::CXXConversionDecl* Conv,
    clang::Expr* Src)

Declared at: clang/include/clang/Sema/Sema.h:7079

Parameters

clang::SourceLocation CurrentLocation
clang::SourceLocation ConvLocation
clang::CXXConversionDecl* Conv
clang::Expr* Src

clang::QualType BuildBlockPointerType(
    clang::QualType T,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity)

Declared at: clang/include/clang/Sema/Sema.h:2074

Parameters

clang::QualType T
clang::SourceLocation Loc
clang::DeclarationName Entity

clang::ExprResult BuildBuiltinBitCastExpr(
    clang::SourceLocation KWLoc,
    clang::TypeSourceInfo* TSI,
    clang::Expr* Operand,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:6420

Parameters

clang::SourceLocation KWLoc
clang::TypeSourceInfo* TSI
clang::Expr* Operand
clang::SourceLocation RParenLoc

clang::Expr* BuildBuiltinCallExpr(
    clang::SourceLocation Loc,
    Builtin::ID Id,
    clang::MultiExprArg CallArgs)

Declared at: clang/include/clang/Sema/Sema.h:5716

Parameters

clang::SourceLocation Loc
Builtin::ID Id
clang::MultiExprArg CallArgs

clang::ExprResult BuildBuiltinOffsetOf(
    clang::SourceLocation BuiltinLoc,
    clang::TypeSourceInfo* TInfo,
    ArrayRef<clang::Sema::OffsetOfComponent>
        Components,
    clang::SourceLocation RParenLoc)

Description

__builtin_offsetof(type, a.b[123][456].c)

Declared at: clang/include/clang/Sema/Sema.h:5818

Parameters

clang::SourceLocation BuiltinLoc
clang::TypeSourceInfo* TInfo
ArrayRef<clang::Sema::OffsetOfComponent> Components
clang::SourceLocation RParenLoc

clang::ExprResult BuildCStyleCastExpr(
    clang::SourceLocation LParenLoc,
    clang::TypeSourceInfo* Ty,
    clang::SourceLocation RParenLoc,
    clang::Expr* Op)

Declared at: clang/include/clang/Sema/Sema.h:5737

Parameters

clang::SourceLocation LParenLoc
clang::TypeSourceInfo* Ty
clang::SourceLocation RParenLoc
clang::Expr* Op

clang::ExprResult BuildCXXConstructExpr(
    clang::SourceLocation ConstructLoc,
    clang::QualType DeclInitType,
    clang::NamedDecl* FoundDecl,
    clang::CXXConstructorDecl* Constructor,
    bool Elidable,
    clang::MultiExprArg Exprs,
    bool HadMultipleCandidates,
    bool IsListInitialization,
    bool IsStdInitListInitialization,
    bool RequiresZeroInit,
    unsigned int ConstructKind,
    clang::SourceRange ParenRange)

Declared at: clang/include/clang/Sema/Sema.h:6095

Parameters

clang::SourceLocation ConstructLoc
clang::QualType DeclInitType
clang::NamedDecl* FoundDecl
clang::CXXConstructorDecl* Constructor
bool Elidable
clang::MultiExprArg Exprs
bool HadMultipleCandidates
bool IsListInitialization
bool IsStdInitListInitialization
bool RequiresZeroInit
unsigned int ConstructKind
clang::SourceRange ParenRange

clang::ExprResult BuildCXXConstructExpr(
    clang::SourceLocation ConstructLoc,
    clang::QualType DeclInitType,
    clang::CXXConstructorDecl* Constructor,
    bool Elidable,
    clang::MultiExprArg Exprs,
    bool HadMultipleCandidates,
    bool IsListInitialization,
    bool IsStdInitListInitialization,
    bool RequiresZeroInit,
    unsigned int ConstructKind,
    clang::SourceRange ParenRange)

Description

Build a CXXConstructExpr whose constructor has already been resolved if it denotes an inherited constructor.

Declared at: clang/include/clang/Sema/Sema.h:6084

Parameters

clang::SourceLocation ConstructLoc
clang::QualType DeclInitType
clang::CXXConstructorDecl* Constructor
bool Elidable
clang::MultiExprArg Exprs
bool HadMultipleCandidates
bool IsListInitialization
bool IsStdInitListInitialization
bool RequiresZeroInit
unsigned int ConstructKind
clang::SourceRange ParenRange

clang::ExprResult BuildCXXConstructExpr(
    clang::SourceLocation ConstructLoc,
    clang::QualType DeclInitType,
    clang::NamedDecl* FoundDecl,
    clang::CXXConstructorDecl* Constructor,
    clang::MultiExprArg Exprs,
    bool HadMultipleCandidates,
    bool IsListInitialization,
    bool IsStdInitListInitialization,
    bool RequiresZeroInit,
    unsigned int ConstructKind,
    clang::SourceRange ParenRange)

Description

BuildCXXConstructExpr - Creates a complete call to a constructor, including handling of its default argument expressions.

Declared at: clang/include/clang/Sema/Sema.h:6073

Parameters

clang::SourceLocation ConstructLoc
clang::QualType DeclInitType
clang::NamedDecl* FoundDecl
clang::CXXConstructorDecl* Constructor
clang::MultiExprArg Exprs
bool HadMultipleCandidates
bool IsListInitialization
bool IsStdInitListInitialization
bool RequiresZeroInit
unsigned int ConstructKind
- a CXXConstructExpr::ConstructionKind
clang::SourceRange ParenRange

clang::ExprResult BuildCXXDefaultArgExpr(
    clang::SourceLocation CallLoc,
    clang::FunctionDecl* FD,
    clang::ParmVarDecl* Param)

Description

BuildCXXDefaultArgExpr - Creates a CXXDefaultArgExpr, instantiating the default expr if needed.

Declared at: clang/include/clang/Sema/Sema.h:6113

Parameters

clang::SourceLocation CallLoc
clang::FunctionDecl* FD
clang::ParmVarDecl* Param

clang::ExprResult BuildCXXDefaultInitExpr(
    clang::SourceLocation Loc,
    clang::FieldDecl* Field)

Declared at: clang/include/clang/Sema/Sema.h:6103

Parameters

clang::SourceLocation Loc
clang::FieldDecl* Field

clang::ExprResult BuildCXXFoldExpr(
    clang::UnresolvedLookupExpr* Callee,
    clang::SourceLocation LParenLoc,
    clang::Expr* LHS,
    clang::BinaryOperatorKind Operator,
    clang::SourceLocation EllipsisLoc,
    clang::Expr* RHS,
    clang::SourceLocation RParenLoc,
    Optional<unsigned int> NumExpansions)

Declared at: clang/include/clang/Sema/Sema.h:6458

Parameters

clang::UnresolvedLookupExpr* Callee
clang::SourceLocation LParenLoc
clang::Expr* LHS
clang::BinaryOperatorKind Operator
clang::SourceLocation EllipsisLoc
clang::Expr* RHS
clang::SourceLocation RParenLoc
Optional<unsigned int> NumExpansions

clang::StmtResult BuildCXXForRangeStmt(
    clang::SourceLocation ForLoc,
    clang::SourceLocation CoawaitLoc,
    clang::Stmt* InitStmt,
    clang::SourceLocation ColonLoc,
    clang::Stmt* RangeDecl,
    clang::Stmt* Begin,
    clang::Stmt* End,
    clang::Expr* Cond,
    clang::Expr* Inc,
    clang::Stmt* LoopVarDecl,
    clang::SourceLocation RParenLoc,
    clang::Sema::BuildForRangeKind Kind)

Declared at: clang/include/clang/Sema/Sema.h:5008

Parameters

clang::SourceLocation ForLoc
clang::SourceLocation CoawaitLoc
clang::Stmt* InitStmt
clang::SourceLocation ColonLoc
clang::Stmt* RangeDecl
clang::Stmt* Begin
clang::Stmt* End
clang::Expr* Cond
clang::Expr* Inc
clang::Stmt* LoopVarDecl
clang::SourceLocation RParenLoc
clang::Sema::BuildForRangeKind Kind

clang::ExprResult BuildCXXFunctionalCastExpr(
    clang::TypeSourceInfo* TInfo,
    clang::QualType Type,
    clang::SourceLocation LParenLoc,
    clang::Expr* CastExpr,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:12350

Parameters

clang::TypeSourceInfo* TInfo
clang::QualType Type
clang::SourceLocation LParenLoc
clang::Expr* CastExpr
clang::SourceLocation RParenLoc

clang::ExprResult BuildCXXMemberCallExpr(
    clang::Expr* Exp,
    clang::NamedDecl* FoundDecl,
    clang::CXXConversionDecl* Method,
    bool HadMultipleCandidates)

Declared at: clang/include/clang/Sema/Sema.h:7242

Parameters

clang::Expr* Exp
clang::NamedDecl* FoundDecl
clang::CXXConversionDecl* Method
bool HadMultipleCandidates

clang::ExprResult BuildCXXNamedCast(
    clang::SourceLocation OpLoc,
    tok::TokenKind Kind,
    clang::TypeSourceInfo* Ty,
    clang::Expr* E,
    clang::SourceRange AngleBrackets,
    clang::SourceRange Parens)

Declared at: clang/include/clang/Sema/Sema.h:6409

Parameters

clang::SourceLocation OpLoc
tok::TokenKind Kind
clang::TypeSourceInfo* Ty
clang::Expr* E
clang::SourceRange AngleBrackets
clang::SourceRange Parens

bool BuildCXXNestedNameSpecifier(
    clang::Scope* S,
    clang::Sema::NestedNameSpecInfo& IdInfo,
    bool EnteringContext,
    clang::CXXScopeSpec& SS,
    clang::NamedDecl* ScopeLookupResult,
    bool ErrorRecoveryLookup,
    bool* IsCorrectedToColon = nullptr,
    bool OnlyNamespace = false)

Declared at: clang/include/clang/Sema/Sema.h:6799

Parameters

clang::Scope* S
clang::Sema::NestedNameSpecInfo& IdInfo
bool EnteringContext
clang::CXXScopeSpec& SS
clang::NamedDecl* ScopeLookupResult
bool ErrorRecoveryLookup
bool* IsCorrectedToColon = nullptr
bool OnlyNamespace = false

clang::ExprResult BuildCXXNew(
    clang::SourceRange Range,
    bool UseGlobal,
    clang::SourceLocation PlacementLParen,
    clang::MultiExprArg PlacementArgs,
    clang::SourceLocation PlacementRParen,
    clang::SourceRange TypeIdParens,
    clang::QualType AllocType,
    clang::TypeSourceInfo* AllocTypeInfo,
    Optional<clang::Expr*> ArraySize,
    clang::SourceRange DirectInitRange,
    clang::Expr* Initializer)

Declared at: clang/include/clang/Sema/Sema.h:6570

Parameters

clang::SourceRange Range
bool UseGlobal
clang::SourceLocation PlacementLParen
clang::MultiExprArg PlacementArgs
clang::SourceLocation PlacementRParen
clang::SourceRange TypeIdParens
clang::QualType AllocType
clang::TypeSourceInfo* AllocTypeInfo
Optional<clang::Expr*> ArraySize
clang::SourceRange DirectInitRange
clang::Expr* Initializer

clang::ExprResult BuildCXXNoexceptExpr(
    clang::SourceLocation KeyLoc,
    clang::Expr* Operand,
    clang::SourceLocation RParen)

Declared at: clang/include/clang/Sema/Sema.h:6640

Parameters

clang::SourceLocation KeyLoc
clang::Expr* Operand
clang::SourceLocation RParen

clang::Expr* BuildCXXThisExpr(
    clang::SourceLocation Loc,
    clang::QualType Type,
    bool IsImplicit)

Description

Build a CXXThisExpr and mark it referenced in the current context.

Declared at: clang/include/clang/Sema/Sema.h:6471

Parameters

clang::SourceLocation Loc
clang::QualType Type
bool IsImplicit

clang::ExprResult BuildCXXThrow(
    clang::SourceLocation OpLoc,
    clang::Expr* Ex,
    bool IsThrownVarInScope)

Declared at: clang/include/clang/Sema/Sema.h:6543

Parameters

clang::SourceLocation OpLoc
clang::Expr* Ex
bool IsThrownVarInScope

clang::ExprResult BuildCXXTypeConstructExpr(
    clang::TypeSourceInfo* Type,
    clang::SourceLocation LParenLoc,
    clang::MultiExprArg Exprs,
    clang::SourceLocation RParenLoc,
    bool ListInitialization)

Declared at: clang/include/clang/Sema/Sema.h:6557

Parameters

clang::TypeSourceInfo* Type
clang::SourceLocation LParenLoc
clang::MultiExprArg Exprs
clang::SourceLocation RParenLoc
bool ListInitialization

clang::ExprResult BuildCXXTypeId(
    clang::QualType TypeInfoType,
    clang::SourceLocation TypeidLoc,
    clang::TypeSourceInfo* Operand,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:6423

Parameters

clang::QualType TypeInfoType
clang::SourceLocation TypeidLoc
clang::TypeSourceInfo* Operand
clang::SourceLocation RParenLoc

clang::ExprResult BuildCXXTypeId(
    clang::QualType TypeInfoType,
    clang::SourceLocation TypeidLoc,
    clang::Expr* Operand,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:6427

Parameters

clang::QualType TypeInfoType
clang::SourceLocation TypeidLoc
clang::Expr* Operand
clang::SourceLocation RParenLoc

clang::ExprResult BuildCXXUuidof(
    clang::QualType TypeInfoType,
    clang::SourceLocation TypeidLoc,
    clang::Expr* Operand,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:6442

Parameters

clang::QualType TypeInfoType
clang::SourceLocation TypeidLoc
clang::Expr* Operand
clang::SourceLocation RParenLoc

clang::ExprResult BuildCXXUuidof(
    clang::QualType TypeInfoType,
    clang::SourceLocation TypeidLoc,
    clang::TypeSourceInfo* Operand,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:6438

Parameters

clang::QualType TypeInfoType
clang::SourceLocation TypeidLoc
clang::TypeSourceInfo* Operand
clang::SourceLocation RParenLoc

clang::ExprResult BuildCallExpr(
    clang::Scope* S,
    clang::Expr* Fn,
    clang::SourceLocation LParenLoc,
    clang::MultiExprArg ArgExprs,
    clang::SourceLocation RParenLoc,
    clang::Expr* ExecConfig = nullptr,
    bool IsExecConfig = false,
    bool AllowRecovery = false)

Declared at: clang/include/clang/Sema/Sema.h:5711

Parameters

clang::Scope* S
clang::Expr* Fn
clang::SourceLocation LParenLoc
clang::MultiExprArg ArgExprs
clang::SourceLocation RParenLoc
clang::Expr* ExecConfig = nullptr
bool IsExecConfig = false
bool AllowRecovery = false

clang::ExprResult BuildCallToMemberFunction(
    clang::Scope* S,
    clang::Expr* MemExpr,
    clang::SourceLocation LParenLoc,
    clang::MultiExprArg Args,
    clang::SourceLocation RParenLoc,
    clang::Expr* ExecConfig = nullptr,
    bool IsExecConfig = false,
    bool AllowRecovery = false)

Declared at: clang/include/clang/Sema/Sema.h:4104

Parameters

clang::Scope* S
clang::Expr* MemExpr
clang::SourceLocation LParenLoc
clang::MultiExprArg Args
clang::SourceLocation RParenLoc
clang::Expr* ExecConfig = nullptr
bool IsExecConfig = false
bool AllowRecovery = false

clang::ExprResult BuildCallToObjectOfClassType(
    clang::Scope* S,
    clang::Expr* Object,
    clang::SourceLocation LParenLoc,
    clang::MultiExprArg Args,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:4112

Parameters

clang::Scope* S
clang::Expr* Object
clang::SourceLocation LParenLoc
clang::MultiExprArg Args
clang::SourceLocation RParenLoc

clang::FieldDecl* BuildCaptureField(
    clang::RecordDecl* RD,
    const sema::Capture& Capture)

Description

Build a FieldDecl suitable to hold the given capture.

Declared at: clang/include/clang/Sema/Sema.h:7041

Parameters

clang::RecordDecl* RD
const sema::Capture& Capture

clang::ExprResult BuildCaptureInit(
    const sema::Capture& Capture,
    clang::SourceLocation ImplicitCaptureLoc,
    bool IsOpenMPMapping = false)

Description

Initialize the given capture with a suitable expression.

Declared at: clang/include/clang/Sema/Sema.h:7044

Parameters

const sema::Capture& Capture
clang::SourceLocation ImplicitCaptureLoc
bool IsOpenMPMapping = false

clang::ExprResult BuildClassMessage(
    clang::TypeSourceInfo* ReceiverTypeInfo,
    clang::QualType ReceiverType,
    clang::SourceLocation SuperLoc,
    clang::Selector Sel,
    clang::ObjCMethodDecl* Method,
    clang::SourceLocation LBracLoc,
    ArrayRef<clang::SourceLocation> SelectorLocs,
    clang::SourceLocation RBracLoc,
    clang::MultiExprArg Args,
    bool isImplicit = false)

Declared at: clang/include/clang/Sema/Sema.h:10138

Parameters

clang::TypeSourceInfo* ReceiverTypeInfo
clang::QualType ReceiverType
clang::SourceLocation SuperLoc
clang::Selector Sel
clang::ObjCMethodDecl* Method
clang::SourceLocation LBracLoc
ArrayRef<clang::SourceLocation> SelectorLocs
clang::SourceLocation RBracLoc
clang::MultiExprArg Args
bool isImplicit = false

clang::ExprResult BuildClassMessageImplicit(
    clang::QualType ReceiverType,
    bool isSuperReceiver,
    clang::SourceLocation Loc,
    clang::Selector Sel,
    clang::ObjCMethodDecl* Method,
    clang::MultiExprArg Args)

Declared at: clang/include/clang/Sema/Sema.h:10149

Parameters

clang::QualType ReceiverType
bool isSuperReceiver
clang::SourceLocation Loc
clang::Selector Sel
clang::ObjCMethodDecl* Method
clang::MultiExprArg Args

clang::ExprResult BuildCompoundLiteralExpr(
    clang::SourceLocation LParenLoc,
    clang::TypeSourceInfo* TInfo,
    clang::SourceLocation RParenLoc,
    clang::Expr* LiteralExpr)

Declared at: clang/include/clang/Sema/Sema.h:5755

Parameters

clang::SourceLocation LParenLoc
clang::TypeSourceInfo* TInfo
clang::SourceLocation RParenLoc
clang::Expr* LiteralExpr

clang::StmtResult BuildCoreturnStmt(
    clang::SourceLocation KwLoc,
    clang::Expr* E,
    bool IsImplicit = false)

Declared at: clang/include/clang/Sema/Sema.h:10572

Parameters

clang::SourceLocation KwLoc
clang::Expr* E
bool IsImplicit = false

clang::StmtResult BuildCoroutineBodyStmt(
    CoroutineBodyStmt::CtorArgs)

Declared at: clang/include/clang/Sema/Sema.h:10574

Parameters

CoroutineBodyStmt::CtorArgs

clang::ExprResult BuildCoyieldExpr(
    clang::SourceLocation KwLoc,
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:10571

Parameters

clang::SourceLocation KwLoc
clang::Expr* E

clang::DeclRefExpr* BuildDeclRefExpr(
    clang::ValueDecl* D,
    clang::QualType Ty,
    clang::ExprValueKind VK,
    clang::SourceLocation Loc,
    const clang::CXXScopeSpec* SS = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5436

Parameters

clang::ValueDecl* D
clang::QualType Ty
clang::ExprValueKind VK
clang::SourceLocation Loc
const clang::CXXScopeSpec* SS = nullptr

clang::DeclRefExpr* BuildDeclRefExpr(
    clang::ValueDecl* D,
    clang::QualType Ty,
    clang::ExprValueKind VK,
    const clang::DeclarationNameInfo& NameInfo,
    const clang::CXXScopeSpec* SS = nullptr,
    clang::NamedDecl* FoundD = nullptr,
    clang::SourceLocation TemplateKWLoc =
        clang::SourceLocation(),
    const clang::TemplateArgumentListInfo*
        TemplateArgs = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5440

Parameters

clang::ValueDecl* D
clang::QualType Ty
clang::ExprValueKind VK
const clang::DeclarationNameInfo& NameInfo
const clang::CXXScopeSpec* SS = nullptr
clang::NamedDecl* FoundD = nullptr
clang::SourceLocation TemplateKWLoc = clang::SourceLocation()
const clang::TemplateArgumentListInfo* TemplateArgs = nullptr

clang::DeclRefExpr* BuildDeclRefExpr(
    clang::ValueDecl* D,
    clang::QualType Ty,
    clang::ExprValueKind VK,
    const clang::DeclarationNameInfo& NameInfo,
    clang::NestedNameSpecifierLoc NNS,
    clang::NamedDecl* FoundD = nullptr,
    clang::SourceLocation TemplateKWLoc =
        clang::SourceLocation(),
    const clang::TemplateArgumentListInfo*
        TemplateArgs = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5447

Parameters

clang::ValueDecl* D
clang::QualType Ty
clang::ExprValueKind VK
const clang::DeclarationNameInfo& NameInfo
clang::NestedNameSpecifierLoc NNS
clang::NamedDecl* FoundD = nullptr
clang::SourceLocation TemplateKWLoc = clang::SourceLocation()
const clang::TemplateArgumentListInfo* TemplateArgs = nullptr

clang::ExprResult BuildDeclarationNameExpr(
    const clang::CXXScopeSpec& SS,
    const clang::DeclarationNameInfo& NameInfo,
    clang::NamedDecl* D,
    clang::NamedDecl* FoundD = nullptr,
    const clang::TemplateArgumentListInfo*
        TemplateArgs = nullptr,
    bool AcceptInvalidDecl = false)

Declared at: clang/include/clang/Sema/Sema.h:5492

Parameters

const clang::CXXScopeSpec& SS
const clang::DeclarationNameInfo& NameInfo
clang::NamedDecl* D
clang::NamedDecl* FoundD = nullptr
const clang::TemplateArgumentListInfo* TemplateArgs = nullptr
bool AcceptInvalidDecl = false

clang::ExprResult BuildDeclarationNameExpr(
    const clang::CXXScopeSpec& SS,
    clang::LookupResult& R,
    bool NeedsADL,
    bool AcceptInvalidDecl = false)

Declared at: clang/include/clang/Sema/Sema.h:5488

Parameters

const clang::CXXScopeSpec& SS
clang::LookupResult& R
bool NeedsADL
bool AcceptInvalidDecl = false

clang::Sema::DeclGroupPtrTy BuildDeclaratorGroup(
    MutableArrayRef<clang::Decl*> Group)

Declared at: clang/include/clang/Sema/Sema.h:2980

Parameters

MutableArrayRef<clang::Decl*> Group

clang::QualType BuildDecltypeType(
    clang::Expr* E,
    bool AsUnevaluated = true)

Description

If AsUnevaluated is false, E is treated as though it were an evaluated context, such as when building a type for decltype(auto).

Declared at: clang/include/clang/Sema/Sema.h:2508

Parameters

clang::Expr* E
bool AsUnevaluated = true

clang::MemInitResult BuildDelegatingInitializer(
    clang::TypeSourceInfo* TInfo,
    clang::Expr* Init,
    clang::CXXRecordDecl* ClassDecl)

Declared at: clang/include/clang/Sema/Sema.h:7345

Parameters

clang::TypeSourceInfo* TInfo
clang::Expr* Init
clang::CXXRecordDecl* ClassDecl

clang::ExprResult BuildDependentDeclRefExpr(
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    const clang::DeclarationNameInfo& NameInfo,
    const clang::TemplateArgumentListInfo*
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:5483

Parameters

const clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
const clang::DeclarationNameInfo& NameInfo
const clang::TemplateArgumentListInfo* TemplateArgs

clang::ExprResult BuildEmptyCXXFoldExpr(
    clang::SourceLocation EllipsisLoc,
    clang::BinaryOperatorKind Operator)

Declared at: clang/include/clang/Sema/Sema.h:6464

Parameters

clang::SourceLocation EllipsisLoc
clang::BinaryOperatorKind Operator

clang::VarDecl* BuildExceptionDeclaration(
    clang::Scope* S,
    clang::TypeSourceInfo* TInfo,
    clang::SourceLocation StartLoc,
    clang::SourceLocation IdLoc,
    clang::IdentifierInfo* Id)

Declared at: clang/include/clang/Sema/Sema.h:5126

Parameters

clang::Scope* S
clang::TypeSourceInfo* TInfo
clang::SourceLocation StartLoc
clang::SourceLocation IdLoc
clang::IdentifierInfo* Id

concepts::ExprRequirement* BuildExprRequirement(
    concepts::Requirement::SubstitutionDiagnostic*
        ExprSubstDiag,
    bool IsSatisfied,
    clang::SourceLocation NoexceptLoc,
    concepts::ExprRequirement::
        ReturnTypeRequirement
            ReturnTypeRequirement)

Declared at: clang/include/clang/Sema/Sema.h:8295

Parameters

concepts::Requirement::SubstitutionDiagnostic* ExprSubstDiag
bool IsSatisfied
clang::SourceLocation NoexceptLoc
concepts::ExprRequirement::ReturnTypeRequirement ReturnTypeRequirement

concepts::ExprRequirement* BuildExprRequirement(
    clang::Expr* E,
    bool IsSatisfied,
    clang::SourceLocation NoexceptLoc,
    concepts::ExprRequirement::
        ReturnTypeRequirement
            ReturnTypeRequirement)

Declared at: clang/include/clang/Sema/Sema.h:8291

Parameters

clang::Expr* E
bool IsSatisfied
clang::SourceLocation NoexceptLoc
concepts::ExprRequirement::ReturnTypeRequirement ReturnTypeRequirement

clang::ExprResult
BuildExpressionFromDeclTemplateArgument(
    const clang::TemplateArgument& Arg,
    clang::QualType ParamType,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:8142

Parameters

const clang::TemplateArgument& Arg
clang::QualType ParamType
clang::SourceLocation Loc

clang::ExprResult
BuildExpressionFromIntegralTemplateArgument(
    const clang::TemplateArgument& Arg,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:8146

Parameters

const clang::TemplateArgument& Arg
clang::SourceLocation Loc

clang::ExprResult BuildExpressionTrait(
    clang::ExpressionTrait OET,
    clang::SourceLocation KWLoc,
    clang::Expr* Queried,
    clang::SourceLocation RParen)

Declared at: clang/include/clang/Sema/Sema.h:6672

Parameters

clang::ExpressionTrait OET
clang::SourceLocation KWLoc
clang::Expr* Queried
clang::SourceLocation RParen

clang::QualType BuildExtVectorType(
    clang::QualType T,
    clang::Expr* ArraySize,
    clang::SourceLocation AttrLoc)

Declared at: clang/include/clang/Sema/Sema.h:2023

Parameters

clang::QualType T
clang::Expr* ArraySize
clang::SourceLocation AttrLoc

clang::ExprResult BuildFieldReferenceExpr(
    clang::Expr* BaseExpr,
    bool IsArrow,
    clang::SourceLocation OpLoc,
    const clang::CXXScopeSpec& SS,
    clang::FieldDecl* Field,
    clang::DeclAccessPair FoundDecl,
    const clang::DeclarationNameInfo&
        MemberNameInfo)

Declared at: clang/include/clang/Sema/Sema.h:5649

Parameters

clang::Expr* BaseExpr
bool IsArrow
clang::SourceLocation OpLoc
const clang::CXXScopeSpec& SS
clang::FieldDecl* Field
clang::DeclAccessPair FoundDecl
const clang::DeclarationNameInfo& MemberNameInfo

clang::Sema::ForRangeStatus
BuildForRangeBeginEndCall(
    clang::SourceLocation Loc,
    clang::SourceLocation RangeLoc,
    const clang::DeclarationNameInfo& NameInfo,
    clang::LookupResult& MemberLookup,
    clang::OverloadCandidateSet* CandidateSet,
    clang::Expr* Range,
    clang::ExprResult* CallExpr)

Declared at: clang/include/clang/Sema/Sema.h:4052

Parameters

clang::SourceLocation Loc
clang::SourceLocation RangeLoc
const clang::DeclarationNameInfo& NameInfo
clang::LookupResult& MemberLookup
clang::OverloadCandidateSet* CandidateSet
clang::Expr* Range
clang::ExprResult* CallExpr

clang::QualType BuildFunctionType(
    clang::QualType T,
    MutableArrayRef<clang::QualType> ParamTypes,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity,
    const FunctionProtoType::ExtProtoInfo& EPI)

Description

Build a function type. This routine checks the function type according to C++ rules and under the assumption that the result type and parameter types have just been instantiated from a template. It therefore duplicates some of the behavior of GetTypeForDeclarator, but in a much simpler form that is only suitable for this narrow use case.

Declared at: clang/include/clang/Sema/Sema.h:2066

Parameters

clang::QualType T
The return type of the function.
MutableArrayRef<clang::QualType> ParamTypes
The parameter types of the function. This array will be modified to account for adjustments to the types of the function parameters.
clang::SourceLocation Loc
The location of the entity whose type involves this function type or, if there is no such entity, the location of the type that will have function type.
clang::DeclarationName Entity
The name of the entity that involves the function type, if known.
const FunctionProtoType::ExtProtoInfo& EPI
Extra information about the function type. Usually this will be taken from an existing function with the same prototype.

Returns

A suitable function type, if there are no errors. The unqualified type will always be a FunctionProtoType. Otherwise, returns a NULL type.

clang::StmtResult BuildIfStmt(
    clang::SourceLocation IfLoc,
    clang::IfStatementKind StatementKind,
    clang::SourceLocation LParenLoc,
    clang::Stmt* InitStmt,
    clang::Sema::ConditionResult Cond,
    clang::SourceLocation RParenLoc,
    clang::Stmt* ThenVal,
    clang::SourceLocation ElseLoc,
    clang::Stmt* ElseVal)

Declared at: clang/include/clang/Sema/Sema.h:4959

Parameters

clang::SourceLocation IfLoc
clang::IfStatementKind StatementKind
clang::SourceLocation LParenLoc
clang::Stmt* InitStmt
clang::Sema::ConditionResult Cond
clang::SourceLocation RParenLoc
clang::Stmt* ThenVal
clang::SourceLocation ElseLoc
clang::Stmt* ElseVal

clang::ExprResult BuildImplicitMemberExpr(
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::LookupResult& R,
    const clang::TemplateArgumentListInfo*
        TemplateArgs,
    bool IsDefiniteInstance,
    const clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:5467

Parameters

const clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::LookupResult& R
const clang::TemplateArgumentListInfo* TemplateArgs
bool IsDefiniteInstance
const clang::Scope* S

clang::ExprResult BuildInitList(
    clang::SourceLocation LBraceLoc,
    clang::MultiExprArg InitArgList,
    clang::SourceLocation RBraceLoc)

Declared at: clang/include/clang/Sema/Sema.h:5764

Parameters

clang::SourceLocation LBraceLoc
clang::MultiExprArg InitArgList
clang::SourceLocation RBraceLoc

clang::ExprResult BuildInstanceMessage(
    clang::Expr* Receiver,
    clang::QualType ReceiverType,
    clang::SourceLocation SuperLoc,
    clang::Selector Sel,
    clang::ObjCMethodDecl* Method,
    clang::SourceLocation LBracLoc,
    ArrayRef<clang::SourceLocation> SelectorLocs,
    clang::SourceLocation RBracLoc,
    clang::MultiExprArg Args,
    bool isImplicit = false)

Declared at: clang/include/clang/Sema/Sema.h:10164

Parameters

clang::Expr* Receiver
clang::QualType ReceiverType
clang::SourceLocation SuperLoc
clang::Selector Sel
clang::ObjCMethodDecl* Method
clang::SourceLocation LBracLoc
ArrayRef<clang::SourceLocation> SelectorLocs
clang::SourceLocation RBracLoc
clang::MultiExprArg Args
bool isImplicit = false

clang::ExprResult BuildInstanceMessageImplicit(
    clang::Expr* Receiver,
    clang::QualType ReceiverType,
    clang::SourceLocation Loc,
    clang::Selector Sel,
    clang::ObjCMethodDecl* Method,
    clang::MultiExprArg Args)

Declared at: clang/include/clang/Sema/Sema.h:10175

Parameters

clang::Expr* Receiver
clang::QualType ReceiverType
clang::SourceLocation Loc
clang::Selector Sel
clang::ObjCMethodDecl* Method
clang::MultiExprArg Args

clang::ExprResult BuildIvarRefExpr(
    clang::Scope* S,
    clang::SourceLocation Loc,
    clang::ObjCIvarDecl* IV)

Declared at: clang/include/clang/Sema/Sema.h:5420

Parameters

clang::Scope* S
clang::SourceLocation Loc
clang::ObjCIvarDecl* IV

clang::ExprResult BuildLambdaExpr(
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc,
    sema::LambdaScopeInfo* LSI)

Description

Complete a lambda-expression having processed and attached the lambda body.

Declared at: clang/include/clang/Sema/Sema.h:7050

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation EndLoc
sema::LambdaScopeInfo* LSI

clang::ExprResult BuildLiteralOperatorCall(
    clang::LookupResult& R,
    clang::DeclarationNameInfo& SuffixInfo,
    ArrayRef<clang::Expr*> Args,
    clang::SourceLocation LitEndLoc,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5498

Parameters

clang::LookupResult& R
clang::DeclarationNameInfo& SuffixInfo
ArrayRef<clang::Expr*> Args
clang::SourceLocation LitEndLoc
clang::TemplateArgumentListInfo* ExplicitTemplateArgs = nullptr

clang::StmtResult BuildMSDependentExistsStmt(
    clang::SourceLocation KeywordLoc,
    bool IsIfExists,
    clang::NestedNameSpecifierLoc QualifierLoc,
    clang::DeclarationNameInfo NameInfo,
    clang::Stmt* Nested)

Declared at: clang/include/clang/Sema/Sema.h:5882

Parameters

clang::SourceLocation KeywordLoc
bool IsIfExists
clang::NestedNameSpecifierLoc QualifierLoc
clang::DeclarationNameInfo NameInfo
clang::Stmt* Nested

clang::QualType BuildMatrixType(
    clang::QualType T,
    clang::Expr* NumRows,
    clang::Expr* NumColumns,
    clang::SourceLocation AttrLoc)

Declared at: clang/include/clang/Sema/Sema.h:2025

Parameters

clang::QualType T
clang::Expr* NumRows
clang::Expr* NumColumns
clang::SourceLocation AttrLoc

clang::MemInitResult BuildMemInitializer(
    clang::Decl* ConstructorD,
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* MemberOrBase,
    clang::ParsedType TemplateTypeTy,
    const clang::DeclSpec& DS,
    clang::SourceLocation IdLoc,
    clang::Expr* Init,
    clang::SourceLocation EllipsisLoc)

Declared at: clang/include/clang/Sema/Sema.h:7325

Parameters

clang::Decl* ConstructorD
clang::Scope* S
clang::CXXScopeSpec& SS
clang::IdentifierInfo* MemberOrBase
clang::ParsedType TemplateTypeTy
const clang::DeclSpec& DS
clang::SourceLocation IdLoc
clang::Expr* Init
clang::SourceLocation EllipsisLoc

clang::MemberExpr* BuildMemberExpr(
    clang::Expr* Base,
    bool IsArrow,
    clang::SourceLocation OpLoc,
    const clang::CXXScopeSpec* SS,
    clang::SourceLocation TemplateKWLoc,
    clang::ValueDecl* Member,
    clang::DeclAccessPair FoundDecl,
    bool HadMultipleCandidates,
    const clang::DeclarationNameInfo&
        MemberNameInfo,
    clang::QualType Ty,
    clang::ExprValueKind VK,
    clang::ExprObjectKind OK,
    const clang::TemplateArgumentListInfo*
        TemplateArgs = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5678

Parameters

clang::Expr* Base
bool IsArrow
clang::SourceLocation OpLoc
const clang::CXXScopeSpec* SS
clang::SourceLocation TemplateKWLoc
clang::ValueDecl* Member
clang::DeclAccessPair FoundDecl
bool HadMultipleCandidates
const clang::DeclarationNameInfo& MemberNameInfo
clang::QualType Ty
clang::ExprValueKind VK
clang::ExprObjectKind OK
const clang::TemplateArgumentListInfo* TemplateArgs = nullptr

clang::MemberExpr* BuildMemberExpr(
    clang::Expr* Base,
    bool IsArrow,
    clang::SourceLocation OpLoc,
    clang::NestedNameSpecifierLoc NNS,
    clang::SourceLocation TemplateKWLoc,
    clang::ValueDecl* Member,
    clang::DeclAccessPair FoundDecl,
    bool HadMultipleCandidates,
    const clang::DeclarationNameInfo&
        MemberNameInfo,
    clang::QualType Ty,
    clang::ExprValueKind VK,
    clang::ExprObjectKind OK,
    const clang::TemplateArgumentListInfo*
        TemplateArgs = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5686

Parameters

clang::Expr* Base
bool IsArrow
clang::SourceLocation OpLoc
clang::NestedNameSpecifierLoc NNS
clang::SourceLocation TemplateKWLoc
clang::ValueDecl* Member
clang::DeclAccessPair FoundDecl
bool HadMultipleCandidates
const clang::DeclarationNameInfo& MemberNameInfo
clang::QualType Ty
clang::ExprValueKind VK
clang::ExprObjectKind OK
const clang::TemplateArgumentListInfo* TemplateArgs = nullptr

clang::MemInitResult BuildMemberInitializer(
    clang::ValueDecl* Member,
    clang::Expr* Init,
    clang::SourceLocation IdLoc)

Declared at: clang/include/clang/Sema/Sema.h:7335

Parameters

clang::ValueDecl* Member
clang::Expr* Init
clang::SourceLocation IdLoc

clang::QualType BuildMemberPointerType(
    clang::QualType T,
    clang::QualType Class,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity)

Declared at: clang/include/clang/Sema/Sema.h:2071

Parameters

clang::QualType T
clang::QualType Class
clang::SourceLocation Loc
clang::DeclarationName Entity

clang::ExprResult BuildMemberReferenceExpr(
    clang::Expr* Base,
    clang::QualType BaseType,
    clang::SourceLocation OpLoc,
    bool IsArrow,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::NamedDecl* FirstQualifierInScope,
    const clang::DeclarationNameInfo& NameInfo,
    const clang::TemplateArgumentListInfo*
        TemplateArgs,
    const clang::Scope* S,
    clang::Sema::ActOnMemberAccessExtraArgs*
        ExtraArgs = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5631

Parameters

clang::Expr* Base
clang::QualType BaseType
clang::SourceLocation OpLoc
bool IsArrow
clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::NamedDecl* FirstQualifierInScope
const clang::DeclarationNameInfo& NameInfo
const clang::TemplateArgumentListInfo* TemplateArgs
const clang::Scope* S
clang::Sema::ActOnMemberAccessExtraArgs* ExtraArgs = nullptr

clang::ExprResult BuildMemberReferenceExpr(
    clang::Expr* Base,
    clang::QualType BaseType,
    clang::SourceLocation OpLoc,
    bool IsArrow,
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::NamedDecl* FirstQualifierInScope,
    clang::LookupResult& R,
    const clang::TemplateArgumentListInfo*
        TemplateArgs,
    const clang::Scope* S,
    bool SuppressQualifierCheck = false,
    clang::Sema::ActOnMemberAccessExtraArgs*
        ExtraArgs = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5640

Parameters

clang::Expr* Base
clang::QualType BaseType
clang::SourceLocation OpLoc
bool IsArrow
const clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::NamedDecl* FirstQualifierInScope
clang::LookupResult& R
const clang::TemplateArgumentListInfo* TemplateArgs
const clang::Scope* S
bool SuppressQualifierCheck = false
clang::Sema::ActOnMemberAccessExtraArgs* ExtraArgs = nullptr

clang::Decl* BuildMicrosoftCAnonymousStruct(
    clang::Scope* S,
    clang::DeclSpec& DS,
    clang::RecordDecl* Record)

Declared at: clang/include/clang/Sema/Sema.h:3205

Parameters

clang::Scope* S
clang::DeclSpec& DS
clang::RecordDecl* Record

void BuildModuleInclude(
    clang::SourceLocation DirectiveLoc,
    clang::Module* Mod)

Declared at: clang/include/clang/Sema/Sema.h:3133

Parameters

clang::SourceLocation DirectiveLoc
clang::Module* Mod

concepts::NestedRequirement*
BuildNestedRequirement(
    concepts::Requirement::SubstitutionDiagnostic*
        SubstDiag)

Declared at: clang/include/clang/Sema/Sema.h:8305

Parameters

concepts::Requirement::SubstitutionDiagnostic* SubstDiag

concepts::NestedRequirement*
BuildNestedRequirement(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:8303

Parameters

clang::Expr* E

clang::ExprResult BuildObjCArrayLiteral(
    clang::SourceRange SR,
    clang::MultiExprArg Elements)

Declared at: clang/include/clang/Sema/Sema.h:7222

Parameters

clang::SourceRange SR
clang::MultiExprArg Elements

clang::StmtResult BuildObjCAtThrowStmt(
    clang::SourceLocation AtLoc,
    clang::Expr* Throw)

Declared at: clang/include/clang/Sema/Sema.h:5115

Parameters

clang::SourceLocation AtLoc
clang::Expr* Throw

clang::ExprResult BuildObjCBoxedExpr(
    clang::SourceRange SR,
    clang::Expr* ValueExpr)

Description

BuildObjCBoxedExpr - builds an ObjCBoxedExpr AST node for the ' @ ' prefixed parenthesized expression. The type of the expression will either be "NSNumber *", "NSString *" or "NSValue *" depending on the type of ValueType, which is allowed to be a built-in numeric type, "char *", "const char *" or C structure with attribute 'objc_boxable'.

Declared at: clang/include/clang/Sema/Sema.h:7229

Parameters

clang::SourceRange SR
clang::Expr* ValueExpr

clang::ExprResult BuildObjCBridgedCast(
    clang::SourceLocation LParenLoc,
    clang::ObjCBridgeCastKind Kind,
    clang::SourceLocation BridgeKeywordLoc,
    clang::TypeSourceInfo* TSInfo,
    clang::Expr* SubExpr)

Declared at: clang/include/clang/Sema/Sema.h:10190

Parameters

clang::SourceLocation LParenLoc
clang::ObjCBridgeCastKind Kind
clang::SourceLocation BridgeKeywordLoc
clang::TypeSourceInfo* TSInfo
clang::Expr* SubExpr

clang::ExprResult BuildObjCDictionaryLiteral(
    clang::SourceRange SR,
    MutableArrayRef<clang::ObjCDictionaryElement>
        Elements)

Declared at: clang/include/clang/Sema/Sema.h:7236

Parameters

clang::SourceRange SR
MutableArrayRef<clang::ObjCDictionaryElement> Elements

clang::ExprResult BuildObjCEncodeExpression(
    clang::SourceLocation AtLoc,
    clang::TypeSourceInfo* EncodedTypeInfo,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:7239

Parameters

clang::SourceLocation AtLoc
clang::TypeSourceInfo* EncodedTypeInfo
clang::SourceLocation RParenLoc

clang::VarDecl* BuildObjCExceptionDecl(
    clang::TypeSourceInfo* TInfo,
    clang::QualType ExceptionType,
    clang::SourceLocation StartLoc,
    clang::SourceLocation IdLoc,
    clang::IdentifierInfo* Id,
    bool Invalid = false)

Declared at: clang/include/clang/Sema/Sema.h:5100

Parameters

clang::TypeSourceInfo* TInfo
clang::QualType ExceptionType
clang::SourceLocation StartLoc
clang::SourceLocation IdLoc
clang::IdentifierInfo* Id
bool Invalid = false

clang::ExprResult BuildObjCNumericLiteral(
    clang::SourceLocation AtLoc,
    clang::Expr* Number)

Description

BuildObjCNumericLiteral - builds an ObjCBoxedExpr AST node for the numeric literal expression. Type of the expression will be "NSNumber *" or "id" if NSNumber is unavailable.

Declared at: clang/include/clang/Sema/Sema.h:7219

Parameters

clang::SourceLocation AtLoc
clang::Expr* Number

clang::QualType BuildObjCObjectType(
    clang::QualType BaseType,
    clang::SourceLocation Loc,
    clang::SourceLocation TypeArgsLAngleLoc,
    ArrayRef<clang::TypeSourceInfo*> TypeArgs,
    clang::SourceLocation TypeArgsRAngleLoc,
    clang::SourceLocation ProtocolLAngleLoc,
    ArrayRef<clang::ObjCProtocolDecl*> Protocols,
    ArrayRef<clang::SourceLocation> ProtocolLocs,
    clang::SourceLocation ProtocolRAngleLoc,
    bool FailOnError = false)

Description

Build an Objective-C object pointer type.

Declared at: clang/include/clang/Sema/Sema.h:9997

Parameters

clang::QualType BaseType
clang::SourceLocation Loc
clang::SourceLocation TypeArgsLAngleLoc
ArrayRef<clang::TypeSourceInfo*> TypeArgs
clang::SourceLocation TypeArgsRAngleLoc
clang::SourceLocation ProtocolLAngleLoc
ArrayRef<clang::ObjCProtocolDecl*> Protocols
ArrayRef<clang::SourceLocation> ProtocolLocs
clang::SourceLocation ProtocolRAngleLoc
bool FailOnError = false

clang::ExprResult BuildObjCStringLiteral(
    clang::SourceLocation AtLoc,
    clang::StringLiteral* S)

Declared at: clang/include/clang/Sema/Sema.h:7214

Parameters

clang::SourceLocation AtLoc
clang::StringLiteral* S

clang::ExprResult BuildObjCSubscriptExpression(
    clang::SourceLocation RB,
    clang::Expr* BaseExpr,
    clang::Expr* IndexExpr,
    clang::ObjCMethodDecl* getterMethod,
    clang::ObjCMethodDecl* setterMethod)

Declared at: clang/include/clang/Sema/Sema.h:7231

Parameters

clang::SourceLocation RB
clang::Expr* BaseExpr
clang::Expr* IndexExpr
clang::ObjCMethodDecl* getterMethod
clang::ObjCMethodDecl* setterMethod

clang::QualType BuildObjCTypeParamType(
    const clang::ObjCTypeParamDecl* Decl,
    clang::SourceLocation ProtocolLAngleLoc,
    ArrayRef<clang::ObjCProtocolDecl*> Protocols,
    ArrayRef<clang::SourceLocation> ProtocolLocs,
    clang::SourceLocation ProtocolRAngleLoc,
    bool FailOnError = false)

Description

Build an Objective-C type parameter type.

Declared at: clang/include/clang/Sema/Sema.h:9989

Parameters

const clang::ObjCTypeParamDecl* Decl
clang::SourceLocation ProtocolLAngleLoc
ArrayRef<clang::ObjCProtocolDecl*> Protocols
ArrayRef<clang::SourceLocation> ProtocolLocs
clang::SourceLocation ProtocolRAngleLoc
bool FailOnError = false

clang::ExprResult BuildOperatorCoawaitCall(
    clang::SourceLocation Loc,
    clang::Expr* E,
    clang::UnresolvedLookupExpr* Lookup)

Declared at: clang/include/clang/Sema/Sema.h:10565

Parameters

clang::SourceLocation Loc
clang::Expr* E
clang::UnresolvedLookupExpr* Lookup

clang::ExprResult BuildOperatorCoawaitLookupExpr(
    clang::Scope* S,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:10564

Parameters

clang::Scope* S
clang::SourceLocation Loc

clang::ExprResult BuildOverloadedArrowExpr(
    clang::Scope* S,
    clang::Expr* Base,
    clang::SourceLocation OpLoc,
    bool* NoArrowOperatorFound = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4116

Parameters

clang::Scope* S
clang::Expr* Base
clang::SourceLocation OpLoc
bool* NoArrowOperatorFound = nullptr

clang::ExprResult BuildOverloadedCallExpr(
    clang::Scope* S,
    clang::Expr* Fn,
    clang::UnresolvedLookupExpr* ULE,
    clang::SourceLocation LParenLoc,
    clang::MultiExprArg Args,
    clang::SourceLocation RParenLoc,
    clang::Expr* ExecConfig,
    bool AllowTypoCorrection = true,
    bool CalleesAddressIsTaken = false)

Declared at: clang/include/clang/Sema/Sema.h:4059

Parameters

clang::Scope* S
clang::Expr* Fn
clang::UnresolvedLookupExpr* ULE
clang::SourceLocation LParenLoc
clang::MultiExprArg Args
clang::SourceLocation RParenLoc
clang::Expr* ExecConfig
bool AllowTypoCorrection = true
bool CalleesAddressIsTaken = false

clang::QualType BuildParenType(clang::QualType T)

Declared at: clang/include/clang/Sema/Sema.h:2076

Parameters

clang::QualType T

clang::ParmVarDecl* BuildParmVarDeclForTypedef(
    clang::DeclContext* DC,
    clang::SourceLocation Loc,
    clang::QualType T)

Declared at: clang/include/clang/Sema/Sema.h:2905

Parameters

clang::DeclContext* DC
clang::SourceLocation Loc
clang::QualType T

clang::QualType BuildPointerType(
    clang::QualType T,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity)

Declared at: clang/include/clang/Sema/Sema.h:2015

Parameters

clang::QualType T
clang::SourceLocation Loc
clang::DeclarationName Entity

clang::ExprResult BuildPossibleImplicitMemberExpr(
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::LookupResult& R,
    const clang::TemplateArgumentListInfo*
        TemplateArgs,
    const clang::Scope* S,
    clang::UnresolvedLookupExpr* AsULE = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5463

Parameters

const clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::LookupResult& R
const clang::TemplateArgumentListInfo* TemplateArgs
const clang::Scope* S
clang::UnresolvedLookupExpr* AsULE = nullptr

clang::ExprResult BuildPredefinedExpr(
    clang::SourceLocation Loc,
    PredefinedExpr::IdentKind IK)

Declared at: clang/include/clang/Sema/Sema.h:5504

Parameters

clang::SourceLocation Loc
PredefinedExpr::IdentKind IK

clang::ExprResult BuildPseudoDestructorExpr(
    clang::Expr* Base,
    clang::SourceLocation OpLoc,
    tok::TokenKind OpKind,
    const clang::CXXScopeSpec& SS,
    clang::TypeSourceInfo* ScopeType,
    clang::SourceLocation CCLoc,
    clang::SourceLocation TildeLoc,
    clang::PseudoDestructorTypeStorage
        DestroyedType)

Declared at: clang/include/clang/Sema/Sema.h:6684

Parameters

clang::Expr* Base
clang::SourceLocation OpLoc
tok::TokenKind OpKind
const clang::CXXScopeSpec& SS
clang::TypeSourceInfo* ScopeType
clang::SourceLocation CCLoc
clang::SourceLocation TildeLoc
clang::PseudoDestructorTypeStorage DestroyedType

clang::ExprResult
BuildQualifiedDeclarationNameExpr(
    clang::CXXScopeSpec& SS,
    const clang::DeclarationNameInfo& NameInfo,
    bool IsAddressOfOperand,
    const clang::Scope* S,
    clang::TypeSourceInfo** RecoveryTSI = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5478

Parameters

clang::CXXScopeSpec& SS
const clang::DeclarationNameInfo& NameInfo
bool IsAddressOfOperand
const clang::Scope* S
clang::TypeSourceInfo** RecoveryTSI = nullptr

clang::ExprResult BuildQualifiedTemplateIdExpr(
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    const clang::DeclarationNameInfo& NameInfo,
    const clang::TemplateArgumentListInfo*
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:7990

Parameters

clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
const clang::DeclarationNameInfo& NameInfo
const clang::TemplateArgumentListInfo* TemplateArgs

clang::QualType BuildQualifiedType(
    clang::QualType T,
    clang::SourceLocation Loc,
    unsigned int CVRA,
    const clang::DeclSpec* DS = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:2013

Parameters

clang::QualType T
clang::SourceLocation Loc
unsigned int CVRA
const clang::DeclSpec* DS = nullptr

clang::QualType BuildQualifiedType(
    clang::QualType T,
    clang::SourceLocation Loc,
    clang::Qualifiers Qs,
    const clang::DeclSpec* DS = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:2011

Parameters

clang::QualType T
clang::SourceLocation Loc
clang::Qualifiers Qs
const clang::DeclSpec* DS = nullptr

clang::QualType BuildReadPipeType(
    clang::QualType T,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:2078

Parameters

clang::QualType T
clang::SourceLocation Loc

clang::QualType BuildReferenceType(
    clang::QualType T,
    bool LValueRef,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity)

Declared at: clang/include/clang/Sema/Sema.h:2017

Parameters

clang::QualType T
bool LValueRef
clang::SourceLocation Loc
clang::DeclarationName Entity

clang::ExprResult BuildResolvedCallExpr(
    clang::Expr* Fn,
    clang::NamedDecl* NDecl,
    clang::SourceLocation LParenLoc,
    ArrayRef<clang::Expr*> Arg,
    clang::SourceLocation RParenLoc,
    clang::Expr* Config = nullptr,
    bool IsExecConfig = false,
    clang::Sema::ADLCallKind UsesADL =
        ADLCallKind::NotADL)

Declared at: clang/include/clang/Sema/Sema.h:5725

Parameters

clang::Expr* Fn
clang::NamedDecl* NDecl
clang::SourceLocation LParenLoc
ArrayRef<clang::Expr*> Arg
clang::SourceLocation RParenLoc
clang::Expr* Config = nullptr
bool IsExecConfig = false
clang::Sema::ADLCallKind UsesADL = ADLCallKind::NotADL

clang::ExprResult BuildResolvedCoawaitExpr(
    clang::SourceLocation KwLoc,
    clang::Expr* Operand,
    clang::Expr* Awaiter,
    bool IsImplicit = false)

Declared at: clang/include/clang/Sema/Sema.h:10567

Parameters

clang::SourceLocation KwLoc
clang::Expr* Operand
clang::Expr* Awaiter
bool IsImplicit = false

clang::StmtResult BuildReturnStmt(
    clang::SourceLocation ReturnLoc,
    clang::Expr* RetValExp,
    bool AllowRecovery = false)

Declared at: clang/include/clang/Sema/Sema.h:5064

Parameters

clang::SourceLocation ReturnLoc
clang::Expr* RetValExp
bool AllowRecovery = false

clang::ExprResult BuildSYCLUniqueStableNameExpr(
    clang::SourceLocation OpLoc,
    clang::SourceLocation LParen,
    clang::SourceLocation RParen,
    clang::TypeSourceInfo* TSI)

Declared at: clang/include/clang/Sema/Sema.h:5509

Parameters

clang::SourceLocation OpLoc
clang::SourceLocation LParen
clang::SourceLocation RParen
clang::TypeSourceInfo* TSI

clang::ExprResult BuildSourceLocExpr(
    SourceLocExpr::IdentKind Kind,
    clang::QualType ResultTy,
    clang::SourceLocation BuiltinLoc,
    clang::SourceLocation RPLoc,
    clang::DeclContext* ParentContext)

Declared at: clang/include/clang/Sema/Sema.h:5847

Parameters

SourceLocExpr::IdentKind Kind
clang::QualType ResultTy
clang::SourceLocation BuiltinLoc
clang::SourceLocation RPLoc
clang::DeclContext* ParentContext

clang::Decl* BuildStaticAssertDeclaration(
    clang::SourceLocation StaticAssertLoc,
    clang::Expr* AssertExpr,
    clang::StringLiteral* AssertMessageExpr,
    clang::SourceLocation RParenLoc,
    bool Failed)

Declared at: clang/include/clang/Sema/Sema.h:7482

Parameters

clang::SourceLocation StaticAssertLoc
clang::Expr* AssertExpr
clang::StringLiteral* AssertMessageExpr
clang::SourceLocation RParenLoc
bool Failed

clang::QualType BuildStdInitializerList(
    clang::QualType Element,
    clang::SourceLocation Loc)

Description

Looks for the std::initializer_list template and instantiates it with Element, or emits an error if it's not found.

Declared at: clang/include/clang/Sema/Sema.h:5989

Parameters

clang::QualType Element
clang::SourceLocation Loc

Returns

The instantiated template, or null on error.

clang::ExprResult BuildStmtExpr(
    clang::SourceLocation LPLoc,
    clang::Stmt* SubStmt,
    clang::SourceLocation RPLoc,
    unsigned int TemplateDepth)

Declared at: clang/include/clang/Sema/Sema.h:5801

Parameters

clang::SourceLocation LPLoc
clang::Stmt* SubStmt
clang::SourceLocation RPLoc
unsigned int TemplateDepth

clang::ExprResult
BuildSynthesizedThreeWayComparison(
    clang::SourceLocation OpLoc,
    const clang::UnresolvedSetImpl& Fns,
    clang::Expr* LHS,
    clang::Expr* RHS,
    clang::FunctionDecl* DefaultedFn)

Declared at: clang/include/clang/Sema/Sema.h:4095

Parameters

clang::SourceLocation OpLoc
const clang::UnresolvedSetImpl& Fns
clang::Expr* LHS
clang::Expr* RHS
clang::FunctionDecl* DefaultedFn

clang::ExprResult BuildTemplateIdExpr(
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::LookupResult& R,
    bool RequiresADL,
    const clang::TemplateArgumentListInfo*
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:7984

Parameters

const clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::LookupResult& R
bool RequiresADL
const clang::TemplateArgumentListInfo* TemplateArgs

bool BuildTypeConstraint(
    const clang::CXXScopeSpec& SS,
    clang::TemplateIdAnnotation* TypeConstraint,
    clang::TemplateTypeParmDecl*
        ConstrainedParameter,
    clang::SourceLocation EllipsisLoc,
    bool AllowUnexpandedPack)

Declared at: clang/include/clang/Sema/Sema.h:7832

Parameters

const clang::CXXScopeSpec& SS
clang::TemplateIdAnnotation* TypeConstraint
clang::TemplateTypeParmDecl* ConstrainedParameter
clang::SourceLocation EllipsisLoc
bool AllowUnexpandedPack

concepts::TypeRequirement* BuildTypeRequirement(
    clang::TypeSourceInfo* Type)

Declared at: clang/include/clang/Sema/Sema.h:8299

Parameters

clang::TypeSourceInfo* Type

concepts::TypeRequirement* BuildTypeRequirement(
    concepts::Requirement::SubstitutionDiagnostic*
        SubstDiag)

Declared at: clang/include/clang/Sema/Sema.h:8301

Parameters

concepts::Requirement::SubstitutionDiagnostic* SubstDiag

clang::ExprResult BuildTypeTrait(
    clang::TypeTrait Kind,
    clang::SourceLocation KWLoc,
    ArrayRef<clang::TypeSourceInfo*> Args,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:6647

Parameters

clang::TypeTrait Kind
clang::SourceLocation KWLoc
ArrayRef<clang::TypeSourceInfo*> Args
clang::SourceLocation RParenLoc

clang::QualType BuildTypeofExprType(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:2505

Parameters

clang::Expr* E

clang::ExprResult BuildUnaryOp(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    clang::UnaryOperatorKind Opc,
    clang::Expr* Input)

Declared at: clang/include/clang/Sema/Sema.h:5549

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
clang::UnaryOperatorKind Opc
clang::Expr* Input

clang::QualType BuildUnaryTransformType(
    clang::QualType BaseType,
    UnaryTransformType::UTTKind UKind,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:2509

Parameters

clang::QualType BaseType
UnaryTransformType::UTTKind UKind
clang::SourceLocation Loc

clang::ExprResult BuildUnresolvedCoawaitExpr(
    clang::SourceLocation KwLoc,
    clang::Expr* Operand,
    clang::UnresolvedLookupExpr* Lookup)

Declared at: clang/include/clang/Sema/Sema.h:10569

Parameters

clang::SourceLocation KwLoc
clang::Expr* Operand
clang::UnresolvedLookupExpr* Lookup

clang::NamedDecl* BuildUsingDeclaration(
    clang::Scope* S,
    clang::AccessSpecifier AS,
    clang::SourceLocation UsingLoc,
    bool HasTypenameKeyword,
    clang::SourceLocation TypenameLoc,
    clang::CXXScopeSpec& SS,
    clang::DeclarationNameInfo NameInfo,
    clang::SourceLocation EllipsisLoc,
    const clang::ParsedAttributesView& AttrList,
    bool IsInstantiation,
    bool IsUsingIfExists)

Declared at: clang/include/clang/Sema/Sema.h:6032

Parameters

clang::Scope* S
clang::AccessSpecifier AS
clang::SourceLocation UsingLoc
bool HasTypenameKeyword
clang::SourceLocation TypenameLoc
clang::CXXScopeSpec& SS
clang::DeclarationNameInfo NameInfo
clang::SourceLocation EllipsisLoc
const clang::ParsedAttributesView& AttrList
bool IsInstantiation
bool IsUsingIfExists

clang::NamedDecl* BuildUsingEnumDeclaration(
    clang::Scope* S,
    clang::AccessSpecifier AS,
    clang::SourceLocation UsingLoc,
    clang::SourceLocation EnumLoc,
    clang::SourceLocation NameLoc,
    clang::EnumDecl* ED)

Declared at: clang/include/clang/Sema/Sema.h:6038

Parameters

clang::Scope* S
clang::AccessSpecifier AS
clang::SourceLocation UsingLoc
clang::SourceLocation EnumLoc
clang::SourceLocation NameLoc
clang::EnumDecl* ED

clang::NamedDecl* BuildUsingPackDecl(
    clang::NamedDecl* InstantiatedFrom,
    ArrayRef<clang::NamedDecl*> Expansions)

Declared at: clang/include/clang/Sema/Sema.h:6042

Parameters

clang::NamedDecl* InstantiatedFrom
ArrayRef<clang::NamedDecl*> Expansions

clang::UsingShadowDecl* BuildUsingShadowDecl(
    clang::Scope* S,
    clang::BaseUsingDecl* BUD,
    clang::NamedDecl* Target,
    clang::UsingShadowDecl* PrevDecl)

Declared at: clang/include/clang/Sema/Sema.h:6016

Parameters

clang::Scope* S
clang::BaseUsingDecl* BUD
clang::NamedDecl* Target
clang::UsingShadowDecl* PrevDecl

clang::ExprResult BuildVAArgExpr(
    clang::SourceLocation BuiltinLoc,
    clang::Expr* E,
    clang::TypeSourceInfo* TInfo,
    clang::SourceLocation RPLoc)

Declared at: clang/include/clang/Sema/Sema.h:5837

Parameters

clang::SourceLocation BuiltinLoc
clang::Expr* E
clang::TypeSourceInfo* TInfo
clang::SourceLocation RPLoc

clang::VarTemplateSpecializationDecl*
BuildVarTemplateInstantiation(
    clang::VarTemplateDecl* VarTemplate,
    clang::VarDecl* FromVar,
    const clang::TemplateArgumentList&
        TemplateArgList,
    const clang::TemplateArgumentListInfo&
        TemplateArgsInfo,
    SmallVectorImpl<clang::TemplateArgument>&
        Converted,
    clang::SourceLocation PointOfInstantiation,
    clang::Sema::LateInstantiatedAttrVec*
        LateAttrs = nullptr,
    clang::LocalInstantiationScope*
        StartingScope = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:9803

Parameters

clang::VarTemplateDecl* VarTemplate
clang::VarDecl* FromVar
const clang::TemplateArgumentList& TemplateArgList
const clang::TemplateArgumentListInfo& TemplateArgsInfo
SmallVectorImpl<clang::TemplateArgument>& Converted
clang::SourceLocation PointOfInstantiation
clang::Sema::LateInstantiatedAttrVec* LateAttrs = nullptr
clang::LocalInstantiationScope* StartingScope = nullptr

void BuildVariableInstantiation(
    clang::VarDecl* NewVar,
    clang::VarDecl* OldVar,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::Sema::LateInstantiatedAttrVec*
        LateAttrs,
    clang::DeclContext* Owner,
    clang::LocalInstantiationScope* StartingScope,
    bool InstantiatingVarTemplate = false,
    clang::VarTemplateSpecializationDecl*
        PrevVTSD = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:9815

Parameters

clang::VarDecl* NewVar
clang::VarDecl* OldVar
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::Sema::LateInstantiatedAttrVec* LateAttrs
clang::DeclContext* Owner
clang::LocalInstantiationScope* StartingScope
bool InstantiatingVarTemplate = false
clang::VarTemplateSpecializationDecl* PrevVTSD = nullptr

clang::ExprResult BuildVectorLiteral(
    clang::SourceLocation LParenLoc,
    clang::SourceLocation RParenLoc,
    clang::Expr* E,
    clang::TypeSourceInfo* TInfo)

Description

Build an altivec or OpenCL literal.

Declared at: clang/include/clang/Sema/Sema.h:5744

Parameters

clang::SourceLocation LParenLoc
clang::SourceLocation RParenLoc
clang::Expr* E
clang::TypeSourceInfo* TInfo

clang::QualType BuildVectorType(
    clang::QualType T,
    clang::Expr* VecSize,
    clang::SourceLocation AttrLoc)

Declared at: clang/include/clang/Sema/Sema.h:2022

Parameters

clang::QualType T
clang::Expr* VecSize
clang::SourceLocation AttrLoc

clang::QualType BuildWritePipeType(
    clang::QualType T,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:2080

Parameters

clang::QualType T
clang::SourceLocation Loc

void CUDACheckLambdaCapture(
    clang::CXXMethodDecl* D,
    const sema::Capture& Capture)

Declared at: clang/include/clang/Sema/Sema.h:12764

Parameters

clang::CXXMethodDecl* D
const sema::Capture& Capture

clang::Sema::SemaDiagnosticBuilder
CUDADiagIfDeviceCode(clang::SourceLocation Loc,
                     unsigned int DiagID)

Description

Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as device code". - If CurContext is a __host__ function, does not emit any diagnostics unless \p EmitOnBothSides is true. - If CurContext is a __device__ or __global__ function, emits the diagnostics immediately. - If CurContext is a __host__ __device__ function and we are compiling for the device, creates a diagnostic which is emitted if and when we realize that the function will be codegen'ed. Example usage: // Variable-length arrays are not allowed in CUDA device code. if (CUDADiagIfDeviceCode(Loc, diag::err_cuda_vla) < < CurrentCUDATarget()) return ExprError(); // Otherwise, continue parsing as normal.

Declared at: clang/include/clang/Sema/Sema.h:12617

Parameters

clang::SourceLocation Loc
unsigned int DiagID

clang::Sema::SemaDiagnosticBuilder
CUDADiagIfHostCode(clang::SourceLocation Loc,
                   unsigned int DiagID)

Description

Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as host code". Same as CUDADiagIfDeviceCode, with "host" and "device" switched.

Declared at: clang/include/clang/Sema/Sema.h:12624

Parameters

clang::SourceLocation Loc
unsigned int DiagID

void CUDASetLambdaAttrs(
    clang::CXXMethodDecl* Method)

Description

Set __device__ or __host__ __device__ attributes on the given lambda operator() method. CUDA lambdas by default is host device function unless it has explicit host or device attribute.

Declared at: clang/include/clang/Sema/Sema.h:12771

Parameters

clang::CXXMethodDecl* Method

clang::QualType CXXCheckConditionalOperands(
    clang::ExprResult& cond,
    clang::ExprResult& lhs,
    clang::ExprResult& rhs,
    clang::ExprValueKind& VK,
    clang::ExprObjectKind& OK,
    clang::SourceLocation questionLoc)

Declared at: clang/include/clang/Sema/Sema.h:12198

Parameters

clang::ExprResult& cond
clang::ExprResult& lhs
clang::ExprResult& rhs
clang::ExprValueKind& VK
clang::ExprObjectKind& OK
clang::SourceLocation questionLoc

clang::ExprResult CallExprUnaryConversions(
    clang::Expr* E)

Description

CallExprUnaryConversions - a special case of an unary conversion performed on a function designator of a call expression.

Declared at: clang/include/clang/Sema/Sema.h:11873

Parameters

clang::Expr* E

bool CanPerformAggregateInitializationForOverloadResolution(
    const clang::InitializedEntity& Entity,
    clang::InitListExpr* From)

Declared at: clang/include/clang/Sema/Sema.h:3696

Parameters

const clang::InitializedEntity& Entity
clang::InitListExpr* From

bool CanPerformCopyInitialization(
    const clang::InitializedEntity& Entity,
    clang::ExprResult Init)

Declared at: clang/include/clang/Sema/Sema.h:3701

Parameters

const clang::InitializedEntity& Entity
clang::ExprResult Init

bool CanUseDecl(clang::NamedDecl* D,
                bool TreatUnavailableAsInvalid)

Declared at: clang/include/clang/Sema/Sema.h:5233

Parameters

clang::NamedDecl* D
bool TreatUnavailableAsInvalid

bool CaptureHasSideEffects(
    const sema::Capture& From)

Description

Does copying/destroying the captured variable have side effects?

Declared at: clang/include/clang/Sema/Sema.h:7033

Parameters

const sema::Capture& From

bool CheckAArch64BuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13093

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckAMDGCNBuiltinFunctionCall(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13116

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckARCMethodDecl(
    clang::ObjCMethodDecl* method)

Declared at: clang/include/clang/Sema/Sema.h:10090

Parameters

clang::ObjCMethodDecl* method

bool CheckARMBuiltinExclusiveCall(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall,
    unsigned int MaxWidth)

Declared at: clang/include/clang/Sema/Sema.h:13080

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall
unsigned int MaxWidth

bool CheckARMBuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13090

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckARMCoprocessorImmediate(
    const clang::TargetInfo& TI,
    const clang::Expr* CoprocArg,
    bool WantCDE)

Declared at: clang/include/clang/Sema/Sema.h:13088

Parameters

const clang::TargetInfo& TI
const clang::Expr* CoprocArg
bool WantCDE

void CheckAbsoluteValueFunction(
    const clang::CallExpr* Call,
    const clang::FunctionDecl* FDecl)

Declared at: clang/include/clang/Sema/Sema.h:13215

Parameters

const clang::CallExpr* Call
const clang::FunctionDecl* FDecl

clang::QualType CheckAdditionOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::BinaryOperatorKind Opc,
    clang::QualType* CompLHSTy = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:12161

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::BinaryOperatorKind Opc
clang::QualType* CompLHSTy = nullptr

clang::Sema::AccessResult
CheckAddressOfMemberAccess(
    clang::Expr* OvlExpr,
    clang::DeclAccessPair FoundDecl)

Declared at: clang/include/clang/Sema/Sema.h:7650

Parameters

clang::Expr* OvlExpr
clang::DeclAccessPair FoundDecl

void CheckAddressOfNoDeref(const clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:2236

Parameters

const clang::Expr* E

clang::QualType CheckAddressOfOperand(
    clang::ExprResult& Operand,
    clang::SourceLocation OpLoc)

Declared at: clang/include/clang/Sema/Sema.h:5555

Parameters

clang::ExprResult& Operand
clang::SourceLocation OpLoc

void CheckAddressOfPackedMember(clang::Expr* rhs)

Description

Check if we are taking the address of a packed field as this may be a problem if the pointer value is dereferenced.

Declared at: clang/include/clang/Sema/Sema.h:13315

Parameters

clang::Expr* rhs

void CheckAlignasUnderalignment(clang::Decl* D)

Declared at: clang/include/clang/Sema/Sema.h:4589

Parameters

clang::Decl* D

bool CheckAllocatedType(clang::QualType AllocType,
                        clang::SourceLocation Loc,
                        clang::SourceRange R)

Declared at: clang/include/clang/Sema/Sema.h:6590

Parameters

clang::QualType AllocType
clang::SourceLocation Loc
clang::SourceRange R

clang::Sema::AccessResult CheckAllocationAccess(
    clang::SourceLocation OperatorLoc,
    clang::SourceRange PlacementRange,
    clang::CXXRecordDecl* NamingClass,
    clang::DeclAccessPair FoundDecl,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:7613

Parameters

clang::SourceLocation OperatorLoc
clang::SourceRange PlacementRange
clang::CXXRecordDecl* NamingClass
clang::DeclAccessPair FoundDecl
bool Diagnose = true

bool CheckAltivecInitFromScalar(
    clang::SourceRange R,
    clang::QualType VecTy,
    clang::QualType SrcTy)

Declared at: clang/include/clang/Sema/Sema.h:6395

Parameters

clang::SourceRange R
clang::QualType VecTy
clang::QualType SrcTy

void CheckArgAlignment(clang::SourceLocation Loc,
                       clang::NamedDecl* FDecl,
                       llvm::StringRef ParamName,
                       clang::QualType ArgTy,
                       clang::QualType ParamTy)

Declared at: clang/include/clang/Sema/Sema.h:13061

Parameters

clang::SourceLocation Loc
clang::NamedDecl* FDecl
llvm::StringRef ParamName
clang::QualType ArgTy
clang::QualType ParamTy

void CheckArgumentWithTypeTag(
    const clang::ArgumentWithTypeTagAttr* Attr,
    const ArrayRef<const clang::Expr*> ExprArgs,
    clang::SourceLocation CallSiteLoc)

Description

Peform checks on a call of a function with argument_with_type_tag or pointer_with_type_tag attributes.

Declared at: clang/include/clang/Sema/Sema.h:13309

Parameters

const clang::ArgumentWithTypeTagAttr* Attr
const ArrayRef<const clang::Expr*> ExprArgs
clang::SourceLocation CallSiteLoc

void CheckArrayAccess(const clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:13046

Parameters

const clang::Expr* E

void CheckArrayAccess(
    const clang::Expr* BaseExpr,
    const clang::Expr* IndexExpr,
    const clang::ArraySubscriptExpr* ASE =
        nullptr,
    bool AllowOnePastEnd = true,
    bool IndexNegated = false)

Declared at: clang/include/clang/Sema/Sema.h:13043

Parameters

const clang::Expr* BaseExpr
const clang::Expr* IndexExpr
const clang::ArraySubscriptExpr* ASE = nullptr
bool AllowOnePastEnd = true
bool IndexNegated = false

clang::Sema::AssignConvertType
CheckAssignmentConstraints(
    clang::QualType LHSType,
    clang::ExprResult& RHS,
    clang::CastKind& Kind,
    bool ConvertRHS = true)

Description

Check assignment constraints and optionally prepare for a conversion of the RHS to the LHS type. The conversion is prepared for if ConvertRHS is true.

Declared at: clang/include/clang/Sema/Sema.h:12095

Parameters

clang::QualType LHSType
clang::ExprResult& RHS
clang::CastKind& Kind
bool ConvertRHS = true

clang::Sema::AssignConvertType
CheckAssignmentConstraints(
    clang::SourceLocation Loc,
    clang::QualType LHSType,
    clang::QualType RHSType)

Description

CheckAssignmentConstraints - Perform type checking for assignment, argument passing, variable initialization, and function return values. C99 6.5.16.

Declared at: clang/include/clang/Sema/Sema.h:12088

Parameters

clang::SourceLocation Loc
clang::QualType LHSType
clang::QualType RHSType

clang::QualType CheckAssignmentOperands(
    clang::Expr* LHSExpr,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::QualType CompoundType,
    clang::BinaryOperatorKind Opc)

Declared at: clang/include/clang/Sema/Sema.h:12183

Parameters

clang::Expr* LHSExpr
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::QualType CompoundType
clang::BinaryOperatorKind Opc

bool CheckAttrNoArgs(
    const clang::ParsedAttr& CurrAttr)

Declared at: clang/include/clang/Sema/Sema.h:4571

Parameters

const clang::ParsedAttr& CurrAttr

bool CheckAttrTarget(
    const clang::ParsedAttr& CurrAttr)

Declared at: clang/include/clang/Sema/Sema.h:4570

Parameters

const clang::ParsedAttr& CurrAttr

bool CheckBPFBuiltinFunctionCall(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13095

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

clang::Sema::AccessResult CheckBaseClassAccess(
    clang::SourceLocation AccessLoc,
    clang::QualType Base,
    clang::QualType Derived,
    const clang::CXXBasePath& Path,
    unsigned int DiagID,
    bool ForceCheck = false,
    bool ForceUnprivileged = false)

Declared at: clang/include/clang/Sema/Sema.h:7652

Parameters

clang::SourceLocation AccessLoc
clang::QualType Base
clang::QualType Derived
const clang::CXXBasePath& Path
unsigned int DiagID
bool ForceCheck = false
bool ForceUnprivileged = false

clang::CXXBaseSpecifier* CheckBaseSpecifier(
    clang::CXXRecordDecl* Class,
    clang::SourceRange SpecifierRange,
    bool Virtual,
    clang::AccessSpecifier Access,
    clang::TypeSourceInfo* TInfo,
    clang::SourceLocation EllipsisLoc)

Description

ActOnBaseSpecifier - Parsed a base specifier

Declared at: clang/include/clang/Sema/Sema.h:7527

Parameters

clang::CXXRecordDecl* Class
clang::SourceRange SpecifierRange
bool Virtual
clang::AccessSpecifier Access
clang::TypeSourceInfo* TInfo
clang::SourceLocation EllipsisLoc

void CheckBitFieldInitialization(
    clang::SourceLocation InitLoc,
    clang::FieldDecl* Field,
    clang::Expr* Init)

Declared at: clang/include/clang/Sema/Sema.h:13253

Parameters

clang::SourceLocation InitLoc
clang::FieldDecl* Field
clang::Expr* Init

clang::QualType CheckBitwiseOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::BinaryOperatorKind Opc)

Declared at: clang/include/clang/Sema/Sema.h:12174

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::BinaryOperatorKind Opc

void CheckBoolLikeConversion(
    clang::Expr* E,
    clang::SourceLocation CC)

Declared at: clang/include/clang/Sema/Sema.h:13244

Parameters

clang::Expr* E
clang::SourceLocation CC

clang::ExprResult CheckBooleanCondition(
    clang::SourceLocation Loc,
    clang::Expr* E,
    bool IsConstexpr = false)

Description

CheckBooleanCondition - Diagnose problems involving the use of the given expression as a boolean condition (e.g. in an if statement). Also performs the standard function and array decays, possibly changing the input variable.

Declared at: clang/include/clang/Sema/Sema.h:12480

Parameters

clang::SourceLocation Loc
- A location associated with the condition, e.g. the 'if' keyword.
clang::Expr* E
bool IsConstexpr = false

Returns

true iff there were any errors

void CheckBreakContinueBinding(clang::Expr* E)

Description

Check if the given expression contains 'break' or 'continue' statement that produces control flow different from GCC.

Declared at: clang/include/clang/Sema/Sema.h:13264

Parameters

clang::Expr* E

clang::ExprResult CheckBuiltinFunctionCall(
    clang::FunctionDecl* FDecl,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13072

Parameters

clang::FunctionDecl* FDecl
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckCDEBuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13086

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckCUDACall(clang::SourceLocation Loc,
                   clang::FunctionDecl* Callee)

Description

Check whether we're allowed to call Callee from the current context. - If the call is never allowed in a semantically-correct program (CFP_Never), emits an error and returns false. - If the call is allowed in semantically-correct programs, but only if it's never codegen'ed (CFP_WrongSide), creates a deferred diagnostic to be emitted if and when the caller is codegen'ed, and returns true. Will only create deferred diagnostics for a given SourceLocation once, so you can safely call this multiple times without generating duplicate deferred errors. - Otherwise, returns true without emitting any diagnostics.

Declared at: clang/include/clang/Sema/Sema.h:12762

Parameters

clang::SourceLocation Loc
clang::FunctionDecl* Callee

clang::ExprResult CheckCXXBooleanCondition(
    clang::Expr* CondExpr,
    bool IsConstexpr = false)

Description

CheckCXXBooleanCondition - Returns true if conversion to bool is invalid.

Declared at: clang/include/clang/Sema/Sema.h:12500

Parameters

clang::Expr* CondExpr
bool IsConstexpr = false

bool CheckCXXDefaultArgExpr(
    clang::SourceLocation CallLoc,
    clang::FunctionDecl* FD,
    clang::ParmVarDecl* Param)

Description

Instantiate or parse a C++ default argument expression as necessary. Return true on error.

Declared at: clang/include/clang/Sema/Sema.h:6108

Parameters

clang::SourceLocation CallLoc
clang::FunctionDecl* FD
clang::ParmVarDecl* Param

void CheckCXXDefaultArguments(
    clang::FunctionDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:4129

Parameters

clang::FunctionDecl* FD

bool CheckCXXThisCapture(
    clang::SourceLocation Loc,
    bool Explicit = false,
    bool BuildAndDiagnose = true,
    const unsigned int* const
        FunctionScopeIndexToStopAt = nullptr,
    bool ByCopy = false)

Description

Make sure the value of 'this' is actually available in the current context, if it is a potentially evaluated context.

Declared at: clang/include/clang/Sema/Sema.h:6517

Parameters

clang::SourceLocation Loc
The location at which the capture of 'this' occurs.
bool Explicit = false
Whether 'this' is explicitly captured in a lambda capture list.
bool BuildAndDiagnose = true
const unsigned int* const FunctionScopeIndexToStopAt = nullptr
If non-null, it points to the index of the FunctionScopeInfo stack beyond which we do not attempt to capture. This is useful when enclosing lambdas must speculatively capture 'this' that may or may not be used in certain specializations of a nested generic lambda (depending on whether the name resolves to a non-static member function or a static function).
bool ByCopy = false

Returns

returns 'true' if failed, 'false' if success.

bool CheckCXXThrowOperand(
    clang::SourceLocation ThrowLoc,
    clang::QualType ThrowTy,
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:6545

Parameters

clang::SourceLocation ThrowLoc
clang::QualType ThrowTy
clang::Expr* E

bool CheckCallReturnType(
    clang::QualType ReturnType,
    clang::SourceLocation Loc,
    clang::CallExpr* CE,
    clang::FunctionDecl* FD)

Description

CheckCallReturnType - Checks that a call expression's return type is complete. Returns true on failure. The location passed in is the location that best represents the call.

Declared at: clang/include/clang/Sema/Sema.h:4123

Parameters

clang::QualType ReturnType
clang::SourceLocation Loc
clang::CallExpr* CE
clang::FunctionDecl* FD

bool CheckCallingConvAttr(
    const clang::ParsedAttr& attr,
    clang::CallingConv& CC,
    const clang::FunctionDecl* FD = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4568

Parameters

const clang::ParsedAttr& attr
clang::CallingConv& CC
const clang::FunctionDecl* FD = nullptr

bool CheckCaseExpression(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5855

Parameters

clang::Expr* E

void CheckCastAlign(clang::Expr* Op,
                    clang::QualType T,
                    clang::SourceRange TRange)

Declared at: clang/include/clang/Sema/Sema.h:2841

Parameters

clang::Expr* Op
clang::QualType T
clang::SourceRange TRange

void CheckCategoryVsClassMethodMatches(
    clang::ObjCCategoryImplDecl* CatIMP)

Description

CheckCategoryVsClassMethodMatches - Checks that methods implemented in category matches with those implemented in its primary class and warns each time an exact match is found.

Declared at: clang/include/clang/Sema/Sema.h:4748

Parameters

clang::ObjCCategoryImplDecl* CatIMP

clang::DeclResult CheckClassTemplate(
    clang::Scope* S,
    unsigned int TagSpec,
    clang::Sema::TagUseKind TUK,
    clang::SourceLocation KWLoc,
    clang::CXXScopeSpec& SS,
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc,
    const clang::ParsedAttributesView& Attr,
    clang::TemplateParameterList* TemplateParams,
    clang::AccessSpecifier AS,
    clang::SourceLocation ModulePrivateLoc,
    clang::SourceLocation FriendLoc,
    unsigned int NumOuterTemplateParamLists,
    clang::TemplateParameterList**
        OuterTemplateParamLists,
    clang::Sema::SkipBodyInfo* SkipBody = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:7903

Parameters

clang::Scope* S
unsigned int TagSpec
clang::Sema::TagUseKind TUK
clang::SourceLocation KWLoc
clang::CXXScopeSpec& SS
clang::IdentifierInfo* Name
clang::SourceLocation NameLoc
const clang::ParsedAttributesView& Attr
clang::TemplateParameterList* TemplateParams
clang::AccessSpecifier AS
clang::SourceLocation ModulePrivateLoc
clang::SourceLocation FriendLoc
unsigned int NumOuterTemplateParamLists
clang::TemplateParameterList** OuterTemplateParamLists
clang::Sema::SkipBodyInfo* SkipBody = nullptr

clang::QualType CheckCompareOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::BinaryOperatorKind Opc)

Declared at: clang/include/clang/Sema/Sema.h:12171

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::BinaryOperatorKind Opc

clang::QualType CheckComparisonCategoryType(
    clang::ComparisonCategoryType Kind,
    clang::SourceLocation Loc,
    clang::Sema::ComparisonCategoryUsage Usage)

Description

Lookup the specified comparison category types in the standard library, an check the VarDecls possibly returned by the operator < => builtins for that type.

Declared at: clang/include/clang/Sema/Sema.h:5977

Parameters

clang::ComparisonCategoryType Kind
clang::SourceLocation Loc
clang::Sema::ComparisonCategoryUsage Usage

Returns

The type of the comparison category type corresponding to the specified Kind, or a null type if an error occurs

void CheckCompatibleReinterpretCast(
    clang::QualType SrcType,
    clang::QualType DestType,
    bool IsDereference,
    clang::SourceRange Range)

Declared at: clang/include/clang/Sema/Sema.h:6382

Parameters

clang::QualType SrcType
clang::QualType DestType
bool IsDereference
clang::SourceRange Range

void CheckCompleteDecompositionDeclaration(
    clang::DecompositionDecl* DD)

Declared at: clang/include/clang/Sema/Sema.h:2866

Parameters

clang::DecompositionDecl* DD

void CheckCompleteDestructorVariant(
    clang::SourceLocation CurrentLocation,
    clang::CXXDestructorDecl* Dtor)

Description

Do semantic checks to allow the complete destructor variant to be emitted when the destructor is defined in another translation unit. In the Itanium C++ ABI, destructor variants are emitted together. In the MS C++ ABI, they can be emitted in separate TUs. To emit the complete variant, run a subset of the checks performed when emitting a regular destructor.

Declared at: clang/include/clang/Sema/Sema.h:7377

Parameters

clang::SourceLocation CurrentLocation
clang::CXXDestructorDecl* Dtor

void CheckCompleteVariableDeclaration(
    clang::VarDecl* VD)

Declared at: clang/include/clang/Sema/Sema.h:2865

Parameters

clang::VarDecl* VD

void CheckCompletedCXXClass(
    clang::Scope* S,
    clang::CXXRecordDecl* Record)

Declared at: clang/include/clang/Sema/Sema.h:7451

Parameters

clang::Scope* S
clang::CXXRecordDecl* Record

void CheckCompletedCoroutineBody(
    clang::FunctionDecl* FD,
    clang::Stmt*& Body)

Declared at: clang/include/clang/Sema/Sema.h:10577

Parameters

clang::FunctionDecl* FD
clang::Stmt*& Body

void CheckCompletedExpr(
    clang::Expr* E,
    clang::SourceLocation CheckLoc =
        clang::SourceLocation(),
    bool IsConstexpr = false)

Description

Perform semantic checks on a completed expression. This will either be a full-expression or a default argument expression.

Declared at: clang/include/clang/Sema/Sema.h:13250

Parameters

clang::Expr* E
clang::SourceLocation CheckLoc = clang::SourceLocation()
bool IsConstexpr = false

void CheckConceptRedefinition(
    clang::ConceptDecl* NewDecl,
    clang::LookupResult& Previous,
    bool& AddToScope)

Declared at: clang/include/clang/Sema/Sema.h:8271

Parameters

clang::ConceptDecl* NewDecl
clang::LookupResult& Previous
bool& AddToScope

clang::ExprResult CheckConceptTemplateId(
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    const clang::DeclarationNameInfo&
        ConceptNameInfo,
    clang::NamedDecl* FoundDecl,
    clang::ConceptDecl* NamedConcept,
    const clang::TemplateArgumentListInfo*
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:7976

Parameters

const clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
const clang::DeclarationNameInfo& ConceptNameInfo
clang::NamedDecl* FoundDecl
clang::ConceptDecl* NamedConcept
const clang::TemplateArgumentListInfo* TemplateArgs

clang::ExprResult CheckConditionVariable(
    clang::VarDecl* ConditionVar,
    clang::SourceLocation StmtLoc,
    clang::Sema::ConditionKind CK)

Declared at: clang/include/clang/Sema/Sema.h:12467

Parameters

clang::VarDecl* ConditionVar
clang::SourceLocation StmtLoc
clang::Sema::ConditionKind CK

clang::QualType CheckConditionalOperands(
    clang::ExprResult& Cond,
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::ExprValueKind& VK,
    clang::ExprObjectKind& OK,
    clang::SourceLocation QuestionLoc)

Declared at: clang/include/clang/Sema/Sema.h:12195

Parameters

clang::ExprResult& Cond
clang::ExprResult& LHS
clang::ExprResult& RHS
clang::ExprValueKind& VK
clang::ExprObjectKind& OK
clang::SourceLocation QuestionLoc

void CheckConflictingOverridingMethod(
    clang::ObjCMethodDecl* Method,
    clang::ObjCMethodDecl* Overridden,
    bool IsProtocolMethodDecl)

Declared at: clang/include/clang/Sema/Sema.h:4615

Parameters

clang::ObjCMethodDecl* Method
clang::ObjCMethodDecl* Overridden
bool IsProtocolMethodDecl

bool CheckConstexprFunctionDefinition(
    const clang::FunctionDecl* FD,
    clang::Sema::CheckConstexprKind Kind)

Declared at: clang/include/clang/Sema/Sema.h:2884

Parameters

const clang::FunctionDecl* FD
clang::Sema::CheckConstexprKind Kind

bool CheckConstraintExpression(
    const clang::Expr* CE,
    clang::Token NextToken = clang::Token(),
    bool* PossibleNonPrimary = nullptr,
    bool IsTrailingRequiresClause = false)

Description

Check whether the given expression is a valid constraint expression. A diagnostic is emitted if it is not, false is returned, and PossibleNonPrimary will be set to true if the failure might be due to a non-primary expression being used as an atomic constraint.

Declared at: clang/include/clang/Sema/Sema.h:7088

Parameters

const clang::Expr* CE
clang::Token NextToken = clang::Token()
bool* PossibleNonPrimary = nullptr
bool IsTrailingRequiresClause = false

bool CheckConstraintSatisfaction(
    const clang::Expr* ConstraintExpr,
    clang::ConstraintSatisfaction& Satisfaction)

Description

Check whether the given non-dependent constraint expression is satisfied. Returns false and updates Satisfaction with the satisfaction verdict if successful, emits a diagnostic and returns true if an error occurred and satisfaction could not be determined.

Declared at: clang/include/clang/Sema/Sema.h:7165

Parameters

const clang::Expr* ConstraintExpr
clang::ConstraintSatisfaction& Satisfaction

Returns

true if an error occurred, false otherwise.

bool CheckConstraintSatisfaction(
    const clang::NamedDecl* Template,
    ArrayRef<const clang::Expr*> ConstraintExprs,
    ArrayRef<clang::TemplateArgument>
        TemplateArgs,
    clang::SourceRange TemplateIDRange,
    clang::ConstraintSatisfaction& Satisfaction)

Description

Check whether the given list of constraint expressions are satisfied (as if in a 'conjunction') given template arguments.

Declared at: clang/include/clang/Sema/Sema.h:7154

Parameters

const clang::NamedDecl* Template
the template-like entity that triggered the constraints check (either a concept or a constrained entity).
ArrayRef<const clang::Expr*> ConstraintExprs
a list of constraint expressions, treated as if they were 'AND'ed together.
ArrayRef<clang::TemplateArgument> TemplateArgs
the list of template arguments to substitute into the constraint expression.
clang::SourceRange TemplateIDRange
The source range of the template id that caused the constraints check.
clang::ConstraintSatisfaction& Satisfaction
if true is returned, will contain details of the satisfaction, with enough information to diagnose an unsatisfied expression.

Returns

true if an error occurred and satisfaction could not be checked, false otherwise.

void CheckConstructor(
    clang::CXXConstructorDecl* Constructor)

Declared at: clang/include/clang/Sema/Sema.h:7498

Parameters

clang::CXXConstructorDecl* Constructor

clang::Sema::AccessResult CheckConstructorAccess(
    clang::SourceLocation Loc,
    clang::CXXConstructorDecl* D,
    clang::DeclAccessPair FoundDecl,
    const clang::InitializedEntity& Entity,
    const clang::PartialDiagnostic& PDiag)

Declared at: clang/include/clang/Sema/Sema.h:7623

Parameters

clang::SourceLocation Loc
clang::CXXConstructorDecl* D
clang::DeclAccessPair FoundDecl
const clang::InitializedEntity& Entity
const clang::PartialDiagnostic& PDiag

clang::Sema::AccessResult CheckConstructorAccess(
    clang::SourceLocation Loc,
    clang::CXXConstructorDecl* D,
    clang::DeclAccessPair FoundDecl,
    const clang::InitializedEntity& Entity,
    bool IsCopyBindingRefToTemp = false)

Declared at: clang/include/clang/Sema/Sema.h:7618

Parameters

clang::SourceLocation Loc
clang::CXXConstructorDecl* D
clang::DeclAccessPair FoundDecl
const clang::InitializedEntity& Entity
bool IsCopyBindingRefToTemp = false

void CheckConstructorCall(
    clang::FunctionDecl* FDecl,
    clang::QualType ThisType,
    ArrayRef<const clang::Expr*> Args,
    const clang::FunctionProtoType* Proto,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:13055

Parameters

clang::FunctionDecl* FDecl
clang::QualType ThisType
ArrayRef<const clang::Expr*> Args
const clang::FunctionProtoType* Proto
clang::SourceLocation Loc

clang::QualType CheckConstructorDeclarator(
    clang::Declarator& D,
    clang::QualType R,
    clang::StorageClass& SC)

Declared at: clang/include/clang/Sema/Sema.h:7496

Parameters

clang::Declarator& D
clang::QualType R
clang::StorageClass& SC

void CheckConversionDeclarator(
    clang::Declarator& D,
    clang::QualType& R,
    clang::StorageClass& SC)

Declared at: clang/include/clang/Sema/Sema.h:7502

Parameters

clang::Declarator& D
clang::QualType& R
clang::StorageClass& SC

bool CheckConversionToObjCLiteral(
    clang::QualType DstType,
    clang::Expr*& SrcExpr,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:10223

Parameters

clang::QualType DstType
clang::Expr*& SrcExpr
bool Diagnose = true

clang::ExprResult
CheckConvertedConstantExpression(
    clang::Expr* From,
    clang::QualType T,
    clang::APValue& Value,
    clang::Sema::CCEKind CCE,
    clang::NamedDecl* Dest = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:3732

Parameters

clang::Expr* From
clang::QualType T
clang::APValue& Value
clang::Sema::CCEKind CCE
clang::NamedDecl* Dest = nullptr

clang::ExprResult
CheckConvertedConstantExpression(
    clang::Expr* From,
    clang::QualType T,
    llvm::APSInt& Value,
    clang::Sema::CCEKind CCE)

Declared at: clang/include/clang/Sema/Sema.h:3730

Parameters

clang::Expr* From
clang::QualType T
llvm::APSInt& Value
clang::Sema::CCEKind CCE

void CheckDeductionGuideDeclarator(
    clang::Declarator& D,
    clang::QualType& R,
    clang::StorageClass& SC)

Declared at: clang/include/clang/Sema/Sema.h:7505

Parameters

clang::Declarator& D
clang::QualType& R
clang::StorageClass& SC

void CheckDeductionGuideTemplate(
    clang::FunctionTemplateDecl* TD)

Declared at: clang/include/clang/Sema/Sema.h:7507

Parameters

clang::FunctionTemplateDecl* TD

void CheckDelayedMemberExceptionSpecs()

Declared at: clang/include/clang/Sema/Sema.h:7513

void CheckDelegatingCtorCycles()

Declared at: clang/include/clang/Sema/Sema.h:1915

bool CheckDependentFunctionTemplateSpecialization(
    clang::FunctionDecl* FD,
    const clang::TemplateArgumentListInfo&
        ExplicitTemplateArgs,
    clang::LookupResult& Previous)

Declared at: clang/include/clang/Sema/Sema.h:8028

Parameters

clang::FunctionDecl* FD
const clang::TemplateArgumentListInfo& ExplicitTemplateArgs
clang::LookupResult& Previous

bool CheckDerivedToBaseConversion(
    clang::QualType Derived,
    clang::QualType Base,
    clang::SourceLocation Loc,
    clang::SourceRange Range,
    clang::CXXCastPath* BasePath = nullptr,
    bool IgnoreAccess = false)

Declared at: clang/include/clang/Sema/Sema.h:7551

Parameters

clang::QualType Derived
clang::QualType Base
clang::SourceLocation Loc
clang::SourceRange Range
clang::CXXCastPath* BasePath = nullptr
bool IgnoreAccess = false

bool CheckDerivedToBaseConversion(
    clang::QualType Derived,
    clang::QualType Base,
    unsigned int InaccessibleBaseID,
    unsigned int AmbiguousBaseConvID,
    clang::SourceLocation Loc,
    clang::SourceRange Range,
    clang::DeclarationName Name,
    clang::CXXCastPath* BasePath,
    bool IgnoreAccess = false)

Declared at: clang/include/clang/Sema/Sema.h:7555

Parameters

clang::QualType Derived
clang::QualType Base
unsigned int InaccessibleBaseID
unsigned int AmbiguousBaseConvID
clang::SourceLocation Loc
clang::SourceRange Range
clang::DeclarationName Name
clang::CXXCastPath* BasePath
bool IgnoreAccess = false

bool CheckDestructor(
    clang::CXXDestructorDecl* Destructor)

Declared at: clang/include/clang/Sema/Sema.h:7501

Parameters

clang::CXXDestructorDecl* Destructor

clang::Sema::AccessResult CheckDestructorAccess(
    clang::SourceLocation Loc,
    clang::CXXDestructorDecl* Dtor,
    const clang::PartialDiagnostic& PDiag,
    clang::QualType objectType =
        clang::QualType())

Declared at: clang/include/clang/Sema/Sema.h:7628

Parameters

clang::SourceLocation Loc
clang::CXXDestructorDecl* Dtor
const clang::PartialDiagnostic& PDiag
clang::QualType objectType = clang::QualType()

clang::QualType CheckDestructorDeclarator(
    clang::Declarator& D,
    clang::QualType R,
    clang::StorageClass& SC)

Declared at: clang/include/clang/Sema/Sema.h:7499

Parameters

clang::Declarator& D
clang::QualType R
clang::StorageClass& SC

bool CheckDistantExceptionSpec(clang::QualType T)

Declared at: clang/include/clang/Sema/Sema.h:2103

Parameters

clang::QualType T

clang::EnableIfAttr* CheckEnableIf(
    clang::FunctionDecl* Function,
    clang::SourceLocation CallLoc,
    ArrayRef<clang::Expr*> Args,
    bool MissingImplicitThis = false)

Description

Check the enable_if expressions on the given function. Returns the first failing attribute, or NULL if they were all successful.

Declared at: clang/include/clang/Sema/Sema.h:3956

Parameters

clang::FunctionDecl* Function
clang::SourceLocation CallLoc
ArrayRef<clang::Expr*> Args
bool MissingImplicitThis = false

clang::EnumConstantDecl* CheckEnumConstant(
    clang::EnumDecl* Enum,
    clang::EnumConstantDecl* LastEnumConst,
    clang::SourceLocation IdLoc,
    clang::IdentifierInfo* Id,
    clang::Expr* val)

Declared at: clang/include/clang/Sema/Sema.h:3406

Parameters

clang::EnumDecl* Enum
clang::EnumConstantDecl* LastEnumConst
clang::SourceLocation IdLoc
clang::IdentifierInfo* Id
clang::Expr* val

bool CheckEnumRedeclaration(
    clang::SourceLocation EnumLoc,
    bool IsScoped,
    clang::QualType EnumUnderlyingTy,
    bool IsFixed,
    const clang::EnumDecl* Prev)

Declared at: clang/include/clang/Sema/Sema.h:3412

Parameters

clang::SourceLocation EnumLoc
bool IsScoped
clang::QualType EnumUnderlyingTy
bool IsFixed
const clang::EnumDecl* Prev

bool CheckEnumUnderlyingType(
    clang::TypeSourceInfo* TI)

Declared at: clang/include/clang/Sema/Sema.h:3411

Parameters

clang::TypeSourceInfo* TI

bool CheckEquivalentExceptionSpec(
    const clang::FunctionProtoType* Old,
    clang::SourceLocation OldLoc,
    const clang::FunctionProtoType* New,
    clang::SourceLocation NewLoc)

Declared at: clang/include/clang/Sema/Sema.h:2105

Parameters

const clang::FunctionProtoType* Old
clang::SourceLocation OldLoc
const clang::FunctionProtoType* New
clang::SourceLocation NewLoc

bool CheckEquivalentExceptionSpec(
    const clang::PartialDiagnostic& DiagID,
    const clang::PartialDiagnostic& NoteID,
    const clang::FunctionProtoType* Old,
    clang::SourceLocation OldLoc,
    const clang::FunctionProtoType* New,
    clang::SourceLocation NewLoc)

Declared at: clang/include/clang/Sema/Sema.h:2108

Parameters

const clang::PartialDiagnostic& DiagID
const clang::PartialDiagnostic& NoteID
const clang::FunctionProtoType* Old
clang::SourceLocation OldLoc
const clang::FunctionProtoType* New
clang::SourceLocation NewLoc

bool CheckEquivalentExceptionSpec(
    clang::FunctionDecl* Old,
    clang::FunctionDecl* New)

Declared at: clang/include/clang/Sema/Sema.h:2104

Parameters

clang::FunctionDecl* Old
clang::FunctionDecl* New

bool CheckExceptionSpecCompatibility(
    clang::Expr* From,
    clang::QualType ToType)

Declared at: clang/include/clang/Sema/Sema.h:12125

Parameters

clang::Expr* From
clang::QualType ToType

bool CheckExceptionSpecSubset(
    const clang::PartialDiagnostic& DiagID,
    const clang::PartialDiagnostic& NestedDiagID,
    const clang::PartialDiagnostic& NoteID,
    const clang::PartialDiagnostic& NoThrowDiagID,
    const clang::FunctionProtoType* Superset,
    clang::SourceLocation SuperLoc,
    const clang::FunctionProtoType* Subset,
    clang::SourceLocation SubLoc)

Declared at: clang/include/clang/Sema/Sema.h:2113

Parameters

const clang::PartialDiagnostic& DiagID
const clang::PartialDiagnostic& NestedDiagID
const clang::PartialDiagnostic& NoteID
const clang::PartialDiagnostic& NoThrowDiagID
const clang::FunctionProtoType* Superset
clang::SourceLocation SuperLoc
const clang::FunctionProtoType* Subset
clang::SourceLocation SubLoc

bool CheckExplicitlyDefaultedComparison(
    clang::Scope* S,
    clang::FunctionDecl* MD,
    clang::Sema::DefaultedComparisonKind DCK)

Declared at: clang/include/clang/Sema/Sema.h:7515

Parameters

clang::Scope* S
clang::FunctionDecl* MD
clang::Sema::DefaultedComparisonKind DCK

void CheckExplicitlyDefaultedFunction(
    clang::Scope* S,
    clang::FunctionDecl* MD)

Declared at: clang/include/clang/Sema/Sema.h:7509

Parameters

clang::Scope* S
clang::FunctionDecl* MD

bool CheckExplicitlyDefaultedSpecialMember(
    clang::CXXMethodDecl* MD,
    clang::Sema::CXXSpecialMember CSM)

Declared at: clang/include/clang/Sema/Sema.h:7511

Parameters

clang::CXXMethodDecl* MD
clang::Sema::CXXSpecialMember CSM

clang::ExprResult CheckExtVectorCast(
    clang::SourceRange R,
    clang::QualType DestTy,
    clang::Expr* CastExpr,
    clang::CastKind& Kind)

Declared at: clang/include/clang/Sema/Sema.h:12347

Parameters

clang::SourceRange R
clang::QualType DestTy
clang::Expr* CastExpr
clang::CastKind& Kind

void CheckExtraCXXDefaultArguments(
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:4130

Parameters

clang::Declarator& D

clang::FieldDecl* CheckFieldDecl(
    clang::DeclarationName Name,
    clang::QualType T,
    clang::TypeSourceInfo* TInfo,
    clang::RecordDecl* Record,
    clang::SourceLocation Loc,
    bool Mutable,
    clang::Expr* BitfieldWidth,
    clang::InClassInitStyle InitStyle,
    clang::SourceLocation TSSL,
    clang::AccessSpecifier AS,
    clang::NamedDecl* PrevDecl,
    clang::Declarator* D = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:3280

Parameters

clang::DeclarationName Name
clang::QualType T
clang::TypeSourceInfo* TInfo
clang::RecordDecl* Record
clang::SourceLocation Loc
bool Mutable
clang::Expr* BitfieldWidth
clang::InClassInitStyle InitStyle
clang::SourceLocation TSSL
clang::AccessSpecifier AS
clang::NamedDecl* PrevDecl
clang::Declarator* D = nullptr

void CheckFloatComparison(
    clang::SourceLocation Loc,
    clang::Expr* LHS,
    clang::Expr* RHS,
    clang::BinaryOperatorKind Opcode)

Declared at: clang/include/clang/Sema/Sema.h:13239

Parameters

clang::SourceLocation Loc
clang::Expr* LHS
clang::Expr* RHS
clang::BinaryOperatorKind Opcode

bool CheckForConstantInitializer(
    clang::Expr* e,
    clang::QualType t)

Description

type checking declaration initializers (C99 6.7.8)

Declared at: clang/include/clang/Sema/Sema.h:12270

Parameters

clang::Expr* e
clang::QualType t

void CheckForFunctionRedefinition(
    clang::FunctionDecl* FD,
    const clang::FunctionDecl*
        EffectiveDefinition = nullptr,
    clang::Sema::SkipBodyInfo* SkipBody = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:3001

Parameters

clang::FunctionDecl* FD
const clang::FunctionDecl* EffectiveDefinition = nullptr
clang::Sema::SkipBodyInfo* SkipBody = nullptr

clang::ExprResult CheckForImmediateInvocation(
    clang::ExprResult E,
    clang::FunctionDecl* Decl)

Description

Wrap the expression in a ConstantExpr if it is a potential immediate invocation.

Declared at: clang/include/clang/Sema/Sema.h:6356

Parameters

clang::ExprResult E
clang::FunctionDecl* Decl

void CheckForIntOverflow(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:13245

Parameters

clang::Expr* E

bool CheckFormatArguments(
    ArrayRef<const clang::Expr*> Args,
    clang::Sema::FormatArgumentPassingKind FAPK,
    unsigned int format_idx,
    unsigned int firstDataArg,
    clang::Sema::FormatStringType Type,
    clang::Sema::VariadicCallType CallType,
    clang::SourceLocation Loc,
    clang::SourceRange range,
    llvm::SmallBitVector& CheckedVarArgs)

Declared at: clang/include/clang/Sema/Sema.h:13208

Parameters

ArrayRef<const clang::Expr*> Args
clang::Sema::FormatArgumentPassingKind FAPK
unsigned int format_idx
unsigned int firstDataArg
clang::Sema::FormatStringType Type
clang::Sema::VariadicCallType CallType
clang::SourceLocation Loc
clang::SourceRange range
llvm::SmallBitVector& CheckedVarArgs

bool CheckFormatArguments(
    const clang::FormatAttr* Format,
    ArrayRef<const clang::Expr*> Args,
    bool IsCXXMember,
    clang::Sema::VariadicCallType CallType,
    clang::SourceLocation Loc,
    clang::SourceRange Range,
    llvm::SmallBitVector& CheckedVarArgs)

Declared at: clang/include/clang/Sema/Sema.h:13203

Parameters

const clang::FormatAttr* Format
ArrayRef<const clang::Expr*> Args
bool IsCXXMember
clang::Sema::VariadicCallType CallType
clang::SourceLocation Loc
clang::SourceRange Range
llvm::SmallBitVector& CheckedVarArgs

bool CheckForwardProtocolDeclarationForCircularDependency(
    clang::IdentifierInfo* PName,
    clang::SourceLocation& PLoc,
    clang::SourceLocation PrevLoc,
    const ObjCList<clang::ObjCProtocolDecl>&
        PList)

Declared at: clang/include/clang/Sema/Sema.h:9896

Parameters

clang::IdentifierInfo* PName
clang::SourceLocation& PLoc
clang::SourceLocation PrevLoc
const ObjCList<clang::ObjCProtocolDecl>& PList

void CheckFreeArguments(const clang::CallExpr* E)

Declared at: clang/include/clang/Sema/Sema.h:13230

Parameters

const clang::CallExpr* E

clang::Sema::AccessResult CheckFriendAccess(
    clang::NamedDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:7632

Parameters

clang::NamedDecl* D

clang::FriendDecl* CheckFriendTypeDecl(
    clang::SourceLocation LocStart,
    clang::SourceLocation FriendLoc,
    clang::TypeSourceInfo* TSInfo)

Declared at: clang/include/clang/Sema/Sema.h:7488

Parameters

clang::SourceLocation LocStart
clang::SourceLocation FriendLoc
clang::TypeSourceInfo* TSInfo

bool CheckFunctionCall(
    clang::FunctionDecl* FDecl,
    clang::CallExpr* TheCall,
    const clang::FunctionProtoType* Proto)

Declared at: clang/include/clang/Sema/Sema.h:13048

Parameters

clang::FunctionDecl* FDecl
clang::CallExpr* TheCall
const clang::FunctionProtoType* Proto

bool CheckFunctionConstraints(
    const clang::FunctionDecl* FD,
    clang::ConstraintSatisfaction& Satisfaction,
    clang::SourceLocation UsageLoc =
        clang::SourceLocation())

Description

Check whether the given function decl's trailing requires clause is satisfied, if any. Returns false and updates Satisfaction with the satisfaction verdict if successful, emits a diagnostic and returns true if an error occurred and satisfaction could not be determined.

Declared at: clang/include/clang/Sema/Sema.h:7174

Parameters

const clang::FunctionDecl* FD
clang::ConstraintSatisfaction& Satisfaction
clang::SourceLocation UsageLoc = clang::SourceLocation()

Returns

true if an error occurred, false otherwise.

bool CheckFunctionDeclaration(
    clang::Scope* S,
    clang::FunctionDecl* NewFD,
    clang::LookupResult& Previous,
    bool IsMemberSpecialization,
    bool DeclIsDefn)

Declared at: clang/include/clang/Sema/Sema.h:2893

Parameters

clang::Scope* S
clang::FunctionDecl* NewFD
clang::LookupResult& Previous
bool IsMemberSpecialization
bool DeclIsDefn

void CheckFunctionOrTemplateParamDeclarator(
    clang::Scope* S,
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:2903

Parameters

clang::Scope* S
clang::Declarator& D

bool CheckFunctionReturnType(
    clang::QualType T,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:2037

Parameters

clang::QualType T
clang::SourceLocation Loc

bool CheckFunctionTemplateSpecialization(
    clang::FunctionDecl* FD,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs,
    clang::LookupResult& Previous,
    bool QualifiedFriend = false)

Declared at: clang/include/clang/Sema/Sema.h:8032

Parameters

clang::FunctionDecl* FD
clang::TemplateArgumentListInfo* ExplicitTemplateArgs
clang::LookupResult& Previous
bool QualifiedFriend = false

bool CheckHexagonBuiltinArgument(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13097

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckHexagonBuiltinFunctionCall(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13096

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckIfOverriddenFunctionIsMarkedFinal(
    const clang::CXXMethodDecl* New,
    const clang::CXXMethodDecl* Old)

Description

CheckForFunctionMarkedFinal - Checks whether a virtual member function overrides a virtual member function marked 'final', according to C++11 [class.virtual]p4.

Declared at: clang/include/clang/Sema/Sema.h:7590

Parameters

const clang::CXXMethodDecl* New
const clang::CXXMethodDecl* Old

void CheckImplementationIvars(
    clang::ObjCImplementationDecl* ImpDecl,
    clang::ObjCIvarDecl** Fields,
    unsigned int nIvars,
    clang::SourceLocation Loc)

Description

CheckImplementationIvars - This routine checks if the instance variables listed in the implelementation match those listed in the interface.

Declared at: clang/include/clang/Sema/Sema.h:4629

Parameters

clang::ObjCImplementationDecl* ImpDecl
clang::ObjCIvarDecl** Fields
unsigned int nIvars
clang::SourceLocation Loc

void CheckImplicitConversions(
    clang::Expr* E,
    clang::SourceLocation CC =
        clang::SourceLocation())

Declared at: clang/include/clang/Sema/Sema.h:13243

Parameters

clang::Expr* E
clang::SourceLocation CC = clang::SourceLocation()

void CheckImplicitSpecialMemberDeclaration(
    clang::Scope* S,
    clang::FunctionDecl* FD)

Description

Check a completed declaration of an implicit special member.

Declared at: clang/include/clang/Sema/Sema.h:6327

Parameters

clang::Scope* S
clang::FunctionDecl* FD

bool CheckInheritingConstructorUsingDecl(
    clang::UsingDecl* UD)

Declared at: clang/include/clang/Sema/Sema.h:6045

Parameters

clang::UsingDecl* UD

bool CheckInstantiatedFunctionTemplateConstraints(
    clang::SourceLocation PointOfInstantiation,
    clang::FunctionDecl* Decl,
    ArrayRef<clang::TemplateArgument>
        TemplateArgs,
    clang::ConstraintSatisfaction& Satisfaction)

Declared at: clang/include/clang/Sema/Sema.h:9791

Parameters

clang::SourceLocation PointOfInstantiation
clang::FunctionDecl* Decl
ArrayRef<clang::TemplateArgument> TemplateArgs
clang::ConstraintSatisfaction& Satisfaction

clang::ExprResult
CheckLValueToRValueConversionOperand(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5291

Parameters

clang::Expr* E

clang::Sema::ObjCLiteralKind CheckLiteralKind(
    clang::Expr* FromE)

Declared at: clang/include/clang/Sema/Sema.h:3832

Parameters

clang::Expr* FromE

bool CheckLiteralOperatorDeclaration(
    clang::FunctionDecl* FnDecl)

Declared at: clang/include/clang/Sema/Sema.h:7712

Parameters

clang::FunctionDecl* FnDecl

clang::QualType CheckLogicalOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::BinaryOperatorKind Opc)

Declared at: clang/include/clang/Sema/Sema.h:12177

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::BinaryOperatorKind Opc

void CheckLookupAccess(
    const clang::LookupResult& R)

Declared at: clang/include/clang/Sema/Sema.h:7658

Parameters

const clang::LookupResult& R

bool CheckLoopHintExpr(clang::Expr* E,
                       clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:5518

Parameters

clang::Expr* E
clang::SourceLocation Loc

void CheckMSVCRTEntryPoint(
    clang::FunctionDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:2900

Parameters

clang::FunctionDecl* FD

bool CheckMVEBuiltinFunctionCall(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13084

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

void CheckMain(clang::FunctionDecl* FD,
               const clang::DeclSpec& D)

Declared at: clang/include/clang/Sema/Sema.h:2899

Parameters

clang::FunctionDecl* FD
const clang::DeclSpec& D

bool CheckMatrixCast(clang::SourceRange R,
                     clang::QualType DestTy,
                     clang::QualType SrcTy,
                     clang::CastKind& Kind)

Declared at: clang/include/clang/Sema/Sema.h:12328

Parameters

clang::SourceRange R
clang::QualType DestTy
clang::QualType SrcTy
clang::CastKind& Kind

clang::QualType CheckMatrixElementwiseOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    bool IsCompAssign)

Description

Type checking for matrix binary operators.

Declared at: clang/include/clang/Sema/Sema.h:12253

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
bool IsCompAssign

clang::QualType CheckMatrixMultiplyOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    bool IsCompAssign)

Declared at: clang/include/clang/Sema/Sema.h:12256

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
bool IsCompAssign

void CheckMaxUnsignedZero(
    const clang::CallExpr* Call,
    const clang::FunctionDecl* FDecl)

Declared at: clang/include/clang/Sema/Sema.h:13218

Parameters

const clang::CallExpr* Call
const clang::FunctionDecl* FDecl

void CheckMemaccessArguments(
    const clang::CallExpr* Call,
    unsigned int BId,
    clang::IdentifierInfo* FnName)

Declared at: clang/include/clang/Sema/Sema.h:13220

Parameters

const clang::CallExpr* Call
unsigned int BId
clang::IdentifierInfo* FnName

clang::Sema::AccessResult CheckMemberAccess(
    clang::SourceLocation UseLoc,
    clang::CXXRecordDecl* NamingClass,
    clang::DeclAccessPair Found)

Declared at: clang/include/clang/Sema/Sema.h:7633

Parameters

clang::SourceLocation UseLoc
clang::CXXRecordDecl* NamingClass
clang::DeclAccessPair Found

void CheckMemberAccessOfNoDeref(
    const clang::MemberExpr* E)

Declared at: clang/include/clang/Sema/Sema.h:2237

Parameters

const clang::MemberExpr* E

clang::Sema::AccessResult
CheckMemberOperatorAccess(
    clang::SourceLocation Loc,
    clang::Expr* ObjectExpr,
    ArrayRef<clang::Expr*> ArgExprs,
    clang::DeclAccessPair FoundDecl)

Declared at: clang/include/clang/Sema/Sema.h:7647

Parameters

clang::SourceLocation Loc
clang::Expr* ObjectExpr
ArrayRef<clang::Expr*> ArgExprs
clang::DeclAccessPair FoundDecl

clang::Sema::AccessResult
CheckMemberOperatorAccess(
    clang::SourceLocation Loc,
    clang::Expr* ObjectExpr,
    const clang::SourceRange&,
    clang::DeclAccessPair FoundDecl)

Declared at: clang/include/clang/Sema/Sema.h:7640

Parameters

clang::SourceLocation Loc
clang::Expr* ObjectExpr
const clang::SourceRange&
clang::DeclAccessPair FoundDecl

clang::Sema::AccessResult
CheckMemberOperatorAccess(
    clang::SourceLocation Loc,
    clang::Expr* ObjectExpr,
    clang::Expr* ArgExpr,
    clang::DeclAccessPair FoundDecl)

Declared at: clang/include/clang/Sema/Sema.h:7643

Parameters

clang::SourceLocation Loc
clang::Expr* ObjectExpr
clang::Expr* ArgExpr
clang::DeclAccessPair FoundDecl

bool CheckMemberPointerConversion(
    clang::Expr* From,
    clang::QualType ToType,
    clang::CastKind& Kind,
    clang::CXXCastPath& BasePath,
    bool IgnoreBaseAccess)

Declared at: clang/include/clang/Sema/Sema.h:3685

Parameters

clang::Expr* From
clang::QualType ToType
clang::CastKind& Kind
clang::CXXCastPath& BasePath
bool IgnoreBaseAccess

bool CheckMemberSpecialization(
    clang::NamedDecl* Member,
    clang::LookupResult& Previous)

Declared at: clang/include/clang/Sema/Sema.h:8035

Parameters

clang::NamedDecl* Member
clang::LookupResult& Previous

bool CheckMessageArgumentTypes(
    const clang::Expr* Receiver,
    clang::QualType ReceiverType,
    clang::MultiExprArg Args,
    clang::Selector Sel,
    ArrayRef<clang::SourceLocation> SelectorLocs,
    clang::ObjCMethodDecl* Method,
    bool isClassMessage,
    bool isSuperMessage,
    clang::SourceLocation lbrac,
    clang::SourceLocation rbrac,
    clang::SourceRange RecRange,
    clang::QualType& ReturnType,
    clang::ExprValueKind& VK)

Description

CheckMessageArgumentTypes - Check types in an Obj-C message send.

Declared at: clang/include/clang/Sema/Sema.h:12391

Parameters

const clang::Expr* Receiver
clang::QualType ReceiverType
clang::MultiExprArg Args
clang::Selector Sel
ArrayRef<clang::SourceLocation> SelectorLocs
clang::ObjCMethodDecl* Method
- May be null.
bool isClassMessage
bool isSuperMessage
clang::SourceLocation lbrac
clang::SourceLocation rbrac
clang::SourceRange RecRange
clang::QualType& ReturnType
- The return type of the send.
clang::ExprValueKind& VK

Returns

true iff there were any incompatible types.

clang::Sema::IfExistsResult
CheckMicrosoftIfExistsSymbol(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    const clang::DeclarationNameInfo&
        TargetNameInfo)

Declared at: clang/include/clang/Sema/Sema.h:5874

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
const clang::DeclarationNameInfo& TargetNameInfo

clang::Sema::IfExistsResult
CheckMicrosoftIfExistsSymbol(
    clang::Scope* S,
    clang::SourceLocation KeywordLoc,
    bool IsIfExists,
    clang::CXXScopeSpec& SS,
    clang::UnqualifiedId& Name)

Declared at: clang/include/clang/Sema/Sema.h:5878

Parameters

clang::Scope* S
clang::SourceLocation KeywordLoc
bool IsIfExists
clang::CXXScopeSpec& SS
clang::UnqualifiedId& Name

bool CheckMipsBuiltinArgument(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13102

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckMipsBuiltinCpu(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13100

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckMipsBuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13098

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

clang::QualType CheckMultiplyDivideOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    bool IsCompAssign,
    bool IsDivide)

Declared at: clang/include/clang/Sema/Sema.h:12155

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
bool IsCompAssign
bool IsDivide

bool CheckNeonBuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13082

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckNonDependentConversions(
    clang::FunctionTemplateDecl* FunctionTemplate,
    ArrayRef<clang::QualType> ParamTypes,
    ArrayRef<clang::Expr*> Args,
    clang::OverloadCandidateSet& CandidateSet,
    clang::ConversionSequenceList& Conversions,
    bool SuppressUserConversions,
    clang::CXXRecordDecl* ActingContext = nullptr,
    clang::QualType ObjectType =
        clang::QualType(),
    Expr::Classification ObjectClassification =
        {},
    clang::OverloadCandidateParamOrder PO = {})

Declared at: clang/include/clang/Sema/Sema.h:3898

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
ArrayRef<clang::QualType> ParamTypes
ArrayRef<clang::Expr*> Args
clang::OverloadCandidateSet& CandidateSet
clang::ConversionSequenceList& Conversions
bool SuppressUserConversions
clang::CXXRecordDecl* ActingContext = nullptr
clang::QualType ObjectType = clang::QualType()
Expr::Classification ObjectClassification = {}
clang::OverloadCandidateParamOrder PO = {}

clang::QualType CheckNonTypeTemplateParameterType(
    clang::TypeSourceInfo*& TSI,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:7851

Parameters

clang::TypeSourceInfo*& TSI
clang::SourceLocation Loc

clang::QualType CheckNonTypeTemplateParameterType(
    clang::QualType T,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:7853

Parameters

clang::QualType T
clang::SourceLocation Loc

bool CheckNontrivialField(clang::FieldDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:3289

Parameters

clang::FieldDecl* FD

clang::OMPRequiresDecl* CheckOMPRequiresDecl(
    clang::SourceLocation Loc,
    ArrayRef<clang::OMPClause*> Clauses)

Description

Check restrictions on Requires directive

Declared at: clang/include/clang/Sema/Sema.h:10857

Parameters

clang::SourceLocation Loc
ArrayRef<clang::OMPClause*> Clauses

clang::OMPThreadPrivateDecl*
CheckOMPThreadPrivateDecl(
    clang::SourceLocation Loc,
    ArrayRef<clang::Expr*> VarList)

Description

Builds a new OpenMPThreadPrivateDecl and checks its correctness.

Declared at: clang/include/clang/Sema/Sema.h:10830

Parameters

clang::SourceLocation Loc
ArrayRef<clang::Expr*> VarList

clang::ExprResult CheckOSLogFormatStringArg(
    clang::Expr* Arg)

Declared at: clang/include/clang/Sema/Sema.h:13070

Parameters

clang::Expr* Arg

bool CheckObjCARCUnavailableWeakConversion(
    clang::QualType castType,
    clang::QualType ExprType)

Declared at: clang/include/clang/Sema/Sema.h:12370

Parameters

clang::QualType castType
clang::QualType ExprType

void CheckObjCBridgeRelatedCast(
    clang::QualType castType,
    clang::Expr* castExpr)

Declared at: clang/include/clang/Sema/Sema.h:10206

Parameters

clang::QualType castType
clang::Expr* castExpr

bool CheckObjCBridgeRelatedConversions(
    clang::SourceLocation Loc,
    clang::QualType DestType,
    clang::QualType SrcType,
    clang::Expr*& SrcExpr,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:10219

Parameters

clang::SourceLocation Loc
clang::QualType DestType
clang::QualType SrcType
clang::Expr*& SrcExpr
bool Diagnose = true

void CheckObjCCircularContainer(
    clang::ObjCMessageExpr* Message)

Description

Check whether receiver is mutable ObjC container which attempts to add itself into the container

Declared at: clang/include/clang/Sema/Sema.h:13268

Parameters

clang::ObjCMessageExpr* Message

clang::Sema::ARCConversionResult
CheckObjCConversion(
    clang::SourceRange castRange,
    clang::QualType castType,
    clang::Expr*& op,
    clang::Sema::CheckedConversionKind CCK,
    bool Diagnose = true,
    bool DiagnoseCFAudited = false,
    clang::BinaryOperatorKind Opc = BO_PtrMemD)

Description

Checks for invalid conversions and casts between retainable pointers and other pointer kinds for ARC and Weak.

Declared at: clang/include/clang/Sema/Sema.h:12359

Parameters

clang::SourceRange castRange
clang::QualType castType
clang::Expr*& op
clang::Sema::CheckedConversionKind CCK
bool Diagnose = true
bool DiagnoseCFAudited = false
clang::BinaryOperatorKind Opc = BO_PtrMemD

bool CheckObjCDeclScope(clang::Decl* D)

Description

Checks that the Objective-C declaration is declared in the global scope. Emits an error and marks the declaration as invalid if it's not declared in the global scope.

Declared at: clang/include/clang/Sema/Sema.h:12512

Parameters

clang::Decl* D

clang::ExprResult CheckObjCForCollectionOperand(
    clang::SourceLocation forLoc,
    clang::Expr* collection)

Declared at: clang/include/clang/Sema/Sema.h:4983

Parameters

clang::SourceLocation forLoc
clang::Expr* collection

bool CheckObjCMethodCall(
    clang::ObjCMethodDecl* Method,
    clang::SourceLocation loc,
    ArrayRef<const clang::Expr*> Args)

Declared at: clang/include/clang/Sema/Sema.h:13050

Parameters

clang::ObjCMethodDecl* Method
clang::SourceLocation loc
ArrayRef<const clang::Expr*> Args

void CheckObjCMethodDirectOverrides(
    clang::ObjCMethodDecl* method,
    clang::ObjCMethodDecl* overridden)

Declared at: clang/include/clang/Sema/Sema.h:10240

Parameters

clang::ObjCMethodDecl* method
clang::ObjCMethodDecl* overridden

void CheckObjCMethodOverride(
    clang::ObjCMethodDecl* NewMethod,
    const clang::ObjCMethodDecl* Overridden)

Description

Check whether the given new method is a valid override of the given overridden method, and set any properties that should be inherited.

Declared at: clang/include/clang/Sema/Sema.h:10230

Parameters

clang::ObjCMethodDecl* NewMethod
const clang::ObjCMethodDecl* Overridden

void CheckObjCMethodOverrides(
    clang::ObjCMethodDecl* ObjCMethod,
    clang::ObjCInterfaceDecl* CurrentClass,
    clang::Sema::ResultTypeCompatibilityKind RTC)

Declared at: clang/include/clang/Sema/Sema.h:10243

Parameters

clang::ObjCMethodDecl* ObjCMethod
clang::ObjCInterfaceDecl* CurrentClass
clang::Sema::ResultTypeCompatibilityKind RTC

void CheckObjCPropertyAttributes(
    clang::Decl* PropertyPtrTy,
    clang::SourceLocation Loc,
    unsigned int& Attributes,
    bool propertyInPrimaryClass)

Description

Ensure attributes are consistent with type.

Declared at: clang/include/clang/Sema/Sema.h:10011

Parameters

clang::Decl* PropertyPtrTy
clang::SourceLocation Loc
unsigned int& Attributes
The attributes to check; they will be modified to be consistent with \p PropertyTy.
bool propertyInPrimaryClass

bool CheckObjCString(clang::Expr* Arg)

Declared at: clang/include/clang/Sema/Sema.h:13069

Parameters

clang::Expr* Arg

bool CheckOpenMPLinearDecl(
    const clang::ValueDecl* D,
    clang::SourceLocation ELoc,
    clang::OpenMPLinearClauseKind LinKind,
    clang::QualType Type,
    bool IsDeclareSimd = false)

Description

Checks that the specified declaration matches requirements for the linear decls.

Declared at: clang/include/clang/Sema/Sema.h:11332

Parameters

const clang::ValueDecl* D
clang::SourceLocation ELoc
clang::OpenMPLinearClauseKind LinKind
clang::QualType Type
bool IsDeclareSimd = false

bool CheckOpenMPLinearModifier(
    clang::OpenMPLinearClauseKind LinKind,
    clang::SourceLocation LinLoc)

Description

Checks correctness of linear modifiers.

Declared at: clang/include/clang/Sema/Sema.h:11328

Parameters

clang::OpenMPLinearClauseKind LinKind
clang::SourceLocation LinLoc

bool CheckOtherCall(
    clang::CallExpr* TheCall,
    const clang::FunctionProtoType* Proto)

Declared at: clang/include/clang/Sema/Sema.h:13054

Parameters

clang::CallExpr* TheCall
const clang::FunctionProtoType* Proto

clang::Sema::OverloadKind CheckOverload(
    clang::Scope* S,
    clang::FunctionDecl* New,
    const clang::LookupResult& OldDecls,
    clang::NamedDecl*& OldDecl,
    bool IsForUsingDecl)

Declared at: clang/include/clang/Sema/Sema.h:3630

Parameters

clang::Scope* S
clang::FunctionDecl* New
const clang::LookupResult& OldDecls
clang::NamedDecl*& OldDecl
bool IsForUsingDecl

bool CheckOverloadedOperatorDeclaration(
    clang::FunctionDecl* FnDecl)

Declared at: clang/include/clang/Sema/Sema.h:7710

Parameters

clang::FunctionDecl* FnDecl

void CheckOverrideControl(clang::NamedDecl* D)

Description

CheckOverrideControl - Check C++11 override control semantics.

Declared at: clang/include/clang/Sema/Sema.h:7581

Parameters

clang::NamedDecl* D

bool CheckOverridingFunctionAttributes(
    const clang::CXXMethodDecl* New,
    const clang::CXXMethodDecl* Old)

Declared at: clang/include/clang/Sema/Sema.h:7565

Parameters

const clang::CXXMethodDecl* New
const clang::CXXMethodDecl* Old

bool CheckOverridingFunctionExceptionSpec(
    const clang::CXXMethodDecl* New,
    const clang::CXXMethodDecl* Old)

Description

CheckOverridingFunctionExceptionSpec - Checks whether the exception spec is a subset of base spec.

Declared at: clang/include/clang/Sema/Sema.h:7575

Parameters

const clang::CXXMethodDecl* New
const clang::CXXMethodDecl* Old

bool CheckOverridingFunctionReturnType(
    const clang::CXXMethodDecl* New,
    const clang::CXXMethodDecl* Old)

Description

CheckOverridingFunctionReturnType - Checks whether the return types are covariant, according to C++ [class.virtual]p5.

Declared at: clang/include/clang/Sema/Sema.h:7570

Parameters

const clang::CXXMethodDecl* New
const clang::CXXMethodDecl* Old

bool CheckPPCBuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13114

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckPPCMMAType(
    clang::QualType Type,
    clang::SourceLocation TypeLoc)

Declared at: clang/include/clang/Sema/Sema.h:13169

Parameters

clang::QualType Type
clang::SourceLocation TypeLoc

clang::QualType CheckPackExpansion(
    clang::QualType Pattern,
    clang::SourceRange PatternRange,
    clang::SourceLocation EllipsisLoc,
    Optional<unsigned int> NumExpansions)

Description

Construct a pack expansion type from the pattern of the pack expansion.

Declared at: clang/include/clang/Sema/Sema.h:8560

Parameters

clang::QualType Pattern
clang::SourceRange PatternRange
clang::SourceLocation EllipsisLoc
Optional<unsigned int> NumExpansions

clang::ExprResult CheckPackExpansion(
    clang::Expr* Pattern,
    clang::SourceLocation EllipsisLoc,
    Optional<unsigned int> NumExpansions)

Description

Invoked when parsing an expression followed by an ellipsis, which creates a pack expansion.

Declared at: clang/include/clang/Sema/Sema.h:8581

Parameters

clang::Expr* Pattern
The expression preceding the ellipsis, which will become the pattern of the pack expansion.
clang::SourceLocation EllipsisLoc
The location of the ellipsis.
Optional<unsigned int> NumExpansions

clang::TypeSourceInfo* CheckPackExpansion(
    clang::TypeSourceInfo* Pattern,
    clang::SourceLocation EllipsisLoc,
    Optional<unsigned int> NumExpansions)

Description

Construct a pack expansion type from the pattern of the pack expansion.

Declared at: clang/include/clang/Sema/Sema.h:8554

Parameters

clang::TypeSourceInfo* Pattern
clang::SourceLocation EllipsisLoc
Optional<unsigned int> NumExpansions

bool CheckParamExceptionSpec(
    const clang::PartialDiagnostic& NestedDiagID,
    const clang::PartialDiagnostic& NoteID,
    const clang::FunctionProtoType* Target,
    clang::SourceLocation TargetLoc,
    const clang::FunctionProtoType* Source,
    clang::SourceLocation SourceLoc)

Declared at: clang/include/clang/Sema/Sema.h:2121

Parameters

const clang::PartialDiagnostic& NestedDiagID
const clang::PartialDiagnostic& NoteID
const clang::FunctionProtoType* Target
clang::SourceLocation TargetLoc
const clang::FunctionProtoType* Source
clang::SourceLocation SourceLoc

clang::ParmVarDecl* CheckParameter(
    clang::DeclContext* DC,
    clang::SourceLocation StartLoc,
    clang::SourceLocation NameLoc,
    clang::IdentifierInfo* Name,
    clang::QualType T,
    clang::TypeSourceInfo* TSInfo,
    clang::StorageClass SC)

Declared at: clang/include/clang/Sema/Sema.h:2908

Parameters

clang::DeclContext* DC
clang::SourceLocation StartLoc
clang::SourceLocation NameLoc
clang::IdentifierInfo* Name
clang::QualType T
clang::TypeSourceInfo* TSInfo
clang::StorageClass SC

bool CheckParameterPacksForExpansion(
    clang::SourceLocation EllipsisLoc,
    clang::SourceRange PatternRange,
    ArrayRef<clang::UnexpandedParameterPack>
        Unexpanded,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    bool& ShouldExpand,
    bool& RetainExpansion,
    Optional<unsigned int>& NumExpansions)

Description

Determine whether we could expand a pack expansion with the given set of parameter packs into separate arguments by repeatedly transforming the pattern.

Declared at: clang/include/clang/Sema/Sema.h:8618

Parameters

clang::SourceLocation EllipsisLoc
The location of the ellipsis that identifies the pack expansion.
clang::SourceRange PatternRange
The source range that covers the entire pattern of the pack expansion.
ArrayRef<clang::UnexpandedParameterPack> Unexpanded
The set of unexpanded parameter packs within the pattern.
const clang::MultiLevelTemplateArgumentList& TemplateArgs
bool& ShouldExpand
Will be set to \c true if the transformer should expand the corresponding pack expansions into separate arguments. When set, \c NumExpansions must also be set.
bool& RetainExpansion
Whether the caller should add an unexpanded pack expansion after all of the expanded arguments. This is used when extending explicitly-specified template argument packs per C++0x [temp.arg.explicit]p9.
Optional<unsigned int>& NumExpansions
The number of separate arguments that will be in the expanded form of the corresponding pack expansion. This is both an input and an output parameter, which can be set by the caller if the number of expansions is known a priori (e.g., due to a prior substitution) and will be set by the callee when the number of expansions is known. The callee must set this value when \c ShouldExpand is \c true; it may set this value in other cases.

Returns

true if an error occurred (e.g., because the parameter packs are to be instantiated with arguments of different lengths), false otherwise. If false, \c ShouldExpand (and possibly \c NumExpansions) must be set.

bool CheckParmsForFunctionDef(
    ArrayRef<clang::ParmVarDecl*> Parameters,
    bool CheckParameterNames)

Description

Helpers for dealing with blocks and functions.

Declared at: clang/include/clang/Sema/Sema.h:4127

Parameters

ArrayRef<clang::ParmVarDecl*> Parameters
bool CheckParameterNames

clang::ExprResult CheckPlaceholderExpr(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5569

Parameters

clang::Expr* E

bool CheckPointerCall(
    clang::NamedDecl* NDecl,
    clang::CallExpr* TheCall,
    const clang::FunctionProtoType* Proto)

Declared at: clang/include/clang/Sema/Sema.h:13052

Parameters

clang::NamedDecl* NDecl
clang::CallExpr* TheCall
const clang::FunctionProtoType* Proto

bool CheckPointerConversion(
    clang::Expr* From,
    clang::QualType ToType,
    clang::CastKind& Kind,
    clang::CXXCastPath& BasePath,
    bool IgnoreBaseAccess,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:3677

Parameters

clang::Expr* From
clang::QualType ToType
clang::CastKind& Kind
clang::CXXCastPath& BasePath
bool IgnoreBaseAccess
bool Diagnose = true

clang::QualType CheckPointerToMemberOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::ExprValueKind& VK,
    clang::SourceLocation OpLoc,
    bool isIndirect)

Declared at: clang/include/clang/Sema/Sema.h:12152

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::ExprValueKind& VK
clang::SourceLocation OpLoc
bool isIndirect

void CheckPtrComparisonWithNullChar(
    clang::ExprResult& E,
    clang::ExprResult& NullE)

Declared at: clang/include/clang/Sema/Sema.h:12170

Parameters

clang::ExprResult& E
clang::ExprResult& NullE

bool CheckPureMethod(clang::CXXMethodDecl* Method,
                     clang::SourceRange InitRange)

Declared at: clang/include/clang/Sema/Sema.h:7578

Parameters

clang::CXXMethodDecl* Method
clang::SourceRange InitRange

bool CheckQualifiedFunctionForTypeId(
    clang::QualType T,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:2035

Parameters

clang::QualType T
clang::SourceLocation Loc

bool CheckQualifiedMemberReference(
    clang::Expr* BaseExpr,
    clang::QualType BaseType,
    const clang::CXXScopeSpec& SS,
    const clang::LookupResult& R)

Declared at: clang/include/clang/Sema/Sema.h:5657

Parameters

clang::Expr* BaseExpr
clang::QualType BaseType
const clang::CXXScopeSpec& SS
const clang::LookupResult& R

bool CheckRISCVBuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13118

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckRISCVLMUL(clang::CallExpr* TheCall,
                    unsigned int ArgNum)

Declared at: clang/include/clang/Sema/Sema.h:13117

Parameters

clang::CallExpr* TheCall
unsigned int ArgNum

bool CheckRedeclarationExported(
    clang::NamedDecl* New,
    clang::NamedDecl* Old)

Declared at: clang/include/clang/Sema/Sema.h:4480

Parameters

clang::NamedDecl* New
clang::NamedDecl* Old

bool CheckRedeclarationInModule(
    clang::NamedDecl* New,
    clang::NamedDecl* Old)

Declared at: clang/include/clang/Sema/Sema.h:4481

Parameters

clang::NamedDecl* New
clang::NamedDecl* Old

bool CheckRedeclarationModuleOwnership(
    clang::NamedDecl* New,
    clang::NamedDecl* Old)

Declared at: clang/include/clang/Sema/Sema.h:4479

Parameters

clang::NamedDecl* New
clang::NamedDecl* Old

bool CheckRegparmAttr(
    const clang::ParsedAttr& attr,
    unsigned int& value)

Declared at: clang/include/clang/Sema/Sema.h:4567

Parameters

const clang::ParsedAttr& attr
unsigned int& value

clang::QualType CheckRemainderOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    bool IsCompAssign = false)

Declared at: clang/include/clang/Sema/Sema.h:12158

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
bool IsCompAssign = false

void CheckReturnValExpr(
    clang::Expr* RetValExp,
    clang::QualType lhsType,
    clang::SourceLocation ReturnLoc,
    bool isObjCMethod = false,
    const clang::AttrVec* Attrs = nullptr,
    const clang::FunctionDecl* FD = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:13232

Parameters

clang::Expr* RetValExp
clang::QualType lhsType
clang::SourceLocation ReturnLoc
bool isObjCMethod = false
const clang::AttrVec* Attrs = nullptr
const clang::FunctionDecl* FD = nullptr

bool CheckSVEBuiltinFunctionCall(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13085

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

void CheckShadow(clang::Scope* S,
                 clang::VarDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:2827

Parameters

clang::Scope* S
clang::VarDecl* D

void CheckShadow(clang::NamedDecl* D,
                 clang::NamedDecl* ShadowedDecl,
                 const clang::LookupResult& R)

Declared at: clang/include/clang/Sema/Sema.h:2825

Parameters

clang::NamedDecl* D
clang::NamedDecl* ShadowedDecl
const clang::LookupResult& R

void CheckShadowInheritedFields(
    const clang::SourceLocation& Loc,
    clang::DeclarationName FieldName,
    const clang::CXXRecordDecl* RD,
    bool DeclIsField = true)

Description

Check if there is a field shadowing.

Declared at: clang/include/clang/Sema/Sema.h:13257

Parameters

const clang::SourceLocation& Loc
clang::DeclarationName FieldName
const clang::CXXRecordDecl* RD
bool DeclIsField = true

void CheckShadowingDeclModification(
    clang::Expr* E,
    clang::SourceLocation Loc)

Description

Warn if 'E', which is an expression that is about to be modified, refers to a shadowing declaration.

Declared at: clang/include/clang/Sema/Sema.h:2831

Parameters

clang::Expr* E
clang::SourceLocation Loc

clang::QualType CheckShiftOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::BinaryOperatorKind Opc,
    bool IsCompAssign = false)

Declared at: clang/include/clang/Sema/Sema.h:12167

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::BinaryOperatorKind Opc
bool IsCompAssign = false

clang::Sema::AssignConvertType
CheckSingleAssignmentConstraints(
    clang::QualType LHSType,
    clang::ExprResult& RHS,
    bool Diagnose = true,
    bool DiagnoseCFAudited = false,
    bool ConvertRHS = true)

Description

Check assignment constraints for an assignment of RHS to LHSType.

Declared at: clang/include/clang/Sema/Sema.h:12114

Parameters

clang::QualType LHSType
The destination type for the assignment.
clang::ExprResult& RHS
The source expression for the assignment.
bool Diagnose = true
If \c true, diagnostics may be produced when checking for assignability. If a diagnostic is produced, \p RHS will be set to ExprError(). Note that this function may still return without producing a diagnostic, even for an invalid assignment.
bool DiagnoseCFAudited = false
If \c true, the target is a function parameter in an audited Core Foundation API and does not need to be checked for ARC retain issues.
bool ConvertRHS = true
If \c true, \p RHS will be updated to model the conversions necessary to perform the assignment. If \c false, \p Diagnose must also be \c false.

clang::QualType
CheckSizelessVectorCompareOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::BinaryOperatorKind Opc)

Declared at: clang/include/clang/Sema/Sema.h:12241

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::BinaryOperatorKind Opc

clang::QualType
CheckSizelessVectorConditionalTypes(
    clang::ExprResult& Cond,
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation QuestionLoc)

Declared at: clang/include/clang/Sema/Sema.h:12205

Parameters

clang::ExprResult& Cond
clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation QuestionLoc

clang::QualType CheckSizelessVectorOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    bool IsCompAssign,
    clang::Sema::ArithConvKind OperationKind)

Declared at: clang/include/clang/Sema/Sema.h:12248

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
bool IsCompAssign
clang::Sema::ArithConvKind OperationKind

bool CheckSpecializationInstantiationRedecl(
    clang::SourceLocation NewLoc,
    clang::TemplateSpecializationKind NewTSK,
    clang::NamedDecl* PrevDecl,
    clang::TemplateSpecializationKind PrevTSK,
    clang::SourceLocation PrevPtOfInstantiation,
    bool& SuppressNew)

Declared at: clang/include/clang/Sema/Sema.h:8021

Parameters

clang::SourceLocation NewLoc
clang::TemplateSpecializationKind NewTSK
clang::NamedDecl* PrevDecl
clang::TemplateSpecializationKind PrevTSK
clang::SourceLocation PrevPtOfInstantiation
bool& SuppressNew

bool CheckSpecifiedExceptionType(
    clang::QualType& T,
    clang::SourceRange Range)

Declared at: clang/include/clang/Sema/Sema.h:2102

Parameters

clang::QualType& T
clang::SourceRange Range

void CheckStaticArrayArgument(
    clang::SourceLocation CallLoc,
    clang::ParmVarDecl* Param,
    const clang::Expr* ArgExpr)

Declared at: clang/include/clang/Sema/Sema.h:5701

Parameters

clang::SourceLocation CallLoc
clang::ParmVarDecl* Param
const clang::Expr* ArgExpr

void CheckStaticLocalForDllExport(
    clang::VarDecl* VD)

Declared at: clang/include/clang/Sema/Sema.h:2976

Parameters

clang::VarDecl* VD

void CheckStrlcpycatArguments(
    const clang::CallExpr* Call,
    clang::IdentifierInfo* FnName)

Declared at: clang/include/clang/Sema/Sema.h:13224

Parameters

const clang::CallExpr* Call
clang::IdentifierInfo* FnName

void CheckStrncatArguments(
    const clang::CallExpr* Call,
    clang::IdentifierInfo* FnName)

Declared at: clang/include/clang/Sema/Sema.h:13227

Parameters

const clang::CallExpr* Call
clang::IdentifierInfo* FnName

clang::Sema::AccessResult
CheckStructuredBindingMemberAccess(
    clang::SourceLocation UseLoc,
    clang::CXXRecordDecl* DecomposedClass,
    clang::DeclAccessPair Field)

Declared at: clang/include/clang/Sema/Sema.h:7637

Parameters

clang::SourceLocation UseLoc
clang::CXXRecordDecl* DecomposedClass
clang::DeclAccessPair Field

void CheckSubscriptAccessOfNoDeref(
    const clang::ArraySubscriptExpr* E)

Description

Methods for marking which expressions involve dereferencing a pointer marked with the 'noderef' attribute. Expressions are checked bottom up as they are parsed, meaning that a noderef pointer may not be accessed. For example, in ` & *p` where `p` is a noderef pointer, we will first parse the `*p`, but need to check that `address of` is called on it. This requires keeping a container of all pending expressions and checking if the address of them are eventually taken.

Declared at: clang/include/clang/Sema/Sema.h:2235

Parameters

const clang::ArraySubscriptExpr* E

clang::Sema::ObjCSubscriptKind
CheckSubscriptingKind(clang::Expr* FromE)

Declared at: clang/include/clang/Sema/Sema.h:3819

Parameters

clang::Expr* FromE

clang::QualType CheckSubtractionOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::QualType* CompLHSTy = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:12164

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::QualType* CompLHSTy = nullptr

clang::ExprResult CheckSwitchCondition(
    clang::SourceLocation SwitchLoc,
    clang::Expr* Cond)

Declared at: clang/include/clang/Sema/Sema.h:12470

Parameters

clang::SourceLocation SwitchLoc
clang::Expr* Cond

bool CheckSystemZBuiltinFunctionCall(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13103

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

void CheckTCBEnforcement(
    const clang::SourceLocation CallExprLoc,
    const clang::NamedDecl* Callee)

Declared at: clang/include/clang/Sema/Sema.h:13270

Parameters

const clang::SourceLocation CallExprLoc
const clang::NamedDecl* Callee

bool CheckTSBuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13075

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckTemplateArgument(
    clang::NamedDecl* Param,
    clang::TemplateArgumentLoc& Arg,
    clang::NamedDecl* Template,
    clang::SourceLocation TemplateLoc,
    clang::SourceLocation RAngleLoc,
    unsigned int ArgumentPackIndex,
    SmallVectorImpl<clang::TemplateArgument>&
        Converted,
    clang::Sema::CheckTemplateArgumentKind CTAK =
        CTAK_Specified)

Declared at: clang/include/clang/Sema/Sema.h:8082

Parameters

clang::NamedDecl* Param
clang::TemplateArgumentLoc& Arg
clang::NamedDecl* Template
clang::SourceLocation TemplateLoc
clang::SourceLocation RAngleLoc
unsigned int ArgumentPackIndex
SmallVectorImpl<clang::TemplateArgument>& Converted
clang::Sema::CheckTemplateArgumentKind CTAK = CTAK_Specified

clang::ExprResult CheckTemplateArgument(
    clang::NonTypeTemplateParmDecl* Param,
    clang::QualType InstantiatedParamType,
    clang::Expr* Arg,
    clang::TemplateArgument& Converted,
    clang::Sema::CheckTemplateArgumentKind CTAK =
        CTAK_Specified)

Declared at: clang/include/clang/Sema/Sema.h:8133

Parameters

clang::NonTypeTemplateParmDecl* Param
clang::QualType InstantiatedParamType
clang::Expr* Arg
clang::TemplateArgument& Converted
clang::Sema::CheckTemplateArgumentKind CTAK = CTAK_Specified

bool CheckTemplateArgument(
    clang::TypeSourceInfo* Arg)

Declared at: clang/include/clang/Sema/Sema.h:8132

Parameters

clang::TypeSourceInfo* Arg

bool CheckTemplateArgumentList(
    clang::TemplateDecl* Template,
    clang::SourceLocation TemplateLoc,
    clang::TemplateArgumentListInfo& TemplateArgs,
    bool PartialTemplateArgs,
    SmallVectorImpl<clang::TemplateArgument>&
        Converted,
    bool UpdateArgsWithConversions = true,
    bool* ConstraintsNotSatisfied = nullptr)

Description

Check that the given template arguments can be be provided to the given template, converting the arguments along the way.

Declared at: clang/include/clang/Sema/Sema.h:8120

Parameters

clang::TemplateDecl* Template
The template to which the template arguments are being provided.
clang::SourceLocation TemplateLoc
The location of the template name in the source.
clang::TemplateArgumentListInfo& TemplateArgs
The list of template arguments. If the template is a template template parameter, this function may extend the set of template arguments to also include substituted, defaulted template arguments.
bool PartialTemplateArgs
True if the list of template arguments is intentionally partial, e.g., because we're checking just the initial set of template arguments.
SmallVectorImpl<clang::TemplateArgument>& Converted
Will receive the converted, canonicalized template arguments.
bool UpdateArgsWithConversions = true
If \c true, update \p TemplateArgs to contain the converted forms of the template arguments as written. Otherwise, \p TemplateArgs will not be modified.
bool* ConstraintsNotSatisfied = nullptr
If provided, and an error occurred, will receive true if the cause for the error is the associated constraints of the template not being satisfied by the template arguments.

Returns

true if an error occurred, false otherwise.

bool CheckTemplateDeclScope(
    clang::Scope* S,
    clang::TemplateParameterList* TemplateParams)

Declared at: clang/include/clang/Sema/Sema.h:8190

Parameters

clang::Scope* S
clang::TemplateParameterList* TemplateParams

clang::QualType CheckTemplateIdType(
    clang::TemplateName Template,
    clang::SourceLocation TemplateLoc,
    clang::TemplateArgumentListInfo& TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:7929

Parameters

clang::TemplateName Template
clang::SourceLocation TemplateLoc
clang::TemplateArgumentListInfo& TemplateArgs

bool CheckTemplateParameterList(
    clang::TemplateParameterList* NewParams,
    clang::TemplateParameterList* OldParams,
    clang::Sema::TemplateParamListContext TPC,
    clang::Sema::SkipBodyInfo* SkipBody = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:7892

Parameters

clang::TemplateParameterList* NewParams
clang::TemplateParameterList* OldParams
clang::Sema::TemplateParamListContext TPC
clang::Sema::SkipBodyInfo* SkipBody = nullptr

void CheckTemplatePartialSpecialization(
    clang::ClassTemplatePartialSpecializationDecl*
        Partial)

Declared at: clang/include/clang/Sema/Sema.h:8011

Parameters

clang::ClassTemplatePartialSpecializationDecl* Partial

void CheckTemplatePartialSpecialization(
    clang::VarTemplatePartialSpecializationDecl*
        Partial)

Declared at: clang/include/clang/Sema/Sema.h:8013

Parameters

clang::VarTemplatePartialSpecializationDecl* Partial

bool CheckTemplatePartialSpecializationArgs(
    clang::SourceLocation Loc,
    clang::TemplateDecl* PrimaryTemplate,
    unsigned int NumExplicitArgs,
    ArrayRef<clang::TemplateArgument> Args)

Declared at: clang/include/clang/Sema/Sema.h:8007

Parameters

clang::SourceLocation Loc
clang::TemplateDecl* PrimaryTemplate
unsigned int NumExplicitArgs
ArrayRef<clang::TemplateArgument> Args

bool CheckTemplateTemplateArgument(
    clang::TemplateTemplateParmDecl* Param,
    clang::TemplateParameterList* Params,
    clang::TemplateArgumentLoc& Arg)

Declared at: clang/include/clang/Sema/Sema.h:8137

Parameters

clang::TemplateTemplateParmDecl* Param
clang::TemplateParameterList* Params
clang::TemplateArgumentLoc& Arg

bool CheckTemplateTypeArgument(
    clang::TemplateTypeParmDecl* Param,
    clang::TemplateArgumentLoc& Arg,
    SmallVectorImpl<clang::TemplateArgument>&
        Converted)

Declared at: clang/include/clang/Sema/Sema.h:8128

Parameters

clang::TemplateTypeParmDecl* Param
clang::TemplateArgumentLoc& Arg
SmallVectorImpl<clang::TemplateArgument>& Converted

void CheckTollFreeBridgeCast(
    clang::QualType castType,
    clang::Expr* castExpr)

Declared at: clang/include/clang/Sema/Sema.h:10204

Parameters

clang::QualType castType
clang::Expr* castExpr

bool CheckTollFreeBridgeStaticCast(
    clang::QualType castType,
    clang::Expr* castExpr,
    clang::CastKind& Kind)

Declared at: clang/include/clang/Sema/Sema.h:10208

Parameters

clang::QualType castType
clang::Expr* castExpr
clang::CastKind& Kind

clang::Sema::AssignConvertType
CheckTransparentUnionArgumentConstraints(
    clang::QualType ArgType,
    clang::ExprResult& RHS)

Declared at: clang/include/clang/Sema/Sema.h:12120

Parameters

clang::QualType ArgType
clang::ExprResult& RHS

void CheckTypedefForVariablyModifiedType(
    clang::Scope* S,
    clang::TypedefNameDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:2845

Parameters

clang::Scope* S
clang::TypedefNameDecl* D

clang::QualType CheckTypenameType(
    clang::ElaboratedTypeKeyword Keyword,
    clang::SourceLocation KeywordLoc,
    clang::NestedNameSpecifierLoc QualifierLoc,
    const clang::IdentifierInfo& II,
    clang::SourceLocation IILoc,
    bool DeducedTSTContext = true)

Declared at: clang/include/clang/Sema/Sema.h:8238

Parameters

clang::ElaboratedTypeKeyword Keyword
clang::SourceLocation KeywordLoc
clang::NestedNameSpecifierLoc QualifierLoc
const clang::IdentifierInfo& II
clang::SourceLocation IILoc
bool DeducedTSTContext = true

clang::QualType CheckTypenameType(
    clang::ElaboratedTypeKeyword Keyword,
    clang::SourceLocation KeywordLoc,
    clang::NestedNameSpecifierLoc QualifierLoc,
    const clang::IdentifierInfo& II,
    clang::SourceLocation IILoc,
    clang::TypeSourceInfo** TSI,
    bool DeducedTSTContext)

Declared at: clang/include/clang/Sema/Sema.h:8230

Parameters

clang::ElaboratedTypeKeyword Keyword
clang::SourceLocation KeywordLoc
clang::NestedNameSpecifierLoc QualifierLoc
const clang::IdentifierInfo& II
clang::SourceLocation IILoc
clang::TypeSourceInfo** TSI
bool DeducedTSTContext

bool CheckUnaryExprOrTypeTraitOperand(
    clang::Expr* E,
    clang::UnaryExprOrTypeTrait ExprKind)

Declared at: clang/include/clang/Sema/Sema.h:5572

Parameters

clang::Expr* E
clang::UnaryExprOrTypeTrait ExprKind

bool CheckUnaryExprOrTypeTraitOperand(
    clang::QualType ExprType,
    clang::SourceLocation OpLoc,
    clang::SourceRange ExprRange,
    clang::UnaryExprOrTypeTrait ExprKind)

Declared at: clang/include/clang/Sema/Sema.h:5573

Parameters

clang::QualType ExprType
clang::SourceLocation OpLoc
clang::SourceRange ExprRange
clang::UnaryExprOrTypeTrait ExprKind

clang::ExprResult CheckUnevaluatedOperand(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5264

Parameters

clang::Expr* E

clang::Sema::AccessResult
CheckUnresolvedLookupAccess(
    clang::UnresolvedLookupExpr* E,
    clang::DeclAccessPair FoundDecl)

Declared at: clang/include/clang/Sema/Sema.h:7611

Parameters

clang::UnresolvedLookupExpr* E
clang::DeclAccessPair FoundDecl

clang::Sema::AccessResult
CheckUnresolvedMemberAccess(
    clang::UnresolvedMemberExpr* E,
    clang::DeclAccessPair FoundDecl)

Declared at: clang/include/clang/Sema/Sema.h:7609

Parameters

clang::UnresolvedMemberExpr* E
clang::DeclAccessPair FoundDecl

void CheckUnsequencedOperations(
    const clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:13246

Parameters

const clang::Expr* E

void CheckUnusedVolatileAssignment(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5265

Parameters

clang::Expr* E

bool CheckUsingDeclQualifier(
    clang::SourceLocation UsingLoc,
    bool HasTypename,
    const clang::CXXScopeSpec& SS,
    const clang::DeclarationNameInfo& NameInfo,
    clang::SourceLocation NameLoc,
    const clang::LookupResult* R = nullptr,
    const clang::UsingDecl* UD = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:6025

Parameters

clang::SourceLocation UsingLoc
bool HasTypename
const clang::CXXScopeSpec& SS
const clang::DeclarationNameInfo& NameInfo
clang::SourceLocation NameLoc
const clang::LookupResult* R = nullptr
const clang::UsingDecl* UD = nullptr

bool CheckUsingDeclRedeclaration(
    clang::SourceLocation UsingLoc,
    bool HasTypenameKeyword,
    const clang::CXXScopeSpec& SS,
    clang::SourceLocation NameLoc,
    const clang::LookupResult& Previous)

Declared at: clang/include/clang/Sema/Sema.h:6020

Parameters

clang::SourceLocation UsingLoc
bool HasTypenameKeyword
const clang::CXXScopeSpec& SS
clang::SourceLocation NameLoc
const clang::LookupResult& Previous

bool CheckUsingShadowDecl(
    clang::BaseUsingDecl* BUD,
    clang::NamedDecl* Target,
    const clang::LookupResult& PreviousDecls,
    clang::UsingShadowDecl*& PrevShadow)

Declared at: clang/include/clang/Sema/Sema.h:6013

Parameters

clang::BaseUsingDecl* BUD
clang::NamedDecl* Target
const clang::LookupResult& PreviousDecls
clang::UsingShadowDecl*& PrevShadow

clang::DeclResult CheckVarTemplateId(
    clang::VarTemplateDecl* Template,
    clang::SourceLocation TemplateLoc,
    clang::SourceLocation TemplateNameLoc,
    const clang::TemplateArgumentListInfo&
        TemplateArgs)

Description

Get the specialization of the given variable template corresponding to the specified argument list, or a null-but-valid result if the arguments are dependent.

Declared at: clang/include/clang/Sema/Sema.h:7961

Parameters

clang::VarTemplateDecl* Template
clang::SourceLocation TemplateLoc
clang::SourceLocation TemplateNameLoc
const clang::TemplateArgumentListInfo& TemplateArgs

clang::ExprResult CheckVarTemplateId(
    const clang::CXXScopeSpec& SS,
    const clang::DeclarationNameInfo& NameInfo,
    clang::VarTemplateDecl* Template,
    clang::SourceLocation TemplateLoc,
    const clang::TemplateArgumentListInfo*
        TemplateArgs)

Description

Form a reference to the specialization of the given variable template corresponding to the specified argument list, or a null-but-valid result if the arguments are dependent.

Declared at: clang/include/clang/Sema/Sema.h:7969

Parameters

const clang::CXXScopeSpec& SS
const clang::DeclarationNameInfo& NameInfo
clang::VarTemplateDecl* Template
clang::SourceLocation TemplateLoc
const clang::TemplateArgumentListInfo* TemplateArgs

bool CheckVariableDeclaration(
    clang::VarDecl* NewVD,
    clang::LookupResult& Previous)

Declared at: clang/include/clang/Sema/Sema.h:2861

Parameters

clang::VarDecl* NewVD
clang::LookupResult& Previous

void CheckVariableDeclarationType(
    clang::VarDecl* NewVD)

Declared at: clang/include/clang/Sema/Sema.h:2862

Parameters

clang::VarDecl* NewVD

bool CheckVecStepExpr(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5570

Parameters

clang::Expr* E

bool CheckVectorCast(clang::SourceRange R,
                     clang::QualType VectorTy,
                     clang::QualType Ty,
                     clang::CastKind& Kind)

Declared at: clang/include/clang/Sema/Sema.h:12335

Parameters

clang::SourceRange R
clang::QualType VectorTy
clang::QualType Ty
clang::CastKind& Kind

clang::QualType CheckVectorCompareOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::BinaryOperatorKind Opc)

Declared at: clang/include/clang/Sema/Sema.h:12238

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::BinaryOperatorKind Opc

clang::QualType CheckVectorConditionalTypes(
    clang::ExprResult& Cond,
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation QuestionLoc)

Declared at: clang/include/clang/Sema/Sema.h:12201

Parameters

clang::ExprResult& Cond
clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation QuestionLoc

clang::QualType CheckVectorLogicalOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:12244

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc

clang::QualType CheckVectorOperands(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    bool IsCompAssign,
    bool AllowBothBool,
    bool AllowBoolConversion,
    bool AllowBoolOperation,
    bool ReportInvalid)

Description

type checking for vector binary operators.

Declared at: clang/include/clang/Sema/Sema.h:12232

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
bool IsCompAssign
bool AllowBothBool
bool AllowBoolConversion
bool AllowBoolOperation
bool ReportInvalid

void CheckVirtualDtorCall(
    clang::CXXDestructorDecl* dtor,
    clang::SourceLocation Loc,
    bool IsDelete,
    bool CallCanBeVirtual,
    bool WarnOnNonAbstractTypes,
    clang::SourceLocation DtorLoc)

Declared at: clang/include/clang/Sema/Sema.h:6633

Parameters

clang::CXXDestructorDecl* dtor
clang::SourceLocation Loc
bool IsDelete
bool CallCanBeVirtual
bool WarnOnNonAbstractTypes
clang::SourceLocation DtorLoc

bool CheckX86BuiltinFunctionCall(
    const clang::TargetInfo& TI,
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13112

Parameters

const clang::TargetInfo& TI
unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckX86BuiltinGatherScatterScale(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13105

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckX86BuiltinRoundingOrSAE(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13104

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckX86BuiltinTileArguments(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13106

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool CheckX86BuiltinTileArgumentsRange(
    clang::CallExpr* TheCall,
    ArrayRef<int> ArgNums)

Declared at: clang/include/clang/Sema/Sema.h:13107

Parameters

clang::CallExpr* TheCall
ArrayRef<int> ArgNums

bool CheckX86BuiltinTileDuplicate(
    clang::CallExpr* TheCall,
    ArrayRef<int> ArgNums)

Declared at: clang/include/clang/Sema/Sema.h:13109

Parameters

clang::CallExpr* TheCall
ArrayRef<int> ArgNums

bool CheckX86BuiltinTileRangeAndDuplicate(
    clang::CallExpr* TheCall,
    ArrayRef<int> ArgNums)

Declared at: clang/include/clang/Sema/Sema.h:13110

Parameters

clang::CallExpr* TheCall
ArrayRef<int> ArgNums

clang::Sema::NameClassification ClassifyName(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::IdentifierInfo*& Name,
    clang::SourceLocation NameLoc,
    const clang::Token& NextToken,
    clang::CorrectionCandidateCallback* CCC =
        nullptr)

Description

Perform name lookup on the given name, classifying it based on the results of name lookup and the following token. This routine is used by the parser to resolve identifiers and help direct parsing. When the identifier cannot be found, this routine will attempt to correct the typo and classify based on the resulting name.

Declared at: clang/include/clang/Sema/Sema.h:2735

Parameters

clang::Scope* S
The scope in which we're performing name lookup.
clang::CXXScopeSpec& SS
The nested-name-specifier that precedes the name.
clang::IdentifierInfo*& Name
The identifier. If typo correction finds an alternative name, this pointer parameter will be updated accordingly.
clang::SourceLocation NameLoc
The location of the identifier.
const clang::Token& NextToken
The token following the identifier. Used to help disambiguate the name.
clang::CorrectionCandidateCallback* CCC = nullptr
The correction callback, if typo correction is desired.

void CleanupVarDeclMarking()

Declared at: clang/include/clang/Sema/Sema.h:5292

void CodeCompleteAfterFunctionEquals(
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:12948

Parameters

clang::Declarator& D

void CodeCompleteAfterIf(clang::Scope* S,
                         bool IsBracedThen)

Declared at: clang/include/clang/Sema/Sema.h:12932

Parameters

clang::Scope* S
bool IsBracedThen

void CodeCompleteAttribute(
    AttributeCommonInfo::Syntax Syntax,
    clang::Sema::AttributeCompletion Completion =
        AttributeCompletion::Attribute,
    const clang::IdentifierInfo* Scope = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:12901

Parameters

AttributeCommonInfo::Syntax Syntax
clang::Sema::AttributeCompletion Completion = AttributeCompletion::Attribute
const clang::IdentifierInfo* Scope = nullptr

void CodeCompleteAvailabilityPlatformName()

Declared at: clang/include/clang/Sema/Sema.h:13012

void CodeCompleteBracketDeclarator(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12894

Parameters

clang::Scope* S

void CodeCompleteCase(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12895

Parameters

clang::Scope* S

void CodeCompleteConstructorInitializer(
    clang::Decl* Constructor,
    ArrayRef<clang::CXXCtorInitializer*>
        Initializers)

Declared at: clang/include/clang/Sema/Sema.h:12942

Parameters

clang::Decl* Constructor
ArrayRef<clang::CXXCtorInitializer*> Initializers

void CodeCompleteDeclSpec(
    clang::Scope* S,
    clang::DeclSpec& DS,
    bool AllowNonIdentifiers,
    bool AllowNestedNameSpecifiers)

Declared at: clang/include/clang/Sema/Sema.h:12875

Parameters

clang::Scope* S
clang::DeclSpec& DS
bool AllowNonIdentifiers
bool AllowNestedNameSpecifiers

void CodeCompleteDesignator(
    const clang::QualType BaseType,
    llvm::ArrayRef<Expr*> InitExprs,
    const clang::Designation& D)

Description

Trigger code completion for a record of \p BaseType. \p InitExprs are expressions in the initializer list seen so far and \p D is the current Designation being parsed.

Declared at: clang/include/clang/Sema/Sema.h:12929

Parameters

const clang::QualType BaseType
llvm::ArrayRef<Expr*> InitExprs
const clang::Designation& D

void CodeCompleteExpression(
    clang::Scope* S,
    const clang::Sema::CodeCompleteExpressionData&
        Data)

Declared at: clang/include/clang/Sema/Sema.h:12880

Parameters

clang::Scope* S
const clang::Sema::CodeCompleteExpressionData& Data

void CodeCompleteExpression(
    clang::Scope* S,
    clang::QualType PreferredType,
    bool IsParenthesized = false)

Declared at: clang/include/clang/Sema/Sema.h:12882

Parameters

clang::Scope* S
clang::QualType PreferredType
bool IsParenthesized = false

void CodeCompleteFunctionQualifiers(
    clang::DeclSpec& DS,
    clang::Declarator& D,
    const clang::VirtSpecifiers* VS = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:12892

Parameters

clang::DeclSpec& DS
clang::Declarator& D
const clang::VirtSpecifiers* VS = nullptr

void CodeCompleteInPreprocessorConditionalExclusion(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:13003

Parameters

clang::Scope* S

void CodeCompleteIncludedFile(llvm::StringRef Dir,
                              bool IsAngled)

Declared at: clang/include/clang/Sema/Sema.h:13010

Parameters

llvm::StringRef Dir
bool IsAngled

void CodeCompleteInitializer(clang::Scope* S,
                             clang::Decl* D)

Declared at: clang/include/clang/Sema/Sema.h:12925

Parameters

clang::Scope* S
clang::Decl* D

void CodeCompleteLambdaIntroducer(
    clang::Scope* S,
    clang::LambdaIntroducer& Intro,
    bool AfterAmpersand)

Declared at: clang/include/clang/Sema/Sema.h:12946

Parameters

clang::Scope* S
clang::LambdaIntroducer& Intro
bool AfterAmpersand

void CodeCompleteMemberReferenceExpr(
    clang::Scope* S,
    clang::Expr* Base,
    clang::Expr* OtherOpBase,
    clang::SourceLocation OpLoc,
    bool IsArrow,
    bool IsBaseExprStatement,
    clang::QualType PreferredType)

Declared at: clang/include/clang/Sema/Sema.h:12884

Parameters

clang::Scope* S
clang::Expr* Base
clang::Expr* OtherOpBase
clang::SourceLocation OpLoc
bool IsArrow
bool IsBaseExprStatement
clang::QualType PreferredType

void CodeCompleteModuleImport(
    clang::SourceLocation ImportLoc,
    clang::ModuleIdPath Path)

Declared at: clang/include/clang/Sema/Sema.h:12872

Parameters

clang::SourceLocation ImportLoc
clang::ModuleIdPath Path

void CodeCompleteNamespaceAliasDecl(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12940

Parameters

clang::Scope* S

void CodeCompleteNamespaceDecl(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12939

Parameters

clang::Scope* S

void CodeCompleteNaturalLanguage()

Declared at: clang/include/clang/Sema/Sema.h:13011

void CodeCompleteObjCAtDirective(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12950

Parameters

clang::Scope* S

void CodeCompleteObjCAtExpression(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12953

Parameters

clang::Scope* S

void CodeCompleteObjCAtStatement(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12952

Parameters

clang::Scope* S

void CodeCompleteObjCAtVisibility(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12951

Parameters

clang::Scope* S

void CodeCompleteObjCClassMessage(
    clang::Scope* S,
    clang::ParsedType Receiver,
    ArrayRef<clang::IdentifierInfo*> SelIdents,
    bool AtArgumentExpression,
    bool IsSuper = false)

Declared at: clang/include/clang/Sema/Sema.h:12963

Parameters

clang::Scope* S
clang::ParsedType Receiver
ArrayRef<clang::IdentifierInfo*> SelIdents
bool AtArgumentExpression
bool IsSuper = false

void CodeCompleteObjCClassPropertyRefExpr(
    clang::Scope* S,
    clang::IdentifierInfo& ClassName,
    clang::SourceLocation ClassNameLoc,
    bool IsBaseExprStatement)

Declared at: clang/include/clang/Sema/Sema.h:12999

Parameters

clang::Scope* S
clang::IdentifierInfo& ClassName
clang::SourceLocation ClassNameLoc
bool IsBaseExprStatement

void CodeCompleteObjCForCollection(
    clang::Scope* S,
    clang::Sema::DeclGroupPtrTy IterationVar)

Declared at: clang/include/clang/Sema/Sema.h:12971

Parameters

clang::Scope* S
clang::Sema::DeclGroupPtrTy IterationVar

void CodeCompleteObjCImplementationCategory(
    clang::Scope* S,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassNameLoc)

Declared at: clang/include/clang/Sema/Sema.h:12986

Parameters

clang::Scope* S
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassNameLoc

void CodeCompleteObjCImplementationDecl(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12982

Parameters

clang::Scope* S

void CodeCompleteObjCInstanceMessage(
    clang::Scope* S,
    clang::Expr* Receiver,
    ArrayRef<clang::IdentifierInfo*> SelIdents,
    bool AtArgumentExpression,
    clang::ObjCInterfaceDecl* Super = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:12967

Parameters

clang::Scope* S
clang::Expr* Receiver
ArrayRef<clang::IdentifierInfo*> SelIdents
bool AtArgumentExpression
clang::ObjCInterfaceDecl* Super = nullptr

void CodeCompleteObjCInterfaceCategory(
    clang::Scope* S,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassNameLoc)

Declared at: clang/include/clang/Sema/Sema.h:12983

Parameters

clang::Scope* S
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassNameLoc

void CodeCompleteObjCInterfaceDecl(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12978

Parameters

clang::Scope* S

void CodeCompleteObjCMessageReceiver(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12959

Parameters

clang::Scope* S

void CodeCompleteObjCMethodDecl(
    clang::Scope* S,
    Optional<bool> IsInstanceMethod,
    clang::ParsedType ReturnType)

Declared at: clang/include/clang/Sema/Sema.h:12992

Parameters

clang::Scope* S
Optional<bool> IsInstanceMethod
clang::ParsedType ReturnType

void CodeCompleteObjCMethodDeclSelector(
    clang::Scope* S,
    bool IsInstanceMethod,
    bool AtParameterName,
    clang::ParsedType ReturnType,
    ArrayRef<clang::IdentifierInfo*> SelIdents)

Declared at: clang/include/clang/Sema/Sema.h:12994

Parameters

clang::Scope* S
bool IsInstanceMethod
bool AtParameterName
clang::ParsedType ReturnType
ArrayRef<clang::IdentifierInfo*> SelIdents

void CodeCompleteObjCPassingType(
    clang::Scope* S,
    clang::ObjCDeclSpec& DS,
    bool IsParameter)

Declared at: clang/include/clang/Sema/Sema.h:12957

Parameters

clang::Scope* S
clang::ObjCDeclSpec& DS
bool IsParameter

void CodeCompleteObjCPropertyDefinition(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12989

Parameters

clang::Scope* S

void CodeCompleteObjCPropertyFlags(
    clang::Scope* S,
    clang::ObjCDeclSpec& ODS)

Declared at: clang/include/clang/Sema/Sema.h:12954

Parameters

clang::Scope* S
clang::ObjCDeclSpec& ODS

void CodeCompleteObjCPropertyGetter(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12955

Parameters

clang::Scope* S

void CodeCompleteObjCPropertySetter(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12956

Parameters

clang::Scope* S

void CodeCompleteObjCPropertySynthesizeIvar(
    clang::Scope* S,
    clang::IdentifierInfo* PropertyName)

Declared at: clang/include/clang/Sema/Sema.h:12990

Parameters

clang::Scope* S
clang::IdentifierInfo* PropertyName

void CodeCompleteObjCProtocolDecl(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12977

Parameters

clang::Scope* S

void CodeCompleteObjCProtocolReferences(
    ArrayRef<clang::IdentifierLocPair> Protocols)

Declared at: clang/include/clang/Sema/Sema.h:12975

Parameters

ArrayRef<clang::IdentifierLocPair> Protocols

void CodeCompleteObjCSelector(
    clang::Scope* S,
    ArrayRef<clang::IdentifierInfo*> SelIdents)

Declared at: clang/include/clang/Sema/Sema.h:12973

Parameters

clang::Scope* S
ArrayRef<clang::IdentifierInfo*> SelIdents

void CodeCompleteObjCSuperMessage(
    clang::Scope* S,
    clang::SourceLocation SuperLoc,
    ArrayRef<clang::IdentifierInfo*> SelIdents,
    bool AtArgumentExpression)

Declared at: clang/include/clang/Sema/Sema.h:12960

Parameters

clang::Scope* S
clang::SourceLocation SuperLoc
ArrayRef<clang::IdentifierInfo*> SelIdents
bool AtArgumentExpression

void CodeCompleteObjCSuperclass(
    clang::Scope* S,
    clang::IdentifierInfo* ClassName,
    clang::SourceLocation ClassNameLoc)

Declared at: clang/include/clang/Sema/Sema.h:12979

Parameters

clang::Scope* S
clang::IdentifierInfo* ClassName
clang::SourceLocation ClassNameLoc

void CodeCompleteOperatorName(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12941

Parameters

clang::Scope* S

void CodeCompleteOrdinaryName(
    clang::Scope* S,
    clang::Sema::ParserCompletionContext
        CompletionContext)

Declared at: clang/include/clang/Sema/Sema.h:12873

Parameters

clang::Scope* S
clang::Sema::ParserCompletionContext CompletionContext

void CodeCompletePostfixExpression(
    clang::Scope* S,
    clang::ExprResult LHS,
    clang::QualType PreferredType)

Declared at: clang/include/clang/Sema/Sema.h:12888

Parameters

clang::Scope* S
clang::ExprResult LHS
clang::QualType PreferredType

void CodeCompletePreprocessorDirective(
    bool InConditional)

Declared at: clang/include/clang/Sema/Sema.h:13002

Parameters

bool InConditional

void CodeCompletePreprocessorExpression()

Declared at: clang/include/clang/Sema/Sema.h:13005

void CodeCompletePreprocessorMacroArgument(
    clang::Scope* S,
    clang::IdentifierInfo* Macro,
    clang::MacroInfo* MacroInfo,
    unsigned int Argument)

Declared at: clang/include/clang/Sema/Sema.h:13006

Parameters

clang::Scope* S
clang::IdentifierInfo* Macro
clang::MacroInfo* MacroInfo
unsigned int Argument

void CodeCompletePreprocessorMacroName(
    bool IsDefinition)

Declared at: clang/include/clang/Sema/Sema.h:13004

Parameters

bool IsDefinition

void CodeCompleteQualifiedId(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    bool EnteringContext,
    bool IsUsingDeclaration,
    clang::QualType BaseType,
    clang::QualType PreferredType)

Declared at: clang/include/clang/Sema/Sema.h:12934

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
bool EnteringContext
bool IsUsingDeclaration
clang::QualType BaseType
clang::QualType PreferredType

void CodeCompleteTag(clang::Scope* S,
                     unsigned int TagSpec)

Declared at: clang/include/clang/Sema/Sema.h:12890

Parameters

clang::Scope* S
unsigned int TagSpec

void CodeCompleteTypeQualifiers(
    clang::DeclSpec& DS)

Declared at: clang/include/clang/Sema/Sema.h:12891

Parameters

clang::DeclSpec& DS

void CodeCompleteUsing(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12937

Parameters

clang::Scope* S

void CodeCompleteUsingDirective(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:12938

Parameters

clang::Scope* S

void CollectIvarsToConstructOrDestruct(
    clang::ObjCInterfaceDecl* OI,
    SmallVectorImpl<clang::ObjCIvarDecl*>& Ivars)

Description

CollectIvarsToConstructOrDestruct - Collect those ivars which require initialization.

Declared at: clang/include/clang/Sema/Sema.h:4847

Parameters

clang::ObjCInterfaceDecl* OI
SmallVectorImpl<clang::ObjCIvarDecl*>& Ivars

bool CollectMultipleMethodsInGlobalPool(
    clang::Selector Sel,
    SmallVectorImpl<clang::ObjCMethodDecl*>&
        Methods,
    bool InstanceFirst,
    bool CheckTheOther,
    const clang::ObjCObjectType* TypeBound =
        nullptr)

Description

- Returns instance or factory methods in global method pool for given selector. It checks the desired kind first, if none is found, and parameter checkTheOther is set, it then checks the other kind. If no such method or only one method is found, function returns false; otherwise, it returns true.

Declared at: clang/include/clang/Sema/Sema.h:4774

Parameters

clang::Selector Sel
SmallVectorImpl<clang::ObjCMethodDecl*>& Methods
bool InstanceFirst
bool CheckTheOther
const clang::ObjCObjectType* TypeBound = nullptr

clang::Sema::ReferenceCompareResult
CompareReferenceRelationship(
    clang::SourceLocation Loc,
    clang::QualType T1,
    clang::QualType T2,
    clang::Sema::ReferenceConversions* Conv =
        nullptr)

Declared at: clang/include/clang/Sema/Sema.h:12308

Parameters

clang::SourceLocation Loc
clang::QualType T1
clang::QualType T2
clang::Sema::ReferenceConversions* Conv = nullptr

bool CompleteConstructorCall(
    clang::CXXConstructorDecl* Constructor,
    clang::QualType DeclInitType,
    clang::MultiExprArg ArgsPtr,
    clang::SourceLocation Loc,
    SmallVectorImpl<clang::Expr*>& ConvertedArgs,
    bool AllowExplicit = false,
    bool IsListInitialization = false)

Declared at: clang/include/clang/Sema/Sema.h:6358

Parameters

clang::CXXConstructorDecl* Constructor
clang::QualType DeclInitType
clang::MultiExprArg ArgsPtr
clang::SourceLocation Loc
SmallVectorImpl<clang::Expr*>& ConvertedArgs
bool AllowExplicit = false
bool IsListInitialization = false

void CompleteMemberSpecialization(
    clang::NamedDecl* Member,
    clang::LookupResult& Previous)

Declared at: clang/include/clang/Sema/Sema.h:8036

Parameters

clang::NamedDecl* Member
clang::LookupResult& Previous

clang::VarTemplateSpecializationDecl*
CompleteVarTemplateSpecializationDecl(
    clang::VarTemplateSpecializationDecl* VarSpec,
    clang::VarDecl* PatternDecl,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9811

Parameters

clang::VarTemplateSpecializationDecl* VarSpec
clang::VarDecl* PatternDecl
const clang::MultiLevelTemplateArgumentList& TemplateArgs

static clang::Sema::ConditionResult
ConditionError()

Declared at: clang/include/clang/Sema/Sema.h:12447

bool ConstantFoldAttrArgs(
    const clang::AttributeCommonInfo& CI,
    MutableArrayRef<clang::Expr*> Args)

Description

ConstantFoldAttrArgs - Folds attribute arguments into ConstantExprs (unless they are value dependent or type dependent). Returns false and emits a diagnostic if one or more of the arguments could not be folded into a constant.

Declared at: clang/include/clang/Sema/Sema.h:10524

Parameters

const clang::AttributeCommonInfo& CI
MutableArrayRef<clang::Expr*> Args

bool ConvertArgumentsForCall(
    clang::CallExpr* Call,
    clang::Expr* Fn,
    clang::FunctionDecl* FDecl,
    const clang::FunctionProtoType* Proto,
    ArrayRef<clang::Expr*> Args,
    clang::SourceLocation RParenLoc,
    bool ExecConfig = false)

Declared at: clang/include/clang/Sema/Sema.h:5695

Parameters

clang::CallExpr* Call
clang::Expr* Fn
clang::FunctionDecl* FDecl
const clang::FunctionProtoType* Proto
ArrayRef<clang::Expr*> Args
clang::SourceLocation RParenLoc
bool ExecConfig = false

clang::Sema::DeclGroupPtrTy
ConvertDeclToDeclGroup(
    clang::Decl* Ptr,
    clang::Decl* OwnedType = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:2527

Parameters

clang::Decl* Ptr
clang::Decl* OwnedType = nullptr

void ConvertIntegerToTypeWarnOnOverflow(
    llvm::APSInt& OldVal,
    unsigned int NewWidth,
    bool NewSign,
    clang::SourceLocation Loc,
    unsigned int DiagID)

Description

ConvertIntegerToTypeWarnOnOverflow - Convert the specified APInt to have the specified width and sign. If an overflow occurs, detect it and emit the specified diagnostic.

Declared at: clang/include/clang/Sema/Sema.h:12505

Parameters

llvm::APSInt& OldVal
unsigned int NewWidth
bool NewSign
clang::SourceLocation Loc
unsigned int DiagID

clang::ExprResult ConvertParamDefaultArgument(
    clang::ParmVarDecl* Param,
    clang::Expr* DefaultArg,
    clang::SourceLocation EqualLoc)

Declared at: clang/include/clang/Sema/Sema.h:2918

Parameters

clang::ParmVarDecl* Param
clang::Expr* DefaultArg
clang::SourceLocation EqualLoc

static clang::BinaryOperatorKind
ConvertTokenKindToBinaryOpcode(
    tok::TokenKind Kind)

Declared at: clang/include/clang/Sema/Sema.h:5774

Parameters

tok::TokenKind Kind

clang::ExprResult CorrectDelayedTyposInExpr(
    clang::ExprResult ER,
    clang::VarDecl* InitDecl = nullptr,
    bool RecoverUncorrectedTypos = false,
    llvm::function_ref<ExprResult(Expr*)> Filter =
        [](clang::Expr* E)
        -> clang::ActionResult<clang::Expr*,
                               true> {
      return E;
    })

Declared at: clang/include/clang/Sema/Sema.h:4449

Parameters

clang::ExprResult ER
clang::VarDecl* InitDecl = nullptr
bool RecoverUncorrectedTypos = false
llvm::function_ref<ExprResult(Expr*)> Filter = [](clang::Expr *E) -> clang::ActionResult<clang::Expr *, true> { return E; }

clang::ExprResult CorrectDelayedTyposInExpr(
    clang::Expr* E,
    clang::VarDecl* InitDecl = nullptr,
    bool RecoverUncorrectedTypos = false,
    llvm::function_ref<ExprResult(Expr*)> Filter =
        [](clang::Expr* E)
        -> clang::ActionResult<clang::Expr*,
                               true> {
      return E;
    })

Description

Process any TypoExprs in the given Expr and its children, generating diagnostics as appropriate and returning a new Expr if there were typos that were all successfully corrected and ExprError if one or more typos could not be corrected.

Declared at: clang/include/clang/Sema/Sema.h:4443

Parameters

clang::Expr* E
The Expr to check for TypoExprs.
clang::VarDecl* InitDecl = nullptr
A VarDecl to avoid because the Expr being corrected is its initializer.
bool RecoverUncorrectedTypos = false
If true, when typo correction fails, it will rebuild the given Expr with all TypoExprs degraded to RecoveryExprs.
llvm::function_ref<ExprResult(Expr*)> Filter = [](clang::Expr *E) -> clang::ActionResult<clang::Expr *, true> { return E; }
A function applied to a newly rebuilt Expr to determine if it is an acceptable/usable result from a single combination of typo corrections. As long as the filter returns ExprError, different combinations of corrections will be tried until all are exhausted.

clang::TypoCorrection CorrectTypo(
    const clang::DeclarationNameInfo& Typo,
    Sema::LookupNameKind LookupKind,
    clang::Scope* S,
    clang::CXXScopeSpec* SS,
    clang::CorrectionCandidateCallback& CCC,
    clang::Sema::CorrectTypoKind Mode,
    clang::DeclContext* MemberContext = nullptr,
    bool EnteringContext = false,
    const clang::ObjCObjectPointerType* OPT =
        nullptr,
    bool RecordFailure = true)

Declared at: clang/include/clang/Sema/Sema.h:4406

Parameters

const clang::DeclarationNameInfo& Typo
Sema::LookupNameKind LookupKind
clang::Scope* S
clang::CXXScopeSpec* SS
clang::CorrectionCandidateCallback& CCC
clang::Sema::CorrectTypoKind Mode
clang::DeclContext* MemberContext = nullptr
bool EnteringContext = false
const clang::ObjCObjectPointerType* OPT = nullptr
bool RecordFailure = true

clang::TypoExpr* CorrectTypoDelayed(
    const clang::DeclarationNameInfo& Typo,
    Sema::LookupNameKind LookupKind,
    clang::Scope* S,
    clang::CXXScopeSpec* SS,
    clang::CorrectionCandidateCallback& CCC,
    clang::Sema::TypoDiagnosticGenerator TDG,
    clang::Sema::TypoRecoveryCallback TRC,
    clang::Sema::CorrectTypoKind Mode,
    clang::DeclContext* MemberContext = nullptr,
    bool EnteringContext = false,
    const clang::ObjCObjectPointerType* OPT =
        nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4416

Parameters

const clang::DeclarationNameInfo& Typo
Sema::LookupNameKind LookupKind
clang::Scope* S
clang::CXXScopeSpec* SS
clang::CorrectionCandidateCallback& CCC
clang::Sema::TypoDiagnosticGenerator TDG
clang::Sema::TypoRecoveryCallback TRC
clang::Sema::CorrectTypoKind Mode
clang::DeclContext* MemberContext = nullptr
bool EnteringContext = false
const clang::ObjCObjectPointerType* OPT = nullptr

bool CppLookupName(clang::LookupResult& R,
                   clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:4274

Parameters

clang::LookupResult& R
clang::Scope* S

clang::FunctionDecl* CreateBuiltin(
    clang::IdentifierInfo* II,
    clang::QualType Type,
    unsigned int ID,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:4496

Parameters

clang::IdentifierInfo* II
clang::QualType Type
unsigned int ID
clang::SourceLocation Loc

clang::ExprResult CreateBuiltinArraySubscriptExpr(
    clang::Expr* Base,
    clang::SourceLocation LLoc,
    clang::Expr* Idx,
    clang::SourceLocation RLoc)

Declared at: clang/include/clang/Sema/Sema.h:5587

Parameters

clang::Expr* Base
clang::SourceLocation LLoc
clang::Expr* Idx
clang::SourceLocation RLoc

clang::ExprResult CreateBuiltinBinOp(
    clang::SourceLocation OpLoc,
    clang::BinaryOperatorKind Opc,
    clang::Expr* LHSExpr,
    clang::Expr* RHSExpr)

Declared at: clang/include/clang/Sema/Sema.h:5781

Parameters

clang::SourceLocation OpLoc
clang::BinaryOperatorKind Opc
clang::Expr* LHSExpr
clang::Expr* RHSExpr

clang::ExprResult
CreateBuiltinMatrixSubscriptExpr(
    clang::Expr* Base,
    clang::Expr* RowIdx,
    clang::Expr* ColumnIdx,
    clang::SourceLocation RBLoc)

Declared at: clang/include/clang/Sema/Sema.h:5590

Parameters

clang::Expr* Base
clang::Expr* RowIdx
clang::Expr* ColumnIdx
clang::SourceLocation RBLoc

clang::ExprResult CreateBuiltinUnaryOp(
    clang::SourceLocation OpLoc,
    clang::UnaryOperatorKind Opc,
    clang::Expr* InputExpr)

Declared at: clang/include/clang/Sema/Sema.h:5547

Parameters

clang::SourceLocation OpLoc
clang::UnaryOperatorKind Opc
clang::Expr* InputExpr

clang::RecordDecl* CreateCapturedStmtRecordDecl(
    clang::CapturedDecl*& CD,
    clang::SourceLocation Loc,
    unsigned int NumParams)

Declared at: clang/include/clang/Sema/Sema.h:5037

Parameters

clang::CapturedDecl*& CD
clang::SourceLocation Loc
unsigned int NumParams

clang::ExprResult CreateGenericSelectionExpr(
    clang::SourceLocation KeyLoc,
    clang::SourceLocation DefaultLoc,
    clang::SourceLocation RParenLoc,
    clang::Expr* ControllingExpr,
    ArrayRef<clang::TypeSourceInfo*> Types,
    ArrayRef<clang::Expr*> Exprs)

Declared at: clang/include/clang/Sema/Sema.h:5539

Parameters

clang::SourceLocation KeyLoc
clang::SourceLocation DefaultLoc
clang::SourceLocation RParenLoc
clang::Expr* ControllingExpr
ArrayRef<clang::TypeSourceInfo*> Types
ArrayRef<clang::Expr*> Exprs

clang::MaterializeTemporaryExpr*
CreateMaterializeTemporaryExpr(
    clang::QualType T,
    clang::Expr* Temporary,
    bool BoundToLvalueReference)

Declared at: clang/include/clang/Sema/Sema.h:6716

Parameters

clang::QualType T
clang::Expr* Temporary
bool BoundToLvalueReference

clang::ExprResult
CreateOverloadedArraySubscriptExpr(
    clang::SourceLocation LLoc,
    clang::SourceLocation RLoc,
    clang::Expr* Base,
    clang::MultiExprArg Args)

Declared at: clang/include/clang/Sema/Sema.h:4100

Parameters

clang::SourceLocation LLoc
clang::SourceLocation RLoc
clang::Expr* Base
clang::MultiExprArg Args

clang::ExprResult CreateOverloadedBinOp(
    clang::SourceLocation OpLoc,
    clang::BinaryOperatorKind Opc,
    const clang::UnresolvedSetImpl& Fns,
    clang::Expr* LHS,
    clang::Expr* RHS,
    bool RequiresADL = true,
    bool AllowRewrittenCandidates = true,
    clang::FunctionDecl* DefaultedFn = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4088

Parameters

clang::SourceLocation OpLoc
clang::BinaryOperatorKind Opc
const clang::UnresolvedSetImpl& Fns
clang::Expr* LHS
clang::Expr* RHS
bool RequiresADL = true
bool AllowRewrittenCandidates = true
clang::FunctionDecl* DefaultedFn = nullptr

clang::ExprResult CreateOverloadedUnaryOp(
    clang::SourceLocation OpLoc,
    clang::UnaryOperatorKind Opc,
    const clang::UnresolvedSetImpl& Fns,
    clang::Expr* input,
    bool RequiresADL = true)

Declared at: clang/include/clang/Sema/Sema.h:4079

Parameters

clang::SourceLocation OpLoc
clang::UnaryOperatorKind Opc
const clang::UnresolvedSetImpl& Fns
clang::Expr* input
bool RequiresADL = true

clang::ParsedType CreateParsedType(
    clang::QualType T,
    clang::TypeSourceInfo* TInfo)

Description

Package the given type and TSI into a ParsedType.

Declared at: clang/include/clang/Sema/Sema.h:2088

Parameters

clang::QualType T
clang::TypeSourceInfo* TInfo

clang::ObjCPropertyDecl* CreatePropertyDecl(
    clang::Scope* S,
    clang::ObjCContainerDecl* CDecl,
    clang::SourceLocation AtLoc,
    clang::SourceLocation LParenLoc,
    clang::FieldDeclarator& FD,
    clang::Selector GetterSel,
    clang::SourceLocation GetterNameLoc,
    clang::Selector SetterSel,
    clang::SourceLocation SetterNameLoc,
    const bool isReadWrite,
    const unsigned int Attributes,
    const unsigned int AttributesAsWritten,
    clang::QualType T,
    clang::TypeSourceInfo* TSI,
    tok::ObjCKeywordKind MethodImplKind,
    clang::DeclContext* lexicalDC = nullptr)

Description

Called by ActOnProperty and HandlePropertyInClassExtension to handle creating the ObjcPropertyDecl for a category or @ interface.

Declared at: clang/include/clang/Sema/Sema.h:4691

Parameters

clang::Scope* S
clang::ObjCContainerDecl* CDecl
clang::SourceLocation AtLoc
clang::SourceLocation LParenLoc
clang::FieldDeclarator& FD
clang::Selector GetterSel
clang::SourceLocation GetterNameLoc
clang::Selector SetterSel
clang::SourceLocation SetterNameLoc
const bool isReadWrite
const unsigned int Attributes
const unsigned int AttributesAsWritten
clang::QualType T
clang::TypeSourceInfo* TSI
tok::ObjCKeywordKind MethodImplKind
clang::DeclContext* lexicalDC = nullptr

clang::ExprResult CreateRecoveryExpr(
    clang::SourceLocation Begin,
    clang::SourceLocation End,
    ArrayRef<clang::Expr*> SubExprs,
    clang::QualType T = clang::QualType())

Description

Attempts to produce a RecoveryExpr after some AST node cannot be created.

Declared at: clang/include/clang/Sema/Sema.h:4489

Parameters

clang::SourceLocation Begin
clang::SourceLocation End
ArrayRef<clang::Expr*> SubExprs
clang::QualType T = clang::QualType()

clang::ExprResult CreateUnaryExprOrTypeTraitExpr(
    clang::Expr* E,
    clang::SourceLocation OpLoc,
    clang::UnaryExprOrTypeTrait ExprKind)

Declared at: clang/include/clang/Sema/Sema.h:5561

Parameters

clang::Expr* E
clang::SourceLocation OpLoc
clang::UnaryExprOrTypeTrait ExprKind

clang::ExprResult CreateUnaryExprOrTypeTraitExpr(
    clang::TypeSourceInfo* TInfo,
    clang::SourceLocation OpLoc,
    clang::UnaryExprOrTypeTrait ExprKind,
    clang::SourceRange R)

Declared at: clang/include/clang/Sema/Sema.h:5557

Parameters

clang::TypeSourceInfo* TInfo
clang::SourceLocation OpLoc
clang::UnaryExprOrTypeTrait ExprKind
clang::SourceRange R

clang::ExprResult CreateUnresolvedLookupExpr(
    clang::CXXRecordDecl* NamingClass,
    clang::NestedNameSpecifierLoc NNSLoc,
    clang::DeclarationNameInfo DNI,
    const clang::UnresolvedSetImpl& Fns,
    bool PerformADL = true)

Declared at: clang/include/clang/Sema/Sema.h:4073

Parameters

clang::CXXRecordDecl* NamingClass
clang::NestedNameSpecifierLoc NNSLoc
clang::DeclarationNameInfo DNI
const clang::UnresolvedSetImpl& Fns
bool PerformADL = true

clang::FPOptionsOverride CurFPFeatureOverrides()

Declared at: clang/include/clang/Sema/Sema.h:696

clang::Sema::CUDAFunctionTarget
CurrentCUDATarget()

Description

Gets the CUDA target for the current context.

Declared at: clang/include/clang/Sema/Sema.h:12699

void DeclApplyPragmaWeak(clang::Scope* S,
                         clang::NamedDecl* ND,
                         const clang::WeakInfo& W)

Declared at: clang/include/clang/Sema/Sema.h:10365

Parameters

clang::Scope* S
clang::NamedDecl* ND
const clang::WeakInfo& W

clang::NamedDecl* DeclClonePragmaWeak(
    clang::NamedDecl* ND,
    const clang::IdentifierInfo* II,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:10363

Parameters

clang::NamedDecl* ND
const clang::IdentifierInfo* II
clang::SourceLocation Loc

void DeclareGlobalAllocationFunction(
    clang::DeclarationName Name,
    clang::QualType Return,
    ArrayRef<clang::QualType> Params)

Declared at: clang/include/clang/Sema/Sema.h:6616

Parameters

clang::DeclarationName Name
clang::QualType Return
ArrayRef<clang::QualType> Params

void DeclareGlobalNewDelete()

Declared at: clang/include/clang/Sema/Sema.h:6615

clang::CXXMethodDecl*
DeclareImplicitCopyAssignment(
    clang::CXXRecordDecl* ClassDecl)

Description

Declare the implicit copy assignment operator for the given class.

Declared at: clang/include/clang/Sema/Sema.h:6303

Parameters

clang::CXXRecordDecl* ClassDecl
The class declaration into which the implicit copy assignment operator will be added.

Returns

The implicitly-declared copy assignment operator.

clang::CXXConstructorDecl*
DeclareImplicitCopyConstructor(
    clang::CXXRecordDecl* ClassDecl)

Description

Declare the implicit copy constructor for the given class.

Declared at: clang/include/clang/Sema/Sema.h:6276

Parameters

clang::CXXRecordDecl* ClassDecl
The class declaration into which the implicit copy constructor will be added.

Returns

The implicitly-declared copy constructor.

void DeclareImplicitDeductionGuides(
    clang::TemplateDecl* Template,
    clang::SourceLocation Loc)

Description

Declare implicit deduction guides for a class template if we've not already done so.

Declared at: clang/include/clang/Sema/Sema.h:8858

Parameters

clang::TemplateDecl* Template
clang::SourceLocation Loc

clang::CXXConstructorDecl*
DeclareImplicitDefaultConstructor(
    clang::CXXRecordDecl* ClassDecl)

Description

Declare the implicit default constructor for the given class.

Declared at: clang/include/clang/Sema/Sema.h:6239

Parameters

clang::CXXRecordDecl* ClassDecl
The class declaration into which the implicit default constructor will be added.

Returns

The implicitly-declared default constructor.

clang::CXXDestructorDecl*
DeclareImplicitDestructor(
    clang::CXXRecordDecl* ClassDecl)

Description

Declare the implicit destructor for the given class.

Declared at: clang/include/clang/Sema/Sema.h:6253

Parameters

clang::CXXRecordDecl* ClassDecl
The class declaration into which the implicit destructor will be added.

Returns

The implicitly-declared destructor.

void DeclareImplicitEqualityComparison(
    clang::CXXRecordDecl* RD,
    clang::FunctionDecl* Spaceship)

Declared at: clang/include/clang/Sema/Sema.h:7517

Parameters

clang::CXXRecordDecl* RD
clang::FunctionDecl* Spaceship

clang::CXXMethodDecl*
DeclareImplicitMoveAssignment(
    clang::CXXRecordDecl* ClassDecl)

Description

Declare the implicit move assignment operator for the given class.

Declared at: clang/include/clang/Sema/Sema.h:6316

Parameters

clang::CXXRecordDecl* ClassDecl
The Class declaration into which the implicit move assignment operator will be added.

Returns

The implicitly-declared move assignment operator, or NULL if it wasn't declared.

clang::CXXConstructorDecl*
DeclareImplicitMoveConstructor(
    clang::CXXRecordDecl* ClassDecl)

Description

Declare the implicit move constructor for the given class.

Declared at: clang/include/clang/Sema/Sema.h:6290

Parameters

clang::CXXRecordDecl* ClassDecl
The Class declaration into which the implicit move constructor will be added.

Returns

The implicitly-declared move constructor, or NULL if it wasn't declared.

void DecomposeUnqualifiedId(
    const clang::UnqualifiedId& Id,
    clang::TemplateArgumentListInfo& Buffer,
    clang::DeclarationNameInfo& NameInfo,
    const clang::TemplateArgumentListInfo*&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:5405

Parameters

const clang::UnqualifiedId& Id
clang::TemplateArgumentListInfo& Buffer
clang::DeclarationNameInfo& NameInfo
const clang::TemplateArgumentListInfo*& TemplateArgs

clang::Sema::DeduceAutoResult DeduceAutoType(
    clang::TypeSourceInfo* AutoType,
    clang::Expr*& Initializer,
    clang::QualType& Result,
    Optional<unsigned int>
        DependentDeductionDepth = None,
    bool IgnoreConstraints = false)

Declared at: clang/include/clang/Sema/Sema.h:8845

Parameters

clang::TypeSourceInfo* AutoType
clang::Expr*& Initializer
clang::QualType& Result
Optional<unsigned int> DependentDeductionDepth = None
bool IgnoreConstraints = false

clang::Sema::DeduceAutoResult DeduceAutoType(
    clang::TypeLoc AutoTypeLoc,
    clang::Expr*& Initializer,
    clang::QualType& Result,
    Optional<unsigned int>
        DependentDeductionDepth = None,
    bool IgnoreConstraints = false)

Declared at: clang/include/clang/Sema/Sema.h:8849

Parameters

clang::TypeLoc AutoTypeLoc
clang::Expr*& Initializer
clang::QualType& Result
Optional<unsigned int> DependentDeductionDepth = None
bool IgnoreConstraints = false

bool DeduceFunctionTypeFromReturnExpr(
    clang::FunctionDecl* FD,
    clang::SourceLocation ReturnLoc,
    clang::Expr*& RetExpr,
    const clang::AutoType* AT)

Declared at: clang/include/clang/Sema/Sema.h:8872

Parameters

clang::FunctionDecl* FD
clang::SourceLocation ReturnLoc
clang::Expr*& RetExpr
const clang::AutoType* AT

bool DeduceReturnType(clang::FunctionDecl* FD,
                      clang::SourceLocation Loc,
                      bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:8853

Parameters

clang::FunctionDecl* FD
clang::SourceLocation Loc
bool Diagnose = true

clang::Sema::TemplateDeductionResult
DeduceTemplateArguments(
    clang::FunctionTemplateDecl* FunctionTemplate,
    clang::QualType ToType,
    clang::CXXConversionDecl*& Specialization,
    sema::TemplateDeductionInfo& Info)

Declared at: clang/include/clang/Sema/Sema.h:8806

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
clang::QualType ToType
clang::CXXConversionDecl*& Specialization
sema::TemplateDeductionInfo& Info

clang::Sema::TemplateDeductionResult
DeduceTemplateArguments(
    clang::FunctionTemplateDecl* FunctionTemplate,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs,
    clang::FunctionDecl*& Specialization,
    sema::TemplateDeductionInfo& Info,
    bool IsAddressOfFunction = false)

Declared at: clang/include/clang/Sema/Sema.h:8812

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
clang::TemplateArgumentListInfo* ExplicitTemplateArgs
clang::FunctionDecl*& Specialization
sema::TemplateDeductionInfo& Info
bool IsAddressOfFunction = false

clang::Sema::TemplateDeductionResult
DeduceTemplateArguments(
    clang::FunctionTemplateDecl* FunctionTemplate,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs,
    clang::QualType ArgFunctionType,
    clang::FunctionDecl*& Specialization,
    sema::TemplateDeductionInfo& Info,
    bool IsAddressOfFunction = false)

Declared at: clang/include/clang/Sema/Sema.h:8798

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
clang::TemplateArgumentListInfo* ExplicitTemplateArgs
clang::QualType ArgFunctionType
clang::FunctionDecl*& Specialization
sema::TemplateDeductionInfo& Info
bool IsAddressOfFunction = false

clang::Sema::TemplateDeductionResult
DeduceTemplateArguments(
    clang::FunctionTemplateDecl* FunctionTemplate,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs,
    ArrayRef<clang::Expr*> Args,
    clang::FunctionDecl*& Specialization,
    sema::TemplateDeductionInfo& Info,
    bool PartialOverloading,
    llvm::function_ref<bool(ArrayRef<QualType>)>
        CheckNonDependent)

Declared at: clang/include/clang/Sema/Sema.h:8790

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
clang::TemplateArgumentListInfo* ExplicitTemplateArgs
ArrayRef<clang::Expr*> Args
clang::FunctionDecl*& Specialization
sema::TemplateDeductionInfo& Info
bool PartialOverloading
llvm::function_ref<bool(ArrayRef<QualType>)> CheckNonDependent

clang::Sema::TemplateDeductionResult
DeduceTemplateArguments(
    clang::ClassTemplatePartialSpecializationDecl*
        Partial,
    const clang::TemplateArgumentList&
        TemplateArgs,
    sema::TemplateDeductionInfo& Info)

Declared at: clang/include/clang/Sema/Sema.h:8750

Parameters

clang::ClassTemplatePartialSpecializationDecl* Partial
const clang::TemplateArgumentList& TemplateArgs
sema::TemplateDeductionInfo& Info

clang::Sema::TemplateDeductionResult
DeduceTemplateArguments(
    clang::VarTemplatePartialSpecializationDecl*
        Partial,
    const clang::TemplateArgumentList&
        TemplateArgs,
    sema::TemplateDeductionInfo& Info)

Declared at: clang/include/clang/Sema/Sema.h:8755

Parameters

clang::VarTemplatePartialSpecializationDecl* Partial
const clang::TemplateArgumentList& TemplateArgs
sema::TemplateDeductionInfo& Info

clang::QualType
DeduceTemplateSpecializationFromInitializer(
    clang::TypeSourceInfo* TInfo,
    const clang::InitializedEntity& Entity,
    const clang::InitializationKind& Kind,
    clang::MultiExprArg Init)

Declared at: clang/include/clang/Sema/Sema.h:8861

Parameters

clang::TypeSourceInfo* TInfo
const clang::InitializedEntity& Entity
const clang::InitializationKind& Kind
clang::MultiExprArg Init

bool DeduceVariableDeclarationType(
    clang::VarDecl* VDecl,
    bool DirectInit,
    clang::Expr* Init)

Declared at: clang/include/clang/Sema/Sema.h:2863

Parameters

clang::VarDecl* VDecl
bool DirectInit
clang::Expr* Init

clang::ExprResult DefaultArgumentPromotion(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:11893

Parameters

clang::Expr* E

clang::ExprResult DefaultFunctionArrayConversion(
    clang::Expr* E,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:11877

Parameters

clang::Expr* E
bool Diagnose = true

clang::ExprResult
DefaultFunctionArrayLvalueConversion(
    clang::Expr* E,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:11882

Parameters

clang::Expr* E
bool Diagnose = true

clang::ExprResult DefaultLvalueConversion(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:11888

Parameters

clang::Expr* E

void DefaultSynthesizeProperties(
    clang::Scope* S,
    clang::ObjCImplDecl* IMPDecl,
    clang::ObjCInterfaceDecl* IDecl,
    clang::SourceLocation AtEnd)

Description

DefaultSynthesizeProperties - This routine default synthesizes all properties which must be synthesized in the class's @ implementation.

Declared at: clang/include/clang/Sema/Sema.h:4650

Parameters

clang::Scope* S
clang::ObjCImplDecl* IMPDecl
clang::ObjCInterfaceDecl* IDecl
clang::SourceLocation AtEnd

void DefaultSynthesizeProperties(
    clang::Scope* S,
    clang::Decl* D,
    clang::SourceLocation AtEnd)

Declared at: clang/include/clang/Sema/Sema.h:4653

Parameters

clang::Scope* S
clang::Decl* D
clang::SourceLocation AtEnd

clang::ExprResult
DefaultVariadicArgumentPromotion(
    clang::Expr* E,
    clang::Sema::VariadicCallType CT,
    clang::FunctionDecl* FDecl)

Declared at: clang/include/clang/Sema/Sema.h:11957

Parameters

clang::Expr* E
clang::Sema::VariadicCallType CT
clang::FunctionDecl* FDecl

void DefineDefaultedComparison(
    clang::SourceLocation Loc,
    clang::FunctionDecl* FD,
    clang::Sema::DefaultedComparisonKind DCK)

Declared at: clang/include/clang/Sema/Sema.h:7519

Parameters

clang::SourceLocation Loc
clang::FunctionDecl* FD
clang::Sema::DefaultedComparisonKind DCK

void DefineImplicitCopyAssignment(
    clang::SourceLocation CurrentLocation,
    clang::CXXMethodDecl* MethodDecl)

Description

Defines an implicitly-declared copy assignment operator.

Declared at: clang/include/clang/Sema/Sema.h:6306

Parameters

clang::SourceLocation CurrentLocation
clang::CXXMethodDecl* MethodDecl

void DefineImplicitCopyConstructor(
    clang::SourceLocation CurrentLocation,
    clang::CXXConstructorDecl* Constructor)

Description

DefineImplicitCopyConstructor - Checks for feasibility of defining this constructor as the copy constructor.

Declared at: clang/include/clang/Sema/Sema.h:6280

Parameters

clang::SourceLocation CurrentLocation
clang::CXXConstructorDecl* Constructor

void DefineImplicitDefaultConstructor(
    clang::SourceLocation CurrentLocation,
    clang::CXXConstructorDecl* Constructor)

Description

DefineImplicitDefaultConstructor - Checks for feasibility of defining this constructor as the default constructor.

Declared at: clang/include/clang/Sema/Sema.h:6244

Parameters

clang::SourceLocation CurrentLocation
clang::CXXConstructorDecl* Constructor

void DefineImplicitDestructor(
    clang::SourceLocation CurrentLocation,
    clang::CXXDestructorDecl* Destructor)

Description

DefineImplicitDestructor - Checks for feasibility of defining this destructor as the default destructor.

Declared at: clang/include/clang/Sema/Sema.h:6257

Parameters

clang::SourceLocation CurrentLocation
clang::CXXDestructorDecl* Destructor

void DefineImplicitLambdaToBlockPointerConversion(
    clang::SourceLocation CurrentLoc,
    clang::CXXConversionDecl* Conv)

Description

Define the "body" of the conversion from a lambda object to a block pointer. This routine doesn't actually define a sensible body; rather, it fills in the initialization expression needed to copy the lambda object into the block, and IR generation actually generates the real body of the block pointer conversion.

Declared at: clang/include/clang/Sema/Sema.h:7076

Parameters

clang::SourceLocation CurrentLoc
clang::CXXConversionDecl* Conv

void DefineImplicitLambdaToFunctionPointerConversion(
    clang::SourceLocation CurrentLoc,
    clang::CXXConversionDecl* Conv)

Description

Define the "body" of the conversion from a lambda object to a function pointer. This routine doesn't actually define a sensible body; rather, it fills in the initialization expression needed to copy the lambda object into the block, and IR generation actually generates the real body of the block pointer conversion.

Declared at: clang/include/clang/Sema/Sema.h:7066

Parameters

clang::SourceLocation CurrentLoc
clang::CXXConversionDecl* Conv

void DefineImplicitMoveAssignment(
    clang::SourceLocation CurrentLocation,
    clang::CXXMethodDecl* MethodDecl)

Description

Defines an implicitly-declared move assignment operator.

Declared at: clang/include/clang/Sema/Sema.h:6319

Parameters

clang::SourceLocation CurrentLocation
clang::CXXMethodDecl* MethodDecl

void DefineImplicitMoveConstructor(
    clang::SourceLocation CurrentLocation,
    clang::CXXConstructorDecl* Constructor)

Description

DefineImplicitMoveConstructor - Checks for feasibility of defining this constructor as the move constructor.

Declared at: clang/include/clang/Sema/Sema.h:6294

Parameters

clang::SourceLocation CurrentLocation
clang::CXXConstructorDecl* Constructor

void DefineInheritingConstructor(
    clang::SourceLocation UseLoc,
    clang::CXXConstructorDecl* Constructor)

Description

Define the specified inheriting constructor.

Declared at: clang/include/clang/Sema/Sema.h:6267

Parameters

clang::SourceLocation UseLoc
clang::CXXConstructorDecl* Constructor

bool DefineUsedVTables()

Description

Define all of the vtables that have been used in this translation unit and reference any virtual members used by those vtables.

Declared at: clang/include/clang/Sema/Sema.h:7418

Returns

true if any work was done, false otherwise.

void DestroyDataSharingAttributesStack()

Declared at: clang/include/clang/Sema/Sema.h:10622

clang::Sema::SemaDiagnosticBuilder Diag(
    clang::SourceLocation Loc,
    const clang::PartialDiagnostic& PD,
    bool DeferHint = false)

Description

Emit a partial diagnostic.

Declared at: clang/include/clang/Sema/Sema.h:1844

Parameters

clang::SourceLocation Loc
const clang::PartialDiagnostic& PD
bool DeferHint = false

clang::Sema::SemaDiagnosticBuilder Diag(
    clang::SourceLocation Loc,
    unsigned int DiagID,
    bool DeferHint = false)

Description

Emit a diagnostic.

Declared at: clang/include/clang/Sema/Sema.h:1840

Parameters

clang::SourceLocation Loc
unsigned int DiagID
bool DeferHint = false

bool DiagIfReachable(
    clang::SourceLocation Loc,
    ArrayRef<const clang::Stmt*> Stmts,
    const clang::PartialDiagnostic& PD)

Description

Conditionally issue a diagnostic based on the statements's reachability analysis.

Declared at: clang/include/clang/Sema/Sema.h:5379

Parameters

clang::SourceLocation Loc
ArrayRef<const clang::Stmt*> Stmts
If Stmts is non-empty, delay reporting the diagnostic until the function body is parsed, and then do a basic reachability analysis to determine if the statement is reachable. If it is unreachable, the diagnostic will not be emitted.
const clang::PartialDiagnostic& PD

bool DiagRuntimeBehavior(
    clang::SourceLocation Loc,
    const clang::Stmt* Statement,
    const clang::PartialDiagnostic& PD)

Description

Conditionally issue a diagnostic based on the current evaluation context.

Declared at: clang/include/clang/Sema/Sema.h:5389

Parameters

clang::SourceLocation Loc
const clang::Stmt* Statement
If Statement is non-null, delay reporting the diagnostic until the function body is parsed, and then do a basic reachability analysis to determine if the statement is reachable. If it is unreachable, the diagnostic will not be emitted.
const clang::PartialDiagnostic& PD

bool DiagRuntimeBehavior(
    clang::SourceLocation Loc,
    ArrayRef<const clang::Stmt*> Stmts,
    const clang::PartialDiagnostic& PD)

Description

Similar, but diagnostic is only produced if all the specified statements are reachable.

Declared at: clang/include/clang/Sema/Sema.h:5393

Parameters

clang::SourceLocation Loc
ArrayRef<const clang::Stmt*> Stmts
const clang::PartialDiagnostic& PD

void DiagnoseAbsenceOfOverrideControl(
    clang::NamedDecl* D,
    bool Inconsistent)

Description

DiagnoseAbsenceOfOverrideControl - Diagnose if 'override' keyword was not used in the declaration of an overriding method.

Declared at: clang/include/clang/Sema/Sema.h:7585

Parameters

clang::NamedDecl* D
bool Inconsistent

void DiagnoseAbstractType(
    const clang::CXXRecordDecl* RD)

Declared at: clang/include/clang/Sema/Sema.h:7704

Parameters

const clang::CXXRecordDecl* RD

void DiagnoseAlwaysNonNullPointer(
    clang::Expr* E,
    Expr::NullPointerConstantKind NullType,
    bool IsEqual,
    clang::SourceRange Range)

Declared at: clang/include/clang/Sema/Sema.h:12227

Parameters

clang::Expr* E
Expr::NullPointerConstantKind NullType
bool IsEqual
clang::SourceRange Range

void DiagnoseAmbiguousLookup(
    clang::LookupResult& Result)

Declared at: clang/include/clang/Sema/Sema.h:4485

Parameters

clang::LookupResult& Result

void DiagnoseAssignmentAsCondition(clang::Expr* E)

Description

DiagnoseAssignmentAsCondition - Given that an expression is being used as a boolean condition, warn if it's an assignment.

Declared at: clang/include/clang/Sema/Sema.h:12493

Parameters

clang::Expr* E

void DiagnoseAssignmentEnum(
    clang::QualType DstType,
    clang::QualType SrcType,
    clang::Expr* SrcExpr)

Description

DiagnoseAssignmentEnum - Warn if assignment to enum is a constant integer not in the range of enum values.

Declared at: clang/include/clang/Sema/Sema.h:12082

Parameters

clang::QualType DstType
clang::QualType SrcType
clang::Expr* SrcExpr

bool DiagnoseAssignmentResult(
    clang::Sema::AssignConvertType ConvTy,
    clang::SourceLocation Loc,
    clang::QualType DstType,
    clang::QualType SrcType,
    clang::Expr* SrcExpr,
    clang::Sema::AssignmentAction Action,
    bool* Complained = nullptr)

Description

DiagnoseAssignmentResult - Emit a diagnostic, if required, for the assignment conversion type specified by ConvTy. This returns true if the conversion was invalid or false if the conversion was accepted.

Declared at: clang/include/clang/Sema/Sema.h:12068

Parameters

clang::Sema::AssignConvertType ConvTy
clang::SourceLocation Loc
clang::QualType DstType
clang::QualType SrcType
clang::Expr* SrcExpr
clang::Sema::AssignmentAction Action
bool* Complained = nullptr

void DiagnoseAutoDeductionFailure(
    clang::VarDecl* VDecl,
    clang::Expr* Init)

Declared at: clang/include/clang/Sema/Sema.h:8852

Parameters

clang::VarDecl* VDecl
clang::Expr* Init

void DiagnoseAvailabilityOfDecl(
    clang::NamedDecl* D,
    ArrayRef<clang::SourceLocation> Locs,
    const clang::ObjCInterfaceDecl*
        UnknownObjCClass,
    bool ObjCPropertyAccess,
    bool AvoidPartialAvailabilityChecks = false,
    clang::ObjCInterfaceDecl* ClassReceiver =
        nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5216

Parameters

clang::NamedDecl* D
ArrayRef<clang::SourceLocation> Locs
const clang::ObjCInterfaceDecl* UnknownObjCClass
bool ObjCPropertyAccess
bool AvoidPartialAvailabilityChecks = false
clang::ObjCInterfaceDecl* ClassReceiver = nullptr

void DiagnoseClassExtensionDupMethods(
    clang::ObjCCategoryDecl* CAT,
    clang::ObjCInterfaceDecl* ID)

Declared at: clang/include/clang/Sema/Sema.h:10027

Parameters

clang::ObjCCategoryDecl* CAT
clang::ObjCInterfaceDecl* ID

bool DiagnoseClassNameShadow(
    clang::DeclContext* DC,
    clang::DeclarationNameInfo Info)

Declared at: clang/include/clang/Sema/Sema.h:2805

Parameters

clang::DeclContext* DC
clang::DeclarationNameInfo Info

void DiagnoseCommaOperator(
    const clang::Expr* LHS,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:5786

Parameters

const clang::Expr* LHS
clang::SourceLocation Loc

bool DiagnoseConditionalForNull(
    clang::Expr* LHSExpr,
    clang::Expr* RHSExpr,
    clang::SourceLocation QuestionLoc)

Declared at: clang/include/clang/Sema/Sema.h:12224

Parameters

clang::Expr* LHSExpr
clang::Expr* RHSExpr
clang::SourceLocation QuestionLoc

void DiagnoseDeletedDefaultedFunction(
    clang::FunctionDecl* FD)

Description

Produce notes explaining why a defaulted function was defined as deleted.

Declared at: clang/include/clang/Sema/Sema.h:6231

Parameters

clang::FunctionDecl* FD

bool DiagnoseDependentMemberLookup(
    clang::LookupResult& R)

Declared at: clang/include/clang/Sema/Sema.h:5410

Parameters

clang::LookupResult& R

void DiagnoseDuplicateIvars(
    clang::ObjCInterfaceDecl* ID,
    clang::ObjCInterfaceDecl* SID)

Declared at: clang/include/clang/Sema/Sema.h:4720

Parameters

clang::ObjCInterfaceDecl* ID
clang::ObjCInterfaceDecl* SID

bool DiagnoseEmptyLookup(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::LookupResult& R,
    clang::CorrectionCandidateCallback& CCC,
    clang::TemplateArgumentListInfo*
        ExplicitTemplateArgs = nullptr,
    ArrayRef<clang::Expr*> Args = None,
    clang::TypoExpr** Out = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5413

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
clang::LookupResult& R
clang::CorrectionCandidateCallback& CCC
clang::TemplateArgumentListInfo* ExplicitTemplateArgs = nullptr
ArrayRef<clang::Expr*> Args = None
clang::TypoExpr** Out = nullptr

void DiagnoseEmptyLoopBody(
    const clang::Stmt* S,
    const clang::Stmt* PossibleBody)

Description

Warn if a for/while loop statement \p S, which is followed by\p PossibleBody, has a suspicious null statement as a body.

Declared at: clang/include/clang/Sema/Sema.h:5179

Parameters

const clang::Stmt* S
const clang::Stmt* PossibleBody

void DiagnoseEmptyStmtBody(
    clang::SourceLocation StmtLoc,
    const clang::Stmt* Body,
    unsigned int DiagID)

Description

Emit \p DiagID if statement located on \p StmtLoc has a suspicious null statement as a \p Body, and it is located on the same line. This helps prevent bugs due to typos, such as: if (condition); do_stuff();

Declared at: clang/include/clang/Sema/Sema.h:5173

Parameters

clang::SourceLocation StmtLoc
const clang::Stmt* Body
unsigned int DiagID

void DiagnoseEqualityWithExtraParens(
    clang::ParenExpr* ParenE)

Description

Redundant parentheses over an equality comparison can indicate that the user intended an assignment used as condition.

Declared at: clang/include/clang/Sema/Sema.h:12497

Parameters

clang::ParenExpr* ParenE

void DiagnoseFunctionSpecifiers(
    const clang::DeclSpec& DS)

Declared at: clang/include/clang/Sema/Sema.h:2819

Parameters

const clang::DeclSpec& DS

void DiagnoseHiddenVirtualMethods(
    clang::CXXMethodDecl* MD)

Declared at: clang/include/clang/Sema/Sema.h:2887

Parameters

clang::CXXMethodDecl* MD

void DiagnoseInvalidJumps(clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:3060

Parameters

clang::Stmt* Body

void DiagnoseMisalignedMembers()

Description

Diagnoses the current set of gathered accesses. This typically happens at full expression level. The set is cleared after emitting the diagnostics.

Declared at: clang/include/clang/Sema/Sema.h:13469

void DiagnoseMissingDesignatedInitOverrides(
    const clang::ObjCImplementationDecl* ImplD,
    const clang::ObjCInterfaceDecl* IFD)

Declared at: clang/include/clang/Sema/Sema.h:4716

Parameters

const clang::ObjCImplementationDecl* ImplD
const clang::ObjCInterfaceDecl* IFD

void DiagnoseMultipleMethodInGlobalPool(
    SmallVectorImpl<clang::ObjCMethodDecl*>&
        Methods,
    clang::Selector Sel,
    clang::SourceRange R,
    bool receiverIdOrClass)

Declared at: clang/include/clang/Sema/Sema.h:4785

Parameters

SmallVectorImpl<clang::ObjCMethodDecl*>& Methods
clang::Selector Sel
clang::SourceRange R
bool receiverIdOrClass

bool DiagnoseMultipleUserDefinedConversion(
    clang::Expr* From,
    clang::QualType ToType)

Declared at: clang/include/clang/Sema/Sema.h:3693

Parameters

clang::Expr* From
clang::QualType ToType

void DiagnoseNonDefaultPragmaAlignPack(
    clang::Sema::PragmaAlignPackDiagnoseKind Kind,
    clang::SourceLocation IncludeLoc)

Declared at: clang/include/clang/Sema/Sema.h:10274

Parameters

clang::Sema::PragmaAlignPackDiagnoseKind Kind
clang::SourceLocation IncludeLoc

void DiagnoseNontrivial(
    const clang::CXXRecordDecl* Record,
    clang::Sema::CXXSpecialMember CSM)

Declared at: clang/include/clang/Sema/Sema.h:3290

Parameters

const clang::CXXRecordDecl* Record
clang::Sema::CXXSpecialMember CSM

void DiagnoseOwningPropertyGetterSynthesis(
    const clang::ObjCImplementationDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:4714

Parameters

const clang::ObjCImplementationDecl* D

bool DiagnosePropertyAccessorMismatch(
    clang::ObjCPropertyDecl* PD,
    clang::ObjCMethodDecl* Getter,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:5241

Parameters

clang::ObjCPropertyDecl* PD
clang::ObjCMethodDecl* Getter
clang::SourceLocation Loc

void DiagnosePropertyMismatch(
    clang::ObjCPropertyDecl* Property,
    clang::ObjCPropertyDecl* SuperProperty,
    const clang::IdentifierInfo* Name,
    bool OverridingProtocolProperty)

Declared at: clang/include/clang/Sema/Sema.h:10022

Parameters

clang::ObjCPropertyDecl* Property
clang::ObjCPropertyDecl* SuperProperty
const clang::IdentifierInfo* Name
bool OverridingProtocolProperty

void DiagnoseReturnInConstructorExceptionHandler(
    clang::CXXTryStmt* TryBlock)

Declared at: clang/include/clang/Sema/Sema.h:5149

Parameters

clang::CXXTryStmt* TryBlock

void DiagnoseSelfMove(const clang::Expr* LHSExpr,
                      const clang::Expr* RHSExpr,
                      clang::SourceLocation OpLoc)

Description

Warn if a value is moved to itself.

Declared at: clang/include/clang/Sema/Sema.h:5183

Parameters

const clang::Expr* LHSExpr
const clang::Expr* RHSExpr
clang::SourceLocation OpLoc

void DiagnoseSentinelCalls(
    clang::NamedDecl* D,
    clang::SourceLocation Loc,
    ArrayRef<clang::Expr*> Args)

Declared at: clang/include/clang/Sema/Sema.h:5244

Parameters

clang::NamedDecl* D
clang::SourceLocation Loc
ArrayRef<clang::Expr*> Args

void DiagnoseShadowingLambdaDecls(
    const sema::LambdaScopeInfo* LSI)

Declared at: clang/include/clang/Sema/Sema.h:2833

Parameters

const sema::LambdaScopeInfo* LSI

void DiagnoseSizeOfParametersAndReturnValue(
    ArrayRef<clang::ParmVarDecl*> Parameters,
    clang::QualType ReturnTy,
    clang::NamedDecl* D)

Description

Diagnose whether the size of parameters or return value of a function or obj-c method definition is pass-by-value and larger than a specified threshold.

Declared at: clang/include/clang/Sema/Sema.h:3057

Parameters

ArrayRef<clang::ParmVarDecl*> Parameters
clang::QualType ReturnTy
clang::NamedDecl* D

bool DiagnoseSwiftName(
    clang::Decl* D,
    llvm::StringRef Name,
    clang::SourceLocation Loc,
    const clang::ParsedAttr& AL,
    bool IsAsync)

Description

Do a check to make sure \p Name looks like a legal argument for the swift_name attribute applied to decl \p D. Raise a diagnostic if the name is invalid for the given declaration. \p AL is used to provide caret diagnostics in case of a malformed name.

Declared at: clang/include/clang/Sema/Sema.h:2191

Parameters

clang::Decl* D
llvm::StringRef Name
clang::SourceLocation Loc
const clang::ParsedAttr& AL
bool IsAsync

Returns

true if the name is a valid swift name for \p D, false otherwise.

void DiagnoseTemplateParameterShadow(
    clang::SourceLocation Loc,
    clang::Decl* PrevDecl)

Declared at: clang/include/clang/Sema/Sema.h:7816

Parameters

clang::SourceLocation Loc
clang::Decl* PrevDecl

void DiagnoseTypeArgsAndProtocols(
    clang::IdentifierInfo* ProtocolId,
    clang::SourceLocation ProtocolLoc,
    clang::IdentifierInfo* TypeArgId,
    clang::SourceLocation TypeArgLoc,
    bool SelectProtocolFirst = false)

Declared at: clang/include/clang/Sema/Sema.h:9943

Parameters

clang::IdentifierInfo* ProtocolId
clang::SourceLocation ProtocolLoc
clang::IdentifierInfo* TypeArgId
clang::SourceLocation TypeArgLoc
bool SelectProtocolFirst = false

bool DiagnoseUnexpandedParameterPack(
    clang::SourceLocation Loc,
    clang::TypeSourceInfo* T,
    clang::Sema::UnexpandedParameterPackContext
        UPPC)

Description

If the given type contains an unexpanded parameter pack, diagnose the error.

Declared at: clang/include/clang/Sema/Sema.h:8420

Parameters

clang::SourceLocation Loc
The source location where a diagnostc should be emitted.
clang::TypeSourceInfo* T
The type that is being checked for unexpanded parameter packs.
clang::Sema::UnexpandedParameterPackContext UPPC

Returns

true if an error occurred, false otherwise.

bool DiagnoseUnexpandedParameterPack(
    clang::Expr* E,
    clang::Sema::UnexpandedParameterPackContext
        UPPC = UPPC_Expression)

Description

If the given expression contains an unexpanded parameter pack, diagnose the error.

Declared at: clang/include/clang/Sema/Sema.h:8430

Parameters

clang::Expr* E
The expression that is being checked for unexpanded parameter packs.
clang::Sema::UnexpandedParameterPackContext UPPC = UPPC_Expression

Returns

true if an error occurred, false otherwise.

bool DiagnoseUnexpandedParameterPack(
    const clang::CXXScopeSpec& SS,
    clang::Sema::UnexpandedParameterPackContext
        UPPC)

Description

If the given nested-name-specifier contains an unexpanded parameter pack, diagnose the error.

Declared at: clang/include/clang/Sema/Sema.h:8449

Parameters

const clang::CXXScopeSpec& SS
The nested-name-specifier that is being checked for unexpanded parameter packs.
clang::Sema::UnexpandedParameterPackContext UPPC

Returns

true if an error occurred, false otherwise.

bool DiagnoseUnexpandedParameterPack(
    const clang::DeclarationNameInfo& NameInfo,
    clang::Sema::UnexpandedParameterPackContext
        UPPC)

Description

If the given name contains an unexpanded parameter pack, diagnose the error.

Declared at: clang/include/clang/Sema/Sema.h:8459

Parameters

const clang::DeclarationNameInfo& NameInfo
The name (with source location information) that is being checked for unexpanded parameter packs.
clang::Sema::UnexpandedParameterPackContext UPPC

Returns

true if an error occurred, false otherwise.

bool DiagnoseUnexpandedParameterPack(
    clang::SourceLocation Loc,
    clang::TemplateName Template,
    clang::Sema::UnexpandedParameterPackContext
        UPPC)

Description

If the given template name contains an unexpanded parameter pack, diagnose the error.

Declared at: clang/include/clang/Sema/Sema.h:8471

Parameters

clang::SourceLocation Loc
The location of the template name.
clang::TemplateName Template
The template name that is being checked for unexpanded parameter packs.
clang::Sema::UnexpandedParameterPackContext UPPC

Returns

true if an error occurred, false otherwise.

bool DiagnoseUnexpandedParameterPack(
    clang::TemplateArgumentLoc Arg,
    clang::Sema::UnexpandedParameterPackContext
        UPPC)

Description

If the given template argument contains an unexpanded parameter pack, diagnose the error.

Declared at: clang/include/clang/Sema/Sema.h:8482

Parameters

clang::TemplateArgumentLoc Arg
The template argument that is being checked for unexpanded parameter packs.
clang::Sema::UnexpandedParameterPackContext UPPC

Returns

true if an error occurred, false otherwise.

bool DiagnoseUnexpandedParameterPackInRequiresExpr(
    clang::RequiresExpr* RE)

Description

If the given requirees-expression contains an unexpanded reference to one of its own parameter packs, diagnose the error.

Declared at: clang/include/clang/Sema/Sema.h:8440

Parameters

clang::RequiresExpr* RE
The requiress-expression that is being checked for unexpanded parameter packs.

Returns

true if an error occurred, false otherwise.

bool DiagnoseUnexpandedParameterPacks(
    clang::SourceLocation Loc,
    clang::Sema::UnexpandedParameterPackContext
        UPPC,
    ArrayRef<clang::UnexpandedParameterPack>
        Unexpanded)

Description

Diagnose unexpanded parameter packs.

Declared at: clang/include/clang/Sema/Sema.h:8407

Parameters

clang::SourceLocation Loc
The location at which we should emit the diagnostic.
clang::Sema::UnexpandedParameterPackContext UPPC
The context in which we are diagnosing unexpanded parameter packs.
ArrayRef<clang::UnexpandedParameterPack> Unexpanded
the set of unexpanded parameter packs.

Returns

true if an error occurred, false otherwise.

void DiagnoseUnguardedAvailabilityViolations(
    clang::Decl* FD)

Description

Issue any -Wunguarded-availability warnings in \c FD

Declared at: clang/include/clang/Sema/Sema.h:5226

Parameters

clang::Decl* FD

void DiagnoseUnimplementedProperties(
    clang::Scope* S,
    clang::ObjCImplDecl* IMPDecl,
    clang::ObjCContainerDecl* CDecl,
    bool SynthesizeProperties)

Description

DiagnoseUnimplementedProperties - This routine warns on those properties which must be implemented by this implementation.

Declared at: clang/include/clang/Sema/Sema.h:4641

Parameters

clang::Scope* S
clang::ObjCImplDecl* IMPDecl
clang::ObjCContainerDecl* CDecl
bool SynthesizeProperties

bool DiagnoseUninstantiableTemplate(
    clang::SourceLocation PointOfInstantiation,
    clang::NamedDecl* Instantiation,
    bool InstantiatedFromMember,
    const clang::NamedDecl* Pattern,
    const clang::NamedDecl* PatternDef,
    clang::TemplateSpecializationKind TSK,
    bool Complain = true)

Declared at: clang/include/clang/Sema/Sema.h:7808

Parameters

clang::SourceLocation PointOfInstantiation
clang::NamedDecl* Instantiation
bool InstantiatedFromMember
const clang::NamedDecl* Pattern
const clang::NamedDecl* PatternDef
clang::TemplateSpecializationKind TSK
bool Complain = true

bool DiagnoseUnknownTemplateName(
    const clang::IdentifierInfo& II,
    clang::SourceLocation IILoc,
    clang::Scope* S,
    const clang::CXXScopeSpec* SS,
    clang::Sema::TemplateTy& SuggestedTemplate,
    clang::TemplateNameKind& SuggestedKind)

Declared at: clang/include/clang/Sema/Sema.h:7801

Parameters

const clang::IdentifierInfo& II
clang::SourceLocation IILoc
clang::Scope* S
const clang::CXXScopeSpec* SS
clang::Sema::TemplateTy& SuggestedTemplate
clang::TemplateNameKind& SuggestedKind

void DiagnoseUnknownTypeName(
    clang::IdentifierInfo*& II,
    clang::SourceLocation IILoc,
    clang::Scope* S,
    clang::CXXScopeSpec* SS,
    clang::ParsedType& SuggestedType,
    bool IsTemplateName = false)

Declared at: clang/include/clang/Sema/Sema.h:2543

Parameters

clang::IdentifierInfo*& II
clang::SourceLocation IILoc
clang::Scope* S
clang::CXXScopeSpec* SS
clang::ParsedType& SuggestedType
bool IsTemplateName = false

void DiagnoseUnsatisfiedConstraint(
    const clang::ConstraintSatisfaction&
        Satisfaction,
    bool First = true)

Description

Emit diagnostics explaining why a constraint expression was deemed unsatisfied.

Declared at: clang/include/clang/Sema/Sema.h:7201

Parameters

const clang::ConstraintSatisfaction& Satisfaction
bool First = true
whether this is the first time an unsatisfied constraint is diagnosed for this error.

void DiagnoseUnsatisfiedConstraint(
    const clang::ASTConstraintSatisfaction&
        Satisfaction,
    bool First = true)

Description

Emit diagnostics explaining why a constraint expression was deemed unsatisfied.

Declared at: clang/include/clang/Sema/Sema.h:7207

Parameters

const clang::ASTConstraintSatisfaction& Satisfaction
bool First = true

void DiagnoseUnterminatedOpenMPDeclareTarget()

Description

Report unterminated 'omp declare target' or 'omp begin declare target' at the end of a compilation unit.

Declared at: clang/include/clang/Sema/Sema.h:10916

void DiagnoseUnterminatedPragmaAlignPack()

Declared at: clang/include/clang/Sema/Sema.h:10276

void DiagnoseUnterminatedPragmaAttribute()

Declared at: clang/include/clang/Sema/Sema.h:10452

void DiagnoseUnusedBackingIvarInAccessor(
    clang::Scope* S,
    const clang::ObjCImplementationDecl* ImplD)

Description

DiagnoseUnusedBackingIvarInAccessor - Issue an 'unused' warning if ivar which backs the property is not used in the property's accessor.

Declared at: clang/include/clang/Sema/Sema.h:4663

Parameters

clang::Scope* S
const clang::ObjCImplementationDecl* ImplD

void DiagnoseUnusedButSetDecl(
    const clang::VarDecl* VD)

Description

If VD is set but not otherwise used, diagnose, for a parameter or a variable.

Declared at: clang/include/clang/Sema/Sema.h:5165

Parameters

const clang::VarDecl* VD

void DiagnoseUnusedDecl(
    const clang::NamedDecl* ND)

Declared at: clang/include/clang/Sema/Sema.h:5161

Parameters

const clang::NamedDecl* ND

void DiagnoseUnusedExprResult(
    const clang::Stmt* S,
    unsigned int DiagID)

Description

DiagnoseUnusedExprResult - If the statement passed in is an expression whose result is unused, warn.

Declared at: clang/include/clang/Sema/Sema.h:5159

Parameters

const clang::Stmt* S
unsigned int DiagID

bool DiagnoseUnusedLambdaCapture(
    clang::SourceRange CaptureRange,
    const sema::Capture& From)

Description

Diagnose if an explicit lambda capture is unused. Returns true if a diagnostic is emitted.

Declared at: clang/include/clang/Sema/Sema.h:7037

Parameters

clang::SourceRange CaptureRange
const sema::Capture& From

void DiagnoseUnusedNestedTypedefs(
    const clang::RecordDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:5160

Parameters

const clang::RecordDecl* D

void DiagnoseUnusedParameters(
    ArrayRef<clang::ParmVarDecl*> Parameters)

Description

Diagnose any unused parameters in the given sequence of ParmVarDecl pointers.

Declared at: clang/include/clang/Sema/Sema.h:3051

Parameters

ArrayRef<clang::ParmVarDecl*> Parameters

bool DiagnoseUseOfDecl(
    clang::NamedDecl* D,
    ArrayRef<clang::SourceLocation> Locs,
    const clang::ObjCInterfaceDecl*
        UnknownObjCClass = nullptr,
    bool ObjCPropertyAccess = false,
    bool AvoidPartialAvailabilityChecks = false,
    clang::ObjCInterfaceDecl* ClassReciever =
        nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5234

Parameters

clang::NamedDecl* D
ArrayRef<clang::SourceLocation> Locs
const clang::ObjCInterfaceDecl* UnknownObjCClass = nullptr
bool ObjCPropertyAccess = false
bool AvoidPartialAvailabilityChecks = false
clang::ObjCInterfaceDecl* ClassReciever = nullptr

void DiagnoseUseOfUnimplementedSelectors()

Declared at: clang/include/clang/Sema/Sema.h:2529

void DiscardCleanupsInEvaluationContext()

Declared at: clang/include/clang/Sema/Sema.h:5258

void DiscardMisalignedMemberAddress(
    const clang::Type* T,
    clang::Expr* E)

Description

This function checks if the expression is in the sef of potentially misaligned members and it is converted to some pointer type T with lower or equal alignment requirements. If so it removes it. This is used when we do not want to diagnose such misaligned access (e.g. in conversions to void*).

Declared at: clang/include/clang/Sema/Sema.h:13476

Parameters

const clang::Type* T
clang::Expr* E

void EmitCurrentDiagnostic(unsigned int DiagID)

Description

Cause the active diagnostic on the DiagosticsEngine to be emitted. This is closely coupled to the SemaDiagnosticBuilder class and should not be used elsewhere.

Declared at: clang/include/clang/Sema/Sema.h:1564

Parameters

unsigned int DiagID

void EmitRelatedResultTypeNote(
    const clang::Expr* E)

Description

If the given expression involves a message send to a method with a related result type, emit a note describing what happened.

Declared at: clang/include/clang/Sema/Sema.h:12408

Parameters

const clang::Expr* E

void EmitRelatedResultTypeNoteForReturn(
    clang::QualType destType)

Description

Given that we had incompatible pointer types in a return statement, check whether we're in a method with a related result type, and if so, emit a note describing what happened.

Declared at: clang/include/clang/Sema/Sema.h:12413

Parameters

clang::QualType destType

void EndOpenMPClause()

Description

End analysis of clauses.

Declared at: clang/include/clang/Sema/Sema.h:10803

void EndOpenMPDSABlock(clang::Stmt* CurDirective)

Description

Called on end of data sharing attribute block.

Declared at: clang/include/clang/Sema/Sema.h:10805

Parameters

clang::Stmt* CurDirective

bool EnsureTemplateArgumentListConstraints(
    clang::TemplateDecl* Template,
    ArrayRef<clang::TemplateArgument>
        TemplateArgs,
    clang::SourceRange TemplateIDRange)

Description

Ensure that the given template arguments satisfy the constraints associated with the given template, emitting a diagnostic if they do not.

Declared at: clang/include/clang/Sema/Sema.h:7192

Parameters

clang::TemplateDecl* Template
The template to which the template arguments are being provided.
ArrayRef<clang::TemplateArgument> TemplateArgs
The converted, canonicalized template arguments.
clang::SourceRange TemplateIDRange
The source range of the template id that caused the constraints check.

Returns

true if the constrains are not satisfied or could not be checked for satisfaction, false if the constraints are satisfied.

void EnterDeclaratorContext(
    clang::Scope* S,
    clang::DeclContext* DC)

Description

EnterDeclaratorContext - Used when we must lookup names in the context of a declarator's nested name specifier.

Declared at: clang/include/clang/Sema/Sema.h:3435

Parameters

clang::Scope* S
clang::DeclContext* DC

void EnterTemplatedContext(clang::Scope* S,
                           clang::DeclContext* DC)

Description

Enter a template parameter scope, after it's been associated with a particular DeclContext. Causes lookup within the scope to chain through enclosing contexts in the correct order.

Declared at: clang/include/clang/Sema/Sema.h:3441

Parameters

clang::Scope* S
clang::DeclContext* DC

void EraseUnwantedCUDAMatches(
    const clang::FunctionDecl* Caller,
    SmallVectorImpl<
        std::pair<DeclAccessPair, FunctionDecl*>>&
        Matches)

Description

Finds a function in \p Matches with highest calling priority from \p Caller context and erases all functions with lower calling priority.

Declared at: clang/include/clang/Sema/Sema.h:12776

Parameters

const clang::FunctionDecl* Caller
SmallVectorImpl< std::pair<DeclAccessPair, FunctionDecl*>>& Matches

void EvaluateImplicitExceptionSpec(
    clang::SourceLocation Loc,
    clang::FunctionDecl* FD)

Description

Evaluate the implicit exception specification for a defaulted special member function.

Declared at: clang/include/clang/Sema/Sema.h:6191

Parameters

clang::SourceLocation Loc
clang::FunctionDecl* FD

void ExitDeclaratorContext(clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:3436

Parameters

clang::Scope* S

clang::QualType ExtractUnqualifiedFunctionType(
    clang::QualType PossiblyAFunctionType)

Declared at: clang/include/clang/Sema/Sema.h:4000

Parameters

clang::QualType PossiblyAFunctionType

clang::TypoCorrection FailedCorrection(
    clang::IdentifierInfo* Typo,
    clang::SourceLocation TypoLoc,
    bool RecordFailure = true)

Description

Record the typo correction failure and return an empty correction.

Declared at: clang/include/clang/Sema/Sema.h:4798

Parameters

clang::IdentifierInfo* Typo
clang::SourceLocation TypoLoc
bool RecordFailure = true

void FillInlineAsmIdentifierInfo(
    clang::Expr* Res,
    llvm::InlineAsmIdentifierInfo& Info)

Declared at: clang/include/clang/Sema/Sema.h:5078

Parameters

clang::Expr* Res
llvm::InlineAsmIdentifierInfo& Info

void FilterAcceptableTemplateNames(
    clang::LookupResult& R,
    bool AllowFunctionTemplates = true,
    bool AllowDependent = true)

Declared at: clang/include/clang/Sema/Sema.h:7717

Parameters

clang::LookupResult& R
bool AllowFunctionTemplates = true
bool AllowDependent = true

void FilterLookupForScope(
    clang::LookupResult& R,
    clang::DeclContext* Ctx,
    clang::Scope* S,
    bool ConsiderLinkage,
    bool AllowInlineNamespace)

Declared at: clang/include/clang/Sema/Sema.h:4476

Parameters

clang::LookupResult& R
clang::DeclContext* Ctx
clang::Scope* S
bool ConsiderLinkage
bool AllowInlineNamespace

void FilterUsingLookup(
    clang::Scope* S,
    clang::LookupResult& lookup)

Declared at: clang/include/clang/Sema/Sema.h:6011

Parameters

clang::Scope* S
clang::LookupResult& lookup

void FinalizeDeclaration(clang::Decl* D)

Declared at: clang/include/clang/Sema/Sema.h:2977

Parameters

clang::Decl* D

clang::Sema::DeclGroupPtrTy
FinalizeDeclaratorGroup(
    clang::Scope* S,
    const clang::DeclSpec& DS,
    ArrayRef<clang::Decl*> Group)

Declared at: clang/include/clang/Sema/Sema.h:2978

Parameters

clang::Scope* S
const clang::DeclSpec& DS
ArrayRef<clang::Decl*> Group

void FinalizeVarWithDestructor(
    clang::VarDecl* VD,
    const clang::RecordType* DeclInitType)

Description

FinalizeVarWithDestructor - Prepare for calling destructor on the constructed variable.

Declared at: clang/include/clang/Sema/Sema.h:6119

Parameters

clang::VarDecl* VD
const clang::RecordType* DeclInitType

bool FindAllocationFunctions(
    clang::SourceLocation StartLoc,
    clang::SourceRange Range,
    clang::Sema::AllocationFunctionScope NewScope,
    clang::Sema::AllocationFunctionScope
        DeleteScope,
    clang::QualType AllocType,
    bool IsArray,
    bool& PassAlignment,
    clang::MultiExprArg PlaceArgs,
    clang::FunctionDecl*& OperatorNew,
    clang::FunctionDecl*& OperatorDelete,
    bool Diagnose = true)

Description

Finds the overloads of operator new and delete that are appropriate for the allocation.

Declared at: clang/include/clang/Sema/Sema.h:6607

Parameters

clang::SourceLocation StartLoc
clang::SourceRange Range
clang::Sema::AllocationFunctionScope NewScope
clang::Sema::AllocationFunctionScope DeleteScope
clang::QualType AllocType
bool IsArray
bool& PassAlignment
clang::MultiExprArg PlaceArgs
clang::FunctionDecl*& OperatorNew
clang::FunctionDecl*& OperatorDelete
bool Diagnose = true

void FindAssociatedClassesAndNamespaces(
    clang::SourceLocation InstantiationLoc,
    ArrayRef<clang::Expr*> Args,
    clang::Sema::AssociatedNamespaceSet&
        AssociatedNamespaces,
    clang::Sema::AssociatedClassSet&
        AssociatedClasses)

Declared at: clang/include/clang/Sema/Sema.h:4471

Parameters

clang::SourceLocation InstantiationLoc
ArrayRef<clang::Expr*> Args
clang::Sema::AssociatedNamespaceSet& AssociatedNamespaces
clang::Sema::AssociatedClassSet& AssociatedClasses

clang::QualType FindCompositeObjCPointerType(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation QuestionLoc)

Declared at: clang/include/clang/Sema/Sema.h:12221

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation QuestionLoc

clang::QualType FindCompositePointerType(
    clang::SourceLocation Loc,
    clang::ExprResult& E1,
    clang::ExprResult& E2,
    bool ConvertArgs = true)

Declared at: clang/include/clang/Sema/Sema.h:12210

Parameters

clang::SourceLocation Loc
clang::ExprResult& E1
clang::ExprResult& E2
bool ConvertArgs = true

clang::QualType FindCompositePointerType(
    clang::SourceLocation Loc,
    clang::Expr*& E1,
    clang::Expr*& E2,
    bool ConvertArgs = true)

Declared at: clang/include/clang/Sema/Sema.h:12208

Parameters

clang::SourceLocation Loc
clang::Expr*& E1
clang::Expr*& E2
bool ConvertArgs = true

bool FindDeallocationFunction(
    clang::SourceLocation StartLoc,
    clang::CXXRecordDecl* RD,
    clang::DeclarationName Name,
    clang::FunctionDecl*& Operator,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:6619

Parameters

clang::SourceLocation StartLoc
clang::CXXRecordDecl* RD
clang::DeclarationName Name
clang::FunctionDecl*& Operator
bool Diagnose = true

clang::FunctionDecl*
FindDeallocationFunctionForDestructor(
    clang::SourceLocation StartLoc,
    clang::CXXRecordDecl* RD)

Declared at: clang/include/clang/Sema/Sema.h:6626

Parameters

clang::SourceLocation StartLoc
clang::CXXRecordDecl* RD

clang::NamedDecl* FindFirstQualifierInScope(
    clang::Scope* S,
    clang::NestedNameSpecifier* NNS)

Declared at: clang/include/clang/Sema/Sema.h:6764

Parameters

clang::Scope* S
clang::NestedNameSpecifier* NNS

void FindHiddenVirtualMethods(
    clang::CXXMethodDecl* MD,
    SmallVectorImpl<clang::CXXMethodDecl*>&
        OverloadedMethods)

Declared at: clang/include/clang/Sema/Sema.h:2888

Parameters

clang::CXXMethodDecl* MD
SmallVectorImpl<clang::CXXMethodDecl*>& OverloadedMethods

clang::DeclContext* FindInstantiatedContext(
    clang::SourceLocation Loc,
    clang::DeclContext* DC,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9838

Parameters

clang::SourceLocation Loc
clang::DeclContext* DC
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::NamedDecl* FindInstantiatedDecl(
    clang::SourceLocation Loc,
    clang::NamedDecl* D,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    bool FindingInstantiatedContext = false)

Declared at: clang/include/clang/Sema/Sema.h:9835

Parameters

clang::SourceLocation Loc
clang::NamedDecl* D
const clang::MultiLevelTemplateArgumentList& TemplateArgs
bool FindingInstantiatedContext = false

void FindProtocolDeclaration(
    bool WarnOnDeclarations,
    bool ForObjCContainer,
    ArrayRef<clang::IdentifierLocPair> ProtocolId,
    SmallVectorImpl<clang::Decl*>& Protocols)

Declared at: clang/include/clang/Sema/Sema.h:9939

Parameters

bool WarnOnDeclarations
bool ForObjCContainer
ArrayRef<clang::IdentifierLocPair> ProtocolId
SmallVectorImpl<clang::Decl*>& Protocols

clang::FunctionDecl*
FindUsualDeallocationFunction(
    clang::SourceLocation StartLoc,
    bool CanProvideSize,
    bool Overaligned,
    clang::DeclarationName Name)

Declared at: clang/include/clang/Sema/Sema.h:6622

Parameters

clang::SourceLocation StartLoc
bool CanProvideSize
bool Overaligned
clang::DeclarationName Name

clang::StmtResult FinishCXXForRangeStmt(
    clang::Stmt* ForRange,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:5017

Parameters

clang::Stmt* ForRange
clang::Stmt* Body

clang::StmtResult FinishObjCForCollectionStmt(
    clang::Stmt* ForCollection,
    clang::Stmt* Body)

Declared at: clang/include/clang/Sema/Sema.h:4988

Parameters

clang::Stmt* ForCollection
clang::Stmt* Body

clang::Sema::TemplateDeductionResult
FinishTemplateArgumentDeduction(
    clang::FunctionTemplateDecl* FunctionTemplate,
    SmallVectorImpl<
        clang::DeducedTemplateArgument>& Deduced,
    unsigned int NumExplicitlySpecified,
    clang::FunctionDecl*& Specialization,
    sema::TemplateDeductionInfo& Info,
    const SmallVectorImpl<
        clang::Sema::OriginalCallArg>*
        OriginalCallArgs = nullptr,
    bool PartialOverloading = false,
    llvm::function_ref<bool()> CheckNonDependent =
        [] { return false; })

Declared at: clang/include/clang/Sema/Sema.h:8781

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
SmallVectorImpl<clang::DeducedTemplateArgument>& Deduced
unsigned int NumExplicitlySpecified
clang::FunctionDecl*& Specialization
sema::TemplateDeductionInfo& Info
const SmallVectorImpl< clang::Sema::OriginalCallArg>* OriginalCallArgs = nullptr
bool PartialOverloading = false
llvm::function_ref<bool()> CheckNonDependent = [] { return false; }

clang::ExprResult FixOverloadedFunctionReference(
    clang::ExprResult,
    clang::DeclAccessPair FoundDecl,
    clang::FunctionDecl* Fn)

Declared at: clang/include/clang/Sema/Sema.h:4032

Parameters

clang::ExprResult
clang::DeclAccessPair FoundDecl
clang::FunctionDecl* Fn

clang::Expr* FixOverloadedFunctionReference(
    clang::Expr* E,
    clang::DeclAccessPair FoundDecl,
    clang::FunctionDecl* Fn)

Declared at: clang/include/clang/Sema/Sema.h:4029

Parameters

clang::Expr* E
clang::DeclAccessPair FoundDecl
clang::FunctionDecl* Fn

void ForceDeclarationOfImplicitMembers(
    clang::CXXRecordDecl* Class)

Description

Force the declaration of any implicitly-declared members of this class.

Declared at: clang/include/clang/Sema/Sema.h:6324

Parameters

clang::CXXRecordDecl* Class

bool FormatStringHasSArg(
    const clang::StringLiteral* FExpr)

Declared at: clang/include/clang/Sema/Sema.h:13198

Parameters

const clang::StringLiteral* FExpr

void FreeVisContext()

Description

FreeVisContext - Deallocate and null out VisContext.

Declared at: clang/include/clang/Sema/Sema.h:10431

bool FunctionParamTypesAreEqual(
    const clang::FunctionProtoType* OldType,
    const clang::FunctionProtoType* NewType,
    unsigned int* ArgPos = nullptr,
    bool Reversed = false)

Declared at: clang/include/clang/Sema/Sema.h:3668

Parameters

const clang::FunctionProtoType* OldType
const clang::FunctionProtoType* NewType
unsigned int* ArgPos = nullptr
bool Reversed = false

bool GatherArgumentsForCall(
    clang::SourceLocation CallLoc,
    clang::FunctionDecl* FDecl,
    const clang::FunctionProtoType* Proto,
    unsigned int FirstParam,
    ArrayRef<clang::Expr*> Args,
    SmallVectorImpl<clang::Expr*>& AllArgs,
    clang::Sema::VariadicCallType CallType =
        VariadicDoesNotApply,
    bool AllowExplicit = false,
    bool IsListInitialization = false)

Description

GatherArgumentsForCall - Collector argument expressions for various form of call prototypes.

Declared at: clang/include/clang/Sema/Sema.h:11947

Parameters

clang::SourceLocation CallLoc
clang::FunctionDecl* FDecl
const clang::FunctionProtoType* Proto
unsigned int FirstParam
ArrayRef<clang::Expr*> Args
SmallVectorImpl<clang::Expr*>& AllArgs
clang::Sema::VariadicCallType CallType = VariadicDoesNotApply
bool AllowExplicit = false
bool IsListInitialization = false

void GatherGlobalCodeCompletions(
    clang::CodeCompletionAllocator& Allocator,
    clang::CodeCompletionTUInfo& CCTUInfo,
    SmallVectorImpl<clang::CodeCompletionResult>&
        Results)

Declared at: clang/include/clang/Sema/Sema.h:13013

Parameters

clang::CodeCompletionAllocator& Allocator
clang::CodeCompletionTUInfo& CCTUInfo
SmallVectorImpl<clang::CodeCompletionResult>& Results

static bool GetFormatNSStringIdx(
    const clang::FormatAttr* Format,
    unsigned int& Idx)

Declared at: clang/include/clang/Sema/Sema.h:13200

Parameters

const clang::FormatAttr* Format
unsigned int& Idx

static clang::Sema::FormatStringType
GetFormatStringType(
    const clang::FormatAttr* Format)

Declared at: clang/include/clang/Sema/Sema.h:13196

Parameters

const clang::FormatAttr* Format

clang::ObjCIvarDecl*
GetIvarBackingPropertyAccessor(
    const clang::ObjCMethodDecl* Method,
    const clang::ObjCPropertyDecl*& PDecl) const

Description

GetIvarBackingPropertyAccessor - If method is a property setter/getter and it property has a backing ivar, returns this ivar; otherwise, returns NULL. It also returns ivar's property on success.

Declared at: clang/include/clang/Sema/Sema.h:4669

Parameters

const clang::ObjCMethodDecl* Method
const clang::ObjCPropertyDecl*& PDecl

clang::DeclarationNameInfo GetNameForDeclarator(
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:2089

Parameters

clang::Declarator& D

clang::DeclarationNameInfo
GetNameFromUnqualifiedId(
    const clang::UnqualifiedId& Name)

Declared at: clang/include/clang/Sema/Sema.h:2090

Parameters

const clang::UnqualifiedId& Name

clang::LabelDecl* GetOrCreateMSAsmLabel(
    llvm::StringRef ExternalLabelName,
    clang::SourceLocation Location,
    bool AlwaysCreate)

Declared at: clang/include/clang/Sema/Sema.h:5096

Parameters

llvm::StringRef ExternalLabelName
clang::SourceLocation Location
bool AlwaysCreate

clang::QualType GetSignedSizelessVectorType(
    clang::QualType V)

Declared at: clang/include/clang/Sema/Sema.h:12237

Parameters

clang::QualType V

clang::QualType GetSignedVectorType(
    clang::QualType V)

Declared at: clang/include/clang/Sema/Sema.h:12236

Parameters

clang::QualType V

clang::TypeSourceInfo* GetTypeForDeclarator(
    clang::Declarator& D,
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:2084

Parameters

clang::Declarator& D
clang::Scope* S

clang::TypeSourceInfo* GetTypeForDeclaratorCast(
    clang::Declarator& D,
    clang::QualType FromTy)

Declared at: clang/include/clang/Sema/Sema.h:2085

Parameters

clang::Declarator& D
clang::QualType FromTy

static clang::QualType GetTypeFromParser(
    clang::ParsedType Ty,
    clang::TypeSourceInfo** TInfo = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:2091

Parameters

clang::ParsedType Ty
clang::TypeSourceInfo** TInfo = nullptr

clang::NamedDecl* HandleDeclarator(
    clang::Scope* S,
    clang::Declarator& D,
    clang::MultiTemplateParamsArg
        TemplateParameterLists)

Declared at: clang/include/clang/Sema/Sema.h:2799

Parameters

clang::Scope* S
clang::Declarator& D
clang::MultiTemplateParamsArg TemplateParameterLists

void HandleDelayedAccessCheck(
    sema::DelayedDiagnostic& DD,
    clang::Decl* Ctx)

Declared at: clang/include/clang/Sema/Sema.h:7677

Parameters

sema::DelayedDiagnostic& DD
clang::Decl* Ctx

void HandleDependentAccessCheck(
    const clang::DependentDiagnostic& DD,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:7672

Parameters

const clang::DependentDiagnostic& DD
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::ExprResult
HandleExprEvaluationContextForTypeof(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5262

Parameters

clang::Expr* E

clang::ExprResult HandleExprPropertyRefExpr(
    const clang::ObjCObjectPointerType* OPT,
    clang::Expr* BaseExpr,
    clang::SourceLocation OpLoc,
    clang::DeclarationName MemberName,
    clang::SourceLocation MemberLoc,
    clang::SourceLocation SuperLoc,
    clang::QualType SuperType,
    bool Super)

Declared at: clang/include/clang/Sema/Sema.h:10096

Parameters

const clang::ObjCObjectPointerType* OPT
clang::Expr* BaseExpr
clang::SourceLocation OpLoc
clang::DeclarationName MemberName
clang::SourceLocation MemberLoc
clang::SourceLocation SuperLoc
clang::QualType SuperType
bool Super

clang::FieldDecl* HandleField(
    clang::Scope* S,
    clang::RecordDecl* TagD,
    clang::SourceLocation DeclStart,
    clang::Declarator& D,
    clang::Expr* BitfieldWidth,
    clang::InClassInitStyle InitStyle,
    clang::AccessSpecifier AS)

Declared at: clang/include/clang/Sema/Sema.h:3269

Parameters

clang::Scope* S
clang::RecordDecl* TagD
clang::SourceLocation DeclStart
clang::Declarator& D
clang::Expr* BitfieldWidth
clang::InClassInitStyle InitStyle
clang::AccessSpecifier AS

void HandleFunctionTypeMismatch(
    clang::PartialDiagnostic& PDiag,
    clang::QualType FromType,
    clang::QualType ToType)

Declared at: clang/include/clang/Sema/Sema.h:3672

Parameters

clang::PartialDiagnostic& PDiag
clang::QualType FromType
clang::QualType ToType

clang::MSPropertyDecl* HandleMSProperty(
    clang::Scope* S,
    clang::RecordDecl* TagD,
    clang::SourceLocation DeclStart,
    clang::Declarator& D,
    clang::Expr* BitfieldWidth,
    clang::InClassInitStyle InitStyle,
    clang::AccessSpecifier AS,
    const clang::ParsedAttr& MSPropertyAttr)

Declared at: clang/include/clang/Sema/Sema.h:3273

Parameters

clang::Scope* S
clang::RecordDecl* TagD
clang::SourceLocation DeclStart
clang::Declarator& D
clang::Expr* BitfieldWidth
clang::InClassInitStyle InitStyle
clang::AccessSpecifier AS
const clang::ParsedAttr& MSPropertyAttr

clang::ObjCPropertyDecl*
HandlePropertyInClassExtension(
    clang::Scope* S,
    clang::SourceLocation AtLoc,
    clang::SourceLocation LParenLoc,
    clang::FieldDeclarator& FD,
    clang::Selector GetterSel,
    clang::SourceLocation GetterNameLoc,
    clang::Selector SetterSel,
    clang::SourceLocation SetterNameLoc,
    const bool isReadWrite,
    unsigned int& Attributes,
    const unsigned int AttributesAsWritten,
    clang::QualType T,
    clang::TypeSourceInfo* TSI,
    tok::ObjCKeywordKind MethodImplKind)

Description

Called by ActOnProperty to handle @ property declarations in class extensions.

Declared at: clang/include/clang/Sema/Sema.h:4674

Parameters

clang::Scope* S
clang::SourceLocation AtLoc
clang::SourceLocation LParenLoc
clang::FieldDeclarator& FD
clang::Selector GetterSel
clang::SourceLocation GetterNameLoc
clang::Selector SetterSel
clang::SourceLocation SetterNameLoc
const bool isReadWrite
unsigned int& Attributes
const unsigned int AttributesAsWritten
clang::QualType T
clang::TypeSourceInfo* TSI
tok::ObjCKeywordKind MethodImplKind

void HandleStartOfHeaderUnit()

Description

The parser has begun a translation unit to be compiled as a C++20 Header Unit, helper for ActOnStartOfTranslationUnit() only.

Declared at: clang/include/clang/Sema/Sema.h:3091

void HideUsingShadowDecl(
    clang::Scope* S,
    clang::UsingShadowDecl* Shadow)

Declared at: clang/include/clang/Sema/Sema.h:6012

Parameters

clang::Scope* S
clang::UsingShadowDecl* Shadow

clang::Sema::CUDAFunctionPreference
IdentifyCUDAPreference(
    const clang::FunctionDecl* Caller,
    const clang::FunctionDecl* Callee)

Description

Identifies relative preference of a given Caller/Callee combination, based on their host/device attributes.

Declared at: clang/include/clang/Sema/Sema.h:12725

Parameters

const clang::FunctionDecl* Caller
function which needs address of \p Callee. nullptr in case of global context.
const clang::FunctionDecl* Callee
target function

Returns

preference value for particular Caller/Callee combination.

clang::Sema::CUDAVariableTarget
IdentifyCUDATarget(const clang::VarDecl* D)

Description

Determines whether the given variable is emitted on host or device side.

Declared at: clang/include/clang/Sema/Sema.h:12696

Parameters

const clang::VarDecl* D

clang::Sema::CUDAFunctionTarget
IdentifyCUDATarget(
    const clang::ParsedAttributesView& Attrs)

Declared at: clang/include/clang/Sema/Sema.h:12687

Parameters

const clang::ParsedAttributesView& Attrs

clang::Sema::CUDAFunctionTarget
IdentifyCUDATarget(
    const clang::FunctionDecl* D,
    bool IgnoreImplicitHDAttr = false)

Description

Determines whether the given function is a CUDA device/host/kernel/etc. function. Use this rather than examining the function's attributes yourself -- you will get it wrong. Returns CFT_Host if D is null.

Declared at: clang/include/clang/Sema/Sema.h:12685

Parameters

const clang::FunctionDecl* D
bool IgnoreImplicitHDAttr = false

clang::ExprResult IgnoredValueConversions(
    clang::Expr* E)

Description

IgnoredValueConversions - Given that an expression's result is syntactically ignored, perform any conversions that are required.

Declared at: clang/include/clang/Sema/Sema.h:11865

Parameters

clang::Expr* E

clang::ExprResult ImpCastExprToType(
    clang::Expr* E,
    clang::QualType Type,
    clang::CastKind CK,
    clang::ExprValueKind VK = VK_PRValue,
    const clang::CXXCastPath* BasePath = nullptr,
    clang::Sema::CheckedConversionKind CCK =
        CCK_ImplicitConversion)

Description

ImpCastExprToType - If Expr is not of type 'Type', insert an implicit cast. If there is already an implicit cast, merge into the existing one. If isLvalue, the result of the cast is an lvalue.

Declared at: clang/include/clang/Sema/Sema.h:11853

Parameters

clang::Expr* E
clang::QualType Type
clang::CastKind CK
clang::ExprValueKind VK = VK_PRValue
const clang::CXXCastPath* BasePath = nullptr
clang::Sema::CheckedConversionKind CCK = CCK_ImplicitConversion

void ImplMethodsVsClassMethods(
    clang::Scope* S,
    clang::ObjCImplDecl* IMPDecl,
    clang::ObjCContainerDecl* IDecl,
    bool IncompleteImpl = false)

Description

ImplMethodsVsClassMethods - This is main routine to warn if any method remains unimplemented in the class or category @ implementation.

Declared at: clang/include/clang/Sema/Sema.h:4635

Parameters

clang::Scope* S
clang::ObjCImplDecl* IMPDecl
clang::ObjCContainerDecl* IDecl
bool IncompleteImpl = false

clang::NamedDecl* ImplicitlyDefineFunction(
    clang::SourceLocation Loc,
    clang::IdentifierInfo& II,
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:4501

Parameters

clang::SourceLocation Loc
clang::IdentifierInfo& II
clang::Scope* S

void InitDataSharingAttributesStack()

Description

Initialization of data-sharing attributes stack.

Declared at: clang/include/clang/Sema/Sema.h:10621

void Initialize()

Description

Perform initialization that occurs after the parser has been initialized but before it parses anything.

Declared at: clang/include/clang/Sema/Sema.h:1609

void InstantiateAttrs(
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    const clang::Decl* Pattern,
    clang::Decl* Inst,
    clang::Sema::LateInstantiatedAttrVec*
        LateAttrs = nullptr,
    clang::LocalInstantiationScope*
        OuterMostScope = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:9740

Parameters

const clang::MultiLevelTemplateArgumentList& TemplateArgs
const clang::Decl* Pattern
clang::Decl* Inst
clang::Sema::LateInstantiatedAttrVec* LateAttrs = nullptr
clang::LocalInstantiationScope* OuterMostScope = nullptr

void InstantiateAttrsForDecl(
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    const clang::Decl* Pattern,
    clang::Decl* Inst,
    clang::Sema::LateInstantiatedAttrVec*
        LateAttrs = nullptr,
    clang::LocalInstantiationScope*
        OuterMostScope = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:9746

Parameters

const clang::MultiLevelTemplateArgumentList& TemplateArgs
const clang::Decl* Pattern
clang::Decl* Inst
clang::Sema::LateInstantiatedAttrVec* LateAttrs = nullptr
clang::LocalInstantiationScope* OuterMostScope = nullptr

bool InstantiateClass(
    clang::SourceLocation PointOfInstantiation,
    clang::CXXRecordDecl* Instantiation,
    clang::CXXRecordDecl* Pattern,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::TemplateSpecializationKind TSK,
    bool Complain = true)

Declared at: clang/include/clang/Sema/Sema.h:9713

Parameters

clang::SourceLocation PointOfInstantiation
clang::CXXRecordDecl* Instantiation
clang::CXXRecordDecl* Pattern
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::TemplateSpecializationKind TSK
bool Complain = true

void InstantiateClassMembers(
    clang::SourceLocation PointOfInstantiation,
    clang::CXXRecordDecl* Instantiation,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::TemplateSpecializationKind TSK)

Declared at: clang/include/clang/Sema/Sema.h:9762

Parameters

clang::SourceLocation PointOfInstantiation
clang::CXXRecordDecl* Instantiation
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::TemplateSpecializationKind TSK

bool InstantiateClassTemplateSpecialization(
    clang::SourceLocation PointOfInstantiation,
    clang::ClassTemplateSpecializationDecl*
        ClassTemplateSpec,
    clang::TemplateSpecializationKind TSK,
    bool Complain = true)

Declared at: clang/include/clang/Sema/Sema.h:9757

Parameters

clang::SourceLocation PointOfInstantiation
clang::ClassTemplateSpecializationDecl* ClassTemplateSpec
clang::TemplateSpecializationKind TSK
bool Complain = true

void InstantiateClassTemplateSpecializationMembers(
    clang::SourceLocation PointOfInstantiation,
    clang::ClassTemplateSpecializationDecl*
        ClassTemplateSpec,
    clang::TemplateSpecializationKind TSK)

Declared at: clang/include/clang/Sema/Sema.h:9767

Parameters

clang::SourceLocation PointOfInstantiation
clang::ClassTemplateSpecializationDecl* ClassTemplateSpec
clang::TemplateSpecializationKind TSK

bool InstantiateDefaultArgument(
    clang::SourceLocation CallLoc,
    clang::FunctionDecl* FD,
    clang::ParmVarDecl* Param)

Declared at: clang/include/clang/Sema/Sema.h:9787

Parameters

clang::SourceLocation CallLoc
clang::FunctionDecl* FD
clang::ParmVarDecl* Param

void InstantiateDefaultCtorDefaultArgs(
    clang::CXXConstructorDecl* Ctor)

Declared at: clang/include/clang/Sema/Sema.h:9751

Parameters

clang::CXXConstructorDecl* Ctor

bool InstantiateEnum(
    clang::SourceLocation PointOfInstantiation,
    clang::EnumDecl* Instantiation,
    clang::EnumDecl* Pattern,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::TemplateSpecializationKind TSK)

Declared at: clang/include/clang/Sema/Sema.h:9719

Parameters

clang::SourceLocation PointOfInstantiation
clang::EnumDecl* Instantiation
clang::EnumDecl* Pattern
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::TemplateSpecializationKind TSK

void InstantiateExceptionSpec(
    clang::SourceLocation PointOfInstantiation,
    clang::FunctionDecl* Function)

Declared at: clang/include/clang/Sema/Sema.h:9789

Parameters

clang::SourceLocation PointOfInstantiation
clang::FunctionDecl* Function

clang::FunctionDecl*
InstantiateFunctionDeclaration(
    clang::FunctionTemplateDecl* FTD,
    const clang::TemplateArgumentList* Args,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:9795

Parameters

clang::FunctionTemplateDecl* FTD
const clang::TemplateArgumentList* Args
clang::SourceLocation Loc

void InstantiateFunctionDefinition(
    clang::SourceLocation PointOfInstantiation,
    clang::FunctionDecl* Function,
    bool Recursive = false,
    bool DefinitionRequired = false,
    bool AtEndOfTU = false)

Declared at: clang/include/clang/Sema/Sema.h:9798

Parameters

clang::SourceLocation PointOfInstantiation
clang::FunctionDecl* Function
bool Recursive = false
bool DefinitionRequired = false
bool AtEndOfTU = false

bool InstantiateInClassInitializer(
    clang::SourceLocation PointOfInstantiation,
    clang::FieldDecl* Instantiation,
    clang::FieldDecl* Pattern,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9724

Parameters

clang::SourceLocation PointOfInstantiation
clang::FieldDecl* Instantiation
clang::FieldDecl* Pattern
const clang::MultiLevelTemplateArgumentList& TemplateArgs

void InstantiateMemInitializers(
    clang::CXXConstructorDecl* New,
    const clang::CXXConstructorDecl* Tmpl,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9831

Parameters

clang::CXXConstructorDecl* New
const clang::CXXConstructorDecl* Tmpl
const clang::MultiLevelTemplateArgumentList& TemplateArgs

void InstantiateVariableDefinition(
    clang::SourceLocation PointOfInstantiation,
    clang::VarDecl* Var,
    bool Recursive = false,
    bool DefinitionRequired = false,
    bool AtEndOfTU = false)

Declared at: clang/include/clang/Sema/Sema.h:9826

Parameters

clang::SourceLocation PointOfInstantiation
clang::VarDecl* Var
bool Recursive = false
bool DefinitionRequired = false
bool AtEndOfTU = false

void InstantiateVariableInitializer(
    clang::VarDecl* Var,
    clang::VarDecl* OldVar,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9823

Parameters

clang::VarDecl* Var
clang::VarDecl* OldVar
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::QualType InvalidLogicalVectorOperands(
    clang::SourceLocation Loc,
    clang::ExprResult& LHS,
    clang::ExprResult& RHS)

Declared at: clang/include/clang/Sema/Sema.h:12150

Parameters

clang::SourceLocation Loc
clang::ExprResult& LHS
clang::ExprResult& RHS

clang::QualType InvalidOperands(
    clang::SourceLocation Loc,
    clang::ExprResult& LHS,
    clang::ExprResult& RHS)

Description

type checking binary operators (subroutines of CreateBuiltinBinOp).

Declared at: clang/include/clang/Sema/Sema.h:12148

Parameters

clang::SourceLocation Loc
clang::ExprResult& LHS
clang::ExprResult& RHS

clang::IdentifierInfo*
InventAbbreviatedTemplateParameterTypeName(
    clang::IdentifierInfo* ParamName,
    unsigned int Index)

Description

Invent a new identifier for parameters of abbreviated templates.

Declared at: clang/include/clang/Sema/Sema.h:1885

Parameters

clang::IdentifierInfo* ParamName
unsigned int Index

bool IsAllowedCUDACall(
    const clang::FunctionDecl* Caller,
    const clang::FunctionDecl* Callee)

Description

Determines whether Caller may invoke Callee, based on their CUDA host/device attributes. Returns false if the call is not allowed. Note: Will return true for CFP_WrongSide calls. These may appear in semantically correct CUDA programs, but only if they're never codegen'ed.

Declared at: clang/include/clang/Sema/Sema.h:12733

Parameters

const clang::FunctionDecl* Caller
const clang::FunctionDecl* Callee

bool IsAtLeastAsConstrained(
    clang::NamedDecl* D1,
    ArrayRef<const clang::Expr*> AC1,
    clang::NamedDecl* D2,
    ArrayRef<const clang::Expr*> AC2,
    bool& Result)

Description

Check whether the given declaration's associated constraints are at least as constrained than another declaration's according to the partial ordering of constraints.

Declared at: clang/include/clang/Sema/Sema.h:7128

Parameters

clang::NamedDecl* D1
ArrayRef<const clang::Expr*> AC1
clang::NamedDecl* D2
ArrayRef<const clang::Expr*> AC2
bool& Result
If no error occurred, receives the result of true if D1 is at least constrained than D2, and false otherwise.

Returns

true if an error occurred, false otherwise.

bool IsBlockPointerConversion(
    clang::QualType FromType,
    clang::QualType ToType,
    clang::QualType& ConvertedType)

Declared at: clang/include/clang/Sema/Sema.h:3666

Parameters

clang::QualType FromType
clang::QualType ToType
clang::QualType& ConvertedType

bool IsComplexPromotion(clang::QualType FromType,
                        clang::QualType ToType)

Declared at: clang/include/clang/Sema/Sema.h:3658

Parameters

clang::QualType FromType
clang::QualType ToType

bool IsDerivedFrom(clang::SourceLocation Loc,
                   clang::QualType Derived,
                   clang::QualType Base)

Declared at: clang/include/clang/Sema/Sema.h:7544

Parameters

clang::SourceLocation Loc
clang::QualType Derived
clang::QualType Base

bool IsDerivedFrom(clang::SourceLocation Loc,
                   clang::QualType Derived,
                   clang::QualType Base,
                   clang::CXXBasePaths& Paths)

Declared at: clang/include/clang/Sema/Sema.h:7545

Parameters

clang::SourceLocation Loc
clang::QualType Derived
clang::QualType Base
clang::CXXBasePaths& Paths

bool IsFloatingPointPromotion(
    clang::QualType FromType,
    clang::QualType ToType)

Declared at: clang/include/clang/Sema/Sema.h:3657

Parameters

clang::QualType FromType
clang::QualType ToType

bool IsFunctionConversion(
    clang::QualType FromType,
    clang::QualType ToType,
    clang::QualType& ResultTy)

Declared at: clang/include/clang/Sema/Sema.h:3691

Parameters

clang::QualType FromType
clang::QualType ToType
clang::QualType& ResultTy

bool IsInsideALocalClassWithinATemplateFunction()

Declared at: clang/include/clang/Sema/Sema.h:7476

bool IsIntegralPromotion(clang::Expr* From,
                         clang::QualType FromType,
                         clang::QualType ToType)

Declared at: clang/include/clang/Sema/Sema.h:3656

Parameters

clang::Expr* From
clang::QualType FromType
clang::QualType ToType

bool IsInvalidUnlessNestedName(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::Sema::NestedNameSpecInfo& IdInfo,
    bool EnteringContext)

Declared at: clang/include/clang/Sema/Sema.h:6846

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
clang::Sema::NestedNameSpecInfo& IdInfo
bool EnteringContext

bool IsMemberPointerConversion(
    clang::Expr* From,
    clang::QualType FromType,
    clang::QualType ToType,
    bool InOverloadResolution,
    clang::QualType& ConvertedType)

Declared at: clang/include/clang/Sema/Sema.h:3682

Parameters

clang::Expr* From
clang::QualType FromType
clang::QualType ToType
bool InOverloadResolution
clang::QualType& ConvertedType

bool IsOverload(
    clang::FunctionDecl* New,
    clang::FunctionDecl* Old,
    bool IsForUsingDecl,
    bool ConsiderCudaAttrs = true,
    bool ConsiderRequiresClauses = true)

Declared at: clang/include/clang/Sema/Sema.h:3635

Parameters

clang::FunctionDecl* New
clang::FunctionDecl* Old
bool IsForUsingDecl
bool ConsiderCudaAttrs = true
bool ConsiderRequiresClauses = true

bool IsPointerConversion(
    clang::Expr* From,
    clang::QualType FromType,
    clang::QualType ToType,
    bool InOverloadResolution,
    clang::QualType& ConvertedType,
    bool& IncompatibleObjC)

Declared at: clang/include/clang/Sema/Sema.h:3659

Parameters

clang::Expr* From
clang::QualType FromType
clang::QualType ToType
bool InOverloadResolution
clang::QualType& ConvertedType
bool& IncompatibleObjC

bool IsQualificationConversion(
    clang::QualType FromType,
    clang::QualType ToType,
    bool CStyle,
    bool& ObjCLifetimeConversion)

Declared at: clang/include/clang/Sema/Sema.h:3689

Parameters

clang::QualType FromType
clang::QualType ToType
bool CStyle
bool& ObjCLifetimeConversion

bool IsRedefinitionInModule(
    const clang::NamedDecl* New,
    const clang::NamedDecl* Old) const

Declared at: clang/include/clang/Sema/Sema.h:4482

Parameters

const clang::NamedDecl* New
const clang::NamedDecl* Old

bool IsSimplyAccessible(
    clang::NamedDecl* Decl,
    clang::CXXRecordDecl* NamingClass,
    clang::QualType BaseType)

Declared at: clang/include/clang/Sema/Sema.h:7659

Parameters

clang::NamedDecl* Decl
clang::CXXRecordDecl* NamingClass
clang::QualType BaseType

bool IsStringInit(clang::Expr* Init,
                  const clang::ArrayType* AT)

Declared at: clang/include/clang/Sema/Sema.h:3699

Parameters

clang::Expr* Init
const clang::ArrayType* AT

bool IsStringLiteralToNonConstPointerConversion(
    clang::Expr* From,
    clang::QualType ToType)

Declared at: clang/include/clang/Sema/Sema.h:12123

Parameters

clang::Expr* From
clang::QualType ToType

bool IsValueInFlagEnum(const clang::EnumDecl* ED,
                       const llvm::APInt& Val,
                       bool AllowMask) const

Description

IsValueInFlagEnum - Determine if a value is allowed as part of a flag enum. If AllowMask is true, then we also allow the complement of a valid value, to be used as a mask.

Declared at: clang/include/clang/Sema/Sema.h:12077

Parameters

const clang::EnumDecl* ED
const llvm::APInt& Val
bool AllowMask

bool IvarBacksCurrentMethodAccessor(
    clang::ObjCInterfaceDecl* IFace,
    clang::ObjCMethodDecl* Method,
    clang::ObjCIvarDecl* IV)

Description

IvarBacksCurrentMethodAccessor - This routine returns 'true' if 'IV' is an ivar synthesized for 'Method' and 'Method' is a property accessor declared in class 'IFace'.

Declared at: clang/include/clang/Sema/Sema.h:4658

Parameters

clang::ObjCInterfaceDecl* IFace
clang::ObjCMethodDecl* Method
clang::ObjCIvarDecl* IV

clang::NamedDecl* LazilyCreateBuiltin(
    clang::IdentifierInfo* II,
    unsigned int ID,
    clang::Scope* S,
    bool ForRedeclaration,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:4498

Parameters

clang::IdentifierInfo* II
unsigned int ID
clang::Scope* S
bool ForRedeclaration
clang::SourceLocation Loc

void LoadExternalVTableUses()

Description

Load any externally-stored vtable uses.

Declared at: clang/include/clang/Sema/Sema.h:7396

void LoadExternalWeakUndeclaredIdentifiers()

Description

Load weak undeclared identifiers from the external source.

Declared at: clang/include/clang/Sema/Sema.h:1110

void LookupBinOp(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    clang::BinaryOperatorKind Opc,
    clang::UnresolvedSetImpl& Functions)

Declared at: clang/include/clang/Sema/Sema.h:5783

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
clang::BinaryOperatorKind Opc
clang::UnresolvedSetImpl& Functions

bool LookupBuiltin(clang::LookupResult& R)

Declared at: clang/include/clang/Sema/Sema.h:4331

Parameters

clang::LookupResult& R

clang::DeclContextLookupResult LookupConstructors(
    clang::CXXRecordDecl* Class)

Declared at: clang/include/clang/Sema/Sema.h:4353

Parameters

clang::CXXRecordDecl* Class

clang::CXXMethodDecl* LookupCopyingAssignment(
    clang::CXXRecordDecl* Class,
    unsigned int Quals,
    bool RValueThis,
    unsigned int ThisQuals)

Declared at: clang/include/clang/Sema/Sema.h:4357

Parameters

clang::CXXRecordDecl* Class
unsigned int Quals
bool RValueThis
unsigned int ThisQuals

clang::CXXConstructorDecl*
LookupCopyingConstructor(
    clang::CXXRecordDecl* Class,
    unsigned int Quals)

Declared at: clang/include/clang/Sema/Sema.h:4355

Parameters

clang::CXXRecordDecl* Class
unsigned int Quals

clang::CXXConstructorDecl*
LookupDefaultConstructor(
    clang::CXXRecordDecl* Class)

Declared at: clang/include/clang/Sema/Sema.h:4354

Parameters

clang::CXXRecordDecl* Class

clang::CXXDestructorDecl* LookupDestructor(
    clang::CXXRecordDecl* Class)

Declared at: clang/include/clang/Sema/Sema.h:4363

Parameters

clang::CXXRecordDecl* Class

clang::ObjCMethodDecl*
LookupFactoryMethodInGlobalPool(
    clang::Selector Sel,
    clang::SourceRange R,
    bool receiverIdOrClass = false)

Description

LookupFactoryMethodInGlobalPool - Returns the method and warns if there are multiple signatures.

Declared at: clang/include/clang/Sema/Sema.h:4833

Parameters

clang::Selector Sel
clang::SourceRange R
bool receiverIdOrClass = false

clang::ObjCMethodDecl*
LookupImplementedMethodInGlobalPool(
    clang::Selector Sel)

Description

LookupImplementedMethodInGlobalPool - Returns the method which has an implementation.

Declared at: clang/include/clang/Sema/Sema.h:4843

Parameters

clang::Selector Sel

clang::ExprResult LookupInObjCMethod(
    clang::LookupResult& LookUp,
    clang::Scope* S,
    clang::IdentifierInfo* II,
    bool AllowBuiltinCreation = false)

Declared at: clang/include/clang/Sema/Sema.h:5422

Parameters

clang::LookupResult& LookUp
clang::Scope* S
clang::IdentifierInfo* II
bool AllowBuiltinCreation = false

bool LookupInSuper(clang::LookupResult& R,
                   clang::CXXRecordDecl* Class)

Declared at: clang/include/clang/Sema/Sema.h:4345

Parameters

clang::LookupResult& R
clang::CXXRecordDecl* Class

bool LookupInlineAsmField(
    llvm::StringRef Base,
    llvm::StringRef Member,
    unsigned int& Offset,
    clang::SourceLocation AsmLoc)

Declared at: clang/include/clang/Sema/Sema.h:5084

Parameters

llvm::StringRef Base
llvm::StringRef Member
unsigned int& Offset
clang::SourceLocation AsmLoc

clang::ExprResult LookupInlineAsmIdentifier(
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::UnqualifiedId& Id,
    bool IsUnevaluatedContext)

Declared at: clang/include/clang/Sema/Sema.h:5080

Parameters

clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::UnqualifiedId& Id
bool IsUnevaluatedContext

clang::ExprResult LookupInlineAsmVarDeclField(
    clang::Expr* RefExpr,
    llvm::StringRef Member,
    clang::SourceLocation AsmLoc)

Declared at: clang/include/clang/Sema/Sema.h:5086

Parameters

clang::Expr* RefExpr
llvm::StringRef Member
clang::SourceLocation AsmLoc

clang::ObjCMethodDecl*
LookupInstanceMethodInGlobalPool(
    clang::Selector Sel,
    clang::SourceRange R,
    bool receiverIdOrClass = false)

Description

LookupInstanceMethodInGlobalPool - Returns the method and warns if there are multiple signatures.

Declared at: clang/include/clang/Sema/Sema.h:4825

Parameters

clang::Selector Sel
clang::SourceRange R
bool receiverIdOrClass = false

clang::DeclResult LookupIvarInObjCMethod(
    clang::LookupResult& Lookup,
    clang::Scope* S,
    clang::IdentifierInfo* II)

Declared at: clang/include/clang/Sema/Sema.h:5418

Parameters

clang::LookupResult& Lookup
clang::Scope* S
clang::IdentifierInfo* II

clang::Sema::LiteralOperatorLookupResult
LookupLiteralOperator(
    clang::Scope* S,
    clang::LookupResult& R,
    ArrayRef<clang::QualType> ArgTys,
    bool AllowRaw,
    bool AllowTemplate,
    bool AllowStringTemplate,
    bool DiagnoseMissing,
    clang::StringLiteral* StringLit = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4368

Parameters

clang::Scope* S
clang::LookupResult& R
ArrayRef<clang::QualType> ArgTys
bool AllowRaw
bool AllowTemplate
bool AllowStringTemplate
bool DiagnoseMissing
clang::StringLiteral* StringLit = nullptr

clang::ObjCMethodDecl* LookupMethodInGlobalPool(
    clang::Selector Sel,
    clang::SourceRange R,
    bool receiverIdOrClass,
    bool instance)

Description

LookupMethodInGlobalPool - Returns the instance or factory method and optionally warns if there are multiple signatures.

Declared at: clang/include/clang/Sema/Sema.h:4763

Parameters

clang::Selector Sel
clang::SourceRange R
bool receiverIdOrClass
bool instance

clang::ObjCMethodDecl* LookupMethodInObjectType(
    clang::Selector Sel,
    clang::QualType Ty,
    bool IsInstance)

Declared at: clang/include/clang/Sema/Sema.h:10087

Parameters

clang::Selector Sel
clang::QualType Ty
bool IsInstance

clang::ObjCMethodDecl*
LookupMethodInQualifiedType(
    clang::Selector Sel,
    const clang::ObjCObjectPointerType* OPT,
    bool IsInstance)

Declared at: clang/include/clang/Sema/Sema.h:10084

Parameters

clang::Selector Sel
const clang::ObjCObjectPointerType* OPT
bool IsInstance

clang::CXXMethodDecl* LookupMovingAssignment(
    clang::CXXRecordDecl* Class,
    unsigned int Quals,
    bool RValueThis,
    unsigned int ThisQuals)

Declared at: clang/include/clang/Sema/Sema.h:4361

Parameters

clang::CXXRecordDecl* Class
unsigned int Quals
bool RValueThis
unsigned int ThisQuals

clang::CXXConstructorDecl*
LookupMovingConstructor(
    clang::CXXRecordDecl* Class,
    unsigned int Quals)

Declared at: clang/include/clang/Sema/Sema.h:4359

Parameters

clang::CXXRecordDecl* Class
unsigned int Quals

bool LookupName(clang::LookupResult& R,
                clang::Scope* S,
                bool AllowBuiltinCreation = false,
                bool ForceNoCPlusPlus = false)

Declared at: clang/include/clang/Sema/Sema.h:4333

Parameters

clang::LookupResult& R
clang::Scope* S
bool AllowBuiltinCreation = false
bool ForceNoCPlusPlus = false

void LookupNecessaryTypesForBuiltin(
    clang::Scope* S,
    unsigned int ID)

Declared at: clang/include/clang/Sema/Sema.h:4332

Parameters

clang::Scope* S
unsigned int ID

clang::LabelDecl* LookupOrCreateLabel(
    clang::IdentifierInfo* II,
    clang::SourceLocation IdentLoc,
    clang::SourceLocation GnuLabelLoc =
        clang::SourceLocation())

Declared at: clang/include/clang/Sema/Sema.h:4350

Parameters

clang::IdentifierInfo* II
clang::SourceLocation IdentLoc
clang::SourceLocation GnuLabelLoc = clang::SourceLocation()

void LookupOverloadedBinOp(
    clang::OverloadCandidateSet& CandidateSet,
    clang::OverloadedOperatorKind Op,
    const clang::UnresolvedSetImpl& Fns,
    ArrayRef<clang::Expr*> Args,
    bool RequiresADL = true)

Declared at: clang/include/clang/Sema/Sema.h:4084

Parameters

clang::OverloadCandidateSet& CandidateSet
clang::OverloadedOperatorKind Op
const clang::UnresolvedSetImpl& Fns
ArrayRef<clang::Expr*> Args
bool RequiresADL = true

void LookupOverloadedOperatorName(
    clang::OverloadedOperatorKind Op,
    clang::Scope* S,
    clang::UnresolvedSetImpl& Functions)

Declared at: clang/include/clang/Sema/Sema.h:4347

Parameters

clang::OverloadedOperatorKind Op
clang::Scope* S
clang::UnresolvedSetImpl& Functions

bool LookupParsedName(
    clang::LookupResult& R,
    clang::Scope* S,
    clang::CXXScopeSpec* SS,
    bool AllowBuiltinCreation = false,
    bool EnteringContext = false)

Declared at: clang/include/clang/Sema/Sema.h:4339

Parameters

clang::LookupResult& R
clang::Scope* S
clang::CXXScopeSpec* SS
bool AllowBuiltinCreation = false
bool EnteringContext = false

clang::ObjCProtocolDecl* LookupProtocol(
    clang::IdentifierInfo* II,
    clang::SourceLocation IdLoc,
    clang::Sema::RedeclarationKind Redecl =
        NotForRedeclaration)

Declared at: clang/include/clang/Sema/Sema.h:4342

Parameters

clang::IdentifierInfo* II
clang::SourceLocation IdLoc
clang::Sema::RedeclarationKind Redecl = NotForRedeclaration

bool LookupQualifiedName(
    clang::LookupResult& R,
    clang::DeclContext* LookupCtx,
    bool InUnqualifiedLookup = false)

Declared at: clang/include/clang/Sema/Sema.h:4335

Parameters

clang::LookupResult& R
clang::DeclContext* LookupCtx
bool InUnqualifiedLookup = false

bool LookupQualifiedName(
    clang::LookupResult& R,
    clang::DeclContext* LookupCtx,
    clang::CXXScopeSpec& SS)

Declared at: clang/include/clang/Sema/Sema.h:4337

Parameters

clang::LookupResult& R
clang::DeclContext* LookupCtx
clang::CXXScopeSpec& SS

clang::NamedDecl* LookupSingleName(
    clang::Scope* S,
    clang::DeclarationName Name,
    clang::SourceLocation Loc,
    clang::Sema::LookupNameKind NameKind,
    clang::Sema::RedeclarationKind Redecl =
        NotForRedeclaration)

Description

Look up a name, looking for a single declaration. Return null if the results were absent, ambiguous, or overloaded. It is preferable to use the elaborated form and explicitly handle ambiguity and overloaded.

Declared at: clang/include/clang/Sema/Sema.h:4326

Parameters

clang::Scope* S
clang::DeclarationName Name
clang::SourceLocation Loc
clang::Sema::LookupNameKind NameKind
clang::Sema::RedeclarationKind Redecl = NotForRedeclaration

clang::Sema::SpecialMemberOverloadResult
LookupSpecialMember(
    clang::CXXRecordDecl* D,
    clang::Sema::CXXSpecialMember SM,
    bool ConstArg,
    bool VolatileArg,
    bool RValueThis,
    bool ConstThis,
    bool VolatileThis)

Declared at: clang/include/clang/Sema/Sema.h:4261

Parameters

clang::CXXRecordDecl* D
clang::Sema::CXXSpecialMember SM
bool ConstArg
bool VolatileArg
bool RValueThis
bool ConstThis
bool VolatileThis

bool LookupTemplateName(
    clang::LookupResult& R,
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::QualType ObjectType,
    bool EnteringContext,
    bool& MemberOfUnknownSpecialization,
    clang::Sema::RequiredTemplateKind
        RequiredTemplate =
            clang::SourceLocation(),
    clang::Sema::AssumedTemplateKind* ATK =
        nullptr,
    bool AllowTypoCorrection = true)

Declared at: clang/include/clang/Sema/Sema.h:7765

Parameters

clang::LookupResult& R
clang::Scope* S
clang::CXXScopeSpec& SS
clang::QualType ObjectType
bool EnteringContext
bool& MemberOfUnknownSpecialization
clang::Sema::RequiredTemplateKind RequiredTemplate = clang::SourceLocation()
clang::Sema::AssumedTemplateKind* ATK = nullptr
bool AllowTypoCorrection = true

void LookupVisibleDecls(
    clang::Scope* S,
    clang::Sema::LookupNameKind Kind,
    clang::VisibleDeclConsumer& Consumer,
    bool IncludeGlobalScope = true,
    bool LoadExternal = true)

Declared at: clang/include/clang/Sema/Sema.h:4391

Parameters

clang::Scope* S
clang::Sema::LookupNameKind Kind
clang::VisibleDeclConsumer& Consumer
bool IncludeGlobalScope = true
bool LoadExternal = true

void LookupVisibleDecls(
    clang::DeclContext* Ctx,
    clang::Sema::LookupNameKind Kind,
    clang::VisibleDeclConsumer& Consumer,
    bool IncludeGlobalScope = true,
    bool IncludeDependentBases = false,
    bool LoadExternal = true)

Declared at: clang/include/clang/Sema/Sema.h:4395

Parameters

clang::DeclContext* Ctx
clang::Sema::LookupNameKind Kind
clang::VisibleDeclConsumer& Consumer
bool IncludeGlobalScope = true
bool IncludeDependentBases = false
bool LoadExternal = true

clang::Sema::FullExprArg
MakeFullDiscardedValueExpr(clang::Expr* Arg)

Declared at: clang/include/clang/Sema/Sema.h:4885

Parameters

clang::Expr* Arg

clang::Sema::FullExprArg MakeFullExpr(
    clang::Expr* Arg)

Declared at: clang/include/clang/Sema/Sema.h:4878

Parameters

clang::Expr* Arg

clang::Sema::FullExprArg MakeFullExpr(
    clang::Expr* Arg,
    clang::SourceLocation CC)

Declared at: clang/include/clang/Sema/Sema.h:4881

Parameters

clang::Expr* Arg
clang::SourceLocation CC

void MarkAnyDeclReferenced(
    clang::SourceLocation Loc,
    clang::Decl* D,
    bool MightBeOdrUse)

Declared at: clang/include/clang/Sema/Sema.h:5281

Parameters

clang::SourceLocation Loc
clang::Decl* D
bool MightBeOdrUse

void MarkAsLateParsedTemplate(
    clang::FunctionDecl* FD,
    clang::Decl* FnD,
    clang::CachedTokens& Toks)

Declared at: clang/include/clang/Sema/Sema.h:7473

Parameters

clang::FunctionDecl* FD
clang::Decl* FnD
clang::CachedTokens& Toks

void MarkBaseAndMemberDestructorsReferenced(
    clang::SourceLocation Loc,
    clang::CXXRecordDecl* Record)

Description

MarkBaseAndMemberDestructorsReferenced - Given a record decl, mark all the non-trivial destructors of its members and bases as referenced.

Declared at: clang/include/clang/Sema/Sema.h:7361

Parameters

clang::SourceLocation Loc
clang::CXXRecordDecl* Record

void MarkCaptureUsedInEnclosingContext(
    clang::VarDecl* Capture,
    clang::SourceLocation Loc,
    unsigned int CapturingScopeIndex)

Declared at: clang/include/clang/Sema/Sema.h:5288

Parameters

clang::VarDecl* Capture
clang::SourceLocation Loc
unsigned int CapturingScopeIndex

void MarkDeclRefReferenced(
    clang::DeclRefExpr* E,
    const clang::Expr* Base = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:5285

Parameters

clang::DeclRefExpr* E
const clang::Expr* Base = nullptr

void MarkDeclarationsReferencedInExpr(
    clang::Expr* E,
    bool SkipLocalVariables = false,
    ArrayRef<const clang::Expr*> StopAt = None)

Declared at: clang/include/clang/Sema/Sema.h:5353

Parameters

clang::Expr* E
bool SkipLocalVariables = false
ArrayRef<const clang::Expr*> StopAt = None

void MarkDeclarationsReferencedInType(
    clang::SourceLocation Loc,
    clang::QualType T)

Description

Mark all of the declarations referenced within a particular AST node as referenced. Used when template instantiation instantiates a non-dependent type -- entities referenced by the type are now referenced.

Declared at: clang/include/clang/Sema/Sema.h:5352

Parameters

clang::SourceLocation Loc
clang::QualType T

void MarkDeducedTemplateParameters(
    const clang::FunctionTemplateDecl*
        FunctionTemplate,
    llvm::SmallBitVector& Deduced)

Declared at: clang/include/clang/Sema/Sema.h:8916

Parameters

const clang::FunctionTemplateDecl* FunctionTemplate
llvm::SmallBitVector& Deduced

static void MarkDeducedTemplateParameters(
    clang::ASTContext& Ctx,
    const clang::FunctionTemplateDecl*
        FunctionTemplate,
    llvm::SmallBitVector& Deduced)

Declared at: clang/include/clang/Sema/Sema.h:8921

Parameters

clang::ASTContext& Ctx
const clang::FunctionTemplateDecl* FunctionTemplate
llvm::SmallBitVector& Deduced

void MarkFunctionParmPackReferenced(
    clang::FunctionParmPackExpr* E)

Declared at: clang/include/clang/Sema/Sema.h:5287

Parameters

clang::FunctionParmPackExpr* E

void MarkFunctionReferenced(
    clang::SourceLocation Loc,
    clang::FunctionDecl* Func,
    bool MightBeOdrUse = true)

Declared at: clang/include/clang/Sema/Sema.h:5282

Parameters

clang::SourceLocation Loc
clang::FunctionDecl* Func
bool MightBeOdrUse = true

void MarkMemberReferenced(clang::MemberExpr* E)

Declared at: clang/include/clang/Sema/Sema.h:5286

Parameters

clang::MemberExpr* E

void MarkThisReferenced(clang::CXXThisExpr* This)

Declared at: clang/include/clang/Sema/Sema.h:6472

Parameters

clang::CXXThisExpr* This

void MarkTypoCorrectedFunctionDefinition(
    const clang::NamedDecl* F)

Declared at: clang/include/clang/Sema/Sema.h:4469

Parameters

const clang::NamedDecl* F

void MarkUnusedFileScopedDecl(
    const clang::DeclaratorDecl* D)

Description

If it's a file scoped decl that must warn if not used, keep track of it.

Declared at: clang/include/clang/Sema/Sema.h:5155

Parameters

const clang::DeclaratorDecl* D

void MarkUsedTemplateParameters(
    const clang::Expr* E,
    bool OnlyDeduced,
    unsigned int Depth,
    llvm::SmallBitVector& Used)

Declared at: clang/include/clang/Sema/Sema.h:8909

Parameters

const clang::Expr* E
bool OnlyDeduced
unsigned int Depth
llvm::SmallBitVector& Used

void MarkUsedTemplateParameters(
    const clang::TemplateArgumentList&
        TemplateArgs,
    bool OnlyDeduced,
    unsigned int Depth,
    llvm::SmallBitVector& Used)

Declared at: clang/include/clang/Sema/Sema.h:8912

Parameters

const clang::TemplateArgumentList& TemplateArgs
bool OnlyDeduced
unsigned int Depth
llvm::SmallBitVector& Used

void MarkVTableUsed(
    clang::SourceLocation Loc,
    clang::CXXRecordDecl* Class,
    bool DefinitionRequired = false)

Description

Note that the vtable for the given class was used at the given location.

Declared at: clang/include/clang/Sema/Sema.h:7400

Parameters

clang::SourceLocation Loc
clang::CXXRecordDecl* Class
bool DefinitionRequired = false

void MarkVariableReferenced(
    clang::SourceLocation Loc,
    clang::VarDecl* Var)

Declared at: clang/include/clang/Sema/Sema.h:5284

Parameters

clang::SourceLocation Loc
clang::VarDecl* Var

void MarkVirtualBaseDestructorsReferenced(
    clang::SourceLocation Location,
    clang::CXXRecordDecl* ClassDecl,
    llvm::SmallPtrSetImpl<const RecordType*>*
        DirectVirtualBases = nullptr)

Description

Mark destructors of virtual bases of this class referenced. In the Itanium C++ ABI, this is done when emitting a destructor for any non-abstract class. In the Microsoft C++ ABI, this is done any time a class's destructor is referenced.

Declared at: clang/include/clang/Sema/Sema.h:7368

Parameters

clang::SourceLocation Location
clang::CXXRecordDecl* ClassDecl
llvm::SmallPtrSetImpl<const RecordType*>* DirectVirtualBases = nullptr

void MarkVirtualMemberExceptionSpecsNeeded(
    clang::SourceLocation Loc,
    const clang::CXXRecordDecl* RD)

Description

Mark the exception specifications of all virtual member functions in the given class as needed.

Declared at: clang/include/clang/Sema/Sema.h:7405

Parameters

clang::SourceLocation Loc
const clang::CXXRecordDecl* RD

void MarkVirtualMembersReferenced(
    clang::SourceLocation Loc,
    const clang::CXXRecordDecl* RD,
    bool ConstexprOnly = false)

Description

MarkVirtualMembersReferenced - Will mark all members of the given CXXRecordDecl referenced.

Declared at: clang/include/clang/Sema/Sema.h:7410

Parameters

clang::SourceLocation Loc
const clang::CXXRecordDecl* RD
bool ConstexprOnly = false

void MatchAllMethodDeclarations(
    const clang::Sema::SelectorSet& InsMap,
    const clang::Sema::SelectorSet& ClsMap,
    clang::Sema::SelectorSet& InsMapSeen,
    clang::Sema::SelectorSet& ClsMapSeen,
    clang::ObjCImplDecl* IMPDecl,
    clang::ObjCContainerDecl* IDecl,
    bool& IncompleteImpl,
    bool ImmediateClass,
    bool WarnCategoryMethodImpl = false)

Description

MatchAllMethodDeclarations - Check methods declaraed in interface or or protocol against those declared in their implementations.

Declared at: clang/include/clang/Sema/Sema.h:4735

Parameters

const clang::Sema::SelectorSet& InsMap
const clang::Sema::SelectorSet& ClsMap
clang::Sema::SelectorSet& InsMapSeen
clang::Sema::SelectorSet& ClsMapSeen
clang::ObjCImplDecl* IMPDecl
clang::ObjCContainerDecl* IDecl
bool& IncompleteImpl
bool ImmediateClass
bool WarnCategoryMethodImpl = false

clang::TemplateParameterList*
MatchTemplateParametersToScopeSpecifier(
    clang::SourceLocation DeclStartLoc,
    clang::SourceLocation DeclLoc,
    const clang::CXXScopeSpec& SS,
    clang::TemplateIdAnnotation* TemplateId,
    ArrayRef<clang::TemplateParameterList*>
        ParamLists,
    bool IsFriend,
    bool& IsMemberSpecialization,
    bool& Invalid,
    bool SuppressDiagnostic = false)

Declared at: clang/include/clang/Sema/Sema.h:7896

Parameters

clang::SourceLocation DeclStartLoc
clang::SourceLocation DeclLoc
const clang::CXXScopeSpec& SS
clang::TemplateIdAnnotation* TemplateId
ArrayRef<clang::TemplateParameterList*> ParamLists
bool IsFriend
bool& IsMemberSpecialization
bool& Invalid
bool SuppressDiagnostic = false

bool MatchTwoMethodDeclarations(
    const clang::ObjCMethodDecl* Method,
    const clang::ObjCMethodDecl* PrevMethod,
    clang::Sema::MethodMatchStrategy strategy =
        MMS_strict)

Description

MatchTwoMethodDeclarations - Checks if two methods' type match and returns true, or false, accordingly.

Declared at: clang/include/clang/Sema/Sema.h:4729

Parameters

const clang::ObjCMethodDecl* Method
const clang::ObjCMethodDecl* PrevMethod
clang::Sema::MethodMatchStrategy strategy = MMS_strict

void MaybeAddCUDAConstantAttr(clang::VarDecl* VD)

Description

May add implicit CUDAConstantAttr attribute to VD, depending on VD and current compilation settings.

Declared at: clang/include/clang/Sema/Sema.h:12745

Parameters

clang::VarDecl* VD

clang::ExprResult MaybeBindToTemporary(
    clang::Expr* E)

Description

MaybeBindToTemporary - If the passed in expression has a record type with a non-trivial destructor, this will return CXXBindTemporaryExpr. Otherwise it simply returns the passed in expression.

Declared at: clang/include/clang/Sema/Sema.h:6352

Parameters

clang::Expr* E

clang::ExprResult
MaybeConvertParenListExprToParenExpr(
    clang::Scope* S,
    clang::Expr* ME)

Declared at: clang/include/clang/Sema/Sema.h:5748

Parameters

clang::Scope* S
clang::Expr* ME

clang::Expr* MaybeCreateExprWithCleanups(
    clang::Expr* SubExpr)

Description

MaybeCreateExprWithCleanups - If the current full-expression requires any cleanups, surround it with a ExprWithCleanups node. Otherwise, just returns the passed-in expression.

Declared at: clang/include/clang/Sema/Sema.h:6711

Parameters

clang::Expr* SubExpr

clang::ExprResult MaybeCreateExprWithCleanups(
    clang::ExprResult SubExpr)

Declared at: clang/include/clang/Sema/Sema.h:6713

Parameters

clang::ExprResult SubExpr

clang::Stmt* MaybeCreateStmtWithCleanups(
    clang::Stmt* SubStmt)

Declared at: clang/include/clang/Sema/Sema.h:6712

Parameters

clang::Stmt* SubStmt

bool MaybeEmitAmbiguousAtomicConstraintsDiagnostic(
    clang::NamedDecl* D1,
    ArrayRef<const clang::Expr*> AC1,
    clang::NamedDecl* D2,
    ArrayRef<const clang::Expr*> AC2)

Description

If D1 was not at least as constrained as D2, but would've been if a pair of atomic constraints involved had been declared in a concept and not repeated in two separate places in code.

Declared at: clang/include/clang/Sema/Sema.h:7136

Parameters

clang::NamedDecl* D1
ArrayRef<const clang::Expr*> AC1
clang::NamedDecl* D2
ArrayRef<const clang::Expr*> AC2

Returns

true if such a diagnostic was emitted, false otherwise.

void MaybeSuggestAddingStaticToDecl(
    const clang::FunctionDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:2867

Parameters

const clang::FunctionDecl* D

bool MergeCXXFunctionDecl(
    clang::FunctionDecl* New,
    clang::FunctionDecl* Old,
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:3601

Parameters

clang::FunctionDecl* New
clang::FunctionDecl* Old
clang::Scope* S

bool MergeCompatibleFunctionDecls(
    clang::FunctionDecl* New,
    clang::FunctionDecl* Old,
    clang::Scope* S,
    bool MergeTypeWithOld)

Declared at: clang/include/clang/Sema/Sema.h:3593

Parameters

clang::FunctionDecl* New
clang::FunctionDecl* Old
clang::Scope* S
bool MergeTypeWithOld

bool MergeFunctionDecl(clang::FunctionDecl* New,
                       clang::NamedDecl*& Old,
                       clang::Scope* S,
                       bool MergeTypeWithOld,
                       bool NewDeclIsDefn)

Declared at: clang/include/clang/Sema/Sema.h:3591

Parameters

clang::FunctionDecl* New
clang::NamedDecl*& Old
clang::Scope* S
bool MergeTypeWithOld
bool NewDeclIsDefn

void MergeTypedefNameDecl(
    clang::Scope* S,
    clang::TypedefNameDecl* New,
    clang::LookupResult& OldDecls)

Declared at: clang/include/clang/Sema/Sema.h:3589

Parameters

clang::Scope* S
clang::TypedefNameDecl* New
clang::LookupResult& OldDecls

void MergeVarDecl(clang::VarDecl* New,
                  clang::LookupResult& Previous)

Declared at: clang/include/clang/Sema/Sema.h:3596

Parameters

clang::VarDecl* New
clang::LookupResult& Previous

void MergeVarDeclExceptionSpecs(
    clang::VarDecl* New,
    clang::VarDecl* Old)

Declared at: clang/include/clang/Sema/Sema.h:3598

Parameters

clang::VarDecl* New
clang::VarDecl* Old

void MergeVarDeclTypes(clang::VarDecl* New,
                       clang::VarDecl* Old,
                       bool MergeTypeWithOld)

Declared at: clang/include/clang/Sema/Sema.h:3597

Parameters

clang::VarDecl* New
clang::VarDecl* Old
bool MergeTypeWithOld

void ModifyFnAttributesMSPragmaOptimize(
    clang::FunctionDecl* FD)

Description

Only called on function definitions; if there is a MSVC #pragma optimize in scope, consider changing the function's attributes based on the optimization list passed to the pragma.

Declared at: clang/include/clang/Sema/Sema.h:10489

Parameters

clang::FunctionDecl* FD

bool NeedToCaptureVariable(
    clang::VarDecl* Var,
    clang::SourceLocation Loc)

Description

Checks if the variable must be captured.

Declared at: clang/include/clang/Sema/Sema.h:5343

Parameters

clang::VarDecl* Var
clang::SourceLocation Loc

void NoteAllFoundTemplates(
    clang::TemplateName Name)

Declared at: clang/include/clang/Sema/Sema.h:7927

Parameters

clang::TemplateName Name

void NoteAllOverloadCandidates(
    clang::Expr* E,
    clang::QualType DestType = clang::QualType(),
    bool TakingAddress = false)

Declared at: clang/include/clang/Sema/Sema.h:3951

Parameters

clang::Expr* E
clang::QualType DestType = clang::QualType()
bool TakingAddress = false

void NoteDeletedFunction(clang::FunctionDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:5239

Parameters

clang::FunctionDecl* FD

void NoteDeletedInheritingConstructor(
    clang::CXXConstructorDecl* CD)

Declared at: clang/include/clang/Sema/Sema.h:5240

Parameters

clang::CXXConstructorDecl* CD

void NoteHiddenVirtualMethods(
    clang::CXXMethodDecl* MD,
    SmallVectorImpl<clang::CXXMethodDecl*>&
        OverloadedMethods)

Declared at: clang/include/clang/Sema/Sema.h:2890

Parameters

clang::CXXMethodDecl* MD
SmallVectorImpl<clang::CXXMethodDecl*>& OverloadedMethods

void NoteOverloadCandidate(
    clang::NamedDecl* Found,
    clang::FunctionDecl* Fn,
    clang::OverloadCandidateRewriteKind
        RewriteKind =
            clang::OverloadCandidateRewriteKind(),
    clang::QualType DestType = clang::QualType(),
    bool TakingAddress = false)

Declared at: clang/include/clang/Sema/Sema.h:3944

Parameters

clang::NamedDecl* Found
clang::FunctionDecl* Fn
clang::OverloadCandidateRewriteKind RewriteKind = clang::OverloadCandidateRewriteKind()
clang::QualType DestType = clang::QualType()
bool TakingAddress = false

clang::PartialDiagnostic PDiag(
    unsigned int DiagID = 0)

Description

Build a partial diagnostic.

Declared at: clang/include/clang/Sema/Sema.h:1848

Parameters

unsigned int DiagID = 0

clang::ExprResult ParseObjCEncodeExpression(
    clang::SourceLocation AtLoc,
    clang::SourceLocation EncodeLoc,
    clang::SourceLocation LParenLoc,
    clang::ParsedType Ty,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:7246

Parameters

clang::SourceLocation AtLoc
clang::SourceLocation EncodeLoc
clang::SourceLocation LParenLoc
clang::ParsedType Ty
clang::SourceLocation RParenLoc

clang::ExprResult ParseObjCProtocolExpression(
    clang::IdentifierInfo* ProtocolName,
    clang::SourceLocation AtLoc,
    clang::SourceLocation ProtoLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation ProtoIdLoc,
    clang::SourceLocation RParenLoc)

Description

ParseObjCProtocolExpression - Build protocol expression for @ protocol

Declared at: clang/include/clang/Sema/Sema.h:7261

Parameters

clang::IdentifierInfo* ProtocolName
clang::SourceLocation AtLoc
clang::SourceLocation ProtoLoc
clang::SourceLocation LParenLoc
clang::SourceLocation ProtoIdLoc
clang::SourceLocation RParenLoc

clang::ExprResult ParseObjCSelectorExpression(
    clang::Selector Sel,
    clang::SourceLocation AtLoc,
    clang::SourceLocation SelLoc,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation RParenLoc,
    bool WarnMultipleSelectors)

Description

ParseObjCSelectorExpression - Build selector expression for @ selector

Declared at: clang/include/clang/Sema/Sema.h:7253

Parameters

clang::Selector Sel
clang::SourceLocation AtLoc
clang::SourceLocation SelLoc
clang::SourceLocation LParenLoc
clang::SourceLocation RParenLoc
bool WarnMultipleSelectors

clang::ExprResult ParseObjCStringLiteral(
    clang::SourceLocation* AtLocs,
    ArrayRef<clang::Expr*> Strings)

Declared at: clang/include/clang/Sema/Sema.h:7211

Parameters

clang::SourceLocation* AtLocs
ArrayRef<clang::Expr*> Strings

clang::TypedefDecl* ParseTypedefDecl(
    clang::Scope* S,
    clang::Declarator& D,
    clang::QualType T,
    clang::TypeSourceInfo* TInfo)

Description

Subroutines of ActOnDeclarator().

Declared at: clang/include/clang/Sema/Sema.h:3484

Parameters

clang::Scope* S
clang::Declarator& D
clang::QualType T
clang::TypeSourceInfo* TInfo

clang::Decl* ParsedFreeStandingDeclSpec(
    clang::Scope* S,
    clang::AccessSpecifier AS,
    clang::DeclSpec& DS,
    const clang::ParsedAttributesView& DeclAttrs,
    clang::RecordDecl*& AnonRecord)

Declared at: clang/include/clang/Sema/Sema.h:3191

Parameters

clang::Scope* S
clang::AccessSpecifier AS
clang::DeclSpec& DS
const clang::ParsedAttributesView& DeclAttrs
clang::RecordDecl*& AnonRecord

clang::Decl* ParsedFreeStandingDeclSpec(
    clang::Scope* S,
    clang::AccessSpecifier AS,
    clang::DeclSpec& DS,
    const clang::ParsedAttributesView& DeclAttrs,
    clang::MultiTemplateParamsArg TemplateParams,
    bool IsExplicitInstantiation,
    clang::RecordDecl*& AnonRecord)

Declared at: clang/include/clang/Sema/Sema.h:3194

Parameters

clang::Scope* S
clang::AccessSpecifier AS
clang::DeclSpec& DS
const clang::ParsedAttributesView& DeclAttrs
clang::MultiTemplateParamsArg TemplateParams
bool IsExplicitInstantiation
clang::RecordDecl*& AnonRecord

clang::ExprResult
PerformContextualImplicitConversion(
    clang::SourceLocation Loc,
    clang::Expr* FromE,
    clang::Sema::ContextualImplicitConverter&
        Converter)

Description

Perform a contextual implicit conversion.

Declared at: clang/include/clang/Sema/Sema.h:3810

Parameters

clang::SourceLocation Loc
clang::Expr* FromE
clang::Sema::ContextualImplicitConverter& Converter

clang::ExprResult
PerformContextuallyConvertToBool(
    clang::Expr* From)

Declared at: clang/include/clang/Sema/Sema.h:3718

Parameters

clang::Expr* From

clang::ExprResult
PerformContextuallyConvertToObjCPointer(
    clang::Expr* From)

Declared at: clang/include/clang/Sema/Sema.h:3719

Parameters

clang::Expr* From

clang::ExprResult PerformCopyInitialization(
    const clang::InitializedEntity& Entity,
    clang::SourceLocation EqualLoc,
    clang::ExprResult Init,
    bool TopLevelOfInitList = false,
    bool AllowExplicit = false)

Declared at: clang/include/clang/Sema/Sema.h:3703

Parameters

const clang::InitializedEntity& Entity
clang::SourceLocation EqualLoc
clang::ExprResult Init
bool TopLevelOfInitList = false
bool AllowExplicit = false

void PerformDependentDiagnostics(
    const clang::DeclContext* Pattern,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:7674

Parameters

const clang::DeclContext* Pattern
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::ExprResult PerformImplicitConversion(
    clang::Expr* From,
    clang::QualType ToType,
    const clang::StandardConversionSequence& SCS,
    clang::Sema::AssignmentAction Action,
    clang::Sema::CheckedConversionKind CCK)

Declared at: clang/include/clang/Sema/Sema.h:12135

Parameters

clang::Expr* From
clang::QualType ToType
const clang::StandardConversionSequence& SCS
clang::Sema::AssignmentAction Action
clang::Sema::CheckedConversionKind CCK

clang::ExprResult PerformImplicitConversion(
    clang::Expr* From,
    clang::QualType ToType,
    const clang::ImplicitConversionSequence& ICS,
    clang::Sema::AssignmentAction Action,
    clang::Sema::CheckedConversionKind CCK =
        CCK_ImplicitConversion)

Declared at: clang/include/clang/Sema/Sema.h:12130

Parameters

clang::Expr* From
clang::QualType ToType
const clang::ImplicitConversionSequence& ICS
clang::Sema::AssignmentAction Action
clang::Sema::CheckedConversionKind CCK = CCK_ImplicitConversion

clang::ExprResult PerformImplicitConversion(
    clang::Expr* From,
    clang::QualType ToType,
    clang::Sema::AssignmentAction Action,
    bool AllowExplicit = false)

Declared at: clang/include/clang/Sema/Sema.h:12127

Parameters

clang::Expr* From
clang::QualType ToType
clang::Sema::AssignmentAction Action
bool AllowExplicit = false

clang::ExprResult PerformMemberExprBaseConversion(
    clang::Expr* Base,
    bool IsArrow)

Declared at: clang/include/clang/Sema/Sema.h:5655

Parameters

clang::Expr* Base
bool IsArrow

clang::ExprResult PerformMoveOrCopyInitialization(
    const clang::InitializedEntity& Entity,
    const clang::Sema::NamedReturnInfo& NRInfo,
    clang::Expr* Value,
    bool SupressSimplerImplicitMoves = false)

Declared at: clang/include/clang/Sema/Sema.h:5058

Parameters

const clang::InitializedEntity& Entity
const clang::Sema::NamedReturnInfo& NRInfo
clang::Expr* Value
bool SupressSimplerImplicitMoves = false

clang::ExprResult
PerformObjectArgumentInitialization(
    clang::Expr* From,
    clang::NestedNameSpecifier* Qualifier,
    clang::NamedDecl* FoundDecl,
    clang::CXXMethodDecl* Method)

Declared at: clang/include/clang/Sema/Sema.h:3708

Parameters

clang::Expr* From
clang::NestedNameSpecifier* Qualifier
clang::NamedDecl* FoundDecl
clang::CXXMethodDecl* Method

clang::ExprResult PerformObjectMemberConversion(
    clang::Expr* From,
    clang::NestedNameSpecifier* Qualifier,
    clang::NamedDecl* FoundDecl,
    clang::NamedDecl* Member)

Declared at: clang/include/clang/Sema/Sema.h:3834

Parameters

clang::Expr* From
clang::NestedNameSpecifier* Qualifier
clang::NamedDecl* FoundDecl
clang::NamedDecl* Member

clang::ExprResult
PerformOpenMPImplicitIntegerConversion(
    clang::SourceLocation OpLoc,
    clang::Expr* Op)

Declared at: clang/include/clang/Sema/Sema.h:10794

Parameters

clang::SourceLocation OpLoc
clang::Expr* Op

void PerformPendingInstantiations(
    bool LocalOnly = false)

Declared at: clang/include/clang/Sema/Sema.h:9624

Parameters

bool LocalOnly = false

clang::ExprResult PerformQualificationConversion(
    clang::Expr* E,
    clang::QualType Ty,
    clang::ExprValueKind VK = VK_PRValue,
    clang::Sema::CheckedConversionKind CCK =
        CCK_ImplicitConversion)

Declared at: clang/include/clang/Sema/Sema.h:12140

Parameters

clang::Expr* E
clang::QualType Ty
clang::ExprValueKind VK = VK_PRValue
clang::Sema::CheckedConversionKind CCK = CCK_ImplicitConversion

void PopCompoundScope()

Declared at: clang/include/clang/Sema/Sema.h:1962

void PopDeclContext()

Declared at: clang/include/clang/Sema/Sema.h:3431

void PopExpressionEvaluationContext()

Declared at: clang/include/clang/Sema/Sema.h:5256

bool PopForceCUDAHostDevice()

Description

Decrements our count of the number of times we've seen a pragma forcing functions to be __host__ __device__. Returns false if the count is 0 before incrementing, so you can emit an error.

Declared at: clang/include/clang/Sema/Sema.h:12570

clang::Sema::PoppedFunctionScopePtr
PopFunctionScopeInfo(
    const sema::AnalysisBasedWarnings::Policy*
        WP = nullptr,
    const clang::Decl* D = nullptr,
    clang::QualType BlockType = clang::QualType())

Declared at: clang/include/clang/Sema/Sema.h:1946

Parameters

const sema::AnalysisBasedWarnings::Policy* WP = nullptr
const clang::Decl* D = nullptr
clang::QualType BlockType = clang::QualType()

void PopGlobalModuleFragment()

Description

Leave the scope of the global module.

Declared at: clang/include/clang/Sema/Sema.h:2270

void PopParsingClass(
    clang::Sema::ParsingClassState state)

Declared at: clang/include/clang/Sema/Sema.h:5209

Parameters

clang::Sema::ParsingClassState state

void PopParsingDeclaration(
    clang::Sema::ParsingDeclState state,
    clang::Decl* decl)

Declared at: clang/include/clang/Sema/Sema.h:5202

Parameters

clang::Sema::ParsingDeclState state
clang::Decl* decl

void PopPragmaVisibility(
    bool IsNamespaceEnd,
    clang::SourceLocation EndLoc)

Description

PopPragmaVisibility - Pop the top element of the visibility stack; used for ' # pragma GCC visibility' and visibility attributes on namespaces.

Declared at: clang/include/clang/Sema/Sema.h:10428

Parameters

bool IsNamespaceEnd
clang::SourceLocation EndLoc

clang::QualType PreferredConditionType(
    clang::Sema::ConditionKind K) const

Declared at: clang/include/clang/Sema/Sema.h:12454

Parameters

clang::Sema::ConditionKind K

bool PrepareBuiltinElementwiseMathOneArgCall(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13172

Parameters

clang::CallExpr* TheCall

bool PrepareBuiltinReduceMathOneArgCall(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13173

Parameters

clang::CallExpr* TheCall

clang::CastKind PrepareCastToObjCObjectPointer(
    clang::ExprResult& E)

Declared at: clang/include/clang/Sema/Sema.h:3676

Parameters

clang::ExprResult& E

clang::CastKind PrepareScalarCast(
    clang::ExprResult& src,
    clang::QualType destType)

Declared at: clang/include/clang/Sema/Sema.h:5741

Parameters

clang::ExprResult& src
clang::QualType destType

void PrintContextStack()

Declared at: clang/include/clang/Sema/Sema.h:9383

void PrintInstantiationStack()

Declared at: clang/include/clang/Sema/Sema.h:9392

void PrintPragmaAttributeInstantiationPoint()

Declared at: clang/include/clang/Sema/Sema.h:9394

void PrintStats() const

Declared at: clang/include/clang/Sema/Sema.h:1641

bool ProcessAccessDeclAttributeList(
    clang::AccessSpecDecl* ASDecl,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:4547

Parameters

clang::AccessSpecDecl* ASDecl
const clang::ParsedAttributesView& AttrList

void ProcessDeclAttributeDelayed(
    clang::Decl* D,
    const clang::ParsedAttributesView& AttrList)

Declared at: clang/include/clang/Sema/Sema.h:4513

Parameters

clang::Decl* D
const clang::ParsedAttributesView& AttrList

void ProcessDeclAttributeList(
    clang::Scope* S,
    clang::Decl* D,
    const clang::ParsedAttributesView& AttrList,
    const clang::Sema::
        ProcessDeclAttributeOptions& Options =
            clang::Sema::
                ProcessDeclAttributeOptions())

Declared at: clang/include/clang/Sema/Sema.h:4543

Parameters

clang::Scope* S
clang::Decl* D
const clang::ParsedAttributesView& AttrList
const clang::Sema::ProcessDeclAttributeOptions& Options = clang::Sema::ProcessDeclAttributeOptions()

void ProcessDeclAttributes(
    clang::Scope* S,
    clang::Decl* D,
    const clang::Declarator& PD)

Declared at: clang/include/clang/Sema/Sema.h:4511

Parameters

clang::Scope* S
clang::Decl* D
const clang::Declarator& PD

void ProcessPragmaWeak(clang::Scope* S,
                       clang::Decl* D)

Declared at: clang/include/clang/Sema/Sema.h:4509

Parameters

clang::Scope* S
clang::Decl* D

void ProcessPropertyDecl(
    clang::ObjCPropertyDecl* property)

Description

Process the specified property declaration and create decls for the setters and getters as needed.

Declared at: clang/include/clang/Sema/Sema.h:10019

Parameters

clang::ObjCPropertyDecl* property
The property declaration being processed

void ProcessStmtAttributes(
    clang::Stmt* Stmt,
    const clang::ParsedAttributes& InAttrs,
    SmallVectorImpl<const clang::Attr*>& OutAttrs)

Description

Process the attributes before creating an attributed statement. Returns the semantic attributes that have been processed.

Declared at: clang/include/clang/Sema/Sema.h:4608

Parameters

clang::Stmt* Stmt
const clang::ParsedAttributes& InAttrs
SmallVectorImpl<const clang::Attr*>& OutAttrs

clang::QualType ProduceCallSignatureHelp(
    clang::Expr* Fn,
    ArrayRef<clang::Expr*> Args,
    clang::SourceLocation OpenParLoc)

Description

Determines the preferred type of the current function argument, by examining the signatures of all possible overloads. Returns null if unknown or ambiguous, or if code completion is off. If the code completion point has been reached, also reports the function signatures that were considered. FIXME: rename to GuessCallArgumentType to reduce confusion.

Declared at: clang/include/clang/Sema/Sema.h:12913

Parameters

clang::Expr* Fn
ArrayRef<clang::Expr*> Args
clang::SourceLocation OpenParLoc

clang::QualType ProduceConstructorSignatureHelp(
    clang::QualType Type,
    clang::SourceLocation Loc,
    ArrayRef<clang::Expr*> Args,
    clang::SourceLocation OpenParLoc,
    bool Braced)

Declared at: clang/include/clang/Sema/Sema.h:12915

Parameters

clang::QualType Type
clang::SourceLocation Loc
ArrayRef<clang::Expr*> Args
clang::SourceLocation OpenParLoc
bool Braced

clang::QualType
ProduceCtorInitMemberSignatureHelp(
    clang::Decl* ConstructorDecl,
    clang::CXXScopeSpec SS,
    clang::ParsedType TemplateTypeTy,
    ArrayRef<clang::Expr*> ArgExprs,
    clang::IdentifierInfo* II,
    clang::SourceLocation OpenParLoc,
    bool Braced)

Declared at: clang/include/clang/Sema/Sema.h:12919

Parameters

clang::Decl* ConstructorDecl
clang::CXXScopeSpec SS
clang::ParsedType TemplateTypeTy
ArrayRef<clang::Expr*> ArgExprs
clang::IdentifierInfo* II
clang::SourceLocation OpenParLoc
bool Braced

clang::QualType
ProduceTemplateArgumentSignatureHelp(
    clang::Sema::TemplateTy,
    ArrayRef<clang::ParsedTemplateArgument>,
    clang::SourceLocation LAngleLoc)

Declared at: clang/include/clang/Sema/Sema.h:12923

Parameters

clang::Sema::TemplateTy
ArrayRef<clang::ParsedTemplateArgument>
clang::SourceLocation LAngleLoc

void PushBlockScope(clang::Scope* BlockScope,
                    clang::BlockDecl* Block)

Declared at: clang/include/clang/Sema/Sema.h:1920

Parameters

clang::Scope* BlockScope
clang::BlockDecl* Block

void PushCapturedRegionScope(
    clang::Scope* RegionScope,
    clang::CapturedDecl* CD,
    clang::RecordDecl* RD,
    clang::CapturedRegionKind K,
    unsigned int OpenMPCaptureLevel = 0)

Declared at: clang/include/clang/Sema/Sema.h:1928

Parameters

clang::Scope* RegionScope
clang::CapturedDecl* CD
clang::RecordDecl* RD
clang::CapturedRegionKind K
unsigned int OpenMPCaptureLevel = 0

void PushCompoundScope(bool IsStmtExpr)

Declared at: clang/include/clang/Sema/Sema.h:1961

Parameters

bool IsStmtExpr

void PushDeclContext(clang::Scope* S,
                     clang::DeclContext* DC)

Description

Set the current declaration context until it gets popped.

Declared at: clang/include/clang/Sema/Sema.h:3430

Parameters

clang::Scope* S
clang::DeclContext* DC

void PushExpressionEvaluationContext(
    clang::Sema::ExpressionEvaluationContext
        NewContext,
    clang::Decl* LambdaContextDecl = nullptr,
    ExpressionEvaluationContextRecord::
        ExpressionKind Type =
            ExpressionEvaluationContextRecord::
                EK_Other)

Declared at: clang/include/clang/Sema/Sema.h:5247

Parameters

clang::Sema::ExpressionEvaluationContext NewContext
clang::Decl* LambdaContextDecl = nullptr
ExpressionEvaluationContextRecord::ExpressionKind Type = ExpressionEvaluationContextRecord::EK_Other

void PushExpressionEvaluationContext(
    clang::Sema::ExpressionEvaluationContext
        NewContext,
    clang::Sema::ReuseLambdaContextDecl_t,
    ExpressionEvaluationContextRecord::
        ExpressionKind Type =
            ExpressionEvaluationContextRecord::
                EK_Other)

Declared at: clang/include/clang/Sema/Sema.h:5252

Parameters

clang::Sema::ExpressionEvaluationContext NewContext
clang::Sema::ReuseLambdaContextDecl_t
ExpressionEvaluationContextRecord::ExpressionKind Type = ExpressionEvaluationContextRecord::EK_Other

void PushForceCUDAHostDevice()

Description

Increments our count of the number of times we've seen a pragma forcing functions to be __host__ __device__. So long as this count is greater than zero, all functions encountered will be __host__ __device__.

Declared at: clang/include/clang/Sema/Sema.h:12565

void PushFunctionScope()

Declared at: clang/include/clang/Sema/Sema.h:1919

clang::Module* PushGlobalModuleFragment(
    clang::SourceLocation BeginLoc,
    bool IsImplicit)

Description

Enter the scope of the global module.

Declared at: clang/include/clang/Sema/Sema.h:2268

Parameters

clang::SourceLocation BeginLoc
bool IsImplicit

sema::LambdaScopeInfo* PushLambdaScope()

Declared at: clang/include/clang/Sema/Sema.h:1921

void PushNamespaceVisibilityAttr(
    const clang::VisibilityAttr* Attr,
    clang::SourceLocation Loc)

Description

PushNamespaceVisibilityAttr - Note that we've entered a namespace with a visibility attribute.

Declared at: clang/include/clang/Sema/Sema.h:10419

Parameters

const clang::VisibilityAttr* Attr
clang::SourceLocation Loc

void PushOnScopeChains(clang::NamedDecl* D,
                       clang::Scope* S,
                       bool AddToContext = true)

Description

Add this decl to the scope shadowed decl chains.

Declared at: clang/include/clang/Sema/Sema.h:3467

Parameters

clang::NamedDecl* D
clang::Scope* S
bool AddToContext = true

clang::Sema::ParsingClassState PushParsingClass()

Declared at: clang/include/clang/Sema/Sema.h:5205

clang::Sema::ParsingDeclState
PushParsingDeclaration(
    sema::DelayedDiagnosticPool& pool)

Declared at: clang/include/clang/Sema/Sema.h:5199

Parameters

sema::DelayedDiagnosticPool& pool

void PushUsingDirective(
    clang::Scope* S,
    clang::UsingDirectiveDecl* UDir)

Declared at: clang/include/clang/Sema/Sema.h:6001

Parameters

clang::Scope* S
clang::UsingDirectiveDecl* UDir

void ReadMethodPool(clang::Selector Sel)

Declared at: clang/include/clang/Sema/Sema.h:1554

Parameters

clang::Selector Sel

clang::ExprResult
RebuildExprInCurrentInstantiation(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:8251

Parameters

clang::Expr* E

bool RebuildNestedNameSpecifierInCurrentInstantiation(
    clang::CXXScopeSpec& SS)

Declared at: clang/include/clang/Sema/Sema.h:8249

Parameters

clang::CXXScopeSpec& SS

bool RebuildTemplateParamsInCurrentInstantiation(
    clang::TemplateParameterList* Params)

Declared at: clang/include/clang/Sema/Sema.h:8252

Parameters

clang::TemplateParameterList* Params

clang::TypeSourceInfo*
RebuildTypeInCurrentInstantiation(
    clang::TypeSourceInfo* T,
    clang::SourceLocation Loc,
    clang::DeclarationName Name)

Declared at: clang/include/clang/Sema/Sema.h:8246

Parameters

clang::TypeSourceInfo* T
clang::SourceLocation Loc
clang::DeclarationName Name

void RecordParsingTemplateParameterDepth(
    unsigned int Depth)

Description

This is used to inform Sema what the current TemplateParameterDepth is during Parsing. Currently it is used to pass on the depth when parsing generic lambda 'auto' parameters.

Declared at: clang/include/clang/Sema/Sema.h:1926

Parameters

unsigned int Depth

void RefersToMemberWithReducedAlignment(
    clang::Expr* E,
    llvm::function_ref<void(Expr*,
                            RecordDecl*,
                            FieldDecl*,
                            CharUnits)> Action)

Description

This function calls Action when it determines that E designates a misaligned member due to the packed attribute. This is used to emit local diagnostics like in reference binding.

Declared at: clang/include/clang/Sema/Sema.h:13481

Parameters

clang::Expr* E
llvm::function_ref<void(Expr*, RecordDecl*, FieldDecl*, CharUnits)> Action

void RegisterLocallyScopedExternCDecl(
    clang::NamedDecl* ND,
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:2804

Parameters

clang::NamedDecl* ND
clang::Scope* S

void RegisterTypeTagForDatatype(
    const clang::IdentifierInfo* ArgumentKind,
    uint64_t MagicValue,
    clang::QualType Type,
    bool LayoutCompatible,
    bool MustBeNull)

Description

Register a magic integral constant to be used as a type tag.

Declared at: clang/include/clang/Sema/Sema.h:13278

Parameters

const clang::IdentifierInfo* ArgumentKind
uint64_t MagicValue
clang::QualType Type
bool LayoutCompatible
bool MustBeNull

clang::QualType ReplaceAutoType(
    clang::QualType TypeWithAuto,
    clang::QualType Replacement)

Description

Completely replace the \c auto in \p TypeWithAuto by\p Replacement. This does not retain any \c auto type sugar.

Declared at: clang/include/clang/Sema/Sema.h:8833

Parameters

clang::QualType TypeWithAuto
clang::QualType Replacement

clang::TypeSourceInfo* ReplaceAutoTypeSourceInfo(
    clang::TypeSourceInfo* TypeWithAuto,
    clang::QualType Replacement)

Declared at: clang/include/clang/Sema/Sema.h:8834

Parameters

clang::TypeSourceInfo* TypeWithAuto
clang::QualType Replacement

bool RequireCompleteDeclContext(
    clang::CXXScopeSpec& SS,
    clang::DeclContext* DC)

Declared at: clang/include/clang/Sema/Sema.h:6728

Parameters

clang::CXXScopeSpec& SS
clang::DeclContext* DC

bool RequireCompleteEnumDecl(
    clang::EnumDecl* D,
    clang::SourceLocation L,
    clang::CXXScopeSpec* SS = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:6730

Parameters

clang::EnumDecl* D
clang::SourceLocation L
clang::CXXScopeSpec* SS = nullptr

bool RequireCompleteExprType(
    clang::Expr* E,
    clang::Sema::CompleteTypeKind Kind,
    clang::Sema::TypeDiagnoser& Diagnoser)

Declared at: clang/include/clang/Sema/Sema.h:2470

Parameters

clang::Expr* E
clang::Sema::CompleteTypeKind Kind
clang::Sema::TypeDiagnoser& Diagnoser

bool RequireCompleteExprType(clang::Expr* E,
                             unsigned int DiagID)

Declared at: clang/include/clang/Sema/Sema.h:2472

Parameters

clang::Expr* E
unsigned int DiagID

template <typename... Ts>
bool RequireCompleteExprType(clang::Expr* E,
                             unsigned int DiagID,
                             const Ts&... Args)

Declared at: clang/include/clang/Sema/Sema.h:2475

Templates

Ts

Parameters

clang::Expr* E
unsigned int DiagID
const Ts&... Args

template <typename... Ts>
bool RequireCompleteSizedExprType(
    clang::Expr* E,
    unsigned int DiagID,
    const Ts&... Args)

Declared at: clang/include/clang/Sema/Sema.h:2481

Templates

Ts

Parameters

clang::Expr* E
unsigned int DiagID
const Ts&... Args

template <typename... Ts>
bool RequireCompleteSizedType(
    clang::SourceLocation Loc,
    clang::QualType T,
    unsigned int DiagID,
    const Ts&... Args)

Declared at: clang/include/clang/Sema/Sema.h:2453

Templates

Ts

Parameters

clang::SourceLocation Loc
clang::QualType T
unsigned int DiagID
const Ts&... Args

bool RequireCompleteType(
    clang::SourceLocation Loc,
    clang::QualType T,
    unsigned int DiagID)

Declared at: clang/include/clang/Sema/Sema.h:2441

Parameters

clang::SourceLocation Loc
clang::QualType T
unsigned int DiagID

bool RequireCompleteType(
    clang::SourceLocation Loc,
    clang::QualType T,
    clang::Sema::TypeDiagnoser& Diagnoser)

Declared at: clang/include/clang/Sema/Sema.h:2437

Parameters

clang::SourceLocation Loc
clang::QualType T
clang::Sema::TypeDiagnoser& Diagnoser

bool RequireCompleteType(
    clang::SourceLocation Loc,
    clang::QualType T,
    clang::Sema::CompleteTypeKind Kind,
    unsigned int DiagID)

Declared at: clang/include/clang/Sema/Sema.h:2434

Parameters

clang::SourceLocation Loc
clang::QualType T
clang::Sema::CompleteTypeKind Kind
unsigned int DiagID

bool RequireCompleteType(
    clang::SourceLocation Loc,
    clang::QualType T,
    clang::Sema::CompleteTypeKind Kind,
    clang::Sema::TypeDiagnoser& Diagnoser)

Declared at: clang/include/clang/Sema/Sema.h:2432

Parameters

clang::SourceLocation Loc
clang::QualType T
clang::Sema::CompleteTypeKind Kind
clang::Sema::TypeDiagnoser& Diagnoser

template <typename... Ts>
bool RequireCompleteType(
    clang::SourceLocation Loc,
    clang::QualType T,
    unsigned int DiagID,
    const Ts&... Args)

Declared at: clang/include/clang/Sema/Sema.h:2446

Templates

Ts

Parameters

clang::SourceLocation Loc
clang::QualType T
unsigned int DiagID
const Ts&... Args

bool RequireCompleteTypeImpl(
    clang::SourceLocation Loc,
    clang::QualType T,
    clang::Sema::CompleteTypeKind Kind,
    clang::Sema::TypeDiagnoser* Diagnoser)

Declared at: clang/include/clang/Sema/Sema.h:2239

Parameters

clang::SourceLocation Loc
clang::QualType T
clang::Sema::CompleteTypeKind Kind
clang::Sema::TypeDiagnoser* Diagnoser

bool RequireLiteralType(clang::SourceLocation Loc,
                        clang::QualType T,
                        unsigned int DiagID)

Declared at: clang/include/clang/Sema/Sema.h:2489

Parameters

clang::SourceLocation Loc
clang::QualType T
unsigned int DiagID

bool RequireLiteralType(
    clang::SourceLocation Loc,
    clang::QualType T,
    clang::Sema::TypeDiagnoser& Diagnoser)

Declared at: clang/include/clang/Sema/Sema.h:2487

Parameters

clang::SourceLocation Loc
clang::QualType T
clang::Sema::TypeDiagnoser& Diagnoser

template <typename... Ts>
bool RequireLiteralType(clang::SourceLocation Loc,
                        clang::QualType T,
                        unsigned int DiagID,
                        const Ts&... Args)

Declared at: clang/include/clang/Sema/Sema.h:2492

Templates

Ts

Parameters

clang::SourceLocation Loc
clang::QualType T
unsigned int DiagID
const Ts&... Args

template <typename... Ts>
bool RequireNonAbstractType(
    clang::SourceLocation Loc,
    clang::QualType T,
    unsigned int DiagID,
    const Ts&... Args)

Declared at: clang/include/clang/Sema/Sema.h:7698

Templates

Ts

Parameters

clang::SourceLocation Loc
clang::QualType T
unsigned int DiagID
const Ts&... Args

bool RequireNonAbstractType(
    clang::SourceLocation Loc,
    clang::QualType T,
    clang::Sema::TypeDiagnoser& Diagnoser)

Declared at: clang/include/clang/Sema/Sema.h:7695

Parameters

clang::SourceLocation Loc
clang::QualType T
clang::Sema::TypeDiagnoser& Diagnoser

bool RequireStructuralType(
    clang::QualType T,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:7849

Parameters

clang::QualType T
clang::SourceLocation Loc

clang::FunctionDecl*
ResolveAddressOfOverloadedFunction(
    clang::Expr* AddressOfExpr,
    clang::QualType TargetType,
    bool Complain,
    clang::DeclAccessPair& Found,
    bool* pHadMultipleCandidates = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4003

Parameters

clang::Expr* AddressOfExpr
clang::QualType TargetType
bool Complain
clang::DeclAccessPair& Found
bool* pHadMultipleCandidates = nullptr

bool ResolveAndFixSingleFunctionTemplateSpecialization(
    clang::ExprResult& SrcExpr,
    bool DoFunctionPointerConverion = false,
    bool Complain = false,
    clang::SourceRange OpRangeForComplaining =
        clang::SourceRange(),
    clang::QualType DestTypeForComplaining =
        clang::QualType(),
    unsigned int DiagIDForComplaining = 0)

Declared at: clang/include/clang/Sema/Sema.h:4020

Parameters

clang::ExprResult& SrcExpr
bool DoFunctionPointerConverion = false
bool Complain = false
clang::SourceRange OpRangeForComplaining = clang::SourceRange()
clang::QualType DestTypeForComplaining = clang::QualType()
unsigned int DiagIDForComplaining = 0

const clang::FunctionProtoType*
ResolveExceptionSpec(
    clang::SourceLocation Loc,
    const clang::FunctionProtoType* FPT)

Declared at: clang/include/clang/Sema/Sema.h:2098

Parameters

clang::SourceLocation Loc
const clang::FunctionProtoType* FPT

clang::FunctionDecl*
ResolveSingleFunctionTemplateSpecialization(
    clang::OverloadExpr* ovl,
    bool Complain = false,
    clang::DeclAccessPair* Found = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4016

Parameters

clang::OverloadExpr* ovl
bool Complain = false
clang::DeclAccessPair* Found = nullptr

void RestoreNestedNameSpecifierAnnotation(
    void* Annotation,
    clang::SourceRange AnnotationRange,
    clang::CXXScopeSpec& SS)

Description

Given an annotation pointer for a nested-name-specifier, restore the nested-name-specifier structure.

Declared at: clang/include/clang/Sema/Sema.h:6904

Parameters

void* Annotation
The annotation pointer, produced by\c SaveNestedNameSpecifierAnnotation().
clang::SourceRange AnnotationRange
The source range corresponding to the annotation.
clang::CXXScopeSpec& SS
The nested-name-specifier that will be updated with the contents of the annotation pointer.

clang::Sema::SemaDiagnosticBuilder
SYCLDiagIfDeviceCode(clang::SourceLocation Loc,
                     unsigned int DiagID)

Description

Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as device code". - If CurLexicalContext is a kernel function or it is known that the function will be emitted for the device, emits the diagnostics immediately. - If CurLexicalContext is a function and we are compiling for the device, but we don't know that this function will be codegen'ed for devive yet, creates a diagnostic which is emitted if and when we realize that the function will be codegen'ed. Example usage: Diagnose __float128 type usage only from SYCL device code if the current target doesn't support it if (!S.Context.getTargetInfo().hasFloat128Type() & & S.getLangOpts().SYCLIsDevice) SYCLDiagIfDeviceCode(Loc, diag::err_type_unsupported) < < "__float128";

Declared at: clang/include/clang/Sema/Sema.h:13512

Parameters

clang::SourceLocation Loc
unsigned int DiagID

void* SaveNestedNameSpecifierAnnotation(
    clang::CXXScopeSpec& SS)

Description

Given a C++ nested-name-specifier, produce an annotation value that the parser can use later to reconstruct the given nested-name-specifier.

Declared at: clang/include/clang/Sema/Sema.h:6892

Parameters

clang::CXXScopeSpec& SS
A nested-name-specifier.

Returns

A pointer containing all of the information in the nested-name-specifier \p SS.

static clang::CastKind
ScalarTypeToBooleanCastKind(
    clang::QualType ScalarTy)

Description

ScalarTypeToBooleanCastKind - Returns the cast kind corresponding to the conversion from scalar type ScalarTy to the Boolean type.

Declared at: clang/include/clang/Sema/Sema.h:11860

Parameters

clang::QualType ScalarTy

clang::ObjCMethodDecl* SelectBestMethod(
    clang::Selector Sel,
    clang::MultiExprArg Args,
    bool IsInstance,
    SmallVectorImpl<clang::ObjCMethodDecl*>&
        Methods)

Description

- Returns a selector which best matches given argument list or nullptr if none could be found

Declared at: clang/include/clang/Sema/Sema.h:4792

Parameters

clang::Selector Sel
clang::MultiExprArg Args
bool IsInstance
SmallVectorImpl<clang::ObjCMethodDecl*>& Methods

const clang::ObjCMethodDecl*
SelectorsForTypoCorrection(
    clang::Selector Sel,
    clang::QualType ObjectType =
        clang::QualType())

Declared at: clang/include/clang/Sema/Sema.h:4839

Parameters

clang::Selector Sel
clang::QualType ObjectType = clang::QualType()

Sema(const clang::Sema&)

Declared at: clang/include/clang/Sema/Sema.h:356

Parameters

const clang::Sema&

Sema(clang::Preprocessor& pp,
     clang::ASTContext& ctxt,
     clang::ASTConsumer& consumer,
     clang::TranslationUnitKind TUKind =
         TU_Complete,
     clang::CodeCompleteConsumer*
         CompletionConsumer = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:1602

Parameters

clang::Preprocessor& pp
clang::ASTContext& ctxt
clang::ASTConsumer& consumer
clang::TranslationUnitKind TUKind = TU_Complete
clang::CodeCompleteConsumer* CompletionConsumer = nullptr

clang::ExprResult SemaAtomicOpsOverloaded(
    clang::ExprResult TheCallResult,
    AtomicExpr::AtomicOp Op)

Declared at: clang/include/clang/Sema/Sema.h:13147

Parameters

clang::ExprResult TheCallResult
AtomicExpr::AtomicOp Op

bool SemaBuiltinARMMemoryTaggingCall(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13165

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool SemaBuiltinARMSpecialReg(
    unsigned int BuiltinID,
    clang::CallExpr* TheCall,
    int ArgNum,
    unsigned int ExpectedFieldNum,
    bool AllowName)

Declared at: clang/include/clang/Sema/Sema.h:13162

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall
int ArgNum
unsigned int ExpectedFieldNum
bool AllowName

bool SemaBuiltinAllocaWithAlign(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13139

Parameters

clang::CallExpr* TheCall

bool SemaBuiltinArithmeticFence(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13140

Parameters

clang::CallExpr* TheCall

bool SemaBuiltinAssume(clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13141

Parameters

clang::CallExpr* TheCall

bool SemaBuiltinAssumeAligned(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13142

Parameters

clang::CallExpr* TheCall

clang::ExprResult SemaBuiltinAtomicOverloaded(
    clang::ExprResult TheCallResult)

Declared at: clang/include/clang/Sema/Sema.h:13145

Parameters

clang::ExprResult TheCallResult

bool SemaBuiltinComplex(clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13125

Parameters

clang::CallExpr* TheCall

bool SemaBuiltinConstantArg(
    clang::CallExpr* TheCall,
    int ArgNum,
    llvm::APSInt& Result)

Declared at: clang/include/clang/Sema/Sema.h:13151

Parameters

clang::CallExpr* TheCall
int ArgNum
llvm::APSInt& Result

bool SemaBuiltinConstantArgMultiple(
    clang::CallExpr* TheCall,
    int ArgNum,
    unsigned int Multiple)

Declared at: clang/include/clang/Sema/Sema.h:13155

Parameters

clang::CallExpr* TheCall
int ArgNum
unsigned int Multiple

bool SemaBuiltinConstantArgPower2(
    clang::CallExpr* TheCall,
    int ArgNum)

Declared at: clang/include/clang/Sema/Sema.h:13157

Parameters

clang::CallExpr* TheCall
int ArgNum

bool SemaBuiltinConstantArgRange(
    clang::CallExpr* TheCall,
    int ArgNum,
    int Low,
    int High,
    bool RangeIsError = true)

Declared at: clang/include/clang/Sema/Sema.h:13153

Parameters

clang::CallExpr* TheCall
int ArgNum
int Low
int High
bool RangeIsError = true

bool SemaBuiltinConstantArgShiftedByte(
    clang::CallExpr* TheCall,
    int ArgNum,
    unsigned int ArgBits)

Declared at: clang/include/clang/Sema/Sema.h:13158

Parameters

clang::CallExpr* TheCall
int ArgNum
unsigned int ArgBits

bool SemaBuiltinConstantArgShiftedByteOrXXFF(
    clang::CallExpr* TheCall,
    int ArgNum,
    unsigned int ArgBits)

Declared at: clang/include/clang/Sema/Sema.h:13160

Parameters

clang::CallExpr* TheCall
int ArgNum
unsigned int ArgBits

bool SemaBuiltinElementwiseMath(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13171

Parameters

clang::CallExpr* TheCall

bool SemaBuiltinFPClassification(
    clang::CallExpr* TheCall,
    unsigned int NumArgs)

Declared at: clang/include/clang/Sema/Sema.h:13124

Parameters

clang::CallExpr* TheCall
unsigned int NumArgs

bool SemaBuiltinLongjmp(clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13143

Parameters

clang::CallExpr* TheCall

clang::ExprResult
SemaBuiltinMatrixColumnMajorLoad(
    clang::CallExpr* TheCall,
    clang::ExprResult CallResult)

Declared at: clang/include/clang/Sema/Sema.h:13178

Parameters

clang::CallExpr* TheCall
clang::ExprResult CallResult

clang::ExprResult
SemaBuiltinMatrixColumnMajorStore(
    clang::CallExpr* TheCall,
    clang::ExprResult CallResult)

Declared at: clang/include/clang/Sema/Sema.h:13180

Parameters

clang::CallExpr* TheCall
clang::ExprResult CallResult

clang::ExprResult SemaBuiltinMatrixTranspose(
    clang::CallExpr* TheCall,
    clang::ExprResult CallResult)

Declared at: clang/include/clang/Sema/Sema.h:13176

Parameters

clang::CallExpr* TheCall
clang::ExprResult CallResult

clang::ExprResult
SemaBuiltinNontemporalOverloaded(
    clang::ExprResult TheCallResult)

Declared at: clang/include/clang/Sema/Sema.h:13146

Parameters

clang::ExprResult TheCallResult

bool SemaBuiltinOSLogFormat(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13127

Parameters

clang::CallExpr* TheCall

clang::ExprResult
SemaBuiltinOperatorNewDeleteOverloaded(
    clang::ExprResult TheCallResult,
    bool IsDelete)

Declared at: clang/include/clang/Sema/Sema.h:13149

Parameters

clang::ExprResult TheCallResult
bool IsDelete

bool SemaBuiltinPPCMMACall(
    clang::CallExpr* TheCall,
    unsigned int BuiltinID,
    const char* TypeDesc)

Declared at: clang/include/clang/Sema/Sema.h:13166

Parameters

clang::CallExpr* TheCall
unsigned int BuiltinID
const char* TypeDesc

bool SemaBuiltinPrefetch(clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13138

Parameters

clang::CallExpr* TheCall

bool SemaBuiltinSetjmp(clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13144

Parameters

clang::CallExpr* TheCall

clang::ExprResult SemaBuiltinShuffleVector(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13132

Parameters

clang::CallExpr* TheCall

bool SemaBuiltinUnorderedCompare(
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13123

Parameters

clang::CallExpr* TheCall

bool SemaBuiltinVAStart(unsigned int BuiltinID,
                        clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13121

Parameters

unsigned int BuiltinID
clang::CallExpr* TheCall

bool SemaBuiltinVAStartARMMicrosoft(
    clang::CallExpr* Call)

Declared at: clang/include/clang/Sema/Sema.h:13122

Parameters

clang::CallExpr* Call

bool SemaBuiltinVSX(clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13126

Parameters

clang::CallExpr* TheCall

clang::ExprResult SemaConvertVectorExpr(
    clang::Expr* E,
    clang::TypeSourceInfo* TInfo,
    clang::SourceLocation BuiltinLoc,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Sema/Sema.h:13133

Parameters

clang::Expr* E
clang::TypeSourceInfo* TInfo
clang::SourceLocation BuiltinLoc
clang::SourceLocation RParenLoc

bool SemaValueIsRunOfOnes(
    clang::CallExpr* TheCall,
    unsigned int ArgNum)

Declared at: clang/include/clang/Sema/Sema.h:13128

Parameters

clang::CallExpr* TheCall
unsigned int ArgNum

bool SetCtorInitializers(
    clang::CXXConstructorDecl* Constructor,
    bool AnyErrors,
    ArrayRef<clang::CXXCtorInitializer*>
        Initializers = None)

Declared at: clang/include/clang/Sema/Sema.h:7352

Parameters

clang::CXXConstructorDecl* Constructor
bool AnyErrors
ArrayRef<clang::CXXCtorInitializer*> Initializers = None

void SetDeclDefaulted(
    clang::Decl* dcl,
    clang::SourceLocation DefaultLoc)

Declared at: clang/include/clang/Sema/Sema.h:2975

Parameters

clang::Decl* dcl
clang::SourceLocation DefaultLoc

void SetDeclDeleted(clang::Decl* dcl,
                    clang::SourceLocation DelLoc)

Declared at: clang/include/clang/Sema/Sema.h:2974

Parameters

clang::Decl* dcl
clang::SourceLocation DelLoc

bool SetDelegatingInitializer(
    clang::CXXConstructorDecl* Constructor,
    clang::CXXCtorInitializer* Initializer)

Declared at: clang/include/clang/Sema/Sema.h:7349

Parameters

clang::CXXConstructorDecl* Constructor
clang::CXXCtorInitializer* Initializer

void SetFunctionBodyKind(
    clang::Decl* D,
    clang::SourceLocation Loc,
    clang::Sema::FnBodyKind BodyKind)

Declared at: clang/include/clang/Sema/Sema.h:3011

Parameters

clang::Decl* D
clang::SourceLocation Loc
clang::Sema::FnBodyKind BodyKind

void SetIvarInitializers(
    clang::ObjCImplementationDecl*
        ObjCImplementation)

Declared at: clang/include/clang/Sema/Sema.h:7355

Parameters

clang::ObjCImplementationDecl* ObjCImplementation

void SetLateTemplateParser(
    clang::Sema::LateTemplateParserCB* LTP,
    clang::Sema::LateTemplateParserCleanupCB*
        LTPCleanup,
    void* P)

Declared at: clang/include/clang/Sema/Sema.h:920

Parameters

clang::Sema::LateTemplateParserCB* LTP
clang::Sema::LateTemplateParserCleanupCB* LTPCleanup
void* P

bool SetMemberAccessSpecifier(
    clang::NamedDecl* MemberDecl,
    clang::NamedDecl* PrevMemberDecl,
    clang::AccessSpecifier LexicalAS)

Declared at: clang/include/clang/Sema/Sema.h:7605

Parameters

clang::NamedDecl* MemberDecl
clang::NamedDecl* PrevMemberDecl
clang::AccessSpecifier LexicalAS

void SetParamDefaultArgument(
    clang::ParmVarDecl* Param,
    clang::Expr* DefaultArg,
    clang::SourceLocation EqualLoc)

Declared at: clang/include/clang/Sema/Sema.h:2920

Parameters

clang::ParmVarDecl* Param
clang::Expr* DefaultArg
clang::SourceLocation EqualLoc

bool ShouldDeleteSpecialMember(
    clang::CXXMethodDecl* MD,
    clang::Sema::CXXSpecialMember CSM,
    clang::Sema::InheritedConstructorInfo* ICI =
        nullptr,
    bool Diagnose = false)

Description

Determine if a special member function should have a deleted definition when it is defaulted.

Declared at: clang/include/clang/Sema/Sema.h:6226

Parameters

clang::CXXMethodDecl* MD
clang::Sema::CXXSpecialMember CSM
clang::Sema::InheritedConstructorInfo* ICI = nullptr
bool Diagnose = false

bool ShouldEnterDeclaratorScope(
    clang::Scope* S,
    const clang::CXXScopeSpec& SS)

Declared at: clang/include/clang/Sema/Sema.h:6908

Parameters

clang::Scope* S
const clang::CXXScopeSpec& SS

bool ShouldSplatAltivecScalarInCast(
    const clang::VectorType* VecTy)

Declared at: clang/include/clang/Sema/Sema.h:6389

Parameters

const clang::VectorType* VecTy

bool ShouldWarnIfUnusedFileScopedDecl(
    const clang::DeclaratorDecl* D) const

Declared at: clang/include/clang/Sema/Sema.h:5151

Parameters

const clang::DeclaratorDecl* D

bool SpecialMemberIsTrivial(
    clang::CXXMethodDecl* MD,
    clang::Sema::CXXSpecialMember CSM,
    clang::Sema::TrivialABIHandling TAH =
        TAH_IgnoreTrivialABI,
    bool Diagnose = false)

Declared at: clang/include/clang/Sema/Sema.h:3300

Parameters

clang::CXXMethodDecl* MD
clang::Sema::CXXSpecialMember CSM
clang::Sema::TrivialABIHandling TAH = TAH_IgnoreTrivialABI
bool Diagnose = false

void StartOpenMPClause(clang::OpenMPClauseKind K)

Description

Start analysis of clauses.

Declared at: clang/include/clang/Sema/Sema.h:10801

Parameters

clang::OpenMPClauseKind K

void StartOpenMPDSABlock(
    clang::OpenMPDirectiveKind K,
    const clang::DeclarationNameInfo& DirName,
    clang::Scope* CurScope,
    clang::SourceLocation Loc)

Description

Called on start of new data sharing attribute block.

Declared at: clang/include/clang/Sema/Sema.h:10797

Parameters

clang::OpenMPDirectiveKind K
const clang::DeclarationNameInfo& DirName
clang::Scope* CurScope
clang::SourceLocation Loc

clang::QualType SubstAutoType(
    clang::QualType TypeWithAuto,
    clang::QualType Replacement)

Description

Substitute Replacement for \p auto in \p TypeWithAuto

Declared at: clang/include/clang/Sema/Sema.h:8819

Parameters

clang::QualType TypeWithAuto
clang::QualType Replacement

clang::QualType SubstAutoTypeDependent(
    clang::QualType TypeWithAuto)

Declared at: clang/include/clang/Sema/Sema.h:8825

Parameters

clang::QualType TypeWithAuto

clang::TypeSourceInfo* SubstAutoTypeSourceInfo(
    clang::TypeSourceInfo* TypeWithAuto,
    clang::QualType Replacement)

Description

Substitute Replacement for auto in TypeWithAuto

Declared at: clang/include/clang/Sema/Sema.h:8821

Parameters

clang::TypeSourceInfo* TypeWithAuto
clang::QualType Replacement

clang::TypeSourceInfo*
SubstAutoTypeSourceInfoDependent(
    clang::TypeSourceInfo* TypeWithAuto)

Declared at: clang/include/clang/Sema/Sema.h:8829

Parameters

clang::TypeSourceInfo* TypeWithAuto

bool SubstBaseSpecifiers(
    clang::CXXRecordDecl* Instantiation,
    clang::CXXRecordDecl* Pattern,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9708

Parameters

clang::CXXRecordDecl* Instantiation
clang::CXXRecordDecl* Pattern
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::Decl* SubstDecl(
    clang::Decl* D,
    clang::DeclContext* Owner,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9695

Parameters

clang::Decl* D
clang::DeclContext* Owner
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::DeclarationNameInfo
SubstDeclarationNameInfo(
    const clang::DeclarationNameInfo& NameInfo,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9777

Parameters

const clang::DeclarationNameInfo& NameInfo
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::TemplateArgumentLoc
SubstDefaultTemplateArgumentIfAvailable(
    clang::TemplateDecl* Template,
    clang::SourceLocation TemplateLoc,
    clang::SourceLocation RAngleLoc,
    clang::Decl* Param,
    SmallVectorImpl<clang::TemplateArgument>&
        Converted,
    bool& HasDefaultArg)

Declared at: clang/include/clang/Sema/Sema.h:8058

Parameters

clang::TemplateDecl* Template
clang::SourceLocation TemplateLoc
clang::SourceLocation RAngleLoc
clang::Decl* Param
SmallVectorImpl<clang::TemplateArgument>& Converted
bool& HasDefaultArg

bool SubstExceptionSpec(
    clang::SourceLocation Loc,
    FunctionProtoType::ExceptionSpecInfo& ESI,
    SmallVectorImpl<clang::QualType>&
        ExceptionStorage,
    const clang::MultiLevelTemplateArgumentList&
        Args)

Declared at: clang/include/clang/Sema/Sema.h:9647

Parameters

clang::SourceLocation Loc
FunctionProtoType::ExceptionSpecInfo& ESI
SmallVectorImpl<clang::QualType>& ExceptionStorage
const clang::MultiLevelTemplateArgumentList& Args

void SubstExceptionSpec(
    clang::FunctionDecl* New,
    const clang::FunctionProtoType* Proto,
    const clang::MultiLevelTemplateArgumentList&
        Args)

Declared at: clang/include/clang/Sema/Sema.h:9645

Parameters

clang::FunctionDecl* New
const clang::FunctionProtoType* Proto
const clang::MultiLevelTemplateArgumentList& Args

clang::ExprResult SubstExpr(
    clang::Expr* E,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9662

Parameters

clang::Expr* E
const clang::MultiLevelTemplateArgumentList& TemplateArgs

bool SubstExprs(
    ArrayRef<clang::Expr*> Exprs,
    bool IsCall,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    SmallVectorImpl<clang::Expr*>& Outputs)

Description

Substitute the given template arguments into a list of expressions, expanding pack expansions if required.

Declared at: clang/include/clang/Sema/Sema.h:9678

Parameters

ArrayRef<clang::Expr*> Exprs
The list of expressions to substitute into.
bool IsCall
Whether this is some form of call, in which case default arguments will be dropped.
const clang::MultiLevelTemplateArgumentList& TemplateArgs
The set of template arguments to substitute.
SmallVectorImpl<clang::Expr*>& Outputs
Will receive all of the substituted arguments.

Returns

true if an error occurred, false otherwise.

clang::TypeSourceInfo* SubstFunctionDeclType(
    clang::TypeSourceInfo* T,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity,
    clang::CXXRecordDecl* ThisContext,
    clang::Qualifiers ThisTypeQuals)

Declared at: clang/include/clang/Sema/Sema.h:9639

Parameters

clang::TypeSourceInfo* T
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::SourceLocation Loc
clang::DeclarationName Entity
clang::CXXRecordDecl* ThisContext
clang::Qualifiers ThisTypeQuals

clang::ExprResult SubstInitializer(
    clang::Expr* E,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    bool CXXDirectInit)

Declared at: clang/include/clang/Sema/Sema.h:9703

Parameters

clang::Expr* E
const clang::MultiLevelTemplateArgumentList& TemplateArgs
bool CXXDirectInit

clang::NestedNameSpecifierLoc
SubstNestedNameSpecifierLoc(
    clang::NestedNameSpecifierLoc NNS,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9773

Parameters

clang::NestedNameSpecifierLoc NNS
const clang::MultiLevelTemplateArgumentList& TemplateArgs

bool SubstParmTypes(
    clang::SourceLocation Loc,
    ArrayRef<clang::ParmVarDecl*> Params,
    const FunctionProtoType::ExtParameterInfo*
        ExtParamInfos,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    SmallVectorImpl<clang::QualType>& ParamTypes,
    SmallVectorImpl<clang::ParmVarDecl*>*
        OutParams,
    clang::Sema::ExtParameterInfoBuilder&
        ParamInfos)

Declared at: clang/include/clang/Sema/Sema.h:9656

Parameters

clang::SourceLocation Loc
ArrayRef<clang::ParmVarDecl*> Params
const FunctionProtoType::ExtParameterInfo* ExtParamInfos
const clang::MultiLevelTemplateArgumentList& TemplateArgs
SmallVectorImpl<clang::QualType>& ParamTypes
SmallVectorImpl<clang::ParmVarDecl*>* OutParams
clang::Sema::ExtParameterInfoBuilder& ParamInfos

clang::ParmVarDecl* SubstParmVarDecl(
    clang::ParmVarDecl* D,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    int indexAdjustment,
    Optional<unsigned int> NumExpansions,
    bool ExpectParameterPack)

Declared at: clang/include/clang/Sema/Sema.h:9651

Parameters

clang::ParmVarDecl* D
const clang::MultiLevelTemplateArgumentList& TemplateArgs
int indexAdjustment
Optional<unsigned int> NumExpansions
bool ExpectParameterPack

clang::FunctionDecl* SubstSpaceshipAsEqualEqual(
    clang::CXXRecordDecl* RD,
    clang::FunctionDecl* Spaceship)

Description

Substitute the name and return type of a defaulted 'operator < =>' to form an implicit 'operator=='.

Declared at: clang/include/clang/Sema/Sema.h:9700

Parameters

clang::CXXRecordDecl* RD
clang::FunctionDecl* Spaceship

clang::StmtResult SubstStmt(
    clang::Stmt* S,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9682

Parameters

clang::Stmt* S
const clang::MultiLevelTemplateArgumentList& TemplateArgs

bool SubstTemplateArguments(
    ArrayRef<clang::TemplateArgumentLoc> Args,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::TemplateArgumentListInfo& Outputs)

Declared at: clang/include/clang/Sema/Sema.h:9690

Parameters

ArrayRef<clang::TemplateArgumentLoc> Args
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::TemplateArgumentListInfo& Outputs

clang::TemplateName SubstTemplateName(
    clang::NestedNameSpecifierLoc QualifierLoc,
    clang::TemplateName Name,
    clang::SourceLocation Loc,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9780

Parameters

clang::NestedNameSpecifierLoc QualifierLoc
clang::TemplateName Name
clang::SourceLocation Loc
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::TemplateParameterList* SubstTemplateParams(
    clang::TemplateParameterList* Params,
    clang::DeclContext* Owner,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9686

Parameters

clang::TemplateParameterList* Params
clang::DeclContext* Owner
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::TypeSourceInfo* SubstType(
    clang::TypeSourceInfo* T,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity,
    bool AllowDeducedTST = false)

Declared at: clang/include/clang/Sema/Sema.h:9626

Parameters

clang::TypeSourceInfo* T
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::SourceLocation Loc
clang::DeclarationName Entity
bool AllowDeducedTST = false

clang::QualType SubstType(
    clang::QualType T,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity)

Declared at: clang/include/clang/Sema/Sema.h:9631

Parameters

clang::QualType T
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::SourceLocation Loc
clang::DeclarationName Entity

clang::TypeSourceInfo* SubstType(
    clang::TypeLoc TL,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs,
    clang::SourceLocation Loc,
    clang::DeclarationName Entity)

Declared at: clang/include/clang/Sema/Sema.h:9635

Parameters

clang::TypeLoc TL
const clang::MultiLevelTemplateArgumentList& TemplateArgs
clang::SourceLocation Loc
clang::DeclarationName Entity

bool SubstTypeConstraint(
    clang::TemplateTypeParmDecl* Inst,
    const clang::TypeConstraint* TC,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Declared at: clang/include/clang/Sema/Sema.h:9784

Parameters

clang::TemplateTypeParmDecl* Inst
const clang::TypeConstraint* TC
const clang::MultiLevelTemplateArgumentList& TemplateArgs

clang::Sema::TemplateDeductionResult
SubstituteExplicitTemplateArguments(
    clang::FunctionTemplateDecl* FunctionTemplate,
    clang::TemplateArgumentListInfo&
        ExplicitTemplateArgs,
    SmallVectorImpl<
        clang::DeducedTemplateArgument>& Deduced,
    SmallVectorImpl<clang::QualType>& ParamTypes,
    clang::QualType* FunctionType,
    sema::TemplateDeductionInfo& Info)

Declared at: clang/include/clang/Sema/Sema.h:8759

Parameters

clang::FunctionTemplateDecl* FunctionTemplate
clang::TemplateArgumentListInfo& ExplicitTemplateArgs
SmallVectorImpl<clang::DeducedTemplateArgument>& Deduced
SmallVectorImpl<clang::QualType>& ParamTypes
clang::QualType* FunctionType
sema::TemplateDeductionInfo& Info

bool TemplateParameterListsAreEqual(
    clang::TemplateParameterList* New,
    clang::TemplateParameterList* Old,
    bool Complain,
    clang::Sema::TemplateParameterListEqualKind
        Kind,
    clang::SourceLocation TemplateArgLoc =
        clang::SourceLocation())

Declared at: clang/include/clang/Sema/Sema.h:8183

Parameters

clang::TemplateParameterList* New
clang::TemplateParameterList* Old
bool Complain
clang::Sema::TemplateParameterListEqualKind Kind
clang::SourceLocation TemplateArgLoc = clang::SourceLocation()

clang::ExprResult
TemporaryMaterializationConversion(clang::Expr* E)

Description

If \p E is a prvalue denoting an unmaterialized temporary, materialize it as an xvalue. In C++98, the result will still be a prvalue, because we don't have xvalues there.

Declared at: clang/include/clang/Sema/Sema.h:11898

Parameters

clang::Expr* E

static bool TooManyArguments(
    size_t NumParams,
    size_t NumArgs,
    bool PartialOverloading = false)

Description

To be used for checking whether the arguments being passed to function exceeds the number of parameters expected for it.

Declared at: clang/include/clang/Sema/Sema.h:13397

Parameters

size_t NumParams
size_t NumArgs
bool PartialOverloading = false

clang::TypeSourceInfo*
TransformToPotentiallyEvaluated(
    clang::TypeSourceInfo* TInfo)

Declared at: clang/include/clang/Sema/Sema.h:5261

Parameters

clang::TypeSourceInfo* TInfo

clang::ExprResult TransformToPotentiallyEvaluated(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5260

Parameters

clang::Expr* E

clang::ImplicitConversionSequence
TryImplicitConversion(
    clang::Expr* From,
    clang::QualType ToType,
    bool SuppressUserConversions,
    clang::Sema::AllowedExplicit AllowExplicit,
    bool InOverloadResolution,
    bool CStyle,
    bool AllowObjCWritebackConversion)

Declared at: clang/include/clang/Sema/Sema.h:3649

Parameters

clang::Expr* From
clang::QualType ToType
bool SuppressUserConversions
clang::Sema::AllowedExplicit AllowExplicit
bool InOverloadResolution
bool CStyle
bool AllowObjCWritebackConversion

bool UnifySection(llvm::StringRef SectionName,
                  int SectionFlags,
                  clang::NamedDecl* TheDecl)

Declared at: clang/include/clang/Sema/Sema.h:10305

Parameters

llvm::StringRef SectionName
int SectionFlags
clang::NamedDecl* TheDecl

bool UnifySection(
    llvm::StringRef SectionName,
    int SectionFlags,
    clang::SourceLocation PragmaSectionLocation)

Declared at: clang/include/clang/Sema/Sema.h:10307

Parameters

llvm::StringRef SectionName
int SectionFlags
clang::SourceLocation PragmaSectionLocation

void UnmarkAsLateParsedTemplate(
    clang::FunctionDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:7475

Parameters

clang::FunctionDecl* FD

void UpdateExceptionSpec(
    clang::FunctionDecl* FD,
    const FunctionProtoType::ExceptionSpecInfo&
        ESI)

Declared at: clang/include/clang/Sema/Sema.h:2100

Parameters

clang::FunctionDecl* FD
const FunctionProtoType::ExceptionSpecInfo& ESI

bool UseArgumentDependentLookup(
    const clang::CXXScopeSpec& SS,
    const clang::LookupResult& R,
    bool HasTrailingLParen)

Declared at: clang/include/clang/Sema/Sema.h:5473

Parameters

const clang::CXXScopeSpec& SS
const clang::LookupResult& R
bool HasTrailingLParen

clang::QualType UsualArithmeticConversions(
    clang::ExprResult& LHS,
    clang::ExprResult& RHS,
    clang::SourceLocation Loc,
    clang::Sema::ArithConvKind ACK)

Declared at: clang/include/clang/Sema/Sema.h:11979

Parameters

clang::ExprResult& LHS
clang::ExprResult& RHS
clang::SourceLocation Loc
clang::Sema::ArithConvKind ACK

clang::ExprResult UsualUnaryConversions(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:11869

Parameters

clang::Expr* E

clang::ExprResult VerifyBitField(
    clang::SourceLocation FieldLoc,
    clang::IdentifierInfo* FieldName,
    clang::QualType FieldTy,
    bool IsMsStruct,
    clang::Expr* BitWidth)

Description

VerifyBitField - verifies that a bit field expression is an ICE and has the correct width, and that the field type is valid. Returns false on success.

Declared at: clang/include/clang/Sema/Sema.h:12555

Parameters

clang::SourceLocation FieldLoc
clang::IdentifierInfo* FieldName
clang::QualType FieldTy
bool IsMsStruct
clang::Expr* BitWidth

clang::ExprResult VerifyIntegerConstantExpression(
    clang::Expr* E,
    llvm::APSInt* Result,
    unsigned int DiagID,
    clang::Sema::AllowFoldKind CanFold = NoFold)

Declared at: clang/include/clang/Sema/Sema.h:12541

Parameters

clang::Expr* E
llvm::APSInt* Result
unsigned int DiagID
clang::Sema::AllowFoldKind CanFold = NoFold

clang::ExprResult VerifyIntegerConstantExpression(
    clang::Expr* E,
    llvm::APSInt* Result,
    clang::Sema::VerifyICEDiagnoser& Diagnoser,
    clang::Sema::AllowFoldKind CanFold = NoFold)

Description

VerifyIntegerConstantExpression - Verifies that an expression is an ICE, and reports the appropriate diagnostics. Returns false on success. Can optionally return the value of the expression.

Declared at: clang/include/clang/Sema/Sema.h:12538

Parameters

clang::Expr* E
llvm::APSInt* Result
clang::Sema::VerifyICEDiagnoser& Diagnoser
clang::Sema::AllowFoldKind CanFold = NoFold

clang::ExprResult VerifyIntegerConstantExpression(
    clang::Expr* E,
    clang::Sema::AllowFoldKind CanFold = NoFold)

Declared at: clang/include/clang/Sema/Sema.h:12547

Parameters

clang::Expr* E
clang::Sema::AllowFoldKind CanFold = NoFold

clang::ExprResult VerifyIntegerConstantExpression(
    clang::Expr* E,
    llvm::APSInt* Result = nullptr,
    clang::Sema::AllowFoldKind CanFold = NoFold)

Declared at: clang/include/clang/Sema/Sema.h:12544

Parameters

clang::Expr* E
llvm::APSInt* Result = nullptr
clang::Sema::AllowFoldKind CanFold = NoFold

clang::ExprResult
VerifyPositiveIntegerConstantInClause(
    clang::Expr* Op,
    clang::OpenMPClauseKind CKind,
    bool StrictlyPositive = true,
    bool SuppressExprDiags = false)

Declared at: clang/include/clang/Sema/Sema.h:10624

Parameters

clang::Expr* Op
clang::OpenMPClauseKind CKind
bool StrictlyPositive = true
bool SuppressExprDiags = false

void WarnConflictingTypedMethods(
    clang::ObjCMethodDecl* Method,
    clang::ObjCMethodDecl* MethodDecl,
    bool IsProtocolMethodDecl)

Declared at: clang/include/clang/Sema/Sema.h:4611

Parameters

clang::ObjCMethodDecl* Method
clang::ObjCMethodDecl* MethodDecl
bool IsProtocolMethodDecl

void WarnExactTypedMethods(
    clang::ObjCMethodDecl* Method,
    clang::ObjCMethodDecl* MethodDecl,
    bool IsProtocolMethodDecl)

Description

WarnExactTypedMethods - This routine issues a warning if method implementation declaration matches exactly that of its declaration.

Declared at: clang/include/clang/Sema/Sema.h:4621

Parameters

clang::ObjCMethodDecl* Method
clang::ObjCMethodDecl* MethodDecl
bool IsProtocolMethodDecl

void WarnOnPendingNoDerefs(
    clang::Sema::
        ExpressionEvaluationContextRecord& Rec)

Description

Emit a warning for all pending noderef expressions that we recorded.

Declared at: clang/include/clang/Sema/Sema.h:1369

Parameters

clang::Sema::ExpressionEvaluationContextRecord& Rec

SmallVectorImpl<clang::Decl*>& WeakTopLevelDecls()

Description

WeakTopLevelDeclDecls - access to # pragma weak-generated Decls

Declared at: clang/include/clang/Sema/Sema.h:1994

void actOnDelayedExceptionSpecification(
    clang::Decl* Method,
    clang::ExceptionSpecificationType EST,
    clang::SourceRange SpecificationRange,
    ArrayRef<clang::ParsedType> DynamicExceptions,
    ArrayRef<clang::SourceRange>
        DynamicExceptionRanges,
    clang::Expr* NoexceptExpr)

Description

Add an exception-specification to the given member function (or member function template). The exception-specification was parsed after the method itself was declared.

Declared at: clang/include/clang/Sema/Sema.h:6215

Parameters

clang::Decl* Method
clang::ExceptionSpecificationType EST
clang::SourceRange SpecificationRange
ArrayRef<clang::ParsedType> DynamicExceptions
ArrayRef<clang::SourceRange> DynamicExceptionRanges
clang::Expr* NoexceptExpr

clang::ParsedType
actOnLambdaInitCaptureInitialization(
    clang::SourceLocation Loc,
    bool ByRef,
    clang::SourceLocation EllipsisLoc,
    clang::IdentifierInfo* Id,
    clang::LambdaCaptureInitKind InitKind,
    clang::Expr*& Init)

Description

Perform initialization analysis of the init-capture and perform any implicit conversions such as an lvalue-to-rvalue conversion if not being used to initialize a reference.

Declared at: clang/include/clang/Sema/Sema.h:6969

Parameters

clang::SourceLocation Loc
bool ByRef
clang::SourceLocation EllipsisLoc
clang::IdentifierInfo* Id
clang::LambdaCaptureInitKind InitKind
clang::Expr*& Init

clang::TypeResult actOnObjCProtocolQualifierType(
    clang::SourceLocation lAngleLoc,
    ArrayRef<clang::Decl*> protocols,
    ArrayRef<clang::SourceLocation> protocolLocs,
    clang::SourceLocation rAngleLoc)

Description

Build a an Objective-C protocol-qualified 'id' type where no base type was specified.

Declared at: clang/include/clang/Sema/Sema.h:9969

Parameters

clang::SourceLocation lAngleLoc
ArrayRef<clang::Decl*> protocols
ArrayRef<clang::SourceLocation> protocolLocs
clang::SourceLocation rAngleLoc

clang::TypeResult
actOnObjCTypeArgsAndProtocolQualifiers(
    clang::Scope* S,
    clang::SourceLocation Loc,
    clang::ParsedType BaseType,
    clang::SourceLocation TypeArgsLAngleLoc,
    ArrayRef<clang::ParsedType> TypeArgs,
    clang::SourceLocation TypeArgsRAngleLoc,
    clang::SourceLocation ProtocolLAngleLoc,
    ArrayRef<clang::Decl*> Protocols,
    ArrayRef<clang::SourceLocation> ProtocolLocs,
    clang::SourceLocation ProtocolRAngleLoc)

Description

Build a specialized and/or protocol-qualified Objective-C type.

Declared at: clang/include/clang/Sema/Sema.h:9976

Parameters

clang::Scope* S
clang::SourceLocation Loc
clang::ParsedType BaseType
clang::SourceLocation TypeArgsLAngleLoc
ArrayRef<clang::ParsedType> TypeArgs
clang::SourceLocation TypeArgsRAngleLoc
clang::SourceLocation ProtocolLAngleLoc
ArrayRef<clang::Decl*> Protocols
ArrayRef<clang::SourceLocation> ProtocolLocs
clang::SourceLocation ProtocolRAngleLoc

void actOnObjCTypeArgsOrProtocolQualifiers(
    clang::Scope* S,
    clang::ParsedType baseType,
    clang::SourceLocation lAngleLoc,
    ArrayRef<clang::IdentifierInfo*> identifiers,
    ArrayRef<clang::SourceLocation>
        identifierLocs,
    clang::SourceLocation rAngleLoc,
    clang::SourceLocation& typeArgsLAngleLoc,
    SmallVectorImpl<clang::ParsedType>& typeArgs,
    clang::SourceLocation& typeArgsRAngleLoc,
    clang::SourceLocation& protocolLAngleLoc,
    SmallVectorImpl<clang::Decl*>& protocols,
    clang::SourceLocation& protocolRAngleLoc,
    bool warnOnIncompleteProtocols)

Description

Given a list of identifiers (and their locations), resolve the names to either Objective-C protocol qualifiers or type arguments, as appropriate.

Declared at: clang/include/clang/Sema/Sema.h:9952

Parameters

clang::Scope* S
clang::ParsedType baseType
clang::SourceLocation lAngleLoc
ArrayRef<clang::IdentifierInfo*> identifiers
ArrayRef<clang::SourceLocation> identifierLocs
clang::SourceLocation rAngleLoc
clang::SourceLocation& typeArgsLAngleLoc
SmallVectorImpl<clang::ParsedType>& typeArgs
clang::SourceLocation& typeArgsRAngleLoc
clang::SourceLocation& protocolLAngleLoc
SmallVectorImpl<clang::Decl*>& protocols
clang::SourceLocation& protocolRAngleLoc
bool warnOnIncompleteProtocols

clang::DeclResult actOnObjCTypeParam(
    clang::Scope* S,
    clang::ObjCTypeParamVariance variance,
    clang::SourceLocation varianceLoc,
    unsigned int index,
    clang::IdentifierInfo* paramName,
    clang::SourceLocation paramLoc,
    clang::SourceLocation colonLoc,
    clang::ParsedType typeBound)

Declared at: clang/include/clang/Sema/Sema.h:9853

Parameters

clang::Scope* S
clang::ObjCTypeParamVariance variance
clang::SourceLocation varianceLoc
unsigned int index
clang::IdentifierInfo* paramName
clang::SourceLocation paramLoc
clang::SourceLocation colonLoc
clang::ParsedType typeBound

clang::ObjCTypeParamList* actOnObjCTypeParamList(
    clang::Scope* S,
    clang::SourceLocation lAngleLoc,
    ArrayRef<clang::Decl*> typeParams,
    clang::SourceLocation rAngleLoc)

Declared at: clang/include/clang/Sema/Sema.h:9862

Parameters

clang::Scope* S
clang::SourceLocation lAngleLoc
ArrayRef<clang::Decl*> typeParams
clang::SourceLocation rAngleLoc

void addAMDGPUFlatWorkGroupSizeAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::Expr* Min,
    clang::Expr* Max)

Description

addAMDGPUFlatWorkGroupSizeAttr - Adds an amdgpu_flat_work_group_size attribute to a particular declaration.

Declared at: clang/include/clang/Sema/Sema.h:10545

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::Expr* Min
clang::Expr* Max

void addAMDGPUWavesPerEUAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::Expr* Min,
    clang::Expr* Max)

Description

addAMDGPUWavePersEUAttr - Adds an amdgpu_waves_per_eu attribute to a particular declaration.

Declared at: clang/include/clang/Sema/Sema.h:10550

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::Expr* Min
clang::Expr* Max

void addExternalSource(
    clang::ExternalSemaSource* E)

Description

Registers an external source. If an external source already exists, creates a multiplex external source and appends to it.

Declared at: clang/include/clang/Sema/Sema.h:1639

Parameters

clang::ExternalSemaSource* E
- A non-null external sema source.

void addImplicitTypedef(llvm::StringRef Name,
                        clang::QualType T)

Declared at: clang/include/clang/Sema/Sema.h:1582

Parameters

llvm::StringRef Name
clang::QualType T

void addInitCapture(sema::LambdaScopeInfo* LSI,
                    clang::VarDecl* Var)

Description

Add an init-capture to a lambda scope.

Declared at: clang/include/clang/Sema/Sema.h:6993

Parameters

sema::LambdaScopeInfo* LSI
clang::VarDecl* Var

bool addInstantiatedParametersToScope(
    clang::FunctionDecl* Function,
    const clang::FunctionDecl* PatternDecl,
    clang::LocalInstantiationScope& Scope,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Description

Introduce the instantiated function parameters into the local instantiation scope, and set the parameter names to those used in the template.

Declared at: clang/include/clang/Sema/Sema.h:7110

Parameters

clang::FunctionDecl* Function
const clang::FunctionDecl* PatternDecl
clang::LocalInstantiationScope& Scope
const clang::MultiLevelTemplateArgumentList& TemplateArgs

void addLambdaParameters(
    ArrayRef<LambdaIntroducer::LambdaCapture>
        Captures,
    clang::CXXMethodDecl* CallOperator,
    clang::Scope* CurScope)

Description

Introduce the lambda parameters into scope.

Declared at: clang/include/clang/Sema/Sema.h:7007

Parameters

ArrayRef<LambdaIntroducer::LambdaCapture> Captures
clang::CXXMethodDecl* CallOperator
clang::Scope* CurScope

void addMethodToGlobalList(
    clang::ObjCMethodList* List,
    clang::ObjCMethodDecl* Method)

Description

Add the given method to the list of globally-known methods.

Declared at: clang/include/clang/Sema/Sema.h:4751

Parameters

clang::ObjCMethodList* List
clang::ObjCMethodDecl* Method

clang::QualType adjustCCAndNoReturn(
    clang::QualType ArgFunctionType,
    clang::QualType FunctionType,
    bool AdjustExceptionSpec = false)

Description

Adjust the type \p ArgFunctionType to match the calling convention, noreturn, and optionally the exception specification of \p FunctionType. Deduction often wants to ignore these properties when matching function types.

Declared at: clang/include/clang/Sema/Sema.h:8682

Parameters

clang::QualType ArgFunctionType
clang::QualType FunctionType
bool AdjustExceptionSpec = false

static bool adjustContextForLocalExternDecl(
    clang::DeclContext*& DC)

Declared at: clang/include/clang/Sema/Sema.h:2818

Parameters

clang::DeclContext*& DC

void adjustMemberFunctionCC(
    clang::QualType& T,
    bool IsStatic,
    bool IsCtorOrDtor,
    clang::SourceLocation Loc)

Description

Adjust the calling convention of a method to be the ABI default if it wasn't specified explicitly. This handles method types formed from function type typedefs and typename template arguments.

Declared at: clang/include/clang/Sema/Sema.h:4594

Parameters

clang::QualType& T
bool IsStatic
bool IsCtorOrDtor
clang::SourceLocation Loc

void adjustOpenMPTargetScopeIndex(
    unsigned int& FunctionScopesIndex,
    unsigned int Level) const

Description

Adjusts the function scopes index for the target-based regions.

Declared at: clang/include/clang/Sema/Sema.h:10631

Parameters

unsigned int& FunctionScopesIndex
unsigned int Level

virtual void anchor()

Description

This virtual key function only exists to limit the emission of debug info describing the Sema class. GCC and Clang only emit debug info for a class with a vtable when the vtable is emitted. Sema is final and not polymorphic, but the debug info size savings are so significant that it is worth adding a vtable just to take advantage of this optimization.

Declared at: clang/include/clang/Sema/Sema.h:1616

bool anyAltivecTypes(clang::QualType srcType,
                     clang::QualType destType)

Declared at: clang/include/clang/Sema/Sema.h:12267

Parameters

clang::QualType srcType
clang::QualType destType

bool areLaxCompatibleVectorTypes(
    clang::QualType srcType,
    clang::QualType destType)

Declared at: clang/include/clang/Sema/Sema.h:12264

Parameters

clang::QualType srcType
clang::QualType destType

bool areMatrixTypesOfTheSameDimension(
    clang::QualType srcTy,
    clang::QualType destTy)

Declared at: clang/include/clang/Sema/Sema.h:12261

Parameters

clang::QualType srcTy
clang::QualType destTy

bool areMultiversionVariantFunctionsCompatible(
    const clang::FunctionDecl* OldFD,
    const clang::FunctionDecl* NewFD,
    const clang::PartialDiagnostic& NoProtoDiagID,
    const clang::PartialDiagnosticAt&
        NoteCausedDiagIDAt,
    const clang::PartialDiagnosticAt&
        NoSupportDiagIDAt,
    const clang::PartialDiagnosticAt&
        DiffDiagIDAt,
    bool TemplatesSupported,
    bool ConstexprSupported,
    bool CLinkageMayDiffer)

Description

Checks if the variant/multiversion functions are compatible.

Declared at: clang/include/clang/Sema/Sema.h:10727

Parameters

const clang::FunctionDecl* OldFD
const clang::FunctionDecl* NewFD
const clang::PartialDiagnostic& NoProtoDiagID
const clang::PartialDiagnosticAt& NoteCausedDiagIDAt
const clang::PartialDiagnosticAt& NoSupportDiagIDAt
const clang::PartialDiagnosticAt& DiffDiagIDAt
bool TemplatesSupported
bool ConstexprSupported
bool CLinkageMayDiffer

bool areSameVectorElemTypes(
    clang::QualType srcType,
    clang::QualType destType)

Declared at: clang/include/clang/Sema/Sema.h:12266

Parameters

clang::QualType srcType
clang::QualType destType

bool areVectorTypesSameSize(
    clang::QualType srcType,
    clang::QualType destType)

Declared at: clang/include/clang/Sema/Sema.h:12263

Parameters

clang::QualType srcType
clang::QualType destType

bool buildCoroutineParameterMoves(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:10575

Parameters

clang::SourceLocation Loc

clang::VarDecl* buildCoroutinePromise(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:10576

Parameters

clang::SourceLocation Loc

clang::QualType
buildLambdaInitCaptureInitialization(
    clang::SourceLocation Loc,
    bool ByRef,
    clang::SourceLocation EllipsisLoc,
    Optional<unsigned int> NumExpansions,
    clang::IdentifierInfo* Id,
    bool DirectInit,
    clang::Expr*& Init)

Declared at: clang/include/clang/Sema/Sema.h:6976

Parameters

clang::SourceLocation Loc
bool ByRef
clang::SourceLocation EllipsisLoc
Optional<unsigned int> NumExpansions
clang::IdentifierInfo* Id
bool DirectInit
clang::Expr*& Init

void buildLambdaScope(
    sema::LambdaScopeInfo* LSI,
    clang::CXXMethodDecl* CallOperator,
    clang::SourceRange IntroducerRange,
    clang::LambdaCaptureDefault CaptureDefault,
    clang::SourceLocation CaptureDefaultLoc,
    bool ExplicitParams,
    bool ExplicitResultType,
    bool Mutable)

Description

Endow the lambda scope info with the relevant properties.

Declared at: clang/include/clang/Sema/Sema.h:6957

Parameters

sema::LambdaScopeInfo* LSI
clang::CXXMethodDecl* CallOperator
clang::SourceRange IntroducerRange
clang::LambdaCaptureDefault CaptureDefault
clang::SourceLocation CaptureDefaultLoc
bool ExplicitParams
bool ExplicitResultType
bool Mutable

bool buildOverloadedCallSet(
    clang::Scope* S,
    clang::Expr* Fn,
    clang::UnresolvedLookupExpr* ULE,
    clang::MultiExprArg Args,
    clang::SourceLocation RParenLoc,
    clang::OverloadCandidateSet* CandidateSet,
    clang::ExprResult* Result)

Declared at: clang/include/clang/Sema/Sema.h:4068

Parameters

clang::Scope* S
clang::Expr* Fn
clang::UnresolvedLookupExpr* ULE
clang::MultiExprArg Args
clang::SourceLocation RParenLoc
clang::OverloadCandidateSet* CandidateSet
clang::ExprResult* Result

static clang::CanThrowResult canCalleeThrow(
    clang::Sema& S,
    const clang::Expr* E,
    const clang::Decl* D,
    clang::SourceLocation Loc =
        clang::SourceLocation())

Description

Determine whether the callee of a particular function call can throw. E, D and Loc are all optional.

Declared at: clang/include/clang/Sema/Sema.h:2096

Parameters

clang::Sema& S
const clang::Expr* E
const clang::Decl* D
clang::SourceLocation Loc = clang::SourceLocation()

bool canDelayFunctionBody(
    const clang::Declarator& D)

Description

Determine whether we can delay parsing the body of a function or function template until it is used, assuming we don't care about emitting code for that function. This will be \c false if we may need the body of the function in the middle of parsing an expression (where it's impractical to switch to parsing a different function), for instance, if it's constexpr in C++11 or has an 'auto' return type in C++14. These cases are essentially bugs.

Declared at: clang/include/clang/Sema/Sema.h:3028

Parameters

const clang::Declarator& D

bool canFullyTypeCheckRedeclaration(
    clang::ValueDecl* NewD,
    clang::ValueDecl* OldD,
    clang::QualType NewT,
    clang::QualType OldT)

Declared at: clang/include/clang/Sema/Sema.h:2897

Parameters

clang::ValueDecl* NewD
clang::ValueDecl* OldD
clang::QualType NewT
clang::QualType OldT

bool canSkipFunctionBody(clang::Decl* D)

Description

Determine whether we can skip parsing the body of a function definition, assuming we don't care about analyzing its body or emitting code for that function. This will be \c false only if we may need the body of the function in order to parse the rest of the program (for instance, if it is\c constexpr in C++11 or has an 'auto' return type in C++14).

Declared at: clang/include/clang/Sema/Sema.h:3037

Parameters

clang::Decl* D

clang::CanThrowResult canThrow(
    const clang::Stmt* E)

Declared at: clang/include/clang/Sema/Sema.h:2093

Parameters

const clang::Stmt* E

void checkAIXMemberAlignment(
    clang::SourceLocation Loc,
    const clang::Expr* Arg)

Declared at: clang/include/clang/Sema/Sema.h:13059

Parameters

clang::SourceLocation Loc
const clang::Expr* Arg

bool checkAddressOfFunctionIsAvailable(
    const clang::FunctionDecl* Function,
    bool Complain = false,
    clang::SourceLocation Loc =
        clang::SourceLocation())

Description

Returns whether the given function's address can be taken or not, optionally emitting a diagnostic if the address can't be taken. Returns false if taking the address of the function is illegal.

Declared at: clang/include/clang/Sema/Sema.h:3990

Parameters

const clang::FunctionDecl* Function
bool Complain = false
clang::SourceLocation Loc = clang::SourceLocation()

void checkAllowedCUDAInitializer(
    clang::VarDecl* VD)

Declared at: clang/include/clang/Sema/Sema.h:12810

Parameters

clang::VarDecl* VD

bool checkAndRewriteMustTailAttr(
    clang::Stmt* St,
    const clang::Attr& MTA)

Description

Check whether the given statement can have musttail applied to it, issuing a diagnostic and returning false if not. In the success case, the statement is rewritten to remove implicit nodes from the return value.

Declared at: clang/include/clang/Sema/Sema.h:11934

Parameters

clang::Stmt* St
const clang::Attr& MTA

void checkCUDATargetOverload(
    clang::FunctionDecl* NewFD,
    const clang::LookupResult& Previous)

Description

Check whether NewFD is a valid overload for CUDA. Emits diagnostics and invalidates NewFD if not.

Declared at: clang/include/clang/Sema/Sema.h:12814

Parameters

clang::FunctionDecl* NewFD
const clang::LookupResult& Previous

void checkCall(
    clang::NamedDecl* FDecl,
    const clang::FunctionProtoType* Proto,
    const clang::Expr* ThisArg,
    ArrayRef<const clang::Expr*> Args,
    bool IsMemberFunction,
    clang::SourceLocation Loc,
    clang::SourceRange Range,
    clang::Sema::VariadicCallType CallType)

Declared at: clang/include/clang/Sema/Sema.h:13064

Parameters

clang::NamedDecl* FDecl
const clang::FunctionProtoType* Proto
const clang::Expr* ThisArg
ArrayRef<const clang::Expr*> Args
bool IsMemberFunction
clang::SourceLocation Loc
clang::SourceRange Range
clang::Sema::VariadicCallType CallType

void checkClassLevelCodeSegAttribute(
    clang::CXXRecordDecl* Class)

Declared at: clang/include/clang/Sema/Sema.h:7431

Parameters

clang::CXXRecordDecl* Class

void checkClassLevelDLLAttribute(
    clang::CXXRecordDecl* Class)

Description

Check class-level dllimport/dllexport attribute. The caller must ensure that referenceDLLExportedClassMethods is called some point later when all outer classes of Class are complete.

Declared at: clang/include/clang/Sema/Sema.h:7430

Parameters

clang::CXXRecordDecl* Class

bool checkCommonAttributeFeatures(
    const clang::Stmt* S,
    const clang::ParsedAttr& A,
    bool SkipArgCountCheck = false)

Declared at: clang/include/clang/Sema/Sema.h:4558

Parameters

const clang::Stmt* S
const clang::ParsedAttr& A
bool SkipArgCountCheck = false

bool checkCommonAttributeFeatures(
    const clang::Decl* D,
    const clang::ParsedAttr& A,
    bool SkipArgCountCheck = false)

Description

Handles semantic checking for features that are common to all attributes, such as checking whether a parameter was properly specified, or the correct number of arguments were passed, etc. Returns true if the attribute has been diagnosed.

Declared at: clang/include/clang/Sema/Sema.h:4556

Parameters

const clang::Decl* D
const clang::ParsedAttr& A
bool SkipArgCountCheck = false

void checkDeclIsAllowedInOpenMPTarget(
    clang::Expr* E,
    clang::Decl* D,
    clang::SourceLocation IdLoc =
        clang::SourceLocation())

Description

Check declaration inside target region.

Declared at: clang/include/clang/Sema/Sema.h:10931

Parameters

clang::Expr* E
clang::Decl* D
clang::SourceLocation IdLoc = clang::SourceLocation()

void checkExceptionSpecification(
    bool IsTopLevel,
    clang::ExceptionSpecificationType EST,
    ArrayRef<clang::ParsedType> DynamicExceptions,
    ArrayRef<clang::SourceRange>
        DynamicExceptionRanges,
    clang::Expr* NoexceptExpr,
    SmallVectorImpl<clang::QualType>& Exceptions,
    FunctionProtoType::ExceptionSpecInfo& ESI)

Description

Check the given exception-specification and update the exception specification information with the results.

Declared at: clang/include/clang/Sema/Sema.h:6200

Parameters

bool IsTopLevel
clang::ExceptionSpecificationType EST
ArrayRef<clang::ParsedType> DynamicExceptions
ArrayRef<clang::SourceRange> DynamicExceptionRanges
clang::Expr* NoexceptExpr
SmallVectorImpl<clang::QualType>& Exceptions
FunctionProtoType::ExceptionSpecInfo& ESI

bool checkFinalSuspendNoThrow(
    const clang::Stmt* FinalSuspend)

Description

Check that the expression co_await promise.final_suspend() shall not be potentially-throwing.

Declared at: clang/include/clang/Sema/Sema.h:10585

Parameters

const clang::Stmt* FinalSuspend

void checkFortifiedBuiltinMemoryFunction(
    clang::FunctionDecl* FD,
    clang::CallExpr* TheCall)

Declared at: clang/include/clang/Sema/Sema.h:13078

Parameters

clang::FunctionDecl* FD
clang::CallExpr* TheCall

void checkIllFormedTrivialABIStruct(
    clang::CXXRecordDecl& RD)

Description

Check that the C++ class annoated with "trivial_abi" satisfies all the conditions that are needed for the attribute to have an effect.

Declared at: clang/include/clang/Sema/Sema.h:7455

Parameters

clang::CXXRecordDecl& RD

bool checkInitMethod(
    clang::ObjCMethodDecl* method,
    clang::QualType receiverTypeIfCall)

Declared at: clang/include/clang/Sema/Sema.h:10226

Parameters

clang::ObjCMethodDecl* method
clang::QualType receiverTypeIfCall

void checkInitializerLifetime(
    const clang::InitializedEntity& Entity,
    clang::Expr* Init)

Description

Check that the lifetime of the initializer (and its subobjects) is sufficient for initializing the entity, and perform lifetime extension (when permitted) if not.

Declared at: clang/include/clang/Sema/Sema.h:3716

Parameters

const clang::InitializedEntity& Entity
clang::Expr* Init

bool checkLiteralOperatorId(
    const clang::CXXScopeSpec& SS,
    const clang::UnqualifiedId& Id,
    bool IsUDSuffix)

Declared at: clang/include/clang/Sema/Sema.h:4365

Parameters

const clang::CXXScopeSpec& SS
const clang::UnqualifiedId& Id
bool IsUDSuffix

bool checkMSInheritanceAttrOnDefinition(
    clang::CXXRecordDecl* RD,
    clang::SourceRange Range,
    bool BestCase,
    clang::MSInheritanceModel SemanticSpelling)

Declared at: clang/include/clang/Sema/Sema.h:4585

Parameters

clang::CXXRecordDecl* RD
clang::SourceRange Range
bool BestCase
clang::MSInheritanceModel SemanticSpelling

bool checkMustTailAttr(const clang::Stmt* St,
                       const clang::Attr& MTA)

Description

Check whether the given statement can have musttail applied to it, issuing a diagnostic and returning false if not.

Declared at: clang/include/clang/Sema/Sema.h:11939

Parameters

const clang::Stmt* St
const clang::Attr& MTA

bool checkNSReturnsRetainedReturnType(
    clang::SourceLocation loc,
    clang::QualType type)

Declared at: clang/include/clang/Sema/Sema.h:10553

Parameters

clang::SourceLocation loc
clang::QualType type

void checkNonTrivialCUnion(
    clang::QualType QT,
    clang::SourceLocation Loc,
    clang::Sema::NonTrivialCUnionContext
        UseContext,
    unsigned int NonTrivialKind)

Description

Emit diagnostics if a non-trivial C union type or a struct that contains a non-trivial C union is used in an invalid context.

Declared at: clang/include/clang/Sema/Sema.h:2961

Parameters

clang::QualType QT
clang::SourceLocation Loc
clang::Sema::NonTrivialCUnionContext UseContext
unsigned int NonTrivialKind

void checkNonTrivialCUnionInInitializer(
    const clang::Expr* Init,
    clang::SourceLocation Loc)

Description

Emit diagnostics if the initializer or any of its explicit or implicitly-generated subexpressions require copying or default-initializing a type that is or contains a C union type that is non-trivial to copy or default-initialize.

Declared at: clang/include/clang/Sema/Sema.h:2950

Parameters

const clang::Expr* Init
clang::SourceLocation Loc

bool checkObjCBridgeRelatedComponents(
    clang::SourceLocation Loc,
    clang::QualType DestType,
    clang::QualType SrcType,
    clang::ObjCInterfaceDecl*& RelatedClass,
    clang::ObjCMethodDecl*& ClassMethod,
    clang::ObjCMethodDecl*& InstanceMethod,
    clang::TypedefNameDecl*& TDNDecl,
    bool CfToNs,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:10211

Parameters

clang::SourceLocation Loc
clang::QualType DestType
clang::QualType SrcType
clang::ObjCInterfaceDecl*& RelatedClass
clang::ObjCMethodDecl*& ClassMethod
clang::ObjCMethodDecl*& InstanceMethod
clang::TypedefNameDecl*& TDNDecl
bool CfToNs
bool Diagnose = true

Optional<std::pair<FunctionDecl*, Expr*>>
checkOpenMPDeclareVariantFunction(
    clang::Sema::DeclGroupPtrTy DG,
    clang::Expr* VariantRef,
    clang::OMPTraitInfo& TI,
    unsigned int NumAppendArgs,
    clang::SourceRange SR)

Description

Checks ' # pragma omp declare variant' variant function and original functions after parsing of the associated method/function.

Declared at: clang/include/clang/Sema/Sema.h:11356

Parameters

clang::Sema::DeclGroupPtrTy DG
Function declaration to which declare variant directive is applied to.
clang::Expr* VariantRef
Expression that references the variant function, which must be used instead of the original one, specified in \p DG.
clang::OMPTraitInfo& TI
The trait info object representing the match clause.
unsigned int NumAppendArgs
The number of omp_interop_t arguments to account for in checking.
clang::SourceRange SR

Returns

None, if the function/variant function are not compatible with the pragma, pair of original function/variant ref expression otherwise.

clang::ExprResult checkPseudoObjectAssignment(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    clang::BinaryOperatorKind Opcode,
    clang::Expr* LHS,
    clang::Expr* RHS)

Declared at: clang/include/clang/Sema/Sema.h:12189

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
clang::BinaryOperatorKind Opcode
clang::Expr* LHS
clang::Expr* RHS

clang::ExprResult checkPseudoObjectIncDec(
    clang::Scope* S,
    clang::SourceLocation OpLoc,
    clang::UnaryOperatorKind Opcode,
    clang::Expr* Op)

Declared at: clang/include/clang/Sema/Sema.h:12187

Parameters

clang::Scope* S
clang::SourceLocation OpLoc
clang::UnaryOperatorKind Opcode
clang::Expr* Op

clang::ExprResult checkPseudoObjectRValue(
    clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:12192

Parameters

clang::Expr* E

void checkRetainCycles(
    clang::ObjCMessageExpr* msg)

Description

checkRetainCycles - Check whether an Objective-C message send might create an obvious retain cycle.

Declared at: clang/include/clang/Sema/Sema.h:12375

Parameters

clang::ObjCMessageExpr* msg

void checkRetainCycles(clang::VarDecl* Var,
                       clang::Expr* Init)

Declared at: clang/include/clang/Sema/Sema.h:12377

Parameters

clang::VarDecl* Var
clang::Expr* Init

void checkRetainCycles(clang::Expr* receiver,
                       clang::Expr* argument)

Declared at: clang/include/clang/Sema/Sema.h:12376

Parameters

clang::Expr* receiver
clang::Expr* argument

bool checkSYCLDeviceFunction(
    clang::SourceLocation Loc,
    clang::FunctionDecl* Callee)

Description

Check whether we're allowed to call Callee from the current context. - If the call is never allowed in a semantically-correct program emits an error and returns false. - If the call is allowed in semantically-correct programs, but only if it's never codegen'ed, creates a deferred diagnostic to be emitted if and when the caller is codegen'ed, and returns true. - Otherwise, returns true without emitting any diagnostics. Adds Callee to DeviceCallGraph if we don't know if its caller will be codegen'ed yet.

Declared at: clang/include/clang/Sema/Sema.h:13528

Parameters

clang::SourceLocation Loc
clang::FunctionDecl* Callee

bool checkSectionName(
    clang::SourceLocation LiteralLoc,
    llvm::StringRef Str)

Declared at: clang/include/clang/Sema/Sema.h:4579

Parameters

clang::SourceLocation LiteralLoc
llvm::StringRef Str

void checkSpecializationReachability(
    clang::SourceLocation Loc,
    clang::NamedDecl* Spec)

Declared at: clang/include/clang/Sema/Sema.h:3176

Parameters

clang::SourceLocation Loc
clang::NamedDecl* Spec

void checkSpecializationVisibility(
    clang::SourceLocation Loc,
    clang::NamedDecl* Spec)

Description

We've found a use of a templated declaration that would trigger an implicit instantiation. Check that any relevant explicit specializations and partial specializations are visible/reachable, and diagnose if not.

Declared at: clang/include/clang/Sema/Sema.h:3175

Parameters

clang::SourceLocation Loc
clang::NamedDecl* Spec

bool checkStringLiteralArgumentAttr(
    const clang::ParsedAttr& Attr,
    unsigned int ArgNum,
    llvm::StringRef& Str,
    clang::SourceLocation* ArgLocation = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4575

Parameters

const clang::ParsedAttr& Attr
unsigned int ArgNum
llvm::StringRef& Str
clang::SourceLocation* ArgLocation = nullptr

bool checkStringLiteralArgumentAttr(
    const clang::AttributeCommonInfo& CI,
    const clang::Expr* E,
    llvm::StringRef& Str,
    clang::SourceLocation* ArgLocation = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:4572

Parameters

const clang::AttributeCommonInfo& CI
const clang::Expr* E
llvm::StringRef& Str
clang::SourceLocation* ArgLocation = nullptr

bool checkTargetAttr(
    clang::SourceLocation LiteralLoc,
    llvm::StringRef Str)

Declared at: clang/include/clang/Sema/Sema.h:4580

Parameters

clang::SourceLocation LiteralLoc
llvm::StringRef Str

bool checkTargetClonesAttrString(
    clang::SourceLocation LiteralLoc,
    llvm::StringRef Str,
    const clang::StringLiteral* Literal,
    bool& HasDefault,
    bool& HasCommas,
    SmallVectorImpl<llvm::StringRef>& Strings)

Declared at: clang/include/clang/Sema/Sema.h:4581

Parameters

clang::SourceLocation LiteralLoc
llvm::StringRef Str
const clang::StringLiteral* Literal
bool& HasDefault
bool& HasCommas
SmallVectorImpl<llvm::StringRef>& Strings

bool checkThisInStaticMemberFunctionAttributes(
    clang::CXXMethodDecl* Method)

Description

Check whether 'this' shows up in the attributes of the given static member function.

Declared at: clang/include/clang/Sema/Sema.h:6347

Parameters

clang::CXXMethodDecl* Method

Returns

true if an error occurred.

bool checkThisInStaticMemberFunctionExceptionSpec(
    clang::CXXMethodDecl* Method)

Description

Whether this' shows up in the exception specification of a static member function.

Declared at: clang/include/clang/Sema/Sema.h:6341

Parameters

clang::CXXMethodDecl* Method

bool checkThisInStaticMemberFunctionType(
    clang::CXXMethodDecl* Method)

Description

Check whether 'this' shows up in the type of a static member function after the (naturally empty) cv-qualifier-seq would be.

Declared at: clang/include/clang/Sema/Sema.h:6337

Parameters

clang::CXXMethodDecl* Method

Returns

true if an error occurred.

bool checkTransformableLoopNest(
    clang::OpenMPDirectiveKind Kind,
    clang::Stmt* AStmt,
    int NumLoops,
    SmallVectorImpl<
        OMPLoopBasedDirective::HelperExprs>&
        LoopHelpers,
    clang::Stmt*& Body,
    SmallVectorImpl<SmallVector<
        llvm::PointerUnion<Stmt*, Decl*>,
        0>>& OriginalInits)

Description

Analyzes and checks a loop nest for use by a loop transformation.

Declared at: clang/include/clang/Sema/Sema.h:10656

Parameters

clang::OpenMPDirectiveKind Kind
The loop transformation directive kind.
clang::Stmt* AStmt
Associated statement of the transformation directive.
int NumLoops
How many nested loops the directive is expecting.
SmallVectorImpl< OMPLoopBasedDirective::HelperExprs>& LoopHelpers
[out] The loop analysis result.
clang::Stmt*& Body
[out] The body code nested in \p NumLoops loop.
SmallVectorImpl< SmallVector<llvm::PointerUnion<Stmt*, Decl*>, 0>>& OriginalInits
[out] Collection of statements and declarations that must have been executed/declared before entering the loop.

Returns

Whether there was any error.

void checkTypeSupport(
    clang::QualType Ty,
    clang::SourceLocation Loc,
    clang::ValueDecl* D = nullptr)

Description

Check if the type is allowed to be used for the current target.

Declared at: clang/include/clang/Sema/Sema.h:12669

Parameters

clang::QualType Ty
clang::SourceLocation Loc
clang::ValueDecl* D = nullptr

clang::ExprResult checkUnknownAnyArg(
    clang::SourceLocation callLoc,
    clang::Expr* result,
    clang::QualType& paramType)

Description

Type-check an expression that's being passed to an __unknown_anytype parameter.

Declared at: clang/include/clang/Sema/Sema.h:12321

Parameters

clang::SourceLocation callLoc
clang::Expr* result
clang::QualType& paramType

clang::ExprResult checkUnknownAnyCast(
    clang::SourceRange TypeRange,
    clang::QualType CastType,
    clang::Expr* CastExpr,
    clang::CastKind& CastKind,
    clang::ExprValueKind& VK,
    clang::CXXCastPath& Path)

Declared at: clang/include/clang/Sema/Sema.h:12311

Parameters

clang::SourceRange TypeRange
clang::QualType CastType
clang::Expr* CastExpr
clang::CastKind& CastKind
clang::ExprValueKind& VK
clang::CXXCastPath& Path

bool checkUnsafeAssigns(clang::SourceLocation Loc,
                        clang::QualType LHS,
                        clang::Expr* RHS)

Description

checkUnsafeAssigns - Check whether +1 expr is being assigned to weak/__unsafe_unretained type.

Declared at: clang/include/clang/Sema/Sema.h:12381

Parameters

clang::SourceLocation Loc
clang::QualType LHS
clang::Expr* RHS

void checkUnsafeExprAssigns(
    clang::SourceLocation Loc,
    clang::Expr* LHS,
    clang::Expr* RHS)

Description

checkUnsafeExprAssigns - Check whether +1 expr is being assigned to weak/__unsafe_unretained expression.

Declared at: clang/include/clang/Sema/Sema.h:12385

Parameters

clang::SourceLocation Loc
clang::Expr* LHS
clang::Expr* RHS

void checkUnusedDeclAttributes(
    clang::Declarator& D)

Declared at: clang/include/clang/Sema/Sema.h:4550

Parameters

clang::Declarator& D

bool checkVarDeclRedefinition(
    clang::VarDecl* OldDefn,
    clang::VarDecl* NewDefn)

Declared at: clang/include/clang/Sema/Sema.h:3599

Parameters

clang::VarDecl* OldDefn
clang::VarDecl* NewDefn

void checkVariadicArgument(
    const clang::Expr* E,
    clang::Sema::VariadicCallType CT)

Description

Check to see if the given expression is a valid argument to a variadic function, issuing a diagnostic if not.

Declared at: clang/include/clang/Sema/Sema.h:11928

Parameters

const clang::Expr* E
clang::Sema::VariadicCallType CT

void clearDelayedTypo(clang::TypoExpr* TE)

Description

Clears the state of the given TypoExpr.

Declared at: clang/include/clang/Sema/Sema.h:4319

Parameters

clang::TypoExpr* TE

void collectUnexpandedParameterPacks(
    clang::QualType T,
    SmallVectorImpl<
        clang::UnexpandedParameterPack>&
        Unexpanded)

Description

Collect the set of unexpanded parameter packs within the given type.

Declared at: clang/include/clang/Sema/Sema.h:8506

Parameters

clang::QualType T
The type that will be traversed to find unexpanded parameter packs.
SmallVectorImpl<clang::UnexpandedParameterPack>& Unexpanded

void collectUnexpandedParameterPacks(
    clang::TypeLoc TL,
    SmallVectorImpl<
        clang::UnexpandedParameterPack>&
        Unexpanded)

Description

Collect the set of unexpanded parameter packs within the given type.

Declared at: clang/include/clang/Sema/Sema.h:8514

Parameters

clang::TypeLoc TL
The type that will be traversed to find unexpanded parameter packs.
SmallVectorImpl<clang::UnexpandedParameterPack>& Unexpanded

void collectUnexpandedParameterPacks(
    clang::TemplateArgumentLoc Arg,
    SmallVectorImpl<
        clang::UnexpandedParameterPack>&
        Unexpanded)

Description

Collect the set of unexpanded parameter packs within the given template argument.

Declared at: clang/include/clang/Sema/Sema.h:8498

Parameters

clang::TemplateArgumentLoc Arg
The template argument that will be traversed to find unexpanded parameter packs.
SmallVectorImpl<clang::UnexpandedParameterPack>& Unexpanded

void collectUnexpandedParameterPacks(
    const clang::DeclarationNameInfo& NameInfo,
    SmallVectorImpl<
        clang::UnexpandedParameterPack>&
        Unexpanded)

Description

Collect the set of unexpanded parameter packs within the given name.

Declared at: clang/include/clang/Sema/Sema.h:8530

Parameters

const clang::DeclarationNameInfo& NameInfo
The name that will be traversed to find unexpanded parameter packs.
SmallVectorImpl<clang::UnexpandedParameterPack>& Unexpanded

void collectUnexpandedParameterPacks(
    clang::TemplateArgument Arg,
    SmallVectorImpl<
        clang::UnexpandedParameterPack>&
        Unexpanded)

Description

Collect the set of unexpanded parameter packs within the given template argument.

Declared at: clang/include/clang/Sema/Sema.h:8490

Parameters

clang::TemplateArgument Arg
The template argument that will be traversed to find unexpanded parameter packs.
SmallVectorImpl<clang::UnexpandedParameterPack>& Unexpanded

void collectUnexpandedParameterPacks(
    clang::NestedNameSpecifierLoc NNS,
    SmallVectorImpl<
        clang::UnexpandedParameterPack>&
        Unexpanded)

Description

Collect the set of unexpanded parameter packs within the given nested-name-specifier.

Declared at: clang/include/clang/Sema/Sema.h:8522

Parameters

clang::NestedNameSpecifierLoc NNS
The nested-name-specifier that will be traversed to find unexpanded parameter packs.
SmallVectorImpl<clang::UnexpandedParameterPack>& Unexpanded

void completeExprArrayBound(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:2469

Parameters

clang::Expr* E

clang::DeclContext* computeDeclContext(
    const clang::CXXScopeSpec& SS,
    bool EnteringContext = false)

Declared at: clang/include/clang/Sema/Sema.h:6734

Parameters

const clang::CXXScopeSpec& SS
bool EnteringContext = false

clang::DeclContext* computeDeclContext(
    clang::QualType T)

Declared at: clang/include/clang/Sema/Sema.h:6733

Parameters

clang::QualType T

void computeNRVO(clang::Stmt* Body,
                 sema::FunctionScopeInfo* Scope)

Declared at: clang/include/clang/Sema/Sema.h:3039

Parameters

clang::Stmt* Body
sema::FunctionScopeInfo* Scope

bool containsUnexpandedParameterPacks(
    clang::Declarator& D)

Description

Determine whether the given declarator contains any unexpanded parameter packs. This routine is used by the parser to disambiguate function declarators with an ellipsis prior to the ')', e.g., To determine whether we have an (unnamed) function parameter pack or a variadic function.

Declared at: clang/include/clang/Sema/Sema.h:8651

Parameters

clang::Declarator& D

Returns

true if the declarator contains any unexpanded parameter packs, false otherwise.

clang::TypoExpr* createDelayedTypo(
    std::unique_ptr<TypoCorrectionConsumer> TCC,
    clang::Sema::TypoDiagnosticGenerator TDG,
    clang::Sema::TypoRecoveryCallback TRC,
    clang::SourceLocation TypoLoc)

Description

Creates a new TypoExpr AST node.

Declared at: clang/include/clang/Sema/Sema.h:4289

Parameters

std::unique_ptr<TypoCorrectionConsumer> TCC
clang::Sema::TypoDiagnosticGenerator TDG
clang::Sema::TypoRecoveryCallback TRC
clang::SourceLocation TypoLoc

void createImplicitModuleImportForErrorRecovery(
    clang::SourceLocation Loc,
    clang::Module* Mod)

Description

Create an implicit import of the given module at the given source location, for error recovery, if possible. This routine is typically used when an entity found by name lookup is actually hidden within a module that we know about but the user has forgotten to import.

Declared at: clang/include/clang/Sema/Sema.h:3146

Parameters

clang::SourceLocation Loc
clang::Module* Mod

clang::CXXRecordDecl* createLambdaClosureType(
    clang::SourceRange IntroducerRange,
    clang::TypeSourceInfo* Info,
    unsigned int LambdaDependencyKind,
    clang::LambdaCaptureDefault CaptureDefault)

Description

Create a new lambda closure type.

Declared at: clang/include/clang/Sema/Sema.h:6937

Parameters

clang::SourceRange IntroducerRange
clang::TypeSourceInfo* Info
unsigned int LambdaDependencyKind
clang::LambdaCaptureDefault CaptureDefault

clang::VarDecl* createLambdaInitCaptureVarDecl(
    clang::SourceLocation Loc,
    clang::QualType InitCaptureType,
    clang::SourceLocation EllipsisLoc,
    clang::IdentifierInfo* Id,
    unsigned int InitStyle,
    clang::Expr* Init)

Description

Create a dummy variable within the declcontext of the lambda's call operator, for name lookup purposes for a lambda init capture. CodeGen handles emission of lambda captures, ignoring these dummy variables appropriately.

Declared at: clang/include/clang/Sema/Sema.h:6986

Parameters

clang::SourceLocation Loc
clang::QualType InitCaptureType
clang::SourceLocation EllipsisLoc
clang::IdentifierInfo* Id
unsigned int InitStyle
clang::Expr* Init

bool currentModuleIsInterface() const

Description

Is the module scope we are an interface?

Declared at: clang/include/clang/Sema/Sema.h:2291

void deduceClosureReturnType(
    sema::CapturingScopeInfo& CSI)

Description

Deduce a block or lambda's return type based on the return statements present in the body.

Declared at: clang/include/clang/Sema/Sema.h:7013

Parameters

sema::CapturingScopeInfo& CSI

void deduceOpenCLAddressSpace(
    clang::ValueDecl* decl)

Declared at: clang/include/clang/Sema/Sema.h:10093

Parameters

clang::ValueDecl* decl

clang::QualType deduceVarTypeFromInitializer(
    clang::VarDecl* VDecl,
    clang::DeclarationName Name,
    clang::QualType Type,
    clang::TypeSourceInfo* TSI,
    clang::SourceRange Range,
    bool DirectInit,
    clang::Expr* Init)

Declared at: clang/include/clang/Sema/Sema.h:8865

Parameters

clang::VarDecl* VDecl
clang::DeclarationName Name
clang::QualType Type
clang::TypeSourceInfo* TSI
clang::SourceRange Range
bool DirectInit
clang::Expr* Init

void deepTypeCheckForSYCLDevice(
    clang::SourceLocation UsedAt,
    llvm::DenseSet<QualType> Visited,
    clang::ValueDecl* DeclToCheck)

Declared at: clang/include/clang/Sema/Sema.h:13529

Parameters

clang::SourceLocation UsedAt
llvm::DenseSet<QualType> Visited
clang::ValueDecl* DeclToCheck

clang::Sema::SemaDiagnosticBuilder
diagIfOpenMPDeviceCode(clang::SourceLocation Loc,
                       unsigned int DiagID,
                       clang::FunctionDecl* FD)

Description

Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as device code". - If CurContext is a `declare target` function or it is known that the function is emitted for the device, emits the diagnostics immediately. - If CurContext is a non-`declare target` function and we are compiling for the device, creates a diagnostic which is emitted if and when we realize that the function will be codegen'ed. Example usage: // Variable-length arrays are not allowed in NVPTX device code. if (diagIfOpenMPDeviceCode(Loc, diag::err_vla_unsupported)) return ExprError(); // Otherwise, continue parsing as normal.

Declared at: clang/include/clang/Sema/Sema.h:12642

Parameters

clang::SourceLocation Loc
unsigned int DiagID
clang::FunctionDecl* FD

clang::Sema::SemaDiagnosticBuilder
diagIfOpenMPHostCode(clang::SourceLocation Loc,
                     unsigned int DiagID,
                     clang::FunctionDecl* FD)

Description

Creates a SemaDiagnosticBuilder that emits the diagnostic if the current context is "used as host code". - If CurContext is a `declare target` function or it is known that the function is emitted for the host, emits the diagnostics immediately. - If CurContext is a non-host function, just ignore it. Example usage: // Variable-length arrays are not allowed in NVPTX device code. if (diagIfOpenMPHostode(Loc, diag::err_vla_unsupported)) return ExprError(); // Otherwise, continue parsing as normal.

Declared at: clang/include/clang/Sema/Sema.h:12657

Parameters

clang::SourceLocation Loc
unsigned int DiagID
clang::FunctionDecl* FD

void diagnoseARCUnbridgedCast(clang::Expr* e)

Declared at: clang/include/clang/Sema/Sema.h:12368

Parameters

clang::Expr* e

bool diagnoseArgDependentDiagnoseIfAttrs(
    const clang::FunctionDecl* Function,
    const clang::Expr* ThisArg,
    ArrayRef<const clang::Expr*> Args,
    clang::SourceLocation Loc)

Description

Emit diagnostics for the diagnose_if attributes on Function, ignoring any non-ArgDependent DiagnoseIfAttrs. Argument-dependent diagnose_if attributes should be checked each time a function is used as a direct callee of a function call. Returns true if any errors were emitted.

Declared at: clang/include/clang/Sema/Sema.h:3971

Parameters

const clang::FunctionDecl* Function
const clang::Expr* ThisArg
ArrayRef<const clang::Expr*> Args
clang::SourceLocation Loc

bool diagnoseArgIndependentDiagnoseIfAttrs(
    const clang::NamedDecl* ND,
    clang::SourceLocation Loc)

Description

Emit diagnostics for the diagnose_if attributes on Function, ignoring any ArgDependent DiagnoseIfAttrs. Argument-independent diagnose_if attributes should be checked on every use of a function. Returns true if any errors were emitted.

Declared at: clang/include/clang/Sema/Sema.h:3983

Parameters

const clang::NamedDecl* ND
clang::SourceLocation Loc

void diagnoseEquivalentInternalLinkageDeclarations(
    clang::SourceLocation Loc,
    const clang::NamedDecl* D,
    ArrayRef<const clang::NamedDecl*> Equiv)

Declared at: clang/include/clang/Sema/Sema.h:2422

Parameters

clang::SourceLocation Loc
const clang::NamedDecl* D
ArrayRef<const clang::NamedDecl*> Equiv

void diagnoseExprIntendedAsTemplateName(
    clang::Scope* S,
    clang::ExprResult TemplateName,
    clang::SourceLocation Less,
    clang::SourceLocation Greater)

Declared at: clang/include/clang/Sema/Sema.h:2791

Parameters

clang::Scope* S
clang::ExprResult TemplateName
clang::SourceLocation Less
clang::SourceLocation Greater

void diagnoseIgnoredQualifiers(
    unsigned int DiagID,
    unsigned int Quals,
    clang::SourceLocation FallbackLoc,
    clang::SourceLocation ConstQualLoc =
        clang::SourceLocation(),
    clang::SourceLocation VolatileQualLoc =
        clang::SourceLocation(),
    clang::SourceLocation RestrictQualLoc =
        clang::SourceLocation(),
    clang::SourceLocation AtomicQualLoc =
        clang::SourceLocation(),
    clang::SourceLocation UnalignedQualLoc =
        clang::SourceLocation())

Declared at: clang/include/clang/Sema/Sema.h:2810

Parameters

unsigned int DiagID
unsigned int Quals
clang::SourceLocation FallbackLoc
clang::SourceLocation ConstQualLoc = clang::SourceLocation()
clang::SourceLocation VolatileQualLoc = clang::SourceLocation()
clang::SourceLocation RestrictQualLoc = clang::SourceLocation()
clang::SourceLocation AtomicQualLoc = clang::SourceLocation()
clang::SourceLocation UnalignedQualLoc = clang::SourceLocation()

void diagnoseMissingImport(
    clang::SourceLocation Loc,
    clang::NamedDecl* Decl,
    clang::Sema::MissingImportKind MIK,
    bool Recover = true)

Description

Diagnose that the specified declaration needs to be visible but isn't, and suggest a module import that would resolve the problem.

Declared at: clang/include/clang/Sema/Sema.h:3161

Parameters

clang::SourceLocation Loc
clang::NamedDecl* Decl
clang::Sema::MissingImportKind MIK
bool Recover = true

void diagnoseMissingImport(
    clang::SourceLocation Loc,
    clang::NamedDecl* Decl,
    clang::SourceLocation DeclLoc,
    ArrayRef<clang::Module*> Modules,
    clang::Sema::MissingImportKind MIK,
    bool Recover)

Declared at: clang/include/clang/Sema/Sema.h:3163

Parameters

clang::SourceLocation Loc
clang::NamedDecl* Decl
clang::SourceLocation DeclLoc
ArrayRef<clang::Module*> Modules
clang::Sema::MissingImportKind MIK
bool Recover

void diagnoseMissingTemplateArguments(
    clang::TemplateName Name,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:7982

Parameters

clang::TemplateName Name
clang::SourceLocation Loc

void diagnoseNullResettableSynthesizedSetters(
    const clang::ObjCImplDecl* impDecl)

Description

Diagnose any null-resettable synthesized setters.

Declared at: clang/include/clang/Sema/Sema.h:4646

Parameters

const clang::ObjCImplDecl* impDecl

void diagnoseNullableToNonnullConversion(
    clang::QualType DstType,
    clang::QualType SrcType,
    clang::SourceLocation Loc)

Description

Warn if we're implicitly casting from a _Nullable pointer type to a _Nonnull one.

Declared at: clang/include/clang/Sema/Sema.h:5193

Parameters

clang::QualType DstType
clang::QualType SrcType
clang::SourceLocation Loc

bool diagnoseQualifiedDeclaration(
    clang::CXXScopeSpec& SS,
    clang::DeclContext* DC,
    clang::DeclarationName Name,
    clang::SourceLocation Loc,
    bool IsTemplateId)

Declared at: clang/include/clang/Sema/Sema.h:2806

Parameters

clang::CXXScopeSpec& SS
clang::DeclContext* DC
clang::DeclarationName Name
clang::SourceLocation Loc
bool IsTemplateId

void diagnoseTypo(
    const clang::TypoCorrection& Correction,
    const clang::PartialDiagnostic& TypoDiag,
    const clang::PartialDiagnostic& PrevNote,
    bool ErrorRecovery = true)

Declared at: clang/include/clang/Sema/Sema.h:4464

Parameters

const clang::TypoCorrection& Correction
const clang::PartialDiagnostic& TypoDiag
const clang::PartialDiagnostic& PrevNote
bool ErrorRecovery = true

void diagnoseTypo(
    const clang::TypoCorrection& Correction,
    const clang::PartialDiagnostic& TypoDiag,
    bool ErrorRecovery = true)

Declared at: clang/include/clang/Sema/Sema.h:4460

Parameters

const clang::TypoCorrection& Correction
const clang::PartialDiagnostic& TypoDiag
bool ErrorRecovery = true

void diagnoseUnavailableAlignedAllocation(
    const clang::FunctionDecl& FD,
    clang::SourceLocation Loc)

Description

Produce diagnostics if \p FD is an aligned allocation or deallocation function that is unavailable.

Declared at: clang/include/clang/Sema/Sema.h:6587

Parameters

const clang::FunctionDecl& FD
clang::SourceLocation Loc

void diagnoseZeroToNullptrConversion(
    clang::CastKind Kind,
    const clang::Expr* E)

Description

Warn when implicitly casting 0 to nullptr.

Declared at: clang/include/clang/Sema/Sema.h:5197

Parameters

clang::CastKind Kind
const clang::Expr* E

void emitAndClearUnusedLocalTypedefWarnings()

Declared at: clang/include/clang/Sema/Sema.h:1888

void emitDeferredDiags()

Declared at: clang/include/clang/Sema/Sema.h:1897

void finalizeOpenMPDelayedAnalysis(
    const clang::FunctionDecl* Caller,
    const clang::FunctionDecl* Callee,
    clang::SourceLocation Loc)

Description

Finishes analysis of the deferred functions calls that may be declared as host/nohost during device/host compilation.

Declared at: clang/include/clang/Sema/Sema.h:10935

Parameters

const clang::FunctionDecl* Caller
const clang::FunctionDecl* Callee
clang::SourceLocation Loc

std::pair<Expr*, std::string>
findFailedBooleanCondition(clang::Expr* Cond)

Description

Find the failed Boolean condition within a given Boolean constant expression, and describe it with a string.

Declared at: clang/include/clang/Sema/Sema.h:3962

Parameters

clang::Expr* Cond

clang::CXXConstructorDecl*
findInheritingConstructor(
    clang::SourceLocation Loc,
    clang::CXXConstructorDecl* BaseCtor,
    clang::ConstructorUsingShadowDecl*
        DerivedShadow)

Description

Given a derived-class using shadow declaration for a constructor and the correspnding base class constructor, find or create the implicit synthesized derived class constructor to use for this initialization.

Declared at: clang/include/clang/Sema/Sema.h:6051

Parameters

clang::SourceLocation Loc
clang::CXXConstructorDecl* BaseCtor
clang::ConstructorUsingShadowDecl* DerivedShadow

clang::NamedDecl* findLocallyScopedExternCDecl(
    clang::DeclarationName Name)

Description

Look for a locally scoped extern "C" declaration by the given name.

Declared at: clang/include/clang/Sema/Sema.h:866

Parameters

clang::DeclarationName Name

bool findMacroSpelling(clang::SourceLocation& loc,
                       llvm::StringRef name)

Declared at: clang/include/clang/Sema/Sema.h:1870

Parameters

clang::SourceLocation& loc
llvm::StringRef name

void finishLambdaExplicitCaptures(
    sema::LambdaScopeInfo* LSI)

Description

Note that we have finished the explicit captures for the given lambda.

Declared at: clang/include/clang/Sema/Sema.h:6997

Parameters

sema::LambdaScopeInfo* LSI

clang::Sema::RedeclarationKind
forRedeclarationInCurContext()

Declared at: clang/include/clang/Sema/Sema.h:4228

clang::ExprResult forceUnknownAnyToType(
    clang::Expr* E,
    clang::QualType ToType)

Description

Force an expression with unknown-type to an expression of the given type.

Declared at: clang/include/clang/Sema/Sema.h:12317

Parameters

clang::Expr* E
clang::QualType ToType

clang::ASTConsumer& getASTConsumer() const

Declared at: clang/include/clang/Sema/Sema.h:1626

clang::ASTContext& getASTContext() const

Declared at: clang/include/clang/Sema/Sema.h:1625

clang::ASTMutationListener*
getASTMutationListener() const

Declared at: clang/include/clang/Sema/Sema.h:1627

std::string getAmbiguousPathsDisplayString(
    clang::CXXBasePaths& Paths)

Declared at: clang/include/clang/Sema/Sema.h:7563

Parameters

clang::CXXBasePaths& Paths

static clang::NamedDecl* getAsTemplateNameDecl(
    clang::NamedDecl* D,
    bool AllowFunctionTemplates = true,
    bool AllowDependent = true)

Description

Try to interpret the lookup result D as a template-name.

Declared at: clang/include/clang/Sema/Sema.h:7731

Parameters

clang::NamedDecl* D
A declaration found by name lookup.
bool AllowFunctionTemplates = true
Whether function templates should be considered valid results.
bool AllowDependent = true
Whether unresolved using declarations (that might name templates) should be considered valid results.

clang::NamespaceDecl* getCachedCoroNamespace()

Declared at: clang/include/clang/Sema/Sema.h:5944

const clang::AttributedType*
getCallingConvAttributedType(
    clang::QualType T) const

Description

Get the outermost AttributedType node that sets a calling convention. Valid types should not have multiple attributes with different CCs.

Declared at: clang/include/clang/Sema/Sema.h:4604

Parameters

clang::QualType T

clang::QualType getCapturedDeclRefType(
    clang::VarDecl* Var,
    clang::SourceLocation Loc)

Description

Given a variable, determine the type that a reference to that variable will have in the given scope.

Declared at: clang/include/clang/Sema/Sema.h:5347

Parameters

clang::VarDecl* Var
clang::SourceLocation Loc

clang::QualType getCompletedType(clang::Expr* E)

Description

Get the type of expression E, triggering instantiation to complete the type if necessary -- that is, if the expression refers to a templated static data member of incomplete array type. May still return an incomplete type if instantiation was not possible or if the type is incomplete for a different reason. Use RequireCompleteExprType instead if a diagnostic is expected for an incomplete expression type.

Declared at: clang/include/clang/Sema/Sema.h:2467

Parameters

clang::Expr* E

clang::ParsedType getConstructorName(
    clang::IdentifierInfo& II,
    clang::SourceLocation NameLoc,
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    bool EnteringContext)

Declared at: clang/include/clang/Sema/Sema.h:6369

Parameters

clang::IdentifierInfo& II
clang::SourceLocation NameLoc
clang::Scope* S
clang::CXXScopeSpec& SS
bool EnteringContext

const clang::VarDecl* getCopyElisionCandidate(
    clang::Sema::NamedReturnInfo& Info,
    clang::QualType ReturnType)

Declared at: clang/include/clang/Sema/Sema.h:5054

Parameters

clang::Sema::NamedReturnInfo& Info
clang::QualType ReturnType

std::string getCudaConfigureFuncName() const

Description

Returns the name of the launch configuration function. This is the name of the function that will be called to configure kernel call, with the parameters specified via < < < >>>.

Declared at: clang/include/clang/Sema/Sema.h:12822

sema::BlockScopeInfo* getCurBlock()

Description

Retrieve the current block, if any.

Declared at: clang/include/clang/Sema/Sema.h:1969

sema::CapturedRegionScopeInfo*
getCurCapturedRegion()

Description

Retrieve the current captured region, if any.

Declared at: clang/include/clang/Sema/Sema.h:1987

sema::CompoundScopeInfo& getCurCompoundScope()
    const

Declared at: clang/include/clang/Sema/Sema.h:1964

clang::FPOptions& getCurFPFeatures()

Declared at: clang/include/clang/Sema/Sema.h:1620

sema::FunctionScopeInfo* getCurFunction() const

Declared at: clang/include/clang/Sema/Sema.h:1950

sema::FunctionScopeInfo*
getCurFunctionAvailabilityContext()

Description

Retrieve the current function, if any, that should be analyzed for potential availability violations.

Declared at: clang/include/clang/Sema/Sema.h:1991

clang::FunctionDecl* getCurFunctionDecl(
    bool AllowLambda = false)

Description

Returns a pointer to the innermost enclosing function, or nullptr if the current context is not inside a function. If \p AllowLambda is true, this can return the call operator of an enclosing lambda, otherwise lambdas are skipped when looking for an enclosing function.

Declared at: clang/include/clang/Sema/Sema.h:3454

Parameters

bool AllowLambda = false

clang::NamedDecl* getCurFunctionOrMethodDecl()

Description

getCurFunctionOrMethodDecl - Return the Decl for the current ObjC method or C function we're in, otherwise return null. If we're currently in a 'block', this returns the containing context.

Declared at: clang/include/clang/Sema/Sema.h:3464

sema::LambdaScopeInfo* getCurGenericLambda()

Description

Retrieve the current generic lambda info, if any.

Declared at: clang/include/clang/Sema/Sema.h:1984

sema::LambdaScopeInfo* getCurLambda(
    bool IgnoreNonLambdaCapturingScope = false)

Description

Retrieve the current lambda scope info, if any.

Declared at: clang/include/clang/Sema/Sema.h:1981

Parameters

bool IgnoreNonLambdaCapturingScope = false
true if should find the top-most lambda scope info ignoring all inner capturing scopes that are not lambda scopes.

clang::DeclContext* getCurLexicalContext() const

Declared at: clang/include/clang/Sema/Sema.h:13376

clang::ObjCMethodDecl* getCurMethodDecl()

Description

getCurMethodDecl - If inside of a method body, this returns a pointer to the method decl for the method being parsed. If we're currently in a 'block', this returns the containing context.

Declared at: clang/include/clang/Sema/Sema.h:3459

const clang::DeclContext*
getCurObjCLexicalContext() const

Declared at: clang/include/clang/Sema/Sema.h:13380

clang::Scope* getCurScope() const

Description

Retrieve the parser's current scope. This routine must only be used when it is certain that semantic analysis and the parser are in precisely the same context, which is not the case when, e.g., we are performing any kind of template instantiation. Therefore, the only safe places to use this scope are in the parser itself and in routines directly invoked from the parser and *never* from template substitution or instantiation.

Declared at: clang/include/clang/Sema/Sema.h:13365

clang::CXXRecordDecl* getCurrentClass(
    clang::Scope* S,
    const clang::CXXScopeSpec* SS)

Declared at: clang/include/clang/Sema/Sema.h:7283

Parameters

clang::Scope* S
const clang::CXXScopeSpec* SS

clang::CXXRecordDecl* getCurrentInstantiationOf(
    clang::NestedNameSpecifier* NNS)

Declared at: clang/include/clang/Sema/Sema.h:6737

Parameters

clang::NestedNameSpecifier* NNS

std::tuple<MangleNumberingContext*, Decl*>
getCurrentMangleNumberContext(
    const clang::DeclContext* DC)

Description

Compute the mangling number context for a lambda expression or block literal. Also return the extra mangling decl if any.

Declared at: clang/include/clang/Sema/Sema.h:1377

Parameters

const clang::DeclContext* DC
- The DeclContext containing the lambda expression or block literal.

clang::Module* getCurrentModule() const

Description

Get the module unit whose scope we are currently within.

Declared at: clang/include/clang/Sema/Sema.h:2286

clang::QualType getCurrentThisType()

Description

Try to retrieve the type of the 'this' pointer.

Declared at: clang/include/clang/Sema/Sema.h:6477

Returns

The type of 'this', if possible. Otherwise, returns a NULL type.

clang::DarwinSDKInfo*
getDarwinSDKInfoForAvailabilityChecking()

Declared at: clang/include/clang/Sema/Sema.h:1632

clang::DarwinSDKInfo*
getDarwinSDKInfoForAvailabilityChecking(
    clang::SourceLocation Loc,
    llvm::StringRef Platform)

Declared at: clang/include/clang/Sema/Sema.h:1630

Parameters

clang::SourceLocation Loc
llvm::StringRef Platform

clang::QualType getDecltypeForExpr(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:2503

Parameters

clang::Expr* E

clang::LangAS getDefaultCXXMethodAddrSpace() const

Description

Returns default addr space for method qualifiers.

Declared at: clang/include/clang/Sema/Sema.h:4754

clang::Sema::DefaultedComparisonKind
getDefaultedComparisonKind(
    const clang::FunctionDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:3345

Parameters

const clang::FunctionDecl* FD

clang::Sema::DefaultedFunctionKind
getDefaultedFunctionKind(
    const clang::FunctionDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:3340

Parameters

const clang::FunctionDecl* FD

clang::ParsedType getDestructorName(
    clang::SourceLocation TildeLoc,
    clang::IdentifierInfo& II,
    clang::SourceLocation NameLoc,
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::ParsedType ObjectType,
    bool EnteringContext)

Declared at: clang/include/clang/Sema/Sema.h:6372

Parameters

clang::SourceLocation TildeLoc
clang::IdentifierInfo& II
clang::SourceLocation NameLoc
clang::Scope* S
clang::CXXScopeSpec& SS
clang::ParsedType ObjectType
bool EnteringContext

clang::ParsedType getDestructorTypeForDecltype(
    const clang::DeclSpec& DS,
    clang::ParsedType ObjectType)

Declared at: clang/include/clang/Sema/Sema.h:6378

Parameters

const clang::DeclSpec& DS
clang::ParsedType ObjectType

clang::DiagnosticsEngine& getDiagnostics() const

Declared at: clang/include/clang/Sema/Sema.h:1622

clang::QualType getElaboratedType(
    clang::ElaboratedTypeKeyword Keyword,
    const clang::CXXScopeSpec& SS,
    clang::QualType T,
    clang::TagDecl* OwnedTagDecl = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:2498

Parameters

clang::ElaboratedTypeKeyword Keyword
const clang::CXXScopeSpec& SS
clang::QualType T
clang::TagDecl* OwnedTagDecl = nullptr

clang::Sema::FunctionEmissionStatus
getEmissionStatus(clang::FunctionDecl* Decl,
                  bool Final = false)

Declared at: clang/include/clang/Sema/Sema.h:4382

Parameters

clang::FunctionDecl* Decl
bool Final = false

sema::FunctionScopeInfo* getEnclosingFunction()
    const

Declared at: clang/include/clang/Sema/Sema.h:1954

sema::LambdaScopeInfo* getEnclosingLambda() const

Description

Get the innermost lambda enclosing the current location, if any. This looks through intervening non-lambda scopes such as local functions and blocks.

Declared at: clang/include/clang/Sema/Sema.h:1974

clang::SourceRange getExprRange(
    clang::Expr* E) const

Declared at: clang/include/clang/Sema/Sema.h:5397

Parameters

clang::Expr* E

clang::ExternalSemaSource* getExternalSource()
    const

Declared at: clang/include/clang/Sema/Sema.h:1628

std::string getFixItZeroInitializerForType(
    clang::QualType T,
    clang::SourceLocation Loc) const

Description

Get a string to suggest for zero-initialization of a type.

Declared at: clang/include/clang/Sema/Sema.h:1874

Parameters

clang::QualType T
clang::SourceLocation Loc

std::string getFixItZeroLiteralForType(
    clang::QualType T,
    clang::SourceLocation Loc) const

Declared at: clang/include/clang/Sema/Sema.h:1875

Parameters

clang::QualType T
clang::SourceLocation Loc

clang::IdentifierInfo* getFloat128Identifier()
    const

Declared at: clang/include/clang/Sema/Sema.h:13372

static bool getFormatStringInfo(
    const clang::FormatAttr* Format,
    bool IsCXXMember,
    bool IsVariadic,
    clang::Sema::FormatStringInfo* FSI)

Declared at: clang/include/clang/Sema/Sema.h:13039

Parameters

const clang::FormatAttr* Format
bool IsCXXMember
bool IsVariadic
clang::Sema::FormatStringInfo* FSI

Optional<unsigned int> getFullyPackExpandedSize(
    clang::TemplateArgument Arg)

Description

Given a template argument that contains an unexpanded parameter pack, but which has already been substituted, attempt to determine the number of elements that will be produced once this argument is fully-expanded. This is intended for use when transforming 'sizeof...(Arg)' in order to avoid actually expanding the pack where possible.

Declared at: clang/include/clang/Sema/Sema.h:8672

Parameters

clang::TemplateArgument Arg

clang::DeclContext* getFunctionLevelDeclContext(
    bool AllowLambda = false)

Description

If \p AllowLambda is true, treat lambda as function.

Declared at: clang/include/clang/Sema/Sema.h:3448

Parameters

bool AllowLambda = false

ArrayRef<sema::FunctionScopeInfo*>
getFunctionScopes() const

Declared at: clang/include/clang/Sema/Sema.h:802

clang::TemplateArgumentLoc
getIdentityTemplateArgumentLoc(
    clang::NamedDecl* Param,
    clang::SourceLocation Location)

Description

Get a template argument mapping the given template parameter to itself, e.g. for X in \c template<int X>, this would return an expression template argument referencing X.

Declared at: clang/include/clang/Sema/Sema.h:7919

Parameters

clang::NamedDecl* Param
clang::SourceLocation Location

clang::Attr*
getImplicitCodeSegOrSectionAttrForFunction(
    const clang::FunctionDecl* FD,
    bool IsDefinition)

Declared at: clang/include/clang/Sema/Sema.h:2901

Parameters

const clang::FunctionDecl* FD
bool IsDefinition

clang::ParsedType getInheritingConstructorName(
    clang::CXXScopeSpec& SS,
    clang::SourceLocation NameLoc,
    clang::IdentifierInfo& Name)

Declared at: clang/include/clang/Sema/Sema.h:6365

Parameters

clang::CXXScopeSpec& SS
clang::SourceLocation NameLoc
clang::IdentifierInfo& Name

ArrayRef<clang::InventedTemplateParameterInfo>
getInventedParameterInfos() const

Declared at: clang/include/clang/Sema/Sema.h:818

clang::QualType
getLambdaConversionFunctionResultType(
    const clang::FunctionProtoType* CallOpType,
    clang::CallingConv CC)

Description

Get the return type to use for a lambda's conversion function(s) to function pointer type, given the type of the call operator.

Declared at: clang/include/clang/Sema/Sema.h:7056

Parameters

const clang::FunctionProtoType* CallOpType
clang::CallingConv CC

const clang::LangOptions& getLangOpts() const

Declared at: clang/include/clang/Sema/Sema.h:1618

clang::SourceLocation getLocForEndOfToken(
    clang::SourceLocation Loc,
    unsigned int Offset = 0)

Description

Calls \c Lexer::getLocForEndOfToken()

Declared at: clang/include/clang/Sema/Sema.h:1878

Parameters

clang::SourceLocation Loc
unsigned int Offset = 0

clang::SourceLocation
getLocationOfStringLiteralByte(
    const clang::StringLiteral* SL,
    unsigned int ByteNo) const

Declared at: clang/include/clang/Sema/Sema.h:13022

Parameters

const clang::StringLiteral* SL
unsigned int ByteNo

llvm::DenseSet<Module*>& getLookupModules()

Description

Get the set of additional modules that should be checked during name lookup. A module and its imports become visible when instanting a template defined within it.

Declared at: clang/include/clang/Sema/Sema.h:9123

clang::QualType getMessageSendResultType(
    const clang::Expr* Receiver,
    clang::QualType ReceiverType,
    clang::ObjCMethodDecl* Method,
    bool isClassMessage,
    bool isSuperMessage)

Description

Determine the result of a message send expression based on the type of the receiver, the method expected to receive the message, and the form of the message send.

Declared at: clang/include/clang/Sema/Sema.h:12402

Parameters

const clang::Expr* Receiver
clang::QualType ReceiverType
clang::ObjCMethodDecl* Method
bool isClassMessage
bool isSuperMessage

const llvm::MapVector<FieldDecl*, DeleteLocs>&
getMismatchingDeleteExpressions() const

Description

Retrieves list of suspicious delete-expressions that will be checked at the end of translation unit.

Declared at: clang/include/clang/Sema/Sema.h:1471

clang::ModuleLoader& getModuleLoader() const

Description

Retrieve the module loader associated with the preprocessor.

Declared at: clang/include/clang/Sema/Sema.h:1881

clang::ClassTemplatePartialSpecializationDecl*
getMoreSpecializedPartialSpecialization(
    clang::ClassTemplatePartialSpecializationDecl*
        PS1,
    clang::ClassTemplatePartialSpecializationDecl*
        PS2,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:8891

Parameters

clang::ClassTemplatePartialSpecializationDecl* PS1
clang::ClassTemplatePartialSpecializationDecl* PS2
clang::SourceLocation Loc

clang::VarTemplatePartialSpecializationDecl*
getMoreSpecializedPartialSpecialization(
    clang::VarTemplatePartialSpecializationDecl*
        PS1,
    clang::VarTemplatePartialSpecializationDecl*
        PS2,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:8899

Parameters

clang::VarTemplatePartialSpecializationDecl* PS1
clang::VarTemplatePartialSpecializationDecl* PS2
clang::SourceLocation Loc

clang::FunctionTemplateDecl*
getMoreSpecializedTemplate(
    clang::FunctionTemplateDecl* FT1,
    clang::FunctionTemplateDecl* FT2,
    clang::SourceLocation Loc,
    clang::TemplatePartialOrderingContext TPOC,
    unsigned int NumCallArguments1,
    unsigned int NumCallArguments2,
    bool Reversed = false,
    bool AllowOrderingByConstraints = true)

Declared at: clang/include/clang/Sema/Sema.h:8876

Parameters

clang::FunctionTemplateDecl* FT1
clang::FunctionTemplateDecl* FT2
clang::SourceLocation Loc
clang::TemplatePartialOrderingContext TPOC
unsigned int NumCallArguments1
unsigned int NumCallArguments2
bool Reversed = false
bool AllowOrderingByConstraints = true

clang::UnresolvedSetIterator getMostSpecialized(
    clang::UnresolvedSetIterator SBegin,
    clang::UnresolvedSetIterator SEnd,
    clang::TemplateSpecCandidateSet&
        FailedCandidates,
    clang::SourceLocation Loc,
    const clang::PartialDiagnostic& NoneDiag,
    const clang::PartialDiagnostic& AmbigDiag,
    const clang::PartialDiagnostic& CandidateDiag,
    bool Complain = true,
    clang::QualType TargetType =
        clang::QualType())

Declared at: clang/include/clang/Sema/Sema.h:8882

Parameters

clang::UnresolvedSetIterator SBegin
clang::UnresolvedSetIterator SEnd
clang::TemplateSpecCandidateSet& FailedCandidates
clang::SourceLocation Loc
const clang::PartialDiagnostic& NoneDiag
const clang::PartialDiagnostic& AmbigDiag
const clang::PartialDiagnostic& CandidateDiag
bool Complain = true
clang::QualType TargetType = clang::QualType()

clang::IdentifierInfo* getNSErrorIdent()

Description

Retrieve the identifier "NSError".

Declared at: clang/include/clang/Sema/Sema.h:13355

clang::Sema::NamedReturnInfo getNamedReturnInfo(
    clang::Expr*& E,
    clang::Sema::SimplerImplicitMoveMode Mode =
        SimplerImplicitMoveMode::Normal)

Declared at: clang/include/clang/Sema/Sema.h:5051

Parameters

clang::Expr*& E
clang::Sema::SimplerImplicitMoveMode Mode = SimplerImplicitMoveMode::Normal

clang::Sema::NamedReturnInfo getNamedReturnInfo(
    const clang::VarDecl* VD)

Declared at: clang/include/clang/Sema/Sema.h:5053

Parameters

const clang::VarDecl* VD

clang::Scope* getNonFieldDeclScope(
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:4131

Parameters

clang::Scope* S

clang::NonOdrUseReason
getNonOdrUseReasonInCurrentContext(
    clang::ValueDecl* D)

Description

If \p D cannot be odr-used in the current expression evaluation context, return a reason explaining why. Otherwise, return NOUR_None.

Declared at: clang/include/clang/Sema/Sema.h:5434

Parameters

clang::ValueDecl* D

clang::Sema::NonTagKind getNonTagTypeDeclKind(
    const clang::Decl* D,
    clang::TagTypeKind TTK)

Description

Given a non-tag type declaration, returns an enum useful for indicating what kind of non-tag type this is.

Declared at: clang/include/clang/Sema/Sema.h:3224

Parameters

const clang::Decl* D
clang::TagTypeKind TTK

const clang::NormalizedConstraint*
getNormalizedAssociatedConstraints(
    clang::NamedDecl* ConstrainedDecl,
    ArrayRef<const clang::Expr*>
        AssociatedConstraints)

Declared at: clang/include/clang/Sema/Sema.h:7117

Parameters

clang::NamedDecl* ConstrainedDecl
ArrayRef<const clang::Expr*> AssociatedConstraints

clang::IdentifierInfo* getNullabilityKeyword(
    clang::NullabilityKind nullability)

Description

Retrieve the keyword associated

Declared at: clang/include/clang/Sema/Sema.h:13348

Parameters

clang::NullabilityKind nullability

Optional<unsigned int> getNumArgumentsInExpansion(
    clang::QualType T,
    const clang::MultiLevelTemplateArgumentList&
        TemplateArgs)

Description

Determine the number of arguments in the given pack expansion type. This routine assumes that the number of arguments in the expansion is consistent across all of the unexpanded parameter packs in its pattern. Returns an empty Optional if the type can't be expanded.

Declared at: clang/include/clang/Sema/Sema.h:8633

Parameters

clang::QualType T
const clang::MultiLevelTemplateArgumentList& TemplateArgs

int getNumberOfConstructScopes(
    unsigned int Level) const

Description

Returns the number of scopes associated with the construct on the given OpenMP level.

Declared at: clang/include/clang/Sema/Sema.h:10636

Parameters

unsigned int Level

clang::OMPTraitInfo*
getOMPTraitInfoForSurroundingScope()

Description

Return the OMPTraitInfo for the surrounding scope, if any.

Declared at: clang/include/clang/Sema/Sema.h:10676

clang::Sema::ObjCContainerKind
getObjCContainerKind() const

Declared at: clang/include/clang/Sema/Sema.h:9851

clang::ObjCContainerDecl* getObjCDeclContext()
    const

Declared at: clang/include/clang/Sema/Sema.h:13374

clang::ObjCInterfaceDecl* getObjCInterfaceDecl(
    clang::IdentifierInfo*& Id,
    clang::SourceLocation IdLoc,
    bool TypoCorrection = false)

Declared at: clang/include/clang/Sema/Sema.h:4493

Parameters

clang::IdentifierInfo*& Id
clang::SourceLocation IdLoc
bool TypoCorrection = false

clang::Sema::ObjCMessageKind getObjCMessageKind(
    clang::Scope* S,
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc,
    bool IsSuper,
    bool HasTrailingDot,
    clang::ParsedType& ReceiverType)

Declared at: clang/include/clang/Sema/Sema.h:10124

Parameters

clang::Scope* S
clang::IdentifierInfo* Name
clang::SourceLocation NameLoc
bool IsSuper
bool HasTrailingDot
clang::ParsedType& ReceiverType

clang::OpenCLOptions& getOpenCLOptions()

Declared at: clang/include/clang/Sema/Sema.h:1619

static int getOpenMPCaptureLevels(
    clang::OpenMPDirectiveKind Kind)

Description

Return the number of captured regions created for an OpenMP directive.

Declared at: clang/include/clang/Sema/Sema.h:10950

Parameters

clang::OpenMPDirectiveKind Kind

clang::ExprResult getOpenMPCapturedExpr(
    clang::VarDecl* Capture,
    clang::ExprValueKind VK,
    clang::ExprObjectKind OK,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:10759

Parameters

clang::VarDecl* Capture
clang::ExprValueKind VK
clang::ExprObjectKind OK
clang::SourceLocation Loc

const clang::ValueDecl*
getOpenMPDeclareMapperVarName() const

Declared at: clang/include/clang/Sema/Sema.h:10900

unsigned int getOpenMPNestingLevel() const

Description

Returns OpenMP nesting level for current directive.

Declared at: clang/include/clang/Sema/Sema.h:10628

clang::SourceLocation
getOptimizeOffPragmaLocation() const

Description

Get the location for the currently active " # pragma clang optimize off". If this location is invalid, then the state of the pragma is "on".

Declared at: clang/include/clang/Sema/Sema.h:10467

clang::NamespaceDecl* getOrCreateStdNamespace()

Declared at: clang/include/clang/Sema/Sema.h:5941

clang::Module* getOwningModule(
    const clang::Decl* Entity)

Description

Get the module owning an entity.

Declared at: clang/include/clang/Sema/Sema.h:2296

Parameters

const clang::Decl* Entity

clang::Preprocessor& getPreprocessor() const

Declared at: clang/include/clang/Sema/Sema.h:1624

static unsigned int getPrintable(unsigned int I)

Declared at: clang/include/clang/Sema/Sema.h:2143

Parameters

unsigned int I

static const clang::IdentifierInfo* getPrintable(
    const clang::IdentifierInfo* II)

Declared at: clang/include/clang/Sema/Sema.h:2148

Parameters

const clang::IdentifierInfo* II

static clang::DeclarationName getPrintable(
    clang::DeclarationName N)

Declared at: clang/include/clang/Sema/Sema.h:2151

Parameters

clang::DeclarationName N

static clang::QualType getPrintable(
    clang::QualType T)

Declared at: clang/include/clang/Sema/Sema.h:2152

Parameters

clang::QualType T

static clang::SourceRange getPrintable(
    clang::SourceRange R)

Declared at: clang/include/clang/Sema/Sema.h:2153

Parameters

clang::SourceRange R

static clang::SourceRange getPrintable(
    clang::SourceLocation L)

Declared at: clang/include/clang/Sema/Sema.h:2154

Parameters

clang::SourceLocation L

static clang::SourceRange getPrintable(
    const clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:2155

Parameters

const clang::Expr* E

static clang::SourceRange getPrintable(
    clang::TypeLoc TL)

Declared at: clang/include/clang/Sema/Sema.h:2156

Parameters

clang::TypeLoc TL

static const std::string& getPrintable(
    const std::string& S)

Declared at: clang/include/clang/Sema/Sema.h:2147

Parameters

const std::string& S

static llvm::StringRef getPrintable(
    llvm::StringRef S)

Declared at: clang/include/clang/Sema/Sema.h:2146

Parameters

llvm::StringRef S

static const char* getPrintable(const char* S)

Declared at: clang/include/clang/Sema/Sema.h:2145

Parameters

const char* S

static int getPrintable(int I)

Declared at: clang/include/clang/Sema/Sema.h:2142

Parameters

int I

static bool getPrintable(bool B)

Declared at: clang/include/clang/Sema/Sema.h:2144

Parameters

bool B

static clang::PrintingPolicy getPrintingPolicy(
    const clang::ASTContext& Ctx,
    const clang::Preprocessor& PP)

Description

Retrieve a suitable printing policy for diagnostics.

Declared at: clang/include/clang/Sema/Sema.h:3184

Parameters

const clang::ASTContext& Ctx
const clang::Preprocessor& PP

clang::PrintingPolicy getPrintingPolicy() const

Description

Retrieve a suitable printing policy for diagnostics.

Declared at: clang/include/clang/Sema/Sema.h:3179

clang::TypeLoc getReturnTypeLoc(
    clang::FunctionDecl* FD) const

Declared at: clang/include/clang/Sema/Sema.h:8870

Parameters

clang::FunctionDecl* FD

clang::Scope* getScopeForContext(
    clang::DeclContext* Ctx)

Declared at: clang/include/clang/Sema/Sema.h:1917

Parameters

clang::DeclContext* Ctx

static clang::Scope* getScopeForDeclContext(
    clang::Scope* S,
    clang::DeclContext* DC)

Description

Finds the scope corresponding to the given decl context, if it happens to be an enclosing scope. Otherwise return NULL.

Declared at: clang/include/clang/Sema/Sema.h:3481

Parameters

clang::Scope* S
clang::DeclContext* DC

const clang::FieldDecl*
getSelfAssignmentClassMemberCandidate(
    const clang::ValueDecl* SelfAssigned)

Description

Returns a field in a CXXRecordDecl that has the same name as the decl \p SelfAssigned when inside a CXXMethodDecl.

Declared at: clang/include/clang/Sema/Sema.h:5189

Parameters

const clang::ValueDecl* SelfAssigned

clang::NamedDecl* getShadowedDeclaration(
    const clang::VarDecl* D,
    const clang::LookupResult& R)

Declared at: clang/include/clang/Sema/Sema.h:2822

Parameters

const clang::VarDecl* D
const clang::LookupResult& R

clang::NamedDecl* getShadowedDeclaration(
    const clang::TypedefNameDecl* D,
    const clang::LookupResult& R)

Declared at: clang/include/clang/Sema/Sema.h:2820

Parameters

const clang::TypedefNameDecl* D
const clang::LookupResult& R

clang::NamedDecl* getShadowedDeclaration(
    const clang::BindingDecl* D,
    const clang::LookupResult& R)

Declared at: clang/include/clang/Sema/Sema.h:2823

Parameters

const clang::BindingDecl* D
const clang::LookupResult& R

clang::SourceManager& getSourceManager() const

Declared at: clang/include/clang/Sema/Sema.h:1623

clang::Sema::CXXSpecialMember getSpecialMember(
    const clang::CXXMethodDecl* MD)

Declared at: clang/include/clang/Sema/Sema.h:3342

Parameters

const clang::CXXMethodDecl* MD

clang::EnumDecl* getStdAlignValT() const

Declared at: clang/include/clang/Sema/Sema.h:5947

clang::CXXRecordDecl* getStdBadAlloc() const

Declared at: clang/include/clang/Sema/Sema.h:5946

clang::NamespaceDecl* getStdNamespace() const

Declared at: clang/include/clang/Sema/Sema.h:5940

clang::IdentifierInfo* getSuperIdentifier() const

Declared at: clang/include/clang/Sema/Sema.h:13371

std::string getTemplateArgumentBindingsText(
    const clang::TemplateParameterList* Params,
    const clang::TemplateArgumentList& Args)

Declared at: clang/include/clang/Sema/Sema.h:8256

Parameters

const clang::TemplateParameterList* Params
const clang::TemplateArgumentList& Args

std::string getTemplateArgumentBindingsText(
    const clang::TemplateParameterList* Params,
    const clang::TemplateArgument* Args,
    unsigned int NumArgs)

Declared at: clang/include/clang/Sema/Sema.h:8260

Parameters

const clang::TemplateParameterList* Params
const clang::TemplateArgument* Args
unsigned int NumArgs

clang::TemplateArgumentLoc
getTemplateArgumentPackExpansionPattern(
    clang::TemplateArgumentLoc OrigLoc,
    clang::SourceLocation& Ellipsis,
    Optional<unsigned int>& NumExpansions) const

Description

Returns the pattern of the pack expansion for a template argument.

Declared at: clang/include/clang/Sema/Sema.h:8661

Parameters

clang::TemplateArgumentLoc OrigLoc
The template argument to expand.
clang::SourceLocation& Ellipsis
Will be set to the location of the ellipsis.
Optional<unsigned int>& NumExpansions
Will be set to the number of expansions that will be generated from this pack expansion, if known a priori.

unsigned int getTemplateDepth(
    clang::Scope* S) const

Description

Determine the number of levels of enclosing template parameters. This is only usable while parsing. Note that this does not include dependent contexts in which no template parameters have yet been declared, such as in a terse function template or generic lambda before the first 'auto' is encountered.

Declared at: clang/include/clang/Sema/Sema.h:13393

Parameters

clang::Scope* S

clang::MultiLevelTemplateArgumentList
getTemplateInstantiationArgs(
    const clang::NamedDecl* D,
    const clang::TemplateArgumentList* Innermost =
        nullptr,
    bool RelativeToPrimary = false,
    const clang::FunctionDecl* Pattern = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:8929

Parameters

const clang::NamedDecl* D
const clang::TemplateArgumentList* Innermost = nullptr
bool RelativeToPrimary = false
const clang::FunctionDecl* Pattern = nullptr

clang::Sema::TemplateNameKindForDiagnostics
getTemplateNameKindForDiagnostics(
    clang::TemplateName Name)

Declared at: clang/include/clang/Sema/Sema.h:2770

Parameters

clang::TemplateName Name

clang::TemplateArgumentLoc
getTrivialTemplateArgumentLoc(
    const clang::TemplateArgument& Arg,
    clang::QualType NTTPType,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:7912

Parameters

const clang::TemplateArgument& Arg
clang::QualType NTTPType
clang::SourceLocation Loc

clang::ParsedType getTypeName(
    const clang::IdentifierInfo& II,
    clang::SourceLocation NameLoc,
    clang::Scope* S,
    clang::CXXScopeSpec* SS = nullptr,
    bool isClassName = false,
    bool HasTrailingDot = false,
    clang::ParsedType ObjectType = nullptr,
    bool IsCtorOrDtorName = false,
    bool WantNontrivialTypeSourceInfo = false,
    bool IsClassTemplateDeductionContext = true,
    clang::IdentifierInfo** CorrectedII = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:2533

Parameters

const clang::IdentifierInfo& II
clang::SourceLocation NameLoc
clang::Scope* S
clang::CXXScopeSpec* SS = nullptr
bool isClassName = false
bool HasTrailingDot = false
clang::ParsedType ObjectType = nullptr
bool IsCtorOrDtorName = false
bool WantNontrivialTypeSourceInfo = false
bool IsClassTemplateDeductionContext = true
clang::IdentifierInfo** CorrectedII = nullptr

const clang::Sema::TypoExprState&
getTypoExprState(clang::TypoExpr* TE) const

Declared at: clang/include/clang/Sema/Sema.h:4316

Parameters

clang::TypoExpr* TE

void getUndefinedButUsed(
    SmallVectorImpl<
        std::pair<NamedDecl*, SourceLocation>>&
        Undefined)

Description

Obtain a sorted list of functions that are undefined but ODR-used.

Declared at: clang/include/clang/Sema/Sema.h:1465

Parameters

SmallVectorImpl< std::pair<NamedDecl*, SourceLocation>>& Undefined

clang::Sema::VariadicCallType getVariadicCallType(
    clang::FunctionDecl* FDecl,
    const clang::FunctionProtoType* Proto,
    clang::Expr* Fn)

Declared at: clang/include/clang/Sema/Sema.h:11909

Parameters

clang::FunctionDecl* FDecl
const clang::FunctionProtoType* Proto
clang::Expr* Fn

void handleDelayedAvailabilityCheck(
    sema::DelayedDiagnostic& DD,
    clang::Decl* Ctx)

Declared at: clang/include/clang/Sema/Sema.h:5228

Parameters

sema::DelayedDiagnostic& DD
clang::Decl* Ctx

void handleLambdaNumbering(
    clang::CXXRecordDecl* Class,
    clang::CXXMethodDecl* Method,
    Optional<std::tuple<bool,
                        unsigned int,
                        unsigned int,
                        Decl*>> Mangling = None)

Description

Number lambda for linkage purposes if necessary.

Declared at: clang/include/clang/Sema/Sema.h:6952

Parameters

clang::CXXRecordDecl* Class
clang::CXXMethodDecl* Method
Optional<std::tuple<bool, unsigned int, unsigned int, Decl*>> Mangling = None

void handleTagNumbering(const clang::TagDecl* Tag,
                        clang::Scope* TagScope)

Declared at: clang/include/clang/Sema/Sema.h:2842

Parameters

const clang::TagDecl* Tag
clang::Scope* TagScope

bool handlerCanCatch(
    clang::QualType HandlerType,
    clang::QualType ExceptionType)

Declared at: clang/include/clang/Sema/Sema.h:2112

Parameters

clang::QualType HandlerType
clang::QualType ExceptionType

bool hasAcceptableDefaultArgument(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules,
    Sema::AcceptableKind Kind)

Description

Determine if the template parameter \p D has a reachable default argument.

Declared at: clang/include/clang/Sema/Sema.h:2393

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules
Sema::AcceptableKind Kind

bool hasAcceptableDefinition(
    clang::NamedDecl* D,
    clang::Sema::AcceptableKind Kind)

Declared at: clang/include/clang/Sema/Sema.h:2380

Parameters

clang::NamedDecl* D
clang::Sema::AcceptableKind Kind

bool hasAcceptableDefinition(
    clang::NamedDecl* D,
    clang::NamedDecl** Suggested,
    clang::Sema::AcceptableKind Kind,
    bool OnlyNeedComplete = false)

Declared at: clang/include/clang/Sema/Sema.h:2377

Parameters

clang::NamedDecl* D
clang::NamedDecl** Suggested
clang::Sema::AcceptableKind Kind
bool OnlyNeedComplete = false

bool hasAnyAcceptableTemplateNames(
    clang::LookupResult& R,
    bool AllowFunctionTemplates = true,
    bool AllowDependent = true,
    bool AllowNonTemplateFunctions = false)

Declared at: clang/include/clang/Sema/Sema.h:7720

Parameters

clang::LookupResult& R
bool AllowFunctionTemplates = true
bool AllowDependent = true
bool AllowNonTemplateFunctions = false

bool hasAnyUnrecoverableErrorsInThisFunction()
    const

Declared at: clang/include/clang/Sema/Sema.h:1966

bool hasCStrMethod(const clang::Expr* E)

Description

Check to see if a given expression could have '.c_str()' called on it.

Declared at: clang/include/clang/Sema/Sema.h:11943

Parameters

const clang::Expr* E

bool hasExplicitCallingConv(clang::QualType T)

Declared at: clang/include/clang/Sema/Sema.h:4600

Parameters

clang::QualType T

bool hasGlobalOpenMPAssumes() const

Description

Check if there is an active global `omp assumes` directive.

Declared at: clang/include/clang/Sema/Sema.h:10848

bool hasMergedDefinitionInCurrentModule(
    clang::NamedDecl* Def)

Declared at: clang/include/clang/Sema/Sema.h:2353

Parameters

clang::NamedDecl* Def

bool hasReachableDeclaration(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Description

Determine whether any declaration of an entity is reachable.

Declared at: clang/include/clang/Sema/Sema.h:2345

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasReachableDeclarationSlow(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Declared at: clang/include/clang/Sema/Sema.h:2349

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasReachableDefaultArgument(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Description

Determine if the template parameter \p D has a reachable default argument.

Declared at: clang/include/clang/Sema/Sema.h:2390

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasReachableDefinition(
    clang::NamedDecl* D,
    clang::NamedDecl** Suggested,
    bool OnlyNeedComplete = false)

Description

Determine if \p D has a reachable definition. If not, suggest a declaration that should be made reachable to expose the definition.

Declared at: clang/include/clang/Sema/Sema.h:2370

Parameters

clang::NamedDecl* D
clang::NamedDecl** Suggested
bool OnlyNeedComplete = false

bool hasReachableDefinition(clang::NamedDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:2372

Parameters

clang::NamedDecl* D

bool hasReachableExplicitSpecialization(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Description

Determine if there is a reachable declaration of \p D that is an explicit specialization declaration for a specialization of a template. (For a member specialization, use hasReachableMemberSpecialization.)

Declared at: clang/include/clang/Sema/Sema.h:2405

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasReachableMemberSpecialization(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Description

Determine if there is a reachable declaration of \p D that is a member specialization declaration (as opposed to an instantiated declaration).

Declared at: clang/include/clang/Sema/Sema.h:2414

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasStructuralCompatLayout(
    clang::Decl* D,
    clang::Decl* Suggested)

Description

Determine if \p D and \p Suggested have a structurally compatible layout as described in C11 6.2.7/1.

Declared at: clang/include/clang/Sema/Sema.h:2357

Parameters

clang::Decl* D
clang::Decl* Suggested

bool hasUncompilableErrorOccurred() const

Description

Whether uncompilable error has occurred. This includes error happens in deferred diagnostics.

Declared at: clang/include/clang/Sema/Sema.h:1868

bool hasVisibleDeclaration(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Description

Determine whether any declaration of an entity is visible.

Declared at: clang/include/clang/Sema/Sema.h:2336

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasVisibleDeclarationSlow(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules)

Declared at: clang/include/clang/Sema/Sema.h:2341

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules

bool hasVisibleDefaultArgument(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Description

Determine if the template parameter \p D has a visible default argument.

Declared at: clang/include/clang/Sema/Sema.h:2387

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasVisibleDefinition(
    clang::NamedDecl* D,
    clang::NamedDecl** Suggested,
    bool OnlyNeedComplete = false)

Description

Determine if \p D has a visible definition. If not, suggest a declaration that should be made visible to expose the definition.

Declared at: clang/include/clang/Sema/Sema.h:2361

Parameters

clang::NamedDecl* D
clang::NamedDecl** Suggested
bool OnlyNeedComplete = false

bool hasVisibleDefinition(
    const clang::NamedDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:2363

Parameters

const clang::NamedDecl* D

bool hasVisibleExplicitSpecialization(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Description

Determine if there is a visible declaration of \p D that is an explicit specialization declaration for a specialization of a template. (For a member specialization, use hasVisibleMemberSpecialization.)

Declared at: clang/include/clang/Sema/Sema.h:2400

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasVisibleMemberSpecialization(
    const clang::NamedDecl* D,
    llvm::SmallVectorImpl<Module*>* Modules =
        nullptr)

Description

Determine if there is a visible declaration of \p D that is a member specialization declaration (as opposed to an instantiated declaration).

Declared at: clang/include/clang/Sema/Sema.h:2410

Parameters

const clang::NamedDecl* D
llvm::SmallVectorImpl<Module*>* Modules = nullptr

bool hasVisibleMergedDefinition(
    clang::NamedDecl* Def)

Declared at: clang/include/clang/Sema/Sema.h:2352

Parameters

clang::NamedDecl* Def

bool inTemplateInstantiation() const

Description

Determine whether we are currently performing template instantiation.

Declared at: clang/include/clang/Sema/Sema.h:9379

void incrementMSManglingNumber() const

Declared at: clang/include/clang/Sema/Sema.h:13367

bool inferCUDATargetForImplicitSpecialMember(
    clang::CXXRecordDecl* ClassDecl,
    clang::Sema::CXXSpecialMember CSM,
    clang::CXXMethodDecl* MemberDecl,
    bool ConstRHS,
    bool Diagnose)

Description

Given a implicit special member, infer its CUDA target from the calls it needs to make to underlying base/field special members.

Declared at: clang/include/clang/Sema/Sema.h:12791

Parameters

clang::CXXRecordDecl* ClassDecl
the class for which the member is being created.
clang::Sema::CXXSpecialMember CSM
the kind of special member.
clang::CXXMethodDecl* MemberDecl
the special member itself.
bool ConstRHS
true if this is a copy operation with a const object on its RHS.
bool Diagnose
true if this call should emit diagnostics.

Returns

true if there was an error inferring. The result of this call is implicit CUDA target attribute(s) attached to the member declaration.

void inferGslOwnerPointerAttribute(
    clang::CXXRecordDecl* Record)

Description

Add [[gsl::Owner]] and [[gsl::Pointer]] attributes for std:: types.

Declared at: clang/include/clang/Sema/Sema.h:7446

Parameters

clang::CXXRecordDecl* Record

void inferGslPointerAttribute(
    clang::TypedefNameDecl* TD)

Description

Add [[gsl::Pointer]] attributes for std:: types.

Declared at: clang/include/clang/Sema/Sema.h:7449

Parameters

clang::TypedefNameDecl* TD

void inferGslPointerAttribute(
    clang::NamedDecl* ND,
    clang::CXXRecordDecl* UnderlyingRecord)

Description

Add gsl::Pointer attribute to std::container::iterator

Declared at: clang/include/clang/Sema/Sema.h:7443

Parameters

clang::NamedDecl* ND
The declaration that introduces the name std::container::iterator.
clang::CXXRecordDecl* UnderlyingRecord
The record named by ND.

bool inferObjCARCLifetime(clang::ValueDecl* decl)

Declared at: clang/include/clang/Sema/Sema.h:10091

Parameters

clang::ValueDecl* decl

void inheritCUDATargetAttrs(
    clang::FunctionDecl* FD,
    const clang::FunctionTemplateDecl& TD)

Description

Copies target attributes from the template TD to the function FD.

Declared at: clang/include/clang/Sema/Sema.h:12817

Parameters

clang::FunctionDecl* FD
const clang::FunctionTemplateDecl& TD

bool isAbstractType(clang::SourceLocation Loc,
                    clang::QualType T)

Declared at: clang/include/clang/Sema/Sema.h:7694

Parameters

clang::SourceLocation Loc
clang::QualType T

bool isAcceptable(
    const clang::NamedDecl* D,
    clang::Sema::AcceptableKind Kind)

Description

Determine whether a declaration is acceptable (visible/reachable).

Declared at: clang/include/clang/Sema/Sema.h:2330

Parameters

const clang::NamedDecl* D
clang::Sema::AcceptableKind Kind

bool isAcceptableNestedNameSpecifier(
    const clang::NamedDecl* SD,
    bool* CanCorrect = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:6762

Parameters

const clang::NamedDecl* SD
bool* CanCorrect = nullptr

bool isAcceptableSlow(
    const clang::NamedDecl* D,
    clang::Sema::AcceptableKind Kind)

Declared at: clang/include/clang/Sema/Sema.h:2279

Parameters

const clang::NamedDecl* D
clang::Sema::AcceptableKind Kind

bool isAcceptableTagRedeclaration(
    const clang::TagDecl* Previous,
    clang::TagTypeKind NewTag,
    bool isDefinition,
    clang::SourceLocation NewTagLoc,
    const clang::IdentifierInfo* Name)

Declared at: clang/include/clang/Sema/Sema.h:3226

Parameters

const clang::TagDecl* Previous
clang::TagTypeKind NewTag
bool isDefinition
clang::SourceLocation NewTagLoc
const clang::IdentifierInfo* Name

bool isCFError(clang::RecordDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:13352

Parameters

clang::RecordDecl* D

static bool isCUDAImplicitHostDeviceFunction(
    const clang::FunctionDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:12703

Parameters

const clang::FunctionDecl* D

static bool isCast(
    clang::Sema::CheckedConversionKind CCK)

Declared at: clang/include/clang/Sema/Sema.h:11844

Parameters

clang::Sema::CheckedConversionKind CCK

bool isCompleteType(
    clang::SourceLocation Loc,
    clang::QualType T,
    clang::Sema::CompleteTypeKind Kind =
        CompleteTypeKind::Default)

Declared at: clang/include/clang/Sema/Sema.h:2428

Parameters

clang::SourceLocation Loc
clang::QualType T
clang::Sema::CompleteTypeKind Kind = CompleteTypeKind::Default

bool isConstantEvaluated()

Declared at: clang/include/clang/Sema/Sema.h:1041

bool isCurrentClassName(
    const clang::IdentifierInfo& II,
    clang::Scope* S,
    const clang::CXXScopeSpec* SS = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:7284

Parameters

const clang::IdentifierInfo& II
clang::Scope* S
const clang::CXXScopeSpec* SS = nullptr

bool isCurrentClassNameTypo(
    clang::IdentifierInfo*& II,
    const clang::CXXScopeSpec* SS)

Declared at: clang/include/clang/Sema/Sema.h:7286

Parameters

clang::IdentifierInfo*& II
const clang::CXXScopeSpec* SS

bool isCurrentModulePurview() const

Description

Helper function to judge if we are in module purview. Return false if we are not in a module.

Declared at: clang/include/clang/Sema/Sema.h:2263

bool isDeclInScope(
    clang::NamedDecl* D,
    clang::DeclContext* Ctx,
    clang::Scope* S = nullptr,
    bool AllowInlineNamespace = false)

Description

isDeclInScope - If 'Ctx' is a function/method, isDeclInScope returns true if 'D' is in Scope 'S', otherwise 'S' is ignored and isDeclInScope returns true if 'D' belongs to the given declaration context.

Declared at: clang/include/clang/Sema/Sema.h:3476

Parameters

clang::NamedDecl* D
clang::DeclContext* Ctx
clang::Scope* S = nullptr
bool AllowInlineNamespace = false
If \c true, allow the declaration to be in the enclosing namespace set of the context, rather than contained directly within it.

bool isDeductionGuideName(
    clang::Scope* S,
    const clang::IdentifierInfo& Name,
    clang::SourceLocation NameLoc,
    clang::ParsedTemplateTy* Template = nullptr)

Description

Determine whether a particular identifier might be the name in a C++1z deduction-guide declaration.

Declared at: clang/include/clang/Sema/Sema.h:7797

Parameters

clang::Scope* S
const clang::IdentifierInfo& Name
clang::SourceLocation NameLoc
clang::ParsedTemplateTy* Template = nullptr

bool isDependentScopeSpecifier(
    const clang::CXXScopeSpec& SS)

Declared at: clang/include/clang/Sema/Sema.h:6736

Parameters

const clang::CXXScopeSpec& SS

bool isEmptyCudaConstructor(
    clang::SourceLocation Loc,
    clang::CXXConstructorDecl* CD)

Declared at: clang/include/clang/Sema/Sema.h:12799

Parameters

clang::SourceLocation Loc
clang::CXXConstructorDecl* CD

Returns

true if \p CD can be considered empty according to CUDA (E.2.3.1 in CUDA 7.5 Programming guide).

bool isEmptyCudaDestructor(
    clang::SourceLocation Loc,
    clang::CXXDestructorDecl* CD)

Declared at: clang/include/clang/Sema/Sema.h:12800

Parameters

clang::SourceLocation Loc
clang::CXXDestructorDecl* CD

bool isEquivalentInternalLinkageDeclaration(
    const clang::NamedDecl* A,
    const clang::NamedDecl* B)

Description

Determine if \p A and \p B are equivalent internal linkage declarations from different modules, and thus an ambiguity error can be downgraded to an extension warning.

Declared at: clang/include/clang/Sema/Sema.h:2420

Parameters

const clang::NamedDecl* A
const clang::NamedDecl* B

bool isExternalWithNoLinkageType(
    clang::ValueDecl* VD)

Description

Determine if VD, which must be a variable or function, is an external symbol that nonetheless can't be referenced from outside this translation unit because its type has no linkage and it's not extern "C".

Declared at: clang/include/clang/Sema/Sema.h:1462

Parameters

clang::ValueDecl* VD

bool isImmediateFunctionContext() const

Declared at: clang/include/clang/Sema/Sema.h:9414

bool isImplicitlyDeleted(clang::FunctionDecl* FD)

Description

Determine whether the given function is an implicitly-deleted special member function.

Declared at: clang/include/clang/Sema/Sema.h:6331

Parameters

clang::FunctionDecl* FD

bool isInOpenMPAssumeScope() const

Description

Check if there is an active global `omp begin assumes` directive.

Declared at: clang/include/clang/Sema/Sema.h:10845

bool isInOpenMPDeclareTargetContext() const

Description

Return true inside OpenMP declare target region.

Declared at: clang/include/clang/Sema/Sema.h:10943

bool isInOpenMPDeclareVariantScope() const

Description

Can we exit an OpenMP declare variant scope at the moment.

Declared at: clang/include/clang/Sema/Sema.h:10708

bool isInOpenMPTargetExecutionDirective() const

Description

Return true inside OpenMP target region.

Declared at: clang/include/clang/Sema/Sema.h:10947

bool isInOpenMPTaskUntiedContext() const

Description

Return true if currently in OpenMP task with untied clause context.

Declared at: clang/include/clang/Sema/Sema.h:10940

bool isIncompatibleTypedef(
    clang::TypeDecl* Old,
    clang::TypedefNameDecl* New)

Declared at: clang/include/clang/Sema/Sema.h:3486

Parameters

clang::TypeDecl* Old
clang::TypedefNameDecl* New

bool isInitListConstructor(
    const clang::FunctionDecl* Ctor)

Description

Determine whether Ctor is an initializer-list constructor, as defined in [dcl.init.list]p2.

Declared at: clang/include/clang/Sema/Sema.h:5993

Parameters

const clang::FunctionDecl* Ctor

bool isKnownName(llvm::StringRef name)

Declared at: clang/include/clang/Sema/Sema.h:4372

Parameters

llvm::StringRef name

bool isLaxVectorConversion(
    clang::QualType srcType,
    clang::QualType destType)

Declared at: clang/include/clang/Sema/Sema.h:12265

Parameters

clang::QualType srcType
clang::QualType destType

bool isLibstdcxxEagerExceptionSpecHack(
    const clang::Declarator& D)

Description

Determine if we're in a case where we need to (incorrectly) eagerly parse an exception specification to work around a libstdc++ bug.

Declared at: clang/include/clang/Sema/Sema.h:6210

Parameters

const clang::Declarator& D

bool isMemberAccessibleForDeletion(
    clang::CXXRecordDecl* NamingClass,
    clang::DeclAccessPair Found,
    clang::QualType ObjectType,
    clang::SourceLocation Loc,
    const clang::PartialDiagnostic& Diag)

Declared at: clang/include/clang/Sema/Sema.h:7661

Parameters

clang::CXXRecordDecl* NamingClass
clang::DeclAccessPair Found
clang::QualType ObjectType
clang::SourceLocation Loc
const clang::PartialDiagnostic& Diag

bool isMemberAccessibleForDeletion(
    clang::CXXRecordDecl* NamingClass,
    clang::DeclAccessPair Found,
    clang::QualType ObjectType)

Declared at: clang/include/clang/Sema/Sema.h:7665

Parameters

clang::CXXRecordDecl* NamingClass
clang::DeclAccessPair Found
clang::QualType ObjectType

bool isMicrosoftMissingTypename(
    const clang::CXXScopeSpec* SS,
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:2542

Parameters

const clang::CXXScopeSpec* SS
clang::Scope* S

bool isModuleDirectlyImported(
    const clang::Module* M)

Declared at: clang/include/clang/Sema/Sema.h:2300

Parameters

const clang::Module* M

bool isModuleUnitOfCurrentTU(
    const clang::Module* M) const

Declared at: clang/include/clang/Sema/Sema.h:2282

Parameters

const clang::Module* M

bool isModuleVisible(const clang::Module* M,
                     bool ModulePrivate = false)

Declared at: clang/include/clang/Sema/Sema.h:2308

Parameters

const clang::Module* M
bool ModulePrivate = false

bool isMoreSpecializedThanPrimary(
    clang::VarTemplatePartialSpecializationDecl*
        T,
    sema::TemplateDeductionInfo& Info)

Declared at: clang/include/clang/Sema/Sema.h:8903

Parameters

clang::VarTemplatePartialSpecializationDecl* T
sema::TemplateDeductionInfo& Info

bool isMoreSpecializedThanPrimary(
    clang::ClassTemplatePartialSpecializationDecl*
        T,
    sema::TemplateDeductionInfo& Info)

Declared at: clang/include/clang/Sema/Sema.h:8896

Parameters

clang::ClassTemplatePartialSpecializationDecl* T
sema::TemplateDeductionInfo& Info

bool isNonTypeNestedNameSpecifier(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    clang::Sema::NestedNameSpecInfo& IdInfo)

Declared at: clang/include/clang/Sema/Sema.h:6796

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
clang::Sema::NestedNameSpecInfo& IdInfo

bool isObjCMethodDecl(clang::Decl* D)

Declared at: clang/include/clang/Sema/Sema.h:3016

Parameters

clang::Decl* D

bool isObjCPointerConversion(
    clang::QualType FromType,
    clang::QualType ToType,
    clang::QualType& ConvertedType,
    bool& IncompatibleObjC)

Declared at: clang/include/clang/Sema/Sema.h:3662

Parameters

clang::QualType FromType
clang::QualType ToType
clang::QualType& ConvertedType
bool& IncompatibleObjC

bool isObjCWritebackConversion(
    clang::QualType FromType,
    clang::QualType ToType,
    clang::QualType& ConvertedType)

Declared at: clang/include/clang/Sema/Sema.h:3664

Parameters

clang::QualType FromType
clang::QualType ToType
clang::QualType& ConvertedType

bool isOpenMPCapturedByRef(
    const clang::ValueDecl* D,
    unsigned int Level,
    unsigned int OpenMPCaptureLevel) const

Description

Return true if the provided declaration \a VD should be captured by reference.

Declared at: clang/include/clang/Sema/Sema.h:10744

Parameters

const clang::ValueDecl* D
unsigned int Level
Relative level of nested OpenMP construct for that the check is performed.
unsigned int OpenMPCaptureLevel
Capture level within an OpenMP construct.

clang::VarDecl* isOpenMPCapturedDecl(
    clang::ValueDecl* D,
    bool CheckScopeInfo = false,
    unsigned int StopAt = 0)

Description

Check if the specified variable is used in one of the private clauses (private, firstprivate, lastprivate, reduction etc.) in OpenMP constructs.

Declared at: clang/include/clang/Sema/Sema.h:10750

Parameters

clang::ValueDecl* D
bool CheckScopeInfo = false
unsigned int StopAt = 0

bool isOpenMPDeclareMapperVarDeclAllowed(
    const clang::VarDecl* VD) const

Declared at: clang/include/clang/Sema/Sema.h:10899

Parameters

const clang::VarDecl* VD

bool isOpenMPGlobalCapturedDecl(
    clang::ValueDecl* D,
    unsigned int Level,
    unsigned int CaptureLevel) const

Description

Check if the specified global variable must be captured by outer capture regions.

Declared at: clang/include/clang/Sema/Sema.h:10791

Parameters

clang::ValueDecl* D
unsigned int Level
Relative level of nested OpenMP construct for that the check is performed.
unsigned int CaptureLevel

clang::OpenMPClauseKind isOpenMPPrivateDecl(
    clang::ValueDecl* D,
    unsigned int Level,
    unsigned int CapLevel) const

Description

Check if the specified variable is used in 'private' clause.

Declared at: clang/include/clang/Sema/Sema.h:10773

Parameters

clang::ValueDecl* D
unsigned int Level
Relative level of nested OpenMP construct for that the check is performed.
unsigned int CapLevel

bool isOpenMPRebuildMemberExpr(
    clang::ValueDecl* D)

Description

The member expression(this->fd) needs to be rebuilt in the template instantiation to generate private copy for OpenMP when default clause is used. The function will return true if default cluse is used.

Declared at: clang/include/clang/Sema/Sema.h:10757

Parameters

clang::ValueDecl* D

bool isOpenMPTargetCapturedDecl(
    const clang::ValueDecl* D,
    unsigned int Level,
    unsigned int CaptureLevel) const

Description

Check if the specified variable is captured by 'target' directive.

Declared at: clang/include/clang/Sema/Sema.h:10784

Parameters

const clang::ValueDecl* D
unsigned int Level
Relative level of nested OpenMP construct for that the check is performed.
unsigned int CaptureLevel

bool isPreciseFPEnabled()

Description

Are precise floating point semantics currently enabled?

Declared at: clang/include/clang/Sema/Sema.h:10340

bool isQualifiedMemberAccess(clang::Expr* E)

Declared at: clang/include/clang/Sema/Sema.h:5554

Parameters

clang::Expr* E

bool isReachable(const clang::NamedDecl* D)

Description

Determine whether a declaration is reachable.

Declared at: clang/include/clang/Sema/Sema.h:2323

Parameters

const clang::NamedDecl* D

Optional<sema::TemplateDeductionInfo*>
isSFINAEContext() const

Description

Determines whether we are currently in a context where template argument substitution failures are not considered errors.

Declared at: clang/include/clang/Sema/Sema.h:9404

Returns

An empty \c Optional if we're not in a SFINAE context. Otherwise, contains a pointer that, if non-NULL, contains the nearest template-deduction context object, which can be used to capture diagnostics that will be suppressed.

bool isSameOrCompatibleFunctionType(
    clang::QualType Param,
    clang::QualType Arg)

Declared at: clang/include/clang/Sema/Sema.h:3694

Parameters

clang::QualType Param
clang::QualType Arg

bool isSelfExpr(clang::Expr* RExpr)

Description

Private Helper predicate to check for 'self'.

Declared at: clang/include/clang/Sema/Sema.h:1558

Parameters

clang::Expr* RExpr

bool isSelfExpr(
    clang::Expr* RExpr,
    const clang::ObjCMethodDecl* Method)

Declared at: clang/include/clang/Sema/Sema.h:1559

Parameters

clang::Expr* RExpr
const clang::ObjCMethodDecl* Method

bool isSimpleTypeSpecifier(
    tok::TokenKind Kind) const

Declared at: clang/include/clang/Sema/Sema.h:2531

Parameters

tok::TokenKind Kind

bool isStdInitializerList(
    clang::QualType Ty,
    clang::QualType* Element)

Description

Tests whether Ty is an instance of std::initializer_list and, if it is and Element is not NULL, assigns the element type to Element.

Declared at: clang/include/clang/Sema/Sema.h:5983

Parameters

clang::QualType Ty
clang::QualType* Element

clang::TypeSpecifierType isTagName(
    clang::IdentifierInfo& II,
    clang::Scope* S)

Declared at: clang/include/clang/Sema/Sema.h:2541

Parameters

clang::IdentifierInfo& II
clang::Scope* S

clang::TemplateNameKind isTemplateName(
    clang::Scope* S,
    clang::CXXScopeSpec& SS,
    bool hasTemplateKeyword,
    const clang::UnqualifiedId& Name,
    clang::ParsedType ObjectType,
    bool EnteringContext,
    clang::Sema::TemplateTy& Template,
    bool& MemberOfUnknownSpecialization,
    bool Disambiguation = false)

Declared at: clang/include/clang/Sema/Sema.h:7771

Parameters

clang::Scope* S
clang::CXXScopeSpec& SS
bool hasTemplateKeyword
const clang::UnqualifiedId& Name
clang::ParsedType ObjectType
bool EnteringContext
clang::Sema::TemplateTy& Template
bool& MemberOfUnknownSpecialization
bool Disambiguation = false

bool isTemplateTemplateParameterAtLeastAsSpecializedAs(
    clang::TemplateParameterList* PParam,
    clang::TemplateDecl* AArg,
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:8906

Parameters

clang::TemplateParameterList* PParam
clang::TemplateDecl* AArg
clang::SourceLocation Loc

bool isThisOutsideMemberFunctionBody(
    clang::QualType BaseType)

Description

Determine whether the given type is the type of *this that is used outside of the body of a member function for a type that is currently being defined.

Declared at: clang/include/clang/Sema/Sema.h:6525

Parameters

clang::QualType BaseType

bool isUnavailableAlignedAllocationFunction(
    const clang::FunctionDecl& FD) const

Description

Determine whether \p FD is an aligned allocation or deallocation function that is unavailable.

Declared at: clang/include/clang/Sema/Sema.h:6583

Parameters

const clang::FunctionDecl& FD

bool isUnevaluatedContext() const

Description

Determines whether we are currently in a context that is not evaluated as per C++ [expr] p5.

Declared at: clang/include/clang/Sema/Sema.h:9408

bool isUnexpandedParameterPackPermitted()

Description

Determine whether an unexpanded parameter pack might be permitted in this location. Useful for error recovery.

Declared at: clang/include/clang/Sema/Sema.h:8319

bool isUsableModule(const clang::Module* M)

Declared at: clang/include/clang/Sema/Sema.h:2277

Parameters

const clang::Module* M

bool isUsualDeallocationFunction(
    const clang::CXXMethodDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:2426

Parameters

const clang::CXXMethodDecl* FD

bool isValidPointerAttrType(clang::QualType T,
                            bool RefOkay = false)

Description

Determine if type T is a valid subject for a nonnull and similar attributes. By default, we look through references (the behavior used by nonnull), but if the second parameter is true, then we treat a reference type as valid.

Declared at: clang/include/clang/Sema/Sema.h:4565

Parameters

clang::QualType T
bool RefOkay = false

llvm::Error isValidSectionSpecifier(
    llvm::StringRef Str)

Declared at: clang/include/clang/Sema/Sema.h:4578

Parameters

llvm::StringRef Str

bool isValidSveBitcast(clang::QualType srcType,
                       clang::QualType destType)

Declared at: clang/include/clang/Sema/Sema.h:12259

Parameters

clang::QualType srcType
clang::QualType destType

clang::Sema::VarArgKind isValidVarArgType(
    const clang::QualType& Ty)

Declared at: clang/include/clang/Sema/Sema.h:11924

Parameters

const clang::QualType& Ty

bool isVisible(const clang::NamedDecl* D)

Description

Determine whether a declaration is visible to name lookup.

Declared at: clang/include/clang/Sema/Sema.h:2317

Parameters

const clang::NamedDecl* D

clang::ClassTemplateDecl* lookupCoroutineTraits(
    clang::SourceLocation KwLoc,
    clang::SourceLocation FuncLoc,
    clang::NamespaceDecl*& Namespace)

Description

Lookup 'coroutine_traits' in std namespace and std::experimental namespace. The namespace found is recorded in Namespace.

Declared at: clang/include/clang/Sema/Sema.h:10580

Parameters

clang::SourceLocation KwLoc
clang::SourceLocation FuncLoc
clang::NamespaceDecl*& Namespace

clang::NamedDecl* lookupOpenMPDeclareTargetName(
    clang::Scope* CurScope,
    clang::CXXScopeSpec& ScopeSpec,
    const clang::DeclarationNameInfo& Id)

Description

Searches for the provided declaration name for OpenMP declare target directive.

Declared at: clang/include/clang/Sema/Sema.h:10920

Parameters

clang::Scope* CurScope
clang::CXXScopeSpec& ScopeSpec
const clang::DeclarationNameInfo& Id

clang::NamespaceDecl*
lookupStdExperimentalNamespace()

Declared at: clang/include/clang/Sema/Sema.h:5943

void makeMergedDefinitionVisible(
    clang::NamedDecl* ND)

Description

Make a merged definition of an existing hidden definition \p ND visible at the specified location.

Declared at: clang/include/clang/Sema/Sema.h:2306

Parameters

clang::NamedDecl* ND

void makeModuleVisible(
    clang::Module* Mod,
    clang::SourceLocation ImportLoc)

Declared at: clang/include/clang/Sema/Sema.h:2312

Parameters

clang::Module* Mod
clang::SourceLocation ImportLoc

std::unique_ptr<TypoCorrectionConsumer>
makeTypoCorrectionConsumer(
    const clang::DeclarationNameInfo& Typo,
    Sema::LookupNameKind LookupKind,
    clang::Scope* S,
    clang::CXXScopeSpec* SS,
    clang::CorrectionCandidateCallback& CCC,
    clang::DeclContext* MemberContext,
    bool EnteringContext,
    const clang::ObjCObjectPointerType* OPT,
    bool ErrorRecovery)

Description

Helper for CorrectTypo and CorrectTypoDelayed used to create and populate a new TypoCorrectionConsumer. Returns nullptr if typo correction should be skipped entirely.

Declared at: clang/include/clang/Sema/Sema.h:4307

Parameters

const clang::DeclarationNameInfo& Typo
Sema::LookupNameKind LookupKind
clang::Scope* S
clang::CXXScopeSpec* SS
clang::CorrectionCandidateCallback& CCC
clang::DeclContext* MemberContext
bool EnteringContext
const clang::ObjCObjectPointerType* OPT
bool ErrorRecovery

bool makeUnavailableInSystemHeader(
    clang::SourceLocation loc,
    UnavailableAttr::ImplicitReason reason)

Declared at: clang/include/clang/Sema/Sema.h:5222

Parameters

clang::SourceLocation loc
UnavailableAttr::ImplicitReason reason

void maybeAddCUDAHostDeviceAttrs(
    clang::FunctionDecl* FD,
    const clang::LookupResult& Previous)

Description

May add implicit CUDAHostAttr and CUDADeviceAttr attributes to FD, depending on FD and the current compilation settings.

Declared at: clang/include/clang/Sema/Sema.h:12740

Parameters

clang::FunctionDecl* FD
const clang::LookupResult& Previous

void maybeExtendBlockObject(clang::ExprResult& E)

Declared at: clang/include/clang/Sema/Sema.h:3675

Parameters

clang::ExprResult& E

clang::AlwaysInlineAttr* mergeAlwaysInlineAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    const clang::IdentifierInfo* Ident)

Declared at: clang/include/clang/Sema/Sema.h:3562

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
const clang::IdentifierInfo* Ident

clang::AvailabilityAttr* mergeAvailabilityAttr(
    clang::NamedDecl* D,
    const clang::AttributeCommonInfo& CI,
    clang::IdentifierInfo* Platform,
    bool Implicit,
    llvm::VersionTuple Introduced,
    llvm::VersionTuple Deprecated,
    llvm::VersionTuple Obsoleted,
    bool IsUnavailable,
    llvm::StringRef Message,
    bool IsStrict,
    llvm::StringRef Replacement,
    clang::Sema::AvailabilityMergeKind AMK,
    int Priority)

Description

Attribute merging methods. Return true if a new attribute was added.

Declared at: clang/include/clang/Sema/Sema.h:3534

Parameters

clang::NamedDecl* D
const clang::AttributeCommonInfo& CI
clang::IdentifierInfo* Platform
bool Implicit
llvm::VersionTuple Introduced
llvm::VersionTuple Deprecated
llvm::VersionTuple Obsoleted
bool IsUnavailable
llvm::StringRef Message
bool IsStrict
llvm::StringRef Replacement
clang::Sema::AvailabilityMergeKind AMK
int Priority

clang::BTFDeclTagAttr* mergeBTFDeclTagAttr(
    clang::Decl* D,
    const clang::BTFDeclTagAttr& AL)

Declared at: clang/include/clang/Sema/Sema.h:3580

Parameters

clang::Decl* D
const clang::BTFDeclTagAttr& AL

clang::CodeSegAttr* mergeCodeSegAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    llvm::StringRef Name)

Declared at: clang/include/clang/Sema/Sema.h:3560

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
llvm::StringRef Name

clang::DLLExportAttr* mergeDLLExportAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI)

Declared at: clang/include/clang/Sema/Sema.h:3548

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI

clang::DLLImportAttr* mergeDLLImportAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI)

Declared at: clang/include/clang/Sema/Sema.h:3547

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI

void mergeDeclAttributes(
    clang::NamedDecl* New,
    clang::Decl* Old,
    clang::Sema::AvailabilityMergeKind AMK =
        AMK_Redeclaration)

Declared at: clang/include/clang/Sema/Sema.h:3587

Parameters

clang::NamedDecl* New
clang::Decl* Old
clang::Sema::AvailabilityMergeKind AMK = AMK_Redeclaration

clang::EnforceTCBAttr* mergeEnforceTCBAttr(
    clang::Decl* D,
    const clang::EnforceTCBAttr& AL)

Declared at: clang/include/clang/Sema/Sema.h:3577

Parameters

clang::Decl* D
const clang::EnforceTCBAttr& AL

clang::EnforceTCBLeafAttr*
mergeEnforceTCBLeafAttr(
    clang::Decl* D,
    const clang::EnforceTCBLeafAttr& AL)

Declared at: clang/include/clang/Sema/Sema.h:3578

Parameters

clang::Decl* D
const clang::EnforceTCBLeafAttr& AL

clang::ErrorAttr* mergeErrorAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    llvm::StringRef NewUserDiagnostic)

Declared at: clang/include/clang/Sema/Sema.h:3553

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
llvm::StringRef NewUserDiagnostic

clang::FormatAttr* mergeFormatAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    clang::IdentifierInfo* Format,
    int FormatIdx,
    int FirstArg)

Declared at: clang/include/clang/Sema/Sema.h:3555

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
clang::IdentifierInfo* Format
int FormatIdx
int FirstArg

clang::HLSLNumThreadsAttr*
mergeHLSLNumThreadsAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& AL,
    int X,
    int Y,
    int Z)

Declared at: clang/include/clang/Sema/Sema.h:3581

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& AL
int X
int Y
int Z

clang::HLSLShaderAttr* mergeHLSLShaderAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& AL,
    HLSLShaderAttr::ShaderType ShaderType)

Declared at: clang/include/clang/Sema/Sema.h:3584

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& AL
HLSLShaderAttr::ShaderType ShaderType

clang::WebAssemblyImportModuleAttr*
mergeImportModuleAttr(
    clang::Decl* D,
    const clang::WebAssemblyImportModuleAttr& AL)

Declared at: clang/include/clang/Sema/Sema.h:3575

Parameters

clang::Decl* D
const clang::WebAssemblyImportModuleAttr& AL

clang::WebAssemblyImportNameAttr*
mergeImportNameAttr(
    clang::Decl* D,
    const clang::WebAssemblyImportNameAttr& AL)

Declared at: clang/include/clang/Sema/Sema.h:3573

Parameters

clang::Decl* D
const clang::WebAssemblyImportNameAttr& AL

clang::InternalLinkageAttr*
mergeInternalLinkageAttr(
    clang::Decl* D,
    const clang::InternalLinkageAttr& AL)

Declared at: clang/include/clang/Sema/Sema.h:3571

Parameters

clang::Decl* D
const clang::InternalLinkageAttr& AL

clang::InternalLinkageAttr*
mergeInternalLinkageAttr(
    clang::Decl* D,
    const clang::ParsedAttr& AL)

Declared at: clang/include/clang/Sema/Sema.h:3570

Parameters

clang::Decl* D
const clang::ParsedAttr& AL

clang::MSInheritanceAttr* mergeMSInheritanceAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    bool BestCase,
    clang::MSInheritanceModel Model)

Declared at: clang/include/clang/Sema/Sema.h:3549

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
bool BestCase
clang::MSInheritanceModel Model

clang::MinSizeAttr* mergeMinSizeAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI)

Declared at: clang/include/clang/Sema/Sema.h:3565

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI

void mergeObjCMethodDecls(
    clang::ObjCMethodDecl* New,
    clang::ObjCMethodDecl* Old)

Declared at: clang/include/clang/Sema/Sema.h:3595

Parameters

clang::ObjCMethodDecl* New
clang::ObjCMethodDecl* Old

clang::OptimizeNoneAttr* mergeOptimizeNoneAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI)

Declared at: clang/include/clang/Sema/Sema.h:3568

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI

clang::SectionAttr* mergeSectionAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    llvm::StringRef Name)

Declared at: clang/include/clang/Sema/Sema.h:3558

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
llvm::StringRef Name

clang::SwiftNameAttr* mergeSwiftNameAttr(
    clang::Decl* D,
    const clang::SwiftNameAttr& SNA,
    llvm::StringRef Name)

Declared at: clang/include/clang/Sema/Sema.h:3566

Parameters

clang::Decl* D
const clang::SwiftNameAttr& SNA
llvm::StringRef Name

clang::TypeVisibilityAttr*
mergeTypeVisibilityAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    TypeVisibilityAttr::VisibilityType Vis)

Declared at: clang/include/clang/Sema/Sema.h:3541

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
TypeVisibilityAttr::VisibilityType Vis

clang::UuidAttr* mergeUuidAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    llvm::StringRef UuidAsWritten,
    clang::MSGuidDecl* GuidDecl)

Declared at: clang/include/clang/Sema/Sema.h:3545

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
llvm::StringRef UuidAsWritten
clang::MSGuidDecl* GuidDecl

clang::VisibilityAttr* mergeVisibilityAttr(
    clang::Decl* D,
    const clang::AttributeCommonInfo& CI,
    VisibilityAttr::VisibilityType Vis)

Declared at: clang/include/clang/Sema/Sema.h:3543

Parameters

clang::Decl* D
const clang::AttributeCommonInfo& CI
VisibilityAttr::VisibilityType Vis

bool mightBeIntendedToBeTemplateName(
    clang::ExprResult E,
    bool& Dependent)

Description

Determine whether it's plausible that E was intended to be a template-name.

Declared at: clang/include/clang/Sema/Sema.h:2774

Parameters

clang::ExprResult E
bool& Dependent

static bool mightHaveNonExternalLinkage(
    const clang::DeclaratorDecl* FD)

Declared at: clang/include/clang/Sema/Sema.h:365

Parameters

const clang::DeclaratorDecl* FD

void notePreviousDefinition(
    const clang::NamedDecl* Old,
    clang::SourceLocation New)

Declared at: clang/include/clang/Sema/Sema.h:3600

Parameters

const clang::NamedDecl* Old
clang::SourceLocation New

void popCodeSynthesisContext()

Declared at: clang/include/clang/Sema/Sema.h:9376

void popObjCTypeParamList(
    clang::Scope* S,
    clang::ObjCTypeParamList* typeParamList)

Declared at: clang/include/clang/Sema/Sema.h:9865

Parameters

clang::Scope* S
clang::ObjCTypeParamList* typeParamList

void popOpenMPFunctionRegion(
    const sema::FunctionScopeInfo* OldFSI)

Description

Pop OpenMP function region for non-capturing function.

Declared at: clang/include/clang/Sema/Sema.h:10642

Parameters

const sema::FunctionScopeInfo* OldFSI

clang::ExprResult prepareVectorSplat(
    clang::QualType VectorTy,
    clang::Expr* SplattedExpr)

Description

Prepare `SplattedExpr` for a vector splat operation, adding implicit casts if necessary.

Declared at: clang/include/clang/Sema/Sema.h:12340

Parameters

clang::QualType VectorTy
clang::Expr* SplattedExpr

void propagateDLLAttrToBaseClassTemplate(
    clang::CXXRecordDecl* Class,
    clang::Attr* ClassAttr,
    clang::ClassTemplateSpecializationDecl*
        BaseTemplateSpec,
    clang::SourceLocation BaseLoc)

Declared at: clang/include/clang/Sema/Sema.h:7435

Parameters

clang::CXXRecordDecl* Class
clang::Attr* ClassAttr
clang::ClassTemplateSpecializationDecl* BaseTemplateSpec
clang::SourceLocation BaseLoc

void pushCodeSynthesisContext(
    clang::Sema::CodeSynthesisContext Ctx)

Declared at: clang/include/clang/Sema/Sema.h:9375

Parameters

clang::Sema::CodeSynthesisContext Ctx

void pushOpenMPFunctionRegion()

Description

Push new OpenMP function region for non-capturing function.

Declared at: clang/include/clang/Sema/Sema.h:10639

clang::Expr* recreateSyntacticForm(
    clang::PseudoObjectExpr* E)

Declared at: clang/include/clang/Sema/Sema.h:12193

Parameters

clang::PseudoObjectExpr* E

void redelayDiagnostics(
    sema::DelayedDiagnosticPool& pool)

Declared at: clang/include/clang/Sema/Sema.h:5214

Parameters

sema::DelayedDiagnosticPool& pool

void referenceDLLExportedClassMethods()

Declared at: clang/include/clang/Sema/Sema.h:7433

clang::FunctionDecl*
resolveAddressOfSingleOverloadCandidate(
    clang::Expr* E,
    clang::DeclAccessPair& FoundResult)

Declared at: clang/include/clang/Sema/Sema.h:4010

Parameters

clang::Expr* E
clang::DeclAccessPair& FoundResult

bool resolveAndFixAddressOfSingleOverloadCandidate(
    clang::ExprResult& SrcExpr,
    bool DoFunctionPointerConversion = false)

Declared at: clang/include/clang/Sema/Sema.h:4012

Parameters

clang::ExprResult& SrcExpr
bool DoFunctionPointerConversion = false

bool resolveAssumedTemplateNameAsType(
    clang::Scope* S,
    clang::TemplateName& Name,
    clang::SourceLocation NameLoc,
    bool Diagnose = true)

Declared at: clang/include/clang/Sema/Sema.h:7791

Parameters

clang::Scope* S
clang::TemplateName& Name
clang::SourceLocation NameLoc
bool Diagnose = true

void runWithSufficientStackSpace(
    clang::SourceLocation Loc,
    llvm::function_ref<void()> Fn)

Description

Run some code with "sufficient" stack space. (Currently, at least 256K is guaranteed). Produces a warning if we're low on stack space and allocates more in that case. Use this in code that may recurse deeply (for example, in template instantiation) to avoid stack overflow.

Declared at: clang/include/clang/Sema/Sema.h:1650

Parameters

clang::SourceLocation Loc
llvm::function_ref<void()> Fn

void setExceptionMode(
    clang::SourceLocation Loc,
    LangOptions::FPExceptionModeKind)

Description

Called to set exception behavior for floating point operations.

Declared at: clang/include/clang/Sema/Sema.h:10408

Parameters

clang::SourceLocation Loc
LangOptions::FPExceptionModeKind

void setFunctionHasBranchIntoScope()

Declared at: clang/include/clang/Sema/Sema.h:1956

void setFunctionHasBranchProtectedScope()

Declared at: clang/include/clang/Sema/Sema.h:1957

void setFunctionHasIndirectGoto()

Declared at: clang/include/clang/Sema/Sema.h:1958

void setFunctionHasMustTail()

Declared at: clang/include/clang/Sema/Sema.h:1959

void setOpenMPCaptureKind(
    clang::FieldDecl* FD,
    const clang::ValueDecl* D,
    unsigned int Level)

Description

Sets OpenMP capture kind (OMPC_private, OMPC_firstprivate, OMPC_map etc.) for \p FD based on DSA for the provided corresponding captured declaration\p D.

Declared at: clang/include/clang/Sema/Sema.h:10779

Parameters

clang::FieldDecl* FD
const clang::ValueDecl* D
unsigned int Level

void setTagNameForLinkagePurposes(
    clang::TagDecl* TagFromDeclSpec,
    clang::TypedefNameDecl* NewTD)

Declared at: clang/include/clang/Sema/Sema.h:2843

Parameters

clang::TagDecl* TagFromDeclSpec
clang::TypedefNameDecl* NewTD

void setupImplicitSpecialMemberType(
    clang::CXXMethodDecl* SpecialMem,
    clang::QualType ResultTy,
    ArrayRef<clang::QualType> Args)

Declared at: clang/include/clang/Sema/Sema.h:385

Parameters

clang::CXXMethodDecl* SpecialMem
clang::QualType ResultTy
ArrayRef<clang::QualType> Args

bool shouldIgnoreInHostDeviceCheck(
    clang::FunctionDecl* Callee)

Declared at: clang/include/clang/Sema/Sema.h:4386

Parameters

clang::FunctionDecl* Callee

bool shouldLinkDependentDeclWithPrevious(
    clang::Decl* D,
    clang::Decl* OldDecl)

Declared at: clang/include/clang/Sema/Sema.h:2896

Parameters

clang::Decl* D
clang::Decl* OldDecl

bool shouldLinkPossiblyHiddenDecl(
    const clang::NamedDecl* Old,
    const clang::NamedDecl* New)

Description

Determine whether two declarations should be linked together, given that the old declaration might not be visible and the new declaration might not have external linkage.

Declared at: clang/include/clang/Sema/Sema.h:370

Parameters

const clang::NamedDecl* Old
const clang::NamedDecl* New

bool shouldLinkPossiblyHiddenDecl(
    clang::LookupResult& Old,
    const clang::NamedDecl* New)

Declared at: clang/include/clang/Sema/Sema.h:383

Parameters

clang::LookupResult& Old
const clang::NamedDecl* New

clang::Sema::SkipBodyInfo shouldSkipAnonEnumBody(
    clang::Scope* S,
    clang::IdentifierInfo* II,
    clang::SourceLocation IILoc)

Description

Determine whether the body of an anonymous enumeration should be skipped.

Declared at: clang/include/clang/Sema/Sema.h:3418

Parameters

clang::Scope* S
clang::IdentifierInfo* II
The name of the first enumerator.
clang::SourceLocation IILoc

clang::CXXMethodDecl* startLambdaDefinition(
    clang::CXXRecordDecl* Class,
    clang::SourceRange IntroducerRange,
    clang::TypeSourceInfo* MethodType,
    clang::SourceLocation EndLoc,
    ArrayRef<clang::ParmVarDecl*> Params,
    clang::ConstexprSpecKind ConstexprKind,
    clang::Expr* TrailingRequiresClause)

Description

Start the definition of a lambda expression.

Declared at: clang/include/clang/Sema/Sema.h:6943

Parameters

clang::CXXRecordDecl* Class
clang::SourceRange IntroducerRange
clang::TypeSourceInfo* MethodType
clang::SourceLocation EndLoc
ArrayRef<clang::ParmVarDecl*> Params
clang::ConstexprSpecKind ConstexprKind
clang::Expr* TrailingRequiresClause

void startOpenMPCXXRangeFor()

Description

If the current region is a range loop-based region, mark the start of the loop construct.

Declared at: clang/include/clang/Sema/Sema.h:10768

void startOpenMPLoop()

Description

If the current region is a loop-based region, mark the start of the loop construct.

Declared at: clang/include/clang/Sema/Sema.h:10764

clang::Expr* stripARCUnbridgedCast(clang::Expr* e)

Declared at: clang/include/clang/Sema/Sema.h:12367

Parameters

clang::Expr* e

clang::Sema::SemaDiagnosticBuilder targetDiag(
    clang::SourceLocation Loc,
    const clang::PartialDiagnostic& PD,
    clang::FunctionDecl* FD = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:12662

Parameters

clang::SourceLocation Loc
const clang::PartialDiagnostic& PD
clang::FunctionDecl* FD = nullptr

clang::Sema::SemaDiagnosticBuilder targetDiag(
    clang::SourceLocation Loc,
    unsigned int DiagID,
    clang::FunctionDecl* FD = nullptr)

Declared at: clang/include/clang/Sema/Sema.h:12660

Parameters

clang::SourceLocation Loc
unsigned int DiagID
clang::FunctionDecl* FD = nullptr

void translateTemplateArguments(
    const clang::ASTTemplateArgsPtr& In,
    clang::TemplateArgumentListInfo& Out)

Declared at: clang/include/clang/Sema/Sema.h:7922

Parameters

const clang::ASTTemplateArgsPtr& In
clang::TemplateArgumentListInfo& Out

clang::ObjCMethodDecl* tryCaptureObjCSelf(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Sema/Sema.h:10110

Parameters

clang::SourceLocation Loc

void tryCaptureOpenMPLambdas(clang::ValueDecl* V)

Description

Function tries to capture lambda's captured variables in the OpenMP region before the original lambda is captured.

Declared at: clang/include/clang/Sema/Sema.h:10737

Parameters

clang::ValueDecl* V

bool tryCaptureVariable(
    clang::VarDecl* Var,
    clang::SourceLocation Loc,
    clang::Sema::TryCaptureKind Kind,
    clang::SourceLocation EllipsisLoc,
    bool BuildAndDiagnose,
    clang::QualType& CaptureType,
    clang::QualType& DeclRefType,
    const unsigned int* const
        FunctionScopeIndexToStopAt)

Description

Try to capture the given variable.

Declared at: clang/include/clang/Sema/Sema.h:5331

Parameters

clang::VarDecl* Var
The variable to capture.
clang::SourceLocation Loc
The location at which the capture occurs.
clang::Sema::TryCaptureKind Kind
The kind of capture, which may be implicit (for either a block or a lambda), or explicit by-value or by-reference (for a lambda).
clang::SourceLocation EllipsisLoc
The location of the ellipsis, if one is provided in an explicit lambda capture.
bool BuildAndDiagnose
Whether we are actually supposed to add the captures or diagnose errors. If false, this routine merely check whether the capture can occur without performing the capture itself or complaining if the variable cannot be captured.
clang::QualType& CaptureType
Will be set to the type of the field used to capture this variable in the innermost block or lambda. Only valid when the variable can be captured.
clang::QualType& DeclRefType
Will be set to the type of a reference to the capture from within the current scope. Only valid when the variable can be captured.
const unsigned int* const FunctionScopeIndexToStopAt
If non-null, it points to the index of the FunctionScopeInfo stack beyond which we do not attempt to capture. This is useful when enclosing lambdas must speculatively capture variables that may or may not be used in certain specializations of a nested generic lambda.

Returns

true if an error occurred (i.e., the variable cannot be captured) and false if the capture succeeded.

bool tryCaptureVariable(
    clang::VarDecl* Var,
    clang::SourceLocation Loc,
    clang::Sema::TryCaptureKind Kind =
        TryCapture_Implicit,
    clang::SourceLocation EllipsisLoc =
        clang::SourceLocation())

Description

Try to capture the given variable.

Declared at: clang/include/clang/Sema/Sema.h:5338

Parameters

clang::VarDecl* Var
clang::SourceLocation Loc
clang::Sema::TryCaptureKind Kind = TryCapture_Implicit
clang::SourceLocation EllipsisLoc = clang::SourceLocation()

clang::ExprResult tryConvertExprToType(
    clang::Expr* E,
    clang::QualType Ty)

Description

Try to convert an expression \p E to type \p Ty. Returns the result of the conversion.

Declared at: clang/include/clang/Sema/Sema.h:5370

Parameters

clang::Expr* E
clang::QualType Ty

bool tryExprAsCall(
    clang::Expr& E,
    clang::QualType& ZeroArgCallReturnTy,
    clang::UnresolvedSetImpl&
        NonTemplateOverloads)

Description

Figure out if an expression could be turned into a call.

Declared at: clang/include/clang/Sema/Sema.h:5365

Parameters

clang::Expr& E
clang::QualType& ZeroArgCallReturnTy
clang::UnresolvedSetImpl& NonTemplateOverloads

clang::ValueDecl* tryLookupCtorInitMemberDecl(
    clang::CXXRecordDecl* ClassDecl,
    clang::CXXScopeSpec& SS,
    clang::ParsedType TemplateTypeTy,
    clang::IdentifierInfo* MemberOrBase)

Declared at: clang/include/clang/Sema/Sema.h:5955

Parameters

clang::CXXRecordDecl* ClassDecl
clang::CXXScopeSpec& SS
clang::ParsedType TemplateTypeTy
clang::IdentifierInfo* MemberOrBase

bool tryResolveExplicitSpecifier(
    clang::ExplicitSpecifier& ExplicitSpec)

Description

tryResolveExplicitSpecifier - Attempt to resolve the explict specifier. Returns true if the explicit specifier is now resolved.

Declared at: clang/include/clang/Sema/Sema.h:12489

Parameters

clang::ExplicitSpecifier& ExplicitSpec

bool tryToFixVariablyModifiedVarType(
    clang::TypeSourceInfo*& TInfo,
    clang::QualType& T,
    clang::SourceLocation Loc,
    unsigned int FailedFoldDiagID)

Declared at: clang/include/clang/Sema/Sema.h:2801

Parameters

clang::TypeSourceInfo*& TInfo
clang::QualType& T
clang::SourceLocation Loc
unsigned int FailedFoldDiagID

bool tryToRecoverWithCall(
    clang::ExprResult& E,
    const clang::PartialDiagnostic& PD,
    bool ForceComplain = false,
    bool (*)(clang::QualType)
        IsPlausibleResult = nullptr)

Description

Try to recover by turning the given expression into a call. Returns true if recovery was attempted or an error was emitted; this may also leave the ExprResult invalid.

Declared at: clang/include/clang/Sema/Sema.h:5360

Parameters

clang::ExprResult& E
const clang::PartialDiagnostic& PD
bool ForceComplain = false
bool (*)(clang::QualType) IsPlausibleResult = nullptr

void updateOutOfDateSelector(clang::Selector Sel)

Declared at: clang/include/clang/Sema/Sema.h:1555

Parameters

clang::Selector Sel

bool usesPartialOrExplicitSpecialization(
    clang::SourceLocation Loc,
    clang::ClassTemplateSpecializationDecl*
        ClassTemplateSpec)

Declared at: clang/include/clang/Sema/Sema.h:9753

Parameters

clang::SourceLocation Loc
clang::ClassTemplateSpecializationDecl* ClassTemplateSpec

void warnOnReservedIdentifier(
    const clang::NamedDecl* D)

Declared at: clang/include/clang/Sema/Sema.h:2795

Parameters

const clang::NamedDecl* D

void warnStackExhausted(clang::SourceLocation Loc)

Description

Warn that the stack is nearly exhausted.

Declared at: clang/include/clang/Sema/Sema.h:1644

Parameters

clang::SourceLocation Loc

~Sema()

Declared at: clang/include/clang/Sema/Sema.h:1605