@@ -13337,71 +13337,6 @@ bool ASTContext::isTypeAwareOperatorNewOrDelete(const FunctionDecl *FD) const {
1333713337 return TypeAwareOperatorNewAndDeletes.contains(FD->getCanonicalDecl());
1333813338}
1333913339
13340- void ASTContext::addOperatorDeleteForVDtor(const CXXDestructorDecl *Dtor,
13341- FunctionDecl *OperatorDelete,
13342- OperatorDeleteKind K) const {
13343- switch (K) {
13344- case OperatorDeleteKind::Regular:
13345- OperatorDeletesForVirtualDtor[Dtor->getCanonicalDecl()] = OperatorDelete;
13346- break;
13347- case OperatorDeleteKind::GlobalRegular:
13348- GlobalOperatorDeletesForVirtualDtor[Dtor->getCanonicalDecl()] =
13349- OperatorDelete;
13350- break;
13351- case OperatorDeleteKind::Array:
13352- ArrayOperatorDeletesForVirtualDtor[Dtor->getCanonicalDecl()] =
13353- OperatorDelete;
13354- break;
13355- case OperatorDeleteKind::ArrayGlobal:
13356- GlobalArrayOperatorDeletesForVirtualDtor[Dtor->getCanonicalDecl()] =
13357- OperatorDelete;
13358- break;
13359- }
13360- }
13361-
13362- bool ASTContext::dtorHasOperatorDelete(const CXXDestructorDecl *Dtor,
13363- OperatorDeleteKind K) const {
13364- switch (K) {
13365- case OperatorDeleteKind::Regular:
13366- return OperatorDeletesForVirtualDtor.contains(Dtor->getCanonicalDecl());
13367- case OperatorDeleteKind::GlobalRegular:
13368- return GlobalOperatorDeletesForVirtualDtor.contains(
13369- Dtor->getCanonicalDecl());
13370- case OperatorDeleteKind::Array:
13371- return ArrayOperatorDeletesForVirtualDtor.contains(
13372- Dtor->getCanonicalDecl());
13373- case OperatorDeleteKind::ArrayGlobal:
13374- return GlobalArrayOperatorDeletesForVirtualDtor.contains(
13375- Dtor->getCanonicalDecl());
13376- }
13377- return false;
13378- }
13379-
13380- FunctionDecl *
13381- ASTContext::getOperatorDeleteForVDtor(const CXXDestructorDecl *Dtor,
13382- OperatorDeleteKind K) const {
13383- const CXXDestructorDecl *Canon = Dtor->getCanonicalDecl();
13384- switch (K) {
13385- case OperatorDeleteKind::Regular:
13386- if (OperatorDeletesForVirtualDtor.contains(Canon))
13387- return OperatorDeletesForVirtualDtor[Canon];
13388- return nullptr;
13389- case OperatorDeleteKind::GlobalRegular:
13390- if (GlobalOperatorDeletesForVirtualDtor.contains(Canon))
13391- return GlobalOperatorDeletesForVirtualDtor[Canon];
13392- return nullptr;
13393- case OperatorDeleteKind::Array:
13394- if (ArrayOperatorDeletesForVirtualDtor.contains(Canon))
13395- return ArrayOperatorDeletesForVirtualDtor[Canon];
13396- return nullptr;
13397- case OperatorDeleteKind::ArrayGlobal:
13398- if (GlobalArrayOperatorDeletesForVirtualDtor.contains(Canon))
13399- return GlobalArrayOperatorDeletesForVirtualDtor[Canon];
13400- return nullptr;
13401- }
13402- return nullptr;
13403- }
13404-
1340513340MangleNumberingContext &
1340613341ASTContext::getManglingNumberContext(const DeclContext *DC) {
1340713342 assert(LangOpts.CPlusPlus); // We don't need mangling numbers for plain C.
0 commit comments