Lines Matching refs:OldFD

10734     const FunctionDecl *OldFD, const FunctionDecl *NewFD,  in areMultiversionVariantFunctionsCompatible()  argument
10761 if (NoProtoDiagID.getDiagID() != 0 && OldFD && in areMultiversionVariantFunctionsCompatible()
10762 !OldFD->getType()->getAs<FunctionProtoType>()) { in areMultiversionVariantFunctionsCompatible()
10763 Diag(OldFD->getLocation(), NoProtoDiagID); in areMultiversionVariantFunctionsCompatible()
10812 if (OldFD) { in areMultiversionVariantFunctionsCompatible()
10813 QualType OldQType = Context.getCanonicalType(OldFD->getType()); in areMultiversionVariantFunctionsCompatible()
10826 if (OldFD->getConstexprKind() != NewFD->getConstexprKind()) in areMultiversionVariantFunctionsCompatible()
10829 if (OldFD->isInlineSpecified() != NewFD->isInlineSpecified()) in areMultiversionVariantFunctionsCompatible()
10832 if (OldFD->getFormalLinkage() != NewFD->getFormalLinkage()) in areMultiversionVariantFunctionsCompatible()
10835 if (!CLinkageMayDiffer && OldFD->isExternC() != NewFD->isExternC()) in areMultiversionVariantFunctionsCompatible()
10839 OldFD->getType()->getAs<FunctionProtoType>(), OldFD->getLocation(), in areMultiversionVariantFunctionsCompatible()
10846 static bool CheckMultiVersionAdditionalRules(Sema &S, const FunctionDecl *OldFD, in CheckMultiVersionAdditionalRules() argument
10852 if (OldFD) in CheckMultiVersionAdditionalRules()
10853 S.Diag(OldFD->getLocation(), diag::note_previous_declaration); in CheckMultiVersionAdditionalRules()
10861 if (CausesMV && OldFD && in CheckMultiVersionAdditionalRules()
10862 checkNonMultiVersionCompatAttributes(S, OldFD, NewFD, MVKind)) in CheckMultiVersionAdditionalRules()
10869 if (OldFD && CausesMV && OldFD->isUsed(false)) in CheckMultiVersionAdditionalRules()
10873 OldFD, NewFD, S.PDiag(diag::err_multiversion_noproto), in CheckMultiVersionAdditionalRules()
10927 Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD, const TargetAttr *NewTA, in CheckTargetCausesMultiVersioning() argument
10929 const auto *OldTA = OldFD->getAttr<TargetAttr>(); in CheckTargetCausesMultiVersioning()
10941 if (CheckMultiVersionAdditionalRules(S, OldFD, NewFD, true, in CheckTargetCausesMultiVersioning()
10953 if (!OldFD->isMultiVersion() && !OldTA && NewTA->isDefaultVersion()) { in CheckTargetCausesMultiVersioning()
10955 OldDecl = OldFD; in CheckTargetCausesMultiVersioning()
10956 OldFD->setIsMultiVersion(); in CheckTargetCausesMultiVersioning()
10961 if (CheckMultiVersionValue(S, OldFD)) { in CheckTargetCausesMultiVersioning()
10971 S.Diag(OldFD->getLocation(), diag::note_previous_declaration); in CheckTargetCausesMultiVersioning()
10976 for (const auto *FD : OldFD->redecls()) { in CheckTargetCausesMultiVersioning()
10990 OldFD->setIsMultiVersion(); in CheckTargetCausesMultiVersioning()
11013 Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD, in CheckMultiVersionAdditionalDecl() argument
11019 MultiVersionKind OldMVKind = OldFD->getMultiVersionKind(); in CheckMultiVersionAdditionalDecl()
11023 S.Diag(OldFD->getLocation(), diag::note_previous_declaration); in CheckMultiVersionAdditionalDecl()
11161 if (CheckMultiVersionAdditionalRules(S, OldFD, NewFD, in CheckMultiVersionAdditionalDecl()
11162 !OldFD->isMultiVersion(), NewMVKind)) { in CheckMultiVersionAdditionalDecl()
11168 if (!OldFD->isMultiVersion()) { in CheckMultiVersionAdditionalDecl()
11169 OldFD->setIsMultiVersion(); in CheckMultiVersionAdditionalDecl()
11172 OldDecl = OldFD; in CheckMultiVersionAdditionalDecl()
11220 FunctionDecl *OldFD = OldDecl->getAsFunction(); in CheckMultiVersionFunction() local
11222 if (!OldFD->isMultiVersion() && MVKind == MultiVersionKind::None) in CheckMultiVersionFunction()
11227 if (OldFD->isMultiVersion() && MVKind == MultiVersionKind::None && in CheckMultiVersionFunction()
11228 OldFD->getMultiVersionKind() != MultiVersionKind::TargetClones) { in CheckMultiVersionFunction()
11230 << (OldFD->getMultiVersionKind() != MultiVersionKind::Target); in CheckMultiVersionFunction()
11235 if (!OldFD->isMultiVersion()) { in CheckMultiVersionFunction()
11238 return CheckTargetCausesMultiVersioning(S, OldFD, NewFD, NewTA, in CheckMultiVersionFunction()
11241 if (OldFD->isUsed(false)) { in CheckMultiVersionFunction()
11245 OldFD->setIsMultiVersion(); in CheckMultiVersionFunction()
11257 return CheckMultiVersionAdditionalDecl(S, OldFD, NewFD, MVKind, NewTA, in CheckMultiVersionFunction()
11411 auto *OldFD = OldTemplateDecl->getTemplatedDecl(); in CheckFunctionDeclaration() local
11421 NewFD->setPreviousDeclaration(OldFD); in CheckFunctionDeclaration()
11435 if (OldFD->isDeleted()) { in CheckFunctionDeclaration()
11437 assert(OldFD->getCanonicalDecl() == OldFD); in CheckFunctionDeclaration()
11439 OldFD->setDeletedAsWritten(false); in CheckFunctionDeclaration()
11445 auto *OldFD = cast<FunctionDecl>(OldDecl); in CheckFunctionDeclaration() local
11447 NewFD->setPreviousDeclaration(OldFD); in CheckFunctionDeclaration()
11449 NewFD->setAccess(OldFD->getAccess()); in CheckFunctionDeclaration()