|
clang 24.0.0git
|
#include "TreeTransform.h"#include "clang/AST/ASTConsumer.h"#include "clang/AST/ASTContext.h"#include "clang/AST/ASTMutationListener.h"#include "clang/AST/DeclTemplate.h"#include "clang/AST/DependentDiagnostic.h"#include "clang/AST/Expr.h"#include "clang/AST/ExprCXX.h"#include "clang/AST/PrettyDeclStackTrace.h"#include "clang/AST/TypeLoc.h"#include "clang/Basic/SourceManager.h"#include "clang/Basic/TargetInfo.h"#include "clang/Sema/EnterExpressionEvaluationContext.h"#include "clang/Sema/Initialization.h"#include "clang/Sema/Lookup.h"#include "clang/Sema/ScopeInfo.h"#include "clang/Sema/SemaAMDGPU.h"#include "clang/Sema/SemaCUDA.h"#include "clang/Sema/SemaHLSL.h"#include "clang/Sema/SemaObjC.h"#include "clang/Sema/SemaOpenMP.h"#include "clang/Sema/SemaSwift.h"#include "clang/Sema/Template.h"#include "llvm/Support/SaveAndRestore.h"#include "llvm/Support/TimeProfiler.h"#include <optional>#include "clang/Sema/AttrTemplateInstantiate.inc"#include "clang/Basic/OpenACCClauses.def"Go to the source code of this file.
Classes | |
| struct | SubstitutedFriend |
Macros | |
| #define | VISIT_CLAUSE(CLAUSE_NAME) |
| #define | CLAUSE_NOT_ON_DECLS(CLAUSE_NAME) |
Functions | |
| static bool | isDeclWithinFunction (const Decl *D) |
| template<typename DeclT> | |
| static bool | SubstQualifier (Sema &SemaRef, const DeclT *OldDecl, DeclT *NewDecl, const MultiLevelTemplateArgumentList &TemplateArgs) |
| static void | instantiateDependentAlignedAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AlignedAttr *Aligned, Decl *New, bool IsPackExpansion) |
| static void | instantiateDependentAlignedAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AlignedAttr *Aligned, Decl *New) |
| static void | instantiateDependentAssumeAlignedAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AssumeAlignedAttr *Aligned, Decl *New) |
| static void | instantiateDependentAlignValueAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AlignValueAttr *Aligned, Decl *New) |
| static void | instantiateDependentAllocAlignAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AllocAlignAttr *Align, Decl *New) |
| static void | instantiateDependentAnnotationAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AnnotateAttr *Attr, Decl *New) |
| template<typename Attr> | |
| static void | sharedInstantiateConstructorDestructorAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const Attr *A, Decl *New, ASTContext &C) |
| static Expr * | instantiateDependentFunctionAttrCondition (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const Attr *A, Expr *OldCond, const Decl *Tmpl, FunctionDecl *New) |
| static void | instantiateDependentEnableIfAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const EnableIfAttr *EIA, const Decl *Tmpl, FunctionDecl *New) |
| static void | instantiateDependentDiagnoseIfAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const DiagnoseIfAttr *DIA, const Decl *Tmpl, FunctionDecl *New) |
| static void | instantiateDependentCUDALaunchBoundsAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const CUDALaunchBoundsAttr &Attr, Decl *New) |
| static void | instantiateDependentModeAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const ModeAttr &Attr, Decl *New) |
| static void | instantiateOMPDeclareSimdDeclAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const OMPDeclareSimdDeclAttr &Attr, Decl *New) |
| Instantiation of 'declare simd' attribute and its arguments. | |
| static void | instantiateOMPDeclareVariantAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const OMPDeclareVariantAttr &Attr, Decl *New) |
| Instantiation of 'declare variant' attribute and its arguments. | |
| static void | instantiateDependentAMDGPUFlatWorkGroupSizeAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AMDGPUFlatWorkGroupSizeAttr &Attr, Decl *New) |
| static void | instantiateDependentReqdWorkGroupSizeAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const ReqdWorkGroupSizeAttr &Attr, Decl *New) |
| static void | instantiateDependentAMDGPUWavesPerEUAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AMDGPUWavesPerEUAttr &Attr, Decl *New) |
| static void | instantiateDependentAMDGPUMaxNumWorkGroupsAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const AMDGPUMaxNumWorkGroupsAttr &Attr, Decl *New) |
| static void | instantiateDependentCUDAClusterDimsAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const CUDAClusterDimsAttr &Attr, Decl *New) |
| static void | instantiateDependentSYCLKernelAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const SYCLKernelAttr &Attr, Decl *New) |
| static bool | isRelevantAttr (Sema &S, const Decl *D, const Attr *A) |
| Determine whether the attribute A might be relevant to the declaration D. | |
| static void | instantiateDependentHLSLParamModifierAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const HLSLParamModifierAttr *Attr, const Decl *Old, Decl *New) |
| static void | instantiateDependentMallocSpanAttr (Sema &S, const MallocSpanAttr *Attr, Decl *New) |
| static Sema::RetainOwnershipKind | attrToRetainOwnershipKind (const Attr *A) |
| static void | instantiateDependentOpenACCRoutineDeclAttr (Sema &S, const MultiLevelTemplateArgumentList &TemplateArgs, const OpenACCRoutineDeclAttr *OldAttr, const Decl *Old, Decl *New) |
| template<typename DeclT> | |
| static DeclT * | getPreviousDeclForInstantiation (DeclT *D) |
| Get the previous declaration of a declaration for the purposes of template instantiation. | |
| static std::optional< TemplateName > | LookupFriendTemplateName (Sema &SemaRef, NestedNameSpecifierLoc QualifierLoc, DeclarationName Name, SourceLocation NameLoc, bool HasTemplateKeyword, bool RequireClassTemplate) |
| static std::optional< SubstitutedFriend > | SubstFriendTemplateType (Sema &SemaRef, TypeSourceInfo *TSI, TemplateName FriendTemplate, const MultiLevelTemplateArgumentList &TemplateArgs, SourceLocation Loc, DeclarationName Entity) |
| static QualType | adjustFunctionTypeForInstantiation (ASTContext &Context, FunctionDecl *D, TypeSourceInfo *TInfo) |
| Adjust the given function type for an instantiation of the given declaration, to cope with modifications to the function's type that aren't reflected in the type-source information. | |
| static void | collectUnexpandedParameterPacks (Sema &S, TemplateParameterList *Params, SmallVectorImpl< UnexpandedParameterPack > &Unexpanded) |
| static bool | isInstantiationOf (ClassTemplateDecl *Pattern, ClassTemplateDecl *Instance) |
| static bool | isInstantiationOf (FunctionTemplateDecl *Pattern, FunctionTemplateDecl *Instance) |
| static bool | isInstantiationOf (ClassTemplatePartialSpecializationDecl *Pattern, ClassTemplatePartialSpecializationDecl *Instance) |
| static bool | isInstantiationOf (CXXRecordDecl *Pattern, CXXRecordDecl *Instance) |
| static bool | isInstantiationOf (FunctionDecl *Pattern, FunctionDecl *Instance) |
| static bool | isInstantiationOf (EnumDecl *Pattern, EnumDecl *Instance) |
| static bool | isInstantiationOf (UsingShadowDecl *Pattern, UsingShadowDecl *Instance, ASTContext &C) |
| static bool | isInstantiationOf (UsingDecl *Pattern, UsingDecl *Instance, ASTContext &C) |
| template<typename T> | |
| static bool | isInstantiationOfUnresolvedUsingDecl (T *Pattern, Decl *Other, ASTContext &Ctx) |
| static bool | isInstantiationOfStaticDataMember (VarDecl *Pattern, VarDecl *Instance) |
| static bool | isInstantiationOf (ASTContext &Ctx, NamedDecl *D, Decl *Other) |
| template<typename ForwardIterator> | |
| static NamedDecl * | findInstantiationOf (ASTContext &Ctx, NamedDecl *D, ForwardIterator first, ForwardIterator last) |
| static bool | isDependentContextAtLevel (DeclContext *DC, unsigned Level) |
Determine whether the given context is dependent on template parameters at level Level or below. | |
| #define CLAUSE_NOT_ON_DECLS | ( | CLAUSE_NAME | ) |
Definition at line 1213 of file SemaTemplateInstantiateDecl.cpp.
| #define VISIT_CLAUSE | ( | CLAUSE_NAME | ) |
Definition at line 1191 of file SemaTemplateInstantiateDecl.cpp.
|
static |
Adjust the given function type for an instantiation of the given declaration, to cope with modifications to the function's type that aren't reflected in the type-source information.
| D | The declaration we're instantiating. |
| TInfo | The already-instantiated type. |
Definition at line 2931 of file SemaTemplateInstantiateDecl.cpp.
References clang::Type::castAs(), clang::FunctionProtoType::ExtProtoInfo::ExtInfo, clang::FunctionType::getExtInfo(), clang::TypeSourceInfo::getType(), and clang::ValueDecl::getType().
Referenced by clang::TemplateDeclInstantiator::VisitCXXMethodDecl(), and clang::TemplateDeclInstantiator::VisitFunctionDecl().
|
static |
Definition at line 866 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::CF, clang::Attr::getKind(), clang::Sema::NS, and clang::Sema::OS.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 4035 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::collectUnexpandedParameterPacks(), and collectUnexpandedParameterPacks().
Referenced by clang::Sema::ActOnTemplatedFriendTag(), clang::Sema::checkExceptionSpecification(), and collectUnexpandedParameterPacks().
|
static |
Definition at line 7189 of file SemaTemplateInstantiateDecl.cpp.
References clang::cast(), and isInstantiationOf().
Referenced by clang::Sema::FindInstantiatedDecl().
|
static |
Get the previous declaration of a declaration for the purposes of template instantiation.
If this finds a previous declaration, then the previous declaration of the instantiation of D should be an instantiation of the result of this function.
Definition at line 1103 of file SemaTemplateInstantiateDecl.cpp.
References clang::isa().
Referenced by clang::TemplateDeclInstantiator::InstantiateTypeAliasTemplateDecl(), clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(), and clang::TemplateDeclInstantiator::VisitBaseUsingDecls().
|
static |
Definition at line 113 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::CheckParameterPacksForExpansion(), clang::Sema::collectUnexpandedParameterPacks(), instantiateDependentAlignedAttr(), and New.
|
static |
Definition at line 91 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::AddAlignedAttr(), clang::Sema::CheckAlignasTypeArgument(), clang::Sema::ConstantEvaluated, New, clang::Sema::SubstExpr(), clang::Sema::SubstType(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs(), and instantiateDependentAlignedAttr().
|
static |
Definition at line 175 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::AddAlignValueAttr(), clang::Sema::ConstantEvaluated, New, clang::Sema::SubstExpr(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 186 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::AddAllocAlignAttr(), clang::IntegerLiteral::Create(), clang::Sema::getASTContext(), New, and clang::ASTContext::UnsignedLongLongTy.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 607 of file SemaTemplateInstantiateDecl.cpp.
References clang::SemaAMDGPU::addAMDGPUFlatWorkGroupSizeAttr(), clang::Sema::AMDGPU(), clang::Sema::ConstantEvaluated, New, clang::Sema::SubstExpr(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 697 of file SemaTemplateInstantiateDecl.cpp.
References clang::SemaAMDGPU::addAMDGPUMaxNumWorkGroupsAttr(), clang::Sema::AMDGPU(), clang::Sema::ConstantEvaluated, clang::ActionResult< PtrTy, Compress >::getAs(), clang::ActionResult< PtrTy, Compress >::isUsable(), New, clang::Sema::SubstExpr(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 674 of file SemaTemplateInstantiateDecl.cpp.
References clang::SemaAMDGPU::addAMDGPUWavesPerEUAttr(), clang::Sema::AMDGPU(), clang::Sema::ConstantEvaluated, clang::Max, New, clang::Sema::SubstExpr(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 196 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::checkStringLiteralArgumentAttr(), clang::Sema::ConstantEvaluated, clang::Sema::CreateAnnotationAttr(), clang::SemaBase::Diag(), clang::AttributeCommonInfo::getLoc(), New, clang::Sema::SubstExprs(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 152 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::AddAssumeAlignedAttr(), clang::Sema::ConstantEvaluated, New, clang::Sema::SubstExpr(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 729 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::addClusterDimsAttr(), clang::Sema::ConstantEvaluated, clang::ActionResult< PtrTy, Compress >::get(), New, clang::Sema::SubstExpr(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 322 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::AddLaunchBoundsAttr(), clang::Sema::ConstantEvaluated, New, clang::Sema::SubstExpr(), and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 307 of file SemaTemplateInstantiateDecl.cpp.
References clang::Cond, clang::Sema::getASTContext(), instantiateDependentFunctionAttrCondition(), and New.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 296 of file SemaTemplateInstantiateDecl.cpp.
References clang::Cond, clang::Sema::getASTContext(), instantiateDependentFunctionAttrCondition(), and New.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 265 of file SemaTemplateInstantiateDecl.cpp.
References clang::Cond, clang::Sema::ConstantEvaluated, clang::SemaBase::Diag(), clang::ActionResult< PtrTy, Compress >::get(), clang::Attr::getLocation(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::Expr::isPotentialConstantExprUnevaluated(), clang::Expr::isValueDependent(), New, clang::Sema::PerformContextuallyConvertToBool(), clang::Sema::SubstExpr(), and clang::Unevaluated.
Referenced by instantiateDependentDiagnoseIfAttr(), and instantiateDependentEnableIfAttr().
|
static |
Definition at line 802 of file SemaTemplateInstantiateDecl.cpp.
References clang::Decl::addAttr(), clang::cast(), clang::Attr::clone(), clang::SemaBase::Diag(), clang::Type::getAs(), clang::Sema::getASTContext(), clang::SemaHLSL::getInoutParameterType(), clang::AttributeCommonInfo::getLoc(), clang::ValueDecl::getType(), clang::Sema::HLSL(), clang::hlsl_groupshared, clang::Type::isDependentType(), clang::Type::isReferenceType(), clang::QualType::isRestrictQualified(), New, and clang::ValueDecl::setType().
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 830 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::CheckSpanLikeType(), clang::Attr::clone(), clang::Sema::getASTContext(), clang::getFunctionOrMethodResultType(), and New.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 354 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::AddModeAttr(), and New.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 1463 of file SemaTemplateInstantiateDecl.cpp.
References clang::Decl::addAttr(), clang::Sema::getASTContext(), and clang::Routine.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 627 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::ConstantEvaluated, clang::Sema::getASTContext(), New, clang::Sema::SubstExpr(), clang::Unevaluated, and X.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 749 of file SemaTemplateInstantiateDecl.cpp.
References clang::Attr::clone(), clang::Sema::getASTContext(), and New.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Instantiation of 'declare simd' attribute and its arguments.
Definition at line 362 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::ActOnFinishFullExpr(), clang::SemaOpenMP::ActOnOpenMPDeclareSimdDirective(), clang::cast(), clang::Sema::ConvertDeclToDeclGroup(), clang::Evaluated, clang::ExprEmpty(), clang::ActionResult< PtrTy, Compress >::get(), clang::AttributeCommonInfo::getRange(), clang::ActionResult< PtrTy, Compress >::isInvalid(), New, clang::Sema::OpenMP(), clang::Sema::PotentiallyEvaluated, and clang::Sema::SubstExpr().
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Instantiation of 'declare variant' attribute and its arguments.
Definition at line 445 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::ActOnFinishFullExpr(), clang::SemaOpenMP::ActOnOpenMPDeclareVariantDirective(), OMPTraitInfo::anyScoreOrCondition(), clang::OMPInteropPref::Attrs, bool, clang::cast(), clang::SemaOpenMP::checkOpenMPDeclareVariantFunction(), clang::Sema::ConstantEvaluated, clang::Sema::Context, clang::Sema::ConvertDeclToDeclGroup(), clang::DeclRefExpr::Create(), clang::TemplateArgumentList::CreateCopy(), clang::Evaluated, clang::OMPInteropPref::Fr, clang::ActionResult< PtrTy, Compress >::get(), clang::Sema::getASTContext(), clang::MultiLevelTemplateArgumentList::getInnermost(), clang::ASTContext::getNewOMPTraitInfo(), clang::AttributeCommonInfo::getRange(), clang::OMPInteropInfo::HasPreferAttrs, clang::Sema::InstantiateFunctionDeclaration(), clang::Sema::InstantiateFunctionDefinition(), clang::ActionResult< PtrTy, Compress >::isInvalid(), clang::QualType::isNull(), clang::ActionResult< PtrTy, Compress >::isUsable(), clang::ASTContext::mergeFunctionTypes(), New, clang::Sema::OpenMP(), clang::Sema::PotentiallyEvaluated, clang::OMPInteropInfo::Prefs, clang::Sema::SubstExpr(), clang::Unevaluated, and clang::VK_PRValue.
Referenced by clang::Sema::InstantiateAttrs().
Definition at line 41 of file SemaTemplateInstantiateDecl.cpp.
References clang::cast(), clang::Decl::getDeclContext(), clang::DeclContext::isFunctionOrMethod(), and clang::DeclContext::isRecord().
|
static |
Determine whether the given context is dependent on template parameters at level Level or below.
Sometimes we only substitute an inner set of template arguments and leave the outer templates alone. In such cases, contexts dependent only on the outer levels are not effectively dependent.
Definition at line 7214 of file SemaTemplateInstantiateDecl.cpp.
References clang::cast(), and clang::DeclContext::isDependentContext().
Referenced by clang::Sema::FindInstantiatedDecl().
|
static |
Definition at line 7136 of file SemaTemplateInstantiateDecl.cpp.
References clang::cast(), clang::declaresSameEntity(), clang::Enum, clang::NamedDecl::getDeclName(), clang::ASTContext::getInstantiatedFromUnnamedFieldDecl(), clang::Decl::getKind(), isInstantiationOf(), isInstantiationOfStaticDataMember(), isInstantiationOfUnresolvedUsingDecl(), clang::VarDecl::isStaticDataMember(), and clang::Other.
|
static |
Definition at line 6999 of file SemaTemplateInstantiateDecl.cpp.
References clang::ClassTemplateDecl::getCanonicalDecl().
Referenced by clang::Sema::FindInstantiatedDecl(), findInstantiationOf(), and isInstantiationOf().
|
static |
Definition at line 7026 of file SemaTemplateInstantiateDecl.cpp.
References clang::cast(), and clang::CXXRecordDecl::getCanonicalDecl().
|
static |
Definition at line 7041 of file SemaTemplateInstantiateDecl.cpp.
References clang::CXXRecordDecl::getCanonicalDecl().
Definition at line 7067 of file SemaTemplateInstantiateDecl.cpp.
References clang::EnumDecl::getCanonicalDecl().
|
static |
Definition at line 7054 of file SemaTemplateInstantiateDecl.cpp.
References clang::FunctionDecl::getCanonicalDecl().
|
static |
Definition at line 7012 of file SemaTemplateInstantiateDecl.cpp.
References clang::FunctionTemplateDecl::getCanonicalDecl().
|
static |
Definition at line 7087 of file SemaTemplateInstantiateDecl.cpp.
References clang::C, and clang::declaresSameEntity().
|
static |
Definition at line 7080 of file SemaTemplateInstantiateDecl.cpp.
References clang::C, and clang::declaresSameEntity().
Definition at line 7119 of file SemaTemplateInstantiateDecl.cpp.
References clang::VarDecl::getCanonicalDecl().
Referenced by isInstantiationOf().
|
static |
Definition at line 7093 of file SemaTemplateInstantiateDecl.cpp.
References clang::declaresSameEntity(), clang::ASTContext::getInstantiatedFromUsingDecl(), clang::Other, and clang::T.
Referenced by isInstantiationOf().
Determine whether the attribute A might be relevant to the declaration D.
If not, we can skip instantiating it. The attribute may or may not have been instantiated yet.
Definition at line 758 of file SemaTemplateInstantiateDecl.cpp.
References clang::cast(), clang::Sema::Context, clang::declaresSameEntity(), clang::FunctionDecl::getNumParams(), clang::FunctionDecl::getParamDecl(), clang::FunctionDecl::getReturnType(), clang::ValueDecl::getType(), clang::ASTContext::hasSameType(), clang::Type::isLValueReferenceType(), clang::Type::isReferenceType(), clang::Type::isRValueReferenceType(), clang::Decl::specific_attrs(), and clang::T.
Referenced by clang::Sema::InstantiateAttrs(), and clang::Sema::InstantiateAttrsForDecl().
|
static |
Definition at line 2010 of file SemaTemplateInstantiateDecl.cpp.
References clang::CXXScopeSpec::Adopt(), clang::Sema::computeDeclContext(), clang::Sema::Context, clang::SemaBase::Diag(), clang::Sema::forRedeclarationInCurContext(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::ASTContext::getQualifiedTemplateName(), clang::NestedNameSpecifierLoc::getSourceRange(), clang::NestedNameSpecifier::isDependent(), clang::DeclContext::isDependentContext(), clang::Sema::LookupOrdinaryName, clang::Sema::LookupQualifiedName(), clang::Sema::RequireCompleteDeclContext(), clang::Result, and clang::TemplateName.
Referenced by SubstFriendTemplateType(), and clang::Sema::SubstFriendType().
|
static |
Definition at line 238 of file SemaTemplateInstantiateDecl.cpp.
References clang::C, clang::SemaBase::Diag(), clang::Expr::getExprLoc(), clang::Expr::getIntegerConstantExpr(), New, clang::Sema::SubstExpr(), toString(), clang::Sema::Unevaluated, and clang::Unevaluated.
Referenced by clang::Sema::InstantiateAttrs().
|
static |
Definition at line 2125 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::CheckDependentFriend(), clang::Sema::Context, clang::FriendTemplate, clang::TypeLoc::getAs(), clang::ASTContext::getDependentTemplateName(), clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::TypeLoc::getPrefix(), clang::TypeSourceInfo::getTypeLoc(), clang::NestedNameSpecifier::isDependent(), LookupFriendTemplateName(), clang::Sema::SubstFriendType(), and clang::Sema::SubstNestedNameSpecifierLoc().
Referenced by clang::TemplateDeclInstantiator::InstantiateFriendPackExpansion().
|
static |
Definition at line 53 of file SemaTemplateInstantiateDecl.cpp.
References clang::Sema::SubstNestedNameSpecifierLoc().
Referenced by clang::Sema::InstantiateFunctionDefinition().