Prazek marked an inline comment as done. ================ Comment at: lib/CodeGen/CGCXXABI.h:352 @@ +351,3 @@ + isVirtualOffsetNeededForVTableField(CodeGenFunction &CGF, + const CXXRecordDecl *NearestVBase) = 0; + ---------------- rjmccall wrote: > This method does not need to be passed a CodeGenFunction&, but it should take > a complete CodeGenFunction::VPtr, not just this one random field from it. yep, I thought that there will be problem with placing VPtr class, but I haven't noticed that CGCXXAABI includes CodeGenFunction.
CodeGenFunction is required for ItaniumABI return NeedsVTTParameter(CGF.CurGD); ================ Comment at: lib/CodeGen/CGClass.cpp:1862 @@ +1861,3 @@ + for (const VPtr &vptr : getVTablePointers(ClassDecl)) + if (CGM.getCXXABI().canInitializeVPtr(vptr.VTableClass, vptr.Base.getBase(), + vptr.NearestVBase)) ---------------- rjmccall wrote: > As mentioned elsewhere, you can skip this entire loop if > doStructorsInitializeVTables returns false. hmm, I think it is not true. This code checks if each base that we are initilizing/generating vptr assumption don't have novtable specifier. If one base has it, it doesn't mean that we don't have to do it for other base http://reviews.llvm.org/D11859 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits