[PATCH] D26559: Insert a type check before reading vtable.

Peter Collingbourne via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 14 14:29:36 PST 2016


pcc added inline comments.


================
Comment at: lib/CodeGen/CGExprCXX.cpp:93
+
+  EmitTypeCheck(CodeGenFunction::TCK_MemberCall,
+                CallLoc, This, C.getRecordType(DD->getParent()));
----------------
krasin wrote:
> pcc wrote:
> > pcc wrote:
> > > Is it correct to emit a type check at this point? Looking at [0] it looks like this function is only called from the Microsoft C++ ABI after we have already resolved the virtual function pointer.
> > > 
> > > [0] http://llvm-cs.pcc.me.uk/tools/clang/lib/CodeGen/CGExprCXX.cpp/rEmitCXXDestructorCall
> > What about this comment?
> Sorry, I have missed the comment. I have added this check here to preserve the existing behavior.
> 
> From what you describe, there could be a very similar issue related to the Microsoft C++ ABI to the one that I fix here. I am okay to file a bug or add a note about this, your choice.
Have you looked at how hard it would be to fix this?


https://reviews.llvm.org/D26559





More information about the cfe-commits mailing list