[libcxx-commits] [libcxx] [libc++] Optimize num_get integral functions (PR #121795)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed Feb 26 07:58:01 PST 2025


================
@@ -403,6 +405,27 @@ struct __num_get : protected __num_get_base {
 
   [[__deprecated__("This exists only for ABI compatibility")]] static string
   __stage2_int_prep(ios_base& __iob, _CharT* __atoms, _CharT& __thousands_sep);
+
+  _LIBCPP_HIDE_FROM_ABI static ptrdiff_t __atoms_offset(const _CharT* __atoms, _CharT __val) {
+#    if _LIBCPP_HAS_ALGORITHM_VECTOR_UTILS
+    _LIBCPP_DIAGNOSTIC_PUSH
+    _LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wpsabi")
----------------
ldionne wrote:

I am a bit worried about the proliferation of these pragmas. I would like us to have a solution to avoid it.

If that means fixing Clang so that it doesn't warn about platform-specific ABI when the function is marked as `always_inline`, then I could be OK with that, but let's add a TODO comment referencing the Clang bug here.

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


More information about the libcxx-commits mailing list