Lines Matching defs:ClassDecl
201 CodeGenModule::GetNonVirtualBaseClassOffset(const CXXRecordDecl *ClassDecl,
207 computeNonVirtualBaseClassOffset(ClassDecl, PathBegin, PathEnd);
558 const CXXRecordDecl *ClassDecl,
575 CGF.InitializeVTablePointers(ClassDecl);
580 CGF.GetAddressOfDirectBaseInCompleteClass(ThisPtr, ClassDecl,
589 CGF.getOverlapForBaseInit(ClassDecl, BaseClassDecl, isBaseVirtual));
631 const CXXRecordDecl *ClassDecl,
645 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
780 const CXXRecordDecl *ClassDecl =
783 if (!ClassDecl->mayInsertExtraPadding()) return;
791 const ASTRecordLayout &Info = Context.getASTRecordLayout(ClassDecl);
800 for (const auto *Field : ClassDecl->fields()) {
919 FieldMemcpyizer(CodeGenFunction &CGF, const CXXRecordDecl *ClassDecl,
921 : CGF(CGF), ClassDecl(ClassDecl), SrcRec(SrcRec),
922 RecLayout(CGF.getContext().getASTRecordLayout(ClassDecl)),
978 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
999 const CXXRecordDecl *ClassDecl;
1124 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
1278 const CXXRecordDecl *ClassDecl = CD->getParent();
1291 ClassDecl->getNumVBases() != 0 &&
1292 !ClassDecl->isAbstract();
1301 CGM.getCXXABI().EmitCtorCompleteObjectHandler(*this, ClassDecl);
1313 EmitBaseInitializer(*this, ClassDecl, *B);
1330 EmitBaseInitializer(*this, ClassDecl, *B);
1333 InitializeVTablePointers(ClassDecl);
1417 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1418 if (!ClassDecl->isDynamicClass())
1423 if (ClassDecl->isEffectivelyFinal())
1430 for (const auto *Field : ClassDecl->fields())
1584 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1587 CGF.getContext().getTagDeclType(ClassDecl));
1602 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1605 CGF.getContext().getTagDeclType(ClassDecl));
1866 const CXXRecordDecl *ClassDecl = DD->getParent();
1869 getContext().getTagDeclType(ClassDecl));
1878 const CXXRecordDecl *ClassDecl = DD->getParent();
1881 if (ClassDecl->isUnion())
1889 SanOpts.has(SanitizerKind::Memory) && ClassDecl->getNumVBases() &&
1890 ClassDecl->isPolymorphic())
1895 for (const auto &Base : ClassDecl->vbases()) {
1921 SanOpts.has(SanitizerKind::Memory) && !ClassDecl->getNumVBases() &&
1922 ClassDecl->isPolymorphic())
1926 for (const auto &Base : ClassDecl->bases()) {
1952 for (const auto *Field : ClassDecl->fields()) {
2204 const CXXRecordDecl *ClassDecl = D->getParent();
2208 getContext().getRecordType(ClassDecl), CharUnits::Zero());
2224 QualType DestTy = getContext().getTypeDeclType(ClassDecl);
2265 ClassDecl->isDynamicClass() && Type != Ctor_Base &&
2266 CGM.getCXXABI().canSpeculativelyEmitVTable(ClassDecl) &&
2268 EmitVTableAssumptionLoads(ClassDecl, This);
2386 void CodeGenFunction::EmitVTableAssumptionLoads(const CXXRecordDecl *ClassDecl,
2388 if (CGM.getCXXABI().doStructorsInitializeVPtrs(ClassDecl))
2389 for (const VPtr &Vptr : getVTablePointers(ClassDecl))
2500 const CXXRecordDecl *ClassDecl = Ctor->getParent();
2501 if (CGM.getLangOpts().Exceptions && !ClassDecl->hasTrivialDestructor()) {
2506 ClassDecl->getDestructor(),
2543 CXXRecordDecl *ClassDecl = T->getAsCXXRecordDecl();
2544 if (!ClassDecl) return;
2545 if (ClassDecl->hasTrivialDestructor()) return;
2547 const CXXDestructorDecl *D = ClassDecl->getDestructor();
2809 const CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(ClassTy->getDecl());
2811 if (!ClassDecl->isCompleteDefinition() || !ClassDecl->isDynamicClass())
2815 ClassDecl = LeastDerivedClassWithSameLayout(ClassDecl);
2832 std::tie(VTable, ClassDecl) =
2833 CGM.getCXXABI().LoadVTablePtr(*this, Derived, ClassDecl);
2835 EmitVTablePtrCheck(ClassDecl, VTable, TCK, Loc);