<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 14, 2017, at 12:02 PM, John McCall &lt;<a href="mailto:rjmccall@apple.com" class="">rjmccall@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div class="">On Jul 14, 2017, at 6:41 AM, Alex Hoppen via swift-dev &lt;<a href="mailto:swift-dev@swift.org" class="">swift-dev@swift.org</a>&gt; wrote:</div><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi all,<div class=""><br class=""></div><div class="">With a recent change of mine (<a href="https://github.com/apple/swift/pull/9989" class="">#9989</a>) subscripts are no longer represented internally by the identifier "subscript" but by a DeclBaseName with a special flag. In name mangling, however, the string "subscript" still surfaces (e.g.&nbsp;_T04test3FooC9<b class="">subscript</b>yycfg). I think that we should use a special flag here instead, similar to "fC" for constructors or "fD" for destructors.</div></div></div></div></div></blockquote></div></div></div></blockquote><div><br class=""></div><div>Yes, for example ‘fS’ would work.</div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div dir="auto" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I don't know much about the mangling and which considerations need to be taken here though, so: Would this be a change that is worth doing, even though it gives no immediate benefit? If yes, could someone assist me with the design work of choosing the right mangling scheme or take over the issue? Or should I just file a JIRA for it, assign it the label "AffectsABI" and wait for someone to pick it up as the ABI gets stabilised?</div></div></div></div></div></blockquote><div class=""><br class=""></div></div>Filing a bug seems appropriate. &nbsp;If you'd like to also volunteer to fix that bug, that would be great. :) &nbsp;I agree that we should use a special name in the mangling here, and I disagree that it gives no immediate benefit: if nothing else, it reduces the symbol size by a few bytes.</div></div></blockquote><div><br class=""></div><div>If you like to implement it yourself, I’m happy to assist you.</div><br class=""><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><br class=""></div><div class="">The only consideration is making sure that the mangling doesn't collide with some other identifier. &nbsp;Erik (CC'ed) probably has thoughts about that, although he's on vacation until Monday.</div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""><br class=""></div><div class="">John.</div></div></div></div></blockquote></div><br class=""></body></html>