diff --git a/libcxx/include/charconv b/libcxx/include/charconv --- a/libcxx/include/charconv +++ b/libcxx/include/charconv @@ -93,8 +93,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD namespace __itoa { -_LIBCPP_AVAILABILITY_TO_CHARS _LIBCPP_FUNC_VIS char* __u64toa(uint64_t __value, char* __buffer); -_LIBCPP_AVAILABILITY_TO_CHARS _LIBCPP_FUNC_VIS char* __u32toa(uint32_t __value, char* __buffer); +_LIBCPP_AVAILABILITY_TO_CHARS _LIBCPP_FUNC_VIS char* __u64toa(uint64_t __value, char* __buffer) _NOEXCEPT; +_LIBCPP_AVAILABILITY_TO_CHARS _LIBCPP_FUNC_VIS char* __u32toa(uint32_t __value, char* __buffer) _NOEXCEPT; } #ifndef _LIBCPP_CXX03_LANG diff --git a/libcxx/src/charconv.cpp b/libcxx/src/charconv.cpp --- a/libcxx/src/charconv.cpp +++ b/libcxx/src/charconv.cpp @@ -32,7 +32,7 @@ template inline _LIBCPP_INLINE_VISIBILITY char* -append1(char* buffer, T i) +append1(char* buffer, T i) noexcept { *buffer = '0' + static_cast(i); return buffer + 1; @@ -40,7 +40,7 @@ template inline _LIBCPP_INLINE_VISIBILITY char* -append2(char* buffer, T i) +append2(char* buffer, T i) noexcept { memcpy(buffer, &cDigitsLut[(i)*2], 2); return buffer + 2; @@ -48,21 +48,21 @@ template inline _LIBCPP_INLINE_VISIBILITY char* -append3(char* buffer, T i) +append3(char* buffer, T i) noexcept { return append2(append1(buffer, (i) / 100), (i) % 100); } template inline _LIBCPP_INLINE_VISIBILITY char* -append4(char* buffer, T i) +append4(char* buffer, T i) noexcept { return append2(append2(buffer, (i) / 100), (i) % 100); } template inline _LIBCPP_INLINE_VISIBILITY char* -append2_no_zeros(char* buffer, T v) +append2_no_zeros(char* buffer, T v) noexcept { if (v < 10) return append1(buffer, v); @@ -72,7 +72,7 @@ template inline _LIBCPP_INLINE_VISIBILITY char* -append4_no_zeros(char* buffer, T v) +append4_no_zeros(char* buffer, T v) noexcept { if (v < 100) return append2_no_zeros(buffer, v); @@ -84,7 +84,7 @@ template inline _LIBCPP_INLINE_VISIBILITY char* -append8_no_zeros(char* buffer, T v) +append8_no_zeros(char* buffer, T v) noexcept { if (v < 10000) { @@ -99,7 +99,7 @@ } char* -__u32toa(uint32_t value, char* buffer) +__u32toa(uint32_t value, char* buffer) _NOEXCEPT { if (value < 100000000) { @@ -120,7 +120,7 @@ } char* -__u64toa(uint64_t value, char* buffer) +__u64toa(uint64_t value, char* buffer) _NOEXCEPT { if (value < 100000000) {