<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Mar 21, 2019, at 05:54, Eric Fiselier <<a href="mailto:eric@efcs.ca" class="">eric@efcs.ca</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">libc++ should support only three ABI versions at once: deprecated, stable, and unstable.</div><div class="">Making v2 stable means deprecating v1.  The time between deprecation and removal</div><div class="">limits how often we can cut a new ABI.</div></div></div></div></blockquote><div><br class=""></div><div>I'm not sure I agree with this. If the time required for people to move off v1 is too great (and I think it is quite long), I don't see harm in maintaining multiple stable ABI versions at a given time. Basically, each ABI version just opts-in to some new ABI break. Eventually, if a stable ABI version is not needed anymore, it can be removed.</div><div><br class=""></div><div>Otherwise, stabilizing ABI v3 will be blocked on the slowest "customer" moving off ABI v1, but in some cases this may be an unbounded amount of time.</div><div><br class=""></div><div>Louis</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">/Eric</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 20, 2019 at 3:47 PM Louis Dionne via libcxx-dev <<a href="mailto:libcxx-dev@lists.llvm.org" class="">libcxx-dev@lists.llvm.org</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Mar 20, 2019, at 14:02, Mikhail Maltsev <<a href="mailto:Mikhail.Maltsev@arm.com" target="_blank" class="">Mikhail.Maltsev@arm.com</a>> wrote:</div><br class="gmail-m_1004674668455244822Apple-interchange-newline"><div class=""><div class="">On 3/20/19 5:24 PM, Marshall Clow via libcxx-dev wrote:<br class=""><blockquote type="cite" class=""><br class=""><br class="">On Tue, Mar 19, 2019 at 1:10 PM Louis Dionne via libcxx-dev<br class=""><<a href="mailto:libcxx-dev@lists.llvm.org" target="_blank" class="">libcxx-dev@lists.llvm.org</a> <<a href="mailto:libcxx-dev@lists.llvm.org" target="_blank" class="">mailto:libcxx-dev@lists.llvm.org</a>>> wrote:<br class=""><br class="">    Hi,<br class=""><br class="">    I'd like to know whether folks currently have breaking changes planned for<br class="">    the version 2 ABI of libc++. Are we aware of improvements that would require<br class="">    breaking the ABI and that we have not implemented yet?<br class=""><br class=""><br class="">I have a note to fix XXX::set_value to use call_once when I can break ABI, so I<br class="">should do that first.<br class=""></blockquote><br class="">You also mentioned some <regex>-related changes:<br class=""><a href="https://bugs.llvm.org/show_bug.cgi?id=35967#c2" target="_blank" class="">https://bugs.llvm.org/show_bug.cgi?id=35967#c2</a><br class=""></div></div></blockquote><br class=""></div><div class="">Right, those two items are exactly the kind of thing I was thinking about. Let's implement those and put them behind ABI macros just so we don't forget. When we are ready to stabilize the ABI we won't miss those changes.</div><div class=""><br class=""></div><div class="">Louis</div><div class=""><br class=""></div></div>_______________________________________________<br class="">
libcxx-dev mailing list<br class="">
<a href="mailto:libcxx-dev@lists.llvm.org" target="_blank" class="">libcxx-dev@lists.llvm.org</a><br class="">
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-dev" rel="noreferrer" target="_blank" class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-dev</a><br class="">
</blockquote></div></div>
</div></blockquote></div><br class=""></body></html>