Lines Matching refs:RD
83 bool isNearlyEmpty(const CXXRecordDecl *RD) const override { in isNearlyEmpty()
85 if (!RD->isDynamicClass()) in isNearlyEmpty()
88 const ASTRecordLayout &Layout = Context.getASTRecordLayout(RD); in isNearlyEmpty()
108 getCopyConstructorForExceptionObject(CXXRecordDecl *RD) override { in getCopyConstructorForExceptionObject() argument
109 return RecordToCopyCtor[RD]; in getCopyConstructorForExceptionObject()
113 addCopyConstructorForExceptionObject(CXXRecordDecl *RD, in addCopyConstructorForExceptionObject() argument
116 assert(RecordToCopyCtor[RD] == nullptr || RecordToCopyCtor[RD] == CD); in addCopyConstructorForExceptionObject()
117 RecordToCopyCtor[RD] = CD; in addCopyConstructorForExceptionObject()
129 static bool usesMultipleInheritanceModel(const CXXRecordDecl *RD) { in usesMultipleInheritanceModel() argument
130 while (RD->getNumBases() > 0) { in usesMultipleInheritanceModel()
131 if (RD->getNumBases() > 1) in usesMultipleInheritanceModel()
133 assert(RD->getNumBases() == 1); in usesMultipleInheritanceModel()
135 RD->bases_begin()->getType()->getAsCXXRecordDecl(); in usesMultipleInheritanceModel()
136 if (RD->isPolymorphic() && !Base->isPolymorphic()) in usesMultipleInheritanceModel()
138 RD = Base; in usesMultipleInheritanceModel()
196 const CXXRecordDecl *RD = MPT->getMostRecentCXXRecordDecl(); in getMSMemberPointerSlots() local
197 MSInheritanceAttr::Spelling Inheritance = RD->getMSInheritanceModel(); in getMSMemberPointerSlots()