[llvm-dev] [LLVMdev] [RFC] Developer Policy for LLVM C API
Philip Reames via llvm-dev
llvm-dev at lists.llvm.org
Mon Aug 17 09:55:13 PDT 2015
On 08/17/2015 08:34 AM, Reid Kleckner via llvm-dev wrote:
> On Sun, Aug 16, 2015 at 10:34 PM, deadal nix via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> 2015-08-16 21:51 GMT-07:00 Eric Christopher <echristo at gmail.com
> <mailto:echristo at gmail.com>>:
> The promise of stability. We don't promise that the C++ API
> will stay stable.
> Why was that promise be made in the first place ? Has it been made
> in the first place ?
> It sounds like you're in favor of dropping C API stability then, if
> it's holding us back? That feedback is actually really helpful. :)
> There are really three goals here: flexibility to change LLVM IR,
> completeness of the C API, and stability of the C API. Pick two.
> The goals are mutually incompatible and we have to trade off one for
> the other. Most of the LLVM core developers value goal #1, the ability
> to change the IR. Look at the pointee type changes that David Blaikie
> is working on, and the new EH representation. If we promise both
> stability and completeness, these things are impossible.
> One way forward is to guarantee stability, but limit completeness.
> This would mean limiting the C API to constructs that will always and
> forever be easily represented in LLVM.
> The other choice is to forget stability and wrap the C++ API
> completely, potentially with something auto-generated. We could make a
> more limited stability promise along the lines of "these APIs will be
> updated to reflect changes to the IR, and are otherwise stable." I
> think everyone would be fine with that.
In particular, such an API would be a good start to the "unstable" API
which has been discussed. If you wanted to use the opportunity to
introduce such a thing, I'd be in support. Put it in a different
directory for now, but if we decide to merge the current C API into the
unstable grouping, we'll combine them at some point.
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev