[PATCH] D123898: Fix crash in ObjC codegen introduced with 5ab6ee75994d645725264e757d67bbb1c96fb2b6

John McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 18 10:41:57 PDT 2022


rjmccall added a comment.

In D123898#3455933 <https://reviews.llvm.org/D123898#3455933>, @theraven wrote:

> I'd like to.  The test case from the original bug report was very large but I'm not sure how to trigger this with anything comprehensibly small.  You need something where the callee is responsible for destroying the argument and I'm not sure what combination of properties / ABIs results in that.  The original test was `-(void)foo:(std::string)aString` on the MSVC ABI, but I don't know how much of the Visual Studio `std::string` implementation is necessary to trigger this behaviour.  Is it just a non-trivial destructor?

Yeah, a non-trivial destructor should be good enough.  Or a consumed ObjC pointer argument in ARC might also work, although I don't know if that takes the same path.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123898/new/

https://reviews.llvm.org/D123898



More information about the cfe-commits mailing list