[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 03:16:50 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:
`[[gnu::used]]` + `[[gnu::gnu_inline]]` seems problematic at least for GCC.
When `[[gnu::gnu_inline]]` and `[[gnu::used]]` are applied together to a `constexpr` function definition, it seems that we can't keep the out-of-line definition of that function. For Clang, we can only apply `[[gnu::unused]]` to that definition, but GCC rejects mismatch of presence `[[gnu::gnu_inline]]` on different declarations.
https://github.com/llvm/llvm-project/pull/205025
More information about the libcxx-commits
mailing list