[libcxx-commits] [libcxx] [libc++] Document our ABI guarantees and what ABI flags exist to modify these guarantees (PR #132615)
Louis Dionne via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Mar 25 12:39:21 PDT 2025
================
@@ -0,0 +1,199 @@
+=======================
+libc++'s ABI Guarantees
+=======================
+
+libc++ provides multiple types ABI guarantees. These include stability of the layout of structs, the linking of TUs
+built against different versions and configurations of the library, and more. This document describes what guarantees
+libc++ provides in these different fields as well as what options exist for users and vendors to affect these
+guarantees.
+
+Note that all of the guarantees listed below come with an asterisk that there may be circumstances where we deem it
+worth it to break that guarantee. These breaks are communicated to vendors by CCing #libcxx-vendors on GitHub. If you
+are a vendor, please ask to be added to that group to be notified about changes that potentially affect you.
+
----------------
ldionne wrote:
One of the most important things we need to mention IMO is that these ABI macros must be set by vendors at configuration time, not by users. We can also briefly explain why.
https://github.com/llvm/llvm-project/pull/132615
More information about the libcxx-commits
mailing list