X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FDeveloperPolicy.rst;h=17baf2d27b134b2f7e15e8b97ad747f2996ca185;hb=e27d3110651f72bdecc9d557b08692cb0b6abf00;hp=ea498dde459ab45b1d1b9f6d2b7a6e47c344fa83;hpb=c169fa6f1095ef1a29aaafbf07a7e26e8d470d26;p=oota-llvm.git diff --git a/docs/DeveloperPolicy.rst b/docs/DeveloperPolicy.rst index ea498dde459..17baf2d27b1 100644 --- a/docs/DeveloperPolicy.rst +++ b/docs/DeveloperPolicy.rst @@ -525,6 +525,33 @@ for llvm users and not imposing a big burden on llvm developers: it is to drop it. That is not very user friendly and a bit more effort is expected, but no promises are made. +C API Changes +---------------- + +* Stability Guarantees: The C API is, in general, a "best effort" for stability. + This means that we 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" are likely to be + less stable than "take this IR file and JIT it for my current machine". + +* Release stability: We won't break the C API on the release branch with patches + that go on that branch, with the exception that we will fix an unintentional + C API break that will keep the release consistent with both the previous and + next release. + +* Testing: Patches to the C API are expected to come with tests just like any + other patch. + +* Including new things into the API: If an LLVM subcomponent has a C API already + included, then expanding that C API is acceptable. Adding C API for + subcomponents that don't currently have one needs to be discussed on the + mailing list for design and maintainability feedback prior to implementation. + +* Documentation: Any changes to the C API are required to be documented 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. + .. _copyright-license-patents: Copyright, License, and Patents