[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