[PATCH] D65256: [Sema][ObjC] Mark C union fields that have non-trivial ObjC ownership qualifications as unavailable if the union is declared in a system header
John McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 25 12:15:11 PDT 2019
rjmccall added a comment.
In D65256#1601510 <https://reviews.llvm.org/D65256#1601510>, @jordan_rose wrote:
> In D65256#1601509 <https://reviews.llvm.org/D65256#1601509>, @rjmccall wrote:
>
> > Sorry, am I missing something? Such a union would've been either ill-formed or unavailable in ARC (depending on where it was declared) before this recent work.
>
>
> Apparently that was not the case if it was in a system header. Instead, Clang marked the //member// unavailable rather than the entire union.
Ah, that's unfortunate. It also just seems like a bug.
I guess my questions are whether we're fixing a specific source-compatibility problem here and, if so, whether this is the only reasonable approach for solving it.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65256/new/
https://reviews.llvm.org/D65256
More information about the cfe-commits
mailing list