reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
13496 FD = FunTmpl->getTemplatedDecl(); 13498 FD = cast<FunctionDecl>(D); 13502 if (!isLambdaCallOperator(FD)) 13506 if (const auto *Attr = FD->getAttr<AliasAttr>()) { 13507 Diag(Attr->getLocation(), diag::err_alias_is_definition) << FD << 0; 13508 FD->dropAttr<AliasAttr>(); 13509 FD->setInvalidDecl(); 13511 if (const auto *Attr = FD->getAttr<IFuncAttr>()) { 13512 Diag(Attr->getLocation(), diag::err_alias_is_definition) << FD << 1; 13513 FD->dropAttr<IFuncAttr>(); 13514 FD->setInvalidDecl(); 13519 if (!FD->willHaveBody() && !FD->isLateTemplateParsed()) { 13519 if (!FD->willHaveBody() && !FD->isLateTemplateParsed()) { 13520 CheckForFunctionRedefinition(FD, nullptr, SkipBody); 13530 FD->setWillHaveBody(); 13541 if (isGenericLambdaCallOperatorSpecialization(FD)) { 13552 if (unsigned BuiltinID = FD->getBuiltinID()) { 13555 Diag(FD->getLocation(), diag::err_builtin_definition) << FD; 13555 Diag(FD->getLocation(), diag::err_builtin_definition) << FD; 13556 FD->setInvalidDecl(); 13562 QualType ResultType = FD->getReturnType(); 13564 !FD->isInvalidDecl() && 13565 RequireCompleteType(FD->getLocation(), ResultType, 13567 FD->setInvalidDecl(); 13570 PushDeclContext(FnBodyScope, FD); 13573 CheckParmsForFunctionDef(FD->parameters(), 13579 for (Decl *NPD : FD->decls()) { 13600 for (auto Param : FD->parameters()) { 13601 Param->setOwningFunction(FD); 13612 if (const FunctionProtoType *FPT = FD->getType()->getAs<FunctionProtoType>()) 13616 if (FD->hasAttr<DLLImportAttr>() && !FD->isInlined() && 13616 if (FD->hasAttr<DLLImportAttr>() && !FD->isInlined() && 13617 !FD->isTemplateInstantiation()) { 13618 assert(!FD->hasAttr<DLLExportAttr>()); 13619 Diag(FD->getLocation(), diag::err_attribute_dllimport_function_definition); 13620 FD->setInvalidDecl(); 13629 Diag(FD->getLocation(), diag::warn_function_def_in_objc_container);