[PATCH] D92808: [ObjC][ARC] Annotate calls with attributes instead of emitting retainRV or claimRV calls in the IR
Akira Hatanaka via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 9 16:05:47 PST 2020
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
More information about the cfe-commits
mailing list