<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Oct 1, 2014, at 5:44 AM, Aaron Ballman <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Tue, Sep 30, 2014 at 7:52 PM, jahanian <<a href="mailto:fjahanian@apple.com">fjahanian@apple.com</a>> wrote:<br><blockquote type="cite">Sure. Our primary interest is in their use in availability/deprecated<br>attributes.<br><br>An example would be:<br>@protocol P<br>- (void)proto_method<br>__attribute__((availability(macosx,introduced=10_1_0,deprecated=10_2)));<br>@end<br><br>Instead of:<br>@protocol P<br>- (void)proto_method<br>__attribute__((availability(macosx,introduced=10.1.0,deprecated=10.2)));<br>@end<br><br>But, 'major[.minor[.subminor]]’ are parsed and ‘.’ are checked for,<br>irrespective of their use.<br>So, rather than special case for what we need, I am proposing to allow them<br>everywhere.<br></blockquote><br>What do you mean by "everywhere?" I'm a bit confused. When I read your<br>original email, I thought you were talking about changing command line<br>argument parsing for places where version numbers matter so that _ and<br>. were interchangeable. Then Doug brought up std::tuple, and now<br>you're talking about availability attributes. A bit more detailed<br>scope information about what you are proposing would be useful. :-)<br></blockquote><div><br></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><span style="color: #4f8187">Parser</span>::ParseVersionTuple(…) is where 'major[.minor[.subminor]]’ is parsed.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">I am suggesting to modify it to recognize ‘_’ as separator. So, I propose to change</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><span style="color: rgb(79, 129, 135);">Parser</span>::ParseVersionTuple(…) to also accept ‘major[_minor[_subminor]]’ syntax as well.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">As an example, I brought up an example of versioning in availability attribute and showed</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">how this change will allow 10_1_0 as alternative version. Hope it is clear.</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"><br></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;">- Fariborz</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;"> </div><blockquote type="cite"><br>~Aaron<br></blockquote></div><br></body></html>