Lines Matching defs:ClassDecl
200 CodeGenModule::GetNonVirtualBaseClassOffset(const CXXRecordDecl *ClassDecl,
206 computeNonVirtualBaseClassOffset(ClassDecl, PathBegin, PathEnd);
557 const CXXRecordDecl *ClassDecl,
574 CGF.InitializeVTablePointers(ClassDecl);
579 CGF.GetAddressOfDirectBaseInCompleteClass(ThisPtr, ClassDecl,
588 CGF.getOverlapForBaseInit(ClassDecl, BaseClassDecl, isBaseVirtual));
630 const CXXRecordDecl *ClassDecl,
644 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
779 const CXXRecordDecl *ClassDecl =
782 if (!ClassDecl->mayInsertExtraPadding()) return;
790 const ASTRecordLayout &Info = Context.getASTRecordLayout(ClassDecl);
799 for (const auto *Field : ClassDecl->fields()) {
918 FieldMemcpyizer(CodeGenFunction &CGF, const CXXRecordDecl *ClassDecl,
920 : CGF(CGF), ClassDecl(ClassDecl), SrcRec(SrcRec),
921 RecLayout(CGF.getContext().getASTRecordLayout(ClassDecl)),
977 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
998 const CXXRecordDecl *ClassDecl;
1123 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
1277 const CXXRecordDecl *ClassDecl = CD->getParent();
1290 ClassDecl->getNumVBases() != 0 &&
1291 !ClassDecl->isAbstract();
1300 CGM.getCXXABI().EmitCtorCompleteObjectHandler(*this, ClassDecl);
1312 EmitBaseInitializer(*this, ClassDecl, *B);
1329 EmitBaseInitializer(*this, ClassDecl, *B);
1332 InitializeVTablePointers(ClassDecl);
1416 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1417 if (!ClassDecl->isDynamicClass())
1422 if (ClassDecl->isEffectivelyFinal())
1429 for (const auto *Field : ClassDecl->fields())
1583 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1586 CGF.getContext().getTagDeclType(ClassDecl));
1601 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1604 CGF.getContext().getTagDeclType(ClassDecl));
1865 const CXXRecordDecl *ClassDecl = DD->getParent();
1868 getContext().getTagDeclType(ClassDecl));
1877 const CXXRecordDecl *ClassDecl = DD->getParent();
1880 if (ClassDecl->isUnion())
1888 SanOpts.has(SanitizerKind::Memory) && ClassDecl->getNumVBases() &&
1889 ClassDecl->isPolymorphic())
1894 for (const auto &Base : ClassDecl->vbases()) {
1920 SanOpts.has(SanitizerKind::Memory) && !ClassDecl->getNumVBases() &&
1921 ClassDecl->isPolymorphic())
1925 for (const auto &Base : ClassDecl->bases()) {
1951 for (const auto *Field : ClassDecl->fields()) {
2199 const CXXRecordDecl *ClassDecl = D->getParent();
2203 getContext().getRecordType(ClassDecl), CharUnits::Zero());
2219 QualType DestTy = getContext().getTypeDeclType(ClassDecl);
2260 ClassDecl->isDynamicClass() && Type != Ctor_Base &&
2261 CGM.getCXXABI().canSpeculativelyEmitVTable(ClassDecl) &&
2263 EmitVTableAssumptionLoads(ClassDecl, This);
2381 void CodeGenFunction::EmitVTableAssumptionLoads(const CXXRecordDecl *ClassDecl,
2383 if (CGM.getCXXABI().doStructorsInitializeVPtrs(ClassDecl))
2384 for (const VPtr &Vptr : getVTablePointers(ClassDecl))
2495 const CXXRecordDecl *ClassDecl = Ctor->getParent();
2496 if (CGM.getLangOpts().Exceptions && !ClassDecl->hasTrivialDestructor()) {
2501 ClassDecl->getDestructor(),
2538 CXXRecordDecl *ClassDecl = T->getAsCXXRecordDecl();
2539 if (!ClassDecl) return;
2540 if (ClassDecl->hasTrivialDestructor()) return;
2542 const CXXDestructorDecl *D = ClassDecl->getDestructor();
2804 const CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(ClassTy->getDecl());
2806 if (!ClassDecl->isCompleteDefinition() || !ClassDecl->isDynamicClass())
2810 ClassDecl = LeastDerivedClassWithSameLayout(ClassDecl);
2827 std::tie(VTable, ClassDecl) =
2828 CGM.getCXXABI().LoadVTablePtr(*this, Derived, ClassDecl);
2830 EmitVTablePtrCheck(ClassDecl, VTable, TCK, Loc);