[libcxx-commits] [libcxx] [libc++] Encode the standard version in the ABI tag (PR #218527)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Tue Aug 25 01:22:24 PDT 2026


================
@@ -150,10 +150,17 @@
 #  define _LIBCPP_EXCEPTIONS_SIG e
 #endif
 
-#define _LIBCPP_ODR_SIGNATURE                                                                                          \
-  _LIBCPP_CONCAT(                                                                                                      \
-      _LIBCPP_CONCAT(_LIBCPP_CONCAT(_LIBCPP_HARDENING_SIG, _LIBCPP_ASSERTION_SEMANTIC_SIG), _LIBCPP_EXCEPTIONS_SIG),   \
-      _LIBCPP_VERSION)
+#define _LIBCPP_STANDARD_VERSION_SIG _LIBCPP_CONCAT(std, _LIBCPP_STD_VER)
----------------
philnik777 wrote:

The `std` seems like three bytes wasted for no use. Is there a reason you added this? If you simply want to separate the libc++ and standard version I'd rather move one of the characters we already have in between (I'd actually like that to happen assuming we drop the `std`).

https://github.com/llvm/llvm-project/pull/218527


More information about the libcxx-commits mailing list