Lines Matching refs:ClassDecl
196 CodeGenModule::GetNonVirtualBaseClassOffset(const CXXRecordDecl *ClassDecl,
202 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()) {
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;
1131 QualType RecordTy = CGF.getContext().getTypeDeclType(ClassDecl);
1285 const CXXRecordDecl *ClassDecl = CD->getParent();
1298 ClassDecl->getNumVBases() != 0 &&
1299 !ClassDecl->isAbstract();
1308 CGM.getCXXABI().EmitCtorCompleteObjectHandler(*this, ClassDecl);
1320 EmitBaseInitializer(*this, ClassDecl, *B);
1337 EmitBaseInitializer(*this, ClassDecl, *B);
1342 InitializeVTablePointers(ClassDecl);
1426 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1427 if (!ClassDecl->isDynamicClass())
1434 for (const auto *Field : ClassDecl->fields())
1585 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1588 CGF.getContext().getTagDeclType(ClassDecl));
1603 const CXXRecordDecl *ClassDecl = Dtor->getParent();
1606 CGF.getContext().getTagDeclType(ClassDecl));
1815 const CXXRecordDecl *ClassDecl = DD->getParent();
1818 getContext().getTagDeclType(ClassDecl));
1827 const CXXRecordDecl *ClassDecl = DD->getParent();
1830 if (ClassDecl->isUnion())
1838 SanOpts.has(SanitizerKind::Memory) && ClassDecl->getNumVBases() &&
1839 ClassDecl->isPolymorphic())
1844 for (const auto &Base : ClassDecl->vbases()) {
1864 SanOpts.has(SanitizerKind::Memory) && !ClassDecl->getNumVBases() &&
1865 ClassDecl->isPolymorphic())
1869 for (const auto &Base : ClassDecl->bases()) {
1892 for (const auto *Field : ClassDecl->fields()) {
2137 const CXXRecordDecl *ClassDecl = D->getParent();
2141 getContext().getRecordType(ClassDecl), CharUnits::Zero());
2158 QualType DestTy = getContext().getTypeDeclType(ClassDecl);
2199 ClassDecl->isDynamicClass() && Type != Ctor_Base &&
2200 CGM.getCXXABI().canSpeculativelyEmitVTable(ClassDecl) &&
2202 EmitVTableAssumptionLoads(ClassDecl, This);
2318 void CodeGenFunction::EmitVTableAssumptionLoads(const CXXRecordDecl *ClassDecl,
2320 if (CGM.getCXXABI().doStructorsInitializeVPtrs(ClassDecl))
2321 for (const VPtr &Vptr : getVTablePointers(ClassDecl))
2428 const CXXRecordDecl *ClassDecl = Ctor->getParent();
2429 if (CGM.getLangOpts().Exceptions && !ClassDecl->hasTrivialDestructor()) {
2434 ClassDecl->getDestructor(),
2471 CXXRecordDecl *ClassDecl = T->getAsCXXRecordDecl();
2472 if (!ClassDecl) return;
2473 if (ClassDecl->hasTrivialDestructor()) return;
2475 const CXXDestructorDecl *D = ClassDecl->getDestructor();
2711 const CXXRecordDecl *ClassDecl = cast<CXXRecordDecl>(ClassTy->getDecl());
2713 if (!ClassDecl->isCompleteDefinition() || !ClassDecl->isDynamicClass())
2717 ClassDecl = LeastDerivedClassWithSameLayout(ClassDecl);
2734 std::tie(VTable, ClassDecl) = CGM.getCXXABI().LoadVTablePtr(
2735 *this, Address(Derived, getPointerAlign()), ClassDecl);
2737 EmitVTablePtrCheck(ClassDecl, VTable, TCK, Loc);