From 5303f3a48f33df907225aee6c144e4f3a1a35c7b Mon Sep 17 00:00:00 2001 From: Paul Pluzhnikov Date: Mon, 23 Sep 2013 08:29:14 -0700 Subject: [PATCH] Unbreak i386 and other builds where size_t != unsigned long. 2013-09-23 Paul Pluzhnikov * src/c++11/snprintf_lite.cc (__concat_size_t): Use only std::__int_to_char() From-SVN: r202832 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/src/c++11/snprintf_lite.cc | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 069bd405123..ab960e7ffeb 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2013-09-23 Paul Pluzhnikov + + * src/c++11/snprintf_lite.cc (__concat_size_t): Use only + std::__int_to_char() + 2013-09-21 Paul Pluzhnikov * include/bits/functexcept.h (__throw_out_of_range_fmt): New. diff --git a/libstdc++-v3/src/c++11/snprintf_lite.cc b/libstdc++-v3/src/c++11/snprintf_lite.cc index 9509c4210f9..02a818744cb 100644 --- a/libstdc++-v3/src/c++11/snprintf_lite.cc +++ b/libstdc++-v3/src/c++11/snprintf_lite.cc @@ -70,9 +70,10 @@ namespace __gnu_cxx { int __concat_size_t(char *__buf, size_t __bufsize, size_t __val) { // Long enough for decimal representation. - int __ilen = 3 * sizeof(__val); + unsigned long long __val_ull = __val; + int __ilen = 3 * sizeof(__val_ull); char *__cs = static_cast(__builtin_alloca(__ilen)); - size_t __len = std::__int_to_char(__cs + __ilen, __val, + size_t __len = std::__int_to_char(__cs + __ilen, __val_ull, std::__num_base::_S_atoms_out, std::ios_base::dec, true); if (__bufsize < __len) -- 2.30.2