• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/clang/lib/Sema/

Lines Matching refs:OldFD

9852     const FunctionDecl *OldFD, const FunctionDecl *NewFD,
9878 if (NoProtoDiagID.getDiagID() != 0 && OldFD &&
9879 !OldFD->getType()->getAs<FunctionProtoType>()) {
9880 Diag(OldFD->getLocation(), NoProtoDiagID);
9929 if (OldFD) {
9930 QualType OldQType = Context.getCanonicalType(OldFD->getType());
9943 if (OldFD->getConstexprKind() != NewFD->getConstexprKind())
9946 if (OldFD->isInlineSpecified() != NewFD->isInlineSpecified())
9949 if (OldFD->getStorageClass() != NewFD->getStorageClass())
9952 if (!CLinkageMayDiffer && OldFD->isExternC() != NewFD->isExternC())
9956 OldFD->getType()->getAs<FunctionProtoType>(), OldFD->getLocation(),
9963 static bool CheckMultiVersionAdditionalRules(Sema &S, const FunctionDecl *OldFD,
9969 if (OldFD)
9970 S.Diag(OldFD->getLocation(), diag::note_previous_declaration);
9980 if (CausesMV && OldFD && HasNonMultiVersionAttributes(OldFD, MVType)) {
9981 S.Diag(OldFD->getLocation(), diag::err_multiversion_no_other_attrs)
9992 if (OldFD && CausesMV && OldFD->isUsed(false))
9996 OldFD, NewFD, S.PDiag(diag::err_multiversion_noproto),
10050 Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD, const TargetAttr *NewTA,
10053 const auto *OldTA = OldFD->getAttr<TargetAttr>();
10067 S.Diag(OldFD->getLocation(), diag::note_previous_declaration);
10072 if (CheckMultiVersionAdditionalRules(S, OldFD, NewFD, true,
10084 if (!OldFD->isMultiVersion() && !OldTA && NewTA->isDefaultVersion()) {
10086 OldDecl = OldFD;
10087 OldFD->setIsMultiVersion();
10092 if (CheckMultiVersionValue(S, OldFD)) {
10102 S.Diag(OldFD->getLocation(), diag::note_previous_declaration);
10107 for (const auto *FD : OldFD->redecls()) {
10121 OldFD->setIsMultiVersion();
10133 Sema &S, FunctionDecl *OldFD, FunctionDecl *NewFD,
10139 MultiVersionKind OldMVType = OldFD->getMultiVersionKind();
10146 S.Diag(OldFD->getLocation(), diag::note_previous_declaration);
10254 if (CheckMultiVersionAdditionalRules(S, OldFD, NewFD,
10255 !OldFD->isMultiVersion(), NewMVType)) {
10261 if (!OldFD->isMultiVersion()) {
10262 OldFD->setIsMultiVersion();
10265 OldDecl = OldFD;
10325 FunctionDecl *OldFD = OldDecl->getAsFunction();
10327 if (!OldFD->isMultiVersion() && MVType == MultiVersionKind::None)
10330 if (OldFD->isMultiVersion() && MVType == MultiVersionKind::None) {
10332 << (OldFD->getMultiVersionKind() != MultiVersionKind::Target);
10338 if (!OldFD->isMultiVersion() && MVType == MultiVersionKind::Target)
10339 return CheckTargetCausesMultiVersioning(S, OldFD, NewFD, NewTA,
10343 // At this point, we have a multiversion function decl (in OldFD) AND an
10347 S, OldFD, NewFD, MVType, NewTA, NewCPUDisp, NewCPUSpec, Redeclaration,
10493 auto *OldFD = OldTemplateDecl->getTemplatedDecl();
10503 NewFD->setPreviousDeclaration(OldFD);
10504 adjustDeclContextForDeclaratorDecl(NewFD, OldFD);
10518 if (OldFD->isDeleted()) {
10520 assert(OldFD->getCanonicalDecl() == OldFD);
10522 OldFD->setDeletedAsWritten(false);
10528 auto *OldFD = cast<FunctionDecl>(OldDecl);
10530 NewFD->setPreviousDeclaration(OldFD);
10531 adjustDeclContextForDeclaratorDecl(NewFD, OldFD);
10533 NewFD->setAccess(OldFD->getAccess());