Author: sebor
Date: Wed Apr 23 13:04:15 2008
New Revision: 651034
URL: http://svn.apache.org/viewvc?rev=651034&view=rev
Log:
2008-04-23 Martin Sebor <[EMAIL PROTECTED]>
Merged revs 650902 and 650933 from trunk.
* src/num_put.cpp (__rw_isqnan, __rw_issnan, __rw_fmat_infinite):
Silence HP aCC remark #2826-D: parameter was never referenced.
2008-04-23 Farid Zaripov <[EMAIL PROTECTED]>
STDCXX-880
* src/num_put.cpp: Added simple overloads of the __rw_isfinite(),
__rw_signbit(), __rw_isinf(), __rw_isnan(), __rw_isqnan(), __rw_issnan()
for float and long double types.
2008-04-23 Farid Zaripov <[EMAIL PROTECTED]>
STDCXX-880
* src/num_put.cpp [_RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE]: Call double
type overload from long double type overload when sizeof (double) ==
sizeof (long double).
Modified:
stdcxx/branches/4.2.x/src/num_put.cpp
Modified: stdcxx/branches/4.2.x/src/num_put.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/num_put.cpp?rev=651034&r1=651033&r2=651034&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/num_put.cpp (original)
+++ stdcxx/branches/4.2.x/src/num_put.cpp Wed Apr 23 13:04:15 2008
@@ -160,9 +160,9 @@
inline bool __rw_isnan (double val) { return !!isnan (val); }
-inline bool __rw_isqnan (double val) { return false; }
+inline bool __rw_isqnan (double) { return false; }
-inline bool __rw_issnan (double val) { return false; }
+inline bool __rw_issnan (double) { return false; }
#else
@@ -181,11 +181,61 @@
#endif
+inline bool __rw_isfinite (float) { return true; }
+
+inline bool __rw_signbit (float) { return false; }
+
+inline bool __rw_isinf (float) { return false; }
+
+inline bool __rw_isnan (float) { return false; }
+
+inline bool __rw_isqnan (float) { return false; }
+
+inline bool __rw_issnan (float) { return false; }
+
+
+#ifndef _RWSTD_NO_LONG_DOUBLE
+
+# if _RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE
+
+inline bool __rw_isfinite (long double x) { return __rw_isfinite (double (x));
}
+
+inline bool __rw_signbit (long double x) { return __rw_signbit (double (x)); }
+
+inline bool __rw_isinf (long double x) { return __rw_isinf (double (x)); }
+
+inline bool __rw_isnan (long double x) { return __rw_isnan (double (x)); }
+
+inline bool __rw_isqnan (long double x) { return __rw_isqnan (double (x)); }
+
+inline bool __rw_issnan (long double x) { return __rw_issnan (double (x)); }
+
+# else // _RWSTD_DBL_SIZE != _RWSTD_LDBL_SIZE
+
+inline bool __rw_isfinite (long double) { return true; }
+
+inline bool __rw_signbit (long double) { return false; }
+
+inline bool __rw_isinf (long double) { return false; }
+
+inline bool __rw_isnan (long double) { return false; }
+
+inline bool __rw_isqnan (long double) { return false; }
+
+inline bool __rw_issnan (long double) { return false; }
+
+# endif // _RWSTD_DBL_SIZE == _RWSTD_LDBL_SIZE
+
+#endif // _RWSTD_NO_LONG_DOUBLE
+
+
static int
__rw_fmat_infinite (char *buf, size_t bufsize, double val, unsigned flags)
{
_RWSTD_ASSERT (!__rw_isfinite (val));
_RWSTD_ASSERT (5 <= bufsize);
+
+ _RWSTD_UNUSED (bufsize);
char* end = buf;
const bool cap = !!(flags & _RWSTD_IOS_UPPERCASE);