Lines Matching refs:Old
1596 bool Sema::CheckRedeclarationModuleOwnership(NamedDecl *New, NamedDecl *Old) { in CheckRedeclarationModuleOwnership() argument
1605 Old->getOwningModuleForLinkage() != New->getOwningModuleForLinkage()) { in CheckRedeclarationModuleOwnership()
1606 New->setLocalOwningModule(Old->getOwningModule()); in CheckRedeclarationModuleOwnership()
1612 Module *OldM = Old->getOwningModule(); in CheckRedeclarationModuleOwnership()
1647 Diag(Old->getLocation(), diag::note_previous_declaration); in CheckRedeclarationModuleOwnership()
1655 bool Sema::CheckRedeclarationExported(NamedDecl *New, NamedDecl *Old) { in CheckRedeclarationExported() argument
1664 !Old->getLexicalDeclContext() in CheckRedeclarationExported()
1670 bool IsOldExported = Old->isInExportDeclContext(); in CheckRedeclarationExported()
1684 if (!Old->isInNamedModule() && New->getOwningModule() && in CheckRedeclarationExported()
1690 auto Lk = Old->getFormalLinkage(); in CheckRedeclarationExported()
1697 Diag(Old->getLocation(), diag::note_previous_declaration); in CheckRedeclarationExported()
1701 bool Sema::CheckRedeclarationInModule(NamedDecl *New, NamedDecl *Old) { in CheckRedeclarationInModule() argument
1702 if (CheckRedeclarationModuleOwnership(New, Old)) in CheckRedeclarationInModule()
1705 if (CheckRedeclarationExported(New, Old)) in CheckRedeclarationInModule()
1712 const NamedDecl *Old) const { in IsRedefinitionInModule()
1713 assert(getASTContext().isSameEntity(New, Old) && in IsRedefinitionInModule()
1717 const_cast<Sema *>(this)->isReachable(Old) && in IsRedefinitionInModule()
1721 Module *OldM = Old->getOwningModule(); in IsRedefinitionInModule()
2407 NamedDecl *Old = Filter.next(); in filterNonConflictingPreviousTypedefDecls() local
2410 if (S.isVisible(Old)) in filterNonConflictingPreviousTypedefDecls()
2415 if (auto *OldTD = dyn_cast<TypedefNameDecl>(Old)) { in filterNonConflictingPreviousTypedefDecls()
2433 bool Sema::isIncompatibleTypedef(const TypeDecl *Old, TypedefNameDecl *New) { in isIncompatibleTypedef() argument
2435 if (const TypedefNameDecl *OldTypedef = dyn_cast<TypedefNameDecl>(Old)) in isIncompatibleTypedef()
2438 OldType = Context.getTypeDeclType(Old); in isIncompatibleTypedef()
2443 int Kind = isa<TypeAliasDecl>(Old) ? 1 : 0; in isIncompatibleTypedef()
2446 if (Old->getLocation().isValid()) in isIncompatibleTypedef()
2447 notePreviousDefinition(Old, New->getLocation()); in isIncompatibleTypedef()
2456 int Kind = isa<TypeAliasDecl>(Old) ? 1 : 0; in isIncompatibleTypedef()
2459 if (Old->getLocation().isValid()) in isIncompatibleTypedef()
2460 notePreviousDefinition(Old, New->getLocation()); in isIncompatibleTypedef()
2515 TypeDecl *Old = OldDecls.getAsSingle<TypeDecl>(); in MergeTypedefNameDecl() local
2516 if (!Old) { in MergeTypedefNameDecl()
2528 if (Old->isInvalidDecl()) in MergeTypedefNameDecl()
2531 if (auto *OldTD = dyn_cast<TypedefNameDecl>(Old)) { in MergeTypedefNameDecl()
2567 if (isIncompatibleTypedef(Old, New)) in MergeTypedefNameDecl()
2572 if (TypedefNameDecl *Typedef = dyn_cast<TypedefNameDecl>(Old)) { in MergeTypedefNameDecl()
2574 mergeDeclAttributes(New, Old); in MergeTypedefNameDecl()
2609 if (!isa<TypedefNameDecl>(Old)) in MergeTypedefNameDecl()
2614 notePreviousDefinition(Old, New->getLocation()); in MergeTypedefNameDecl()
2628 (Old->isImplicit() || in MergeTypedefNameDecl()
2629 Context.getSourceManager().isInSystemHeader(Old->getLocation()) || in MergeTypedefNameDecl()
2635 notePreviousDefinition(Old, New->getLocation()); in MergeTypedefNameDecl()
2671 static bool mergeAlignedAttrs(Sema &S, NamedDecl *New, Decl *Old) { in mergeAlignedAttrs() argument
2677 for (auto *I : Old->specific_attrs<AlignedAttr>()) { in mergeAlignedAttrs()
2910 static void checkNewAttributesAfterDef(Sema &S, Decl *New, const Decl *Old) { in checkNewAttributesAfterDef() argument
2914 const NamedDecl *Def = getDefinition(Old); in checkNewAttributesAfterDef()
3077 void Sema::mergeDeclAttributes(NamedDecl *New, Decl *Old, in mergeDeclAttributes() argument
3079 if (UsedAttr *OldAttr = Old->getMostRecentDecl()->getAttr<UsedAttr>()) { in mergeDeclAttributes()
3084 if (RetainAttr *OldAttr = Old->getMostRecentDecl()->getAttr<RetainAttr>()) { in mergeDeclAttributes()
3090 if (!Old->hasAttrs() && !New->hasAttrs()) in mergeDeclAttributes()
3096 const auto *OldConstInit = Old->getAttr<ConstInitAttr>(); in mergeDeclAttributes()
3099 const auto *OldVD = cast<VarDecl>(Old); in mergeDeclAttributes()
3129 checkNewAttributesAfterDef(*this, New, Old); in mergeDeclAttributes()
3132 if (AsmLabelAttr *OldA = Old->getAttr<AsmLabelAttr>()) { in mergeDeclAttributes()
3138 } else if (Old->isUsed()) { in mergeDeclAttributes()
3142 << isa<FunctionDecl>(Old) << New->getAttr<AsmLabelAttr>()->getRange(); in mergeDeclAttributes()
3148 if (const auto *OldAbiTagAttr = Old->getAttr<AbiTagAttr>()) { in mergeDeclAttributes()
3159 Diag(Old->getLocation(), diag::note_previous_declaration); in mergeDeclAttributes()
3164 if (New->hasAttr<SectionAttr>() && !Old->hasAttr<SectionAttr>()) { in mergeDeclAttributes()
3168 Diag(Old->getLocation(), diag::note_previous_declaration); in mergeDeclAttributes()
3175 if (NewCSA && !Old->hasAttr<CodeSegAttr>() && in mergeDeclAttributes()
3179 Diag(Old->getLocation(), diag::note_previous_declaration); in mergeDeclAttributes()
3182 if (!Old->hasAttrs()) in mergeDeclAttributes()
3191 for (auto *I : Old->specific_attrs<InheritableAttr>()) { in mergeDeclAttributes()
3218 if (mergeAlignedAttrs(*this, New, Old)) in mergeDeclAttributes()
3289 static bool EquivalentArrayTypes(QualType Old, QualType New, in EquivalentArrayTypes() argument
3301 if (NoSizeInfo(Old) && NoSizeInfo(New)) in EquivalentArrayTypes()
3305 if (Old->isVariableArrayType() && New->isVariableArrayType()) { in EquivalentArrayTypes()
3306 const auto *OldVAT = Ctx.getAsVariableArrayType(Old); in EquivalentArrayTypes()
3315 if (Old->isConstantArrayType() && New->isConstantArrayType()) { in EquivalentArrayTypes()
3316 return Ctx.getAsConstantArrayType(Old)->getSize() == in EquivalentArrayTypes()
3321 if (Old->isDependentSizedArrayType() && New->isDependentSizedArrayType()) { in EquivalentArrayTypes()
3325 return Old == New; in EquivalentArrayTypes()
3384 getNoteDiagForInvalidRedeclaration(const T *Old, const T *New) { in getNoteDiagForInvalidRedeclaration() argument
3386 SourceLocation OldLocation = Old->getLocation(); in getNoteDiagForInvalidRedeclaration()
3387 if (Old->isThisDeclarationADefinition()) in getNoteDiagForInvalidRedeclaration()
3389 else if (Old->isImplicit()) { in getNoteDiagForInvalidRedeclaration()
3391 if (const auto *FD = dyn_cast<FunctionDecl>(Old)) { in getNoteDiagForInvalidRedeclaration()
3421 static bool haveIncompatibleLanguageLinkages(const T *Old, const T *New) { in haveIncompatibleLanguageLinkages() argument
3422 const DeclContext *DC = Old->getDeclContext(); in haveIncompatibleLanguageLinkages()
3426 LanguageLinkage OldLinkage = Old->getLanguageLinkage(); in haveIncompatibleLanguageLinkages()
3461 auto *Old = dyn_cast<ExpectedDecl>(OldS->getTargetDecl()); in checkUsingShadowRedecl() local
3462 if (Old && in checkUsingShadowRedecl()
3463 !Old->getDeclContext()->getRedeclContext()->Equals( in checkUsingShadowRedecl()
3465 !(isExternC(Old) && isExternC(New))) in checkUsingShadowRedecl()
3466 Old = nullptr; in checkUsingShadowRedecl()
3468 if (!Old) { in checkUsingShadowRedecl()
3538 FunctionDecl *Old = OldD->getAsFunction(); in MergeFunctionDecl() local
3539 if (!Old) { in MergeFunctionDecl()
3557 OldD = Old = cast<FunctionTemplateDecl>(Shadow->getTargetDecl()) in MergeFunctionDecl()
3562 OldD = Old = cast<FunctionDecl>(Shadow->getTargetDecl()); in MergeFunctionDecl()
3574 adjustDeclContextForDeclaratorDecl(New, Old); in MergeFunctionDecl()
3577 if (Old->isInvalidDecl()) in MergeFunctionDecl()
3581 if (!getASTContext().canBuiltinBeRedeclared(Old)) { in MergeFunctionDecl()
3582 Diag(New->getLocation(), diag::err_builtin_redeclare) << Old->getDeclName(); in MergeFunctionDecl()
3583 Diag(Old->getLocation(), diag::note_previous_builtin_declaration) in MergeFunctionDecl()
3584 << Old << Old->getType(); in MergeFunctionDecl()
3591 getNoteDiagForInvalidRedeclaration(Old, New); in MergeFunctionDecl()
3597 if (!isa<CXXMethodDecl>(New) && !isa<CXXMethodDecl>(Old) && in MergeFunctionDecl()
3599 Old->hasExternalFormalLinkage() && in MergeFunctionDecl()
3601 !canRedefineFunction(Old, getLangOpts())) { in MergeFunctionDecl()
3604 Diag(OldLocation, PrevDiag) << Old << Old->getType(); in MergeFunctionDecl()
3607 Diag(OldLocation, PrevDiag) << Old << Old->getType(); in MergeFunctionDecl()
3613 if (!Old->hasAttr<InternalLinkageAttr>()) { in MergeFunctionDecl()
3616 Diag(Old->getLocation(), diag::note_previous_declaration); in MergeFunctionDecl()
3621 if (!Old->hasAttr<ErrorAttr>()) { in MergeFunctionDecl()
3623 Diag(Old->getLocation(), diag::note_previous_declaration); in MergeFunctionDecl()
3628 if (CheckRedeclarationInModule(New, Old)) in MergeFunctionDecl()
3632 bool OldOvl = Old->hasAttr<OverloadableAttr>(); in MergeFunctionDecl()
3633 if (OldOvl != New->hasAttr<OverloadableAttr>() && !Old->isImplicit()) { in MergeFunctionDecl()
3643 const Decl *DiagOld = Old; in MergeFunctionDecl()
3645 auto OldIter = llvm::find_if(Old->redecls(), [](const Decl *D) { in MergeFunctionDecl()
3651 DiagOld = OldIter == Old->redecls_end() ? nullptr : *OldIter; in MergeFunctionDecl()
3668 if (IsInvalidSMECallConversion(Old->getType(), New->getType())) { in MergeFunctionDecl()
3670 << New->getType() << Old->getType(); in MergeFunctionDecl()
3688 QualType OldQType = Context.getCanonicalType(Old->getType()); in MergeFunctionDecl()
3697 FunctionDecl *First = Old->getFirstDecl(); in MergeFunctionDecl()
3707 } else if (Old->getBuiltinID()) { in MergeFunctionDecl()
3791 if (!Old->isInlined() && New->isInlined() && in MergeFunctionDecl()
3794 Old->isUsed(false) && in MergeFunctionDecl()
3795 !Old->isDefined() && !New->isThisDeclarationADefinition()) in MergeFunctionDecl()
3796 UndefinedButUsed.insert(std::make_pair(Old->getCanonicalDecl(), in MergeFunctionDecl()
3802 Old->isInlined() && !Old->hasAttr<GNUInlineAttr>()) { in MergeFunctionDecl()
3803 UndefinedButUsed.erase(Old->getCanonicalDecl()); in MergeFunctionDecl()
3808 if (Old->getNumParams() > 0 && Old->getNumParams() == New->getNumParams() && in MergeFunctionDecl()
3809 !hasIdenticalPassObjectSizeAttrs(Old, New)) { in MergeFunctionDecl()
3812 Diag(OldLocation, PrevDiag) << Old << Old->getType(); in MergeFunctionDecl()
3818 const auto OldFX = Old->getFunctionEffects(); in MergeFunctionDecl()
3823 if (Diff.shouldDiagnoseRedeclaration(*Old, OldFX, *New, NewFX)) { in MergeFunctionDecl()
3827 Diag(Old->getLocation(), diag::note_previous_declaration); in MergeFunctionDecl()
3839 Old->getLocation()); in MergeFunctionDecl()
3862 OldQType = Context.getCanonicalType(Old->getType()); in MergeFunctionDecl()
3870 QualType OldDeclaredReturnType = Old->getDeclaredReturnType(); in MergeFunctionDecl()
3873 canFullyTypeCheckRedeclaration(New, Old, NewDeclaredReturnType, in MergeFunctionDecl()
3887 Diag(OldLocation, PrevDiag) << Old << Old->getType() in MergeFunctionDecl()
3888 << Old->getReturnTypeSourceRange(); in MergeFunctionDecl()
3900 AutoType *OldAT = Old->getReturnType()->getContainedAutoType(); in MergeFunctionDecl()
3913 const CXXMethodDecl *OldMethod = dyn_cast<CXXMethodDecl>(Old); in MergeFunctionDecl()
3934 Diag(OldLocation, PrevDiag) << Old << Old->getType(); in MergeFunctionDecl()
3958 Diag(OldLocation, PrevDiag) << Old << Old->getType(); in MergeFunctionDecl()
3993 if (CheckEquivalentExceptionSpec(Old, New)) in MergeFunctionDecl()
4001 if (!Old->hasAttr<CXX11NoReturnAttr>()) { in MergeFunctionDecl()
4004 Diag(Old->getLocation(), diag::note_previous_declaration); in MergeFunctionDecl()
4012 if (CDA && !Old->hasAttr<CarriesDependencyAttr>()) { in MergeFunctionDecl()
4015 Diag(Old->getFirstDecl()->getLocation(), in MergeFunctionDecl()
4033 if (haveIncompatibleLanguageLinkages(Old, New)) { in MergeFunctionDecl()
4058 return MergeCompatibleFunctionDecls(New, Old, S, MergeTypeWithOld); in MergeFunctionDecl()
4063 if (!canFullyTypeCheckRedeclaration(New, Old, NewQType, OldQType)) in MergeFunctionDecl()
4084 if (Old->hasPrototype() && !New->hasWrittenPrototype() && NewDeclIsDefn && in MergeFunctionDecl()
4085 Old->getNumParams() != New->getNumParams() && !Old->isImplicit()) { in MergeFunctionDecl()
4086 if (Old->hasInheritedPrototype()) in MergeFunctionDecl()
4087 Old = Old->getCanonicalDecl(); in MergeFunctionDecl()
4089 Diag(Old->getLocation(), PrevDiag) << Old << Old->getType(); in MergeFunctionDecl()
4103 if (New->hasWrittenPrototype() != Old->hasWrittenPrototype() && in MergeFunctionDecl()
4104 !New->isImplicit() && !Old->isImplicit()) { in MergeFunctionDecl()
4108 WithoutProto = Old; in MergeFunctionDecl()
4110 WithProto = Old; in MergeFunctionDecl()
4126 << (WithoutProto == Old) << IsWithProtoADef; in MergeFunctionDecl()
4171 return MergeCompatibleFunctionDecls(New, Old, S, MergeTypeWithOld); in MergeFunctionDecl()
4192 Old->hasPrototype() && !New->hasPrototype() && in MergeFunctionDecl()
4194 Old->getNumParams() == New->getNumParams()) { in MergeFunctionDecl()
4198 = Old->getType()->getAs<FunctionProtoType>(); in MergeFunctionDecl()
4206 for (unsigned Idx = 0, End = Old->getNumParams(); in MergeFunctionDecl()
4208 ParmVarDecl *OldParm = Old->getParamDecl(Idx); in MergeFunctionDecl()
4238 return MergeCompatibleFunctionDecls(New, Old, S, MergeTypeWithOld); in MergeFunctionDecl()
4250 if (Old->isImplicit() && (BuiltinID = Old->getBuiltinID())) { in MergeFunctionDecl()
4256 << Old << Old->getType(); in MergeFunctionDecl()
4264 Diag(OldLocation, PrevDiag) << Old << Old->getType(); in MergeFunctionDecl()
4268 bool Sema::MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old, in MergeCompatibleFunctionDecls() argument
4271 mergeDeclAttributes(New, Old); in MergeCompatibleFunctionDecls()
4274 if (Old->isPureVirtual()) in MergeCompatibleFunctionDecls()
4278 if (Old->getMostRecentDecl()->isUsed(false)) in MergeCompatibleFunctionDecls()
4283 if (New->getNumParams() == Old->getNumParams()) in MergeCompatibleFunctionDecls()
4286 ParmVarDecl *OldParam = Old->getParamDecl(i); in MergeCompatibleFunctionDecls()
4292 return MergeCXXFunctionDecl(New, Old, S); in MergeCompatibleFunctionDecls()
4297 QualType Merged = Context.mergeTypes(Old->getType(), New->getType()); in MergeCompatibleFunctionDecls()
4327 static void diagnoseVarDeclTypeMismatch(Sema &S, VarDecl *New, VarDecl* Old) { in diagnoseVarDeclTypeMismatch() argument
4328 assert(!S.Context.hasSameType(New->getType(), Old->getType())); in diagnoseVarDeclTypeMismatch()
4333 << New->getDeclName() << New->getType() << Old->getType(); in diagnoseVarDeclTypeMismatch()
4338 = getNoteDiagForInvalidRedeclaration(Old, New); in diagnoseVarDeclTypeMismatch()
4339 S.Diag(OldLocation, PrevDiag) << Old << Old->getType(); in diagnoseVarDeclTypeMismatch()
4343 void Sema::MergeVarDeclTypes(VarDecl *New, VarDecl *Old, in MergeVarDeclTypes() argument
4345 …if (New->isInvalidDecl() || Old->isInvalidDecl() || New->getType()->containsErrors() || Old->getTy… in MergeVarDeclTypes()
4353 } else if (Context.hasSameType(New->getType(), Old->getType())) { in MergeVarDeclTypes()
4355 return MergeVarDeclExceptionSpecs(New, Old); in MergeVarDeclTypes()
4362 else if (Old->getType()->isArrayType() && New->getType()->isArrayType()) { in MergeVarDeclTypes()
4363 const ArrayType *OldArray = Context.getAsArrayType(Old->getType()); in MergeVarDeclTypes()
4370 for (VarDecl *PrevVD = Old->getMostRecentDecl(); PrevVD; in MergeVarDeclTypes()
4392 MergedT = Old->getType(); in MergeVarDeclTypes()
4396 Old->getType()->isObjCObjectPointerType()) { in MergeVarDeclTypes()
4398 Old->getType()); in MergeVarDeclTypes()
4404 MergedT = Context.mergeTypes(New->getType(), Old->getType()); in MergeVarDeclTypes()
4413 Old->getType()->isDependentType()) && New->isLocalVarDecl()) { in MergeVarDeclTypes()
4421 return diagnoseVarDeclTypeMismatch(*this, New, Old); in MergeVarDeclTypes()
4470 VarDecl *Old = nullptr; in MergeVarDecl() local
4475 Old = OldTemplate ? OldTemplate->getTemplatedDecl() : nullptr; in MergeVarDecl()
4482 Old = dyn_cast<VarDecl>(Previous.getFoundDecl()); in MergeVarDecl()
4490 if (!Old) { in MergeVarDecl()
4500 adjustDeclContextForDeclaratorDecl(New, Old); in MergeVarDecl()
4513 if (Old->isStaticDataMember() && !New->isOutOfLine()) { in MergeVarDecl()
4516 Diag(Old->getLocation(), diag::note_previous_declaration); in MergeVarDecl()
4520 mergeDeclAttributes(New, Old); in MergeVarDecl()
4524 for (auto *D = Old; D; D = D->getPreviousDecl()) { in MergeVarDecl()
4535 if (!Old->hasAttr<InternalLinkageAttr>()) { in MergeVarDecl()
4538 Diag(Old->getLocation(), diag::note_previous_declaration); in MergeVarDecl()
4543 VarDecl *MostRecent = Old->getMostRecentDecl(); in MergeVarDecl()
4544 if (MostRecent != Old) { in MergeVarDecl()
4551 MergeVarDeclTypes(New, Old, mergeTypeWithPrevious(*this, New, Old, Previous)); in MergeVarDecl()
4558 getNoteDiagForInvalidRedeclaration(Old, New); in MergeVarDecl()
4563 Old->hasExternalFormalLinkage()) { in MergeVarDecl()
4584 if (New->hasExternalStorage() && Old->hasLinkage()) in MergeVarDecl()
4588 Old->getCanonicalDecl()->getStorageClass() == SC_Static) { in MergeVarDecl()
4596 !Old->hasLinkage() && Old->isLocalVarDeclOrParm()) { in MergeVarDecl()
4601 if (Old->hasLinkage() && New->isLocalVarDeclOrParm() && in MergeVarDecl()
4608 if (CheckRedeclarationInModule(New, Old)) in MergeVarDecl()
4617 !(Old->getLexicalDeclContext()->isRecord() && in MergeVarDecl()
4624 if (New->isInline() && !Old->getMostRecentDecl()->isInline()) { in MergeVarDecl()
4625 if (VarDecl *Def = Old->getDefinition()) { in MergeVarDecl()
4636 if (!Old->isInline() && New->isInline() && Old->isUsed(false) && in MergeVarDecl()
4637 !Old->getDefinition() && !New->isThisDeclarationADefinition()) in MergeVarDecl()
4638 UndefinedButUsed.insert(std::make_pair(Old->getCanonicalDecl(), in MergeVarDecl()
4641 if (New->getTLSKind() != Old->getTLSKind()) { in MergeVarDecl()
4642 if (!Old->getTLSKind()) { in MergeVarDecl()
4661 if (Old->isStaticDataMember() && Old->getCanonicalDecl()->isInline() && in MergeVarDecl()
4662 Old->getCanonicalDecl()->isConstexpr()) { in MergeVarDecl()
4667 VarDecl *Def = Old->getDefinition(); in MergeVarDecl()
4673 if (haveIncompatibleLanguageLinkages(Old, New)) { in MergeVarDecl()
4681 if (Old->getMostRecentDecl()->isUsed(false)) in MergeVarDecl()
4685 New->setPreviousDecl(Old); in MergeVarDecl()
4690 New->setAccess(Old->getAccess()); in MergeVarDecl()
4694 if (Old->isInline()) in MergeVarDecl()
4698 void Sema::notePreviousDefinition(const NamedDecl *Old, SourceLocation New) { in notePreviousDefinition() argument
4701 auto FOldDecLoc = SrcMgr.getDecomposedLoc(Old->getLocation()); in notePreviousDefinition()
4706 SrcMgr.getFilename(SrcMgr.getSpellingLoc(Old->getLocation())); in notePreviousDefinition()
4737 noteFromModuleOrInclude(Old->getOwningModule(), OldIncLoc); in notePreviousDefinition()
4742 Diag(Old->getLocation(), diag::note_use_ifdef_guards); in notePreviousDefinition()
4749 if (Old->getLocation().isValid()) in notePreviousDefinition()
4750 Diag(Old->getLocation(), diag::note_previous_definition); in notePreviousDefinition()
4753 bool Sema::checkVarDeclRedefinition(VarDecl *Old, VarDecl *New) { in checkVarDeclRedefinition() argument
4754 if (!hasVisibleDefinition(Old) && in checkVarDeclRedefinition()
4764 if (auto *OldTD = Old->getDescribedVarTemplate()) in checkVarDeclRedefinition()
4766 makeMergedDefinitionVisible(Old); in checkVarDeclRedefinition()
4770 notePreviousDefinition(Old, New->getLocation()); in checkVarDeclRedefinition()
11393 static bool MultiVersionTypesCompatible(FunctionDecl *Old, FunctionDecl *New) { in MultiVersionTypesCompatible() argument
11394 MultiVersionKind OldKind = Old->getMultiVersionKind(); in MultiVersionTypesCompatible()
11401 if (Old->getASTContext().getTargetInfo().getTriple().isAArch64()) { in MultiVersionTypesCompatible()
12962 if (VarDecl *Old = VDecl->getPreviousDecl()) { in DeduceVariableDeclarationType() local
12965 MergeVarDeclTypes(VDecl, Old, /*MergeTypeWithPrevious*/ false); in DeduceVariableDeclarationType()