Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Show First 20 Lines • Show All 5,043 Lines • ▼ Show 20 Lines | if (PatternDecl->isDefaulted()) { | ||||
ActOnStartOfFunctionDef(nullptr, Function); | ActOnStartOfFunctionDef(nullptr, Function); | ||||
// Enter the scope of this instantiation. We don't use | // Enter the scope of this instantiation. We don't use | ||||
// PushDeclContext because we don't have a scope. | // PushDeclContext because we don't have a scope. | ||||
Sema::ContextRAII savedContext(*this, Function); | Sema::ContextRAII savedContext(*this, Function); | ||||
FPFeaturesStateRAII SavedFPFeatures(*this); | FPFeaturesStateRAII SavedFPFeatures(*this); | ||||
if (TSK != TSK_ExplicitInstantiationDefinition) | |||||
CurFPFeatures = FPOptions(getLangOpts()); | CurFPFeatures = FPOptions(getLangOpts()); | ||||
if (addInstantiatedParametersToScope(Function, PatternDecl, Scope, | if (addInstantiatedParametersToScope(Function, PatternDecl, Scope, | ||||
TemplateArgs)) | TemplateArgs)) | ||||
return; | return; | ||||
StmtResult Body; | StmtResult Body; | ||||
if (PatternDecl->hasSkippedBody()) { | if (PatternDecl->hasSkippedBody()) { | ||||
ActOnSkippedFunctionBody(Function); | ActOnSkippedFunctionBody(Function); | ||||
▲ Show 20 Lines • Show All 1,341 Lines • Show Last 20 Lines |