[LLVMdev] LLVM as a shared library

Rafael EspĂ­ndola rafael.espindola at gmail.com
Tue Aug 5 14:13:38 PDT 2014


> Honestly I think if you want to make the C API great we should burn it
> to the ground and come up with another one - and one that can be
> versioned as well so we don't have the problems of being limited in
> what we can do to llvm by needing compatibility with the C API.

Or at least document what our backwards compatibility promises are and
how we transition away from old APIs.

Two examples where we do break C APIs:

* An hypothetical off by one source range bug in clang. It will break
a user of libclang that might have been compensating for the bug. In
cases like this we seem to just assume there is a low risk and just
fix the bug.

* Dropping features like the old JIT. It will break users of the C API
that depend on the old JIT. In cases like this we provide an upgrade
path (MCJIT) and a deprecation period.

Cheers,
Rafael



More information about the llvm-dev mailing list