ahatanak added a comment.

ToT clang/llvm (without this patch) is turning the call to 
`@objc_unsafeClaimAutoreleasedReturnValue` in the EH cleanup block into an 
unreachable when compiling the following code. It looks like this happens 
because the inliner isn't adding the funclet token, but it's not clear to me 
whether this is a bug or not.

$ cat test.mm

  void foo();
  id noexcept_func() noexcept;
  
  struct S0 {
    id x;
    ~S0() {
      noexcept_func();
    }
  };
  
  void test_attr_claimRV() {
    S0 s0;
    foo();
  }

$ clang++ -std=c++11 -fobjc-arc  test.mm -O3 -S -o - 
"-fobjc-runtime=ios-11.0.0" -target aarch64-unknown-windows-msvc


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D92808

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

Reply via email to