clang: clang::GlobalDecl Class Reference (original) (raw)

GlobalDecl - represents a global declaration. More...

#include "[clang/AST/GlobalDecl.h](GlobalDecl%5F8h%5Fsource.html)"

Public Member Functions
GlobalDecl ()=default
GlobalDecl (const VarDecl *D)
GlobalDecl (const FunctionDecl *D, unsigned MVIndex=0)
GlobalDecl (const FunctionDecl *D, KernelReferenceKind Kind)
GlobalDecl (const NamedDecl *D)
GlobalDecl (const BlockDecl *D)
GlobalDecl (const CapturedDecl *D)
GlobalDecl (const ObjCMethodDecl *D)
GlobalDecl (const OMPDeclareReductionDecl *D)
GlobalDecl (const OMPDeclareMapperDecl *D)
GlobalDecl (const OpenACCRoutineDecl *D)
GlobalDecl (const OpenACCDeclareDecl *D)
GlobalDecl (const CXXConstructorDecl *D, CXXCtorType Type)
GlobalDecl (const CXXDestructorDecl *D, CXXDtorType Type)
GlobalDecl (const VarDecl *D, DynamicInitKind StubKind)
GlobalDecl getCanonicalDecl () const
const Decl * getDecl () const
CXXCtorType getCtorType () const
CXXDtorType getDtorType () const
DynamicInitKind getDynamicInitKind () const
unsigned getMultiVersionIndex () const
KernelReferenceKind getKernelReferenceKind () const
bool operator!= (const GlobalDecl &Other) const
void * getAsOpaquePtr () const
operator bool () const
GlobalDecl getWithDecl (const Decl *D)
GlobalDecl getWithCtorType (CXXCtorType Type)
GlobalDecl getWithDtorType (CXXDtorType Type)
GlobalDecl getWithMultiVersionIndex (unsigned Index)
GlobalDecl getWithKernelReferenceKind (KernelReferenceKind Kind)

GlobalDecl - represents a global declaration.

This can either be a CXXConstructorDecl and the constructor type (Base, Complete). a CXXDestructorDecl and the destructor type (Base, Complete), a FunctionDecl and the kernel reference type (Kernel, Stub), or a VarDecl, a FunctionDecl or a BlockDecl.

When a new type of GlobalDecl is added, the following places should be updated to convert a Decl* to a GlobalDecl: PredefinedExpr::ComputeName() in lib/AST/Expr.cpp. getParentOfLocalEntity() in lib/AST/ItaniumMangle.cpp ASTNameGenerator::Implementation::writeFuncOrVarName in lib/AST/Mangle.cpp

Definition at line 57 of file GlobalDecl.h.

GlobalDecl() [1/15]

clang::GlobalDecl::GlobalDecl ( ) default

GlobalDecl() [2/15]

clang::GlobalDecl::GlobalDecl ( const VarDecl * D) inline

GlobalDecl() [3/15]

GlobalDecl() [4/15]

GlobalDecl() [5/15]

clang::GlobalDecl::GlobalDecl ( const NamedDecl * D) inline

GlobalDecl() [6/15]

clang::GlobalDecl::GlobalDecl ( const BlockDecl * D) inline

GlobalDecl() [7/15]

clang::GlobalDecl::GlobalDecl ( const CapturedDecl * D) inline

GlobalDecl() [8/15]

GlobalDecl() [9/15]

GlobalDecl() [10/15]

GlobalDecl() [11/15]

GlobalDecl() [12/15]

GlobalDecl() [13/15]

GlobalDecl() [14/15]

GlobalDecl() [15/15]

getAsOpaquePtr()

void * clang::GlobalDecl::getAsOpaquePtr ( ) const inline

getCanonicalDecl()

GlobalDecl clang::GlobalDecl::getCanonicalDecl ( ) const inline

getCtorType()

CXXCtorType clang::GlobalDecl::getCtorType ( ) const inline

getDecl()

const Decl * clang::GlobalDecl::getDecl ( ) const inline

Definition at line 106 of file GlobalDecl.h.

Referenced by clang::CIRGen::CIRGenTypes::arrangeCXXStructorDeclaration(), clang::CodeGen::CodeGenTypes::arrangeCXXStructorDeclaration(), clang::CodeGen::CodeGenTypes::arrangeFunctionDeclaration(), clang::CIRGen::CIRGenTypes::arrangeGlobalDeclaration(), clang::CodeGen::CodeGenTypes::arrangeGlobalDeclaration(), clang::CodeGen::CodeGenPGO::assignRegionCounters(), asTemplateName(), clang::CodeGen::CodeGenFunction::BuildFunctionArgList(), clang::CIRGen::CIRGenFunction::buildFunctionArgList(), clang::CIRGen::CIRGenCXXABI::buildThisParam(), clang::CodeGen::CGCXXABI::buildThisParam(), clang::CIRGen::CIRGenModule::codegenCXXStructor(), clang::CodeGen::CodeGenModule::codegenCXXStructor(), commonEmitCXXMemberOrOperatorCall(), clang::CodeGen::CodeGenModule::ConstructAttributeList(), clang::CIRGen::CIRGenModule::constructAttributeList(), clang::CIRGen::CIRGenModule::emitAliasForGlobal(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CIRGen::CIRGenFunction::emitBuiltinExpr(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCXXDestructorCall(), clang::CIRGen::CIRGenFunction::emitCXXDestructorCall(), EmitDirectCallee(), clang::CodeGen::CGDebugInfo::EmitFuncDeclForCallSite(), clang::CodeGen::CGDebugInfo::EmitFunctionDecl(), EmitFunctionDeclLValue(), emitFunctionDeclLValue(), clang::CodeGen::CGDebugInfo::emitFunctionStart(), clang::CodeGen::CodeGenModule::EmitGlobal(), clang::CIRGen::CIRGenModule::emitGlobal(), clang::CodeGen::CGDebugInfo::EmitGlobalAlias(), EmitGlobalDeclMetadata(), clang::CIRGen::CIRGenModule::emitGlobalDefinition(), clang::CIRGen::CIRGenModule::emitGlobalFunctionDefinition(), clang::CodeGen::CGDebugInfo::EmitInlineFunctionStart(), clang::CodeGen::CodeGenFunction::EmitLambdaInAllocaImplFn(), emitLLDBAsmLabel(), clang::CodeGen::CGOpenMPRuntime::emitTargetFunctions(), clang::CodeGen::CGOpenMPRuntime::emitTargetGlobal(), clang::CodeGen::CGOpenMPRuntime::emitTargetGlobalVariable(), clang::CodeGen::CodeGenVTables::EmitThunks(), clang::CIRGen::CIRGenVTables::emitThunks(), clang::ItaniumVTableContext::findOriginalMethod(), clang::CodeGen::CodeGenFunction::GenerateCode(), clang::CIRGen::CIRGenFunction::generateCode(), clang::CodeGen::CodeGenFunction::GenerateVarArgsThunk(), clang::CIRGen::EHPersonality::get(), clang::CodeGen::EHPersonality::get(), clang::CIRGen::CIRGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::CodeGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::CodeGenModule::GetAddrOfFunction(), clang::CIRGen::CIRGenModule::getAddrOfFunction(), clang::CodeGen::CodeGenModule::GetAddrOfGlobal(), clang::CIRGen::CIRGenModule::getAddrOfGlobal(), clang::CodeGen::CodeGenModule::getBlockMangledName(), getCtorType(), getDtorType(), getDynamicInitKind(), clang::ASTContext::getFunctionFeatureMap(), clang::CIRGen::CIRGenModule::getFunctionLinkage(), clang::CodeGen::CodeGenModule::getFunctionLinkage(), clang::CodeGen::CodeGenModule::getFunctionPointer(), clang::CodeGen::CodeGenTypes::GetFunctionTypeForVTable(), clang::CIRGen::CIRGenTypes::getFunctionTypeForVTable(), getKernelReferenceKind(), clang::CIRGen::CIRGenModule::getMangledName(), clang::CodeGen::CodeGenModule::getMangledName(), clang::MicrosoftVTableContext::getMethodVFTableLocation(), clang::ItaniumVTableContext::getMethodVTableIndex(), getMultiVersionIndex(), getMultiversionLinkage(), clang::CIRGen::CIRGenModule::getOrCreateCIRFunction(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::CIRGen::CIRGenModule::getOrCreateStaticVarDecl(), clang::CodeGen::CodeGenModule::getOrCreateStaticVarDecl(), clang::CodeGen::CodeGenModule::getRawFunctionPointer(), clang::CodeGen::CGCXXABI::getThisArgumentTypeForMethod(), clang::MicrosoftVTableContext::getThunkInfo(), clang::VTableContextBase::getThunkInfo(), clang::CodeGen::CodeGenFunction::GetVTTParameter(), clang::CIRGen::CIRGenFunction::getVTTParameter(), getWithCtorType(), getWithDtorType(), getWithKernelReferenceKind(), getWithMultiVersionIndex(), clang::CodeGen::CGCXXABI::HasThisReturn(), clang::CodeGen::CodeGenFunction::InlinedInheritingConstructorScope::InlinedInheritingConstructorScope(), isDeletingDtor(), isTemplate(), isTemplate(), isUniqueInternalLinkageDecl(), clang::MangleContext::mangleName(), clang::CodeGen::CGOpenMPRuntime::markAsGlobalTarget(), clang::CodeGen::CodeGenModule::SetCommonAttributes(), clang::CIRGen::CIRGenModule::setCommonAttributes(), clang::CodeGen::CodeGenModule::setDLLImportDLLExport(), clang::CIRGen::CIRGenModule::setFunctionAttributes(), clang::CodeGen::CodeGenModule::setGVProperties(), clang::CodeGen::CodeGenModule::SetInternalFunctionAttributes(), clang::CodeGen::CodeGenModule::SetLLVMFunctionAttributes(), clang::CodeGen::CodeGenFunction::StartFunction(), clang::CIRGen::CIRGenFunction::startFunction(), clang::CodeGen::CodeGenFunction::StartThunk(), clang::CodeGen::CodeGenModule::TryEmitBaseDestructorAsAlias(), and clang::ASTContext::useAbbreviatedThunkName().

getDefaultKernelReference()

getDtorType()

CXXDtorType clang::GlobalDecl::getDtorType ( ) const inline

Definition at line 113 of file GlobalDecl.h.

References getDecl(), and clang::isa().

Referenced by clang::CodeGen::CodeGenPGO::assignRegionCounters(), emitLLDBAsmLabel(), clang::CodeGen::CodeGenVTables::EmitThunks(), clang::CIRGen::CIRGenVTables::emitThunks(), clang::ItaniumVTableContext::findOriginalMethod(), clang::CIRGen::CIRGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::CodeGenModule::getAddrAndTypeOfCXXStructor(), clang::CodeGen::CodeGenModule::GetAddrOfFunction(), clang::CIRGen::CIRGenModule::getAddrOfFunction(), clang::CodeGen::CodeGenModule::getBlockMangledName(), clang::CIRGen::CIRGenModule::getFunctionLinkage(), clang::CodeGen::CodeGenModule::getFunctionLinkage(), clang::MicrosoftVTableContext::getMethodVFTableLocation(), clang::CIRGen::CIRGenModule::getOrCreateCIRFunction(), clang::MicrosoftVTableContext::getThunkInfo(), clang::CodeGen::CGCXXABI::HasThisReturn(), isDeletingDtor(), clang::CodeGen::CodeGenModule::setDLLImportDLLExport(), and clang::ASTContext::useAbbreviatedThunkName().

getDynamicInitKind()

getFromOpaquePtr()

GlobalDecl clang::GlobalDecl::getFromOpaquePtr ( void * P) inlinestatic

getKernelReferenceKind()

getMultiVersionIndex()

unsigned clang::GlobalDecl::getMultiVersionIndex ( ) const inline

getWithCtorType()

getWithDecl()

getWithDtorType()

getWithKernelReferenceKind()

getWithMultiVersionIndex()

operator bool()

clang::GlobalDecl::operator bool ( ) const inlineexplicit

operator!=()

bool clang::GlobalDecl::operator!= ( const GlobalDecl & Other) const inline

operator==


The documentation for this class was generated from the following file: