[PATCH] D135273: [Clang][ObjC] Add optionality to property attribute strings.

Alastair Houghton via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 22 02:58:22 PST 2022


al45tair added a comment.

In D135273#3942011 <https://reviews.llvm.org/D135273#3942011>, @theraven wrote:

> In D135273#3936297 <https://reviews.llvm.org/D135273#3936297>, @al45tair wrote:
>
>> @theraven Any chance you could glance over this and reassure us that it isn't going to break the GNU runtime if we do this? (We're adding an extra attribute in the property attribute string so that we can detect `@optional` properties in ObjC protocols at runtime.)
>
> It shouldn't, we ignore any unknown property attributes.  I'd be more concerned about code outside the runtime.  Lots of things parse encoding strings badly, but the property APIs make it much easier to query known attributes and so I think that's a lot lower risk than changing anything in encoding strings.  It's a shame to use ?, since that is unknown type in type encodings and that may confuse some parsers..

I don't think using `?` is really an issue here; anyone parsing types from these strings already has to stop for the `,` character, since the string is defined to be a `,`-separated list of attributes, the first of which is the type attribute `T<type encoding>`. If they were going to be confused by the `?`, then they'd already get confused by the other attribute characters, many of which are also valid in a type encoding.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D135273



More information about the cfe-commits mailing list