clang API Documentation

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

Namespaces

namespace  analyze_format_string
 

Common components of both fprintf and fscanf format strings.


namespace  analyze_printf
 

Pieces specific to fprintf format strings.


namespace  analyze_scanf
 

Pieces specific to fscanf format strings.


namespace  arcmt
namespace  ARM
 

ARM builtins.


namespace  attr
namespace  Builtin
namespace  CodeGen
namespace  dataflow
namespace  diag
namespace  driver
namespace  ento
namespace  frontend
namespace  Hexagon
 

Hexagon builtins.


namespace  html
namespace  idx
namespace  io
namespace  LangAS
namespace  PPC
 

PPC builtins.


namespace  prec
namespace  PTX
 

PTX builtins.


namespace  reachable_code
namespace  sema
namespace  serialization
namespace  serialized_diags
namespace  SrcMgr
namespace  thread_safety
namespace  tok
namespace  X86
 

X86 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  UninitVariablesHandler
struct  UninitVariablesAnalysisStats
class  ManagedAnalysis
class  AnalysisDeclContext
class  LocationContext
class  StackFrameContext
class  ScopeContext
class  BlockInvocationContext
class  LocationContextManager
class  AnalysisDeclContextManager
class  CFGElement
 CFGElement - Represents a top-level expression in a basic block. More...
class  CFGStmt
class  CFGInitializer
class  CFGImplicitDtor
class  CFGAutomaticObjDtor
class  CFGBaseDtor
class  CFGMemberDtor
class  CFGTemporaryDtor
class  CFGTerminator
class  CFGBlock
class  CFG
class  CFGStmtMap
class  DataflowWorkListTy
class  DataflowSolver
 DataflowSolverTy - Generic dataflow solver. More...
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
class  PostLValue
class  PostPurgeDeadSymbols
class  BlockEdge
class  PostInitializer
class  CallEnter
class  CallExit
class  ProgramPointTag
class  SimpleProgramPointTag
struct  DeclBitVector_Types
struct  StmtDeclBitVector_Types
class  BumpVectorContext
class  BumpVector
struct  SaveAndRestore
struct  SaveOr
class  CFGRecStmtDeclVisitor
class  CFGRecStmtVisitor
class  CFGStmtVisitor
class  APValue
class  ASTConsumer
class  ASTContext
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  ASTVector
class  Attr
 Attr - This represents one attribute. More...
class  InheritableAttr
class  InheritableParamAttr
class  specific_attr_iterator
class  BaseSubobject
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  CanProxyAdaptor
 Replacable canonical proxy adaptor class that provides the link between a canonical type and the accessors of the type. More...
class  CanProxy
 Canonical proxy type returned when retrieving the members of a canonical type or as the result of the CanQual<T>::getAs member function. More...
class  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< ArrayType >
struct  CanProxyAdaptor< ConstantArrayType >
struct  CanProxyAdaptor< IncompleteArrayType >
struct  CanProxyAdaptor< VariableArrayType >
struct  CanProxyAdaptor< DependentSizedArrayType >
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  TypeSourceInfo
 A container of type source information. More...
class  TranslationUnitDecl
 TranslationUnitDecl - The top declaration context. 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  ImportDecl
 Describes a module import declaration, which makes the contents of the named module visible in the current translation unit. More...
class  DeclAccessPair
class  DeclarationName
class  DeclarationNameTable
struct  DeclarationNameLoc
struct  DeclarationNameInfo
class  Decl
class  PrettyStackTraceDecl
class  DeclContextLookupResult
class  DeclContextLookupConstResult
class  DeclContext
struct  cast_convert_decl_context
struct  cast_convert_decl_context< ToTy, true >
struct  StoredDeclsList
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
class  CXXBaseSpecifier
class  CXXRecordDecl
class  CXXMethodDecl
class  CXXCtorInitializer
class  CXXConstructorDecl
class  CXXDestructorDecl
class  CXXConversionDecl
class  LinkageSpecDecl
class  UsingDirectiveDecl
class  NamespaceAliasDecl
class  UsingShadowDecl
class  UsingDecl
class  UnresolvedUsingValueDecl
class  UnresolvedUsingTypenameDecl
class  StaticAssertDecl
 StaticAssertDecl - Represents a C++0x static_assert declaration. More...
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  ObjCContainerDecl
class  ObjCInterfaceDecl
class  ObjCIvarDecl
class  ObjCAtDefsFieldDecl
class  ObjCProtocolDecl
class  ObjCCategoryDecl
class  ObjCImplDecl
class  ObjCCategoryImplDecl
class  ObjCImplementationDecl
class  ObjCCompatibleAliasDecl
class  ObjCPropertyDecl
class  ObjCPropertyImplDecl
class  TemplateParameterList
class  FixedSizeTemplateParameterList
class  TemplateArgumentList
 A template argument list. More...
class  TemplateDecl
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, or member class. More...
class  DependentFunctionTemplateSpecializationInfo
 Provides information about a dependent function-template specialization declaration. Since explicit function template specialization and instantiation declarations can only appear in namespace scope, and you can only specialize a member of a fully-specialized class, the only way to get one of these is in a friend declaration like the following: More...
class  RedeclarableTemplateDecl
 Declaration of a redeclarable template. More...
class  FunctionTemplateDecl
 Declaration of a template function. More...
class  TemplateParmPosition
class  TemplateTypeParmDecl
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
class  TypeAliasTemplateDecl
class  ClassScopeFunctionSpecializationDecl
class  DeclVisitor
 A simple visitor class that helps create declaration visitors. More...
class  DependentDiagnostic
 A dependently-generated diagnostic. More...
class  EvaluatedExprVisitor
class  Expr
class  OpaqueValueExpr
class  DeclRefExpr
 A reference to a declared variable, function, enum, etc. [C99 6.5.1p2]. More...
class  PredefinedExpr
 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  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  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  BlockDeclRefExpr
class  AsTypeExpr
class  PseudoObjectExpr
class  AtomicExpr
class  CXXOperatorCallExpr
 A call to an overloaded operator written using operator syntax. More...
class  CXXMemberCallExpr
class  CUDAKernelCallExpr
 CUDAKernelCallExpr - Represents a call to a CUDA kernel function. More...
class  CXXNamedCastExpr
class  CXXStaticCastExpr
class  CXXDynamicCastExpr
class  CXXReinterpretCastExpr
class  CXXConstCastExpr
class  CXXBoolLiteralExpr
class  CXXNullPtrLiteralExpr
 CXXNullPtrLiteralExpr - [C++0x 2.14.7] C++ Pointer Literal. More...
class  CXXTypeidExpr
class  CXXUuidofExpr
class  CXXThisExpr
class  CXXThrowExpr
class  CXXDefaultArgExpr
class  CXXTemporary
 CXXTemporary - Represents a C++ temporary. More...
class  CXXBindTemporaryExpr
 Represents binding an expression to a temporary. More...
class  CXXConstructExpr
 CXXConstructExpr - Represents a call to a C++ constructor. More...
class  CXXFunctionalCastExpr
class  CXXTemporaryObjectExpr
 Represents a C++ functional cast expression that builds a temporary object. More...
class  CXXScalarValueInitExpr
class  CXXNewExpr
class  CXXDeleteExpr
class  PseudoDestructorTypeStorage
 Structure used to store the type being destroyed by a pseudo-destructor expression. More...
class  CXXPseudoDestructorExpr
 Represents a C++ pseudo-destructor (C++ [expr.pseudo]). More...
class  UnaryTypeTraitExpr
class  BinaryTypeTraitExpr
class  ArrayTypeTraitExpr
class  ExpressionTraitExpr
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. This arises in several ways: we might be waiting for argument-dependent lookup the name might resolve to an overloaded function and eventually: the lookup might have included a function template These never include UnresolvedUsingValueDecls, which are always class members and therefore appear only in UnresolvedMemberLookupExprs. 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++0x noexcept expression (C++ [expr.unary.noexcept]). More...
class  PackExpansionExpr
 Represents a C++0x 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  MaterializeTemporaryExpr
 Represents a prvalue temporary that written into memory so that a reference can bind to it. More...
class  ObjCStringLiteral
class  ObjCEncodeExpr
class  ObjCSelectorExpr
 ObjCSelectorExpr used for in Objective-C. More...
class  ObjCProtocolExpr
class  ObjCIvarRefExpr
 ObjCIvarRefExpr - A reference to an ObjC instance variable. More...
class  ObjCPropertyRefExpr
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...
class  LazyVector
 Represents a lazily-loaded vector of data. More...
class  GlobalDecl
class  MangleBuffer
class  MangleContext
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  ParentMap
class  PrinterHelper
struct  PrintingPolicy
 Describes how types, statements, expressions, and declarations should be printed. More...
class  ASTRecordLayout
class  RecursiveASTVisitor
 A class that does preorder depth-first traversal on the entire Clang AST and visits each node. More...
class  Redeclarable
 Provides common interface for the Decls that can be redeclared. More...
class  ExprIterator
class  ConstExprIterator
class  Stmt
class  DeclStmt
class  NullStmt
class  CompoundStmt
class  SwitchCase
class  CaseStmt
class  DefaultStmt
class  LabelStmt
class  IfStmt
class  SwitchStmt
class  WhileStmt
class  DoStmt
class  ForStmt
class  GotoStmt
class  IndirectGotoStmt
class  ContinueStmt
class  BreakStmt
class  ReturnStmt
class  AsmStmt
class  SEHExceptStmt
class  SEHFinallyStmt
class  SEHTryStmt
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
class  ObjCAtCatchStmt
 ObjCAtCatchStmt - This represents objective-c's statement. More...
class  ObjCAtFinallyStmt
 ObjCAtFinallyStmt - This represent objective-c's Statement. More...
class  ObjCAtTryStmt
class  ObjCAtSynchronizedStmt
class  ObjCAtThrowStmt
 ObjCAtThrowStmt - This represents objective-c's. More...
class  ObjCAutoreleasePoolStmt
struct  make_ptr
struct  make_const_ptr
class  StmtVisitorBase
class  StmtVisitor
class  ConstStmtVisitor
class  TemplateArgument
 Represents a template argument within a class template specialization. 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
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  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++0x 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  ObjCProtocolListLocInfo
class  ObjCObjectTypeLoc
struct  ObjCInterfaceLocInfo
class  ObjCInterfaceTypeLoc
 Wrapper for source info for ObjC interfaces. More...
struct  ParenLocInfo
class  ParenTypeLoc
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
class  TypeVisitor
class  UnresolvedSetIterator
class  UnresolvedSetImpl
 UnresolvedSet - A set of unresolved declarations. More...
class  UnresolvedSet
 A set of unresolved declarations. More...
class  UsuallyTinyPtrVector
 A vector class template that is optimized for storing a single pointer element. More...
class  VTableComponent
 VTableComponent - Represents a single component in a vtable. More...
class  VTableLayout
class  VTableContext
class  VTTVTable
struct  VTTComponent
class  VTTBuilder
 VTT builder - Class for building VTT layout information. More...
struct  ReturnAdjustment
 ReturnAdjustment - A return adjustment. More...
struct  ThisAdjustment
 ThisAdjustment - A 'this' pointer adjustment. More...
struct  ThunkInfo
class  DelayedCleanupPool
 Gathers pairs of pointer-to-object/pointer-to-cleanup-function allowing the cleanup functions to get called (with the pointer as parameter) at specific points. More...
class  DelayedCleanupPoint
 RAII object for triggering a cleanup of a DelayedCleanupPool. More...
class  FixItHint
 Annotates a diagnostic with some code that should be inserted, removed, or replaced to fix the problem. More...
class  DiagnosticsEngine
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
class  Diagnostic
class  StoredDiagnostic
 Represents a diagnostic in a form that can be retained until its corresponding source manager is destroyed. More...
class  DiagnosticConsumer
class  IgnoringDiagConsumer
class  DiagnosticMappingInfo
class  DiagnosticIDs
 Used for handling and querying diagnostic IDs. Can be used and shared by multiple Diagnostics for multiple translation units. More...
class  DirectoryEntry
class  FileEntry
class  FileManager
class  FileSystemOptions
 Keeps track of options that affect how file operations are performed. More...
class  FileSystemStatCache
 Abstract interface for introducing a FileManager cache for 'stat' system calls, which is used by precompiled and pretokenized headers to improve performance. More...
class  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 certain scope. II is allowed to be null, in which case, objects of this type have no effect. More...
class  IdentifierIterator
 An iterator that walks over all of the known identifiers in the lookup table. More...
class  IdentifierInfoLookup
class  ExternalIdentifierLookup
 An abstract class used to resolve numerical identifier references (meaningful only to some external source) into IdentifierInfo pointers. More...
class  IdentifierTable
class  Selector
class  SelectorTable
class  DeclarationNameExtra
class  LangOptions
class  FPOptions
 Floating point control options. More...
class  OpenCLOptions
 OpenCL volatile options. More...
class  MacroBuilder
class  Module
 Describes a module or submodule. More...
class  OnDiskChainedHashTableGenerator
class  OnDiskChainedHashTable
struct  PartialDiagnosticStorage
class  PartialDiagnosticStorageAllocator
 An allocator for Storage objects, which uses a small cache to objects, used to reduce malloc()/free() traffic for partial diagnostics. More...
class  PartialDiagnostic
class  PrettyStackTraceLoc
class  FileID
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
 SourceRange - a trival tuple used to represent a source range. More...
class  CharSourceRange
class  FullSourceLoc
class  PresumedLoc
class  ExternalSLocEntrySource
 External source of source location entries. More...
class  IsBeforeInTranslationUnitCache
class  SourceManager
 This class handles loading and caching of source files into memory. More...
struct  LineEntry
class  LineTableInfo
struct  WrittenBuiltinSpecs
class  NeonTypeFlags
class  TargetInfo
class  TargetOptions
 TargetOptions - Options for controlling the target. More...
class  VersionTuple
 Represents a version number in the form major[.minor[.subminor]]. More...
class  CodeGenAction
class  EmitAssemblyAction
class  EmitBCAction
class  EmitLLVMAction
class  EmitLLVMOnlyAction
class  EmitCodeGenOnlyAction
class  EmitObjAction
class  CodeGenerator
class  AnalyzerOptions
class  GlobalCodeCompletionAllocator
 Allocator for a cached set of global code completions. More...
class  ASTUnit
 Utility class for loading a ASTContext from an AST file. More...
class  ChainedDiagnosticConsumer
class  ChainedIncludesSource
class  CodeGenOptions
struct  ParsedSourceLocation
 A source location that has been parsed on the command line. More...
class  CompilerInstance
class  CompilerInvocationBase
class  CompilerInvocation
class  DependencyOutputOptions
class  DiagnosticOptions
class  DiagnosticRenderer
 Class to encapsulate the logic for formatting a diagnostic message. Actual "printing" logic is implemented by subclasses. More...
class  FrontendAction
class  ASTFrontendAction
class  PluginASTAction
class  PreprocessorFrontendAction
class  WrapperFrontendAction
class  InitOnlyAction
class  ASTPrintAction
class  ASTDumpAction
class  ASTDumpXMLAction
class  ASTViewAction
class  DeclContextPrintAction
class  GeneratePCHAction
class  GenerateModuleAction
class  SyntaxOnlyAction
class  ASTMergeAction
 Frontend action adaptor that merges ASTs together. More...
class  PrintPreambleAction
class  DumpRawTokensAction
class  DumpTokensAction
class  GeneratePTHAction
class  PreprocessOnlyAction
class  PrintPreprocessedAction
struct  FrontendInputFile
 An input file for the front end. More...
class  FrontendOptions
 FrontendOptions - Options for controlling the behavior of the frontend. More...
class  HeaderSearchOptions
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
class  PreprocessorOptions
class  PreprocessorOutputOptions
class  TextDiagnostic
 Class to encapsulate the logic for formatting and printing a textual diagnostic message. More...
class  TextDiagnosticBuffer
class  TextDiagnosticPrinter
class  VerifyDiagnosticConsumer
class  CallGraphNode
class  CallGraph
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
class  ExternalHeaderFileInfoSource
 An external source of header file information, which may supply information about header files already included. More...
class  HeaderSearch
class  Lexer
class  NumericLiteralParser
class  CharLiteralParser
class  StringLiteralParser
class  MacroInfo
class  ModuleLoader
 Abstract interface for a module loader. More...
class  ModuleMap
class  MultipleIncludeOpt
class  PPCallbacks
class  PPChainedCallbacks
 PPChainedCallbacks - Simple wrapper class for chaining callbacks. 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  MacroDefinition
 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  Preprocessor
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  PTHLexer
class  PTHManager
class  ScratchBuffer
class  Token
struct  PPConditionalInfo
class  TokenConcatenation
class  TokenLexer
class  PrettyStackTraceParserEntry
class  Parser
class  DeltaTree
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  RewriteBuffer
class  Rewriter
struct  RopeRefCountString
struct  RopePiece
class  RopePieceBTreeIterator
class  RopePieceBTree
class  RewriteRope
class  TokenRewriter
struct  AvailabilityChange
 Represents information about a change in availability for an entity, which is part of the encoding of the 'availability' attribute. More...
class  AttributeList
class  AttributeFactory
class  AttributePool
struct  CXX0XAttributeList
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  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
class  DeclSpec
class  ObjCDeclSpec
class  UnqualifiedId
 Represents a C++ unqualified-id that has been parsed. More...
struct  DeclaratorChunk
class  Declarator
struct  FieldDeclarator
class  VirtSpecifiers
 VirtSpecifiers - Represents a C++0x virt-specifier-seq. More...
struct  LambdaCapture
 LambdaCapture - An individual capture in a lambda introducer. More...
struct  LambdaIntroducer
 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...
class  MultiInitializer
struct  ObjCMethodList
 ObjCMethodList - a linked list of methods with 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
struct  UnionOpaquePtr
struct  IsResultPtrLowBitFree
class  ActionResult
class  ActionResult< PtrTy, true >
class  ASTMultiPtr
class  ASTTemplateArgsPtr
class  ASTOwningVector
 A small vector that owns a set of AST nodes. More...
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
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...
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  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
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  WeakInfo
 Captures information about a #pragma weak directive. More...
class  ASTDeserializationListener
struct  PCHPredefinesBlock
class  ASTReaderListener
 Abstract interface for callback invocations by the ASTReader. 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  UpdateOnReturn
class  ASTNodeImporter
class  CXXABI
 Implements C++ ABI-specific semantic analysis functions. More...
class  CXXSpecialName
class  CXXOperatorIdName
class  CXXLiteralOperatorIdName
class  InheritanceHierarchyWriter
class  TypePropertyCache
struct  WarningOption
class  MultiKeywordSelector
class  ABIArgInfo
class  ABIInfo
class  BackendConsumer
class  TargetCodeGenInfo
class  MultiplexASTDeserializationListener
class  MultiplexASTMutationListener
struct  HMapBucket
struct  HMapHeader
class  MacroArgs
struct  MMToken
 A token in a module map file. More...
class  ModuleMapParser
class  PragmaAlignHandler
class  PragmaGCCVisibilityHandler
class  PragmaOptionsHandler
class  PragmaPackHandler
class  PragmaMSStructHandler
class  PragmaUnusedHandler
class  PragmaWeakHandler
class  PragmaOpenCLExtensionHandler
class  PragmaFPContractHandler
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  BuiltinCandidateTypeSet
class  AddressOfFunctionResolver
class  TargetAttributesSema
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  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  ASTDeclWriter
class  ASTStmtWriter

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.
typedef SmallVector< const
Attr *, 2 > 
ConstAttrVec
typedef CanQual< TypeCanQualType
 Represents a canonical, potentially-qualified type.
typedef std::pair
< SourceLocation,
PartialDiagnostic
PartialDiagnosticAt
 A partial diagnostic along with the source location where this diagnostic occurs.
typedef llvm::PointerUnion3
< TemplateTypeParmDecl
*, NonTypeTemplateParmDecl
*, TemplateTemplateParmDecl * > 
TemplateParameter
 Stores a template parameter of any kind.
typedef SmallVector
< CXXBaseSpecifier *, 4 > 
CXXCastPath
 A simple array of base specifiers.
typedef LazyOffsetPtr< Stmt,
uint64_t,&ExternalASTSource::GetExternalDeclStmt > 
LazyDeclStmtPtr
 A lazy pointer to a statement.
typedef LazyOffsetPtr< Decl,
uint32_t,&ExternalASTSource::GetExternalDecl > 
LazyDeclPtr
 A lazy pointer to a declaration.
typedef LazyOffsetPtr
< CXXBaseSpecifier, uint64_t,&ExternalASTSource::GetExternalCXXBaseSpecifiers > 
LazyCXXBaseSpecifiersPtr
 A lazy pointer to a set of CXXBaseSpecifiers.
typedef std::pair< const Type
*, Qualifiers
SplitQualType
typedef std::pair
< IdentifierInfo
*, SourceLocation
IdentifierLocPair
 IdentifierLocPair - A simple pair of identifier info and location.
typedef llvm::SmallVector
< std::pair< std::string,
SourceLocation >, 2 > 
ModuleId
 Describes the name of a module.
typedef llvm::Registry
< PluginASTAction
FrontendPluginRegistry
 The frontend plugin registry.
typedef llvm::ArrayRef
< std::pair< IdentifierInfo
*, SourceLocation > > 
ModuleIdPath
 A sequence of identifier/location pairs used to describe a particular module or submodule, e.g., std.vector.
typedef SmallVector< Token, 4 > CachedTokens
typedef OpaquePtr< QualTypeParsedType
typedef UnionOpaquePtr< QualTypeUnionParsedType
typedef ASTOwningVector< Stmt *, 32 > StmtVector
typedef ASTOwningVector< Expr *, 12 > ExprVector
 A SmallVector of expressions, with stack size 12 (the maximum used.)
typedef ASTOwningVector
< ParsedType, 12 > 
TypeVector
 A SmallVector of types.
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 ASTMultiPtr< Expr * > MultiExprArg
typedef ASTMultiPtr< Stmt * > MultiStmtArg
typedef ASTMultiPtr< ParsedTypeMultiTypeArg
typedef ASTMultiPtr
< TemplateParameterList * > 
MultiTemplateParamsArg
typedef std::pair
< llvm::PointerUnion< const
TemplateTypeParmType
*, NamedDecl * >
, SourceLocation
UnexpandedParameterPack
typedef SmallVector
< PCHPredefinesBlock, 2 > 
PCHPredefinesBlocks

Enumerations

enum  AvailabilityResult { AR_Available = 0, AR_NotYetIntroduced, AR_Deprecated, AR_Unavailable }
 Captures the result of checking the availability of a declaration. 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_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
}
 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  CallingConv {
  CC_Default, CC_C, CC_X86StdCall, CC_X86FastCall,
  CC_X86ThisCall, CC_X86Pascal, CC_AAPCS, CC_AAPCS_VFP
}
 CallingConv - Specifies the calling convention that a function uses. More...
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_Union, TTK_Class, TTK_Enum }
 The kind of a tag type. More...
enum  ElaboratedTypeKeyword {
  ETK_Struct, 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_CompleteAllocating }
 CXXCtorType - C++ constructor types. More...
enum  CXXDtorType { Dtor_Deleting, Dtor_Complete, Dtor_Base }
 CXXDtorType - C++ destructor types. More...
enum  LanguageID { C_LANG = 0x1, CXX_LANG = 0x2, OBJC_LANG = 0x4, ALL_LANGUAGES = (C_LANG|CXX_LANG|OBJC_LANG) }
enum  ExceptionSpecificationType {
  EST_None, EST_DynamicNone, EST_Dynamic, EST_MSAny,
  EST_BasicNoexcept, EST_ComputedNoexcept, EST_Delayed
}
 The various types of exception specifications that exist in C++0x. 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_performSelector
}
enum  { ObjCMethodFamilyBitWidth = 4 }
enum  { InvalidObjCMethodFamily = (1 << ObjCMethodFamilyBitWidth) - 1 }
 An invalid value of ObjCMethodFamily. More...
enum  TranslationUnitKind { TU_Complete, TU_Prefix, TU_Module }
 Describes the kind of translation unit being processed. More...
enum  Linkage { NoLinkage = 0, InternalLinkage, UniqueExternalLinkage, ExternalLinkage }
 Describes the different kinds of linkage (C++ [basic.link], C99 6.2.2) that an entity may have. More...
enum  GVALinkage {
  GVA_Internal, GVA_C99Inline, GVA_CXXInline, GVA_StrongExternal,
  GVA_TemplateInstantiation, GVA_ExplicitTemplateInstantiation
}
 A more specific kind of linkage. This is relevant to CodeGen and AST file reading. More...
enum  OpenCLImageAccess { CLIA_read_only = 1, CLIA_write_only = 2, CLIA_read_write = 3 }
 Names for the OpenCL image access qualifiers (OpenCL 1.1 6.6). More...
enum  OverloadedOperatorKind { OO_None }
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_half,
  TST_float, TST_double, TST_bool, TST_decimal32,
  TST_decimal64, TST_decimal128, TST_enum, TST_union,
  TST_struct, TST_class, TST_typename, TST_typeofType,
  TST_typeofExpr, TST_decltype, TST_underlyingType, TST_auto,
  TST_unknown_anytype, TST_atomic, TST_error
}
 Specifies the kind of type. More...
enum  AccessSpecifier { AS_public, AS_protected, AS_private, AS_none }
enum  ExprValueKind { VK_RValue, VK_LValue, VK_XValue }
enum  ExprObjectKind { OK_Ordinary, OK_BitField, OK_VectorComponent, OK_ObjCProperty }
enum  TemplateSpecializationKind {
  TSK_Undeclared = 0, TSK_ImplicitInstantiation, TSK_ExplicitSpecialization, TSK_ExplicitInstantiationDeclaration,
  TSK_ExplicitInstantiationDefinition
}
enum  StorageClass {
  SC_None, SC_Extern, SC_Static, SC_PrivateExtern,
  SC_OpenCLWorkGroupLocal, SC_Auto, SC_Register
}
 Storage classes. More...
enum  TargetCXXABI { CXXABI_Itanium, CXXABI_ARM, CXXABI_Microsoft }
 TargetCXXABI - The types of C++ ABIs for which we can generate code. More...
enum  TemplateNameKind { TNK_Non_template = 0, TNK_Function_template, TNK_Type_template, TNK_Dependent_template_name }
 Specifies the kind of template name that an identifier refers to. More...
enum  UnaryTypeTrait {
  UTT_HasNothrowAssign, UTT_HasNothrowCopy, UTT_HasNothrowConstructor, UTT_HasTrivialAssign,
  UTT_HasTrivialCopy, UTT_HasTrivialDefaultConstructor, UTT_HasTrivialDestructor, UTT_HasVirtualDestructor,
  UTT_IsAbstract, UTT_IsArithmetic, UTT_IsArray, UTT_IsClass,
  UTT_IsCompleteType, UTT_IsCompound, UTT_IsConst, UTT_IsEmpty,
  UTT_IsEnum, UTT_IsFinal, UTT_IsFloatingPoint, UTT_IsFunction,
  UTT_IsFundamental, UTT_IsIntegral, UTT_IsLiteral, UTT_IsLvalueReference,
  UTT_IsMemberFunctionPointer, UTT_IsMemberObjectPointer, UTT_IsMemberPointer, UTT_IsObject,
  UTT_IsPOD, UTT_IsPointer, UTT_IsPolymorphic, UTT_IsReference,
  UTT_IsRvalueReference, UTT_IsScalar, UTT_IsSigned, UTT_IsStandardLayout,
  UTT_IsTrivial, UTT_IsTriviallyCopyable, UTT_IsUnion, UTT_IsUnsigned,
  UTT_IsVoid, UTT_IsVolatile
}
 UnaryTypeTrait - Names for the unary type traits. More...
enum  BinaryTypeTrait {
  BTT_IsBaseOf, BTT_IsConvertible, BTT_IsConvertibleTo, BTT_IsSame,
  BTT_TypeCompatible
}
 BinaryTypeTrait - Names for the binary type traits. More...
enum  ArrayTypeTrait { ATT_ArrayRank, ATT_ArrayExtent }
 ArrayTypeTrait - Names for the array type traits. More...
enum  UnaryExprOrTypeTrait { UETT_SizeOf, UETT_AlignOf, UETT_VecStep }
 UnaryExprOrTypeTrait - Names for the "expression or type" traits. More...
enum  Visibility { HiddenVisibility, ProtectedVisibility, DefaultVisibility }
enum  BackendAction {
  Backend_EmitAssembly, Backend_EmitBC, Backend_EmitLL, Backend_EmitNothing,
  Backend_EmitMCNull, Backend_EmitObj
}
enum  Analyses
 Analysis - Set of available source code analyses. More...
enum  AnalysisStores
 AnalysisStores - Set of available analysis store models. More...
enum  AnalysisConstraints
 AnalysisConstraints - Set of available constraint models. More...
enum  AnalysisDiagClients
enum  AnalysisPurgeMode
 AnalysisPurgeModes - Set of available strategies for dead symbol removal. 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_AST, IK_LLVM_IR
}
enum  ObjCXXARCStandardLibraryKind { ARCXX_nolib, ARCXX_libcxx, ARCXX_libstdcxx }
 Enumerate the kinds of standard library that. More...
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  {
  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  LambdaCaptureDefault { LCD_None, LCD_ByCopy, LCD_ByRef }
enum  LambdaCaptureKind { LCK_This, LCK_ByCopy, LCK_ByRef }
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_Num_Conversion_Kinds
}
enum  ImplicitConversionCategory {
  ICC_Identity = 0, ICC_Lvalue_Transformation, ICC_Qualification_Adjustment, ICC_Promotion,
  ICC_Conversion
}
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_bad_final_conversion, ovl_fail_final_conversion_not_exact, ovl_fail_bad_target
}
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  {
  ft_default, ft_different_class, ft_parameter_arity, ft_parameter_mismatch,
  ft_return_type, ft_qualifer_mismatch
}
enum  TemplateDeductionFlags {
  TDF_None = 0, TDF_ParamWithReferenceType = 0x1, TDF_IgnoreQualifiers = 0x02, TDF_DerivedClass = 0x04,
  TDF_SkipNonDependent = 0x08, TDF_TopLevelParameterTypeList = 0x10
}
 Various flags that control template argument deduction. More...

Functions

void WriteAsOperand (raw_ostream &OS, const CFGBlock *BB, bool t)
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.
static Selector GetUnarySelector (StringRef name, ASTContext &Ctx)
 Utility function for constructing an unary selector.
void FormatASTNodeDiagnosticArgument (DiagnosticsEngine::ArgumentKind Kind, intptr_t Val, const char *Modifier, unsigned ModLen, const char *Argument, unsigned ArgLen, const DiagnosticsEngine::ArgumentValue *PrevArgs, unsigned NumPrevArgs, SmallVectorImpl< char > &Output, void *Cookie, SmallVectorImpl< intptr_t > &QualTypeVals)
 DiagnosticsEngine argument formatting function for diagnostics that involve AST nodes.
void DestroyAttrs (AttrVec &V, ASTContext &C)
 DestroyAttrs - Destroy the contents of an AttrVec.
template<typename T >
specific_attr_iterator< T > specific_attr_begin (const AttrVec &vec)
template<typename T >
specific_attr_iterator< T > specific_attr_end (const AttrVec &vec)
template<typename T >
bool hasSpecificAttr (const AttrVec &vec)
template<typename T >
T * getSpecificAttr (const AttrVec &vec)
unsigned getMaxAttrAlignment (const AttrVec &V, ASTContext &Ctx)
template<typename T , typename U >
bool operator== (CanQual< T > x, CanQual< U > y)
template<typename T , typename U >
bool operator!= (CanQual< T > x, CanQual< U > y)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, CanQualType T)
raw_ostream & operator<< (raw_ostream &OS, const NamedDecl &ND)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const NamedDecl *ND)
const PartialDiagnosticoperator<< (const PartialDiagnostic &PD, const NamedDecl *ND)
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.
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)
MangleContextcreateItaniumMangleContext (ASTContext &Context, DiagnosticsEngine &Diags)
MangleContextcreateMicrosoftMangleContext (ASTContext &Context, DiagnosticsEngine &Diags)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, NestedNameSpecifier *NNS)
 DEF_TRAVERSE_TYPE (ComplexType,{TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(PointerType
SelectorLocationsKind hasStandardSelectorLocs (Selector Sel, ArrayRef< SourceLocation > SelLocs, ArrayRef< Expr * > Args, SourceLocation EndLoc)
 Returns true if all.
SourceLocation getStandardSelectorLoc (unsigned Index, Selector Sel, bool WithArgSpace, ArrayRef< Expr * > Args, SourceLocation EndLoc)
 Get the "standard" location of a selector identifier, e.g: For nullary selectors, immediately before ']': "[foo release]".
SelectorLocationsKind hasStandardSelectorLocs (Selector Sel, ArrayRef< SourceLocation > SelLocs, ArrayRef< ParmVarDecl * > Args, SourceLocation EndLoc)
 Returns true if all.
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]".
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)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, StringRef S)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const char *Str)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, int I)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, bool I)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, unsigned I)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const IdentifierInfo *II)
template<typename T >
llvm::enable_if< llvm::is_same
< T, DeclContext >, const
DiagnosticBuilder & >::type 
operator<< (const DiagnosticBuilder &DB, T *DC)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const SourceRange &R)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const CharSourceRange &R)
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const FixItHint &Hint)
bool isDynamicExceptionSpec (ExceptionSpecificationType ESpecType)
bool isNoexceptExceptionSpec (ExceptionSpecificationType ESpecType)
bool isExternalLinkage (Linkage L)
 Determine whether the given linkage is semantically external.
static Linkage minLinkage (Linkage L1, Linkage L2)
 Compute the minimum linkage given two linages.
const char * getOperatorSpelling (OverloadedOperatorKind Operator)
 Retrieve the spelling of the given overloaded operator, without the preceding "operator" keyword.
const DiagnosticBuilderoperator<< (const DiagnosticBuilder &DB, const PartialDiagnostic &PD)
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 isLegalForFunction (StorageClass SC)
 Checks whether the given storage class is legal for functions.
bool isLegalForVariable (StorageClass SC)
 Checks whether the given storage class is legal for variables.
std::string getClangRepositoryPath ()
 Retrieves the repository path (e.g., Subversion path) that identifies the particular Clang branch, tag, or trunk from which this Clang was built.
std::string getClangRevision ()
 Retrieves the repository revision number (or identifer) from which this Clang was built.
std::string getClangFullRepositoryVersion ()
 Retrieves the full repository version that is an amalgamation of the information in getClangRepositoryPath() and getClangRevision().
std::string getClangFullVersion ()
 Retrieves a string representing the complete clang version, which includes the clang version number, the repository version, and the vendor tag.
std::string 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.
raw_ostream & operator<< (raw_ostream &Out, const VersionTuple &V)
 Print a version number.
Visibility minVisibility (Visibility L, Visibility R)
void EmitBackendOutput (DiagnosticsEngine &Diags, const CodeGenOptions &CGOpts, const TargetOptions &TOpts, const LangOptions &LOpts, llvm::Module *M, BackendAction Action, raw_ostream *OS)
CodeGeneratorCreateLLVMCodeGen (DiagnosticsEngine &Diags, const std::string &ModuleName, const CodeGenOptions &CGO, llvm::LLVMContext &C)
ASTConsumerCreateASTPrinter (raw_ostream *OS)
ASTConsumerCreateASTDumper ()
ASTConsumerCreateASTDumperXML (raw_ostream &OS)
ASTConsumerCreateASTViewer ()
ASTConsumerCreateDeclContextPrinter ()
void ApplyHeaderSearchOptions (HeaderSearch &HS, const HeaderSearchOptions &HSOpts, const LangOptions &Lang, const llvm::Triple &triple)
 Apply the header search options to get given HeaderSearch object.
void InitializePreprocessor (Preprocessor &PP, const PreprocessorOptions &PPOpts, const HeaderSearchOptions &HSOpts, const FrontendOptions &FEOpts)
void ProcessWarningOptions (DiagnosticsEngine &Diags, const DiagnosticOptions &Opts)
void DoPrintPreprocessedInput (Preprocessor &PP, raw_ostream *OS, const PreprocessorOutputOptions &Opts)
 DoPrintPreprocessedInput - Implement -E mode.
void AttachDependencyFileGen (Preprocessor &PP, const DependencyOutputOptions &Opts)
void AttachDependencyGraphGen (Preprocessor &PP, StringRef OutputFile, StringRef SysRoot)
void AttachHeaderIncludeGen (Preprocessor &PP, bool ShowAllHeaders=false, StringRef OutputPath="", bool ShowDepth=true)
void CacheTokens (Preprocessor &PP, llvm::raw_fd_ostream *OS)
CompilerInvocationcreateInvocationFromCommandLine (ArrayRef< const char * > Args, llvm::IntrusiveRefCntPtr< DiagnosticsEngine > Diags=llvm::IntrusiveRefCntPtr< DiagnosticsEngine >())
bool ExecuteCompilerInvocation (CompilerInstance *Clang)
void ParseAST (Preprocessor &pp, ASTConsumer *C, ASTContext &Ctx, bool PrintStats=false, TranslationUnitKind TUKind=TU_Complete, CodeCompleteConsumer *CompletionConsumer=0)
 Parse the entire file specified, notifying the ASTConsumer as the file is parsed.
void ParseAST (Sema &S, bool PrintStats=false)
 Parse the main file known to the preprocessor, producing an abstract syntax tree.
ASTConsumerCreateObjCRewriter (const std::string &InFile, raw_ostream *OS, DiagnosticsEngine &Diags, const LangOptions &LOpts, bool SilenceRewriteMacroWarning)
ASTConsumerCreateHTMLPrinter (raw_ostream *OS, Preprocessor &PP, bool SyntaxHighlight=true, bool HighlightMacros=true)
void RewriteMacrosInInput (Preprocessor &PP, raw_ostream *OS)
 RewriteMacrosInInput - Implement -rewrite-macros mode.
void DoRewriteTest (Preprocessor &PP, raw_ostream *OS)
 DoRewriteTest - A simple test for the TokenRewriter class.
AttributeListaddAttributeLists (AttributeList *Left, AttributeList *Right)
SimplifiedTypeClass getSimplifiedTypeClass (CanQualType T)
 Determine the simplified type class of the given canonical type.
QualType getDeclUsageType (ASTContext &C, NamedDecl *ND)
 Determine the type that this declaration will have if it is used as a type or in an expression.
unsigned getMacroUsagePriority (StringRef MacroName, const LangOptions &LangOpts, bool PreferredTypeIsPointer=false)
 Determine the priority to be given to a macro code completion result with the given name.
CXCursorKind getCursorKindForDecl (Decl *D)
 Determine the libclang cursor kind associated with the given declaration.
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)
ImplicitConversionCategory GetConversionCategory (ImplicitConversionKind Kind)
ImplicitConversionRank GetConversionRank (ImplicitConversionKind Kind)
bool isBetterOverloadCandidate (Sema &S, const OverloadCandidate &Cand1, const OverloadCandidate &Cand2, SourceLocation Loc, bool UserDefinedConversion=false)
template<class T , unsigned N>
ASTMultiPtr< T > move_arg (ASTOwningVector< T, N > &vec)
template<class T , bool C>
ActionResult< T, Cmove (ActionResult< T, C > &ptr)
template<class T >
ASTMultiPtr< T > & move (ASTMultiPtr< T > &ptr)
Exprmove (Expr *E)
Stmtmove (Stmt *S)
ExprResult ExprError ()
StmtResult StmtError ()
ExprResult ExprError (const DiagnosticBuilder &)
StmtResult StmtError (const DiagnosticBuilder &)
ExprResult ExprEmpty ()
StmtResult StmtEmpty ()
ExprAssertSuccess (ExprResult R)
SourceRange getTemplateParamsRange (TemplateParameterList const *const *Params, unsigned NumParams)
 Retrieves the range of the given template parameter lists.
CXXABICreateARMCXXABI (ASTContext &Ctx)
 Creates an instance of a C++ ABI class.
CXXABICreateItaniumCXXABI (ASTContext &Ctx)
CXXABICreateMicrosoftCXXABI (ASTContext &Ctx)
static int compareInt (unsigned A, unsigned B)
static const FunctionProtoTypeGetUnderlyingFunction (QualType T)
static bool CheckSpecForTypesEquivalent (Sema &S, const PartialDiagnostic &DiagID, const PartialDiagnostic &NoteID, QualType Target, SourceLocation TargetLoc, QualType Source, SourceLocation SourceLoc)
static ExprResult CreateFunctionRefExpr (Sema &S, FunctionDecl *Fn, bool HadMultipleCandidates, SourceLocation Loc=SourceLocation(), const DeclarationNameLoc &LocInfo=DeclarationNameLoc())
static bool IsStandardConversion (Sema &S, Expr *From, QualType ToType, bool InOverloadResolution, StandardConversionSequence &SCS, bool CStyle, bool AllowObjCWritebackConversion)
static bool IsTransparentUnionStandardConversion (Sema &S, Expr *From, QualType &ToType, bool InOverloadResolution, StandardConversionSequence &SCS, bool CStyle)
static OverloadingResult IsUserDefinedConversion (Sema &S, Expr *From, QualType ToType, UserDefinedConversionSequence &User, OverloadCandidateSet &Conversions, bool AllowExplicit)
static
ImplicitConversionSequence::CompareKind 
CompareStandardConversionSequences (Sema &S, const StandardConversionSequence &SCS1, const StandardConversionSequence &SCS2)
static
ImplicitConversionSequence::CompareKind 
CompareQualificationConversions (Sema &S, const StandardConversionSequence &SCS1, const StandardConversionSequence &SCS2)
static
ImplicitConversionSequence::CompareKind 
CompareDerivedToBaseConversions (Sema &S, const StandardConversionSequence &SCS1, const StandardConversionSequence &SCS2)
const char * GetImplicitConversionName (ImplicitConversionKind Kind)
static const ExprIgnoreNarrowingConversion (const Expr *Converted)
static
OverloadCandidate::DeductionFailureInfo 
MakeDeductionFailureInfo (ASTContext &Context, Sema::TemplateDeductionResult TDK, TemplateDeductionInfo &Info)
 Convert from Sema's representation of template deduction information to the form used in overload-candidate information.
static bool checkPlaceholderForOverload (Sema &S, Expr *&E, UnbridgedCastsSet *unbridgedCasts=0)
static bool checkArgPlaceholdersForOverload (Sema &S, Expr **args, unsigned numArgs, UnbridgedCastsSet &unbridged)
static ImplicitConversionSequence TryUserDefinedConversion (Sema &S, Expr *From, QualType ToType, bool SuppressUserConversions, bool AllowExplicit, bool InOverloadResolution, bool CStyle, bool AllowObjCWritebackConversion)
 Tries a user-defined conversion from From to ToType.
static ImplicitConversionSequence TryImplicitConversion (Sema &S, Expr *From, QualType ToType, bool SuppressUserConversions, bool AllowExplicit, bool InOverloadResolution, bool CStyle, bool AllowObjCWritebackConversion)
static bool IsVectorConversion (ASTContext &Context, QualType FromType, QualType ToType, ImplicitConversionKind &ICK)
 Determine whether the conversion from FromType to ToType is a valid vector conversion.
static QualType BuildSimilarlyQualifiedPointerType (const Type *FromPtr, QualType ToPointee, QualType ToType, ASTContext &Context, bool StripObjCLifetime=false)
static bool isNullPointerConstantForConversion (Expr *Expr, bool InOverloadResolution, ASTContext &Context)
static QualType AdoptQualifiers (ASTContext &Context, QualType T, Qualifiers Qs)
 Adopt the given qualifiers for the given type.
static
ImplicitConversionSequence::CompareKind 
CompareImplicitConversionSequences (Sema &S, const ImplicitConversionSequence &ICS1, const ImplicitConversionSequence &ICS2)
static bool hasSimilarType (ASTContext &Context, QualType T1, QualType T2)
static
ImplicitConversionSequence::CompareKind 
compareStandardConversionSubsets (ASTContext &Context, const StandardConversionSequence &SCS1, const StandardConversionSequence &SCS2)
static bool isBetterReferenceBindingKind (const StandardConversionSequence &SCS1, const StandardConversionSequence &SCS2)
 Determine whether one of the given reference bindings is better than the other based on what kind of bindings they are.
static bool FindConversionForRefInit (Sema &S, ImplicitConversionSequence &ICS, QualType DeclType, SourceLocation DeclLoc, Expr *Init, QualType T2, bool AllowRvalues, bool AllowExplicit)
 Look for a user-defined conversion to an value reference-compatible with DeclType. Return true if something definite is found.
static ImplicitConversionSequence TryReferenceInit (Sema &S, Expr *Init, QualType DeclType, SourceLocation DeclLoc, bool SuppressUserConversions, bool AllowExplicit)
 Compute an implicit conversion sequence for reference initialization.
static ImplicitConversionSequence TryCopyInitialization (Sema &S, Expr *From, QualType ToType, bool SuppressUserConversions, bool InOverloadResolution, bool AllowObjCWritebackConversion)
static ImplicitConversionSequence TryListConversion (Sema &S, InitListExpr *From, QualType ToType, bool SuppressUserConversions, bool InOverloadResolution, bool AllowObjCWritebackConversion)
static bool TryCopyInitialization (const CanQualType FromQTy, const CanQualType ToQTy, Sema &S, SourceLocation Loc, ExprValueKind FromVK)
static ImplicitConversionSequence TryObjectArgumentInitialization (Sema &S, QualType OrigFromType, Expr::Classification FromClassification, CXXMethodDecl *Method, CXXRecordDecl *ActingContext)
static ImplicitConversionSequence TryContextuallyConvertToBool (Sema &S, Expr *From)
static bool CheckConvertedConstantConversions (Sema &S, StandardConversionSequence &SCS)
static void dropPointerConversion (StandardConversionSequence &SCS)
static ImplicitConversionSequence TryContextuallyConvertToObjCPointer (Sema &S, Expr *From)
static bool isIntegralOrEnumerationType (QualType T, bool AllowScopedEnum)
static void AddBuiltinAssignmentOperatorCandidates (Sema &S, QualType T, Expr **Args, unsigned NumArgs, OverloadCandidateSet &CandidateSet)
 Helper function for AddBuiltinOperatorCandidates() that adds the volatile- and non-volatile-qualified assignment operators for the given type to the candidate set.
static Qualifiers CollectVRQualifiers (ASTContext &Context, Expr *ArgExpr)
static void AddOverloadedCallCandidate (Sema &S, DeclAccessPair FoundDecl, TemplateArgumentListInfo *ExplicitTemplateArgs, Expr **Args, unsigned NumArgs, OverloadCandidateSet &CandidateSet, bool PartialOverloading, bool KnownValid)
 Add a single candidate to the overload set.
static bool DiagnoseTwoPhaseLookup (Sema &SemaRef, SourceLocation FnLoc, const CXXScopeSpec &SS, LookupResult &R, TemplateArgumentListInfo *ExplicitTemplateArgs, Expr **Args, unsigned NumArgs)
static bool DiagnoseTwoPhaseOperatorLookup (Sema &SemaRef, OverloadedOperatorKind Op, SourceLocation OpLoc, Expr **Args, unsigned NumArgs)
static ExprResult BuildRecoveryCallExpr (Sema &SemaRef, Scope *S, Expr *Fn, UnresolvedLookupExpr *ULE, SourceLocation LParenLoc, Expr **Args, unsigned NumArgs, SourceLocation RParenLoc, bool EmptyLookup, bool AllowTypoCorrection)
static bool IsOverloaded (const UnresolvedSetImpl &Functions)
template<class TyLoc >
static QualType TransformTypeSpecType (TypeLocBuilder &TLB, TyLoc T)

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

typedef SmallVector<Attr*, 2> clang::AttrVec

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

Definition at line 149 of file Attr.h.

Definition at line 435 of file Ownership.h.

typedef SmallVector<Token, 4> clang::CachedTokens

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

Definition at line 972 of file DeclSpec.h.

Represents a canonical, potentially-qualified type.

Definition at line 197 of file CanonicalType.h.

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

Definition at line 150 of file Attr.h.

typedef SmallVector< CXXBaseSpecifier *, 4 > clang::CXXCastPath

A simple array of base specifiers.

Definition at line 46 of file Expr.h.

Definition at line 438 of file Ownership.h.

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

Definition at line 27 of file Dominators.h.

Definition at line 432 of file Ownership.h.

A SmallVector of expressions, with stack size 12 (the maximum used.)

Definition at line 396 of file Ownership.h.

The frontend plugin registry.

Definition at line 19 of file FrontendPluginRegistry.h.

IdentifierLocPair - A simple pair of identifier info and location.

Definition at line 38 of file IdentifierTable.h.

typedef LazyOffsetPtr<CXXBaseSpecifier, uint64_t, &ExternalASTSource::GetExternalCXXBaseSpecifiers> clang::LazyCXXBaseSpecifiersPtr

A lazy pointer to a set of CXXBaseSpecifiers.

Definition at line 518 of file ExternalASTSource.h.

typedef LazyOffsetPtr<Decl, uint32_t, &ExternalASTSource::GetExternalDecl> clang::LazyDeclPtr

A lazy pointer to a declaration.

Definition at line 513 of file ExternalASTSource.h.

typedef LazyOffsetPtr<Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt> clang::LazyDeclStmtPtr

A lazy pointer to a statement.

Definition at line 509 of file ExternalASTSource.h.

Definition at line 436 of file Ownership.h.

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

Describes the name of a module.

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

typedef llvm::ArrayRef<std::pair<IdentifierInfo*, SourceLocation> > clang::ModuleIdPath

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

Definition at line 23 of file ModuleLoader.h.

Definition at line 444 of file Ownership.h.

Definition at line 445 of file Ownership.h.

Definition at line 447 of file Ownership.h.

Definition at line 446 of file Ownership.h.

Definition at line 439 of file Ownership.h.

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

Definition at line 389 of file Ownership.h.

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

Definition at line 43 of file Decl.h.

Definition at line 91 of file ASTReader.h.

typedef std::pair<const Type*, Qualifiers> clang::SplitQualType

Definition at line 449 of file Type.h.

Definition at line 433 of file Ownership.h.

A SmallVector of statements, with stack size 32 (as that is the only one used.)

Definition at line 394 of file Ownership.h.

Stores a template parameter of any kind.

Definition at line 34 of file DeclTemplate.h.

Definition at line 434 of file Ownership.h.

A SmallVector of types.

Definition at line 398 of file Ownership.h.

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

Definition at line 177 of file Sema.h.

Definition at line 390 of file Ownership.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 31 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 70 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 95 of file CodeCompleteConsumer.h.

anonymous enum
Enumerator:
ft_default 
ft_different_class 
ft_parameter_arity 
ft_parameter_mismatch 
ft_return_type 
ft_qualifer_mismatch 

Definition at line 2346 of file SemaOverload.cpp.

anonymous enum
Enumerator:
TypeAlignmentInBits 
TypeAlignment 

Definition at line 33 of file Type.h.

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

Enumerator:
AS_public 
AS_protected 
AS_private 
AS_none 

Definition at line 78 of file Specifiers.h.

Analysis - Set of available source code analyses.

Definition at line 28 of file AnalyzerOptions.h.

AnalysisConstraints - Set of available constraint models.

Definition at line 42 of file AnalyzerOptions.h.

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

Definition at line 50 of file AnalyzerOptions.h.

AnalysisPurgeModes - Set of available strategies for dead symbol removal.

Definition at line 57 of file AnalyzerOptions.h.

AnalysisStores - Set of available analysis store models.

Definition at line 35 of file AnalyzerOptions.h.

ArrayTypeTrait - Names for the array type traits.

Enumerator:
ATT_ArrayRank 
ATT_ArrayExtent 

Definition at line 75 of file TypeTraits.h.

Captures the result of checking the availability of a declaration.

Enumerator:
AR_Available 
AR_NotYetIntroduced 
AR_Deprecated 
AR_Unavailable 

Definition at line 67 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 280 of file OperationKinds.h.

BinaryTypeTrait - Names for the binary type traits.

Enumerator:
BTT_IsBaseOf 
BTT_IsConvertible 
BTT_IsConvertibleTo 
BTT_IsSame 
BTT_TypeCompatible 

Definition at line 66 of file TypeTraits.h.

CallingConv - Specifies the calling convention that a function uses.

Enumerator:
CC_Default 
CC_C 
CC_X86StdCall 
CC_X86FastCall 
CC_X86ThisCall 
CC_X86Pascal 
CC_AAPCS 
CC_AAPCS_VFP 

Definition at line 438 of file Type.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_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).

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.

CXXCtorType - C++ constructor types.

Enumerator:
Ctor_Complete 
Ctor_Base 
Ctor_CompleteAllocating 

Definition at line 23 of file ABI.h.

CXXDtorType - C++ destructor types.

Enumerator:
Dtor_Deleting 
Dtor_Complete 
Dtor_Base 

Definition at line 30 of file ABI.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_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 3676 of file Type.h.

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

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_Delayed 

not known yet

Definition at line 20 of file ExceptionSpecificationType.h.

Enumerator:
ET_IsLValueExpr 
ET_IsRValueExpr 

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

Definition at line 104 of file Specifiers.h.

ExprValueKind - The categorization of expression values, currently following the C++0x scheme.

Enumerator:
VK_RValue 

An r-value expression (a pr-value in the C++0x 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 87 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 34 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 1383 of file DeclSpec.h.

A more specific kind of linkage. This is relevant to CodeGen and AST file reading.

Enumerator:
GVA_Internal 
GVA_C99Inline 
GVA_CXXInline 
GVA_StrongExternal 
GVA_TemplateInstantiation 
GVA_ExplicitTemplateInstantiation 

Definition at line 46 of file Linkage.h.

ImplicitConversionCategory - The category 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 categories have smaller values.

Enumerator:
ICC_Identity 

Identity.

ICC_Lvalue_Transformation 

Lvalue transformation.

ICC_Qualification_Adjustment 

Qualification adjustment.

ICC_Promotion 

Promotion.

ICC_Conversion 

Conversion.

Definition at line 90 of file Overload.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 
ICK_Writeback_Conversion 

Transparent Union Conversions.

Objective-C ARC writeback conversion

ICK_Num_Conversion_Kinds 

The number of conversion kinds.

Definition at line 58 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 105 of file Overload.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_AST 
IK_LLVM_IR 

Definition at line 53 of file FrontendOptions.h.

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

Enumerator:
LCD_None 
LCD_ByCopy 
LCD_ByRef 

Definition at line 1922 of file DeclSpec.h.

LambdaCaptureKind - The different capture forms in a lambda introducer: 'this' or a copied or referenced variable.

Enumerator:
LCK_This 
LCK_ByCopy 
LCK_ByRef 

Definition at line 1930 of file DeclSpec.h.

Enumerator:
C_LANG 
CXX_LANG 
OBJC_LANG 
ALL_LANGUAGES 

Definition at line 32 of file Builtins.h.

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

ExternalLinkage 

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

Definition at line 21 of file Linkage.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 117 of file Overload.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 315 of file OperationKinds.h.

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

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

Enumerator:
OMF_None 

No particular method family.

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

Definition at line 535 of file IdentifierTable.h.

Enumerate the kinds of standard library that.

Enumerator:
ARCXX_nolib 
ARCXX_libcxx 

libc++

ARCXX_libstdcxx 

libstdc++

Definition at line 30 of file PreprocessorOptions.h.

Names for the OpenCL image access qualifiers (OpenCL 1.1 6.6).

Enumerator:
CLIA_read_only 
CLIA_write_only 
CLIA_read_write 

Definition at line 20 of file OpenCL.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 45 of file Overload.h.

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

Enumerator:
OO_None 

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

Definition at line 555 of file Overload.h.

Enumerator:
OFIK_Undefined 
OFIK_Dereference 
OFIK_TakeAddress 
OFIK_RemoveDereference 
OFIK_RemoveTakeAddress 

Definition at line 21 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 38 of file Overload.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 1021 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 107 of file CodeCompleteConsumer.h.

Storage classes.

Enumerator:
SC_None 
SC_Extern 
SC_Static 
SC_PrivateExtern 
SC_OpenCLWorkGroupLocal 
SC_Auto 
SC_Register 

Definition at line 143 of file Specifiers.h.

The kind of a tag type.

Enumerator:
TTK_Struct 

The "struct" keyword.

TTK_Union 

The "union" keyword.

TTK_Class 

The "class" keyword.

TTK_Enum 

The "enum" keyword.

Definition at line 3663 of file Type.h.

TargetCXXABI - The types of C++ ABIs for which we can generate code.

Enumerator:
CXXABI_Itanium 

The generic ("Itanium") C++ ABI, documented at: http://www.codesourcery.com/public/cxx-abi/

CXXABI_ARM 

The ARM C++ ABI, based largely on the Itanium ABI but with significant differences. http://infocenter.arm.com /help/topic/com.arm.doc.ihi0041c/IHI0041C_cppabi.pdf

CXXABI_Microsoft 

The Visual Studio ABI. Only scattered official documentation exists.

Definition at line 45 of file include/clang/Basic/TargetInfo.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.

Definition at line 33 of file SemaTemplateDeduction.cpp.

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

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_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 19 of file TemplateKinds.h.

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++0x [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 121 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 115 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 103 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 28 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_half 
TST_float 
TST_double 
TST_bool 
TST_decimal32 
TST_decimal64 
TST_decimal128 
TST_enum 
TST_union 
TST_struct 
TST_class 
TST_typename 
TST_typeofType 
TST_typeofExpr 
TST_decltype 
TST_underlyingType 
TST_auto 
TST_unknown_anytype 
TST_atomic 
TST_error 

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

UnaryExprOrTypeTrait - Names for the "expression or type" traits.

Enumerator:
UETT_SizeOf 
UETT_AlignOf 
UETT_VecStep 

Definition at line 81 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 303 of file OperationKinds.h.

UnaryTypeTrait - Names for the unary type traits.

Enumerator:
UTT_HasNothrowAssign 
UTT_HasNothrowCopy 
UTT_HasNothrowConstructor 
UTT_HasTrivialAssign 
UTT_HasTrivialCopy 
UTT_HasTrivialDefaultConstructor 
UTT_HasTrivialDestructor 
UTT_HasVirtualDestructor 
UTT_IsAbstract 
UTT_IsArithmetic 
UTT_IsArray 
UTT_IsClass 
UTT_IsCompleteType 
UTT_IsCompound 
UTT_IsConst 
UTT_IsEmpty 
UTT_IsEnum 
UTT_IsFinal 
UTT_IsFloatingPoint 
UTT_IsFunction 
UTT_IsFundamental 
UTT_IsIntegral 
UTT_IsLiteral 
UTT_IsLvalueReference 
UTT_IsMemberFunctionPointer 
UTT_IsMemberObjectPointer 
UTT_IsMemberPointer 
UTT_IsObject 
UTT_IsPOD 
UTT_IsPointer 
UTT_IsPolymorphic 
UTT_IsReference 
UTT_IsRvalueReference 
UTT_IsScalar 
UTT_IsSigned 
UTT_IsStandardLayout 
UTT_IsTrivial 
UTT_IsTriviallyCopyable 
UTT_IsUnion 
UTT_IsUnsigned 
UTT_IsVoid 
UTT_IsVolatile 

Definition at line 20 of file TypeTraits.h.

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 27 of file Visibility.h.


Function Documentation

AttributeList* clang::addAttributeLists ( AttributeList *  Left,
AttributeList *  Right 
) [inline]

addAttributeLists - Add two AttributeLists together The right-hand list is appended to the left-hand list, if any A pointer to the joined list is returned. Note: the lists are not left unmodified.

Definition at line 525 of file AttributeList.h.

References clang::AttributeList::getNext(), and clang::AttributeList::setNext().

static void clang::AddBuiltinAssignmentOperatorCandidates ( Sema &  S,
QualType  T,
Expr **  Args,
unsigned  NumArgs,
OverloadCandidateSet &  CandidateSet 
) [static]

Helper function for AddBuiltinOperatorCandidates() that adds the volatile- and non-volatile-qualified assignment operators for the given type to the candidate set.

Definition at line 6056 of file SemaOverload.cpp.

References clang::Sema::AddBuiltinCandidate(), clang::Sema::Context, clang::ASTContext::getCanonicalType(), clang::ASTContext::getLValueReferenceType(), clang::ASTContext::getVolatileType(), and clang::CanQual< T >::isVolatileQualified().

static void clang::AddOverloadedCallCandidate ( Sema &  S,
DeclAccessPair  FoundDecl,
TemplateArgumentListInfo *  ExplicitTemplateArgs,
Expr **  Args,
unsigned  NumArgs,
OverloadCandidateSet &  CandidateSet,
bool  PartialOverloading,
bool  KnownValid 
) [static]
static QualType clang::AdoptQualifiers ( ASTContext &  Context,
QualType  T,
Qualifiers  Qs 
) [static]
void clang::ApplyHeaderSearchOptions ( HeaderSearch HS,
const HeaderSearchOptions HSOpts,
const LangOptions Lang,
const llvm::Triple &  triple 
)
Stmt * clang::AssertSuccess ( ExprResult  R) [inline]
void clang::AttachDependencyFileGen ( Preprocessor PP,
const DependencyOutputOptions Opts 
)

AttachDependencyFileGen - Create a dependency file generator, and attach it to the given preprocessor. This takes ownership of the output stream.

Definition at line 73 of file DependencyFile.cpp.

References clang::DependencyOutputOptions::AddMissingHeaderDeps, clang::Preprocessor::addPPCallbacks(), clang::Preprocessor::getDiagnostics(), clang::DiagnosticsEngine::Report(), clang::Preprocessor::SetSuppressIncludeNotFoundError(), and clang::DependencyOutputOptions::Targets.

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

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

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.

Definition at line 48 of file HeaderIncludeGen.cpp.

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

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

static ExprResult clang::BuildRecoveryCallExpr ( Sema &  SemaRef,
Scope *  S,
Expr *  Fn,
UnresolvedLookupExpr *  ULE,
SourceLocation  LParenLoc,
Expr **  Args,
unsigned  NumArgs,
SourceLocation  RParenLoc,
bool  EmptyLookup,
bool  AllowTypoCorrection 
) [static]
static QualType clang::BuildSimilarlyQualifiedPointerType ( const Type *  FromPtr,
QualType  ToPointee,
QualType  ToType,
ASTContext &  Context,
bool  StripObjCLifetime = false 
) [static]

BuildSimilarlyQualifiedPointerType - In a pointer conversion from the pointer type FromPtr to a pointer to type ToPointee, with the same type qualifiers as FromPtr has on its pointee type. ToType, if non-empty, will be a pointer to ToType that may or may not have the right set of qualifiers on its pointee.

Conversions to 'id' subsume cv-qualifier conversions.

Definition at line 1777 of file SemaOverload.cpp.

References clang::ASTContext::getCanonicalType(), clang::QualType::getLocalQualifiers(), clang::QualType::getLocalUnqualifiedType(), clang::ASTContext::getObjCObjectPointerType(), clang::Type::getPointeeType(), clang::ASTContext::getPointerType(), clang::ASTContext::getQualifiedType(), clang::QualType::getQualifiers(), clang::Type::getTypeClass(), clang::QualType::getUnqualifiedType(), clang::QualType::isNull(), and clang::Qualifiers::removeObjCLifetime().

Referenced by clang::Sema::isObjCPointerConversion(), and clang::Sema::IsPointerConversion().

void clang::CacheTokens ( Preprocessor PP,
llvm::raw_fd_ostream *  OS 
)
static bool clang::checkArgPlaceholdersForOverload ( Sema &  S,
Expr **  args,
unsigned  numArgs,
UnbridgedCastsSet &  unbridged 
) [static]

checkArgPlaceholdersForOverload - Check a set of call operands for placeholders.

Definition at line 771 of file SemaOverload.cpp.

References checkPlaceholderForOverload().

Referenced by clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), and clang::Sema::BuildOverloadedCallExpr().

static bool clang::CheckConvertedConstantConversions ( Sema &  S,
StandardConversionSequence &  SCS 
) [static]
static bool clang::checkPlaceholderForOverload ( Sema &  S,
Expr *&  E,
UnbridgedCastsSet *  unbridgedCasts = 0 
) [static]
static bool clang::CheckSpecForTypesEquivalent ( Sema &  S,
const PartialDiagnostic &  DiagID,
const PartialDiagnostic &  NoteID,
QualType  Target,
SourceLocation  TargetLoc,
QualType  Source,
SourceLocation  SourceLoc 
) [static]
static Qualifiers clang::CollectVRQualifiers ( ASTContext &  Context,
Expr *  ArgExpr 
) [static]
ImplicitConversionSequence::CompareKind clang::CompareDerivedToBaseConversions ( Sema &  S,
const StandardConversionSequence &  SCS1,
const StandardConversionSequence &  SCS2 
) [static]
static ImplicitConversionSequence::CompareKind clang::CompareImplicitConversionSequences ( Sema &  S,
const ImplicitConversionSequence &  ICS1,
const ImplicitConversionSequence &  ICS2 
) [static]
static int clang::compareInt ( unsigned  A,
unsigned  B 
) [static]

Definition at line 73 of file DeclarationName.cpp.

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

ImplicitConversionSequence::CompareKind clang::CompareQualificationConversions ( Sema &  S,
const StandardConversionSequence &  SCS1,
const StandardConversionSequence &  SCS2 
) [static]
static ImplicitConversionSequence::CompareKind clang::CompareStandardConversionSequences ( Sema &  S,
const StandardConversionSequence &  SCS1,
const StandardConversionSequence &  SCS2 
) [static]

CompareStandardConversionSequences - Compare two standard conversion sequences to determine whether one is better than the other or if they are indistinguishable (C++ 13.3.3.2p3).

Definition at line 3140 of file SemaOverload.cpp.

References clang::ImplicitConversionSequence::Better, clang::ASTContext::canAssignObjCInterfaces(), CompareDerivedToBaseConversions(), CompareQualificationConversions(), compareStandardConversionSubsets(), clang::Sema::Context, clang::StandardConversionSequence::First, clang::ASTContext::getArrayDecayedType(), clang::ASTContext::getCanonicalType(), clang::StandardConversionSequence::getFromType(), clang::Sema::getLangOptions(), clang::ASTContext::getQualifiedType(), clang::StandardConversionSequence::getRank(), clang::StandardConversionSequence::getToType(), clang::ASTContext::getTypeSize(), clang::ASTContext::getUnqualifiedArrayType(), clang::QualType::getUnqualifiedType(), clang::ASTContext::hasSameType(), ICK_Array_To_Pointer, ICK_Floating_Integral, ICK_Integral_Conversion, clang::ImplicitConversionSequence::Indistinguishable, isBetterReferenceBindingKind(), clang::Sema::IsDerivedFrom(), clang::QualType::isMoreQualifiedThan(), clang::StandardConversionSequence::isPointerConversionToBool(), clang::StandardConversionSequence::isPointerConversionToVoidPointer(), clang::StandardConversionSequence::ObjCLifetimeConversionBinding, clang::StandardConversionSequence::ReferenceBinding, clang::StandardConversionSequence::Second, and clang::ImplicitConversionSequence::Worse.

Referenced by CompareImplicitConversionSequences(), and isBetterOverloadCandidate().

static ImplicitConversionSequence::CompareKind clang::compareStandardConversionSubsets ( ASTContext &  Context,
const StandardConversionSequence &  SCS1,
const StandardConversionSequence &  SCS2 
) [static]
CXXABI * clang::CreateARMCXXABI ( ASTContext Ctx)

Creates an instance of a C++ ABI class.

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

ASTConsumer * clang::CreateASTDumper ( )

Definition at line 54 of file ASTConsumers.cpp.

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

ASTConsumer * clang::CreateASTDumperXML ( raw_ostream &  OS)

Definition at line 420 of file ASTConsumers.cpp.

References clang::frontend::ASTDumpXML.

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

ASTConsumer * clang::CreateASTPrinter ( raw_ostream *  OS)

Definition at line 50 of file ASTConsumers.cpp.

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

ASTConsumer * clang::CreateASTViewer ( )

Definition at line 92 of file ASTConsumers.cpp.

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

ASTConsumer * clang::CreateDeclContextPrinter ( )

Definition at line 400 of file ASTConsumers.cpp.

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

static ExprResult clang::CreateFunctionRefExpr ( Sema &  S,
FunctionDecl *  Fn,
bool  HadMultipleCandidates,
SourceLocation  Loc = SourceLocation(),
const DeclarationNameLoc &  LocInfo = DeclarationNameLoc() 
) [static]
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.

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

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

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

MangleContext * clang::createItaniumMangleContext ( ASTContext Context,
DiagnosticsEngine Diags 
)

Definition at line 3397 of file ItaniumMangle.cpp.

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

CodeGenerator * clang::CreateLLVMCodeGen ( DiagnosticsEngine Diags,
const std::string &  ModuleName,
const CodeGenOptions CGO,
llvm::LLVMContext &  C 
)

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

Definition at line 118 of file ModuleBuilder.cpp.

CXXABI * clang::CreateMicrosoftCXXABI ( ASTContext Ctx)

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

MangleContext * clang::createMicrosoftMangleContext ( ASTContext Context,
DiagnosticsEngine Diags 
)

Definition at line 1188 of file MicrosoftMangle.cpp.

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

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

LOpts.ObjCNonFragileABI

Definition at line 588 of file RewriteObjC.cpp.

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

bool clang::declaresSameEntity ( const Decl *  D1,
const Decl *  D2 
) [inline]
clang::DEF_TRAVERSE_TYPE ( ComplexType  )
void clang::DestroyAttrs ( AttrVec &  V,
ASTContext &  C 
) [inline]

DestroyAttrs - Destroy the contents of an AttrVec.

Definition at line 153 of file Attr.h.

static bool clang::DiagnoseTwoPhaseLookup ( Sema &  SemaRef,
SourceLocation  FnLoc,
const CXXScopeSpec &  SS,
LookupResult &  R,
TemplateArgumentListInfo *  ExplicitTemplateArgs,
Expr **  Args,
unsigned  NumArgs 
) [static]

Attempt to recover from an ill-formed use of a non-dependent name in a template, where the non-dependent name was declared after the template was defined. This is common in code written for a compilers which do not correctly implement two-stage name lookup.

Returns true if a viable candidate was found and a diagnostic was issued.

Definition at line 9106 of file SemaOverload.cpp.

References clang::Sema::ActiveTemplateInstantiations, AddOverloadedCallCandidate(), Args, clang::LookupResult::begin(), clang::LookupResult::clear(), clang::Sema::CurContext, clang::Sema::Diag(), clang::LookupResult::empty(), clang::LookupResult::end(), clang::Sema::FindAssociatedClassesAndNamespaces(), clang::LookupResult::getLookupName(), clang::LookupResult::getNameLoc(), clang::DeclContext::getParent(), clang::Sema::getStdNamespace(), clang::CXXScopeSpec::isEmpty(), clang::Sema::LookupQualifiedName(), NumArgs, OR_Success, and clang::LookupResult::suppressDiagnostics().

Referenced by BuildRecoveryCallExpr(), and DiagnoseTwoPhaseOperatorLookup().

static bool clang::DiagnoseTwoPhaseOperatorLookup ( Sema &  SemaRef,
OverloadedOperatorKind  Op,
SourceLocation  OpLoc,
Expr **  Args,
unsigned  NumArgs 
) [static]

Attempt to recover from ill-formed use of a non-dependent operator in a template, where the non-dependent operator was declared after the template was defined.

Returns true if a viable candidate was found and a diagnostic was issued.

Definition at line 9196 of file SemaOverload.cpp.

References clang::Sema::Context, clang::ASTContext::DeclarationNames, DiagnoseTwoPhaseLookup(), and clang::DeclarationNameTable::getCXXOperatorName().

Referenced by clang::Sema::CreateOverloadedBinOp(), and clang::Sema::CreateOverloadedUnaryOp().

void clang::DoPrintPreprocessedInput ( Preprocessor PP,
raw_ostream *  OS,
const PreprocessorOutputOptions Opts 
)
void clang::DoRewriteTest ( Preprocessor &  PP,
raw_ostream *  OS 
)
static void clang::dropPointerConversion ( StandardConversionSequence &  SCS) [static]

dropPointerConversions - If the given standard conversion sequence involves any pointer conversions, remove them. This may change the result type of the conversion sequence.

Definition at line 4710 of file SemaOverload.cpp.

References ICK_Identity, ICK_Pointer_Conversion, clang::StandardConversionSequence::Second, clang::StandardConversionSequence::Third, and clang::StandardConversionSequence::ToTypePtrs.

Referenced by TryContextuallyConvertToObjCPointer().

void clang::EmitBackendOutput ( DiagnosticsEngine &  Diags,
const CodeGenOptions &  CGOpts,
const TargetOptions &  TOpts,
const LangOptions &  LOpts,
llvm::Module *  M,
BackendAction  Action,
raw_ostream *  OS 
)
bool clang::ExecuteCompilerInvocation ( CompilerInstance Clang)
ExprResult clang::ExprEmpty ( ) [inline]

Definition at line 455 of file Ownership.h.

ExprResult clang::ExprError ( ) [inline]

Definition at line 449 of file Ownership.h.

Referenced by clang::Sema::ActOnArraySubscriptExpr(), clang::Sema::ActOnAsTypeExpr(), clang::Sema::ActOnBooleanCondition(), clang::Sema::ActOnBuiltinOffsetOf(), clang::Sema::ActOnCallExpr(), 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::ActOnDependentMemberExpr(), clang::Sema::ActOnDesignatedInitializer(), clang::Sema::ActOnExpressionTrait(), clang::Sema::ActOnFinishFullExpr(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnInstanceMessage(), clang::Sema::ActOnLambdaExpr(), clang::Sema::ActOnMemberAccessExpr(), clang::Sema::ActOnNumericConstant(), clang::Sema::ActOnObjCAtSynchronizedOperand(), clang::Sema::ActOnObjCForCollectionOperand(), clang::Sema::ActOnPseudoDestructorExpr(), clang::Sema::ActOnSizeofParameterPackExpr(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStmtExpr(), clang::Sema::ActOnStringLiteral(), clang::Sema::ActOnSuperMessage(), clang::Sema::ActOnUnaryExprOrTypeTraitExpr(), clang::Sema::BuildAnonymousStructUnionMemberReference(), clang::Sema::BuildBinaryTypeTrait(), clang::Sema::BuildBinOp(), clang::Sema::BuildBuiltinOffsetOf(), clang::Sema::BuildCallToMemberFunction(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildClassMessage(), clang::Sema::BuildCompoundLiteralExpr(), clang::Sema::BuildCStyleCastExpr(), BuildCXXCastArgument(), clang::Sema::BuildCXXDefaultArgExpr(), 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::BuildInstanceMessage(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::BuildObjCBridgedCast(), clang::Sema::BuildObjCEncodeExpression(), clang::Sema::BuildOverloadedArrowExpr(), clang::Sema::BuildOverloadedCallExpr(), clang::Sema::BuildPossibleImplicitMemberExpr(), clang::Sema::BuildPseudoDestructorExpr(), clang::Sema::BuildQualifiedDeclarationNameExpr(), clang::Sema::BuildQualifiedTemplateIdExpr(), BuildRecoveryCallExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::BuildUnaryOp(), clang::Sema::BuildUnaryTypeTrait(), clang::Sema::BuildVAArgExpr(), clang::Sema::BuildVectorLiteral(), clang::Sema::CheckBooleanCondition(), clang::Sema::CheckConditionVariable(), clang::Sema::CheckConvertedConstantExpression(), clang::Sema::CheckCXXThrowOperand(), clang::Sema::CheckExtVectorCast(), clang::Sema::CheckPackExpansion(), clang::Sema::checkPseudoObjectAssignment(), clang::Sema::CheckTemplateArgument(), clang::Sema::checkUnknownAnyCast(), clang::Sema::ConvertToIntegralOrEnumerationType(), 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(), clang::Sema::DefineImplicitCopyAssignment(), clang::Sema::DefineImplicitMoveAssignment(), diagnoseUnknownAnyExpr(), ExprError(), clang::Sema::HandleExprPropertyRefExpr(), clang::Sema::LookupInObjCMethod(), clang::Sema::LookupMemberExpr(), clang::Sema::MaybeBindToTemporary(), clang::Sema::MaybeConvertParenListExprToParenExpr(), clang::Sema::MaybeCreateExprWithCleanups(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::PerformContextuallyConvertToObjCPointer(), clang::Sema::PerformCopyInitialization(), clang::Sema::PerformImplicitConversion(), clang::Sema::PerformMoveOrCopyInitialization(), clang::Sema::PerformObjectArgumentInitialization(), clang::Sema::PerformObjectMemberConversion(), clang::TreeTransform< Derived >::RebuildCXXConstructExpr(), clang::TreeTransform< Derived >::RebuildCXXNamedCastExpr(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), clang::TreeTransform< Derived >::RebuildDesignatedInitExpr(), clang::TreeTransform< Derived >::RebuildMemberExpr(), clang::TreeTransform< Derived >::RebuildObjCIsaExpr(), clang::TreeTransform< Derived >::RebuildObjCIvarRefExpr(), clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr(), clang::TreeTransform< Derived >::RebuildShuffleVectorExpr(), clang::TreeTransform< Derived >::RebuildUnaryExprOrTypeTrait(), rebuildUnknownAnyFunction(), clang::Sema::ResolveAndFixSingleFunctionTemplateSpecialization(), clang::Sema::SemaBuiltinShuffleVector(), clang::TreeTransform< Derived >::TransformCXXNamedCastExpr(), TryReinterpretCast(), clang::Sema::tryToRecoverWithCall(), clang::Sema::VerifyBitField(), and clang::Sema::VerifyIntegerConstantExpression().

ExprResult clang::ExprError ( const DiagnosticBuilder &  ) [inline]

Definition at line 452 of file Ownership.h.

References ExprError().

static bool clang::FindConversionForRefInit ( Sema &  S,
ImplicitConversionSequence &  ICS,
QualType  DeclType,
SourceLocation  DeclLoc,
Expr *  Init,
QualType  T2,
bool  AllowRvalues,
bool  AllowExplicit 
) [static]

Look for a user-defined conversion to an value reference-compatible with DeclType. Return true if something definite is found.

Definition at line 3702 of file SemaOverload.cpp.

References clang::AmbiguousConversionSequence::addConversion(), clang::Sema::AddConversionCandidate(), clang::Sema::AddTemplateConversionCandidate(), clang::UserDefinedConversionSequence::After, clang::ImplicitConversionSequence::Ambiguous, clang::UserDefinedConversionSequence::Before, clang::UnresolvedSetImpl::begin(), CandidateSet, clang::Sema::CompareReferenceRelationship(), clang::UserDefinedConversionSequence::ConversionFunction, clang::StandardConversionSequence::DirectBinding, clang::UserDefinedConversionSequence::EllipsisConversion, clang::UnresolvedSetImpl::end(), clang::UserDefinedConversionSequence::FoundConversionFunction, clang::Type::getAs(), clang::Decl::getDeclContext(), clang::QualType::getNonReferenceType(), clang::ReferenceType::getPointeeType(), clang::FunctionTemplateDecl::getTemplatedDecl(), clang::QualType::getUnqualifiedType(), clang::UserDefinedConversionSequence::HadMultipleCandidates, clang::Type::isLValueReferenceType(), clang::Sema::MarkFunctionReferenced(), OR_Ambiguous, OR_Deleted, OR_No_Viable_Function, OR_Success, clang::Sema::Ref_Incompatible, clang::StandardConversionSequence::ReferenceBinding, clang::ImplicitConversionSequence::setAmbiguous(), clang::ImplicitConversionSequence::setUserDefined(), and clang::ImplicitConversionSequence::UserDefined.

Referenced by TryReferenceInit().

void clang::FormatASTNodeDiagnosticArgument ( DiagnosticsEngine::ArgumentKind  Kind,
intptr_t  Val,
const char *  Modifier,
unsigned  ModLen,
const char *  Argument,
unsigned  ArgLen,
const DiagnosticsEngine::ArgumentValue PrevArgs,
unsigned  NumPrevArgs,
SmallVectorImpl< char > &  Output,
void *  Cookie,
SmallVectorImpl< intptr_t > &  QualTypeVals 
)
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 93 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 76 of file Version.cpp.

References CLANG_VERSION_STRING, and getClangFullRepositoryVersion().

Referenced by 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 23 of file Version.cpp.

Referenced by clang::ento::clang::getClangFullRepositoryVersion().

std::string clang::getClangRevision ( )

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

Definition at line 53 of file Version.cpp.

Referenced by clang::ento::clang::getClangFullRepositoryVersion().

ImplicitConversionCategory clang::GetConversionCategory ( ImplicitConversionKind  Kind)

GetConversionCategory - Retrieve the implicit conversion category corresponding to the given implicit conversion kind.

Definition at line 92 of file SemaOverload.cpp.

References ICC_Conversion, ICC_Identity, ICC_Lvalue_Transformation, ICC_Promotion, ICC_Qualification_Adjustment, and ICK_Num_Conversion_Kinds.

ImplicitConversionRank clang::GetConversionRank ( ImplicitConversionKind  Kind)

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

Definition at line 123 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().

CXCursorKind clang::getCursorKindForDecl ( Decl D)
QualType clang::getDeclUsageType ( ASTContext C,
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 649 of file SemaCodeComplete.cpp.

References clang::ASTContext::getObjCInterfaceType(), clang::ASTContext::getTypeDeclType(), and clang::NamedDecl::getUnderlyingDecl().

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

Definition at line 4539 of file Type.h.

References getFunctionExtInfo().

const char* clang::GetImplicitConversionName ( ImplicitConversionKind  Kind)

GetImplicitConversionName - Return the name of this kind of implicit conversion.

Definition at line 156 of file SemaOverload.cpp.

References ICK_Num_Conversion_Kinds.

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

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

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

Referenced by AddMacroResults().

unsigned clang::getMaxAttrAlignment ( const AttrVec &  V,
ASTContext &  Ctx 
) [inline]

getMaxAlignment - Returns the highest alignment value found among AlignedAttrs in an AttrVec, or 0 if there are none.

Definition at line 246 of file Attr.h.

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

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

Utility function for constructing a nullary selector.

Definition at line 1872 of file ASTContext.h.

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

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

const char* clang::getOperatorSpelling ( OverloadedOperatorKind  Operator)

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

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

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 580 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 T >
T* clang::getSpecificAttr ( const AttrVec &  vec) [inline]

Definition at line 236 of file Attr.h.

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().

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

Retrieves the range of the given template parameter lists.

Definition at line 37 of file SemaTemplate.cpp.

static Selector clang::GetUnarySelector ( StringRef  name,
ASTContext &  Ctx 
) [inline, static]

Utility function for constructing an unary selector.

Definition at line 1878 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]
static bool clang::hasSimilarType ( ASTContext &  Context,
QualType  T1,
QualType  T2 
) [static]
template<typename T >
bool clang::hasSpecificAttr ( const AttrVec &  vec) [inline]

Definition at line 232 of file Attr.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.

static const Expr* clang::IgnoreNarrowingConversion ( const Expr *  Converted) [static]

Skip any implicit casts which could be either part of a narrowing conversion or after one in an implicit conversion.

Definition at line 263 of file SemaOverload.cpp.

References CK_FloatingCast, CK_FloatingToBoolean, CK_FloatingToIntegral, CK_IntegralCast, CK_IntegralToBoolean, CK_IntegralToFloating, and CK_NoOp.

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

void clang::InitializePreprocessor ( Preprocessor PP,
const PreprocessorOptions InitOpts,
const HeaderSearchOptions HSOpts,
const FrontendOptions FEOpts 
)
bool clang::isBetterOverloadCandidate ( Sema &  S,
const OverloadCandidate &  Cand1,
const OverloadCandidate &  Cand2,
SourceLocation  Loc,
bool  UserDefinedConversion 
)
static bool clang::isBetterReferenceBindingKind ( const StandardConversionSequence &  SCS1,
const StandardConversionSequence &  SCS2 
) [static]
bool clang::isDynamicExceptionSpec ( ExceptionSpecificationType  ESpecType) [inline]
bool clang::isExternalLinkage ( Linkage  L) [inline]
static bool clang::isIntegralOrEnumerationType ( QualType  T,
bool  AllowScopedEnum 
) [static]

Determine whether the provided type is an integral type, or an enumeration type of a permitted flavor.

Definition at line 4768 of file SemaOverload.cpp.

Referenced by clang::Sema::ConvertToIntegralOrEnumerationType(), clang::Expr::EvaluateAsInt(), and clang::VarDecl::isUsableInConstantExpressions().

bool clang::isLegalForFunction ( StorageClass  SC) [inline]

Checks whether the given storage class is legal for functions.

Definition at line 157 of file Specifiers.h.

References SC_PrivateExtern.

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

bool clang::isLegalForVariable ( StorageClass  SC) [inline]

Checks whether the given storage class is legal for variables.

Definition at line 162 of file Specifiers.h.

Referenced by clang::VarDecl::setStorageClass(), and clang::VarDecl::setStorageClassAsWritten().

bool clang::isNoexceptExceptionSpec ( ExceptionSpecificationType  ESpecType) [inline]
static bool clang::isNullPointerConstantForConversion ( Expr *  Expr,
bool  InOverloadResolution,
ASTContext &  Context 
) [static]
static bool clang::IsOverloaded ( const UnresolvedSetImpl &  Functions) [static]
static bool clang::IsStandardConversion ( Sema &  S,
Expr *  From,
QualType  ToType,
bool  InOverloadResolution,
StandardConversionSequence &  SCS,
bool  CStyle,
bool  AllowObjCWritebackConversion 
) [static]

IsStandardConversion - Determines whether there is a standard conversion sequence (C++ [conv], C++ [over.ics.scs]) from the expression From to the type ToType. Standard conversion sequences only consider non-class types; for conversions that involve class types, use TryImplicitConversion. If a conversion exists, SCS will contain the standard conversion sequence required to perform this conversion and this routine will return true. Otherwise, this routine will return false and the value of SCS is unspecified.

Definition at line 1297 of file SemaOverload.cpp.

References clang::ASTContext::BoolTy, clang::Sema::Context, clang::StandardConversionSequence::CopyConstructor, clang::StandardConversionSequence::DeprecatedStringLiteralToCharPtr, clang::Sema::ExtractUnqualifiedFunctionType(), clang::StandardConversionSequence::First, clang::Sema::FixOverloadedFunctionReference(), clang::ASTContext::getArrayDecayedType(), clang::ASTContext::getCanonicalType(), clang::Sema::getLangOptions(), clang::QualType::getLocalCVRQualifiers(), clang::QualType::getLocalUnqualifiedType(), clang::ASTContext::getMemberPointerType(), clang::QualType::getObjCGCAttr(), clang::QualType::getObjCLifetime(), clang::CXXMethodDecl::getParent(), clang::ASTContext::getPointerType(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::ASTContext::getTypeDeclType(), clang::QualType::getUnqualifiedType(), clang::ASTContext::hasSameType(), clang::ASTContext::hasSameUnqualifiedType(), ICK_Array_To_Pointer, ICK_Block_Pointer_Conversion, ICK_Boolean_Conversion, ICK_Compatible_Conversion, ICK_Complex_Conversion, ICK_Complex_Promotion, ICK_Complex_Real, ICK_Floating_Conversion, ICK_Floating_Integral, ICK_Floating_Promotion, ICK_Function_To_Pointer, ICK_Identity, ICK_Integral_Conversion, ICK_Integral_Promotion, ICK_Lvalue_To_Rvalue, ICK_NoReturn_Adjustment, ICK_Pointer_Conversion, ICK_Pointer_Member, ICK_Qualification, ICK_TransparentUnionConversion, ICK_Writeback_Conversion, clang::Expr::IgnoreParens(), clang::StandardConversionSequence::IncompatibleObjC, clang::Sema::IsBlockPointerConversion(), clang::Sema::IsComplexPromotion(), clang::Sema::IsFloatingPointPromotion(), clang::Expr::isGLValue(), clang::Sema::IsIntegralPromotion(), clang::Sema::IsMemberPointerConversion(), clang::Sema::IsNoReturnConversion(), clang::Sema::isObjCWritebackConversion(), clang::Sema::IsPointerConversion(), clang::Sema::IsQualificationConversion(), clang::CXXMethodDecl::isStatic(), clang::Sema::IsStringLiteralToNonConstPointerConversion(), IsTransparentUnionStandardConversion(), IsVectorConversion(), clang::ASTContext::OverloadTy, clang::StandardConversionSequence::QualificationIncludesObjCLifetime, clang::Sema::ResolveAddressOfOverloadedFunction(), clang::StandardConversionSequence::Second, clang::StandardConversionSequence::setAllToTypes(), clang::StandardConversionSequence::setAsIdentityConversion(), clang::StandardConversionSequence::setFromType(), clang::StandardConversionSequence::setToType(), clang::StandardConversionSequence::Third, clang::ASTContext::typesAreCompatible(), and UO_AddrOf.

Referenced by IsTransparentUnionStandardConversion(), and TryImplicitConversion().

static bool clang::IsTransparentUnionStandardConversion ( Sema &  S,
Expr *  From,
QualType &  ToType,
bool  InOverloadResolution,
StandardConversionSequence &  SCS,
bool  CStyle 
) [static]
static OverloadingResult clang::IsUserDefinedConversion ( Sema &  S,
Expr *  From,
QualType  ToType,
UserDefinedConversionSequence &  User,
OverloadCandidateSet &  CandidateSet,
bool  AllowExplicit 
) [static]

Determines whether there is a user-defined conversion sequence (C++ [over.ics.user]) that converts expression From to the type ToType. If such a conversion exists, User will contain the user-defined conversion sequence that performs such a conversion and this routine will return true. Otherwise, this routine returns false and User is unspecified.

Parameters:
AllowExplicittrue if the conversion should consider C++0x "explicit" conversion functions as well as non-explicit conversion functions (C++0x [class.conv.fct]p2).

Definition at line 2764 of file SemaOverload.cpp.

References clang::Sema::AddConversionCandidate(), clang::Sema::AddOverloadCandidate(), clang::Sema::AddTemplateConversionCandidate(), clang::Sema::AddTemplateOverloadCandidate(), clang::UserDefinedConversionSequence::After, Args, clang::UserDefinedConversionSequence::Before, clang::UnresolvedSetImpl::begin(), clang::OverloadCandidateSet::BestViableFunction(), clang::Sema::Context, clang::UserDefinedConversionSequence::ConversionFunction, clang::UserDefinedConversionSequence::EllipsisConversion, clang::UnresolvedSetImpl::end(), clang::UserDefinedConversionSequence::FoundConversionFunction, clang::Decl::getAccess(), clang::DeclAccessPair::getDecl(), clang::Decl::getDeclContext(), clang::Stmt::getLocStart(), clang::PointerType::getPointeeType(), clang::Stmt::getSourceRange(), clang::FunctionTemplateDecl::getTemplatedDecl(), clang::Expr::getType(), clang::UserDefinedConversionSequence::HadMultipleCandidates, clang::ASTContext::hasSameUnqualifiedType(), clang::Sema::IsDerivedFrom(), clang::Decl::isInvalidDecl(), clang::Sema::LookupConstructors(), clang::DeclAccessPair::make(), clang::Sema::MarkFunctionReferenced(), NumArgs, OR_Ambiguous, OR_Deleted, OR_No_Viable_Function, OR_Success, clang::Sema::PDiag(), clang::Sema::RequireCompleteType(), clang::StandardConversionSequence::setAllToTypes(), clang::StandardConversionSequence::setAsIdentityConversion(), clang::StandardConversionSequence::setFromType(), and clang::OverloadCandidateSet::size().

Referenced by clang::Sema::DiagnoseMultipleUserDefinedConversion(), and TryUserDefinedConversion().

static bool clang::IsVectorConversion ( ASTContext &  Context,
QualType  FromType,
QualType  ToType,
ImplicitConversionKind &  ICK 
) [static]

Determine whether the conversion from FromType to ToType is a valid vector conversion.

Parameters:
ICKWill be set to the vector conversion kind, if this is a vector conversion.

Definition at line 1248 of file SemaOverload.cpp.

References clang::ASTContext::areCompatibleVectorTypes(), clang::ASTContext::getLangOptions(), clang::ASTContext::getTypeSize(), clang::ASTContext::hasSameUnqualifiedType(), ICK_Vector_Conversion, and ICK_Vector_Splat.

Referenced by IsStandardConversion().

static OverloadCandidate::DeductionFailureInfo clang::MakeDeductionFailureInfo ( ASTContext &  Context,
Sema::TemplateDeductionResult  TDK,
TemplateDeductionInfo &  Info 
) [static]
static Linkage clang::minLinkage ( Linkage  L1,
Linkage  L2 
) [inline, static]

Compute the minimum linkage given two linages.

Definition at line 62 of file Linkage.h.

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

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

Definition at line 42 of file Visibility.h.

Referenced by clang::NamedDecl::LinkageInfo::mergeVisibility().

template<class T , bool C>
ActionResult<T,C> clang::move ( ActionResult< T, C > &  ptr) [inline]

Definition at line 407 of file Ownership.h.

Referenced by clang::Sema::ActOnClassMessage(), clang::Sema::ActOnCXXDelete(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnCXXNamedCast(), clang::Sema::ActOnCXXNew(), clang::Sema::ActOnExpressionTrait(), clang::Sema::ActOnFinishFunctionBody(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnIdExpression(), clang::Sema::ActOnInstanceMessage(), clang::Sema::ActOnMemberAccessExpr(), clang::Sema::ActOnStartCXXMemberReference(), clang::Sema::ActOnStartOfFunctionTemplateDef(), clang::Sema::ActOnSuperMessage(), clang::Sema::ActOnTemplateDeclarator(), clang::Sema::ActOnUnaryExprOrTypeTraitExpr(), clang::Sema::AddCXXDirectInitializerToDecl(), clang::Sema::BuildCallToObjectOfClassType(), clang::Sema::BuildCXXConstructExpr(), clang::Sema::BuildCXXNew(), clang::Sema::BuildCXXTypeConstructExpr(), clang::Sema::BuildExpressionFromDeclTemplateArgument(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildMemberReferenceExpr(), clang::Sema::CheckConditionalOperands(), clang::Sema::CheckConditionVariable(), clang::Sema::CheckLogicalOperands(), CheckRealImagOperand(), clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::ClassifyName(), CopyObject(), CreateFunctionRefExpr(), clang::Sema::CreateOverloadedBinOp(), clang::Sema::CXXCheckConditionalOperands(), clang::Sema::DefaultFunctionArrayLvalueConversion(), FindConditionalOverload(), clang::Sema::HandleDeclarator(), clang::Sema::InitializeVarWithConstructor(), clang::InitializationSequence::Perform(), PerformConstructorInitialization(), clang::TreeTransform< Derived >::RebuildAsmStmt(), clang::TreeTransform< Derived >::RebuildCallExpr(), clang::TreeTransform< Derived >::RebuildCXXConstructExpr(), clang::TreeTransform< Derived >::RebuildCXXNewExpr(), clang::TreeTransform< Derived >::RebuildCXXOperatorCallExpr(), clang::TreeTransform< Derived >::RebuildCXXTemporaryObjectExpr(), clang::TreeTransform< Derived >::RebuildCXXTryStmt(), clang::TreeTransform< Derived >::RebuildCXXUnresolvedConstructExpr(), clang::TreeTransform< Derived >::RebuildDesignatedInitExpr(), clang::TreeTransform< Derived >::RebuildInitList(), clang::TreeTransform< Derived >::RebuildObjCAtTryStmt(), clang::TreeTransform< Derived >::RebuildObjCIsaExpr(), clang::TreeTransform< Derived >::RebuildObjCIvarRefExpr(), clang::TreeTransform< Derived >::RebuildObjCMessageExpr(), clang::TreeTransform< Derived >::RebuildObjCPropertyRefExpr(), clang::TreeTransform< Derived >::RebuildParenListExpr(), clang::TreeTransform< Derived >::RebuildUnaryExprOrTypeTrait(), clang::Sema::FullExprArg::release(), TryReinterpretCast(), and TryStaticImplicitCast().

template<class T >
ASTMultiPtr<T>& clang::move ( ASTMultiPtr< T > &  ptr) [inline]

Definition at line 412 of file Ownership.h.

Expr* clang::move ( Expr *  E) [inline]

Definition at line 441 of file Ownership.h.

Stmt* clang::move ( Stmt *  S) [inline]

Definition at line 442 of file Ownership.h.

References S.

template<class T , unsigned N>
ASTMultiPtr<T> clang::move_arg ( ASTOwningVector< T, N > &  vec) [inline]
bool clang::operator!= ( const SourceLocation &  LHS,
const SourceLocation &  RHS 
) [inline]

Definition at line 175 of file SourceLocation.h.

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

Definition at line 192 of file CanonicalType.h.

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

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

Definition at line 61 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

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

Definition at line 66 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

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

Definition at line 70 of file SourceManagerInternals.h.

References clang::LineEntry::FileOffset.

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

Definition at line 179 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 288 of file DeclarationName.h.

References clang::DeclarationName::compare().

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

Definition at line 495 of file CodeCompleteConsumer.cpp.

References getOrderedName().

raw_ostream & clang::operator<< ( raw_ostream &  Out,
const VersionTuple V 
)

Print a version number.

Definition at line 28 of file VersionTuple.cpp.

References clang::VersionTuple::getMajor(), clang::VersionTuple::getMinor(), and clang::VersionTuple::getSubminor().

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

Definition at line 2328 of file Type.cpp.

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

Definition at line 315 of file Decl.h.

References clang::NamedDecl::printName().

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

Definition at line 327 of file PartialDiagnostic.h.

References clang::PartialDiagnostic::Emit().

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().

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

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

Definition at line 643 of file NestedNameSpecifier.cpp.

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

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

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

Definition at line 625 of file DeclarationName.cpp.

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

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

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

Definition at line 632 of file DeclarationName.cpp.

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 527 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,
StringRef  S 
) [inline]

Definition at line 821 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]
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
bool  I 
) [inline]
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
unsigned  I 
) [inline]
const DiagnosticBuilder& clang::operator<< ( const DiagnosticBuilder &  DB,
const IdentifierInfo *  II 
) [inline]
template<typename T >
llvm::enable_if<llvm::is_same<T, DeclContext>, 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,
const CharSourceRange &  R 
) [inline]

Definition at line 877 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddSourceRange().

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

Definition at line 883 of file Diagnostic.h.

References clang::DiagnosticBuilder::AddFixItHint().

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

Definition at line 1193 of file DeclObjC.cpp.

References clang::ObjCCategoryImplDecl::getName().

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

Definition at line 1237 of file DeclObjC.cpp.

References clang::ObjCImplementationDecl::getName().

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

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

Definition at line 1973 of file DeclCXX.cpp.

References getAccessName().

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

Definition at line 1978 of file DeclCXX.cpp.

References getAccessName().

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

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

Definition at line 2964 of file Decl.cpp.

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

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

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

Definition at line 2314 of file Type.cpp.

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

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

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

Definition at line 2321 of file Type.cpp.

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 300 of file DeclarationName.h.

References clang::DeclarationName::compare().

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

Definition at line 743 of file CodeCompleteConsumer.h.

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

Definition at line 171 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 187 of file CanonicalType.h.

References clang::CanQual< T >::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 294 of file DeclarationName.h.

References clang::DeclarationName::compare().

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

Definition at line 738 of file CodeCompleteConsumer.h.

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 306 of file DeclarationName.h.

References clang::DeclarationName::compare().

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

Definition at line 748 of file CodeCompleteConsumer.h.

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

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 38 of file ParseAST.cpp.

References S.

Referenced by clang::ChainedIncludesSource::create(), and clang::ASTFrontendAction::ExecuteAction().

void clang::ParseAST ( Sema S,
bool  PrintStats = false 
)
void clang::ProcessWarningOptions ( DiagnosticsEngine Diags,
const DiagnosticOptions Opts 
)

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

Definition at line 50 of file Warnings.cpp.

References clang::DiagnosticOptions::ConstexprBacktraceLimit, EmitUnknownDiagWarning(), clang::DiagnosticOptions::ErrorLimit, clang::DiagnosticsEngine::Ext_Error, clang::DiagnosticsEngine::Ext_Ignore, clang::DiagnosticsEngine::Ext_Warn, clang::DiagnosticsEngine::getDiagnosticIDs(), clang::DiagnosticOptions::IgnoreWarnings, clang::diag::MAP_IGNORE, clang::diag::MAP_WARNING, clang::DiagnosticOptions::Pedantic, clang::DiagnosticOptions::PedanticErrors, clang::DiagnosticsEngine::Report(), clang::DiagnosticsEngine::setConstexprBacktraceLimit(), clang::DiagnosticsEngine::setDiagnosticGroupErrorAsFatal(), clang::DiagnosticsEngine::setDiagnosticGroupMapping(), clang::DiagnosticsEngine::setDiagnosticGroupWarningAsError(), clang::DiagnosticsEngine::setEnableAllWarnings(), clang::DiagnosticsEngine::setErrorLimit(), clang::DiagnosticsEngine::setErrorsAsFatal(), clang::DiagnosticsEngine::setExtensionHandlingBehavior(), clang::DiagnosticsEngine::setIgnoreAllWarnings(), clang::DiagnosticsEngine::setMappingToAllDiagnostics(), clang::DiagnosticsEngine::setShowOverloads(), clang::DiagnosticsEngine::setSuppressSystemWarnings(), clang::DiagnosticsEngine::setTemplateBacktraceLimit(), clang::DiagnosticsEngine::setWarningsAsErrors(), clang::DiagnosticOptions::ShowOverloads, clang::DiagnosticOptions::TemplateBacktraceLimit, and clang::DiagnosticOptions::Warnings.

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

void clang::RewriteMacrosInInput ( Preprocessor PP,
raw_ostream *  OS 
)
void clang::runUninitializedVariablesAnalysis ( const DeclContext dc,
const CFG cfg,
AnalysisDeclContext ac,
UninitVariablesHandler handler,
UninitVariablesAnalysisStats stats 
)
template<typename T >
specific_attr_iterator<T> clang::specific_attr_begin ( const AttrVec &  vec) [inline]

Definition at line 223 of file Attr.h.

template<typename T >
specific_attr_iterator<T> clang::specific_attr_end ( const AttrVec &  vec) [inline]

Definition at line 227 of file Attr.h.

StmtResult clang::StmtEmpty ( ) [inline]

Definition at line 456 of file Ownership.h.

StmtResult clang::StmtError ( ) [inline]
StmtResult clang::StmtError ( const DiagnosticBuilder &  ) [inline]

Definition at line 453 of file Ownership.h.

References StmtError().

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

Definition at line 3407 of file TreeTransform.h.

References clang::TypeLocBuilder::push().

static ImplicitConversionSequence clang::TryContextuallyConvertToBool ( Sema &  S,
Expr *  From 
) [static]

TryContextuallyConvertToBool - Attempt to contextually convert the expression From to bool (C++0x [conv]p3).

Definition at line 4508 of file SemaOverload.cpp.

References clang::ASTContext::BoolTy, clang::Sema::Context, and TryImplicitConversion().

Referenced by clang::Sema::AddBuiltinCandidate(), and clang::Sema::PerformContextuallyConvertToBool().

static ImplicitConversionSequence clang::TryContextuallyConvertToObjCPointer ( Sema &  S,
Expr *  From 
) [static]
static ImplicitConversionSequence clang::TryCopyInitialization ( Sema &  S,
Expr *  From,
QualType  ToType,
bool  SuppressUserConversions,
bool  InOverloadResolution,
bool  AllowObjCWritebackConversion 
) [static]

TryCopyInitialization - Try to copy-initialize a value of type ToType from the expression From. Return the implicit conversion sequence required to pass this argument, which may be a bad conversion sequence (meaning that the argument cannot be passed to a parameter of this type). If SuppressUserConversions, then we do not permit any user-defined conversion sequences.

Definition at line 4294 of file SemaOverload.cpp.

References clang::Stmt::getLocStart(), TryImplicitConversion(), TryListConversion(), and TryReferenceInit().

Referenced by clang::Sema::AddBuiltinCandidate(), clang::Sema::AddConversionCandidate(), clang::Sema::AddOverloadCandidate(), clang::Sema::AddSurrogateCandidate(), TryCopyInitialization(), and TryListConversion().

static bool clang::TryCopyInitialization ( const CanQualType  FromQTy,
const CanQualType  ToQTy,
Sema &  S,
SourceLocation  Loc,
ExprValueKind  FromVK 
) [static]
static ImplicitConversionSequence clang::TryImplicitConversion ( Sema &  S,
Expr *  From,
QualType  ToType,
bool  SuppressUserConversions,
bool  AllowExplicit,
bool  InOverloadResolution,
bool  CStyle,
bool  AllowObjCWritebackConversion 
) [static]

TryImplicitConversion - Attempt to perform an implicit conversion from the given expression (Expr) to the given type (ToType). This function returns an implicit conversion sequence that can be used to perform the initialization. Given

void f(float f); void g(int i) { f(i); }

this routine would produce an implicit conversion sequence to describe the initialization of f from i, which will be a standard conversion sequence containing an lvalue-to-rvalue conversion (C++ 4.1) followed by a floating-integral conversion (C++ 4.9). Note that this routine only determines how the conversion can be performed; it does not actually perform the conversion. As such, it will not produce any diagnostics if no conversion is available, but will instead return an implicit conversion sequence of kind "BadConversion".

If SuppressUserConversions, then user-defined conversions are not permitted. If AllowExplicit, then explicit user-defined conversions are permitted.

Parameters:
AllowObjCWritebackConversionWhether we allow the Objective-C writeback conversion, which allows __autoreleasing id* parameters to be initialized with __strong id* or __weak id* arguments.

Definition at line 1097 of file SemaOverload.cpp.

References clang::Sema::Context, clang::StandardConversionSequence::CopyConstructor, clang::Sema::getLangOptions(), clang::Expr::getType(), clang::ASTContext::hasSameUnqualifiedType(), ICK_Derived_To_Base, clang::Sema::IsDerivedFrom(), IsStandardConversion(), clang::BadConversionSequence::no_conversion, clang::StandardConversionSequence::Second, clang::StandardConversionSequence::setAllToTypes(), clang::StandardConversionSequence::setAsIdentityConversion(), clang::ImplicitConversionSequence::setBad(), clang::StandardConversionSequence::setFromType(), clang::ImplicitConversionSequence::setStandard(), clang::ImplicitConversionSequence::Standard, and TryUserDefinedConversion().

Referenced by clang::Sema::CheckSingleAssignmentConstraints(), clang::Sema::PerformImplicitConversion(), TryContextuallyConvertToBool(), TryContextuallyConvertToObjCPointer(), TryCopyInitialization(), clang::Sema::TryImplicitConversion(), and TryReferenceInit().

static ImplicitConversionSequence clang::TryListConversion ( Sema &  S,
InitListExpr *  From,
QualType  ToType,
bool  SuppressUserConversions,
bool  InOverloadResolution,
bool  AllowObjCWritebackConversion 
) [static]

TryListConversion - Try to copy-initialize a value of type ToType from the initializer list From.

Definition at line 4102 of file SemaOverload.cpp.

References clang::UserDefinedConversionSequence::After, clang::UserDefinedConversionSequence::Before, clang::StandardConversionSequence::BindsImplicitObjectArgumentWithoutRefQualifier, clang::StandardConversionSequence::BindsToFunctionLvalue, clang::StandardConversionSequence::BindsToRvalue, clang::Sema::CanPerformCopyInitialization(), CompareImplicitConversionSequences(), clang::Sema::CompareReferenceRelationship(), clang::Sema::Context, clang::UserDefinedConversionSequence::ConversionFunction, clang::ASTContext::getBaseElementType(), clang::ASTContext::getCanonicalType(), clang::InitListExpr::getInit(), clang::Stmt::getLocStart(), clang::InitListExpr::getNumInits(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::InitializedEntity::InitializeParameter(), clang::ImplicitConversionSequence::isBad(), clang::QualType::isConstQualified(), clang::ImplicitConversionSequence::isEllipsis(), clang::ImplicitConversionSequence::isFailure(), clang::StandardConversionSequence::IsLvalueReference, clang::QualType::isNull(), clang::ImplicitConversionSequence::isStandard(), clang::Sema::isStdInitializerList(), clang::QualType::isVolatileQualified(), clang::BadConversionSequence::lvalue_ref_to_rvalue, clang::BadConversionSequence::no_conversion, clang::StandardConversionSequence::ObjCLifetimeConversionBinding, clang::ASTContext::OverloadTy, clang::Sema::Owned(), clang::Sema::PDiag(), clang::Sema::Ref_Related, clang::StandardConversionSequence::ReferenceBinding, clang::Sema::RequireCompleteType(), clang::Sema::ResolveAddressOfOverloadedFunction(), clang::StandardConversionSequence::setAllToTypes(), clang::StandardConversionSequence::setAsIdentityConversion(), clang::ImplicitConversionSequence::setBad(), clang::StandardConversionSequence::setFromType(), clang::ImplicitConversionSequence::setListInitializationSequence(), clang::ImplicitConversionSequence::setStandard(), clang::ImplicitConversionSequence::setUserDefined(), clang::ImplicitConversionSequence::Standard, TryCopyInitialization(), TryReferenceInit(), TryUserDefinedConversion(), clang::ImplicitConversionSequence::UserDefined, and clang::ImplicitConversionSequence::Worse.

Referenced by TryCopyInitialization().

static ImplicitConversionSequence clang::TryObjectArgumentInitialization ( Sema &  S,
QualType  OrigFromType,
Expr::Classification  FromClassification,
CXXMethodDecl *  Method,
CXXRecordDecl *  ActingContext 
) [static]

TryObjectArgumentInitialization - Try to initialize the object parameter of the given member function (Method) from the expression From.

Definition at line 4332 of file SemaOverload.cpp.

References clang::BadConversionSequence::bad_qualifiers, clang::StandardConversionSequence::BindsImplicitObjectArgumentWithoutRefQualifier, clang::StandardConversionSequence::BindsToFunctionLvalue, clang::StandardConversionSequence::BindsToRvalue, clang::Qualifiers::Const, clang::Sema::Context, clang::StandardConversionSequence::DirectBinding, clang::ASTContext::getCanonicalType(), clang::ASTContext::getCVRQualifiedType(), clang::QualType::getCVRQualifiers(), clang::QualType::getLocalUnqualifiedType(), clang::CXXMethodDecl::getRefQualifier(), clang::ASTContext::getTypeDeclType(), clang::CXXMethodDecl::getTypeQualifiers(), ICK_Derived_To_Base, ICK_Identity, clang::QualType::isAtLeastAsQualifiedAs(), clang::Sema::IsDerivedFrom(), clang::Expr::Classification::isLValue(), clang::StandardConversionSequence::IsLvalueReference, clang::Expr::Classification::isRValue(), clang::BadConversionSequence::lvalue_ref_to_rvalue, clang::StandardConversionSequence::ReferenceBinding, RQ_LValue, RQ_None, RQ_RValue, clang::BadConversionSequence::rvalue_ref_to_lvalue, clang::StandardConversionSequence::Second, clang::StandardConversionSequence::setAllToTypes(), clang::StandardConversionSequence::setAsIdentityConversion(), clang::ImplicitConversionSequence::setBad(), clang::StandardConversionSequence::setFromType(), clang::ImplicitConversionSequence::setStandard(), clang::ImplicitConversionSequence::Standard, clang::BadConversionSequence::unrelated_class, and clang::Qualifiers::Volatile.

Referenced by clang::Sema::AddConversionCandidate(), clang::Sema::AddMethodCandidate(), clang::Sema::AddSurrogateCandidate(), and clang::Sema::PerformObjectArgumentInitialization().

static ImplicitConversionSequence clang::TryReferenceInit ( Sema &  S,
Expr *  Init,
QualType  DeclType,
SourceLocation  DeclLoc,
bool  SuppressUserConversions,
bool  AllowExplicit 
) [static]
static ImplicitConversionSequence clang::TryUserDefinedConversion ( Sema &  S,
Expr *  From,
QualType  ToType,
bool  SuppressUserConversions,
bool  AllowExplicit,
bool  InOverloadResolution,
bool  CStyle,
bool  AllowObjCWritebackConversion 
) [static]

Tries a user-defined conversion from From to ToType.

Produces an implicit conversion sequence for when a standard conversion is not an option. See TryImplicitConversion for more information.

Definition at line 994 of file SemaOverload.cpp.

References clang::AmbiguousConversionSequence::addConversion(), clang::ImplicitConversionSequence::Ambiguous, clang::Sema::Context, clang::UserDefinedConversionSequence::ConversionFunction, clang::StandardConversionSequence::CopyConstructor, clang::ASTContext::getCanonicalType(), clang::Expr::getExprLoc(), clang::Expr::getType(), clang::CanQual< T >::getUnqualifiedType(), clang::QualType::getUnqualifiedType(), ICK_Derived_To_Base, clang::Sema::IsDerivedFrom(), clang::ImplicitConversionSequence::isUserDefined(), IsUserDefinedConversion(), clang::BadConversionSequence::no_conversion, OR_Ambiguous, OR_Success, clang::StandardConversionSequence::Second, clang::StandardConversionSequence::setAllToTypes(), clang::ImplicitConversionSequence::setAmbiguous(), clang::StandardConversionSequence::setAsIdentityConversion(), clang::ImplicitConversionSequence::setBad(), clang::StandardConversionSequence::setFromType(), clang::AmbiguousConversionSequence::setFromType(), clang::ImplicitConversionSequence::setStandard(), clang::AmbiguousConversionSequence::setToType(), clang::ImplicitConversionSequence::setUserDefined(), clang::ImplicitConversionSequence::Standard, clang::BadConversionSequence::suppressed_user, and clang::ImplicitConversionSequence::UserDefined.

Referenced by clang::InitializationSequence::InitializationSequence(), TryImplicitConversion(), and TryListConversion().

void clang::WriteAsOperand ( raw_ostream &  OS,
const CFGBlock *  BB,
bool  t 
) [inline]

Definition at line 159 of file Dominators.h.

References clang::CFGBlock::getBlockID().