I'm fixing 64-bit conversion warnings per STDCXX-550. One change I've
made is to src/num_put.cpp. Thought it would be a good idea to get
another set of eyes on it since it's a change to library source:
Index: src/num_put.cpp
===================================================================
--- src/num_put.cpp (revision 657873)
+++ src/num_put.cpp (working copy)
@@ -122,7 +122,7 @@
inline bool __rw_signbit (double val)
{
// implement own signbit() to avoid dragging in libm or libsunmath
- return _RWSTD_REINTERPRET_CAST (const _RWSTD_UINT64_T&, val) >> 63;
+ return bool (_RWSTD_REINTERPRET_CAST (_RWSTD_UINT64_T&, val) >>
63);
}
inline bool __rw_isinf (double val) {
@@ -622,7 +622,7 @@
j = 0;
do {
- const unsigned dig = (i >> (j * bits)) & basemask;
+ const unsigned dig = unsigned ((i >> (j * bits)) & basemask);
_RWSTD_ASSERT (dig <= basemask);
I think the explicit bool cast should be fine since most compilers will
do it anyway. Same with the explicit unsigned cast. Or should I use
_RWSTD_STATIC_CAST?
Brad.