<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="">Excellent. Thanks for herding all the cats and getting this done, Eric.<div class=""><br class=""></div><div class="">-Jim</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 10, 2015, at 1:57 PM, Eric Christopher <<a href="mailto:echristo@gmail.com" class="">echristo@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">I've done this now btw. A few additional commits on some non-ascii quotes and one clarification.<div class=""><br class=""></div><div class="">Feel free to follow up with any different or clarified text.</div><div class=""><br class=""></div><div class="">Thanks everyone!</div><div class=""><br class=""></div><div class="">-eric<br class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Nov 19, 2015 at 5:57 PM Eric Christopher <<a href="mailto:echristo@gmail.com" class="">echristo@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">"Documentation:<div class=""><br class=""></div><div class="">We’re going to document this policy in the developer documentation. In addition, any changes to the C API will require documentation in the release notes so that it’s clear to external users who do not follow the project how the C API is changing and evolving."</div><div class=""><br class=""></div></div><div dir="ltr" class=""><div class="">So, yes?</div></div><div dir="ltr" class=""><div class=""><br class=""></div><div class="">-eric</div></div><div dir="ltr" class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Thu, Nov 19, 2015 at 5:55 PM Sean Silva <<a href="mailto:chisophugis@gmail.com" target="_blank" class="">chisophugis@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Are you going to propagate this info into <a href="http://llvm.org/docs/DeveloperPolicy.html" target="_blank" class="">http://llvm.org/docs/DeveloperPolicy.html</a> ?</div><div class="gmail_extra"><br class=""><div class="gmail_quote"></div></div><div class="gmail_extra"><div class="gmail_quote">On Thu, Nov 19, 2015 at 1:56 PM, Eric Christopher via llvm-dev <span dir="ltr" class=""><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a>></span> wrote:<br class=""></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><div class=""><br class=""></div><div class="">Hi All,</div><div class=""><br class=""></div><div class="">I wanted to send a follow-up mail to the C API discussion/BoF that we had at the latest developer meeting and nicely hosted by Justin and Juergen.</div><div class=""><br class=""></div><div class="">We were able to reach consensus on a number of questions/concerns about the C API so I’m going to go ahead and list them for posterity and for any further discussion here:</div><div class=""><br class=""></div><div class="">Stability Guarantees:</div><div class=""><br class=""></div><div class="">The C API is, in general, a “best effort” for stability. This means that we’ll make every attempt to keep the C API stable, but that stability will be limited by the abstractness of the interface and the stability of the C++ API that it wraps. In practice, this means that things like “create debug info” or “create this type of instruction” is likely to be less stable than “take this IR file and JIT it for my current machine”.</div><div class="">Release stability:</div><div class="">We won’t break the C API on the release branch with patches that go on that branch - in general.</div><div class="">Exception: If we fix an unintentional C API break that will keep us consistent with both the previous and next release.</div><div class=""><br class=""></div><div class="">Including new things into the API:</div><div class=""><br class=""></div><div class="">We’re going to adopt a policy of “if a particular LLVM subcomponent has a C API already included, then expanding that API is acceptable”, but we’re also going to institute a better policy of “please test the API that you’ve just expanded”. Hopefully this will get the C API better tested as time goes on to remove accidental breakage so that any time we break the C API we know about it.</div><div class=""><br class=""></div><div class="">Adding C API for subcomponents that don’t currently have one is also fine, and the details of how best to do that should be discussed on the mailing list as they come up.</div><div class=""><br class=""></div><div class="">Documentation:</div><div class=""><br class=""></div><div class="">We’re going to document this policy in the developer documentation. In addition, any changes to the C API will require documentation in the release notes so that it’s clear to external users who do not follow the project how the C API is changing and evolving.</div><div class=""><br class=""></div><div class="">What we expect this means in practice is that APIs like libLTO and other APIs based on reading IR are going to remain highly stable and that more wrapper like APIs (IR creation, etc) are going to both be added and change as the underlying IR changes.</div><div class=""><br class=""></div><div class="">Please feel free to follow up to this thread with any concerns.</div><div class=""><br class=""></div><div class="">Thanks!</div><div class=""><br class=""></div><div class="">-eric (with Justin and Juergen)</div><span class=""><div class=""><span style="font-size: 14.6667px; font-family: Arial; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;" class=""><br class=""></span></div></span></div>
<br class=""></blockquote></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" class="">llvm-dev@lists.llvm.org</a><br class="">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class="">
<br class=""></blockquote></div></div></blockquote></div></div></blockquote></div></div></div>
</div></blockquote></div><br class=""></div></body></html>