krasin added inline comments.

================
Comment at: lib/CodeGen/CGExprCXX.cpp:93
+
+  EmitTypeCheck(CodeGenFunction::TCK_MemberCall,
+                CallLoc, This, C.getRecordType(DD->getParent()));
----------------
pcc wrote:
> 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?
Done.

Note: since I don't have an ability to test on Windows, this CL is now 
high-risk. If it breaks any Windows-specific tests, when submitted, I will 
revert the CL and undo the MSABI change. After all, the previous state was to 
keep things working as they were before.


https://reviews.llvm.org/D26559



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to