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

Namespaces

 AArch64
 AArch64 builtins.
 
 AMDGPU
 AMDGPU builtins.
 
 analyze_format_string
 Common components of both fprintf and fscanf format strings.
 
 analyze_printf
 Pieces specific to fprintf format strings.
 
 analyze_scanf
 Pieces specific to fscanf format strings.
 
 arcmt
 
 ARM
 ARM builtins.
 
 ast_matchers
 
 ast_type_traits
 
 attr
 
 Builtin
 
 charinfo
 
 CodeGen
 
 comments
 
 consumed
 
 dataflow
 
 declvisitor
 
 diag
 
 driver
 
 edit
 
 ento
 
 format
 
 frontend
 
 Hexagon
 Hexagon builtins.
 
 html
 
 idx
 
 index
 
 LangAS
 
 Le64
 Le64 builtins.
 
 markup
 
 Mips
 MIPS builtins.
 
 NEON
 
 NVPTX
 NVPTX builtins.
 
 PPC
 PPC builtins.
 
 prec
 
 reachable_code
 
 SanitizerKind
 
 sema
 
 serialization
 
 serialized_diags
 
 SrcMgr
 Public enums and private classes that are part of the SourceManager implementation.
 
 SystemZ
 SystemZ builtins.
 
 threadSafety
 
 tok
 
 tooling
 
 vfs
 
 X86
 X86 builtins.
 
 XCore
 XCore builtins.
 

Classes

class  CFGReverseBlockReachabilityAnalysis
 
class  DominatorTree
 Concrete subclass of DominatorTreeBase for Clang This class implements the dominators tree functionality given a Clang CFG. More...
 
class  LiveVariables
 
class  RelaxedLiveVariables
 
class  PostOrderCFGView
 
class  PseudoConstantAnalysis
 
class  UninitUse
 A use of a variable, which might be uninitialized. More...
 
class  UninitVariablesHandler
 
struct  UninitVariablesAnalysisStats
 
class  ManagedAnalysis
 
class  AnalysisDeclContext
 
class  LocationContext
 
class  StackFrameContext
 
class  ScopeContext
 
class  BlockInvocationContext
 
class  LocationContextManager
 
class  AnalysisDeclContextManager
 
class  CallGraph
 The AST-based call graph. More...
 
class  CallGraphNode
 
class  CFGElement
 CFGElement - Represents a top-level expression in a basic block. More...
 
class  CFGStmt
 
class  CFGInitializer
 
class  CFGNewAllocator
 CFGNewAllocator - Represents C++ allocator call. More...
 
class  CFGImplicitDtor
 
class  CFGAutomaticObjDtor
 
class  CFGDeleteDtor
 
class  CFGBaseDtor
 
class  CFGMemberDtor
 
class  CFGTemporaryDtor
 
class  CFGTerminator
 
class  CFGBlock
 
class  CFGCallback
 CFGCallback defines methods that should be called when a logical operator error is found when building the CFG. More...
 
class  CFG
 
class  CFGStmtMap
 
class  CodeInjector
 CodeInjector is an interface which is responsible for injecting AST of function definitions that may not be available in the original source. More...
 
class  ObjCNoReturn
 
class  DataflowValues
 DataflowValues. Container class to store dataflow values for a CFG. More...
 
class  ProgramPoint
 
class  BlockEntrance
 
class  BlockExit
 
class  StmtPoint
 
class  PreStmt
 
class  PostStmt
 
class  PostCondition
 
class  LocationCheck
 
class  PreLoad
 
class  PreStore
 
class  PostLoad
 
class  PostStore
 Represents a program point after a store evaluation. More...
 
class  PostLValue
 
class  PreStmtPurgeDeadSymbols
 
class  PostStmtPurgeDeadSymbols
 
class  BlockEdge
 
class  PostInitializer
 
class  ImplicitCallPoint
 
class  PreImplicitCall
 
class  PostImplicitCall
 
class  CallEnter
 
class  CallExitBegin
 
class  CallExitEnd
 
class  EpsilonPoint
 
class  ProgramPointTag
 
class  SimpleProgramPointTag
 
class  BumpVectorContext
 
class  BumpVector
 
class  APValue
 
class  ASTConsumer
 
struct  TypeInfo
 
class  ASTContext
 Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic analysis of a file. More...
 
class  ASTImporter
 Imports selected nodes from one AST context into another context, merging AST nodes where appropriate. More...
 
class  ASTMutationListener
 An abstract interface that should be implemented by listeners that want to be notified when an AST entity gets modified after its initial creation. More...
 
class  ASTUnresolvedSet
 An UnresolvedSet-like class which uses the ASTContext's allocator. More...
 
class  LazyASTUnresolvedSet
 An UnresolvedSet-like class that might not have been loaded from the external AST source yet. More...
 
class  ASTVector
 
class  Attr
 Attr - This represents one attribute. More...
 
class  InheritableAttr
 
class  InheritableParamAttr
 
class  specific_attr_iterator
 
class  BaseSubobject
 
class  CanProxy
 Canonical proxy type returned when retrieving the members of a canonical type or as the result of the CanQual<T>::getAs member function. More...
 
struct  CanProxyAdaptor
 Replacable canonical proxy adaptor class that provides the link between a canonical type and the accessors of the type. More...
 
class  CanQual
 Represents a canonical, potentially-qualified type. More...
 
class  CanProxyBase
 Base class of all canonical proxy types, which is responsible for storing the underlying canonical type and providing basic conversions. More...
 
struct  CanTypeIterator
 Iterator adaptor that turns an iterator over canonical QualTypes into an iterator over CanQualTypes. More...
 
struct  CanProxyAdaptor< ComplexType >
 
struct  CanProxyAdaptor< PointerType >
 
struct  CanProxyAdaptor< BlockPointerType >
 
struct  CanProxyAdaptor< ReferenceType >
 
struct  CanProxyAdaptor< LValueReferenceType >
 
struct  CanProxyAdaptor< RValueReferenceType >
 
struct  CanProxyAdaptor< MemberPointerType >
 
struct  CanProxyAdaptor< DependentSizedExtVectorType >
 
struct  CanProxyAdaptor< VectorType >
 
struct  CanProxyAdaptor< ExtVectorType >
 
struct  CanProxyAdaptor< FunctionType >
 
struct  CanProxyAdaptor< FunctionNoProtoType >
 
struct  CanProxyAdaptor< FunctionProtoType >
 
struct  CanProxyAdaptor< TypeOfType >
 
struct  CanProxyAdaptor< DecltypeType >
 
struct  CanProxyAdaptor< UnaryTransformType >
 
struct  CanProxyAdaptor< TagType >
 
struct  CanProxyAdaptor< RecordType >
 
struct  CanProxyAdaptor< EnumType >
 
struct  CanProxyAdaptor< TemplateTypeParmType >
 
struct  CanProxyAdaptor< ObjCObjectType >
 
struct  CanProxyAdaptor< ObjCObjectPointerType >
 
class  CharUnits
 
struct  CXXBasePathElement
 Represents an element in a path from a derived class to a base class. More...
 
class  CXXBasePath
 Represents a path from a specific derived class (which is not represented as part of the path) to a particular (direct or indirect) base class subobject. More...
 
class  CXXBasePaths
 
struct  UniqueVirtualMethod
 Uniquely identifies a virtual method within a class hierarchy by the method itself and a class subobject number. More...
 
class  OverridingMethods
 The set of methods that override a given virtual method in each subobject where it occurs. More...
 
class  CXXFinalOverriderMap
 A mapping from each virtual member function to its set of final overriders. More...
 
class  CXXIndirectPrimaryBaseSet
 A set of all the primary bases for a class. More...
 
class  RecursiveASTVisitor
 A class that does preorder depth-first traversal on the entire Clang AST and visits each node. More...
 
class  TypeSourceInfo
 A container of type source information. More...
 
class  TranslationUnitDecl
 TranslationUnitDecl - The top declaration context. More...
 
class  ExternCContextDecl
 Declaration context for names declared as extern "C" in C++. This is neither the semantic nor lexical context for such declarations, but is used to check for conflicts with other extern "C" declarations. Example: More...
 
class  NamedDecl
 
class  LabelDecl
 
class  NamespaceDecl
 NamespaceDecl - Represent a C++ namespace. More...
 
class  ValueDecl
 
struct  QualifierInfo
 
class  DeclaratorDecl
 Represents a ValueDecl that came out of a declarator. Contains type source information through TypeSourceInfo. More...
 
struct  EvaluatedStmt
 Structure used to store a statement, the constant value to which it was evaluated (if any), and whether or not the statement is an integral constant expression (if known). More...
 
class  VarDecl
 
class  ImplicitParamDecl
 
class  ParmVarDecl
 ParmVarDecl - Represents a parameter to a function. More...
 
class  FunctionDecl
 
class  FieldDecl
 
class  EnumConstantDecl
 
class  IndirectFieldDecl
 
class  TypeDecl
 
class  TypedefNameDecl
 Base class for declarations which introduce a typedef-name. More...
 
class  TypedefDecl
 
class  TypeAliasDecl
 
class  TagDecl
 TagDecl - Represents the declaration of a struct/union/class/enum. More...
 
class  EnumDecl
 
class  RecordDecl
 
class  FileScopeAsmDecl
 
class  BlockDecl
 
class  CapturedDecl
 This represents the body of a CapturedStmt, and serves as its DeclContext. More...
 
class  ImportDecl
 Describes a module import declaration, which makes the contents of the named module visible in the current translation unit. More...
 
class  EmptyDecl
 Represents an empty-declaration. More...
 
class  DeclAccessPair
 
class  DeclarationName
 
class  DeclarationNameTable
 
struct  DeclarationNameLoc
 
struct  DeclarationNameInfo
 
class  Decl
 
class  PrettyStackTraceDecl
 
class  DeclContextLookupResult
 The results of name lookup within a DeclContext. This is either a single result (with no stable storage) or a collection of results (with stable storage provided by the lookup table). More...
 
class  DeclContext
 
struct  cast_convert_decl_context
 
struct  cast_convert_decl_context< ToTy, true >
 
struct  StoredDeclsList
 An array of decls optimized for the common case of only containing one entry. More...
 
class  StoredDeclsMap
 
class  DependentStoredDeclsMap
 
class  AnyFunctionDecl
 Represents any kind of function declaration, whether it is a concrete function or a function template. More...
 
class  AccessSpecDecl
 Represents an access specifier followed by colon ':'. More...
 
class  CXXBaseSpecifier
 Represents a base class of a C++ class. More...
 
class  LazyDefinitionDataPtr
 A lazy pointer to the definition data for a declaration. FIXME: This is a little CXXRecordDecl-specific that the moment. More...
 
class  CXXRecordDecl
 Represents a C++ struct/union/class. More...
 
class  CXXMethodDecl
 Represents a static or instance method of a struct/union/class. More...
 
class  CXXCtorInitializer
 Represents a C++ base or member initializer. More...
 
class  CXXConstructorDecl
 Represents a C++ constructor within a class. More...
 
class  CXXDestructorDecl
 Represents a C++ destructor within a class. More...
 
class  CXXConversionDecl
 Represents a C++ conversion function within a class. More...
 
class  LinkageSpecDecl
 Represents a linkage specification. More...
 
class  UsingDirectiveDecl
 Represents C++ using-directive. More...
 
class  NamespaceAliasDecl
 Represents a C++ namespace alias. More...
 
class  UsingShadowDecl
 Represents a shadow declaration introduced into a scope by a (resolved) using declaration. More...
 
class  UsingDecl
 Represents a C++ using-declaration. More...
 
class  UnresolvedUsingValueDecl
 Represents a dependent using declaration which was not marked with typename. More...
 
class  UnresolvedUsingTypenameDecl
 Represents a dependent using declaration which was marked with typename. More...
 
class  StaticAssertDecl
 Represents a C++11 static_assert declaration. More...
 
class  MSPropertyDecl
 
class  FriendDecl
 
class  DeclGroup
 
class  DeclGroupRef
 
class  ObjCListBase
 
class  ObjCList
 
class  ObjCProtocolList
 A list of Objective-C protocols, along with the source locations at which they were referenced. More...
 
class  ObjCMethodDecl
 
class  ObjCTypeParamDecl
 
class  ObjCTypeParamList
 
class  ObjCContainerDecl
 
class  ObjCInterfaceDecl
 Represents an ObjC class declaration. More...
 
class  ObjCIvarDecl
 
class  ObjCAtDefsFieldDecl
 Represents a field declaration created by an @defs(...). More...
 
class  ObjCProtocolDecl
 Represents an Objective-C protocol declaration. More...
 
class  ObjCCategoryDecl
 
class  ObjCImplDecl
 
class  ObjCCategoryImplDecl
 
class  ObjCImplementationDecl
 
class  ObjCCompatibleAliasDecl
 
class  ObjCPropertyDecl
 Represents one property declaration in an Objective-C interface. More...
 
class  ObjCPropertyImplDecl
 
class  OMPThreadPrivateDecl
 This represents '#pragma omp threadprivate ...' directive. For example, in the following, both 'a' and 'A::b' are threadprivate: More...
 
class  TemplateParameterList
 Stores a list of template parameters for a TemplateDecl and its derived classes. More...
 
class  FixedSizeTemplateParameterList
 Stores a list of template parameters for a TemplateDecl and its derived classes. Suitable for creating on the stack. More...
 
class  TemplateArgumentList
 A template argument list. More...
 
class  DefaultArgStorage
 
class  TemplateDecl
 The base class of all kinds of template declarations (e.g., class, function, etc.). More...
 
class  FunctionTemplateSpecializationInfo
 Provides information about a function template specialization, which is a FunctionDecl that has been explicitly specialization or instantiated from a function template. More...
 
class  MemberSpecializationInfo
 Provides information a specialization of a member of a class template, which may be a member function, static data member, member class or member enumeration. More...
 
class  DependentFunctionTemplateSpecializationInfo
 Provides information about a dependent function-template specialization declaration. More...
 
class  RedeclarableTemplateDecl
 Declaration of a redeclarable template. More...
 
class  FunctionTemplateDecl
 Declaration of a template function. More...
 
class  TemplateParmPosition
 Defines the position of a template parameter within a template parameter list. More...
 
class  TemplateTypeParmDecl
 Declaration of a template type parameter. More...
 
class  NonTypeTemplateParmDecl
 
class  TemplateTemplateParmDecl
 
class  ClassTemplateSpecializationDecl
 Represents a class template specialization, which refers to a class template with a given set of template arguments. More...
 
class  ClassTemplatePartialSpecializationDecl
 
class  ClassTemplateDecl
 Declaration of a class template. More...
 
class  FriendTemplateDecl
 Declaration of a friend template. More...
 
class  TypeAliasTemplateDecl
 Declaration of an alias template. More...
 
class  ClassScopeFunctionSpecializationDecl
 Declaration of a function specialization at template class scope. More...
 
class  VarTemplateSpecializationDecl
 Represents a variable template specialization, which refers to a variable template with a given set of template arguments. More...
 
class  VarTemplatePartialSpecializationDecl
 
class  VarTemplateDecl
 Declaration of a variable template. More...
 
class  DeclVisitor
 A simple visitor class that helps create declaration visitors. More...
 
class  ConstDeclVisitor
 A simple visitor class that helps create declaration visitors. More...
 
class  DependentDiagnostic
 A dependently-generated diagnostic. More...
 
class  EvaluatedExprVisitorBase
 Given a potentially-evaluated expression, this visitor visits all of its potentially-evaluated subexpressions, recursively. More...
 
class  EvaluatedExprVisitor
 EvaluatedExprVisitor - This class visits 'Expr *'s. More...
 
class  ConstEvaluatedExprVisitor
 ConstEvaluatedExprVisitor - This class visits 'const Expr *'s. More...
 
struct  SubobjectAdjustment
 An adjustment to be made to the temporary created when emitting a reference binding, which accesses a particular subobject of that temporary. More...
 
class  Expr
 
class  OpaqueValueExpr
 
class  DeclRefExpr
 A reference to a declared variable, function, enum, etc. [C99 6.5.1p2]. More...
 
class  PredefinedExpr
 [C99 6.4.2.2] - A predefined identifier such as func. More...
 
class  APNumericStorage
 Used by IntegerLiteral/FloatingLiteral to store the numeric without leaking memory. More...
 
class  APIntStorage
 
class  APFloatStorage
 
class  IntegerLiteral
 
class  CharacterLiteral
 
class  FloatingLiteral
 
class  ImaginaryLiteral
 
class  StringLiteral
 
class  ParenExpr
 
class  UnaryOperator
 
class  OffsetOfExpr
 
class  UnaryExprOrTypeTraitExpr
 
class  ArraySubscriptExpr
 ArraySubscriptExpr - [C99 6.5.2.1] Array Subscripting. More...
 
class  CallExpr
 
class  MemberExpr
 
class  CompoundLiteralExpr
 
class  CastExpr
 
class  ImplicitCastExpr
 
class  ExplicitCastExpr
 
class  CStyleCastExpr
 
class  BinaryOperator
 A builtin binary operation expression such as "x + y" or "x <= y". More...
 
class  CompoundAssignOperator
 
class  AbstractConditionalOperator
 
class  ConditionalOperator
 
class  BinaryConditionalOperator
 
class  AddrLabelExpr
 AddrLabelExpr - The GNU address of label extension, representing &&label. More...
 
class  StmtExpr
 
class  ShuffleVectorExpr
 
class  ConvertVectorExpr
 
class  ChooseExpr
 
class  GNUNullExpr
 
class  VAArgExpr
 VAArgExpr, used for the builtin function __builtin_va_arg. More...
 
class  InitListExpr
 Describes an C or C++ initializer list. More...
 
class  DesignatedInitExpr
 Represents a C99 designated initializer expression. More...
 
class  NoInitExpr
 Represents a place-holder for an object not to be initialized by anything. More...
 
class  DesignatedInitUpdateExpr
 
class  ImplicitValueInitExpr
 Represents an implicitly-generated value initialization of an object of a given type. More...
 
class  ParenListExpr
 
class  GenericSelectionExpr
 Represents a C11 generic selection. More...
 
class  ExtVectorElementExpr
 
class  BlockExpr
 
class  AsTypeExpr
 
class  PseudoObjectExpr
 
class  AtomicExpr
 
class  TypoExpr
 
class  CXXOperatorCallExpr
 A call to an overloaded operator written using operator syntax. More...
 
class  CXXMemberCallExpr
 
class  CUDAKernelCallExpr
 Represents a call to a CUDA kernel function. More...
 
class  CXXNamedCastExpr
 Abstract class common to all of the C++ "named"/"keyword" casts. More...
 
class  CXXStaticCastExpr
 A C++ static_cast expression (C++ [expr.static.cast]). More...
 
class  CXXDynamicCastExpr
 A C++ dynamic_cast expression (C++ [expr.dynamic.cast]). More...
 
class  CXXReinterpretCastExpr
 A C++ reinterpret_cast expression (C++ [expr.reinterpret.cast]). More...
 
class  CXXConstCastExpr
 A C++ const_cast expression (C++ [expr.const.cast]). More...
 
class  UserDefinedLiteral
 A call to a literal operator (C++11 [over.literal]) written as a user-defined literal (C++11 [lit.ext]). More...
 
class  CXXBoolLiteralExpr
 A boolean literal, per ([C++ lex.bool] Boolean literals). More...
 
class  CXXNullPtrLiteralExpr
 The null pointer literal (C++11 [lex.nullptr]) More...
 
class  CXXStdInitializerListExpr
 Implicit construction of a std::initializer_list<T> object from an array temporary within list-initialization (C++11 [dcl.init.list]p5). More...
 
class  CXXTypeidExpr
 
class  MSPropertyRefExpr
 A member reference to an MSPropertyDecl. More...
 
class  CXXUuidofExpr
 
class  CXXThisExpr
 Represents the this expression in C++. More...
 
class  CXXThrowExpr
 A C++ throw-expression (C++ [except.throw]). More...
 
class  CXXDefaultArgExpr
 A default argument (C++ [dcl.fct.default]). More...
 
class  CXXDefaultInitExpr
 A use of a default initializer in a constructor or in aggregate initialization. More...
 
class  CXXTemporary
 Represents a C++ temporary. More...
 
class  CXXBindTemporaryExpr
 Represents binding an expression to a temporary. More...
 
class  CXXConstructExpr
 Represents a call to a C++ constructor. More...
 
class  CXXFunctionalCastExpr
 Represents an explicit C++ type conversion that uses "functional" notation (C++ [expr.type.conv]). More...
 
class  CXXTemporaryObjectExpr
 Represents a C++ functional cast expression that builds a temporary object. More...
 
class  LambdaExpr
 A C++ lambda expression, which produces a function object (of unspecified type) that can be invoked later. More...
 
class  CXXScalarValueInitExpr
 
class  CXXNewExpr
 Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)". More...
 
class  CXXDeleteExpr
 Represents a delete expression for memory deallocation and destructor calls, e.g. "delete[] pArray". More...
 
class  PseudoDestructorTypeStorage
 Stores the type being destroyed by a pseudo-destructor expression. More...
 
class  CXXPseudoDestructorExpr
 Represents a C++ pseudo-destructor (C++ [expr.pseudo]). More...
 
class  TypeTraitExpr
 A type trait used in the implementation of various C++11 and Library TR1 trait templates. More...
 
class  ArrayTypeTraitExpr
 An Embarcadero array type trait, as used in the implementation of __array_rank and __array_extent. More...
 
class  ExpressionTraitExpr
 An expression trait intrinsic. More...
 
class  OverloadExpr
 A reference to an overloaded function set, either an UnresolvedLookupExpr or an UnresolvedMemberExpr. More...
 
class  UnresolvedLookupExpr
 A reference to a name which we were able to look up during parsing but could not resolve to a specific declaration. More...
 
class  DependentScopeDeclRefExpr
 A qualified reference to a name whose declaration cannot yet be resolved. More...
 
class  ExprWithCleanups
 
class  CXXUnresolvedConstructExpr
 Describes an explicit type conversion that uses functional notion but could not be resolved because one or more arguments are type-dependent. More...
 
class  CXXDependentScopeMemberExpr
 Represents a C++ member access expression where the actual member referenced could not be resolved because the base expression or the member name was dependent. More...
 
class  UnresolvedMemberExpr
 Represents a C++ member access expression for which lookup produced a set of overloaded functions. More...
 
class  CXXNoexceptExpr
 Represents a C++11 noexcept expression (C++ [expr.unary.noexcept]). More...
 
class  PackExpansionExpr
 Represents a C++11 pack expansion that produces a sequence of expressions. More...
 
class  SizeOfPackExpr
 Represents an expression that computes the length of a parameter pack. More...
 
class  SubstNonTypeTemplateParmExpr
 Represents a reference to a non-type template parameter that has been substituted with a template argument. More...
 
class  SubstNonTypeTemplateParmPackExpr
 Represents a reference to a non-type template parameter pack that has been substituted with a non-template argument pack. More...
 
class  FunctionParmPackExpr
 Represents a reference to a function parameter pack that has been substituted but not yet expanded. More...
 
class  MaterializeTemporaryExpr
 Represents a prvalue temporary that is written into memory so that a reference can bind to it. More...
 
class  CXXFoldExpr
 Represents a folding of a pack over an operator. More...
 
class  ObjCStringLiteral
 
class  ObjCBoolLiteralExpr
 
class  ObjCBoxedExpr
 
class  ObjCArrayLiteral
 
struct  ObjCDictionaryElement
 An element in an Objective-C dictionary literal. More...
 
class  ObjCDictionaryLiteral
 
class  ObjCEncodeExpr
 
class  ObjCSelectorExpr
 ObjCSelectorExpr used for @selector in Objective-C. More...
 
class  ObjCProtocolExpr
 
class  ObjCIvarRefExpr
 ObjCIvarRefExpr - A reference to an ObjC instance variable. More...
 
class  ObjCPropertyRefExpr
 
class  ObjCSubscriptRefExpr
 
class  ObjCMessageExpr
 An expression that sends a message to the given Objective-C object or class. More...
 
class  ObjCIsaExpr
 
class  ObjCIndirectCopyRestoreExpr
 
class  ObjCBridgedCastExpr
 An Objective-C "bridged" cast expression, which casts between Objective-C pointers and C pointers, transferring ownership in the process. More...
 
class  ExternalASTSource
 Abstract interface for external sources of AST nodes. More...
 
struct  LazyOffsetPtr
 A lazy pointer to an AST node (of base type T) that resides within an external AST source. More...
 
struct  LazyGenerationalUpdatePtr
 A lazy value (of type T) that is within an AST node of type Owner, where the value might change in later generations of the external AST source. More...
 
class  LazyVector
 Represents a lazily-loaded vector of data. More...
 
class  GlobalDecl
 
class  LambdaCapture
 Describes the capture of a variable or of this, or of a C++1y init-capture. More...
 
class  MangleContext
 
class  ItaniumMangleContext
 
class  MicrosoftMangleContext
 
class  MangleNumberingContext
 Keeps track of the mangled names of lambda expressions and block literals within a particular context. More...
 
class  NestedNameSpecifier
 Represents a C++ nested name specifier, such as "\::std::vector<int>::". More...
 
class  NestedNameSpecifierLoc
 A C++ nested-name-specifier augmented with source location information. More...
 
class  NestedNameSpecifierLocBuilder
 Class that aids in the construction of nested-name-specifiers along with source-location information for all of the components of the nested-name-specifier. More...
 
class  NSAPI
 
class  OMPClause
 This is a basic class for representing single OpenMP clause. More...
 
class  OMPVarListClause
 This represents clauses with the list of variables like 'private', 'firstprivate', 'copyin', 'shared', or 'reduction' clauses in the '#pragma omp ...' directives. More...
 
class  OMPIfClause
 This represents 'if' clause in the '#pragma omp ...' directive. More...
 
class  OMPFinalClause
 This represents 'final' clause in the '#pragma omp ...' directive. More...
 
class  OMPNumThreadsClause
 This represents 'num_threads' clause in the '#pragma omp ...' directive. More...
 
class  OMPSafelenClause
 This represents 'safelen' clause in the '#pragma omp ...' directive. More...
 
class  OMPCollapseClause
 This represents 'collapse' clause in the '#pragma omp ...' directive. More...
 
class  OMPDefaultClause
 This represents 'default' clause in the '#pragma omp ...' directive. More...
 
class  OMPProcBindClause
 This represents 'proc_bind' clause in the '#pragma omp ...' directive. More...
 
class  OMPScheduleClause
 This represents 'schedule' clause in the '#pragma omp ...' directive. More...
 
class  OMPOrderedClause
 This represents 'ordered' clause in the '#pragma omp ...' directive. More...
 
class  OMPNowaitClause
 This represents 'nowait' clause in the '#pragma omp ...' directive. More...
 
class  OMPUntiedClause
 This represents 'untied' clause in the '#pragma omp ...' directive. More...
 
class  OMPMergeableClause
 This represents 'mergeable' clause in the '#pragma omp ...' directive. More...
 
class  OMPReadClause
 This represents 'read' clause in the '#pragma omp atomic' directive. More...
 
class  OMPWriteClause
 This represents 'write' clause in the '#pragma omp atomic' directive. More...
 
class  OMPUpdateClause
 This represents 'update' clause in the '#pragma omp atomic' directive. More...
 
class  OMPCaptureClause
 This represents 'capture' clause in the '#pragma omp atomic' directive. More...
 
class  OMPSeqCstClause
 This represents 'seq_cst' clause in the '#pragma omp atomic' directive. More...
 
class  OMPPrivateClause
 This represents clause 'private' in the '#pragma omp ...' directives. More...
 
class  OMPFirstprivateClause
 This represents clause 'firstprivate' in the '#pragma omp ...' directives. More...
 
class  OMPLastprivateClause
 This represents clause 'lastprivate' in the '#pragma omp ...' directives. More...
 
class  OMPSharedClause
 This represents clause 'shared' in the '#pragma omp ...' directives. More...
 
class  OMPReductionClause
 This represents clause 'reduction' in the '#pragma omp ...' directives. More...
 
class  OMPLinearClause
 This represents clause 'linear' in the '#pragma omp ...' directives. More...
 
class  ParentMap
 
class  PrinterHelper
 
struct  PrintingPolicy
 Describes how types, statements, expressions, and declarations should be printed. More...
 
class  RawComment
 
class  BeforeThanCompare< RawComment >
 Compare comments' source locations. More...
 
class  RawCommentList
 This class represents all comments included in the translation unit, sorted in order of appearance in the translation unit. More...
 
class  ASTRecordLayout
 
class  Redeclarable
 Provides common interface for the Decls that can be redeclared. More...
 
class  Mergeable
 Provides common interface for the Decls that cannot be redeclared, but can be merged if the same declaration is brought in from multiple modules. More...
 
class  ExprIterator
 
class  ConstExprIterator
 
class  DeclStmt
 
class  NullStmt
 
class  CompoundStmt
 
class  SwitchCase
 
class  CaseStmt
 
class  DefaultStmt
 
class  LabelStmt
 
class  AttributedStmt
 Represents an attribute applied to a statement. More...
 
class  IfStmt
 
class  SwitchStmt
 
class  WhileStmt
 
class  DoStmt
 
class  ForStmt
 
class  GotoStmt
 
class  IndirectGotoStmt
 
class  ContinueStmt
 
class  BreakStmt
 
class  ReturnStmt
 
class  AsmStmt
 
class  GCCAsmStmt
 
class  MSAsmStmt
 
class  SEHExceptStmt
 
class  SEHFinallyStmt
 
class  SEHTryStmt
 
class  SEHLeaveStmt
 
class  CapturedStmt
 This captures a statement into a function. For example, the following pragma annotated compound statement can be represented as a CapturedStmt, and this compound statement is the body of an anonymous outlined function. More...
 
class  CXXCatchStmt
 
class  CXXTryStmt
 
class  CXXForRangeStmt
 
class  MSDependentExistsStmt
 Representation of a Microsoft __if_exists or __if_not_exists statement with a dependent name. More...
 
class  StmtIteratorBase
 
class  StmtIteratorImpl
 
struct  StmtIterator
 
struct  ConstStmtIterator
 
struct  StmtRange
 
struct  ConstStmtRange
 
class  ObjCForCollectionStmt
 Represents Objective-C's collection statement. More...
 
class  ObjCAtCatchStmt
 Represents Objective-C's @catch statement. More...
 
class  ObjCAtFinallyStmt
 Represents Objective-C's @finally statement. More...
 
class  ObjCAtTryStmt
 Represents Objective-C's @try ... @catch ... @finally statement. More...
 
class  ObjCAtSynchronizedStmt
 Represents Objective-C's @synchronized statement. More...
 
class  ObjCAtThrowStmt
 Represents Objective-C's @throw statement. More...
 
class  ObjCAutoreleasePoolStmt
 Represents Objective-C's @autoreleasepool Statement. More...
 
class  OMPExecutableDirective
 This is a basic class for representing single OpenMP executable directive. More...
 
class  OMPParallelDirective
 This represents '#pragma omp parallel' directive. More...
 
class  OMPLoopDirective
 This is a common base class for loop directives ('omp simd', 'omp for', 'omp for simd' etc.). It is responsible for the loop code generation. More...
 
class  OMPSimdDirective
 This represents '#pragma omp simd' directive. More...
 
class  OMPForDirective
 This represents '#pragma omp for' directive. More...
 
class  OMPForSimdDirective
 This represents '#pragma omp for simd' directive. More...
 
class  OMPSectionsDirective
 This represents '#pragma omp sections' directive. More...
 
class  OMPSectionDirective
 This represents '#pragma omp section' directive. More...
 
class  OMPSingleDirective
 This represents '#pragma omp single' directive. More...
 
class  OMPMasterDirective
 This represents '#pragma omp master' directive. More...
 
class  OMPCriticalDirective
 This represents '#pragma omp critical' directive. More...
 
class  OMPParallelForDirective
 This represents '#pragma omp parallel for' directive. More...
 
class  OMPParallelForSimdDirective
 This represents '#pragma omp parallel for simd' directive. More...
 
class  OMPParallelSectionsDirective
 This represents '#pragma omp parallel sections' directive. More...
 
class  OMPTaskDirective
 This represents '#pragma omp task' directive. More...
 
class  OMPTaskyieldDirective
 This represents '#pragma omp taskyield' directive. More...
 
class  OMPBarrierDirective
 This represents '#pragma omp barrier' directive. More...
 
class  OMPTaskwaitDirective
 This represents '#pragma omp taskwait' directive. More...
 
class  OMPTaskgroupDirective
 This represents '#pragma omp taskgroup' directive. More...
 
class  OMPFlushDirective
 This represents '#pragma omp flush' directive. More...
 
class  OMPOrderedDirective
 This represents '#pragma omp ordered' directive. More...
 
class  OMPAtomicDirective
 This represents '#pragma omp atomic' directive. More...
 
class  OMPTargetDirective
 This represents '#pragma omp target' directive. More...
 
class  OMPTeamsDirective
 This represents '#pragma omp teams' directive. More...
 
class  OMPCancellationPointDirective
 This represents '#pragma omp cancellation point' directive. More...
 
class  OMPCancelDirective
 This represents '#pragma omp cancel' directive. More...
 
struct  make_ptr
 
struct  make_const_ptr
 
class  StmtVisitorBase
 
class  StmtVisitor
 
class  ConstStmtVisitor
 
class  OMPClauseVisitorBase
 This class implements a simple visitor for OMPClause subclasses. More...
 
class  OMPClauseVisitor
 
class  ConstOMPClauseVisitor
 
class  TemplateArgument
 Represents a template argument. More...
 
struct  TemplateArgumentLocInfo
 Location information for a TemplateArgument. More...
 
class  TemplateArgumentLoc
 
class  TemplateArgumentListInfo
 
struct  ASTTemplateArgumentListInfo
 Represents an explicit template argument list in C++, e.g., the "<int>" in "sort<int>". This is safe to be used inside an AST node, in contrast with TemplateArgumentListInfo. More...
 
struct  ASTTemplateKWAndArgsInfo
 Extends ASTTemplateArgumentListInfo with the source location information for the template keyword; this is used as part of the representation of qualified identifiers, such as S<T>::template apply<T>. More...
 
class  UncommonTemplateNameStorage
 Implementation class used to describe either a set of overloaded template names or an already-substituted template template parameter pack. More...
 
class  OverloadedTemplateStorage
 A structure for storing the information associated with an overloaded template name. More...
 
class  SubstTemplateTemplateParmPackStorage
 A structure for storing an already-substituted template template parameter pack. More...
 
class  TemplateName
 Represents a C++ template name within the type system. More...
 
class  SubstTemplateTemplateParmStorage
 A structure for storing the information associated with a substituted template template parameter. More...
 
class  QualifiedTemplateName
 Represents a template name that was expressed as a qualified name. More...
 
class  DependentTemplateName
 Represents a dependent template name that cannot be resolved prior to template instantiation. More...
 
class  Qualifiers
 
struct  SplitQualType
 
class  QualType
 
class  ExtQualsTypeCommonBase
 Base class that is common to both the ExtQuals and Type classes, which allows QualType to access the common fields between the two. More...
 
class  ExtQuals
 
class  Type
 
class  BuiltinType
 
class  ComplexType
 
class  ParenType
 
class  PointerType
 
class  AdjustedType
 Represents a type which was implicitly adjusted by the semantic engine for arbitrary reasons. For example, array and function types can decay, and function types can have their calling conventions adjusted. More...
 
class  DecayedType
 Represents a pointer type decayed from an array or function type. More...
 
class  BlockPointerType
 
class  ReferenceType
 
class  LValueReferenceType
 
class  RValueReferenceType
 
class  MemberPointerType
 
class  ArrayType
 
class  ConstantArrayType
 
class  IncompleteArrayType
 
class  VariableArrayType
 
class  DependentSizedArrayType
 
class  DependentSizedExtVectorType
 
class  VectorType
 
class  ExtVectorType
 
class  FunctionType
 
class  FunctionNoProtoType
 
class  FunctionProtoType
 
class  UnresolvedUsingType
 Represents the dependent type named by a dependently-scoped typename using declaration, e.g. using typename Base<T>::foo; Template instantiation turns these into the underlying type. More...
 
class  TypedefType
 
class  TypeOfExprType
 TypeOfExprType (GCC extension). More...
 
class  DependentTypeOfExprType
 Internal representation of canonical, dependent typeof(expr) types. More...
 
class  TypeOfType
 TypeOfType (GCC extension). More...
 
class  DecltypeType
 DecltypeType (C++0x) More...
 
class  DependentDecltypeType
 Internal representation of canonical, dependent decltype(expr) types. More...
 
class  UnaryTransformType
 A unary type transform, which is a type constructed from another. More...
 
class  TagType
 
class  RecordType
 
class  EnumType
 
class  AttributedType
 
class  TemplateTypeParmType
 
class  SubstTemplateTypeParmType
 Represents the result of substituting a type for a template type parameter. More...
 
class  SubstTemplateTypeParmPackType
 Represents the result of substituting a set of types for a template type parameter pack. More...
 
class  AutoType
 Represents a C++11 auto or C++1y decltype(auto) type. More...
 
class  TemplateSpecializationType
 Represents a type template specialization; the template must be a class template, a type alias template, or a template template parameter. A template which cannot be resolved to one of these, e.g. because it is written with a dependent scope specifier, is instead represented as a DependentTemplateSpecializationType. More...
 
class  InjectedClassNameType
 The injected class name of a C++ class template or class template partial specialization. Used to record that a type was spelled with a bare identifier rather than as a template-id; the equivalent for non-templated classes is just RecordType. More...
 
class  TypeWithKeyword
 
class  ElaboratedType
 Represents a type that was referred to using an elaborated type keyword, e.g., struct S, or via a qualified name, e.g., N::M::type, or both. More...
 
class  DependentNameType
 Represents a qualified type name for which the type name is dependent. More...
 
class  DependentTemplateSpecializationType
 
class  PackExpansionType
 Represents a pack expansion of types. More...
 
class  ObjCObjectType
 
class  ObjCObjectTypeImpl
 
class  ObjCInterfaceType
 
class  ObjCObjectPointerType
 
class  AtomicType
 
class  QualifierCollector
 A qualifier set is used to build a set of qualifiers. More...
 
struct  ArrayType_cannot_be_used_with_getAs
 
class  TypeLoc
 Base wrapper for a particular "section" of type source info. More...
 
class  UnqualTypeLoc
 Wrapper of type source information for a type with no direct qualifiers. More...
 
class  QualifiedTypeLoc
 Wrapper of type source information for a type with non-trivial direct qualifiers. More...
 
class  ConcreteTypeLoc
 
class  InheritingConcreteTypeLoc
 
struct  TypeSpecLocInfo
 
class  TypeSpecTypeLoc
 A reasonable base class for TypeLocs that correspond to types that are written as a type-specifier. More...
 
struct  BuiltinLocInfo
 
class  BuiltinTypeLoc
 Wrapper for source info for builtin types. More...
 
class  TypedefTypeLoc
 Wrapper for source info for typedefs. More...
 
class  InjectedClassNameTypeLoc
 Wrapper for source info for injected class names of class templates. More...
 
class  UnresolvedUsingTypeLoc
 Wrapper for source info for unresolved typename using decls. More...
 
class  TagTypeLoc
 Wrapper for source info for tag types. Note that this only records source info for the name itself; a type written 'struct foo' should be represented as an ElaboratedTypeLoc. We currently only do that when C++ is enabled because of the expense of creating an ElaboratedType node for so many type references in C. More...
 
class  RecordTypeLoc
 Wrapper for source info for record types. More...
 
class  EnumTypeLoc
 Wrapper for source info for enum types. More...
 
class  TemplateTypeParmTypeLoc
 Wrapper for template type parameters. More...
 
class  SubstTemplateTypeParmTypeLoc
 Wrapper for substituted template type parameters. More...
 
class  SubstTemplateTypeParmPackTypeLoc
 Wrapper for substituted template type parameters. More...
 
struct  AttributedLocInfo
 
class  AttributedTypeLoc
 Type source information for an attributed type. More...
 
struct  ObjCObjectTypeLocInfo
 
class  ObjCObjectTypeLoc
 
struct  ObjCInterfaceLocInfo
 
class  ObjCInterfaceTypeLoc
 Wrapper for source info for ObjC interfaces. More...
 
struct  ParenLocInfo
 
class  ParenTypeLoc
 
struct  AdjustedLocInfo
 
class  AdjustedTypeLoc
 
class  DecayedTypeLoc
 Wrapper for source info for pointers decayed from arrays and functions. More...
 
struct  PointerLikeLocInfo
 
class  PointerLikeTypeLoc
 A base class for. More...
 
class  PointerTypeLoc
 Wrapper for source info for pointers. More...
 
class  BlockPointerTypeLoc
 Wrapper for source info for block pointers. More...
 
struct  MemberPointerLocInfo
 
class  MemberPointerTypeLoc
 Wrapper for source info for member pointers. More...
 
class  ObjCObjectPointerTypeLoc
 Wraps an ObjCPointerType with source location information. More...
 
class  ReferenceTypeLoc
 
class  LValueReferenceTypeLoc
 
class  RValueReferenceTypeLoc
 
struct  FunctionLocInfo
 
class  FunctionTypeLoc
 Wrapper for source info for functions. More...
 
class  FunctionProtoTypeLoc
 
class  FunctionNoProtoTypeLoc
 
struct  ArrayLocInfo
 
class  ArrayTypeLoc
 Wrapper for source info for arrays. More...
 
class  ConstantArrayTypeLoc
 
class  IncompleteArrayTypeLoc
 
class  DependentSizedArrayTypeLoc
 
class  VariableArrayTypeLoc
 
struct  TemplateNameLocInfo
 
struct  TemplateSpecializationLocInfo
 
class  TemplateSpecializationTypeLoc
 
class  VectorTypeLoc
 
class  ExtVectorTypeLoc
 
class  DependentSizedExtVectorTypeLoc
 
class  ComplexTypeLoc
 
struct  TypeofLocInfo
 
struct  TypeOfExprTypeLocInfo
 
struct  TypeOfTypeLocInfo
 
class  TypeofLikeTypeLoc
 
class  TypeOfExprTypeLoc
 
class  TypeOfTypeLoc
 
class  DecltypeTypeLoc
 
struct  UnaryTransformTypeLocInfo
 
class  UnaryTransformTypeLoc
 
class  AutoTypeLoc
 
struct  ElaboratedLocInfo
 
class  ElaboratedTypeLoc
 
struct  DependentNameLocInfo
 
class  DependentNameTypeLoc
 
struct  DependentTemplateSpecializationLocInfo
 
class  DependentTemplateSpecializationTypeLoc
 
struct  PackExpansionTypeLocInfo
 
class  PackExpansionTypeLoc
 
struct  AtomicTypeLocInfo
 
class  AtomicTypeLoc
 
class  TypeLocVisitor
 
struct  QualTypeOrdering
 Function object that provides a total ordering on QualType values. More...
 
class  TypeVisitor
 An operation on a type. More...
 
class  UnresolvedSetIterator
 
class  UnresolvedSetImpl
 A set of unresolved declarations. More...
 
class  UnresolvedSet
 A set of unresolved declarations. More...
 
class  VTableComponent
 Represents a single component in a vtable. More...
 
class  VTableLayout
 
class  VTableContextBase
 
class  ItaniumVTableContext
 
struct  VPtrInfo
 
struct  VirtualBaseInfo
 
class  MicrosoftVTableContext
 
class  VTTVTable
 
struct  VTTComponent
 
class  VTTBuilder
 Class for building VTT layout information. More...
 
struct  ReturnAdjustment
 A return adjustment. More...
 
struct  ThisAdjustment
 A this pointer adjustment. More...
 
struct  ThunkInfo
 The this pointer adjustment as well as an optional return adjustment for a thunk. More...
 
class  StringSizerHelper
 
struct  CommentOptions
 Options for controlling comment parsing. More...
 
class  FixItHint
 Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the problem. More...
 
class  DiagnosticsEngine
 Concrete class used by the front-end to report problems and issues. More...
 
class  DiagnosticErrorTrap
 RAII class that determines when any errors have occurred between the time the instance was created and the time it was queried. More...
 
class  DiagnosticBuilder
 A little helper class used to produce diagnostics. More...
 
struct  AddFlagValue
 
class  Diagnostic
 
class  StoredDiagnostic
 Represents a diagnostic in a form that can be retained until its corresponding source manager is destroyed. More...
 
class  DiagnosticConsumer
 Abstract interface, implemented by clients of the front-end, which formats and prints fully processed diagnostics. More...
 
class  IgnoringDiagConsumer
 A diagnostic client that ignores all diagnostics. More...
 
class  ForwardingDiagnosticConsumer
 Diagnostic consumer that forwards diagnostics along to an existing, already-initialized diagnostic consumer. More...
 
struct  TemplateDiffTypes
 
class  DiagnosticMapping
 
class  DiagnosticIDs
 Used for handling and querying diagnostic IDs. More...
 
class  DiagnosticOptions
 Options for controlling the compiler diagnostics engine. More...
 
class  DirectoryEntry
 Cached information about one directory (either on disk or in the virtual file system). More...
 
class  FileEntry
 Cached information about one file (either on disk or in the virtual file system). More...
 
class  FileManager
 Implements support for file system lookup, file system caching, and directory search management. More...
 
class  FileSystemOptions
 Keeps track of options that affect how file operations are performed. More...
 
struct  FileData
 
class  FileSystemStatCache
 Abstract interface for introducing a FileManager cache for 'stat' system calls, which is used by precompiled and pretokenized headers to improve performance. More...
 
class  MemorizeStatCalls
 A stat "cache" that can be used by FileManager to keep track of the results of stat() calls that occur throughout the execution of the front end. More...
 
class  IdentifierInfo
 
class  PoisonIdentifierRAIIObject
 An RAII object for [un]poisoning an identifier within a scope. More...
 
class  IdentifierIterator
 An iterator that walks over all of the known identifiers in the lookup table. More...
 
class  IdentifierInfoLookup
 Provides lookups to, and iteration over, IdentiferInfo objects. More...
 
class  IdentifierTable
 Implements an efficient mapping from strings to IdentifierInfo nodes. More...
 
class  Selector
 Smart pointer class that efficiently represents Objective-C method names. More...
 
class  SelectorTable
 This table allows us to fully hide how we implement multi-keyword caching. More...
 
class  DeclarationNameExtra
 
class  LangOptionsBase
 
class  LangOptions
 Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that is accepted. More...
 
class  FPOptions
 Floating point control options. More...
 
class  OpenCLOptions
 OpenCL volatile options. More...
 
class  MacroBuilder
 
class  Module
 Describes a module or submodule. More...
 
class  VisibleModuleSet
 A set of visible modules. More...
 
class  ObjCRuntime
 The basic abstraction for the target Objective-C runtime. More...
 
class  PartialDiagnostic
 
class  PrettyStackTraceLoc
 
class  SanitizerBlacklist
 
struct  SanitizerSet
 
class  FileID
 An opaque identifier used by SourceManager which refers to a source file (MemoryBuffer) along with its #include path and #line data. More...
 
class  SourceLocation
 Encodes a location in the source. The SourceManager can decode this to get at the full include stack, line and column information. More...
 
class  SourceRange
 A trivial tuple used to represent a source range. More...
 
class  CharSourceRange
 Represents a character-granular source range. More...
 
class  FullSourceLoc
 A SourceLocation and its associated SourceManager. More...
 
class  PresumedLoc
 Represents an unpacked "presumed" location which can be presented to the user. More...
 
class  ExternalSLocEntrySource
 External source of source location entries. More...
 
class  InBeforeInTUCacheEntry
 Holds the cache used by isBeforeInTranslationUnit. More...
 
class  SourceManager
 This class handles loading and caching of source files into memory. More...
 
class  BeforeThanCompare
 Comparison function object. More...
 
class  BeforeThanCompare< SourceLocation >
 Compare two source locations. More...
 
class  BeforeThanCompare< SourceRange >
 Compare two non-overlapping source ranges. More...
 
struct  LineEntry
 
class  LineTableInfo
 Used to hold and unique data used to represent #line information. More...
 
struct  WrittenBuiltinSpecs
 Structure that packs information about the type specifiers that were written in a particular type specifier sequence. More...
 
class  NeonTypeFlags
 Flags to identify the types for overloaded Neon builtins. More...
 
class  TargetCXXABI
 The basic abstraction for the target C++ ABI. More...
 
class  TargetInfo
 Exposes information about the current target. More...
 
class  TargetOptions
 Options for controlling the target. More...
 
class  VersionTuple
 Represents a version number in the form major[.minor[.subminor[.build]]]. More...
 
class  LinkageInfo
 
class  CodeGenAction
 
class  EmitAssemblyAction
 
class  EmitBCAction
 
class  EmitLLVMAction
 
class  EmitLLVMOnlyAction
 
class  EmitCodeGenOnlyAction
 
class  EmitObjAction
 
class  CodeGenerator
 
class  ObjectFilePCHContainerWriter
 
class  ObjectFilePCHContainerReader
 
class  ASTUnit
 Utility class for loading a ASTContext from an AST file. More...
 
class  ChainedDiagnosticConsumer
 
class  CodeGenOptionsBase
 Bitfields of CodeGenOptions, split out from CodeGenOptions to ensure that this large collection of bitfields is a trivial class type. More...
 
class  CodeGenOptions
 
struct  ParsedSourceLocation
 A source location that has been parsed on the command line. More...
 
class  CompilerInstance
 
class  CompilerInvocationBase
 
class  CompilerInvocation
 Helper class for holding the data necessary to invoke the compiler. More...
 
class  DependencyOutputOptions
 
class  DiagnosticRenderer
 Class to encapsulate the logic for formatting a diagnostic message. More...
 
class  DiagnosticNoteRenderer
 
class  FrontendAction
 Abstract base class for actions which can be performed by the frontend. More...
 
class  ASTFrontendAction
 Abstract base class to use for AST consumer-based frontend actions. More...
 
class  PluginASTAction
 
class  PreprocessorFrontendAction
 Abstract base class to use for preprocessor-based frontend actions. More...
 
class  WrapperFrontendAction
 A frontend action which simply wraps some other runtime-specified frontend action. More...
 
class  InitOnlyAction
 
class  ASTPrintAction
 
class  ASTDumpAction
 
class  ASTDeclListAction
 
class  ASTViewAction
 
class  DeclContextPrintAction
 
class  GeneratePCHAction
 
class  GenerateModuleAction
 
class  SyntaxOnlyAction
 
class  DumpModuleInfoAction
 Dump information about the given module file, to be used for basic debugging and discovery. More...
 
class  VerifyPCHAction
 
class  ASTMergeAction
 Frontend action adaptor that merges ASTs together. More...
 
class  PrintPreambleAction
 
class  DumpRawTokensAction
 
class  DumpTokensAction
 
class  GeneratePTHAction
 
class  PreprocessOnlyAction
 
class  PrintPreprocessedAction
 
class  FrontendInputFile
 An input file for the front end. More...
 
class  FrontendOptions
 FrontendOptions - Options for controlling the behavior of the frontend. More...
 
struct  LangStandard
 
class  LayoutOverrideSource
 An external AST source that overrides the layout of a specified set of record types. More...
 
class  LogDiagnosticPrinter
 
class  MigratorOptions
 
class  MultiplexConsumer
 
struct  PCHBuffer
 
class  PCHContainerWriter
 
class  PCHContainerReader
 
class  RawPCHContainerWriter
 Implements write operations for a raw pass-through PCH container. More...
 
class  RawPCHContainerReader
 Implements read operations for a raw pass-through PCH container. More...
 
class  PCHContainerOperations
 A registry of PCHContainerWriter and -Reader objects for different formats. More...
 
class  PreprocessorOutputOptions
 
class  TextDiagnostic
 Class to encapsulate the logic for formatting and printing a textual diagnostic message. More...
 
class  TextDiagnosticBuffer
 
class  TextDiagnosticPrinter
 
class  DependencyCollector
 
class  DependencyFileGenerator
 
class  ModuleDependencyCollector
 
class  VerifyDiagnosticConsumer
 
class  CodeCompletionHandler
 Callback handler that receives notifications when performing code completion within the preprocessor. More...
 
class  DirectoryLookup
 
class  ExternalPreprocessorSource
 Abstract interface for external sources of preprocessor information. More...
 
class  HeaderMap
 
struct  HeaderFileInfo
 The preprocessor keeps track of this information for each file that is #included. More...
 
class  ExternalHeaderFileInfoSource
 An external source of header file information, which may supply information about header files already included. More...
 
class  HeaderSearch
 Encapsulates the information needed to find the file referenced by a #include or #include_next, (sub-)framework lookup, etc. More...
 
class  HeaderSearchOptions
 
class  Lexer
 
class  NumericLiteralParser
 
class  CharLiteralParser
 
class  StringLiteralParser
 
class  MacroArgs
 
class  MacroInfo
 Encapsulates the data about a macro definition (e.g. its tokens). More...
 
class  MacroDirective
 Encapsulates changes to the "macros namespace" (the location where the macro name became active, the location where it was undefined, etc.). More...
 
class  DefMacroDirective
 A directive for a defined macro or a macro imported from a module. More...
 
class  UndefMacroDirective
 A directive for an undefined macro. More...
 
class  VisibilityMacroDirective
 A directive for setting the module visibility of a macro. More...
 
class  ModuleMacro
 Represents a macro directive exported by a module. More...
 
class  MacroDefinition
 A description of the current definition of a macro. More...
 
class  ModuleLoadResult
 Describes the result of attempting to load a module. More...
 
class  ModuleLoader
 Abstract interface for a module loader. More...
 
class  ModuleMap
 
class  MultipleIncludeOpt
 Implements the simple state machine that the Lexer class uses to detect files subject to the 'multiple-include' optimization. More...
 
class  PPCallbacks
 This interface provides a way to observe the actions of the preprocessor as it does its thing. More...
 
class  PPChainedCallbacks
 Simple wrapper class for chaining callbacks. More...
 
class  PPConditionalDirectiveRecord
 Records preprocessor conditional directive regions and allows querying in which region source locations belong to. More...
 
class  PragmaHandler
 
class  EmptyPragmaHandler
 
class  PragmaNamespace
 
class  PreprocessedEntity
 Base class that describes a preprocessed entity, which may be a preprocessor directive or macro expansion. More...
 
class  PreprocessingDirective
 Records the presence of a preprocessor directive. More...
 
class  MacroDefinitionRecord
 Record the location of a macro definition. More...
 
class  MacroExpansion
 Records the location of a macro expansion. More...
 
class  InclusionDirective
 Record the location of an inclusion directive, such as an #include or #import statement. More...
 
class  ExternalPreprocessingRecordSource
 An abstract class that should be subclassed by any external source of preprocessing record entries. More...
 
class  PreprocessingRecord
 A record of the steps taken while preprocessing a source file, including the various preprocessing directives processed, macros expanded, etc. More...
 
class  TokenValue
 Stores token information for comparing actual tokens with predefined values. Only handles simple tokens and identifiers. More...
 
class  Preprocessor
 Engages in a tight little dance with the lexer to efficiently preprocess tokens. More...
 
class  CommentHandler
 Abstract base class that describes a handler that will receive source ranges for each of the comments encountered in the source file. More...
 
class  PreprocessorLexer
 
class  PreprocessorOptions
 
class  PTHLexer
 
class  PTHManager
 
class  ScratchBuffer
 
class  Token
 
struct  PPConditionalInfo
 Information about the conditional stack (#if directives) currently active. More...
 
class  TokenConcatenation
 
class  TokenLexer
 
class  Parser
 
class  DeltaTree
 
class  RewriteBuffer
 
class  Rewriter
 
struct  RopeRefCountString
 
struct  RopePiece
 
class  RopePieceBTreeIterator
 
class  RopePieceBTree
 
class  RewriteRope
 
class  TokenRewriter
 
class  FixItOptions
 
class  FixItRewriter
 
class  HTMLPrintAction
 
class  FixItAction
 
class  FixItRecompile
 Emits changes to temporary files and uses them for the original frontend action. More...
 
class  RewriteObjCAction
 
class  RewriteMacrosAction
 
class  RewriteTestAction
 
class  RewriteIncludesAction
 
struct  AvailabilityChange
 Represents information about a change in availability for an entity, which is part of the encoding of the 'availability' attribute. More...
 
struct  IdentifierLoc
 Wraps an identifier and optional source location for the identifier. More...
 
class  AttributeList
 
class  AttributeFactory
 
class  AttributePool
 
class  ParsedAttributes
 
class  CodeCompletionContext
 The context in which code completion occurred, so that the code-completion consumer can process the results accordingly. More...
 
class  CodeCompletionString
 A "string" used to describe how code completion can be performed for an entity. More...
 
class  CodeCompletionAllocator
 An allocator used specifically for the purpose of code completion. More...
 
class  GlobalCodeCompletionAllocator
 Allocator for a cached set of global code completions. More...
 
class  CodeCompletionTUInfo
 
class  CodeCompletionBuilder
 A builder class used to construct new code-completion strings. More...
 
class  CodeCompletionResult
 Captures a result of code completion. More...
 
class  CodeCompleteConsumer
 Abstract interface for a consumer of code-completion information. More...
 
class  PrintingCodeCompleteConsumer
 A simple code-completion consumer that prints the results it receives in a simple format. More...
 
class  CXXFieldCollector
 
class  CXXScopeSpec
 Represents a C++ nested-name-specifier or a global scope specifier. More...
 
class  DeclSpec
 Captures information about "declaration specifiers". More...
 
class  ObjCDeclSpec
 Captures information about "declaration specifiers" specific to Objective-C. More...
 
class  UnqualifiedId
 Represents a C++ unqualified-id that has been parsed. More...
 
struct  DeclaratorChunk
 One instance of this struct is used for each type in a declarator that is parsed. More...
 
class  Declarator
 Information about one declarator, including the parsed type information and the identifier. More...
 
struct  FieldDeclarator
 This little struct is used to capture information about structure field declarators, which is basically just a bitfield size. More...
 
class  VirtSpecifiers
 Represents a C++11 virt-specifier-seq. More...
 
struct  LambdaIntroducer
 Represents a complete lambda introducer. More...
 
class  Designator
 
class  Designation
 
struct  ExternalVTableUse
 A simple structure that captures a vtable use for the purposes of the ExternalSemaSource. More...
 
class  ExternalSemaSource
 An abstract interface that should be implemented by external AST sources that also provide information for semantic analysis. More...
 
class  IdentifierResolver
 
class  InitializedEntity
 Describes an entity that is being initialized. More...
 
class  InitializationKind
 Describes the kind of initialization being performed, along with location information for tokens related to the initialization (equal sign, parentheses). More...
 
class  InitializationSequence
 Describes the sequence of initializations required to initialize a given object or reference with a set of arguments. More...
 
class  LocInfoType
 Holds a QualType and a TypeSourceInfo* that came out of a declarator parsing. More...
 
class  LookupResult
 Represents the results of name lookup. More...
 
class  VisibleDeclConsumer
 Consumes visible declarations found when searching for all visible names within a given scope or context. More...
 
class  ADLResult
 A class for storing results from argument-dependent lookup. More...
 
struct  LoopHint
 Loop optimization hint for loop and unroll pragmas. More...
 
class  MultiplexExternalSemaSource
 An abstract interface that should be implemented by external AST sources that also provide information for semantic analysis. More...
 
struct  ObjCMethodList
 a linked list of methods with the same selector name but different signatures. More...
 
class  StandardConversionSequence
 
struct  UserDefinedConversionSequence
 
struct  AmbiguousConversionSequence
 Represents an ambiguous user-defined conversion sequence. More...
 
struct  BadConversionSequence
 
class  ImplicitConversionSequence
 
struct  OverloadCandidate
 OverloadCandidate - A single candidate in an overload set (C++ 13.3). More...
 
class  OverloadCandidateSet
 
class  OpaquePtr
 Wrapper for void* pointer. More...
 
struct  UnionOpaquePtr
 
struct  IsResultPtrLowBitFree
 
class  ActionResult
 
class  ActionResult< PtrTy, true >
 
struct  IsResultPtrLowBitFree< Expr * >
 
struct  IsResultPtrLowBitFree< Stmt * >
 
struct  IsResultPtrLowBitFree< CXXBaseSpecifier * >
 
struct  IsResultPtrLowBitFree< CXXCtorInitializer * >
 
class  ParsedTemplateArgument
 Represents the parsed form of a C++ template argument. More...
 
struct  TemplateIdAnnotation
 Information about a template-id annotation token. More...
 
class  PrettyDeclStackTraceEntry
 
class  Scope
 
struct  FileNullability
 
class  FileNullabilityMap
 
class  Sema
 Sema - This implements semantic analysis and AST building for C. More...
 
class  EnterExpressionEvaluationContext
 RAII object that enters a new expression evaluation context. More...
 
struct  LateParsedTemplate
 Contains a late templated function. Will be parsed at the end of the translation unit, used by Sema & Parser. More...
 
class  SemaConsumer
 An abstract interface that should be implemented by clients that read ASTs and then require further semantic analysis of the entities in those ASTs. More...
 
struct  ConversionFixItGenerator
 
class  TypoCorrectionConsumer
 
class  MultiLevelTemplateArgumentList
 Data structure that captures multiple levels of template argument lists for use in template instantiation. More...
 
class  TemplatePartialOrderingContext
 
class  DeducedTemplateArgument
 Captures a template argument whose value has been deduced via c++ template argument deduction. More...
 
class  LocalInstantiationScope
 A stack-allocated class that identifies which local variable declaration instantiations are present in this scope. More...
 
class  TemplateDeclInstantiator
 
struct  DeductionFailureInfo
 
struct  TemplateSpecCandidate
 
class  TemplateSpecCandidateSet
 
class  TypoCorrection
 Simple class containing the result of Sema::CorrectTypo. More...
 
class  CorrectionCandidateCallback
 Base class for callback objects used by Sema::CorrectTypo to check the validity of a potential typo correction. More...
 
class  DeclFilterCCC
 Simple template class for restricting typo correction candidates to ones having a single Decl* of the given type. More...
 
class  FunctionCallFilterCCC
 
class  NoTypoCorrectionCCC
 
class  WeakInfo
 Captures information about a #pragma weak directive. More...
 
class  ASTDeserializationListener
 
class  ASTReaderListener
 Abstract interface for callback invocations by the ASTReader. More...
 
class  ChainedASTReaderListener
 Simple wrapper class for chaining listeners. More...
 
class  PCHValidator
 ASTReaderListener implementation to validate the information of the PCH file against an initialized Preprocessor. More...
 
class  ASTReader
 Reads an AST files chain containing the contents of a translation unit. More...
 
struct  SavedStreamPosition
 Helper class that saves the current stream position and then restores it when destroyed. More...
 
class  ASTWriter
 Writes an AST file containing the contents of a translation unit. More...
 
class  PCHGenerator
 AST and semantic-analysis consumer that generates a precompiled header from the parsed source code. More...
 
class  ContinuousRangeMap
 A map from continuous integer ranges to some value, with a very specialized interface. More...
 
class  GlobalModuleIndex
 A global index for a set of module files, providing information about the identifiers within those module files. More...
 
class  AnalyzerOptions
 
class  BlockCall
 
class  CXXInstanceCall
 Represents a non-static C++ member function call, no matter how it is written. More...
 
class  CXXMemberCall
 Represents a non-static C++ member function call. More...
 
class  CXXMemberOperatorCall
 Represents a C++ overloaded operator call where the operator is implemented as a non-static member function. More...
 
class  CXXDestructorCall
 Represents an implicit call to a C++ destructor. More...
 
class  CXXConstructorCall
 Represents a call to a C++ constructor. More...
 
class  CXXAllocatorCall
 Represents the memory allocation call in a C++ new-expression. More...
 
class  ObjCMethodCall
 Represents any expression that calls an Objective-C method. More...
 
class  CallEventManager
 Manages the lifetime of CallEvent objects. More...
 
class  BodyFarm
 
class  UpdateOnReturn
 
class  ASTNodeImporter
 
class  CXXABI
 Implements C++ ABI-specific semantic analysis functions. More...
 
class  LinkageComputer
 
class  CXXSpecialName
 
class  CXXOperatorIdName
 
class  CXXLiteralOperatorIdName
 
class  TypePropertyCache
 
class  MultiKeywordSelector
 
class  ABIInfo
 
class  BackendConsumer
 
class  CoverageSourceInfo
 Stores additional source code information like skipped ranges which is required by the coverage mapping generator and is obtained from the preprocessor. More...
 
class  TargetCodeGenInfo
 
class  MultiplexASTDeserializationListener
 
class  MultiplexASTMutationListener
 
struct  HMapBucket
 
struct  HMapHeader
 
struct  MMToken
 A token in a module map file. More...
 
class  ModuleMapParser
 
class  PTHStatCache
 
class  SuppressAccessChecks
 A RAII object used to temporarily suppress access-like checking. Access-like checks are those associated with controlling the use of a declaration, like C++ access control errors and deprecation warnings. They are contextually dependent, in that they can only be resolved with full information about what's being declared. They are also suppressed in certain contexts, like the template arguments of an explicit instantiation. However, those suppression contexts cannot necessarily be fully determined in advance; for example, something starting like this: template <> class std::vector<A::PrivateType> might be the entirety of an explicit instantiation: template <> class std::vector<A::PrivateType>; or just an elaborated type specifier: template <> class std::vector<A::PrivateType> make_vector<>(); Therefore this class collects all the diagnostics and permits them to be re-delayed in a new context. More...
 
class  ParsingDeclRAIIObject
 RAII object used to inform the actions that we're currently parsing a declaration. This is active when parsing a variable's initializer, but not when parsing the body of a class or function definition. More...
 
class  ParsingDeclSpec
 A class for parsing a DeclSpec. More...
 
class  ParsingDeclarator
 A class for parsing a declarator. More...
 
class  ParsingFieldDeclarator
 A class for parsing a field declarator. More...
 
class  ExtensionRAIIObject
 
class  ColonProtectionRAIIObject
 
class  GreaterThanIsOperatorScope
 RAII object that makes '>' behave either as an operator or as the closing angle bracket for a template argument list. More...
 
class  InMessageExpressionRAIIObject
 
class  ParenBraceBracketBalancer
 RAII object that makes sure paren/bracket/brace count is correct after declaration/statement parsing, even when there's a parsing error. More...
 
class  PoisonSEHIdentifiersRAIIObject
 
class  BalancedDelimiterTracker
 RAII class that helps handle the parsing of an open/close delimiter pair, such as braces { ... } or parentheses ( ... ). More...
 
struct  DeducedPack
 A pack that we're currently deducing. More...
 
class  TreeTransform
 A semantic tree transformation that allows one to transform one abstract syntax tree into another. More...
 
class  TemplateArgumentLocInventIterator
 Iterator adaptor that invents template argument location information for each of the template arguments in its underlying iterator. More...
 
class  TemplateArgumentLocContainerIterator
 Simple iterator that traverses the template arguments in a container that provides a getArgLoc() member function. More...
 
class  TypeLocBuilder
 
class  TypeLocReader
 
class  ASTIdentifierIterator
 An identifier-lookup iterator that enumerates all of the identifiers stored within a set of AST files. More...
 
class  ASTDeclReader
 
class  ASTStmtReader
 
class  OMPClauseReader
 
class  ASTDeclWriter
 
class  ASTStmtWriter
 
class  OMPClauseWriter
 

Typedefs

typedef llvm::DomTreeNodeBase
< CFGBlock
DomTreeNode
 
typedef SmallVector< Attr *, 2 > AttrVec
 AttrVec - A vector of Attr, which is how they are stored on the AST. More...
 
typedef SmallVector< const
Attr *, 2 > 
ConstAttrVec
 
typedef CanQual< TypeCanQualType
 Represents a canonical, potentially-qualified type. More...
 
typedef llvm::PointerUnion3
< TemplateTypeParmDecl
*, NonTypeTemplateParmDecl
*, TemplateTemplateParmDecl * > 
TemplateParameter
 Stores a template parameter of any kind. More...
 
typedef SmallVector
< CXXBaseSpecifier *, 4 > 
CXXCastPath
 A simple array of base specifiers. More...
 
typedef LazyOffsetPtr< Stmt,
uint64_t,&ExternalASTSource::GetExternalDeclStmt
LazyDeclStmtPtr
 A lazy pointer to a statement. More...
 
typedef LazyOffsetPtr< Decl,
uint32_t,&ExternalASTSource::GetExternalDecl
LazyDeclPtr
 A lazy pointer to a declaration. More...
 
typedef LazyOffsetPtr
< CXXCtorInitializer
*, uint64_t,&ExternalASTSource::GetExternalCXXCtorInitializers
LazyCXXCtorInitializersPtr
 A lazy pointer to a set of CXXCtorInitializers. More...
 
typedef LazyOffsetPtr
< CXXBaseSpecifier, uint64_t,&ExternalASTSource::GetExternalCXXBaseSpecifiers
LazyCXXBaseSpecifiersPtr
 A lazy pointer to a set of CXXBaseSpecifiers. More...
 
typedef MutableArrayRef< Expr * >
::iterator 
inits_iterator
 
typedef ArrayRef< const Expr * >
::iterator 
inits_const_iterator
 
typedef llvm::iterator_range
< inits_iterator
inits_range
 
typedef llvm::iterator_range
< inits_const_iterator
inits_const_range
 
typedef MutableArrayRef< Expr * >
::iterator 
updates_iterator
 
typedef ArrayRef< const Expr * >
::iterator 
updates_const_iterator
 
typedef llvm::iterator_range
< updates_iterator
updates_range
 
typedef llvm::iterator_range
< updates_const_iterator
updates_const_range
 
typedef MutableArrayRef< Expr * >
::iterator 
finals_iterator
 
typedef ArrayRef< const Expr * >
::iterator 
finals_const_iterator
 
typedef llvm::iterator_range
< finals_iterator
finals_range
 
typedef llvm::iterator_range
< finals_const_iterator
finals_const_range
 
typedef SmallVector< VPtrInfo *, 2 > VPtrInfoVector
 
typedef std::pair
< NullabilityKind, bool
DiagNullabilityKind
 
typedef
DiagnosticOptions::TextDiagnosticFormat 
TextDiagnosticFormat
 
typedef std::pair
< IdentifierInfo
*, SourceLocation
IdentifierLocPair
 A simple pair of identifier info and location. More...
 
typedef SmallVector< std::pair
< std::string, SourceLocation >, 2 > 
ModuleId
 Describes the name of a module. More...
 
typedef std::pair
< SourceLocation,
PartialDiagnostic
PartialDiagnosticAt
 A partial diagnostic along with the source location where this diagnostic occurs. More...
 
typedef uint64_t SanitizerMask
 
typedef ArrayRef< std::pair
< std::string, FullSourceLoc > > 
ModuleBuildStack
 The stack used when building modules on demand, which is used to provide a link between the source managers of the different compiler instances. More...
 
typedef llvm::PointerUnion
< const Diagnostic *, const
StoredDiagnostic * > 
DiagOrStoredDiag
 
typedef llvm::Registry
< PluginASTAction
FrontendPluginRegistry
 The frontend plugin registry. More...
 
typedef ArrayRef< std::pair
< IdentifierInfo
*, SourceLocation > > 
ModuleIdPath
 A sequence of identifier/location pairs used to describe a particular module or submodule, e.g., std.vector. More...
 
typedef llvm::PointerUnion
< Expr *, IdentifierLoc * > 
ArgsUnion
 A union of the various pointer types that can be passed to an AttributeList as an argument. More...
 
typedef llvm::SmallVector
< ArgsUnion, 12U > 
ArgsVector
 
typedef SmallVector< Token, 4 > CachedTokens
 A set of tokens that has been cached for later parsing. More...
 
typedef OpaquePtr< QualTypeParsedType
 
typedef UnionOpaquePtr< QualTypeUnionParsedType
 
typedef ActionResult< Expr * > ExprResult
 
typedef ActionResult< Stmt * > StmtResult
 
typedef ActionResult< ParsedTypeTypeResult
 
typedef ActionResult
< CXXBaseSpecifier * > 
BaseResult
 
typedef ActionResult
< CXXCtorInitializer * > 
MemInitResult
 
typedef ActionResult< Decl * > DeclResult
 
typedef OpaquePtr< TemplateNameParsedTemplateTy
 
typedef MutableArrayRef< Expr * > MultiExprArg
 
typedef MutableArrayRef< Stmt * > MultiStmtArg
 
typedef MutableArrayRef
< ParsedTemplateArgument
ASTTemplateArgsPtr
 
typedef MutableArrayRef
< ParsedType
MultiTypeArg
 
typedef MutableArrayRef
< TemplateParameterList * > 
MultiTemplateParamsArg
 
typedef std::pair
< llvm::PointerUnion< const
TemplateTypeParmType
*, NamedDecl * >
, SourceLocation
UnexpandedParameterPack
 
typedef IntrusiveRefCntPtr
< AnalyzerOptions
AnalyzerOptionsRef
 

Enumerations

enum  AvailabilityResult { AR_Available = 0, AR_NotYetIntroduced, AR_Deprecated, AR_Unavailable }
 Captures the result of checking the availability of a declaration. More...
 
enum  ObjCTypeParamVariance : uint8_t { ObjCTypeParamVariance::Invariant, ObjCTypeParamVariance::Covariant, ObjCTypeParamVariance::Contravariant }
 Describes the variance of a given generic parameter. More...
 
enum  ExternalLoadResult { ELR_Success, ELR_Failure, ELR_AlreadyLoaded }
 Enumeration describing the result of loading information from an external source. More...
 
enum  CastKind {
  CK_Dependent, CK_BitCast, CK_LValueBitCast, CK_LValueToRValue,
  CK_NoOp, CK_BaseToDerived, CK_DerivedToBase, CK_UncheckedDerivedToBase,
  CK_Dynamic, CK_ToUnion, CK_ArrayToPointerDecay, CK_FunctionToPointerDecay,
  CK_NullToPointer, CK_NullToMemberPointer, CK_BaseToDerivedMemberPointer, CK_DerivedToBaseMemberPointer,
  CK_MemberPointerToBoolean, CK_ReinterpretMemberPointer, CK_UserDefinedConversion, CK_ConstructorConversion,
  CK_IntegralToPointer, CK_PointerToIntegral, CK_PointerToBoolean, CK_ToVoid,
  CK_VectorSplat, CK_IntegralCast, CK_IntegralToBoolean, CK_IntegralToFloating,
  CK_FloatingToIntegral, CK_FloatingToBoolean, CK_FloatingCast, CK_CPointerToObjCPointerCast,
  CK_BlockPointerToObjCPointerCast, CK_AnyPointerToBlockPointerCast, CK_ObjCObjectLValueCast, CK_FloatingRealToComplex,
  CK_FloatingComplexToReal, CK_FloatingComplexToBoolean, CK_FloatingComplexCast, CK_FloatingComplexToIntegralComplex,
  CK_IntegralRealToComplex, CK_IntegralComplexToReal, CK_IntegralComplexToBoolean, CK_IntegralComplexCast,
  CK_IntegralComplexToFloatingComplex, CK_ARCProduceObject, CK_ARCConsumeObject, CK_ARCReclaimReturnedObject,
  CK_ARCExtendBlockObject, CK_AtomicToNonAtomic, CK_NonAtomicToAtomic, CK_CopyAndAutoreleaseBlockObject,
  CK_BuiltinFnToFnPtr, CK_ZeroToOCLEvent, CK_AddressSpaceConversion
}
 CastKind - The kind of operation required for a conversion. More...
 
enum  BinaryOperatorKind {
  BO_PtrMemD, BO_PtrMemI, BO_Mul, BO_Div,
  BO_Rem, BO_Add, BO_Sub, BO_Shl,
  BO_Shr, BO_LT, BO_GT, BO_LE,
  BO_GE, BO_EQ, BO_NE, BO_And,
  BO_Xor, BO_Or, BO_LAnd, BO_LOr,
  BO_Assign, BO_MulAssign, BO_DivAssign, BO_RemAssign,
  BO_AddAssign, BO_SubAssign, BO_ShlAssign, BO_ShrAssign,
  BO_AndAssign, BO_XorAssign, BO_OrAssign, BO_Comma
}
 
enum  UnaryOperatorKind {
  UO_PostInc, UO_PostDec, UO_PreInc, UO_PreDec,
  UO_AddrOf, UO_Deref, UO_Plus, UO_Minus,
  UO_Not, UO_LNot, UO_Real, UO_Imag,
  UO_Extension
}
 
enum  ObjCBridgeCastKind { OBC_Bridge, OBC_BridgeTransfer, OBC_BridgeRetained }
 The kind of bridging performed by the Objective-C bridge cast. More...
 
enum  SelectorLocationsKind { SelLoc_NonStandard = 0, SelLoc_StandardNoSpace = 1, SelLoc_StandardWithSpace = 2 }
 Whether all locations of the selector identifiers are in a "standard" position. More...
 
enum  { TypeAlignmentInBits = 4, TypeAlignment = 1 << TypeAlignmentInBits }
 
enum  ObjCSubstitutionContext {
  ObjCSubstitutionContext::Ordinary, ObjCSubstitutionContext::Result, ObjCSubstitutionContext::Parameter, ObjCSubstitutionContext::Property,
  ObjCSubstitutionContext::Superclass
}
 
enum  RefQualifierKind { RQ_None = 0, RQ_LValue, RQ_RValue }
 The kind of C++0x ref-qualifier associated with a function type, which determines whether a member function's "this" object can be an lvalue, rvalue, or neither. More...
 
enum  TagTypeKind {
  TTK_Struct, TTK_Interface, TTK_Union, TTK_Class,
  TTK_Enum
}
 The kind of a tag type. More...
 
enum  ElaboratedTypeKeyword {
  ETK_Struct, ETK_Interface, ETK_Union, ETK_Class,
  ETK_Enum, ETK_Typename, ETK_None
}
 The elaboration keyword that precedes a qualified type name or introduces an elaborated-type-specifier. More...
 
enum  CXXCtorType {
  Ctor_Complete, Ctor_Base, Ctor_Comdat, Ctor_CopyingClosure,
  Ctor_DefaultClosure
}
 C++ constructor types. More...
 
enum  CXXDtorType { Dtor_Deleting, Dtor_Complete, Dtor_Base, Dtor_Comdat }
 C++ destructor types. More...
 
enum  AttrSyntax { AttrSyntax::GNU, AttrSyntax::Declspec, AttrSyntax::CXX, AttrSyntax::Pragma }
 
enum  LanguageID {
  GNU_LANG = 0x1, C_LANG = 0x2, CXX_LANG = 0x4, OBJC_LANG = 0x8,
  MS_LANG = 0x10, ALL_LANGUAGES = C_LANG | CXX_LANG | OBJC_LANG, ALL_GNU_LANGUAGES = ALL_LANGUAGES | GNU_LANG, ALL_MS_LANGUAGES = ALL_LANGUAGES | MS_LANG
}
 
enum  CapturedRegionKind { CR_Default, CR_OpenMP }
 The different kinds of captured statement. More...
 
enum  OverloadsShown : unsigned { Ovl_All, Ovl_Best }
 Specifies which overload candidates to display when overload resolution fails. More...
 
enum  DiagnosticLevelMask : unsigned {
  DiagnosticLevelMask::None = 0, DiagnosticLevelMask::Note = 1 << 0, DiagnosticLevelMask::Remark = 1 << 1, DiagnosticLevelMask::Warning = 1 << 2,
  DiagnosticLevelMask::Error = 1 << 3, DiagnosticLevelMask::All = Note | Remark | Warning | Error
}
 A bitmask representing the diagnostic levels used by VerifyDiagnosticConsumer. More...
 
enum  ExceptionSpecificationType {
  EST_None, EST_DynamicNone, EST_Dynamic, EST_MSAny,
  EST_BasicNoexcept, EST_ComputedNoexcept, EST_Unevaluated, EST_Uninstantiated,
  EST_Unparsed
}
 The various types of exception specifications that exist in C++11. More...
 
enum  CanThrowResult { CT_Cannot, CT_Dependent, CT_Can }
 Possible results from evaluation of a noexcept expression. More...
 
enum  ExpressionTrait { ET_IsLValueExpr, ET_IsRValueExpr }
 
enum  ObjCMethodFamily {
  OMF_None, OMF_alloc, OMF_copy, OMF_init,
  OMF_mutableCopy, OMF_new, OMF_autorelease, OMF_dealloc,
  OMF_finalize, OMF_release, OMF_retain, OMF_retainCount,
  OMF_self, OMF_initialize, OMF_performSelector
}
 A family of Objective-C methods. More...
 
enum  { ObjCMethodFamilyBitWidth = 4 }
 
enum  { InvalidObjCMethodFamily = (1 << ObjCMethodFamilyBitWidth) - 1 }
 An invalid value of ObjCMethodFamily. More...
 
enum  ObjCInstanceTypeFamily {
  OIT_None, OIT_Array, OIT_Dictionary, OIT_Singleton,
  OIT_Init, OIT_ReturnsSelf
}
 A family of Objective-C methods. More...
 
enum  ObjCStringFormatFamily { SFF_None, SFF_NSString, SFF_CFString }
 
enum  LambdaCaptureDefault { LCD_None, LCD_ByCopy, LCD_ByRef }
 The default, if any, capture method for a lambda expression. More...
 
enum  LambdaCaptureKind { LCK_This, LCK_ByCopy, LCK_ByRef, LCK_VLAType }
 The different capture forms in a lambda introducer. More...
 
enum  TranslationUnitKind { TU_Complete, TU_Prefix, TU_Module }
 Describes the kind of translation unit being processed. More...
 
enum  Linkage : unsigned char {
  NoLinkage = 0, InternalLinkage, UniqueExternalLinkage, VisibleNoLinkage,
  ExternalLinkage
}
 Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have. More...
 
enum  LanguageLinkage { CLanguageLinkage, CXXLanguageLinkage, NoLanguageLinkage }
 Describes the different kinds of language linkage (C++ [dcl.link]) that an entity may have. More...
 
enum  GVALinkage {
  GVA_Internal, GVA_AvailableExternally, GVA_DiscardableODR, GVA_StrongExternal,
  GVA_StrongODR
}
 A more specific kind of linkage than enum Linkage. More...
 
enum  OpenMPDirectiveKind { OMPD_unknown }
 OpenMP directives. More...
 
enum  OpenMPClauseKind { OMPC_threadprivate, OMPC_unknown }
 OpenMP clauses. More...
 
enum  OpenMPDefaultClauseKind { OMPC_DEFAULT_unknown }
 OpenMP attributes for 'default' clause. More...
 
enum  OpenMPProcBindClauseKind { OMPC_PROC_BIND_unknown }
 OpenMP attributes for 'proc_bind' clause. More...
 
enum  OpenMPScheduleClauseKind { OMPC_SCHEDULE_unknown }
 OpenMP attributes for 'schedule' clause. More...
 
enum  OpenMPDependClauseKind { OMPC_DEPEND_unknown }
 OpenMP attributes for 'depend' clause. More...
 
enum  OverloadedOperatorKind : int { OO_None, NUM_OVERLOADED_OPERATORS }
 Enumeration specifying the different kinds of C++ overloaded operators. More...
 
enum  TypeSpecifierWidth { TSW_unspecified, TSW_short, TSW_long, TSW_longlong }
 Specifies the width of a type, e.g., short, long, or long long. More...
 
enum  TypeSpecifierSign { TSS_unspecified, TSS_signed, TSS_unsigned }
 Specifies the signedness of a type, e.g., signed or unsigned. More...
 
enum  TypeSpecifierType {
  TST_unspecified, TST_void, TST_char, TST_wchar,
  TST_char16, TST_char32, TST_int, TST_int128,
  TST_half, TST_float, TST_double, TST_bool,
  TST_decimal32, TST_decimal64, TST_decimal128, TST_enum,
  TST_union, TST_struct, TST_class, TST_interface,
  TST_typename, TST_typeofType, TST_typeofExpr, TST_decltype,
  TST_underlyingType, TST_auto, TST_decltype_auto, TST_unknown_anytype,
  TST_atomic, TST_error
}
 Specifies the kind of type. More...
 
enum  AccessSpecifier { AS_public, AS_protected, AS_private, AS_none }
 A C++ access specifier (public, private, protected), plus the special value "none" which means different things in different contexts. More...
 
enum  ExprValueKind { VK_RValue, VK_LValue, VK_XValue }
 The categorization of expression values, currently following the C++11 scheme. More...
 
enum  ExprObjectKind {
  OK_Ordinary, OK_BitField, OK_VectorComponent, OK_ObjCProperty,
  OK_ObjCSubscript
}
 A further classification of the kind of object referenced by an l-value or x-value. More...
 
enum  TemplateSpecializationKind {
  TSK_Undeclared = 0, TSK_ImplicitInstantiation, TSK_ExplicitSpecialization, TSK_ExplicitInstantiationDeclaration,
  TSK_ExplicitInstantiationDefinition
}
 Describes the kind of template specialization that a particular template specialization declaration represents. More...
 
enum  ThreadStorageClassSpecifier { TSCS_unspecified, TSCS___thread, TSCS_thread_local, TSCS__Thread_local }
 Thread storage-class-specifier. More...
 
enum  StorageClass {
  SC_None, SC_Extern, SC_Static, SC_PrivateExtern,
  SC_OpenCLWorkGroupLocal, SC_Auto, SC_Register
}
 Storage classes. More...
 
enum  InClassInitStyle { ICIS_NoInit, ICIS_CopyInit, ICIS_ListInit }
 In-class initialization styles for non-static data members. More...
 
enum  CallingConv {
  CC_C, CC_X86StdCall, CC_X86FastCall, CC_X86ThisCall,
  CC_X86VectorCall, CC_X86Pascal, CC_X86_64Win64, CC_X86_64SysV,
  CC_AAPCS, CC_AAPCS_VFP, CC_IntelOclBicc, CC_SpirFunction,
  CC_SpirKernel
}
 CallingConv - Specifies the calling convention that a function uses. More...
 
enum  StorageDuration {
  SD_FullExpression, SD_Automatic, SD_Thread, SD_Static,
  SD_Dynamic
}
 The storage duration for an object (per C++ [basic.stc]). More...
 
enum  NullabilityKind : uint8_t { NullabilityKind::NonNull = 0, NullabilityKind::Nullable, NullabilityKind::Unspecified }
 Describes the nullability of a particular type. More...
 
enum  TemplateNameKind {
  TNK_Non_template = 0, TNK_Function_template, TNK_Type_template, TNK_Var_template,
  TNK_Dependent_template_name
}
 Specifies the kind of template name that an identifier refers to. Be careful when changing this: this enumeration is used in diagnostics. More...
 
enum  TypeTrait {
  UTT_HasNothrowAssign, UTT_HasNothrowMoveAssign, UTT_HasNothrowCopy, UTT_HasNothrowConstructor,
  UTT_HasTrivialAssign, UTT_HasTrivialMoveAssign, UTT_HasTrivialCopy, UTT_HasTrivialDefaultConstructor,
  UTT_HasTrivialMoveConstructor, UTT_HasTrivialDestructor, UTT_HasVirtualDestructor, UTT_IsAbstract,
  UTT_IsArithmetic, UTT_IsArray, UTT_IsClass, UTT_IsCompleteType,
  UTT_IsCompound, UTT_IsConst, UTT_IsDestructible, UTT_IsEmpty,
  UTT_IsEnum, UTT_IsFinal, UTT_IsFloatingPoint, UTT_IsFunction,
  UTT_IsFundamental, UTT_IsIntegral, UTT_IsInterfaceClass, UTT_IsLiteral,
  UTT_IsLvalueReference, UTT_IsMemberFunctionPointer, UTT_IsMemberObjectPointer, UTT_IsMemberPointer,
  UTT_IsNothrowDestructible, UTT_IsObject, UTT_IsPOD, UTT_IsPointer,
  UTT_IsPolymorphic, UTT_IsReference, UTT_IsRvalueReference, UTT_IsScalar,
  UTT_IsSealed, UTT_IsSigned, UTT_IsStandardLayout, UTT_IsTrivial,
  UTT_IsTriviallyCopyable, UTT_IsUnion, UTT_IsUnsigned, UTT_IsVoid,
  UTT_IsVolatile, UTT_Last = UTT_IsVolatile, BTT_IsBaseOf, BTT_IsConvertible,
  BTT_IsConvertibleTo, BTT_IsSame, BTT_TypeCompatible, BTT_IsNothrowAssignable,
  BTT_IsTriviallyAssignable, BTT_Last = BTT_IsTriviallyAssignable, TT_IsConstructible, TT_IsNothrowConstructible,
  TT_IsTriviallyConstructible
}
 Names for traits that operate specifically on types. More...
 
enum  ArrayTypeTrait { ATT_ArrayRank, ATT_ArrayExtent }
 Names for the array type traits. More...
 
enum  UnaryExprOrTypeTrait { UETT_SizeOf, UETT_AlignOf, UETT_VecStep, UETT_OpenMPRequiredSimdAlign }
 Names for the "expression or type" traits. More...
 
enum  Visibility { HiddenVisibility, ProtectedVisibility, DefaultVisibility }
 Describes the different kinds of visibility that a declaration may have. More...
 
enum  BackendAction {
  Backend_EmitAssembly, Backend_EmitBC, Backend_EmitLL, Backend_EmitNothing,
  Backend_EmitMCNull, Backend_EmitObj
}
 
enum  DependencyOutputFormat { DependencyOutputFormat::Make, DependencyOutputFormat::NMake }
 DependencyOutputFormat - Format for the compiler dependency file. More...
 
enum  InputKind {
  IK_None, IK_Asm, IK_C, IK_CXX,
  IK_ObjC, IK_ObjCXX, IK_PreprocessedC, IK_PreprocessedCXX,
  IK_PreprocessedObjC, IK_PreprocessedObjCXX, IK_OpenCL, IK_CUDA,
  IK_PreprocessedCuda, IK_AST, IK_LLVM_IR
}
 
enum  ConflictMarkerKind { CMK_None, CMK_Normal, CMK_Perforce }
 
enum  PragmaIntroducerKind { PIK_HashPragma, PIK__Pragma, PIK___pragma }
 Describes how the pragma was introduced, e.g., with #pragma, _Pragma, or __pragma. More...
 
enum  MacroUse { MU_Other = 0, MU_Define = 1, MU_Undef = 2 }
 Context in which macro name is used. More...
 
enum  ObjCXXARCStandardLibraryKind { ARCXX_nolib, ARCXX_libcxx, ARCXX_libstdcxx }
 Enumerate the kinds of standard library that. More...
 
enum  AttributeArgumentNType { AANT_ArgumentIntOrBool, AANT_ArgumentIntegerConstant, AANT_ArgumentString, AANT_ArgumentIdentifier }
 
enum  AttributeDeclKind {
  ExpectedFunction, ExpectedUnion, ExpectedVariableOrFunction, ExpectedFunctionOrMethod,
  ExpectedParameter, ExpectedFunctionMethodOrBlock, ExpectedFunctionMethodOrClass, ExpectedFunctionMethodOrParameter,
  ExpectedClass, ExpectedEnum, ExpectedVariable, ExpectedMethod,
  ExpectedVariableFunctionOrLabel, ExpectedFieldOrGlobalVar, ExpectedStruct, ExpectedVariableOrTypedef,
  ExpectedTLSVar, ExpectedVariableOrField, ExpectedVariableFieldOrTag, ExpectedTypeOrNamespace,
  ExpectedObjectiveCInterface, ExpectedMethodOrProperty, ExpectedStructOrUnion, ExpectedStructOrUnionOrClass,
  ExpectedType, ExpectedObjCInstanceMethod, ExpectedObjCInterfaceDeclInitMethod, ExpectedFunctionVariableOrClass,
  ExpectedObjectiveCProtocol, ExpectedFunctionGlobalVarMethodOrProperty, ExpectedStructOrUnionOrTypedef, ExpectedStructOrTypedef,
  ExpectedObjectiveCInterfaceOrProtocol, ExpectedKernelFunction
}
 
enum  {
  CCP_NextInitializer = 7, CCP_EnumInCase = 7, CCP_SuperCompletion = 20, CCP_LocalDeclaration = 34,
  CCP_MemberDeclaration = 35, CCP_Keyword = 40, CCP_CodePattern = 40, CCP_Declaration = 50,
  CCP_Type = CCP_Declaration, CCP_Constant = 65, CCP_Macro = 70, CCP_NestedNameSpecifier = 75,
  CCP_Unlikely = 80, CCP_ObjC_cmd = CCP_Unlikely
}
 Default priority values for code-completion results based on their kind. More...
 
enum  {
  CCD_InBaseClass = 2, CCD_ObjectQualifierMatch = -1, CCD_SelectorMatch = -3, CCD_bool_in_ObjC = 1,
  CCD_ProbablyNotObjCCollection = 15, CCD_MethodAsProperty = 2
}
 Priority value deltas that are added to code-completion results based on the context of the result. More...
 
enum  { CCF_ExactTypeMatch = 4, CCF_SimilarTypeMatch = 2 }
 Priority value factors by which we will divide or multiply the priority of a code-completion result. More...
 
enum  SimplifiedTypeClass {
  STC_Arithmetic, STC_Array, STC_Block, STC_Function,
  STC_ObjectiveC, STC_Other, STC_Pointer, STC_Record,
  STC_Void
}
 A simplified classification of types used when determining "similar" types for code completion. More...
 
enum  FunctionDefinitionKind { FDK_Declaration, FDK_Definition, FDK_Defaulted, FDK_Deleted }
 Described the kind of function definition (if any) provided for a function. More...
 
enum  OverloadingResult { OR_Success, OR_No_Viable_Function, OR_Ambiguous, OR_Deleted }
 
enum  OverloadCandidateDisplayKind { OCD_AllCandidates, OCD_ViableCandidates }
 
enum  ImplicitConversionKind {
  ICK_Identity = 0, ICK_Lvalue_To_Rvalue, ICK_Array_To_Pointer, ICK_Function_To_Pointer,
  ICK_NoReturn_Adjustment, ICK_Qualification, ICK_Integral_Promotion, ICK_Floating_Promotion,
  ICK_Complex_Promotion, ICK_Integral_Conversion, ICK_Floating_Conversion, ICK_Complex_Conversion,
  ICK_Floating_Integral, ICK_Pointer_Conversion, ICK_Pointer_Member, ICK_Boolean_Conversion,
  ICK_Compatible_Conversion, ICK_Derived_To_Base, ICK_Vector_Conversion, ICK_Vector_Splat,
  ICK_Complex_Real, ICK_Block_Pointer_Conversion, ICK_TransparentUnionConversion, ICK_Writeback_Conversion,
  ICK_Zero_Event_Conversion, ICK_Num_Conversion_Kinds
}
 
enum  ImplicitConversionRank {
  ICR_Exact_Match = 0, ICR_Promotion, ICR_Conversion, ICR_Complex_Real_Conversion,
  ICR_Writeback_Conversion
}
 
enum  NarrowingKind { NK_Not_Narrowing, NK_Type_Narrowing, NK_Constant_Narrowing, NK_Variable_Narrowing }
 
enum  OverloadFailureKind {
  ovl_fail_too_many_arguments, ovl_fail_too_few_arguments, ovl_fail_bad_conversion, ovl_fail_bad_deduction,
  ovl_fail_trivial_conversion, ovl_fail_illegal_constructor, ovl_fail_bad_final_conversion, ovl_fail_final_conversion_not_exact,
  ovl_fail_bad_target, ovl_fail_enable_if
}
 
enum  OverloadFixItKind {
  OFIK_Undefined = 0, OFIK_Dereference, OFIK_TakeAddress, OFIK_RemoveDereference,
  OFIK_RemoveTakeAddress
}
 
enum  TPOC { TPOC_Call, TPOC_Conversion, TPOC_Other }
 The context in which partial ordering of function templates occurs. More...
 
enum  Analyses { NumAnalyses }
 Analysis - Set of available source code analyses. More...
 
enum  AnalysisStores { NumStores }
 AnalysisStores - Set of available analysis store models. More...
 
enum  AnalysisConstraints { NumConstraints }
 AnalysisConstraints - Set of available constraint models. More...
 
enum  AnalysisDiagClients { PD_NONE, NUM_ANALYSIS_DIAG_CLIENTS }
 
enum  AnalysisPurgeMode { NumPurgeModes }
 AnalysisPurgeModes - Set of available strategies for dead symbol removal. More...
 
enum  AnalysisInliningMode { NumInliningModes }
 AnalysisInlineFunctionSelection - Set of inlining function selection heuristics. More...
 
enum  CXXInlineableMemberKind { CIMK_None = 1, CIMK_MemberFunctions, CIMK_Constructors, CIMK_Destructors }
 Describes the different kinds of C++ member functions which can be considered for inlining by the analyzer. More...
 
enum  IPAKind {
  IPAK_NotSet = 0, IPAK_None = 1, IPAK_BasicInlining = 2, IPAK_Inlining = 3,
  IPAK_DynamicDispatch = 4, IPAK_DynamicDispatchBifurcate = 5
}
 Describes the different modes of inter-procedural analysis. More...
 
enum  ObjCMessageKind { OCM_PropertyAccess, OCM_Subscript, OCM_Message }
 Represents the ways an Objective-C message send can occur. More...
 
enum  TemplateDeductionFlags {
  TDF_None = 0, TDF_ParamWithReferenceType = 0x1, TDF_IgnoreQualifiers = 0x02, TDF_DerivedClass = 0x04,
  TDF_SkipNonDependent = 0x08, TDF_TopLevelParameterTypeList = 0x10, TDF_InOverloadResolution = 0x20
}
 Various flags that control template argument deduction. More...
 

Functions

void runUninitializedVariablesAnalysis (const DeclContext &dc, const CFG &cfg, AnalysisDeclContext &ac, UninitVariablesHandler &handler, UninitVariablesAnalysisStats &stats)
 
static Selector GetNullarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing a nullary selector. More...
 
static Selector GetUnarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing an unary selector. More...
 
void FormatASTNodeDiagnosticArgument (DiagnosticsEngine::ArgumentKind Kind, intptr_t Val, StringRef Modifier, StringRef Argument, ArrayRef< DiagnosticsEngine::ArgumentValue > PrevArgs, SmallVectorImpl< char > &Output, void *Cookie, ArrayRef< intptr_t > QualTypeVals)
 DiagnosticsEngine argument formatting function for diagnostics that involve AST nodes. More...
 
StringRef getLambdaStaticInvokerName ()
 
bool isLambdaCallOperator (const CXXMethodDecl *MD)
 
bool isLambdaCallOperator (const DeclContext *DC)
 
bool isGenericLambdaCallOperatorSpecialization (const CXXMethodDecl *MD)
 
bool isLambdaConversionOperator (CXXConversionDecl *C)
 
bool isLambdaConversionOperator (Decl *D)
 
bool isGenericLambdaCallOperatorSpecialization (DeclContext *DC)
 
DeclContextgetLambdaAwareParentOfDeclContext (DeclContext *DC)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const Attr *At)
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, const Attr *At)
 
template<typename SpecificAttr , typename Container >
specific_attr_iterator
< SpecificAttr, Container > 
specific_attr_begin (const Container &container)
 
template<typename SpecificAttr , typename Container >
specific_attr_iterator
< SpecificAttr, Container > 
specific_attr_end (const Container &container)
 
template<typename SpecificAttr , typename Container >
bool hasSpecificAttr (const Container &container)
 
template<typename SpecificAttr , typename Container >
SpecificAttr * getSpecificAttr (const Container &container)
 
template<typename T , typename U >
bool operator== (CanQual< T > x, CanQual< U > y)
 
template<typename T , typename U >
bool operator!= (CanQual< T > x, CanQual< U > y)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, CanQualType T)
 
 DEF_TRAVERSE_TYPE (ComplexType,{TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(PointerType
 
 DEF_TRAVERSE_TYPE (BlockPointerType,{TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(LValueReferenceType { TRY_TO(TraverseType(T->getPointeeType()))
 
 DEF_TRAVERSE_TYPE (RValueReferenceType,{TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(MemberPointerType { TRY_TO(TraverseType(T->getPointeeType()))
 
 TRY_TO (TraverseType(T->getPointeeType()))
 
 DEF_TRAVERSE_TYPE (AdjustedType,{TRY_TO(TraverseType(T->getOriginalType()));}) DEF_TRAVERSE_TYPE(DecayedType
 
 DEF_TRAVERSE_TYPE (ConstantArrayType,{TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(IncompleteArrayType { TRY_TO(TraverseType(T->getOriginalType()))
 
 DEF_TRAVERSE_TYPE (VariableArrayType,{TRY_TO(TraverseType(T->getElementType()));TRY_TO(TraverseStmt(T->getSizeExpr()));}) DEF_TRAVERSE_TYPE(DependentSizedArrayType { TRY_TO(TraverseType(T->getElementType()))
 
 if (T->getSizeExpr()) TRY_TO(TraverseStmt(T-> getSizeExpr()))
 
 DEF_TRAVERSE_TYPE (DependentSizedExtVectorType,{if(T->getSizeExpr()) TRY_TO(TraverseStmt(T->getSizeExpr()));TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(VectorType
 
 DEF_TRAVERSE_TYPE (ExtVectorType,{TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(FunctionNoProtoType { TRY_TO(TraverseType(T->getElementType()))
 
 DEF_TRAVERSE_TYPE (FunctionProtoType,{TRY_TO(TraverseType(T->getReturnType()));for(const auto &A:T->param_types()){TRY_TO(TraverseType(A));}for(const auto &E:T->exceptions()){TRY_TO(TraverseType(E));}if(Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE));}) DEF_TRAVERSE_TYPE(TypeOfExprType { TRY_TO(TraverseType(T->getReturnType()))
 
 DEF_TRAVERSE_TYPE (TypeOfType,{TRY_TO(TraverseType(T->getUnderlyingType()));}) DEF_TRAVERSE_TYPE(DecltypeType { TRY_TO(TraverseStmt(T->getUnderlyingExpr()))
 
 DEF_TRAVERSE_TYPE (UnaryTransformType,{TRY_TO(TraverseType(T->getBaseType()));TRY_TO(TraverseType(T->getUnderlyingType()));}) DEF_TRAVERSE_TYPE(AutoType { TRY_TO(TraverseStmt(T->getUnderlyingExpr()))
 
 DEF_TRAVERSE_TYPE (TemplateSpecializationType,{TRY_TO(TraverseTemplateName(T->getTemplateName()));TRY_TO(TraverseTemplateArguments(T->getArgs(), T->getNumArgs()));}) DEF_TRAVERSE_TYPE(AttributedType { TRY_TO(TraverseType(T->getDeducedType()))
 
 DEF_TRAVERSE_TYPE (ParenType,{TRY_TO(TraverseType(T->getInnerType()));}) DEF_TRAVERSE_TYPE(ElaboratedType { TRY_TO(TraverseType(T->getModifiedType()))
 
 DEF_TRAVERSE_TYPE (DependentNameType,{TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));}) DEF_TRAVERSE_TYPE(DependentTemplateSpecializationType
 
 TRY_TO (TraverseTemplateArguments(T->getArgs(), T->getNumArgs()))
 
 DEF_TRAVERSE_TYPE (PackExpansionType,{TRY_TO(TraverseType(T->getPattern()));}) DEF_TRAVERSE_TYPE(ObjCObjectType
 
 for (auto typeArg:T->getTypeArgsAsWritten())
 
 DEF_TRAVERSE_TYPE (ObjCObjectPointerType,{TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(AtomicType
 
 DEF_TRAVERSE_TYPELOC (ComplexType,{TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(PointerType
 
 DEF_TRAVERSE_TYPELOC (BlockPointerType,{TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()));}) DEF_TRAVERSE_TYPELOC(LValueReferenceType { TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()))
 
 DEF_TRAVERSE_TYPELOC (RValueReferenceType,{TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()));}) DEF_TRAVERSE_TYPELOC(MemberPointerType { TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()))
 
 TRY_TO (TraverseTypeLoc(TL.getPointeeLoc()))
 
 DEF_TRAVERSE_TYPELOC (AdjustedType,{TRY_TO(TraverseTypeLoc(TL.getOriginalLoc()));}) DEF_TRAVERSE_TYPELOC(DecayedType
 
 DEF_TRAVERSE_TYPELOC (ConstantArrayType,{TRY_TO(TraverseTypeLoc(TL.getElementLoc()));return TraverseArrayTypeLocHelper(TL);}) DEF_TRAVERSE_TYPELOC(IncompleteArrayType
 
return TraverseArrayTypeLocHelper (TL)
 
 DEF_TRAVERSE_TYPELOC (VariableArrayType,{TRY_TO(TraverseTypeLoc(TL.getElementLoc()));return TraverseArrayTypeLocHelper(TL);}) DEF_TRAVERSE_TYPELOC(DependentSizedArrayType
 
 DEF_TRAVERSE_TYPELOC (DependentSizedExtVectorType,{if(TL.getTypePtr() ->getSizeExpr()) TRY_TO(TraverseStmt(TL.getTypePtr() ->getSizeExpr()));TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(VectorType
 
 DEF_TRAVERSE_TYPELOC (ExtVectorType,{TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}) DEF_TRAVERSE_TYPELOC(FunctionNoProtoType
 
 DEF_TRAVERSE_TYPELOC (FunctionProtoType,{TRY_TO(TraverseTypeLoc(TL.getReturnLoc()));const FunctionProtoType *T=TL.getTypePtr();for(unsigned I=0, E=TL.getNumParams();I!=E;++I){if(TL.getParam(I)){TRY_TO(TraverseDecl(TL.getParam(I)));}else if(I< T->getNumParams()){TRY_TO(TraverseType(T->getParamType(I)));}}for(const auto &E:T->exceptions()){TRY_TO(TraverseType(E));}if(Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE));}) DEF_TRAVERSE_TYPELOC(TypeOfExprType { TRY_TO(TraverseTypeLoc(TL.getReturnLoc()))
 
 DEF_TRAVERSE_TYPELOC (TypeOfType,{TRY_TO(TraverseTypeLoc(TL.getUnderlyingTInfo() ->getTypeLoc()));}) DEF_TRAVERSE_TYPELOC(DecltypeType { TRY_TO(TraverseStmt(TL.getUnderlyingExpr()))
 
 DEF_TRAVERSE_TYPELOC (UnaryTransformType,{TRY_TO(TraverseTypeLoc(TL.getUnderlyingTInfo() ->getTypeLoc()));}) DEF_TRAVERSE_TYPELOC(AutoType
 
 DEF_TRAVERSE_TYPELOC (TemplateSpecializationType,{TRY_TO(TraverseTemplateName(TL.getTypePtr() ->getTemplateName()));for(unsigned I=0, E=TL.getNumArgs();I!=E;++I){TRY_TO(TraverseTemplateArgumentLoc(TL.getArgLoc(I)));}}) DEF_TRAVERSE_TYPELOC(ParenType
 
 DEF_TRAVERSE_TYPELOC (AttributedType,{TRY_TO(TraverseTypeLoc(TL.getModifiedLoc()));}) DEF_TRAVERSE_TYPELOC(ElaboratedType { TRY_TO(TraverseTypeLoc(TL.getInnerLoc()))
 
 DEF_TRAVERSE_TYPELOC (DependentNameType,{TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));}) DEF_TRAVERSE_TYPELOC(DependentTemplateSpecializationType
 
raw_ostream & operator<< (raw_ostream &OS, const NamedDecl &ND)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const NamedDecl *ND)
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, const NamedDecl *ND)
 
bool IsEnumDeclComplete (EnumDecl *ED)
 Check if the given decl is complete. More...
 
bool IsEnumDeclScoped (EnumDecl *ED)
 Check if the given decl is scoped. More...
 
raw_ostream & operator<< (raw_ostream &OS, DeclarationName N)
 
bool operator< (DeclarationName LHS, DeclarationName RHS)
 
bool operator> (DeclarationName LHS, DeclarationName RHS)
 
bool operator<= (DeclarationName LHS, DeclarationName RHS)
 
bool operator>= (DeclarationName LHS, DeclarationName RHS)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, DeclarationName N)
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, DeclarationName N)
 
raw_ostream & operator<< (raw_ostream &OS, DeclarationNameInfo DNInfo)
 
bool declaresSameEntity (const Decl *D1, const Decl *D2)
 Determine whether two declarations declare the same entity. More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, AccessSpecifier AS)
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &DB, AccessSpecifier AS)
 
raw_ostream & operator<< (raw_ostream &OS, const ObjCCategoryImplDecl &CID)
 
raw_ostream & operator<< (raw_ostream &OS, const ObjCImplementationDecl &ID)
 
void * allocateDefaultArgStorageChain (const ASTContext &C)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, NestedNameSpecifier *NNS)
 
clang::OMPLinearClause
OMPVarListClause 
getInits ()
 
MutableArrayRef< Expr * > getUpdates ()
 Sets the list of update expressions for linear variables. More...
 
MutableArrayRef< Expr * > getFinals ()
 Sets the list of final update expressions for linear variables. More...
 
void setInits (ArrayRef< Expr * > IL)
 Sets the list of the initial values for linear variables. More...
 
static OMPLinearClauseCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation LParenLoc, SourceLocation ColonLoc, SourceLocation EndLoc, ArrayRef< Expr * > VL, ArrayRef< Expr * > IL, Expr *Step, Expr *CalcStep)
 Creates clause with a list of variables VL and a linear step Step. More...
 
static OMPLinearClauseCreateEmpty (const ASTContext &C, unsigned NumVars)
 Creates an empty clause with the place for NumVars variables. More...
 
void setColonLoc (SourceLocation Loc)
 Sets the location of ':'. More...
 
SourceLocation getColonLoc () const
 Returns the location of '('. More...
 
ExprgetStep ()
 Returns linear step. More...
 
ExprgetCalcStep ()
 Returns expression to calculate linear step. More...
 
void setUpdates (ArrayRef< Expr * > UL)
 Sets the list of update expressions for linear variables. More...
 
void setFinals (ArrayRef< Expr * > FL)
 Sets the list of final update expressions for linear variables. More...
 
inits_range inits ()
 
updates_range updates ()
 
finals_range finals ()
 
StmtRange children ()
 
static bool classof (const OMPClause *T)
 
DeclgetPrimaryMergedDecl (Decl *D)
 Get the primary declaration for a declaration from an AST file. That will be the first-loaded declaration. More...
 
SelectorLocationsKind hasStandardSelectorLocs (Selector Sel, ArrayRef< SourceLocation > SelLocs, ArrayRef< Expr * > Args, SourceLocation EndLoc)
 Returns true if all SelLocs are in a "standard" location. More...
 
SourceLocation getStandardSelectorLoc (unsigned Index, Selector Sel, bool WithArgSpace, ArrayRef< Expr * > Args, SourceLocation EndLoc)
 Get the "standard" location of a selector identifier, e.g: For nullary selectors, immediately before ']': "[foo release]". More...
 
SelectorLocationsKind hasStandardSelectorLocs (Selector Sel, ArrayRef< SourceLocation > SelLocs, ArrayRef< ParmVarDecl * > Args, SourceLocation EndLoc)
 Returns true if all SelLocs are in a "standard" location. More...
 
SourceLocation getStandardSelectorLoc (unsigned Index, Selector Sel, bool WithArgSpace, ArrayRef< ParmVarDecl * > Args, SourceLocation EndLoc)
 Get the "standard" location of a selector identifier, e.g: For nullary selectors, immediately before ']': "[foo release]". More...
 
class LLVM_ALIGNAS (LLVM_PTR_SIZE) Stmt
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const TemplateArgument &Arg)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, TemplateName N)
 
FunctionType::ExtInfo getFunctionExtInfo (const Type &t)
 
FunctionType::ExtInfo getFunctionExtInfo (QualType t)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, QualType T)
 
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, QualType T)
 
int hasAttribute (AttrSyntax Syntax, const IdentifierInfo *Scope, const IdentifierInfo *Attr, const llvm::Triple &T, const LangOptions &LangOpts)
 Return the version number associated with the attribute if we recognize and implement the attribute specified by the given information. More...
 
static LLVM_READNONE bool isASCII (char c)
 Returns true if this is an ASCII character. More...
 
static LLVM_READONLY bool isIdentifierHead (unsigned char c, bool AllowDollar=false)
 
static LLVM_READONLY bool isIdentifierBody (unsigned char c, bool AllowDollar=false)
 
static LLVM_READONLY bool isHorizontalWhitespace (unsigned char c)
 
static LLVM_READONLY bool isVerticalWhitespace (unsigned char c)
 
static LLVM_READONLY bool isWhitespace (unsigned char c)
 
static LLVM_READONLY bool isDigit (unsigned char c)
 Return true if this character is an ASCII digit: [0-9]. More...
 
static LLVM_READONLY bool isLowercase (unsigned char c)
 Return true if this character is a lowercase ASCII letter: [a-z]. More...
 
static LLVM_READONLY bool isUppercase (unsigned char c)
 Return true if this character is an uppercase ASCII letter: [A-Z]. More...
 
static LLVM_READONLY bool isLetter (unsigned char c)
 Return true if this character is an ASCII letter: [a-zA-Z]. More...
 
static LLVM_READONLY bool isAlphanumeric (unsigned char c)
 Return true if this character is an ASCII letter or digit: [a-zA-Z0-9]. More...
 
static LLVM_READONLY bool isHexDigit (unsigned char c)
 Return true if this character is an ASCII hex digit: [0-9a-fA-F]. More...
 
static LLVM_READONLY bool isPunctuation (unsigned char c)
 
static LLVM_READONLY bool isPrintable (unsigned char c)
 
static LLVM_READONLY bool isPreprocessingNumberBody (unsigned char c)
 
static LLVM_READONLY bool isRawStringDelimBody (unsigned char c)
 Return true if this is the body character of a C++ raw string delimiter. More...
 
static LLVM_READONLY char toLowercase (char c)
 
static LLVM_READONLY char toUppercase (char c)
 
static LLVM_READONLY bool isValidIdentifier (StringRef S)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const AddFlagValue V)
 Register a value for the flag in the current diagnostic. This value will be shown as the suffix "=value" after the flag name. It is useful in cases where the diagnostic flag accepts values (e.g., -Rpass or -Wframe-larger-than). More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, StringRef S)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const char *Str)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, int I)
 
template<typename T >
std::enable_if< std::is_same
< T, bool >::value, const
DiagnosticBuilder & >::type 
operator<< (const DiagnosticBuilder &DB, T I)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, unsigned I)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, tok::TokenKind I)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const IdentifierInfo *II)
 
template<typename T >
std::enable_if< std::is_same
< T, DeclContext >::value,
const DiagnosticBuilder & >
::type 
operator<< (const DiagnosticBuilder &DB, T *DC)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const SourceRange &R)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, ArrayRef< SourceRange > Ranges)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const CharSourceRange &R)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const FixItHint &Hint)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, ArrayRef< FixItHint > Hints)
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, DiagNullabilityKind nullability)
 
void ProcessWarningOptions (DiagnosticsEngine &Diags, const DiagnosticOptions &Opts, bool ReportDiags=true)
 
DiagnosticLevelMask operator~ (DiagnosticLevelMask M)
 
DiagnosticLevelMask operator| (DiagnosticLevelMask LHS, DiagnosticLevelMask RHS)
 
DiagnosticLevelMask operator& (DiagnosticLevelMask LHS, DiagnosticLevelMask RHS)
 
raw_ostream & operator<< (raw_ostream &Out, DiagnosticLevelMask M)
 
bool isDynamicExceptionSpec (ExceptionSpecificationType ESpecType)
 
bool isNoexceptExceptionSpec (ExceptionSpecificationType ESpecType)
 
bool isUnresolvedExceptionSpec (ExceptionSpecificationType ESpecType)
 
CanThrowResult mergeCanThrow (CanThrowResult CT1, CanThrowResult CT2)
 
bool isExternallyVisible (Linkage L)
 
Linkage getFormalLinkage (Linkage L)
 
bool isExternalFormalLinkage (Linkage L)
 
Linkage minLinkage (Linkage L1, Linkage L2)
 Compute the minimum linkage given two linkages. More...
 
raw_ostream & operator<< (raw_ostream &out, const ObjCRuntime &value)
 
OpenMPDirectiveKind getOpenMPDirectiveKind (llvm::StringRef Str)
 
const char * getOpenMPDirectiveName (OpenMPDirectiveKind Kind)
 
OpenMPClauseKind getOpenMPClauseKind (llvm::StringRef Str)
 
const char * getOpenMPClauseName (OpenMPClauseKind Kind)
 
unsigned getOpenMPSimpleClauseType (OpenMPClauseKind Kind, llvm::StringRef Str)
 
const char * getOpenMPSimpleClauseTypeName (OpenMPClauseKind Kind, unsigned Type)
 
bool isAllowedClauseForDirective (OpenMPDirectiveKind DKind, OpenMPClauseKind CKind)
 
bool isOpenMPLoopDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a directive with an associated loop construct. More...
 
bool isOpenMPWorksharingDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a worksharing directive. More...
 
bool isOpenMPParallelDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a parallel-kind directive. More...
 
bool isOpenMPTeamsDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a teams-kind directive. More...
 
bool isOpenMPSimdDirective (OpenMPDirectiveKind DKind)
 Checks if the specified directive is a simd directive. More...
 
bool isOpenMPPrivate (OpenMPClauseKind Kind)
 Checks if the specified clause is one of private clauses like 'private', 'firstprivate', 'reduction' etc.. More...
 
bool isOpenMPThreadPrivate (OpenMPClauseKind Kind)
 Checks if the specified clause is one of threadprivate clauses like 'threadprivate', 'copyin' or 'copyprivate'. More...
 
const char * getOperatorSpelling (OverloadedOperatorKind Operator)
 Retrieve the spelling of the given overloaded operator, without the preceding "operator" keyword. More...
 
prec::Level getBinOpPrecedence (tok::TokenKind Kind, bool GreaterThanIsOperator, bool CPlusPlus11)
 Return the precedence of the specified binary operator token. More...
 
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const PartialDiagnostic &PD)
 
SanitizerMask parseSanitizerValue (StringRef Value, bool AllowGroups)
 
SanitizerMask expandSanitizerGroups (SanitizerMask Kinds)
 
bool operator== (const SourceLocation &LHS, const SourceLocation &RHS)
 
bool operator!= (const SourceLocation &LHS, const SourceLocation &RHS)
 
bool operator< (const SourceLocation &LHS, const SourceLocation &RHS)
 
bool operator< (const LineEntry &lhs, const LineEntry &rhs)
 
bool operator< (const LineEntry &E, unsigned Offset)
 
bool operator< (unsigned Offset, const LineEntry &E)
 
bool isTemplateInstantiation (TemplateSpecializationKind Kind)
 Determine whether this template specialization kind refers to an instantiation of an entity (as opposed to a non-template or an explicit specialization). More...
 
bool isLegalForFunction (StorageClass SC)
 Checks whether the given storage class is legal for functions. More...
 
bool isLegalForVariable (StorageClass SC)
 Checks whether the given storage class is legal for variables. More...
 
bool supportsVariadicCall (CallingConv CC)
 Checks whether the given calling convention supports variadic calls. Unprototyped calls also use the variadic call rules. More...
 
llvm::StringRef getNullabilitySpelling (NullabilityKind kind, bool isContextSensitive=false)
 Retrieve the spelling of the given nullability kind. More...
 
std::string getClangRepositoryPath ()
 Retrieves the repository path (e.g., Subversion path) that identifies the particular Clang branch, tag, or trunk from which this Clang was built. More...
 
std::string getLLVMRepositoryPath ()
 Retrieves the repository path from which LLVM was built. More...
 
std::string getClangRevision ()
 Retrieves the repository revision number (or identifer) from which this Clang was built. More...
 
std::string getLLVMRevision ()
 Retrieves the repository revision number (or identifer) from which LLVM was built. More...
 
std::string getClangFullRepositoryVersion ()
 Retrieves the full repository version that is an amalgamation of the information in getClangRepositoryPath() and getClangRevision(). More...
 
std::string getClangFullVersion ()
 Retrieves a string representing the complete clang version, which includes the clang version number, the repository version, and the vendor tag. More...
 
std::string getClangToolFullVersion (llvm::StringRef ToolName)
 Like getClangFullVersion(), but with a custom tool name. More...
 
std::string getClangFullCPPVersion ()
 Retrieves a string representing the complete clang version suitable for use in the CPP VERSION macro, which includes the clang version number, the repository version, and the vendor tag. More...
 
raw_ostream & operator<< (raw_ostream &Out, const VersionTuple &V)
 Print a version number. More...
 
Visibility minVisibility (Visibility L, Visibility R)
 
void EmitBackendOutput (DiagnosticsEngine &Diags, const CodeGenOptions &CGOpts, const TargetOptions &TOpts, const LangOptions &LOpts, StringRef TDesc, llvm::Module *M, BackendAction Action, raw_pwrite_stream *OS)
 
CodeGeneratorCreateLLVMCodeGen (DiagnosticsEngine &Diags, const std::string &ModuleName, const HeaderSearchOptions &HeaderSearchOpts, const PreprocessorOptions &PreprocessorOpts, const CodeGenOptions &CGO, llvm::LLVMContext &C, CoverageSourceInfo *CoverageInfo=nullptr)
 
std::unique_ptr< ASTConsumerCreateASTPrinter (raw_ostream *OS, StringRef FilterString)
 
std::unique_ptr< ASTConsumerCreateASTDumper (StringRef FilterString, bool DumpDecls, bool DumpLookups)
 
std::unique_ptr< ASTConsumerCreateASTDeclNodeLister ()
 
std::unique_ptr< ASTConsumerCreateASTViewer ()
 
std::unique_ptr< ASTConsumerCreateDeclContextPrinter ()
 
bool ParseDiagnosticArgs (DiagnosticOptions &Opts, llvm::opt::ArgList &Args, DiagnosticsEngine *Diags=nullptr)
 Fill out Opts based on the options given in Args. More...
 
IntrusiveRefCntPtr
< vfs::FileSystem
createVFSFromCompilerInvocation (const CompilerInvocation &CI, DiagnosticsEngine &Diags)
 
void ApplyHeaderSearchOptions (HeaderSearch &HS, const HeaderSearchOptions &HSOpts, const LangOptions &Lang, const llvm::Triple &triple)
 Apply the header search options to get given HeaderSearch object. More...
 
void InitializePreprocessor (Preprocessor &PP, const PreprocessorOptions &PPOpts, const PCHContainerReader &PCHContainerRdr, const FrontendOptions &FEOpts)
 
void DoPrintPreprocessedInput (Preprocessor &PP, raw_ostream *OS, const PreprocessorOutputOptions &Opts)
 DoPrintPreprocessedInput - Implement -E mode. More...
 
void AttachDependencyGraphGen (Preprocessor &PP, StringRef OutputFile, StringRef SysRoot)
 
void AttachHeaderIncludeGen (Preprocessor &PP, bool ShowAllHeaders=false, StringRef OutputPath="", bool ShowDepth=true, bool MSStyle=false)
 
void CacheTokens (Preprocessor &PP, raw_pwrite_stream *OS)
 Cache tokens for use with PCH. Note that this requires a seekable stream. More...
 
IntrusiveRefCntPtr
< ExternalSemaSource
createChainedIncludesSource (CompilerInstance &CI, IntrusiveRefCntPtr< ExternalSemaSource > &Reader)
 
CompilerInvocationcreateInvocationFromCommandLine (ArrayRef< const char * > Args, IntrusiveRefCntPtr< DiagnosticsEngine > Diags=IntrusiveRefCntPtr< DiagnosticsEngine >())
 
int getLastArgIntValue (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, int Default, DiagnosticsEngine *Diags=nullptr)
 
int getLastArgIntValue (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, int Default, DiagnosticsEngine &Diags)
 
uint64_t getLastArgUInt64Value (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, uint64_t Default, DiagnosticsEngine *Diags=nullptr)
 
uint64_t getLastArgUInt64Value (const llvm::opt::ArgList &Args, llvm::opt::OptSpecifier Id, uint64_t Default, DiagnosticsEngine &Diags)
 
void BuryPointer (const void *Ptr)
 
template<typename T >
void BuryPointer (std::unique_ptr< T > Ptr)
 
bool ExecuteCompilerInvocation (CompilerInstance *Clang)
 
void expandUCNs (SmallVectorImpl< char > &Buf, StringRef Input)
 Copy characters from Input to Buf, expanding any UCNs. More...
 
void ParseAST (Preprocessor &pp, ASTConsumer *C, ASTContext &Ctx, bool PrintStats=false, TranslationUnitKind TUKind=TU_Complete, CodeCompleteConsumer *CompletionConsumer=nullptr, bool SkipFunctionBodies=false)
 Parse the entire file specified, notifying the ASTConsumer as the file is parsed. More...
 
void ParseAST (Sema &S, bool PrintStats=false, bool SkipFunctionBodies=false)
 Parse the main file known to the preprocessor, producing an abstract syntax tree. More...
 
std::unique_ptr< ASTConsumerCreateObjCRewriter (const std::string &InFile, raw_ostream *OS, DiagnosticsEngine &Diags, const LangOptions &LOpts, bool SilenceRewriteMacroWarning)
 
std::unique_ptr< ASTConsumerCreateModernObjCRewriter (const std::string &InFile, raw_ostream *OS, DiagnosticsEngine &Diags, const LangOptions &LOpts, bool SilenceRewriteMacroWarning, bool LineInfo)
 
std::unique_ptr< ASTConsumerCreateHTMLPrinter (raw_ostream *OS, Preprocessor &PP, bool SyntaxHighlight=true, bool HighlightMacros=true)
 
void RewriteMacrosInInput (Preprocessor &PP, raw_ostream *OS)
 RewriteMacrosInInput - Implement -rewrite-macros mode. More...
 
void DoRewriteTest (Preprocessor &PP, raw_ostream *OS)
 DoRewriteTest - A simple test for the TokenRewriter class. More...
 
void RewriteIncludesInInput (Preprocessor &PP, raw_ostream *OS, const PreprocessorOutputOptions &Opts)
 RewriteIncludesInInput - Implement -frewrite-includes mode. More...
 
SimplifiedTypeClass getSimplifiedTypeClass (CanQualType T)
 Determine the simplified type class of the given canonical type. More...
 
QualType getDeclUsageType (ASTContext &C, const NamedDecl *ND)
 Determine the type that this declaration will have if it is used as a type or in an expression. More...
 
unsigned getMacroUsagePriority (StringRef MacroName, const LangOptions &LangOpts, bool PreferredTypeIsPointer=false)
 Determine the priority to be given to a macro code completion result with the given name. More...
 
CXCursorKind getCursorKindForDecl (const Decl *D)
 Determine the libclang cursor kind associated with the given declaration. More...
 
bool operator< (const CodeCompletionResult &X, const CodeCompletionResult &Y)
 
bool operator> (const CodeCompletionResult &X, const CodeCompletionResult &Y)
 
bool operator<= (const CodeCompletionResult &X, const CodeCompletionResult &Y)
 
bool operator>= (const CodeCompletionResult &X, const CodeCompletionResult &Y)
 
raw_ostream & operator<< (raw_ostream &OS, const CodeCompletionString &CCS)
 
ImplicitConversionRank GetConversionRank (ImplicitConversionKind Kind)
 
bool isBetterOverloadCandidate (Sema &S, const OverloadCandidate &Cand1, const OverloadCandidate &Cand2, SourceLocation Loc, bool UserDefinedConversion=false)
 
ExprResult ExprError ()
 
StmtResult StmtError ()
 
ExprResult ExprError (const DiagnosticBuilder &)
 
StmtResult StmtError (const DiagnosticBuilder &)
 
ExprResult ExprEmpty ()
 
StmtResult StmtEmpty ()
 
ExprAssertSuccess (ExprResult R)
 
StmtAssertSuccess (StmtResult R)
 
SourceRange getTemplateParamsRange (TemplateParameterList const *const *Params, unsigned NumParams)
 Retrieves the range of the given template parameter lists. More...
 
DeductionFailureInfo MakeDeductionFailureInfo (ASTContext &Context, Sema::TemplateDeductionResult TDK, sema::TemplateDeductionInfo &Info)
 Convert from Sema's representation of template deduction information to the form used in overload-candidate information. More...
 
bool FTIHasSingleVoidParameter (const DeclaratorChunk::FunctionTypeInfo &FTI)
 
bool FTIHasNonVoidParameters (const DeclaratorChunk::FunctionTypeInfo &FTI)
 
bool IsVariableAConstantExpression (VarDecl *Var, ASTContext &Context)
 
bool DeclAttrsMatchCUDAMode (const LangOptions &LangOpts, Decl *D)
 
void MarkVarDeclODRUsed (VarDecl *Var, SourceLocation Loc, Sema &SemaRef, const unsigned *const FunctionScopeIndexToStopAt)
 
InheritableAttrgetDLLAttr (Decl *D)
 Return a DLL attribute from the declaration. More...
 
Optional< unsignedgetStackIndexOfNearestEnclosingCaptureCapableLambda (ArrayRef< const sema::FunctionScopeInfo * > FunctionScopes, VarDecl *VarToCapture, Sema &S)
 Examines the FunctionScopeInfo stack to determine the nearest enclosing lambda (to the current lambda) that is 'capture-capable' for the variable referenced in the current lambda (i.e. VarToCapture). If successful, returns the index into Sema's FunctionScopeInfo stack of the capture-capable lambda's LambdaScopeInfo. See Implementation for more detailed comments. More...
 
static bool isWhitespace (llvm::StringRef S)
 
CXXABICreateItaniumCXXABI (ASTContext &Ctx)
 Creates an instance of a C++ ABI class. More...
 
CXXABICreateMicrosoftCXXABI (ASTContext &Ctx)
 
static int compareInt (unsigned A, unsigned B)
 
std::string getClangToolFullVersion (StringRef ToolName)
 
void emitKmpRoutineEntryT (QualType KmpInt32Ty)
 Build type kmp_routine_entry_t (if not built yet). More...
 
llvm::ValueemitUpdateLocation (CodeGenFunction &CGF, SourceLocation Loc, OpenMPLocationFlags Flags=OMP_IDENT_KMPC)
 Emits object of ident_t type with info for source location. More...
 
llvm::Type * getIdentTyPointerTy ()
 Returns pointer to ident_t type. More...
 
llvm::Type * getKmpc_MicroPointerTy ()
 Returns pointer to kmpc_micro type. More...
 
llvm::Constant * createRuntimeFunction (OpenMPRTLFunction Function)
 Returns specified OpenMP runtime function. More...
 
llvm::Constant * createForStaticInitFunction (unsigned IVSize, bool IVSigned)
 Returns __kmpc_for_static_init_* runtime function for the specified size IVSize and sign IVSigned. More...
 
llvm::Constant * createDispatchInitFunction (unsigned IVSize, bool IVSigned)
 Returns __kmpc_dispatch_init_* runtime function for the specified size IVSize and sign IVSigned. More...
 
llvm::Constant * createDispatchNextFunction (unsigned IVSize, bool IVSigned)
 Returns __kmpc_dispatch_next_* runtime function for the specified size IVSize and sign IVSigned. More...
 
llvm::Constant * createDispatchFiniFunction (unsigned IVSize, bool IVSigned)
 Returns __kmpc_dispatch_fini_* runtime function for the specified size IVSize and sign IVSigned. More...
 
llvm::Constant * getOrCreateThreadPrivateCache (const VarDecl *VD)
 If the specified mangled name is not in the module, create and return threadprivate cache object. This object is a pointer's worth of storage that's reserved for use by the OpenMP runtime. More...
 
virtual llvm::ValueemitThreadIDAddress (CodeGenFunction &CGF, SourceLocation Loc)
 Emits address of the word in a memory where current thread id is stored. More...
 
llvm::ValuegetThreadID (CodeGenFunction &CGF, SourceLocation Loc)
 Gets thread id value for the current thread. More...
 
llvm::Constant * getOrCreateInternalVariable (llvm::Type *Ty, const llvm::Twine &Name)
 Gets (if variable with the given name already exist) or creates internal global variable with the specified Name. The created variable has linkage CommonLinkage by default and is initialized by null value. More...
 
void emitThreadPrivateVarInit (CodeGenFunction &CGF, llvm::Value *VDAddr, llvm::Value *Ctor, llvm::Value *CopyCtor, llvm::Value *Dtor, SourceLocation Loc)
 Emits initialization code for the threadprivate variables. More...
 
llvm::ValuegetCriticalRegionLock (StringRef CriticalName)
 Returns corresponding lock object for the specified critical region name. If the lock object does not exist it is created, otherwise the reference to the existing copy is returned. More...
 
 CGOpenMPRuntime (CodeGenModule &CGM)
 
virtual ~CGOpenMPRuntime ()
 
virtual void clear ()
 
virtual llvm::ValueemitParallelOutlinedFunction (const OMPExecutableDirective &D, const VarDecl *ThreadIDVar, OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen)
 Emits outlined function for the specified OpenMP parallel directive D. This outlined function has type void(*)(kmp_int32 ThreadID, kmp_int32 BoundID, struct context_vars). More...
 
virtual llvm::ValueemitTaskOutlinedFunction (const OMPExecutableDirective &D, const VarDecl *ThreadIDVar, OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen)
 Emits outlined function for the OpenMP task directive D. This outlined function has type void(*)(kmp_int32 ThreadID, kmp_int32 PartID, struct context_vars*). More...
 
void functionFinished (CodeGenFunction &CGF)
 Cleans up references to the objects in finished function. More...
 
virtual void emitParallelCall (CodeGenFunction &CGF, SourceLocation Loc, llvm::Value *OutlinedFn, llvm::Value *CapturedStruct, const Expr *IfCond)
 Emits code for parallel or serial call of the OutlinedFn with variables captured in a record which address is stored in CapturedStruct. More...
 
virtual void emitCriticalRegion (CodeGenFunction &CGF, StringRef CriticalName, const RegionCodeGenTy &CriticalOpGen, SourceLocation Loc)
 Emits a critical region. More...
 
virtual void emitMasterRegion (CodeGenFunction &CGF, const RegionCodeGenTy &MasterOpGen, SourceLocation Loc)
 Emits a master region. More...
 
virtual void emitTaskyieldCall (CodeGenFunction &CGF, SourceLocation Loc)
 Emits code for a taskyield directive. More...
 
virtual void emitTaskgroupRegion (CodeGenFunction &CGF, const RegionCodeGenTy &TaskgroupOpGen, SourceLocation Loc)
 Emit a taskgroup region. More...
 
virtual void emitSingleRegion (CodeGenFunction &CGF, const RegionCodeGenTy &SingleOpGen, SourceLocation Loc, ArrayRef< const Expr * > CopyprivateVars, ArrayRef< const Expr * > DestExprs, ArrayRef< const Expr * > SrcExprs, ArrayRef< const Expr * > AssignmentOps)
 Emits a single region. More...
 
virtual void emitOrderedRegion (CodeGenFunction &CGF, const RegionCodeGenTy &OrderedOpGen, SourceLocation Loc)
 Emit an ordered region. More...
 
virtual void emitBarrierCall (CodeGenFunction &CGF, SourceLocation Loc, OpenMPDirectiveKind Kind, bool CheckForCancel=true)
 Emit an implicit/explicit barrier for OpenMP threads. More...
 
virtual bool isStaticNonchunked (OpenMPScheduleClauseKind ScheduleKind, bool Chunked) const
 Check if the specified ScheduleKind is static non-chunked. This kind of worksharing directive is emitted without outer loop. More...
 
virtual bool isDynamic (OpenMPScheduleClauseKind ScheduleKind) const
 Check if the specified ScheduleKind is dynamic. This kind of worksharing directive is emitted without outer loop. More...
 
virtual void emitForInit (CodeGenFunction &CGF, SourceLocation Loc, OpenMPScheduleClauseKind SchedKind, unsigned IVSize, bool IVSigned, bool Ordered, llvm::Value *IL, llvm::Value *LB, llvm::Value *UB, llvm::Value *ST, llvm::Value *Chunk=nullptr)
 Call the appropriate runtime routine to initialize it before start of loop. More...
 
virtual void emitForOrderedIterationEnd (CodeGenFunction &CGF, SourceLocation Loc, unsigned IVSize, bool IVSigned)
 Call the appropriate runtime routine to notify that we finished iteration of the ordered loop with the dynamic scheduling. More...
 
virtual void emitForStaticFinish (CodeGenFunction &CGF, SourceLocation Loc)
 Call the appropriate runtime routine to notify that we finished all the work with current loop. More...
 
virtual llvm::ValueemitForNext (CodeGenFunction &CGF, SourceLocation Loc, unsigned IVSize, bool IVSigned, llvm::Value *IL, llvm::Value *LB, llvm::Value *UB, llvm::Value *ST)
 
virtual void emitNumThreadsClause (CodeGenFunction &CGF, llvm::Value *NumThreads, SourceLocation Loc)
 Emits call to void __kmpc_push_num_threads(ident_t *loc, kmp_int32 global_tid, kmp_int32 num_threads) to generate code for 'num_threads' clause. More...
 
virtual void emitProcBindClause (CodeGenFunction &CGF, OpenMPProcBindClauseKind ProcBind, SourceLocation Loc)
 Emit call to void __kmpc_push_proc_bind(ident_t *loc, kmp_int32 global_tid, int proc_bind) to generate code for 'proc_bind' clause. More...
 
virtual llvm::ValuegetAddrOfThreadPrivate (CodeGenFunction &CGF, const VarDecl *VD, llvm::Value *VDAddr, SourceLocation Loc)
 Returns address of the threadprivate variable for the current thread. More...
 
virtual llvm::Function * emitThreadPrivateVarDefinition (const VarDecl *VD, llvm::Value *VDAddr, SourceLocation Loc, bool PerformInit, CodeGenFunction *CGF=nullptr)
 Emit a code for initialization of threadprivate variable. It emits a call to runtime library which adds initial value to the newly created threadprivate variable (if it is not constant) and registers destructor for the variable (if any). More...
 
virtual void emitFlush (CodeGenFunction &CGF, ArrayRef< const Expr * > Vars, SourceLocation Loc)
 Emit flush of the variables specified in 'omp flush' directive. More...
 
i32 captured_struct **param
SharedsTy A type which
contains references the shared
variables *param Shareds
Context with the list of
shared variables from the p
*TaskFunction *param IfCond
Not a nullptr if if clause was
nullptr *otherwise *param
PrivateVars List of references
to private variables for the
task *directive *param
PrivateCopies List of private
copies for each private
variable in *p PrivateVars
*param FirstprivateVars List
of references to private
variables for the *task
directive *param
FirstprivateCopies List of
private copies for each
private variable *in p
FirstprivateVars *param
FirstprivateInits List of
references to auto generated
variables *used for
initialization of a single
array element Used if
firstprivate *variable is of
array type *param Dependences
List of dependences for the
task including *original
expression and dependency type
*virtual void 
emitTaskCall (CodeGenFunction &CGF, SourceLocation Loc, const OMPExecutableDirective &D, bool Tied, llvm::PointerIntPair< llvm::Value *, 1, bool > Final, llvm::Value *TaskFunction, QualType SharedsTy, llvm::Value *Shareds, const Expr *IfCond, ArrayRef< const Expr * > PrivateVars, ArrayRef< const Expr * > PrivateCopies, ArrayRef< const Expr * > FirstprivateVars, ArrayRef< const Expr * > FirstprivateCopies, ArrayRef< const Expr * > FirstprivateInits, ArrayRef< std::pair< OpenMPDependClauseKind, const Expr * >> Dependences)
 
virtual void emitInlinedDirective (CodeGenFunction &CGF, OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen)
 Emit code for the directive that does not require outlining. More...
 
virtual void emitReduction (CodeGenFunction &CGF, SourceLocation Loc, ArrayRef< const Expr * > LHSExprs, ArrayRef< const Expr * > RHSExprs, ArrayRef< const Expr * > ReductionOps, bool WithNowait, bool SimpleReduction)
 Emit a code for reduction clause. Next code should be emitted for reduction: More...
 
virtual void emitTaskwaitCall (CodeGenFunction &CGF, SourceLocation Loc)
 Emit code for 'taskwait' directive. More...
 
virtual void emitCancellationPointCall (CodeGenFunction &CGF, SourceLocation Loc, OpenMPDirectiveKind CancelRegion)
 Emit code for 'cancellation point' construct. More...
 
virtual void emitCancelCall (CodeGenFunction &CGF, SourceLocation Loc, OpenMPDirectiveKind CancelRegion)
 Emit code for 'cancel' construct. More...
 
bool operator== (const ASTUnit::PreambleFileHash &LHS, const ASTUnit::PreambleFileHash &RHS)
 
template<typename IntTy >
static IntTy getLastArgIntValueImpl (const ArgList &Args, OptSpecifier Id, IntTy Default, DiagnosticsEngine *Diags)
 
int getLastArgIntValue (const ArgList &Args, OptSpecifier Id, int Default, DiagnosticsEngine *Diags)
 
uint64_t getLastArgUInt64Value (const ArgList &Args, OptSpecifier Id, uint64_t Default, DiagnosticsEngine *Diags)
 
static const FunctionProtoTypeGetUnderlyingFunction (QualType T)
 
static bool hasImplicitExceptionSpec (FunctionDecl *Decl)
 
static bool CheckSpecForTypesEquivalent (Sema &S, const PartialDiagnostic &DiagID, const PartialDiagnostic &NoteID, QualType Target, SourceLocation TargetLoc, QualType Source, SourceLocation SourceLoc)
 
static CanThrowResult canSubExprsThrow (Sema &S, const Expr *E)
 
static CanThrowResult canCalleeThrow (Sema &S, const Expr *E, const Decl *D)
 
static CanThrowResult canDynamicCastThrow (const CXXDynamicCastExpr *DC)
 
static CanThrowResult canTypeidThrow (Sema &S, const CXXTypeidExpr *DC)
 
template<class TyLoc >
static QualType TransformTypeSpecType (TypeLocBuilder &TLB, TyLoc T)
 

Variables

static const CastKind CK_Invalid = static_cast<CastKind>(-1)
 
const char ToggleHighlight = 127
 
 kmp_task_t
 
*QualType KmpTaskTQTy
 
QualType KmpDependInfoTy
 Type typedef struct kmp_depend_info { kmp_intptr_t base_addr; size_t len; struct { bool in:1; bool out:1; } flags; } kmp_depend_info_t;. More...
 
llvm::DenseSet< const VarDecl * > ThreadPrivateWithDefinition
 Set of threadprivate variables with the generated initializer. More...
 
i32 captured_struct **param
SharedsTy A type which
contains references the shared
variables *param Shareds
Context with the list of
shared variables from the p
*TaskFunction *param IfCond
Not a nullptr if if clause was 
specified
 
i32 captured_struct **param
SharedsTy A type which
contains references the shared
variables *param Shareds
Context with the list of
shared variables from the p
*TaskFunction *param IfCond
Not a nullptr if if clause was
nullptr *otherwise *param
PrivateVars List of references
to private variables for the
task *directive *param
PrivateCopies List of private
copies for each private
variable in *p PrivateVars
*param FirstprivateVars List
of references to private
variables for the *task
directive *param
FirstprivateCopies List of
private copies for each
private variable *in p
FirstprivateVars *param
FirstprivateInits List of
references to auto generated
variables *used for
initialization of a single
array element Used if
firstprivate *variable is of
array type *param Dependences
List of dependences for the
task 
construct
 

Detailed Description

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

Typedef Documentation

Definition at line 539 of file AnalyzerOptions.h.

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

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

Definition at line 60 of file AttributeList.h.

typedef llvm::SmallVector<ArgsUnion, 12U> clang::ArgsVector

Definition at line 61 of file AttributeList.h.

Definition at line 263 of file Ownership.h.

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

Definition at line 42 of file AttrIterator.h.

Definition at line 255 of file Ownership.h.

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

Definition at line 1080 of file DeclSpec.h.

Represents a canonical, potentially-qualified type.

Definition at line 198 of file CanonicalType.h.

typedef SmallVector<const Attr*, 2> clang::ConstAttrVec

Definition at line 43 of file AttrIterator.h.

A simple array of base specifiers.

Definition at line 50 of file Expr.h.

Definition at line 258 of file Ownership.h.

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

Definition at line 1113 of file Diagnostic.h.

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

Definition at line 29 of file DiagnosticRenderer.h.

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

Definition at line 32 of file Dominators.h.

Definition at line 252 of file Ownership.h.

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

Definition at line 1742 of file OpenMPClause.h.

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

Definition at line 1744 of file OpenMPClause.h.

Definition at line 1741 of file OpenMPClause.h.

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

Definition at line 1743 of file OpenMPClause.h.

The frontend plugin registry.

Definition at line 22 of file FrontendPluginRegistry.h.

A simple pair of identifier info and location.

Definition at line 36 of file IdentifierTable.h.

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

Definition at line 1718 of file OpenMPClause.h.

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

Definition at line 1720 of file OpenMPClause.h.

Definition at line 1717 of file OpenMPClause.h.

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

Definition at line 1719 of file OpenMPClause.h.

A lazy pointer to a set of CXXBaseSpecifiers.

Definition at line 585 of file ExternalASTSource.h.

A lazy pointer to a set of CXXCtorInitializers.

Definition at line 580 of file ExternalASTSource.h.

A lazy pointer to a declaration.

Definition at line 575 of file ExternalASTSource.h.

A lazy pointer to a statement.

Definition at line 571 of file ExternalASTSource.h.

Definition at line 256 of file Ownership.h.

typedef ArrayRef<std::pair<std::string, FullSourceLoc> > clang::ModuleBuildStack

The stack used when building modules on demand, which is used to provide a link between the source managers of the different compiler instances.

Definition at line 525 of file SourceManager.h.

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

Describes the name of a module.

Definition at line 43 of file Basic/Module.h.

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

Definition at line 26 of file ModuleLoader.h.

Definition at line 261 of file Ownership.h.

Definition at line 262 of file Ownership.h.

Definition at line 265 of file Ownership.h.

Definition at line 264 of file Ownership.h.

Definition at line 259 of file Ownership.h.

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

Definition at line 233 of file Ownership.h.

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

Definition at line 407 of file PartialDiagnostic.h.

typedef uint64_t clang::SanitizerMask

Definition at line 24 of file Sanitizers.h.

Definition at line 253 of file Ownership.h.

Stores a template parameter of any kind.

Definition at line 38 of file DeclTemplate.h.

Definition at line 114 of file DiagnosticOptions.h.

Definition at line 254 of file Ownership.h.

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

Definition at line 211 of file Sema.h.

Definition at line 234 of file Ownership.h.

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

Definition at line 1730 of file OpenMPClause.h.

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

Definition at line 1732 of file OpenMPClause.h.

Definition at line 1729 of file OpenMPClause.h.

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

Definition at line 1731 of file OpenMPClause.h.

Definition at line 426 of file VTableBuilder.h.

Enumeration Type Documentation

anonymous enum

Enough bits to store any enumerator in ObjCMethodFamily or InvalidObjCMethodFamily.

Enumerator
ObjCMethodFamilyBitWidth 

Definition at line 565 of file IdentifierTable.h.

anonymous enum

An invalid value of ObjCMethodFamily.

Enumerator
InvalidObjCMethodFamily 

Definition at line 568 of file IdentifierTable.h.

anonymous enum

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

Enumerator
CCP_NextInitializer 

Priority for the next initialization in a constructor initializer list.

CCP_EnumInCase 

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

CCP_SuperCompletion 

Priority for a send-to-super completion.

CCP_LocalDeclaration 

Priority for a declaration that is in the local scope.

CCP_MemberDeclaration 

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

CCP_Keyword 

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

CCP_CodePattern 

Priority for a code pattern.

CCP_Declaration 

Priority for a non-type declaration.

CCP_Type 

Priority for a type.

CCP_Constant 

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

CCP_Macro 

Priority for a preprocessor macro.

CCP_NestedNameSpecifier 

Priority for a nested-name-specifier.

CCP_Unlikely 

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

CCP_ObjC_cmd 

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

Definition at line 32 of file CodeCompleteConsumer.h.

anonymous enum

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

Enumerator
CCD_InBaseClass 

The result is in a base class.

CCD_ObjectQualifierMatch 

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

CCD_SelectorMatch 

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

CCD_bool_in_ObjC 

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

CCD_ProbablyNotObjCCollection 

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

CCD_MethodAsProperty 

An Objective-C method being used as a property.

Definition at line 71 of file CodeCompleteConsumer.h.

anonymous enum

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

Enumerator
CCF_ExactTypeMatch 

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

CCF_SimilarTypeMatch 

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

Definition at line 96 of file CodeCompleteConsumer.h.

anonymous enum
Enumerator
TypeAlignmentInBits 
TypeAlignment 

Definition at line 37 of file Type.h.

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

Enumerator
AS_public 
AS_protected 
AS_private 
AS_none 

Definition at line 83 of file Specifiers.h.

Analysis - Set of available source code analyses.

Enumerator
NumAnalyses 

Definition at line 36 of file AnalyzerOptions.h.

AnalysisConstraints - Set of available constraint models.

Enumerator
NumConstraints 

Definition at line 50 of file AnalyzerOptions.h.

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

Enumerator
PD_NONE 
NUM_ANALYSIS_DIAG_CLIENTS 

Definition at line 58 of file AnalyzerOptions.h.

AnalysisInlineFunctionSelection - Set of inlining function selection heuristics.

Enumerator
NumInliningModes 

Definition at line 73 of file AnalyzerOptions.h.

AnalysisPurgeModes - Set of available strategies for dead symbol removal.

Enumerator
NumPurgeModes 

Definition at line 66 of file AnalyzerOptions.h.

AnalysisStores - Set of available analysis store models.

Enumerator
NumStores 

Definition at line 43 of file AnalyzerOptions.h.

Names for the array type traits.

Enumerator
ATT_ArrayRank 
ATT_ArrayExtent 

Definition at line 86 of file TypeTraits.h.

These constants match the enumerated choices of err_attribute_argument_n_type and err_attribute_argument_type.

Enumerator
AANT_ArgumentIntOrBool 
AANT_ArgumentIntegerConstant 
AANT_ArgumentString 
AANT_ArgumentIdentifier 

Definition at line 814 of file AttributeList.h.

These constants match the enumerated choices of warn_attribute_wrong_decl_type and err_attribute_wrong_decl_type.

Enumerator
ExpectedFunction 
ExpectedUnion 
ExpectedVariableOrFunction 
ExpectedFunctionOrMethod 
ExpectedParameter 
ExpectedFunctionMethodOrBlock 
ExpectedFunctionMethodOrClass 
ExpectedFunctionMethodOrParameter 
ExpectedClass 
ExpectedEnum 
ExpectedVariable 
ExpectedMethod 
ExpectedVariableFunctionOrLabel 
ExpectedFieldOrGlobalVar 
ExpectedStruct 
ExpectedVariableOrTypedef 
ExpectedTLSVar 
ExpectedVariableOrField 
ExpectedVariableFieldOrTag 
ExpectedTypeOrNamespace 
ExpectedObjectiveCInterface 
ExpectedMethodOrProperty 
ExpectedStructOrUnion 
ExpectedStructOrUnionOrClass 
ExpectedType 
ExpectedObjCInstanceMethod 
ExpectedObjCInterfaceDeclInitMethod 
ExpectedFunctionVariableOrClass 
ExpectedObjectiveCProtocol 
ExpectedFunctionGlobalVarMethodOrProperty 
ExpectedStructOrUnionOrTypedef 
ExpectedStructOrTypedef 
ExpectedObjectiveCInterfaceOrProtocol 
ExpectedKernelFunction 

Definition at line 823 of file AttributeList.h.

enum clang::AttrSyntax
strong
Enumerator
GNU 

Is the identifier known as a GNU-style attribute?

Declspec 

Is the identifier known as a __declspec-style attribute?

CXX 
Pragma 

Definition at line 20 of file Attributes.h.

Captures the result of checking the availability of a declaration.

Enumerator
AR_Available 
AR_NotYetIntroduced 
AR_Deprecated 
AR_Unavailable 

Definition at line 63 of file DeclBase.h.

Enumerator
Backend_EmitAssembly 

Emit native assembly files.

Backend_EmitBC 

Emit LLVM bitcode files.

Backend_EmitLL 

Emit human-readable LLVM assembly.

Backend_EmitNothing 

Don't emit anything (benchmarking mode)

Backend_EmitMCNull 

Run CodeGen, but don't emit anything.

Backend_EmitObj 

Emit native object files.

Definition at line 25 of file BackendUtil.h.

Enumerator
BO_PtrMemD 
BO_PtrMemI 
BO_Mul 
BO_Div 
BO_Rem 
BO_Add 
BO_Sub 
BO_Shl 
BO_Shr 
BO_LT 
BO_GT 
BO_LE 
BO_GE 
BO_EQ 
BO_NE 
BO_And 
BO_Xor 
BO_Or 
BO_LAnd 
BO_LOr 
BO_Assign 
BO_MulAssign 
BO_DivAssign 
BO_RemAssign 
BO_AddAssign 
BO_SubAssign 
BO_ShlAssign 
BO_ShrAssign 
BO_AndAssign 
BO_XorAssign 
BO_OrAssign 
BO_Comma 

Definition at line 306 of file OperationKinds.h.

CallingConv - Specifies the calling convention that a function uses.

Enumerator
CC_C 
CC_X86StdCall 
CC_X86FastCall 
CC_X86ThisCall 
CC_X86VectorCall 
CC_X86Pascal 
CC_X86_64Win64 
CC_X86_64SysV 
CC_AAPCS 
CC_AAPCS_VFP 
CC_IntelOclBicc 
CC_SpirFunction 
CC_SpirKernel 

Definition at line 204 of file Specifiers.h.

Possible results from evaluation of a noexcept expression.

Enumerator
CT_Cannot 
CT_Dependent 
CT_Can 

Definition at line 46 of file ExceptionSpecificationType.h.

The different kinds of captured statement.

Enumerator
CR_Default 
CR_OpenMP 

Definition at line 17 of file CapturedStmt.h.

CastKind - The kind of operation required for a conversion.

Enumerator
CK_Dependent 

CK_Dependent - A conversion which cannot yet be analyzed because either the expression or target type is dependent. These are created only for explicit casts; dependent ASTs aren't required to even approximately type-check. (T*) malloc(sizeof(T)) reinterpret_cast<intptr_t>(A<T>::alloc());

CK_BitCast 

CK_BitCast - A conversion which causes a bit pattern of one type to be reinterpreted as a bit pattern of another type. Generally the operands must have equivalent size and unrelated types.

The pointer conversion char* -> int* is a bitcast. A conversion from any pointer type to a C pointer type is a bitcast unless it's actually BaseToDerived or DerivedToBase. A conversion to a block pointer or ObjC pointer type is a bitcast only if the operand has the same type kind; otherwise, it's one of the specialized casts below.

Vector coercions are bitcasts.

CK_LValueBitCast 

CK_LValueBitCast - A conversion which reinterprets the address of an l-value as an l-value of a different kind. Used for reinterpret_casts of l-value expressions to reference types. bool b; reinterpret_cast<char&>(b) = 'a';

CK_LValueToRValue 

CK_LValueToRValue - A conversion which causes the extraction of an r-value from the operand gl-value. The result of an r-value conversion is always unqualified.

CK_NoOp 

CK_NoOp - A conversion which does not affect the type other than (possibly) adding qualifiers. int -> int char** -> const char * const *

CK_BaseToDerived 

CK_BaseToDerived - A conversion from a C++ class pointer/reference to a derived class pointer/reference. B b = static_cast<B>(a);

CK_DerivedToBase 

CK_DerivedToBase - A conversion from a C++ class pointer to a base class pointer. A *a = new B();

CK_UncheckedDerivedToBase 

CK_UncheckedDerivedToBase - A conversion from a C++ class pointer/reference to a base class that can assume that the derived pointer is not null. const A &a = B(); b->method_from_a();

CK_Dynamic 

CK_Dynamic - A C++ dynamic_cast.

CK_ToUnion 

CK_ToUnion - The GCC cast-to-union extension. int -> union { int x; float y; } float -> union { int x; float y; }

CK_ArrayToPointerDecay 

CK_ArrayToPointerDecay - Array to pointer decay. int[10] -> int* char[5][6] -> char(*)[6]

CK_FunctionToPointerDecay 

CK_FunctionToPointerDecay - Function to pointer decay. void(int) -> void(*)(int)

CK_NullToPointer 

CK_NullToPointer - Null pointer constant to pointer, ObjC pointer, or block pointer. (void*) 0 void (^block)() = 0;

CK_NullToMemberPointer 

CK_NullToMemberPointer - Null pointer constant to member pointer. int A::*mptr = 0; int (A::*fptr)(int) = nullptr;

CK_BaseToDerivedMemberPointer 

CK_BaseToDerivedMemberPointer - Member pointer in base class to member pointer in derived class. int B::*mptr = &A::member;

CK_DerivedToBaseMemberPointer 

CK_DerivedToBaseMemberPointer - Member pointer in derived class to member pointer in base class. int A::mptr = static_cast<int A::>(&B::member);

CK_MemberPointerToBoolean 

CK_MemberPointerToBoolean - Member pointer to boolean. A check against the null member pointer.

CK_ReinterpretMemberPointer 

CK_ReinterpretMemberPointer - Reinterpret a member pointer as a different kind of member pointer. C++ forbids this from crossing between function and object types, but otherwise does not restrict it. However, the only operation that is permitted on a "punned" member pointer is casting it back to the original type, which is required to be a lossless operation (although many ABIs do not guarantee this on all possible intermediate types).

CK_UserDefinedConversion 

CK_UserDefinedConversion - Conversion using a user defined type conversion function. struct A { operator int(); }; int i = int(A());

CK_ConstructorConversion 

CK_ConstructorConversion - Conversion by constructor. struct A { A(int); }; A a = A(10);

CK_IntegralToPointer 

CK_IntegralToPointer - Integral to pointer. A special kind of reinterpreting conversion. Applies to normal, ObjC, and block pointers. (char*) 0x1001aab0 reinterpret_cast<int*>(0)

CK_PointerToIntegral 

CK_PointerToIntegral - Pointer to integral. A special kind of reinterpreting conversion. Applies to normal, ObjC, and block pointers. (intptr_t) "help!"

CK_PointerToBoolean 

CK_PointerToBoolean - Pointer to boolean conversion. A check against null. Applies to normal, ObjC, and block pointers.

CK_ToVoid 

CK_ToVoid - Cast to void, discarding the computed value. (void) malloc(2048)

CK_VectorSplat 

CK_VectorSplat - A conversion from an arithmetic type to a vector of that element type. Fills all elements ("splats") with the source value. attribute((ext_vector_type(4))) int v = 5;

CK_IntegralCast 

CK_IntegralCast - A cast between integral types (other than to boolean). Variously a bitcast, a truncation, a sign-extension, or a zero-extension. long l = 5; (unsigned) i

CK_IntegralToBoolean 

CK_IntegralToBoolean - Integral to boolean. A check against zero. (bool) i

CK_IntegralToFloating 

CK_IntegralToFloating - Integral to floating point. float f = i;

CK_FloatingToIntegral 

CK_FloatingToIntegral - Floating point to integral. Rounds towards zero, discarding any fractional component. (int) f

CK_FloatingToBoolean 

CK_FloatingToBoolean - Floating point to boolean. (bool) f

CK_FloatingCast 

CK_FloatingCast - Casting between floating types of different size. (double) f (float) ld

CK_CPointerToObjCPointerCast 

CK_CPointerToObjCPointerCast - Casting a C pointer kind to an Objective-C pointer.

CK_BlockPointerToObjCPointerCast 

CK_BlockPointerToObjCPointerCast - Casting a block pointer to an ObjC pointer.

CK_AnyPointerToBlockPointerCast 

CK_AnyPointerToBlockPointerCast - Casting any non-block pointer to a block pointer. Block-to-block casts are bitcasts.

CK_ObjCObjectLValueCast 

Converting between two Objective-C object types, which can occur when performing reference binding to an Objective-C object.

CK_FloatingRealToComplex 

A conversion of a floating point real to a floating point complex of the original type. Injects the value as the real component with a zero imaginary component. float -> _Complex float.

CK_FloatingComplexToReal 

Converts a floating point complex to floating point real of the source's element type. Just discards the imaginary component. _Complex long double -> long double.

CK_FloatingComplexToBoolean 

Converts a floating point complex to bool by comparing against 0+0i.

CK_FloatingComplexCast 

Converts between different floating point complex types. _Complex float -> _Complex double.

CK_FloatingComplexToIntegralComplex 

Converts from a floating complex to an integral complex. _Complex float -> _Complex int.

CK_IntegralRealToComplex 

Converts from an integral real to an integral complex whose element type matches the source. Injects the value as the real component with a zero imaginary component. long -> _Complex long.

CK_IntegralComplexToReal 

Converts an integral complex to an integral real of the source's element type by discarding the imaginary component. _Complex short -> short.

CK_IntegralComplexToBoolean 

Converts an integral complex to bool by comparing against 0+0i.

CK_IntegralComplexCast 

Converts between different integral complex types. _Complex char -> _Complex long long _Complex unsigned int -> _Complex signed int.

CK_IntegralComplexToFloatingComplex 

Converts from an integral complex to a floating complex. _Complex unsigned -> _Complex float.

CK_ARCProduceObject 

[ARC] Produces a retainable object pointer so that it may be consumed, e.g. by being passed to a consuming parameter. Calls objc_retain.

CK_ARCConsumeObject 

[ARC] Consumes a retainable object pointer that has just been produced, e.g. as the return value of a retaining call. Enters a cleanup to call objc_release at some indefinite time.

CK_ARCReclaimReturnedObject 

[ARC] Reclaim a retainable object pointer object that may have been produced and autoreleased as part of a function return sequence.

CK_ARCExtendBlockObject 

[ARC] Causes a value of block type to be copied to the heap, if it is not already there. A number of other operations in ARC cause blocks to be copied; this is for cases where that would not otherwise be guaranteed, such as when casting to a non-block pointer type.

CK_AtomicToNonAtomic 

Converts from _Atomic(T) to T.

CK_NonAtomicToAtomic 

Converts from T to _Atomic(T).

CK_CopyAndAutoreleaseBlockObject 

Causes a block literal to by copied to the heap and then autoreleased.

This particular cast kind is used for the conversion from a C++11 lambda expression to a block pointer.

CK_BuiltinFnToFnPtr 
CK_ZeroToOCLEvent 
CK_AddressSpaceConversion 

Definition at line 21 of file OperationKinds.h.

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

Enumerator
CMK_None 

Not within a conflict marker.

CMK_Normal 

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

CMK_Perforce 

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

Definition at line 31 of file Lexer.h.

C++ constructor types.

Enumerator
Ctor_Complete 

Complete object ctor.

Ctor_Base 

Base object ctor.

Ctor_Comdat 

The COMDAT used for ctors.

Ctor_CopyingClosure 

Copying closure variant of a ctor.

Ctor_DefaultClosure 

Default closure variant of a ctor.

Definition at line 25 of file ABI.h.

C++ destructor types.

Enumerator
Dtor_Deleting 

Deleting dtor.

Dtor_Complete 

Complete object dtor.

Dtor_Base 

Base object dtor.

Dtor_Comdat 

The COMDAT used for dtors.

Definition at line 34 of file ABI.h.

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

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

Enumerator
CIMK_None 

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

CIMK_MemberFunctions 

Refers to regular member function and operator calls.

CIMK_Constructors 

Refers to constructors (implicit or explicit).

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

CIMK_Destructors 

Refers to destructors (implicit or explicit).

Definition at line 84 of file AnalyzerOptions.h.

DependencyOutputFormat - Format for the compiler dependency file.

Enumerator
Make 
NMake 

Definition at line 19 of file DependencyOutputOptions.h.

A bitmask representing the diagnostic levels used by VerifyDiagnosticConsumer.

Enumerator
None 
Note 
Remark 
Warning 
Error 
All 

Definition at line 30 of file DiagnosticOptions.h.

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

Enumerator
ETK_Struct 

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

ETK_Interface 

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

ETK_Union 

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

ETK_Class 

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

ETK_Enum 

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

ETK_Typename 

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

ETK_None 

No keyword precedes the qualified type name.

Definition at line 4143 of file Type.h.

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

Enumerator
EST_None 

no exception specification

EST_DynamicNone 

throw()

EST_Dynamic 

throw(T1, T2)

EST_MSAny 

Microsoft throw(...) extension.

EST_BasicNoexcept 

noexcept

EST_ComputedNoexcept 

noexcept(expression)

EST_Unevaluated 

not evaluated yet, for special member function

EST_Uninstantiated 

not instantiated yet

EST_Unparsed 

not parsed yet

Definition at line 21 of file ExceptionSpecificationType.h.

Enumerator
ET_IsLValueExpr 
ET_IsRValueExpr 

Definition at line 20 of file ExpressionTraits.h.

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

Enumerator
OK_Ordinary 

An ordinary object is located at an address in memory.

OK_BitField 

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

OK_VectorComponent 

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

OK_ObjCProperty 

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

OK_ObjCSubscript 

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

Definition at line 109 of file Specifiers.h.

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

Enumerator
VK_RValue 

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

VK_LValue 

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

VK_XValue 

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

Definition at line 92 of file Specifiers.h.

Enumeration describing the result of loading information from an external source.

Enumerator
ELR_Success 

Loading the external information has succeeded.

ELR_Failure 

Loading the external information has failed.

ELR_AlreadyLoaded 

The external information has already been loaded, and therefore no additional processing is required.

Definition at line 38 of file ExternalASTSource.h.

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

Enumerator
FDK_Declaration 
FDK_Definition 
FDK_Defaulted 
FDK_Deleted 

Definition at line 1553 of file DeclSpec.h.

A more specific kind of linkage than enum Linkage.

This is relevant to CodeGen and AST file reading.

Enumerator
GVA_Internal 
GVA_AvailableExternally 
GVA_DiscardableODR 
GVA_StrongExternal 
GVA_StrongODR 

Definition at line 64 of file Linkage.h.

ImplicitConversionKind - The kind of implicit conversion used to convert an argument to a parameter's type. The enumerator values match with Table 9 of (C++ 13.3.3.1.1) and are listed such that better conversion kinds have smaller values.

Enumerator
ICK_Identity 

Identity conversion (no conversion)

ICK_Lvalue_To_Rvalue 

Lvalue-to-rvalue conversion (C++ 4.1)

ICK_Array_To_Pointer 

Array-to-pointer conversion (C++ 4.2)

ICK_Function_To_Pointer 

Function-to-pointer (C++ 4.3)

ICK_NoReturn_Adjustment 

Removal of noreturn from a type (Clang)

ICK_Qualification 

Qualification conversions (C++ 4.4)

ICK_Integral_Promotion 

Integral promotions (C++ 4.5)

ICK_Floating_Promotion 

Floating point promotions (C++ 4.6)

ICK_Complex_Promotion 

Complex promotions (Clang extension)

ICK_Integral_Conversion 

Integral conversions (C++ 4.7)

ICK_Floating_Conversion 

Floating point conversions (C++ 4.8)

ICK_Complex_Conversion 

Complex conversions (C99 6.3.1.6)

ICK_Floating_Integral 

Floating-integral conversions (C++ 4.9)

ICK_Pointer_Conversion 

Pointer conversions (C++ 4.10)

ICK_Pointer_Member 

Pointer-to-member conversions (C++ 4.11)

ICK_Boolean_Conversion 

Boolean conversions (C++ 4.12)

ICK_Compatible_Conversion 

Conversions between compatible types in C99.

ICK_Derived_To_Base 

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

ICK_Vector_Conversion 

Vector conversions.

ICK_Vector_Splat 

A vector splat from an arithmetic type.

ICK_Complex_Real 

Complex-real conversions (C99 6.3.1.7)

ICK_Block_Pointer_Conversion 

Block Pointer conversions.

ICK_TransparentUnionConversion 

Transparent Union Conversions.

ICK_Writeback_Conversion 

Objective-C ARC writeback conversion.

ICK_Zero_Event_Conversion 

Zero constant to event (OpenCL1.2 6.12.10)

ICK_Num_Conversion_Kinds 

The number of conversion kinds.

Definition at line 60 of file Overload.h.

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

Enumerator
ICR_Exact_Match 

Exact Match.

ICR_Promotion 

Promotion.

ICR_Conversion 

Conversion.

ICR_Complex_Real_Conversion 

Complex <-> Real conversion.

ICR_Writeback_Conversion 

ObjC ARC writeback conversion.

Definition at line 93 of file Overload.h.

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

Enumerator
ICIS_NoInit 

No in-class initializer.

ICIS_CopyInit 

Copy initialization.

ICIS_ListInit 

Direct list-initialization.

Definition at line 197 of file Specifiers.h.

Enumerator
IK_None 
IK_Asm 
IK_C 
IK_CXX 
IK_ObjC 
IK_ObjCXX 
IK_PreprocessedC 
IK_PreprocessedCXX 
IK_PreprocessedObjC 
IK_PreprocessedObjCXX 
IK_OpenCL 
IK_CUDA 
IK_PreprocessedCuda 
IK_AST 
IK_LLVM_IR 

Definition at line 61 of file FrontendOptions.h.

Describes the different modes of inter-procedural analysis.

Enumerator
IPAK_NotSet 
IPAK_None 

Perform only intra-procedural analysis.

IPAK_BasicInlining 

Inline C functions and blocks when their definitions are available.

IPAK_Inlining 

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

IPAK_DynamicDispatch 

Enable inlining of dynamically dispatched methods.

IPAK_DynamicDispatchBifurcate 

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

Definition at line 104 of file AnalyzerOptions.h.

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

Enumerator
LCD_None 
LCD_ByCopy 
LCD_ByRef 

Definition at line 23 of file Lambda.h.

The different capture forms in a lambda introducer.

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

Enumerator
LCK_This 

Capturing the this pointer.

LCK_ByCopy 

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

LCK_ByRef 

Capturing by reference.

LCK_VLAType 

Capturing variable-length array type.

Definition at line 34 of file Lambda.h.

Enumerator
GNU_LANG 
C_LANG 
CXX_LANG 
OBJC_LANG 
MS_LANG 
ALL_LANGUAGES 
ALL_GNU_LANGUAGES 
ALL_MS_LANGUAGES 

Definition at line 33 of file Builtins.h.

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

Enumerator
CLanguageLinkage 
CXXLanguageLinkage 
NoLanguageLinkage 

Definition at line 55 of file Linkage.h.

enum clang::Linkage : unsigned char

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

Enumerator
NoLinkage 

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

InternalLinkage 

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

UniqueExternalLinkage 

External linkage within a unique namespace.

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

VisibleNoLinkage 

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

ExternalLinkage 

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

Definition at line 25 of file Linkage.h.

Context in which macro name is used.

Enumerator
MU_Other 
MU_Define 
MU_Undef 

Definition at line 84 of file Preprocessor.h.

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

Enumerator
NK_Not_Narrowing 

Not a narrowing conversion.

NK_Type_Narrowing 

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

NK_Constant_Narrowing 

A narrowing conversion, because a constant expression got narrowed.

NK_Variable_Narrowing 

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

Definition at line 105 of file Overload.h.

enum clang::NullabilityKind : uint8_t
strong

Describes the nullability of a particular type.

Enumerator
NonNull 

Values of this type can never be null.

Nullable 

Values of this type can be null.

Unspecified 

Whether values of this type can be null is (explicitly) unspecified. This captures a (fairly rare) case where we can't conclude anything about the nullability of the type even though it has been considered.

Definition at line 247 of file Specifiers.h.

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

Enumerator
OBC_Bridge 

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

OBC_BridgeTransfer 

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

OBC_BridgeRetained 

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

Definition at line 341 of file OperationKinds.h.

A family of Objective-C methods.

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

Enumerator
OIT_None 
OIT_Array 
OIT_Dictionary 
OIT_Singleton 
OIT_Init 
OIT_ReturnsSelf 

Definition at line 574 of file IdentifierTable.h.

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

Enumerator
OCM_PropertyAccess 
OCM_Subscript 
OCM_Message 

Definition at line 782 of file CallEvent.h.

A family of Objective-C methods.

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

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

Enumerator
OMF_None 

No particular method family.

OMF_alloc 
OMF_copy 
OMF_init 
OMF_mutableCopy 
OMF_new 
OMF_autorelease 
OMF_dealloc 
OMF_finalize 
OMF_release 
OMF_retain 
OMF_retainCount 
OMF_self 
OMF_initialize 
OMF_performSelector 

Definition at line 534 of file IdentifierTable.h.

Enumerator
SFF_None 
SFF_NSString 
SFF_CFString 

Definition at line 583 of file IdentifierTable.h.

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

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

Enumerator
Ordinary 

An ordinary type.

Result 

The result type of a method or function.

Parameter 

The parameter type of a method or function.

Property 

The type of a property.

Superclass 

The superclass of a type.

Definition at line 541 of file Type.h.

enum clang::ObjCTypeParamVariance : uint8_t
strong

Describes the variance of a given generic parameter.

Enumerator
Invariant 

The parameter is invariant: must match exactly.

Covariant 

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

Contravariant 

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

Definition at line 514 of file DeclObjC.h.

Enumerate the kinds of standard library that.

Enumerator
ARCXX_nolib 
ARCXX_libcxx 

libc++

ARCXX_libstdcxx 

libstdc++

Definition at line 34 of file PreprocessorOptions.h.

OpenMP clauses.

Enumerator
OMPC_threadprivate 
OMPC_unknown 

Definition at line 33 of file OpenMPKinds.h.

OpenMP attributes for 'default' clause.

Enumerator
OMPC_DEFAULT_unknown 

Definition at line 42 of file OpenMPKinds.h.

OpenMP attributes for 'depend' clause.

Enumerator
OMPC_DEPEND_unknown 

Definition at line 66 of file OpenMPKinds.h.

OpenMP directives.

Enumerator
OMPD_unknown 

Definition at line 23 of file OpenMPKinds.h.

OpenMP attributes for 'proc_bind' clause.

Enumerator
OMPC_PROC_BIND_unknown 

Definition at line 50 of file OpenMPKinds.h.

OpenMP attributes for 'schedule' clause.

Enumerator
OMPC_SCHEDULE_unknown 

Definition at line 58 of file OpenMPKinds.h.

Enumerator
OCD_AllCandidates 

Requests that all candidates be shown. Viable candidates will be printed first.

OCD_ViableCandidates 

Requests that only viable candidates be shown.

Definition at line 47 of file Overload.h.

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

Enumerator
OO_None 

Not an overloaded operator.

NUM_OVERLOADED_OPERATORS 

Definition at line 22 of file OperatorKinds.h.

Enumerator
ovl_fail_too_many_arguments 
ovl_fail_too_few_arguments 
ovl_fail_bad_conversion 
ovl_fail_bad_deduction 
ovl_fail_trivial_conversion 

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

ovl_fail_illegal_constructor 

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

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

ovl_fail_bad_final_conversion 

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

ovl_fail_final_conversion_not_exact 

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

ovl_fail_bad_target 

(CUDA) This candidate was not viable because the callee was not accessible from the caller's target (i.e. host->device, global->host, device->host).

ovl_fail_enable_if 

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

Definition at line 545 of file Overload.h.

Enumerator
OFIK_Undefined 
OFIK_Dereference 
OFIK_TakeAddress 
OFIK_RemoveDereference 
OFIK_RemoveTakeAddress 

Definition at line 20 of file SemaFixItUtils.h.

OverloadingResult - Capture the result of performing overload resolution.

Enumerator
OR_Success 

Overload resolution succeeded.

OR_No_Viable_Function 

No viable function found.

OR_Ambiguous 

Ambiguous candidates found.

OR_Deleted 

Succeeded, but refers to a deleted function.

Definition at line 40 of file Overload.h.

Specifies which overload candidates to display when overload resolution fails.

Enumerator
Ovl_All 

Show all overloads.

Ovl_Best 

Show just the "best" overload candidates.

Definition at line 23 of file DiagnosticOptions.h.

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

Enumerator
PIK_HashPragma 

The pragma was introduced via #pragma.

PIK__Pragma 

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

PIK___pragma 

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

Definition at line 32 of file Pragma.h.

The kind of C++0x ref-qualifier associated with a function type, which determines whether a member function's "this" object can be an lvalue, rvalue, or neither.

Enumerator
RQ_None 

No ref-qualifier was provided.

RQ_LValue 

An lvalue ref-qualifier was provided (&).

RQ_RValue 

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

Definition at line 1200 of file Type.h.

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

Enumerator
SelLoc_NonStandard 

Non-standard.

SelLoc_StandardNoSpace 

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

SelLoc_StandardWithSpace 

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

Definition at line 28 of file SelectorLocationsKind.h.

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

Enumerator
STC_Arithmetic 
STC_Array 
STC_Block 
STC_Function 
STC_ObjectiveC 
STC_Other 
STC_Pointer 
STC_Record 
STC_Void 

Definition at line 108 of file CodeCompleteConsumer.h.

Storage classes.

Enumerator
SC_None 
SC_Extern 
SC_Static 
SC_PrivateExtern 
SC_OpenCLWorkGroupLocal 
SC_Auto 
SC_Register 

Definition at line 173 of file Specifiers.h.

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

Enumerator
SD_FullExpression 

Full-expression storage duration (for temporaries).

SD_Automatic 

Automatic storage duration (most local variables).

SD_Thread 

Thread storage duration.

SD_Static 

Static storage duration.

SD_Dynamic 

Dynamic storage duration.

Definition at line 238 of file Specifiers.h.

The kind of a tag type.

Enumerator
TTK_Struct 

The "struct" keyword.

TTK_Interface 

The "__interface" keyword.

TTK_Union 

The "union" keyword.

TTK_Class 

The "class" keyword.

TTK_Enum 

The "enum" keyword.

Definition at line 4128 of file Type.h.

Various flags that control template argument deduction.

These flags can be bitwise-OR'd together.

Enumerator
TDF_None 

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

TDF_ParamWithReferenceType 

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

TDF_IgnoreQualifiers 

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

TDF_DerivedClass 

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

TDF_SkipNonDependent 

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

TDF_TopLevelParameterTypeList 

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

TDF_InOverloadResolution 

Within template argument deduction from overload resolution per C++ [over.over] allow matching function types that are compatible in terms of noreturn and default calling convention adjustments.

Definition at line 33 of file SemaTemplateDeduction.cpp.

Specifies the kind of template name that an identifier refers to. Be careful when changing this: this enumeration is used in diagnostics.

Enumerator
TNK_Non_template 

The name does not refer to a template.

TNK_Function_template 

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

TNK_Type_template 

The name refers to a template whose specialization produces a type. The template itself could be a class template, template template parameter, or C++0x template alias.

TNK_Var_template 

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

TNK_Dependent_template_name 

The name refers to a dependent template name. Whether the template name is assumed to refer to a type template or a function template depends on the context in which the template name occurs.

Definition at line 21 of file TemplateKinds.h.

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

Enumerator
TSK_Undeclared 

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

TSK_ImplicitInstantiation 

This template specialization was implicitly instantiated from a template. (C++ [temp.inst]).

TSK_ExplicitSpecialization 

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

TSK_ExplicitInstantiationDeclaration 

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

TSK_ExplicitInstantiationDefinition 

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

Definition at line 131 of file Specifiers.h.

Thread storage-class-specifier.

Enumerator
TSCS_unspecified 
TSCS___thread 

GNU __thread.

TSCS_thread_local 

C++11 thread_local. Implies 'static' at block scope, but not at class scope.

TSCS__Thread_local 

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

Definition at line 160 of file Specifiers.h.

The context in which partial ordering of function templates occurs.

Enumerator
TPOC_Call 

Partial ordering of function templates for a function call.

TPOC_Conversion 

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

TPOC_Other 

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

Definition at line 114 of file Template.h.

Describes the kind of translation unit being processed.

Enumerator
TU_Complete 

The translation unit is a complete translation unit.

TU_Prefix 

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

TU_Module 

The translation unit is a module.

Definition at line 163 of file LangOptions.h.

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

Enumerator
TSS_unspecified 
TSS_signed 
TSS_unsigned 

Definition at line 32 of file Specifiers.h.

Specifies the kind of type.

Enumerator
TST_unspecified 
TST_void 
TST_char 
TST_wchar 
TST_char16 
TST_char32 
TST_int 
TST_int128 
TST_half 
TST_float 
TST_double 
TST_bool 
TST_decimal32 
TST_decimal64 
TST_decimal128 
TST_enum 
TST_union 
TST_struct 
TST_class 
TST_interface 
TST_typename 
TST_typeofType 
TST_typeofExpr 
TST_decltype 
TST_underlyingType 
TST_auto 
TST_decltype_auto 
TST_unknown_anytype 
TST_atomic 
TST_error 

Definition at line 39 of file Specifiers.h.

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

Enumerator
TSW_unspecified 
TSW_short 
TSW_long 
TSW_longlong 

Definition at line 24 of file Specifiers.h.

Names for traits that operate specifically on types.

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

Definition at line 21 of file TypeTraits.h.

Names for the "expression or type" traits.

Enumerator
UETT_SizeOf 
UETT_AlignOf 
UETT_VecStep 
UETT_OpenMPRequiredSimdAlign 

Definition at line 92 of file TypeTraits.h.

Enumerator
UO_PostInc 
UO_PostDec 
UO_PreInc 
UO_PreDec 
UO_AddrOf 
UO_Deref 
UO_Plus 
UO_Minus 
UO_Not 
UO_LNot 
UO_Real 
UO_Imag 
UO_Extension 

Definition at line 329 of file OperationKinds.h.

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

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

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

Enumerator
HiddenVisibility 

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

ProtectedVisibility 

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

DefaultVisibility 

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

Definition at line 32 of file Visibility.h.

Function Documentation

void * clang::allocateDefaultArgStorageChain ( const ASTContext C)
void clang::ApplyHeaderSearchOptions ( HeaderSearch HS,
const HeaderSearchOptions HSOpts,
const LangOptions Lang,
const llvm::Triple &  triple 
)
Expr* clang::AssertSuccess ( ExprResult  R)
inline
Stmt* clang::AssertSuccess ( StmtResult  R)
inline
void clang::AttachDependencyGraphGen ( Preprocessor PP,
StringRef  OutputFile,
StringRef  SysRoot 
)

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

Definition at line 62 of file DependencyGraph.cpp.

References clang::Preprocessor::addPPCallbacks().

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

void clang::AttachHeaderIncludeGen ( Preprocessor PP,
bool  ShowAllHeaders = false,
StringRef  OutputPath = "",
bool  ShowDepth = true,
bool  MSStyle = false 
)

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

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

Definition at line 49 of file HeaderIncludeGen.cpp.

References clang::Preprocessor::addPPCallbacks(), clang::Preprocessor::getDiagnostics(), and clang::DiagnosticsEngine::Report().

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

void clang::BuryPointer ( const void *  Ptr)
template<typename T >
void clang::BuryPointer ( std::unique_ptr< T >  Ptr)

Definition at line 209 of file Utils.h.

References BuryPointer().

void clang::CacheTokens ( Preprocessor PP,
raw_pwrite_stream *  OS 
)
static CanThrowResult clang::canCalleeThrow ( Sema &  S,
const Expr *  E,
const Decl *  D 
)
static
static CanThrowResult clang::canDynamicCastThrow ( const CXXDynamicCastExpr *  DC)
static
static CanThrowResult clang::canSubExprsThrow ( Sema &  S,
const Expr *  E 
)
static

Definition at line 846 of file SemaExceptionSpec.cpp.

References clang::Sema::canThrow(), CT_Can, CT_Cannot, and mergeCanThrow().

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

static CanThrowResult clang::canTypeidThrow ( Sema &  S,
const CXXTypeidExpr *  DC 
)
static
clang::CGOpenMPRuntime ( CodeGenModule &  CGM)
explicit
static bool clang::CheckSpecForTypesEquivalent ( Sema &  S,
const PartialDiagnostic &  DiagID,
const PartialDiagnostic &  NoteID,
QualType  Target,
SourceLocation  TargetLoc,
QualType  Source,
SourceLocation  SourceLoc 
)
static
StmtRange clang::children ( )
static bool clang::classof ( const OMPClause *  T)
static

Definition at line 1758 of file OpenMPClause.h.

References clang::OMPClause::getClauseKind().

virtual void clang::clear ( )
virtual
static int clang::compareInt ( unsigned  A,
unsigned  B 
)
static

Definition at line 76 of file DeclarationName.cpp.

Referenced by clang::DeclarationName::compare().

static OMPLinearClause* clang::Create ( const ASTContext &  C,
SourceLocation  StartLoc,
SourceLocation  LParenLoc,
SourceLocation  ColonLoc,
SourceLocation  EndLoc,
ArrayRef< Expr * >  VL,
ArrayRef< Expr * >  IL,
Expr *  Step,
Expr *  CalcStep 
)
static
std::unique_ptr< ASTConsumer > clang::CreateASTDeclNodeLister ( )

Definition at line 138 of file ASTConsumers.cpp.

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

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

Definition at line 130 of file ASTConsumers.cpp.

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

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

Definition at line 125 of file ASTConsumers.cpp.

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

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

Definition at line 175 of file ASTConsumers.cpp.

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

IntrusiveRefCntPtr< ExternalSemaSource > clang::createChainedIncludesSource ( CompilerInstance CI,
IntrusiveRefCntPtr< ExternalSemaSource > &  Reader 
)
std::unique_ptr< ASTConsumer > clang::CreateDeclContextPrinter ( )

Definition at line 487 of file ASTConsumers.cpp.

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

llvm::Constant * CGOpenMPRuntime::createDispatchFiniFunction ( unsigned  IVSize,
bool  IVSigned 
)

Returns __kmpc_dispatch_fini_* runtime function for the specified size IVSize and sign IVSigned.

Definition at line 893 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::CodeGenModule::CreateRuntimeFunction(), getIdentTyPointerTy(), clang::CodeGen::CodeGenTypeCache::Int32Ty, and clang::CodeGen::CodeGenTypeCache::VoidTy.

llvm::Constant * CGOpenMPRuntime::createDispatchInitFunction ( unsigned  IVSize,
bool  IVSigned 
)

Returns __kmpc_dispatch_init_* runtime function for the specified size IVSize and sign IVSigned.

Definition at line 871 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::CodeGenModule::CreateRuntimeFunction(), getIdentTyPointerTy(), clang::CodeGen::CodeGenTypeCache::Int32Ty, clang::CodeGen::CodeGenTypeCache::Int64Ty, and clang::CodeGen::CodeGenTypeCache::VoidTy.

llvm::Constant * CGOpenMPRuntime::createDispatchNextFunction ( unsigned  IVSize,
bool  IVSigned 
)

Returns __kmpc_dispatch_next_* runtime function for the specified size IVSize and sign IVSigned.

Definition at line 910 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::CodeGenModule::CreateRuntimeFunction(), getIdentTyPointerTy(), clang::CodeGen::CodeGenTypeCache::Int32Ty, and clang::CodeGen::CodeGenTypeCache::Int64Ty.

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

Creates an empty clause with the place for NumVars variables.

Parameters
CAST context.
NumVarsNumber of variables.

Referenced by clang::OMPClauseReader::readClause().

llvm::Constant * CGOpenMPRuntime::createForStaticInitFunction ( unsigned  IVSize,
bool  IVSigned 
)

Returns __kmpc_for_static_init_* runtime function for the specified size IVSize and sign IVSigned.

Definition at line 845 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::CodeGenModule::CreateRuntimeFunction(), getIdentTyPointerTy(), clang::CodeGen::CodeGenTypeCache::Int32Ty, clang::CodeGen::CodeGenTypeCache::Int64Ty, and clang::CodeGen::CodeGenTypeCache::VoidTy.

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

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

Definition at line 50 of file HTMLPrint.cpp.

References clang::html::HighlightMacros(), and clang::html::SyntaxHighlight().

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

CompilerInvocation * clang::createInvocationFromCommandLine ( ArrayRef< const char * >  ArgList,
IntrusiveRefCntPtr< DiagnosticsEngine Diags = IntrusiveRefCntPtr<DiagnosticsEngine>() 
)
CXXABI * clang::CreateItaniumCXXABI ( ASTContext Ctx)

Creates an instance of a C++ ABI class.

Definition at line 158 of file AST/ItaniumCXXABI.cpp.

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

CreateLLVMCodeGen - Create a CodeGenerator instance. It is the responsibility of the caller to call delete on the allocated CodeGenerator instance.

Definition at line 247 of file ModuleBuilder.cpp.

CXXABI * clang::CreateMicrosoftCXXABI ( ASTContext Ctx)

Definition at line 246 of file AST/MicrosoftCXXABI.cpp.

std::unique_ptr<ASTConsumer> clang::CreateModernObjCRewriter ( const std::string &  InFile,
raw_ostream *  OS,
DiagnosticsEngine &  Diags,
const LangOptions &  LOpts,
bool  SilenceRewriteMacroWarning,
bool  LineInfo 
)
std::unique_ptr<ASTConsumer> clang::CreateObjCRewriter ( const std::string &  InFile,
raw_ostream *  OS,
DiagnosticsEngine &  Diags,
const LangOptions &  LOpts,
bool  SilenceRewriteMacroWarning 
)
llvm::Constant * CGOpenMPRuntime::createRuntimeFunction ( OpenMPRTLFunction  Function)
IntrusiveRefCntPtr< vfs::FileSystem > clang::createVFSFromCompilerInvocation ( const CompilerInvocation CI,
DiagnosticsEngine Diags 
)
bool clang::declaresSameEntity ( const Decl *  D1,
const Decl *  D2 
)
inline
bool clang::DeclAttrsMatchCUDAMode ( const LangOptions &  LangOpts,
Decl *  D 
)
inline
clang::DEF_TRAVERSE_TYPE ( ComplexType  ,
{TRY_TO(TraverseType(T->getElementType()));}   
)
clang::DEF_TRAVERSE_TYPE ( BlockPointerType  ,
{TRY_TO(TraverseType(T->getPointeeType()));}   
) { TRY_TO(TraverseType(T->getPointeeType()))
clang::DEF_TRAVERSE_TYPE ( RValueReferenceType  ,
{TRY_TO(TraverseType(T->getPointeeType()));}   
) { TRY_TO(TraverseType(T->getPointeeType()))
clang::DEF_TRAVERSE_TYPE ( AdjustedType  ,
{TRY_TO(TraverseType(T->getOriginalType()));}   
)
clang::DEF_TRAVERSE_TYPE ( ConstantArrayType  ,
{TRY_TO(TraverseType(T->getElementType()));}   
) { TRY_TO(TraverseType(T->getOriginalType()))
clang::DEF_TRAVERSE_TYPE ( VariableArrayType  ,
{TRY_TO(TraverseType(T->getElementType()));TRY_TO(TraverseStmt(T->getSizeExpr()));}   
) { TRY_TO(TraverseType(T->getElementType()))
clang::DEF_TRAVERSE_TYPE ( DependentSizedExtVectorType  ,
{if(T->getSizeExpr()) TRY_TO(TraverseStmt(T->getSizeExpr()));TRY_TO(TraverseType(T->getElementType()));}   
)
clang::DEF_TRAVERSE_TYPE ( ExtVectorType  ,
{TRY_TO(TraverseType(T->getElementType()));}   
) { TRY_TO(TraverseType(T->getElementType()))
clang::DEF_TRAVERSE_TYPE ( FunctionProtoType  ,
{TRY_TO(TraverseType(T->getReturnType()));for(const auto &A:T->param_types()){TRY_TO(TraverseType(A));}for(const auto &E:T->exceptions()){TRY_TO(TraverseType(E));}if(Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE));}   
) { TRY_TO(TraverseType(T->getReturnType()))
clang::DEF_TRAVERSE_TYPE ( TypeOfType  ,
{TRY_TO(TraverseType(T->getUnderlyingType()));}   
) { TRY_TO(TraverseStmt(T->getUnderlyingExpr()))
clang::DEF_TRAVERSE_TYPE ( UnaryTransformType  ,
{TRY_TO(TraverseType(T->getBaseType()));TRY_TO(TraverseType(T->getUnderlyingType()));}   
) { TRY_TO(TraverseStmt(T->getUnderlyingExpr()))
clang::DEF_TRAVERSE_TYPE ( TemplateSpecializationType  ,
{TRY_TO(TraverseTemplateName(T->getTemplateName()));TRY_TO(TraverseTemplateArguments(T->getArgs(), T->getNumArgs()));}   
) { TRY_TO(TraverseType(T->getDeducedType()))
clang::DEF_TRAVERSE_TYPE ( ParenType  ,
{TRY_TO(TraverseType(T->getInnerType()));}   
) { TRY_TO(TraverseType(T->getModifiedType()))
clang::DEF_TRAVERSE_TYPE ( DependentNameType  ,
{TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));}   
)
Initial value:
{
if (T->getQualifier()) {
TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));
}
TRY_TO(TraverseType(T->getNamedType()))
#define TRY_TO(CALL_EXPR)
clang::DEF_TRAVERSE_TYPE ( PackExpansionType  ,
{TRY_TO(TraverseType(T->getPattern()));}   
)
clang::DEF_TRAVERSE_TYPE ( ObjCObjectPointerType  ,
{TRY_TO(TraverseType(T->getPointeeType()));}   
)
clang::DEF_TRAVERSE_TYPELOC ( ComplexType  ,
{TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}   
)
clang::DEF_TRAVERSE_TYPELOC ( BlockPointerType  ,
{TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()));}   
) { TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()))
clang::DEF_TRAVERSE_TYPELOC ( RValueReferenceType  ,
{TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()));}   
) { TRY_TO(TraverseTypeLoc(TL.getPointeeLoc()))
clang::DEF_TRAVERSE_TYPELOC ( AdjustedType  ,
{TRY_TO(TraverseTypeLoc(TL.getOriginalLoc()));}   
)
clang::DEF_TRAVERSE_TYPELOC ( ConstantArrayType  ,
{TRY_TO(TraverseTypeLoc(TL.getElementLoc()));return TraverseArrayTypeLocHelper(TL);}   
)
clang::DEF_TRAVERSE_TYPELOC ( VariableArrayType  ,
{TRY_TO(TraverseTypeLoc(TL.getElementLoc()));return TraverseArrayTypeLocHelper(TL);}   
)
clang::DEF_TRAVERSE_TYPELOC ( DependentSizedExtVectorType  ,
{if(TL.getTypePtr() ->getSizeExpr()) TRY_TO(TraverseStmt(TL.getTypePtr() ->getSizeExpr()));TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}   
)
clang::DEF_TRAVERSE_TYPELOC ( ExtVectorType  ,
{TRY_TO(TraverseType(TL.getTypePtr() ->getElementType()));}   
)
Initial value:
{
TRY_TO(TraverseType(TL.getTypePtr()->getElementType()))
#define TRY_TO(CALL_EXPR)
clang::DEF_TRAVERSE_TYPELOC ( FunctionProtoType  ,
{TRY_TO(TraverseTypeLoc(TL.getReturnLoc()));const FunctionProtoType *T=TL.getTypePtr();for(unsigned I=0, E=TL.getNumParams();I!=E;++I){if(TL.getParam(I)){TRY_TO(TraverseDecl(TL.getParam(I)));}else if(I< T->getNumParams()){TRY_TO(TraverseType(T->getParamType(I)));}}for(const auto &E:T->exceptions()){TRY_TO(TraverseType(E));}if(Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE));}   
) { TRY_TO(TraverseTypeLoc(TL.getReturnLoc()))
clang::DEF_TRAVERSE_TYPELOC ( TypeOfType  ,
{TRY_TO(TraverseTypeLoc(TL.getUnderlyingTInfo() ->getTypeLoc()));}   
) { TRY_TO(TraverseStmt(TL.getUnderlyingExpr()))
clang::DEF_TRAVERSE_TYPELOC ( UnaryTransformType  ,
{TRY_TO(TraverseTypeLoc(TL.getUnderlyingTInfo() ->getTypeLoc()));}   
)
Initial value:
{
TRY_TO(TraverseStmt(TL.getTypePtr()->getUnderlyingExpr()))
#define TRY_TO(CALL_EXPR)
clang::DEF_TRAVERSE_TYPELOC ( TemplateSpecializationType  ,
{TRY_TO(TraverseTemplateName(TL.getTypePtr() ->getTemplateName()));for(unsigned I=0, E=TL.getNumArgs();I!=E;++I){TRY_TO(TraverseTemplateArgumentLoc(TL.getArgLoc(I)));}}   
)
Initial value:
{
TRY_TO(TraverseType(TL.getTypePtr()->getDeducedType()))
#define TRY_TO(CALL_EXPR)
clang::DEF_TRAVERSE_TYPELOC ( AttributedType  ,
{TRY_TO(TraverseTypeLoc(TL.getModifiedLoc()));}   
) { TRY_TO(TraverseTypeLoc(TL.getInnerLoc()))
clang::DEF_TRAVERSE_TYPELOC ( DependentNameType  ,
{TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));}   
)
Initial value:
{
if (TL.getQualifierLoc()) {
TRY_TO(TraverseNestedNameSpecifierLoc(TL.getQualifierLoc()));
}
TRY_TO(TraverseTypeLoc(TL.getNamedTypeLoc()))
#define TRY_TO(CALL_EXPR)
void clang::DoPrintPreprocessedInput ( Preprocessor PP,
raw_ostream *  OS,
const PreprocessorOutputOptions Opts 
)
void clang::DoRewriteTest ( Preprocessor &  PP,
raw_ostream *  OS 
)
void clang::EmitBackendOutput ( DiagnosticsEngine &  Diags,
const CodeGenOptions &  CGOpts,
const TargetOptions &  TOpts,
const LangOptions &  LOpts,
StringRef  TDesc,
llvm::Module *  M,
BackendAction  Action,
raw_pwrite_stream *  OS 
)
virtual void clang::emitBarrierCall ( CodeGenFunction &  CGF,
SourceLocation  Loc,
OpenMPDirectiveKind  Kind,
bool  CheckForCancel = true 
)
virtual

Emit an implicit/explicit barrier for OpenMP threads.

Parameters
KindDirective for which this implicit barrier call must be generated. Must be OMPD_barrier for explicit barrier generation.
CheckForCanceltrue if check for possible cancellation must be performed, false otherwise.
virtual void clang::emitCancelCall ( CodeGenFunction &  CGF,
SourceLocation  Loc,
OpenMPDirectiveKind  CancelRegion 
)
virtual

Emit code for 'cancel' construct.

Parameters
CancelRegionRegion kind for which the cancel must be emitted.
virtual void clang::emitCancellationPointCall ( CodeGenFunction &  CGF,
SourceLocation  Loc,
OpenMPDirectiveKind  CancelRegion 
)
virtual

Emit code for 'cancellation point' construct.

Parameters
CancelRegionRegion kind for which the cancellation point must be emitted.
virtual void clang::emitCriticalRegion ( CodeGenFunction &  CGF,
StringRef  CriticalName,
const RegionCodeGenTy &  CriticalOpGen,
SourceLocation  Loc 
)
virtual

Emits a critical region.

Parameters
CriticalNameName of the critical region.
CriticalOpGenGenerator for the statement associated with the given critical region.
virtual void clang::emitFlush ( CodeGenFunction &  CGF,
ArrayRef< const Expr * >  Vars,
SourceLocation  Loc 
)
virtual

Emit flush of the variables specified in 'omp flush' directive.

Parameters
VarsList of variables to flush.
virtual void clang::emitForInit ( CodeGenFunction &  CGF,
SourceLocation  Loc,
OpenMPScheduleClauseKind  SchedKind,
unsigned  IVSize,
bool  IVSigned,
bool  Ordered,
llvm::Value IL,
llvm::Value LB,
llvm::Value UB,
llvm::Value ST,
llvm::Value Chunk = nullptr 
)
virtual

Call the appropriate runtime routine to initialize it before start of loop.

Depending on the loop schedule, it is nesessary to call some runtime routine before start of the OpenMP loop to get the loop upper / lower bounds LB and UB and stride ST.

Parameters
CGFReference to current CodeGenFunction.
LocClang source location.
SchedKindSchedule kind, specified by the 'schedule' clause.
IVSizeSize of the iteration variable in bits.
IVSignedSign of the interation variable.
Orderedtrue if loop is ordered, false otherwise.
ILAddress of the output variable in which the flag of the last iteration is returned.
LBAddress of the output variable in which the lower iteration number is returned.
UBAddress of the output variable in which the upper iteration number is returned.
STAddress of the output variable in which the stride value is returned nesessary to generated the static_chunked scheduled loop.
ChunkValue of the chunk for the static_chunked scheduled loop. For the default (nullptr) value, the chunk 1 will be used.
virtual llvm::Value* clang::emitForNext ( CodeGenFunction &  CGF,
SourceLocation  Loc,
unsigned  IVSize,
bool  IVSigned,
llvm::Value IL,
llvm::Value LB,
llvm::Value UB,
llvm::Value ST 
)
virtual

Call __kmpc_dispatch_next( ident_t *loc, kmp_int32 tid, kmp_int32 *p_lastiter, kmp_int[32|64] *p_lower, kmp_int[32|64] *p_upper, kmp_int[32|64] *p_stride);

Parameters
IVSizeSize of the iteration variable in bits.
IVSignedSign of the interation variable.
ILAddress of the output variable in which the flag of the last iteration is returned.
LBAddress of the output variable in which the lower iteration number is returned.
UBAddress of the output variable in which the upper iteration number is returned.
STAddress of the output variable in which the stride value is returned.
virtual void clang::emitForOrderedIterationEnd ( CodeGenFunction &  CGF,
SourceLocation  Loc,
unsigned  IVSize,
bool  IVSigned 
)
virtual

Call the appropriate runtime routine to notify that we finished iteration of the ordered loop with the dynamic scheduling.

Parameters
CGFReference to current CodeGenFunction.
LocClang source location.
IVSizeSize of the iteration variable in bits.
IVSignedSign of the interation variable.
virtual void clang::emitForStaticFinish ( CodeGenFunction &  CGF,
SourceLocation  Loc 
)
virtual

Call the appropriate runtime routine to notify that we finished all the work with current loop.

Parameters
CGFReference to current CodeGenFunction.
LocClang source location.
virtual void clang::emitInlinedDirective ( CodeGenFunction &  CGF,
OpenMPDirectiveKind  InnermostKind,
const RegionCodeGenTy &  CodeGen 
)
virtual

Emit code for the directive that does not require outlining.

Parameters
InnermostKindKind of innermost directive (for simple directives it is a directive itself, for combined - its innermost directive).
CodeGenCode generation sequence for the D directive.
void CGOpenMPRuntime::emitKmpRoutineEntryT ( QualType  KmpInt32Ty)
virtual void clang::emitMasterRegion ( CodeGenFunction &  CGF,
const RegionCodeGenTy &  MasterOpGen,
SourceLocation  Loc 
)
virtual

Emits a master region.

Parameters
MasterOpGenGenerator for the statement associated with the given master region.
virtual void clang::emitNumThreadsClause ( CodeGenFunction &  CGF,
llvm::Value NumThreads,
SourceLocation  Loc 
)
virtual

Emits call to void __kmpc_push_num_threads(ident_t *loc, kmp_int32 global_tid, kmp_int32 num_threads) to generate code for 'num_threads' clause.

Parameters
NumThreadsAn integer value of threads.
virtual void clang::emitOrderedRegion ( CodeGenFunction &  CGF,
const RegionCodeGenTy &  OrderedOpGen,
SourceLocation  Loc 
)
virtual

Emit an ordered region.

Parameters
OrderedOpGenGenerator for the statement associated with the given ordered region.
virtual void clang::emitParallelCall ( CodeGenFunction &  CGF,
SourceLocation  Loc,
llvm::Value OutlinedFn,
llvm::Value CapturedStruct,
const Expr *  IfCond 
)
virtual

Emits code for parallel or serial call of the OutlinedFn with variables captured in a record which address is stored in CapturedStruct.

Parameters
OutlinedFnOutlined function to be run in parallel threads. Type of this function is void(*)(kmp_int32 *, kmp_int32, struct context_vars*).
CapturedStructA pointer to the record with the references to variables used in OutlinedFn function.
IfCondCondition in the associated 'if' clause, if it was specified, nullptr otherwise.
virtual llvm::Value* clang::emitParallelOutlinedFunction ( const OMPExecutableDirective &  D,
const VarDecl *  ThreadIDVar,
OpenMPDirectiveKind  InnermostKind,
const RegionCodeGenTy &  CodeGen 
)
virtual

Emits outlined function for the specified OpenMP parallel directive D. This outlined function has type void(*)(kmp_int32 ThreadID, kmp_int32 BoundID, struct context_vars).

Parameters
DOpenMP directive.
ThreadIDVarVariable for thread id in the current OpenMP region.
InnermostKindKind of innermost directive (for simple directives it is a directive itself, for combined - its innermost directive).
CodeGenCode generation sequence for the D directive.
virtual void clang::emitProcBindClause ( CodeGenFunction &  CGF,
OpenMPProcBindClauseKind  ProcBind,
SourceLocation  Loc 
)
virtual

Emit call to void __kmpc_push_proc_bind(ident_t *loc, kmp_int32 global_tid, int proc_bind) to generate code for 'proc_bind' clause.

virtual void clang::emitReduction ( CodeGenFunction &  CGF,
SourceLocation  Loc,
ArrayRef< const Expr * >  LHSExprs,
ArrayRef< const Expr * >  RHSExprs,
ArrayRef< const Expr * >  ReductionOps,
bool  WithNowait,
bool  SimpleReduction 
)
virtual

Emit a code for reduction clause. Next code should be emitted for reduction:

static kmp_critical_name lock = { 0 };
void reduce_func(void *lhs[<n>], void *rhs[<n>]) {
...
*(Type<i>*)lhs[i] = RedOp<i>(*(Type<i>*)lhs[i], *(Type<i>*)rhs[i]);
...
}
...
void *RedList[<n>] = {&<RHSExprs>[0], ..., &<RHSExprs>[<n>-1]};
switch (__kmpc_reduce{_nowait}(<loc>, <gtid>, <n>, sizeof(RedList),
RedList, reduce_func, &<lock>)) {
case 1:
...
<LHSExprs>[i] = RedOp<i>(*<LHSExprs>[i], *<RHSExprs>[i]);
...
__kmpc_end_reduce{_nowait}(<loc>, <gtid>, &<lock>);
break;
case 2:
...
Atomic(<LHSExprs>[i] = RedOp<i>(*<LHSExprs>[i], *<RHSExprs>[i]));
...
break;
default:;
}
Parameters
LHSExprsList of LHS in ReductionOps reduction operations.
RHSExprsList of RHS in ReductionOps reduction operations.
ReductionOpsList of reduction operations in form 'LHS binop RHS' or 'operator binop(LHS, RHS)'.
WithNowaittrue if parent directive has also nowait clause, false otherwise.
virtual void clang::emitSingleRegion ( CodeGenFunction &  CGF,
const RegionCodeGenTy &  SingleOpGen,
SourceLocation  Loc,
ArrayRef< const Expr * >  CopyprivateVars,
ArrayRef< const Expr * >  DestExprs,
ArrayRef< const Expr * >  SrcExprs,
ArrayRef< const Expr * >  AssignmentOps 
)
virtual

Emits a single region.

Parameters
SingleOpGenGenerator for the statement associated with the given single region.
i32 captured_struct* * param SharedsTy A type which contains references the shared variables* param Shareds Context with the list of shared variables from the p* TaskFunction* param IfCond Not a nullptr if if clause was nullptr* otherwise* param PrivateVars List of references to private variables for the task* directive* param PrivateCopies List of private copies for each private variable in* p PrivateVars* param FirstprivateVars List of references to private variables for the* task directive* param FirstprivateCopies List of private copies for each private variable* in p FirstprivateVars* param FirstprivateInits List of references to auto generated variables* used for initialization of a single array element Used if firstprivate* variable is of array type* param Dependences List of dependences for the task including* original expression and dependency type* virtual void clang::emitTaskCall ( CodeGenFunction &  CGF,
SourceLocation  Loc,
const OMPExecutableDirective &  D,
bool  Tied,
llvm::PointerIntPair< llvm::Value *, 1, bool Final,
llvm::Value TaskFunction,
QualType  SharedsTy,
llvm::Value Shareds,
const Expr *  IfCond,
ArrayRef< const Expr * >  PrivateVars,
ArrayRef< const Expr * >  PrivateCopies,
ArrayRef< const Expr * >  FirstprivateVars,
ArrayRef< const Expr * >  FirstprivateCopies,
ArrayRef< const Expr * >  FirstprivateInits,
ArrayRef< std::pair< OpenMPDependClauseKind, const Expr * >>  Dependences 
)
virtual
virtual void clang::emitTaskgroupRegion ( CodeGenFunction &  CGF,
const RegionCodeGenTy &  TaskgroupOpGen,
SourceLocation  Loc 
)
virtual

Emit a taskgroup region.

Parameters
TaskgroupOpGenGenerator for the statement associated with the given taskgroup region.
virtual llvm::Value* clang::emitTaskOutlinedFunction ( const OMPExecutableDirective &  D,
const VarDecl *  ThreadIDVar,
OpenMPDirectiveKind  InnermostKind,
const RegionCodeGenTy &  CodeGen 
)
virtual

Emits outlined function for the OpenMP task directive D. This outlined function has type void(*)(kmp_int32 ThreadID, kmp_int32 PartID, struct context_vars*).

Parameters
DOpenMP directive.
ThreadIDVarVariable for thread id in the current OpenMP region.
InnermostKindKind of innermost directive (for simple directives it is a directive itself, for combined - its innermost directive).
CodeGenCode generation sequence for the D directive.
virtual void clang::emitTaskwaitCall ( CodeGenFunction &  CGF,
SourceLocation  Loc 
)
virtual

Emit code for 'taskwait' directive.

virtual void clang::emitTaskyieldCall ( CodeGenFunction &  CGF,
SourceLocation  Loc 
)
virtual

Emits code for a taskyield directive.

virtual llvm::Value* clang::emitThreadIDAddress ( CodeGenFunction &  CGF,
SourceLocation  Loc 
)
virtual

Emits address of the word in a memory where current thread id is stored.

virtual llvm::Function* clang::emitThreadPrivateVarDefinition ( const VarDecl *  VD,
llvm::Value VDAddr,
SourceLocation  Loc,
bool  PerformInit,
CodeGenFunction *  CGF = nullptr 
)
virtual

Emit a code for initialization of threadprivate variable. It emits a call to runtime library which adds initial value to the newly created threadprivate variable (if it is not constant) and registers destructor for the variable (if any).

Parameters
VDThreadprivate variable.
VDAddrAddress of the global variable VD.
LocLocation of threadprivate declaration.
PerformInittrue if initialization expression is not constant.

Referenced by clang::CodeGen::CodeGenModule::EmitOMPThreadPrivateDecl().

void clang::emitThreadPrivateVarInit ( CodeGenFunction &  CGF,
llvm::Value VDAddr,
llvm::Value Ctor,
llvm::Value CopyCtor,
llvm::Value Dtor,
SourceLocation  Loc 
)

Emits initialization code for the threadprivate variables.

Parameters
VDAddrAddress of the global variable VD.
CtorPointer to a global init function for VD.
CopyCtorPointer to a global copy function for VD.
DtorPointer to a global destructor function for VD.
LocLocation of threadprivate declaration.
llvm::Value* clang::emitUpdateLocation ( CodeGenFunction &  CGF,
SourceLocation  Loc,
OpenMPLocationFlags  Flags = OMP_IDENT_KMPC 
)

Emits object of ident_t type with info for source location.

Parameters
FlagsFlags for OpenMP location.
bool clang::ExecuteCompilerInvocation ( CompilerInstance Clang)
SanitizerMask clang::expandSanitizerGroups ( SanitizerMask  Kinds)

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

Definition at line 30 of file Sanitizers.cpp.

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

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

Copy characters from Input to Buf, expanding any UCNs.

Definition at line 227 of file LiteralSupport.cpp.

References appendCodePoint().

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

ExprResult clang::ExprEmpty ( )
inline
ExprResult clang::ExprError ( )
inline

Definition at line 267 of file Ownership.h.

Referenced by clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnAsTypeExpr(), clang::Sema::ActOnBooleanCondition(), clang::Sema::ActOnBuiltinOffsetOf(), clang::Sema::ActOnCallExpr(), clang::Sema::ActOnCaseStmt(), clang::Sema::ActOnCastExpr(), clang::Sema::ActOnCharacterConstant(), clang::Sema::ActOnChooseExpr(), clang::Sema::ActOnClassMessage(), clang::Sema::ActOnClassPropertyRefExpr(), clang::Sema::ActOnConditionalOp(), clang::Sema::ActOnCUDAExecConfigExpr(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXNamedCast(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnCXXTypeConstructExpr(), clang::Sema::ActOnCXXTypeid(), clang::Sema::ActOnCXXUuidof(), clang::Sema::ActOnDecltypeExpression(), clang::Sema::ActOnDependentMemberExpr(), clang::Sema::ActOnDesignatedInitializer(), clang::Sema::ActOnExpressionTrait(), clang::Sema::ActOnFinishFullExpr(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnInstanceMessage(), clang::Sema::ActOnMemberAccessExpr(), clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnObjCAtSynchronizedOperand(), clang::Sema::ActOnOpenMPIdExpression(), clang::Sema::ActOnPostfixUnaryOp(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnSizeofParameterPackExpr(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStmtExpr(), clang::Sema::ActOnStringLiteral(), clang::Sema::ActOnSuperMessage(), clang::Sema::ActOnUnaryExprOrTypeTraitExpr(), clang::Sema::AddInitializerToDecl(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBinOp(), clang::Sema::BuildBlockForLambdaConversion(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildClassMessage(), clang::Sema::BuildCompoundLiteralExpr(), BuildCookedLiteralOperatorCall(), BuildCounterInit(), BuildCounterUpdate(), clang::Sema::BuildCStyleCastExpr(), BuildCXXCastArgument(), clang::Sema::BuildCXXDefaultArgExpr(), clang::Sema::BuildCXXDefaultInitExpr(), clang::Sema::BuildCXXFunctionalCastExpr(), clang::Sema::BuildCXXNamedCast(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXThrow(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildCXXTypeId(), clang::Sema::BuildCXXUuidof(), clang::Sema::BuildDeclarationNameExpr(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildExpressionTrait(), BuildFieldReferenceExpr(), clang::Sema::BuildForRangeBeginEndCall(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildLambdaExpr(), clang::Sema::BuildLiteralOperatorCall(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildObjCArrayLiteral(), clang::Sema::BuildObjCBoxedExpr(), clang::Sema::BuildObjCBridgedCast(), clang::Sema::BuildObjCDictionaryLiteral(), clang::Sema::BuildObjCEncodeExpression(), clang::Sema::BuildObjCNumericLiteral(), clang::Sema::BuildObjCSubscriptExpression(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::buildOverloadedCallSet(), clang::Sema::BuildPossibleImplicitMemberExpr(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildQualifiedTemplateIdExpr(), BuildRecoveryCallExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildTypeTrait(), clang::Sema::BuildUnaryOp(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorLiteral(), clang::Sema::CallExprUnaryConversions(), clang::Sema::CheckBooleanCondition(), clang::Sema::CheckConditionVariable(), CheckConvertedConstantExpression(), clang::Sema::CheckExtVectorCast(), CheckObjCCollectionLiteralElement(), clang::Sema::CheckObjCForCollectionOperand(), clang::Sema::CheckPackExpansion(), clang::Sema::CheckPlaceholderExpr(), clang::Sema::checkPseudoObjectAssignment(), clang::Sema::checkPseudoObjectIncDec(), clang::Sema::CheckTemplateArgument(), clang::Sema::checkUnknownAnyArg(), clang::Sema::checkUnknownAnyCast(), clang::Sema::CheckVarTemplateId(), CopyObject(), clang::Sema::CreateBuiltinArraySubscriptExpr(), clang::Sema::CreateBuiltinBinOp(), clang::Sema::CreateBuiltinUnaryOp(), CreateFunctionRefExpr(), clang::Sema::CreateGenericSelectionExpr(), clang::Sema::CreateOverloadedArraySubscriptExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CreateOverloadedUnaryOp(), clang::Sema::CreateUnaryExprOrTypeTraitExpr(), clang::Sema::DefaultArgumentPromotion(), clang::Sema::DefaultFunctionArrayConversion(), clang::Sema::DefaultFunctionArrayLvalueConversion(), clang::Sema::DefaultLvalueConversion(), clang::Sema::DefaultVariadicArgumentPromotion(), diagnoseAmbiguousConversion(), diagnoseUnknownAnyExpr(), ExprError(), FinishOverloadedCallExpr(), clang::Sema::HandleExprPropertyRefExpr(), clang::Sema::LookupInlineAsmIdentifier(), clang::Sema::LookupInObjCMethod(), LookupMemberExpr(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MaybeConvertParenListExprToParenExpr(), clang::Sema::MaybeCreateExprWithCleanups(), clang::Parser::ParseAssignmentExpression(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::Sema::PerformContextualImplicitConversion(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformContextuallyConvertToObjCPointer(), clang::Sema::PerformCopyInitialization(), clang::Sema::PerformImplicitConversion(), performLambdaVarCaptureInitialization(), clang::Sema::PerformMoveOrCopyInitialization(), clang::Sema::PerformObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), clang::Sema::PerformOpenMPImplicitIntegerConversion(), clang::TreeTransform< Derived >::RebuildCXXConstructExpr(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), clang::TreeTransform< Derived >::RebuildCXXPseudoDestructorExpr(), clang::TreeTransform< Derived >::RebuildDesignatedInitExpr(), clang::TreeTransform< Derived >::RebuildMemberExpr(), clang::TreeTransform< Derived >::RebuildUnaryExprOrTypeTrait(), rebuildUnknownAnyFunction(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), clang::Sema::SemaBuiltinShuffleVector(), clang::Sema::SemaConvertVectorExpr(), SubstDefaultTemplateArgument(), clang::TreeTransform< Derived >::TransformCXXNamedCastExpr(), clang::TreeTransform< Derived >::TransformInitializer(), TryReinterpretCast(), clang::Sema::tryToRecoverWithCall(), clang::Sema::UsualUnaryConversions(), clang::Sema::VerifyBitField(), clang::Sema::VerifyIntegerConstantExpression(), and WidenIterationCount().

ExprResult clang::ExprError ( const DiagnosticBuilder &  )
inline

Definition at line 270 of file Ownership.h.

References ExprError().

finals_const_range clang::finals ( )

Definition at line 1746 of file OpenMPClause.h.

References getFinals().

clang::for ( auto typeArg:T->  getTypeArgsAsWritten())
Initial value:
{
if (T->getBaseType().getTypePtr() != T)
TRY_TO(TraverseType(T->getBaseType()))
#define TRY_TO(CALL_EXPR)

Definition at line 943 of file DataRecursiveASTVisitor.h.

References TRY_TO().

Referenced by clang::TextDiagnosticBuffer::FlushDiagnostics(), clang::format::CommaSeparatedList::precomputeFormattingInfos(), and clang::ASTDeclReader::VisitIndirectFieldDecl().

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

DiagnosticsEngine argument formatting function for diagnostics that involve AST nodes.

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

Definition at line 267 of file ASTDiagnostic.cpp.

References clang::DiagnosticsEngine::ak_attr, clang::DiagnosticsEngine::ak_declarationname, clang::DiagnosticsEngine::ak_declcontext, clang::DiagnosticsEngine::ak_nameddecl, clang::DiagnosticsEngine::ak_nestednamespec, clang::DiagnosticsEngine::ak_qualtype, clang::DiagnosticsEngine::ak_qualtype_pair, Context, ConvertTypeToDiagnosticString(), clang::TemplateDiffTypes::ElideType, FormatTemplateTypeDiff(), clang::TemplateDiffTypes::FromType, clang::DeclarationName::getFromOpaqueInteger(), clang::QualType::getFromOpaquePtr(), clang::ASTContext::getLangOpts(), clang::NamedDecl::getNameForDiagnostic(), clang::ASTContext::getPrintingPolicy(), clang::Attr::getSpelling(), clang::ASTContext::getTypeDeclType(), clang::DeclContext::isClosure(), isLambdaCallOperator(), clang::DeclContext::isTranslationUnit(), clang::NestedNameSpecifier::print(), clang::TemplateDiffTypes::PrintFromType, clang::TemplateDiffTypes::PrintTree, clang::TemplateDiffTypes::ShowColors, clang::TemplateDiffTypes::TemplateDiffUsed, and clang::TemplateDiffTypes::ToType.

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

bool clang::FTIHasNonVoidParameters ( const DeclaratorChunk::FunctionTypeInfo &  FTI)
inline
bool clang::FTIHasSingleVoidParameter ( const DeclaratorChunk::FunctionTypeInfo &  FTI)
inline
void clang::functionFinished ( CodeGenFunction &  CGF)

Cleans up references to the objects in finished function.

virtual llvm::Value* clang::getAddrOfThreadPrivate ( CodeGenFunction &  CGF,
const VarDecl *  VD,
llvm::Value VDAddr,
SourceLocation  Loc 
)
virtual

Returns address of the threadprivate variable for the current thread.

Parameters
VDThreadprivate variable.
VDAddrAddress of the global variable VD.
LocLocation of the reference to threadprivate var.
Returns
Address of the threadprivate variable for the current thread.
prec::Level clang::getBinOpPrecedence ( tok::TokenKind  Kind,
bool  GreaterThanIsOperator,
bool  CPlusPlus11 
)
const Expr * clang::getCalcStep ( )

Returns expression to calculate linear step.

Definition at line 1705 of file OpenMPClause.h.

References getFinals().

std::string clang::getClangFullCPPVersion ( )

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

Definition at line 139 of file Version.cpp.

References CLANG_VERSION_STRING, and getClangFullRepositoryVersion().

Referenced by InitializePredefinedMacros().

std::string clang::getClangFullRepositoryVersion ( )
std::string clang::getClangFullVersion ( )

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

Definition at line 118 of file Version.cpp.

References getClangToolFullVersion().

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

std::string clang::getClangRepositoryPath ( )

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

Definition at line 27 of file Version.cpp.

Referenced by getClangFullRepositoryVersion().

std::string clang::getClangRevision ( )

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

Definition at line 74 of file Version.cpp.

Referenced by getClangFullRepositoryVersion().

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

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

Referenced by getClangFullVersion().

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

Definition at line 122 of file Version.cpp.

References CLANG_VERSION_STRING, and getClangFullRepositoryVersion().

SourceLocation clang::getColonLoc ( ) const

Returns the location of '('.

Definition at line 1698 of file OpenMPClause.h.

References ColonLoc.

ImplicitConversionRank clang::GetConversionRank ( ImplicitConversionKind  Kind)

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

Definition at line 107 of file SemaOverload.cpp.

References ICK_Num_Conversion_Kinds, ICR_Complex_Real_Conversion, ICR_Conversion, ICR_Exact_Match, ICR_Promotion, and ICR_Writeback_Conversion.

Referenced by clang::Sema::AddConversionCandidate(), and clang::StandardConversionSequence::getRank().

llvm::Value * CGOpenMPRuntime::getCriticalRegionLock ( StringRef  CriticalName)

Returns corresponding lock object for the specified critical region name. If the lock object does not exist it is created, otherwise the reference to the existing copy is returned.

Parameters
CriticalNameName of the critical region.

Definition at line 1243 of file CGOpenMPRuntime.cpp.

References getOrCreateInternalVariable(), and clang::CodeGen::KmpCriticalNameTy.

CXCursorKind clang::getCursorKindForDecl ( const Decl D)
QualType clang::getDeclUsageType ( ASTContext C,
const NamedDecl ND 
)

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

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

Definition at line 653 of file SemaCodeComplete.cpp.

References clang::Type::getAs(), clang::Decl::getAsFunction(), clang::ASTContext::getObjCInterfaceType(), clang::Type::getPointeeType(), clang::ASTContext::getTypeDeclType(), clang::NamedDecl::getUnderlyingDecl(), and Property.

InheritableAttr* clang::getDLLAttr ( Decl *  D)
inline
ArrayRef< const Expr * > clang::getFinals ( )

Sets the list of final update expressions for linear variables.

Definition at line 1658 of file OpenMPClause.h.

References getUpdates(), and clang::OMPVarListClause< OMPLinearClause >::varlist_size().

Referenced by finals(), getCalcStep(), and getStep().

Linkage clang::getFormalLinkage ( Linkage  L)
inline
FunctionType::ExtInfo clang::getFunctionExtInfo ( const Type &  t)
inline
FunctionType::ExtInfo clang::getFunctionExtInfo ( QualType  t)
inline

Definition at line 5150 of file Type.h.

References getFunctionExtInfo().

llvm::Type * CGOpenMPRuntime::getIdentTyPointerTy ( )
ArrayRef< const Expr * > clang::getInits ( )
llvm::Type * CGOpenMPRuntime::getKmpc_MicroPointerTy ( )

Returns pointer to kmpc_micro type.

Definition at line 448 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::Kmpc_MicroTy.

Referenced by createRuntimeFunction().

DeclContext* clang::getLambdaAwareParentOfDeclContext ( DeclContext *  DC)
inline
StringRef clang::getLambdaStaticInvokerName ( )
inline
int clang::getLastArgIntValue ( const llvm::opt::ArgList &  Args,
llvm::opt::OptSpecifier  Id,
int  Default,
DiagnosticsEngine *  Diags = nullptr 
)

Return the value of the last argument as an integer, or a default. If Diags is non-null, emits an error if the argument is given, but non-integral.

Referenced by getLastArgIntValue(), getOptimizationLevel(), ParseAnalyzerArgs(), ParseCodeGenArgs(), ParseHeaderSearchArgs(), and ParseLangArgs().

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

Definition at line 188 of file Utils.h.

References getLastArgIntValue().

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

Definition at line 2069 of file CompilerInvocation.cpp.

template<typename IntTy >
static IntTy clang::getLastArgIntValueImpl ( const ArgList &  Args,
OptSpecifier  Id,
IntTy  Default,
DiagnosticsEngine Diags 
)
static

Definition at line 2053 of file CompilerInvocation.cpp.

References clang::DiagnosticsEngine::Report().

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

Definition at line 198 of file Utils.h.

References getLastArgUInt64Value().

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

Definition at line 2074 of file CompilerInvocation.cpp.

std::string clang::getLLVMRepositoryPath ( )

Retrieves the repository path from which LLVM was built.

This supports LLVM residing in a separate repository from clang.

Definition at line 57 of file Version.cpp.

Referenced by getClangFullRepositoryVersion().

std::string clang::getLLVMRevision ( )

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

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

Definition at line 82 of file Version.cpp.

Referenced by getClangFullRepositoryVersion().

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

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

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

Definition at line 2987 of file SemaCodeComplete.cpp.

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

Referenced by AddMacroResults().

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

Retrieve the spelling of the given nullability kind.

Definition at line 651 of file IdentifierTable.cpp.

References NonNull, Nullable, and Unspecified.

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

static Selector clang::GetNullarySelector ( StringRef  name,
ASTContext &  Ctx 
)
inlinestatic
OpenMPClauseKind clang::getOpenMPClauseKind ( llvm::StringRef  Str)
const char * clang::getOpenMPClauseName ( OpenMPClauseKind  Kind)
OpenMPDirectiveKind clang::getOpenMPDirectiveKind ( llvm::StringRef  Str)
const char * clang::getOpenMPDirectiveName ( OpenMPDirectiveKind  Kind)
unsigned clang::getOpenMPSimpleClauseType ( OpenMPClauseKind  Kind,
llvm::StringRef  Str 
)
const char * clang::getOpenMPSimpleClauseTypeName ( OpenMPClauseKind  Kind,
unsigned  Type 
)
const char * clang::getOperatorSpelling ( OverloadedOperatorKind  Operator)

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

Definition at line 637 of file IdentifierTable.cpp.

References NUM_OVERLOADED_OPERATORS, and OO_None.

Referenced by clang::TemplateName::print().

llvm::Constant * CGOpenMPRuntime::getOrCreateInternalVariable ( llvm::Type *  Ty,
const llvm::Twine &  Name 
)

Gets (if variable with the given name already exist) or creates internal global variable with the specified Name. The created variable has linkage CommonLinkage by default and is initialized by null value.

Parameters
TyType of the global variable. If it is exist already the type must be the same.
NameName of the variable.

Definition at line 1224 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::CodeGenModule::getModule(), and clang::CodeGen::InternalVars.

Referenced by getCriticalRegionLock(), and getOrCreateThreadPrivateCache().

llvm::Constant * CGOpenMPRuntime::getOrCreateThreadPrivateCache ( const VarDecl VD)

If the specified mangled name is not in the module, create and return threadprivate cache object. This object is a pointer's worth of storage that's reserved for use by the OpenMP runtime.

Parameters
VDThreadprivate variable.
Returns
Cache variable for the specified threadprivate.

Definition at line 934 of file CGOpenMPRuntime.cpp.

References clang::CodeGen::CodeGenModule::getContext(), clang::CodeGen::CodeGenModule::getLangOpts(), clang::CodeGen::CodeGenModule::getMangledName(), getOrCreateInternalVariable(), clang::ASTContext::getTargetInfo(), clang::CodeGen::CodeGenTypeCache::Int8PtrPtrTy, and clang::TargetInfo::isTLSSupported().

Decl * clang::getPrimaryMergedDecl ( Decl D)

Get the primary declaration for a declaration from an AST file. That will be the first-loaded declaration.

Definition at line 38 of file Decl.cpp.

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

Referenced by clang::Mergeable< UnresolvedUsingTypenameDecl >::getFirstDecl().

SimplifiedTypeClass clang::getSimplifiedTypeClass ( CanQualType  T)

Determine the simplified type class of the given canonical type.

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

Definition at line 584 of file SemaCodeComplete.cpp.

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

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

Definition at line 131 of file AttrIterator.h.

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

Examines the FunctionScopeInfo stack to determine the nearest enclosing lambda (to the current lambda) that is 'capture-capable' for the variable referenced in the current lambda (i.e. VarToCapture). If successful, returns the index into Sema's FunctionScopeInfo stack of the capture-capable lambda's LambdaScopeInfo. See Implementation for more detailed comments.

Examines the FunctionScopeInfo stack to determine the nearest enclosing lambda (to the current lambda) that is 'capture-capable' for the variable referenced in the current lambda (i.e. VarToCapture). If successful, returns the index into Sema's FunctionScopeInfo stack of the capture-capable lambda's LambdaScopeInfo.

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

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

Definition at line 170 of file SemaLambda.cpp.

References clang::Sema::CheckCXXThisCapture(), clang::Sema::getCurGenericLambda(), getStackIndexOfNearestEnclosingCaptureReadyLambda(), clang::sema::LambdaScopeInfo::PotentialThisCaptureLocation, clang::Sema::TryCapture_Implicit, and clang::Sema::tryCaptureVariable().

Referenced by CheckIfAnyEnclosingLambdasMustCaptureAnyPotentialCaptures().

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

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

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

Definition at line 104 of file SelectorLocationsKind.cpp.

References getStandardSelLoc().

Referenced by clang::ObjCMethodDecl::getSelectorLoc(), and clang::ObjCMessageExpr::getSelectorLoc().

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

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

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

Definition at line 121 of file SelectorLocationsKind.cpp.

References getStandardSelLoc().

const Expr * clang::getStep ( )

Returns linear step.

Definition at line 1701 of file OpenMPClause.h.

References getFinals().

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

Retrieves the range of the given template parameter lists.

Definition at line 39 of file SemaTemplate.cpp.

llvm::Value* clang::getThreadID ( CodeGenFunction &  CGF,
SourceLocation  Loc 
)

Gets thread id value for the current thread.

static Selector clang::GetUnarySelector ( StringRef  name,
ASTContext &  Ctx 
)
inlinestatic

Utility function for constructing an unary selector.

Definition at line 2483 of file ASTContext.h.

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

static const FunctionProtoType* clang::GetUnderlyingFunction ( QualType  T)
static
ArrayRef< const Expr * > clang::getUpdates ( )

Sets the list of update expressions for linear variables.

Definition at line 1650 of file OpenMPClause.h.

References getInits(), and clang::OMPVarListClause< OMPLinearClause >::varlist_size().

Referenced by getFinals(), and updates().

int clang::hasAttribute ( AttrSyntax  Syntax,
const IdentifierInfo Scope,
const IdentifierInfo Attr,
const llvm::Triple &  T,
const LangOptions LangOpts 
)

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

Definition at line 6 of file Attributes.cpp.

References clang::IdentifierInfo::getName().

Referenced by checkNewAttributesAfterDef().

static bool clang::hasImplicitExceptionSpec ( FunctionDecl *  Decl)
static
template<typename SpecificAttr , typename Container >
bool clang::hasSpecificAttr ( const Container &  container)
inline

Definition at line 126 of file AttrIterator.h.

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

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

Definition at line 97 of file SelectorLocationsKind.cpp.

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

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

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

Definition at line 114 of file SelectorLocationsKind.cpp.

clang::if ( T->  getSizeExpr()) -> getSizeExpr()))
void clang::InitializePreprocessor ( Preprocessor PP,
const PreprocessorOptions InitOpts,
const PCHContainerReader PCHContainerRdr,
const FrontendOptions FEOpts 
)
inits_const_range clang::inits ( )

Definition at line 1722 of file OpenMPClause.h.

References getInits().

Referenced by clang::InitListExpr::setArrayFiller().

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

Definition at line 203 of file OpenMPKinds.cpp.

References OMPC_unknown, and OMPD_unknown.

static LLVM_READONLY bool clang::isAlphanumeric ( unsigned char  c)
inlinestatic
static LLVM_READNONE bool clang::isASCII ( char  c)
inlinestatic

Returns true if this is an ASCII character.

Definition at line 43 of file CharInfo.h.

Referenced by clang::StringLiteral::containsNonAsciiOrNull().

bool clang::isBetterOverloadCandidate ( Sema S,
const OverloadCandidate Cand1,
const OverloadCandidate Cand2,
SourceLocation  Loc,
bool  UserDefinedConversion = false 
)
static LLVM_READONLY bool clang::isDigit ( unsigned char  c)
inlinestatic
bool CGOpenMPRuntime::isDynamic ( OpenMPScheduleClauseKind  ScheduleKind) const
virtual

Check if the specified ScheduleKind is dynamic. This kind of worksharing directive is emitted without outer loop.

Parameters
ScheduleKindSchedule Kind specified in the 'schedule' clause.

Definition at line 1619 of file CGOpenMPRuntime.cpp.

References getRuntimeSchedule(), OMP_sch_static, and OMP_sch_static_chunked.

bool clang::isDynamicExceptionSpec ( ExceptionSpecificationType  ESpecType)
inline
bool clang::IsEnumDeclComplete ( EnumDecl *  ED)
inline

Check if the given decl is complete.

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

Definition at line 3830 of file Decl.h.

References clang::EnumDecl::isComplete().

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

bool clang::IsEnumDeclScoped ( EnumDecl *  ED)
inline

Check if the given decl is scoped.

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

Definition at line 3838 of file Decl.h.

References clang::EnumDecl::isScoped().

Referenced by clang::Type::isIntegerType().

bool clang::isExternalFormalLinkage ( Linkage  L)
inline
bool clang::isExternallyVisible ( Linkage  L)
inline
bool clang::isGenericLambdaCallOperatorSpecialization ( const CXXMethodDecl *  MD)
inline
bool clang::isGenericLambdaCallOperatorSpecialization ( DeclContext *  DC)
inline

Definition at line 63 of file ASTLambda.h.

References isGenericLambdaCallOperatorSpecialization().

static LLVM_READONLY bool clang::isHexDigit ( unsigned char  c)
inlinestatic
static LLVM_READONLY bool clang::isHorizontalWhitespace ( unsigned char  c)
inlinestatic

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

Note that this returns false for '\0'.

Definition at line 71 of file CharInfo.h.

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

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

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

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

Definition at line 59 of file CharInfo.h.

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

Referenced by clang::Lexer::isIdentifierBodyChar(), isValidIdentifier(), parseName(), and sanitizeFilenameAsIdentifier().

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

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

Definition at line 49 of file CharInfo.h.

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

Referenced by isValidIdentifier(), IsValidIdentifier(), and parseName().

bool clang::isLambdaCallOperator ( const CXXMethodDecl *  MD)
inline
bool clang::isLambdaCallOperator ( const DeclContext *  DC)
inline

Definition at line 34 of file ASTLambda.h.

References isLambdaCallOperator().

bool clang::isLambdaConversionOperator ( CXXConversionDecl *  C)
inline
bool clang::isLambdaConversionOperator ( Decl *  D)
inline

Definition at line 52 of file ASTLambda.h.

References isLambdaConversionOperator().

bool clang::isLegalForFunction ( StorageClass  SC)
inline

Checks whether the given storage class is legal for functions.

Definition at line 187 of file Specifiers.h.

References SC_PrivateExtern.

bool clang::isLegalForVariable ( StorageClass  SC)
inline

Checks whether the given storage class is legal for variables.

Definition at line 192 of file Specifiers.h.

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

static LLVM_READONLY bool clang::isLetter ( unsigned char  c)
inlinestatic
static LLVM_READONLY bool clang::isLowercase ( unsigned char  c)
inlinestatic

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

Definition at line 100 of file CharInfo.h.

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

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

bool clang::isNoexceptExceptionSpec ( ExceptionSpecificationType  ESpecType)
inline
bool clang::isOpenMPLoopDirective ( OpenMPDirectiveKind  DKind)

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

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

Definition at line 358 of file OpenMPKinds.cpp.

Referenced by clang::Sema::ActOnOpenMPLoopInitialization(), and CheckOpenMPIterationSpace().

bool clang::isOpenMPParallelDirective ( OpenMPDirectiveKind  DKind)

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

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

Definition at line 372 of file OpenMPKinds.cpp.

Referenced by clang::Sema::ActOnOpenMPFirstprivateClause(), clang::Sema::ActOnOpenMPLastprivateClause(), clang::Sema::ActOnOpenMPReductionClause(), CheckNestingOfRegions(), and clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseFinal().

bool clang::isOpenMPPrivate ( OpenMPClauseKind  Kind)

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

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

Definition at line 387 of file OpenMPKinds.cpp.

Referenced by clang::Sema::ActOnOpenMPRegionEnd(), CheckOpenMPIterationSpace(), and clang::Sema::IsOpenMPCapturedVar().

bool clang::isOpenMPSimdDirective ( OpenMPDirectiveKind  DKind)

Checks if the specified directive is a simd directive.

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

Definition at line 382 of file OpenMPKinds.cpp.

Referenced by CheckNestingOfRegions(), and CheckOpenMPIterationSpace().

bool clang::isOpenMPTeamsDirective ( OpenMPDirectiveKind  DKind)

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

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

Definition at line 378 of file OpenMPKinds.cpp.

Referenced by clang::Sema::ActOnOpenMPTargetDirective(), and CheckNestingOfRegions().

bool clang::isOpenMPThreadPrivate ( OpenMPClauseKind  Kind)

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

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

Definition at line 393 of file OpenMPKinds.cpp.

References OMPC_threadprivate.

bool clang::isOpenMPWorksharingDirective ( OpenMPDirectiveKind  DKind)
static LLVM_READONLY bool clang::isPreprocessingNumberBody ( unsigned char  c)
inlinestatic
static LLVM_READONLY bool clang::isPrintable ( unsigned char  c)
inlinestatic

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

Definition at line 140 of file CharInfo.h.

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

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

static LLVM_READONLY bool clang::isPunctuation ( unsigned char  c)
inlinestatic

Return true if this character is an ASCII punctuation character.

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

Definition at line 132 of file CharInfo.h.

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

Referenced by clang::Diagnostic::FormatDiagnostic(), and ScanFormat().

static LLVM_READONLY bool clang::isRawStringDelimBody ( unsigned char  c)
inlinestatic
bool CGOpenMPRuntime::isStaticNonchunked ( OpenMPScheduleClauseKind  ScheduleKind,
bool  Chunked 
) const
virtual

Check if the specified ScheduleKind is static non-chunked. This kind of worksharing directive is emitted without outer loop.

Parameters
ScheduleKindSchedule kind specified in the 'schedule' clause.
ChunkedTrue if chunk is specified in the clause.

Definition at line 1613 of file CGOpenMPRuntime.cpp.

References getRuntimeSchedule(), and OMP_sch_static.

bool clang::isTemplateInstantiation ( TemplateSpecializationKind  Kind)
inline
bool clang::isUnresolvedExceptionSpec ( ExceptionSpecificationType  ESpecType)
inline
static LLVM_READONLY bool clang::isUppercase ( unsigned char  c)
inlinestatic

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

Definition at line 106 of file CharInfo.h.

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

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

static LLVM_READONLY bool clang::isValidIdentifier ( StringRef  S)
inlinestatic

Return true if this is a valid ASCII identifier.

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

Definition at line 185 of file CharInfo.h.

References isIdentifierBody(), and isIdentifierHead().

Referenced by sanitizeFilenameAsIdentifier().

bool clang::IsVariableAConstantExpression ( VarDecl *  Var,
ASTContext &  Context 
)
inline
static LLVM_READONLY bool clang::isVerticalWhitespace ( unsigned char  c)
inlinestatic

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

Note that this returns false for '\0'.

Definition at line 79 of file CharInfo.h.

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

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

Definition at line 20 of file CommentParser.cpp.

References isWhitespace().

static LLVM_READONLY bool clang::isWhitespace ( unsigned char  c)
inlinestatic
class clang::LLVM_ALIGNAS ( LLVM_PTR_SIZE  )

Stmt - This represents one statement.

The statement class.

Whether this initializer list originally had a GNU array-range designator in it. This is a temporary marker used by CodeGen.

The kind of type trait, which is a value of a TypeTrait enumerator.

If this expression is not value-dependent, this indicates whether the trait evaluated true or false.

The number of arguments to this type trait.

A placeholder type used to construct an empty shell of a type, that will be filled in later (e.g., by some de-serialization).

Whether statistic collection is enabled.

Construct an empty statement.

SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. We assume AST clients will have a pointer to the respective SourceManager.

Dumps the specified AST fragment and all subtrees to llvm::errs().

dumpColor - same as dump(), but forces color highlighting.

dumpPretty/printPretty - These two methods do a "pretty print" of the AST back to its original source language syntax.

viewAST - Visualize an AST rooted at this Stmt* using GraphViz. Only works on systems with GraphViz (Mac OS X) or dot+gv installed.

Skip past any implicit AST nodes which might surround this statement, such as ExprWithCleanups or ImplicitCastExpr nodes.

Skip no-op (attributed, compound) container stmts and skip captured stmt at the top, if IgnoreCaptured is true.

Child Iterators: All subclasses must implement 'children' to permit easy iteration over the substatements/subexpessions of an AST node. This permits easy iteration over all nodes in the AST.

Produce a unique representation of the given statement.

Parameters
IDonce the profiling operation is complete, will contain the unique representation of the given statement.
Contextthe AST context in which the statement resides
Canonicalwhether the profile should be based on the canonical representation of this statement (e.g., where non-type template parameters are identified by index/level rather than their declaration pointers) or the exact representation of the statement as written in the source.

Definition at line 109 of file Stmt.h.

References bytes(), AttributeLangSupport::C, children(), Context, dump(), and SM.

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

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

Definition at line 544 of file SemaOverload.cpp.

References Context, clang::DeductionFailureInfo::Data, Diag(), clang::DeductionFailureInfo::Diagnostic, clang::sema::TemplateDeductionInfo::Expression, clang::sema::TemplateDeductionInfo::FirstArg, clang::DeductionFailureInfo::HasDiagnostic, clang::sema::TemplateDeductionInfo::hasSFINAEDiagnostic(), clang::sema::TemplateDeductionInfo::Param, clang::DeductionFailureInfo::Result, Result, clang::sema::TemplateDeductionInfo::SecondArg, clang::sema::TemplateDeductionInfo::take(), clang::sema::TemplateDeductionInfo::takeSFINAEDiagnostic(), clang::Sema::TDK_FailedOverloadResolution, clang::Sema::TDK_Incomplete, clang::Sema::TDK_Inconsistent, clang::Sema::TDK_InstantiationDepth, clang::Sema::TDK_Invalid, clang::Sema::TDK_InvalidExplicitArguments, clang::Sema::TDK_MiscellaneousDeductionFailure, clang::Sema::TDK_NonDeducedMismatch, clang::Sema::TDK_SubstitutionFailure, clang::Sema::TDK_Success, clang::Sema::TDK_TooFewArguments, clang::Sema::TDK_TooManyArguments, and clang::Sema::TDK_Underqualified.

Referenced by clang::Sema::ActOnExplicitInstantiation(), clang::Sema::AddMethodTemplateCandidate(), clang::Sema::AddTemplateConversionCandidate(), clang::Sema::AddTemplateOverloadCandidate(), clang::Sema::CheckFunctionTemplateSpecialization(), clang::Sema::CheckVarTemplateId(), clang::Sema::InstantiateClassTemplateSpecialization(), and clang::Sema::ResolveSingleFunctionTemplateSpecialization().

void clang::MarkVarDeclODRUsed ( VarDecl *  Var,
SourceLocation  Loc,
Sema &  SemaRef,
const unsigned *const  FunctionScopeIndexToStopAt 
)
inline
CanThrowResult clang::mergeCanThrow ( CanThrowResult  CT1,
CanThrowResult  CT2 
)
inline

Definition at line 52 of file ExceptionSpecificationType.h.

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

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

Compute the minimum linkage given two linkages.

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

Definition at line 96 of file Linkage.h.

References InternalLinkage, NoLinkage, UniqueExternalLinkage, and VisibleNoLinkage.

Referenced by clang::LinkageInfo::mergeLinkage().

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

Definition at line 47 of file Visibility.h.

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

Definition at line 183 of file SourceLocation.h.

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

Definition at line 193 of file CanonicalType.h.

References clang::CanQual< T >::getAsOpaquePtr().

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

Definition at line 51 of file DiagnosticOptions.h.

References clang::ast_matchers::type.

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

Definition at line 63 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

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

Definition at line 68 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

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

Definition at line 72 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

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

Definition at line 187 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

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

Ordering on two declaration names. If both names are identifiers, this provides a lexicographical ordering.

Definition at line 313 of file DeclarationName.h.

References clang::DeclarationName::compare().

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

Definition at line 623 of file CodeCompleteConsumer.cpp.

References getOrderedName().

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

Definition at line 19 of file DiagnosticOptions.cpp.

References clang::ast_matchers::type.

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
const Attr *  At 
)
inline
raw_ostream & clang::operator<< ( raw_ostream &  Out,
const VersionTuple V 
)
const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic &  PD,
const Attr *  At 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
CanQualType  T 
)
inline

Definition at line 204 of file CanonicalType.h.

raw_ostream & clang::operator<< ( raw_ostream &  OS,
DeclarationName  N 
)
raw_ostream & clang::operator<< ( raw_ostream &  out,
const ObjCRuntime value 
)
const DiagnosticBuilder & clang::operator<< ( const DiagnosticBuilder DB,
TemplateName  N 
)

Insertion operator for diagnostics. This allows sending TemplateName's into a diagnostic with <<.

Definition at line 159 of file TemplateName.cpp.

References clang::TemplateName::print().

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

Definition at line 343 of file Decl.h.

References clang::NamedDecl::printName().

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

Definition at line 399 of file PartialDiagnostic.h.

References clang::PartialDiagnostic::Emit().

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

Insertion operator for diagnostics. This allows sending NestedNameSpecifiers into a diagnostic with <<.

Definition at line 506 of file NestedNameSpecifier.h.

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

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

Insertion operator for diagnostics. This allows sending DeclarationName's into a diagnostic with <<.

Definition at line 546 of file DeclarationName.h.

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

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

Insertion operator for partial diagnostics. This allows binding DeclarationName's into a partial diagnostic with <<.

Definition at line 555 of file DeclarationName.h.

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

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

Definition at line 562 of file DeclarationName.h.

References clang::DeclarationNameInfo::printName().

const DiagnosticBuilder & clang::operator<< ( const DiagnosticBuilder DB,
const TemplateArgument Arg 
)
raw_ostream& clang::operator<< ( raw_ostream &  OS,
const CodeCompletionString &  CCS 
)
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
const AddFlagValue  V 
)
inline

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

Definition at line 1011 of file Diagnostic.h.

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

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

Definition at line 1017 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddString().

const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
const char *  Str 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
int  I 
)
inline
template<typename T >
std::enable_if<std::is_same<T, bool>::value, const DiagnosticBuilder &>::type clang::operator<< ( const DiagnosticBuilder &  DB,
I 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
unsigned  I 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
tok::TokenKind  I 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
const IdentifierInfo *  II 
)
inline
template<typename T >
std::enable_if<std::is_same<T, DeclContext>::value, const DiagnosticBuilder &>::type clang::operator<< ( const DiagnosticBuilder &  DB,
T *  DC 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
const SourceRange &  R 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
ArrayRef< SourceRange >  Ranges 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
const CharSourceRange &  R 
)
inline

Definition at line 1092 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddSourceRange().

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

Definition at line 1098 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddFixItHint().

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

Definition at line 1104 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddFixItHint().

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

Definition at line 27 of file Diagnostic.cpp.

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

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

Definition at line 1967 of file DeclObjC.cpp.

References clang::ObjCCategoryImplDecl::getName().

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

Definition at line 2019 of file DeclObjC.cpp.

References clang::ObjCImplementationDecl::getName().

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

Insertion operator for diagnostics. This allows sending an AccessSpecifier into a diagnostic with <<.

Definition at line 2232 of file DeclCXX.cpp.

References getAccessName().

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

Definition at line 2237 of file DeclCXX.cpp.

References getAccessName().

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

Insertion operator for diagnostics. This allows sending NamedDecl's into a diagnostic with <<.

Definition at line 3778 of file Decl.h.

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

const PartialDiagnostic& clang::operator<< ( const PartialDiagnostic &  PD,
const NamedDecl *  ND 
)
inline
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
QualType  T 
)
inline

Insertion operator for diagnostics. This allows sending QualType's into a diagnostic with <<.

Definition at line 5529 of file Type.h.

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

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

Insertion operator for partial diagnostics. This allows sending QualType's into a diagnostic with <<.

Definition at line 5538 of file Type.h.

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

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

Ordering on two declaration names. If both names are identifiers, this provides a lexicographical ordering.

Definition at line 325 of file DeclarationName.h.

References clang::DeclarationName::compare().

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

Definition at line 790 of file CodeCompleteConsumer.h.

References X.

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

Definition at line 179 of file SourceLocation.h.

References clang::SourceLocation::getRawEncoding().

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

Definition at line 188 of file CanonicalType.h.

References clang::CanQual< T >::getAsOpaquePtr().

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

Ordering on two declaration names. If both names are identifiers, this provides a lexicographical ordering.

Definition at line 319 of file DeclarationName.h.

References clang::DeclarationName::compare().

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

Definition at line 785 of file CodeCompleteConsumer.h.

References X.

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

Ordering on two declaration names. If both names are identifiers, this provides a lexicographical ordering.

Definition at line 331 of file DeclarationName.h.

References clang::DeclarationName::compare().

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

Definition at line 795 of file CodeCompleteConsumer.h.

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

Definition at line 44 of file DiagnosticOptions.h.

References clang::ast_matchers::type.

DiagnosticLevelMask clang::operator~ ( DiagnosticLevelMask  M)
inline

Definition at line 39 of file DiagnosticOptions.h.

References clang::ast_matchers::type.

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

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

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

Parameters
TUKindThe kind of translation unit being parsed.
CompletionConsumerIf given, an object to consume code completion results.

ParseAST - Parse the entire file specified, notifying the ASTConsumer as the file is parsed. This inserts the parsed decls into the translation unit held by Ctx.

Definition at line 84 of file ParseAST.cpp.

References S.

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

void clang::ParseAST ( Sema S,
bool  PrintStats = false,
bool  SkipFunctionBodies = false 
)
bool clang::ParseDiagnosticArgs ( DiagnosticOptions &  Opts,
llvm::opt::ArgList &  Args,
DiagnosticsEngine *  Diags = nullptr 
)

Fill out Opts based on the options given in Args.

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

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

Referenced by clang::CompilerInvocation::CreateFromArgs().

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

Parse a single value from a -fsanitize= or -fno-sanitize= value list. Returns a non-zero SanitizerMask, or 0 if Value is not known.

Definition at line 20 of file Sanitizers.cpp.

References SANITIZER.

Referenced by describeSanitizeArg(), handleNoSanitizeAttr(), parseArgValues(), and parseSanitizerKinds().

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

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

Definition at line 44 of file Warnings.cpp.

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

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

void clang::RewriteIncludesInInput ( Preprocessor PP,
raw_ostream *  OS,
const PreprocessorOutputOptions Opts 
)
void clang::RewriteMacrosInInput ( Preprocessor PP,
raw_ostream *  OS 
)
void clang::runUninitializedVariablesAnalysis ( const DeclContext dc,
const CFG cfg,
AnalysisDeclContext ac,
UninitVariablesHandler handler,
UninitVariablesAnalysisStats stats 
)
void clang::setColonLoc ( SourceLocation  Loc)

Sets the location of ':'.

Definition at line 1696 of file OpenMPClause.h.

References ColonLoc.

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

Sets the list of final update expressions for linear variables.

Parameters
FLList of expressions.
void clang::setInits ( ArrayRef< Expr * >  IL)

Sets the list of the initial values for linear variables.

Parameters
ILList of expressions.
void clang::setUpdates ( ArrayRef< Expr * >  UL)

Sets the list of update expressions for linear variables.

Parameters
ULList of expressions.
template<typename SpecificAttr , typename Container >
specific_attr_iterator<SpecificAttr, Container> clang::specific_attr_begin ( const Container &  container)
inline

Definition at line 116 of file AttrIterator.h.

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

Definition at line 121 of file AttrIterator.h.

StmtResult clang::StmtEmpty ( )
inline

Definition at line 274 of file Ownership.h.

StmtResult clang::StmtError ( )
inline

Definition at line 268 of file Ownership.h.

Referenced by clang::Sema::ActOnBreakStmt(), clang::Sema::ActOnCapScopeReturnStmt(), clang::Sema::ActOnCaseStmt(), clang::Sema::ActOnContinueStmt(), clang::Sema::ActOnCXXForRangeStmt(), clang::Sema::ActOnCXXTryBlock(), clang::Sema::ActOnDeclStmt(), clang::Sema::ActOnDoStmt(), clang::Sema::ActOnExprStmt(), clang::Sema::ActOnExprStmtError(), clang::Sema::ActOnFinishFullStmt(), clang::Sema::ActOnFinishSwitchStmt(), clang::Sema::ActOnForEachLValueExpr(), clang::Sema::ActOnForStmt(), clang::Sema::ActOnGCCAsmStmt(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnIndirectGotoStmt(), clang::Sema::ActOnObjCAtCatchStmt(), clang::Sema::ActOnObjCAtThrowStmt(), clang::Sema::ActOnObjCForCollectionStmt(), clang::Sema::ActOnOpenMPAtomicDirective(), clang::Sema::ActOnOpenMPCancelDirective(), clang::Sema::ActOnOpenMPCancellationPointDirective(), clang::Sema::ActOnOpenMPExecutableDirective(), clang::Sema::ActOnOpenMPForDirective(), clang::Sema::ActOnOpenMPForSimdDirective(), clang::Sema::ActOnOpenMPParallelForDirective(), clang::Sema::ActOnOpenMPParallelForSimdDirective(), clang::Sema::ActOnOpenMPParallelSectionsDirective(), clang::Sema::ActOnOpenMPRegionEnd(), clang::Sema::ActOnOpenMPSectionsDirective(), clang::Sema::ActOnOpenMPSimdDirective(), clang::Sema::ActOnOpenMPSingleDirective(), clang::Sema::ActOnOpenMPTargetDirective(), clang::Sema::ActOnSEHExceptBlock(), clang::Sema::ActOnSEHLeaveStmt(), clang::Sema::ActOnStartOfSwitchStmt(), clang::Sema::ActOnWhileStmt(), clang::Sema::BuildCXXForRangeStmt(), buildMemcpyForAssignmentOp(), clang::Sema::BuildObjCAtThrowStmt(), clang::Sema::BuildReturnStmt(), buildSingleCopyAssignRecursively(), clang::Sema::FinishCXXForRangeStmt(), clang::Sema::FinishObjCForCollectionStmt(), clang::TreeTransform< Derived >::RebuildCXXForRangeStmt(), clang::TreeTransform< Derived >::RebuildObjCForCollectionStmt(), StmtError(), clang::TreeTransform< Derived >::TransformOMPExecutableDirective(), and clang::TreeTransform< Derived >::TransformStmt().

StmtResult clang::StmtError ( const DiagnosticBuilder &  )
inline

Definition at line 271 of file Ownership.h.

References StmtError().

bool clang::supportsVariadicCall ( CallingConv  CC)
inline

Checks whether the given calling convention supports variadic calls. Unprototyped calls also use the variadic call rules.

Definition at line 222 of file Specifiers.h.

References CC_SpirFunction, CC_SpirKernel, CC_X86FastCall, CC_X86Pascal, CC_X86StdCall, CC_X86ThisCall, and CC_X86VectorCall.

Referenced by clang::Sema::ActOnFunctionDeclarator(), and handleFunctionTypeAttr().

static LLVM_READONLY char clang::toLowercase ( char  c)
inlinestatic

Converts the given ASCII character to its lowercase equivalent.

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

Definition at line 165 of file CharInfo.h.

References isUppercase().

Referenced by HashHMapKey(), IsValidIdentifier(), rewriteToObjCProperty(), and UseNSOptionsMacro().

static LLVM_READONLY char clang::toUppercase ( char  c)
inlinestatic

Converts the given ASCII character to its uppercase equivalent.

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

Definition at line 174 of file CharInfo.h.

References isLowercase().

Referenced by AddObjCKeyValueCompletions(), and clang::SelectorTable::constructSetterName().

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

Definition at line 3919 of file TreeTransform.h.

References clang::TypeLocBuilder::push().

return clang::TraverseArrayTypeLocHelper ( TL  )
Initial value:
{
TRY_TO(TraverseTypeLoc(TL.getElementLoc()))
#define TRY_TO(CALL_EXPR)
clang::TRY_TO ( TraverseType(T->getPointeeType())  )
clang::TRY_TO ( TraverseTemplateArguments(T->getArgs(), T->getNumArgs())  )
Initial value:
{
TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()))
#define TRY_TO(CALL_EXPR)
clang::TRY_TO ( TraverseTypeLoc(TL.getPointeeLoc())  )
Initial value:
{
TRY_TO(TraverseType(QualType(TL.getTypePtr()->getClass(), 0)))
#define TRY_TO(CALL_EXPR)
updates_const_range clang::updates ( )

Definition at line 1734 of file OpenMPClause.h.

References getUpdates().

virtual clang::~CGOpenMPRuntime ( )
virtual

Definition at line 362 of file CGOpenMPRuntime.h.

Variable Documentation

const CastKind clang::CK_Invalid = static_cast<CastKind>(-1)
static
i32 captured_struct* * param SharedsTy A type which contains references the shared variables* param Shareds Context with the list of shared variables from the p* TaskFunction* param IfCond Not a nullptr if if clause was nullptr* otherwise* param PrivateVars List of references to private variables for the task* directive* param PrivateCopies List of private copies for each private variable in* p PrivateVars* param FirstprivateVars List of references to private variables for the* task directive* param FirstprivateCopies List of private copies for each private variable* in p FirstprivateVars* param FirstprivateInits List of references to auto generated variables* used for initialization of a single array element Used if firstprivate* variable is of array type* param Dependences List of dependences for the task clang::construct

Definition at line 612 of file CGOpenMPRuntime.h.

Referenced by clang::Sema::BuildExceptionDeclaration(), and hasTrivialGetExpr().

clang::kmp_task_t

Definition at line 266 of file CGOpenMPRuntime.h.

QualType clang::KmpDependInfoTy

Type typedef struct kmp_depend_info { kmp_intptr_t base_addr; size_t len; struct { bool in:1; bool out:1; } flags; } kmp_depend_info_t;.

Definition at line 276 of file CGOpenMPRuntime.h.

* QualType clang::KmpTaskTQTy

Definition at line 267 of file CGOpenMPRuntime.h.

i32 captured_struct* * param SharedsTy A type which contains references the shared variables* param Shareds Context with the list of shared variables from the p* TaskFunction* param IfCond Not a nullptr if if clause was clang::specified

Definition at line 612 of file CGOpenMPRuntime.h.

llvm::DenseSet<const VarDecl *> clang::ThreadPrivateWithDefinition

Set of threadprivate variables with the generated initializer.

Definition at line 341 of file CGOpenMPRuntime.h.

const char clang::ToggleHighlight = 127

Special character that the diagnostic printer will use to toggle the bold attribute. The character itself will be not be printed.

Definition at line 1405 of file Diagnostic.h.

Referenced by applyTemplateHighlighting().