[libcxx-commits] [libcxx] [libc++] P3391R2: `constexpr` integral overloads of `to_(w)string` (PR #205025)

A. Jiang via libcxx-commits libcxx-commits at lists.llvm.org
Tue Jun 30 01:00:04 PDT 2026


================
@@ -3774,12 +3777,15 @@ stoull(const string& __str, size_t* __idx = nullptr, int __base = 10);
 [[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI double stod(const string& __str, size_t* __idx = nullptr);
 [[__nodiscard__]] _LIBCPP_EXPORTED_FROM_ABI long double stold(const string& __str, size_t* __idx = nullptr);
 
+#  if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY)
----------------
frederick-vs-ja wrote:

> I don't understand what issue you have. Why can't you make all of them `constexpr` in C++26?

This looks a bit more fragile. Did you mean also making the definitions in dylib `constexpr` and adding `[[gnu::noinline]]` to ensure emit out-of-line definitions?

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


More information about the libcxx-commits mailing list