| boost: fix ambiguous format call on 64-bit builds |
| |
| Fixes problem: |
| |
| libs/locale/src/icu/formatter.cpp: In member function |
| 'virtual std::basic_string<_CharT, std::char_traits<_CharT>, std::allocator<_CharT> > boost::locale::impl_icu::number_format<CharType>::format(boost::int64_t, size_t&) const': |
| libs/locale/src/icu/formatter.cpp:61: error: call of overloaded 'format(boost::int64_t&, icu_49::UnicodeString&)' is ambiguous |
| /ec/include/unicode/numfmt.h:317: note: candidates are: icu_49::UnicodeString& icu_49::NumberFormat::format(double, icu_49::UnicodeString&) const |
| /ec/include/unicode/numfmt.h:330: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int32_t, icu_49::UnicodeString&) const |
| /ec/include/unicode/numfmt.h:343: note: icu_49::UnicodeString& icu_49::NumberFormat::format(int64_t, icu_49::UnicodeString&) const |
| |
| Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> |
| Backported-from: https://svn.boost.org/trac/boost/ticket/6851 |
| |
| |
| diff -ruN boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp boost_1_49_0/libs/locale/src/icu/formatter.cpp |
| --- boost_1_49_0.orig/libs/locale/src/icu/formatter.cpp 2011-07-12 14:57:36.000000000 +0100 |
| +++ boost_1_49_0/libs/locale/src/icu/formatter.cpp 2012-05-01 14:27:54.000000000 +0100 |
| @@ -58,7 +58,7 @@ |
| virtual string_type format(int64_t value,size_t &code_points) const |
| { |
| icu::UnicodeString tmp; |
| - icu_fmt_->format(value,tmp); |
| + icu_fmt_->format(::int64_t(value),tmp); |
| code_points=tmp.countChar32(); |
| return cvt_.std(tmp); |
| } |