[clang] [Docs] Explicitly document libclang ABI and API stability (PR #141657)
Vlad Serebrennikov via cfe-commits
cfe-commits at lists.llvm.org
Wed May 28 11:13:08 PDT 2025
================
@@ -373,19 +373,21 @@ implementation of the facilities by Clang may change behavior as bugs are
fixed, features get implemented, etc.
The library should be ABI and API stable over time, but ABI- and API-breaking
-changes can happen in the following situations:
+changes can happen in the following (non-exhaustive) situations:
* Adding new enumerator to an enumeration (can be ABI-breaking in C++).
* Removing an explicitly deprecated API after a suitably long deprecation
period.
-* Uses of implementation details, such names or comments that say something is
- "private", "reserved", "internal", etc.
+* Using implementation details, such as names or comments that say something
+ is "private", "reserved", "internal", etc.
+* Bug fixes or changes to Clang's internal implementation, or (rarely), bug
----------------
Endilll wrote:
Should we say that while API and ABI are stable, domain-specific behavior of exposed functions is explicitly unstable? In other words, Clang 21 is not going to pretend that it's Clang 3.x, and users will see it via their cursors and whatnot.
https://github.com/llvm/llvm-project/pull/141657
More information about the cfe-commits
mailing list