mantognini reopened this revision. mantognini added a subscriber: ilya-biryukov. mantognini added a comment. This revision is now accepted and ready to land.
While investigating PR42665, I've noticed that `getImplicitObjectArgument` doesn't always return a pointer type. For example, when dealing with `shared_ptr`. In libc++'s test std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp, dumping `CE` in `EmitVirtualDestructorCall` shows that the callee is `.~Bar` (mind the `.`): CXXMemberCallExpr 0x29d10a0 'void' `-MemberExpr 0x29d1070 '<bound member function type>' .~Bar 0x23f5250 `-CXXMemberCallExpr 0x29d1040 'struct Bar':'struct Bar' lvalue `-MemberExpr 0x29d1010 '<bound member function type>' .second 0x2883328 `-MemberExpr 0x29d0f80 '__compressed_pair<class std::__1::allocator<struct Bar>, struct Bar>':'class std::__1::__compressed_pair<class std::__1::allocator<struct Bar>, struct Bar>' lvalue ->__data_ 0x2896960 `-CXXThisExpr 0x29d0f70 'class std::__1::__shared_ptr_emplace<struct Bar, class std::__1::allocator<struct Bar> > *' implicit this However, for CodeGenCXX/virtual-pseudo-destructor-call.cpp in clang test suite, `CE` is this (mind the `->` this time): CXXMemberCallExpr 0x7787a8 'void' `-MemberExpr 0x778750 '<bound member function type>' ->~A 0x778288 `-ImplicitCastExpr 0x778738 'struct A *' <LValueToRValue> `-DeclRefExpr 0x778708 'struct A *' lvalue ParmVar 0x778558 'a' 'struct A *' Tomorrow, I'll try to reduce libc++ failing tests and add it to Clang's suite as part of this review. For now, I've run `check-all` and it seems that no test are failing anymore (with the patch I'm about to upload). However, I'm not sure whether `getImplicitObjectArgument` is expected to have either pointer or non-pointer type. I guess it is, but, John, Ilya, could either of you confirm this? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64569/new/ https://reviews.llvm.org/D64569 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits