[EMAIL PROTECTED] wrote:
Author: faridz
Date: Mon Jun  9 10:41:35 2008
New Revision: 665796

URL: http://svn.apache.org/viewvc?rev=665796&view=rev
Log:
2008-06-09  Farid Zaripov  <[EMAIL PROTECTED]>

        * src/num_put.cpp [__INTEL_COMPILER && _WIN64] (__rw_put_num): Disable 
icc warning
        "conversion may lose significant bits".
        * src/once.h [_RWSTD_MSVC] (__rw_once): Add exception specification to 
avoid MSVC
        warning "function assumed not to throw an exception but does".
        * src/once.cpp [_RWSTD_MSVC] (__rw_once): Ditto.

Modified:
    stdcxx/branches/4.2.x/src/num_put.cpp
    stdcxx/branches/4.2.x/src/once.cpp
    stdcxx/branches/4.2.x/src/once.h

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=665796&r1=665795&r2=665796&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/num_put.cpp (original)
+++ stdcxx/branches/4.2.x/src/num_put.cpp Mon Jun  9 10:41:35 2008
@@ -802,7 +802,13 @@
     case __rw_facet::_C_short:
     case __rw_facet::_C_int:
     case __rw_facet::_C_long:
+#if defined (__INTEL_COMPILER) && defined (_WIN64)

I'd like to see a comment here explaining what's being silenced
and why, as was done for example, in this change (ditto for all
other occurrences of the #pragma):
http://svn.apache.org/viewvc?view=rev&revision=658425

+#  pragma warning (disable: 810)
+#endif
         len = __rw_itoa (buf, _RWSTD_REINTERPRET_CAST (long, pval), flags);
+#if defined (__INTEL_COMPILER) && defined (_WIN64)
+#  pragma warning (default: 810)
+#endif
         break;
case __rw_facet::_C_ushort:
@@ -813,8 +819,14 @@
         // sign is only used in signed conversions; 7.19 6.1, p6
         // of C99: The result of a signed conversion always begins
         // with a plus or minus sign.)
+#if defined (__INTEL_COMPILER) && defined (_WIN64)
+#  pragma warning (disable: 810)
+#endif
         len = __rw_itoa (buf, _RWSTD_REINTERPRET_CAST (unsigned long, pval),
                          flags & ~_RWSTD_IOS_SHOWPOS);
+#if defined (__INTEL_COMPILER) && defined (_WIN64)
+#  pragma warning (default: 810)
+#endif
         break;
#ifdef _RWSTD_LONG_LONG

Modified: stdcxx/branches/4.2.x/src/once.cpp
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/once.cpp?rev=665796&r1=665795&r2=665796&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/once.cpp (original)
+++ stdcxx/branches/4.2.x/src/once.cpp Mon Jun  9 10:41:35 2008
@@ -111,8 +111,13 @@
// implementation that uses atomic operations
+#ifndef _RWSTD_MSVC
 _RWSTD_EXPORT int
 __rw_once (__rw_once_t *once, void (*func)())
+#else
+_RWSTD_EXPORT int
+__rw_once (__rw_once_t *once, void (*func)() throw (...)) throw (...)
+#endif
 {
     _RWSTD_ASSERT (0 != once && 0 != func);
Modified: stdcxx/branches/4.2.x/src/once.h
URL: 
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/once.h?rev=665796&r1=665795&r2=665796&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/once.h (original)
+++ stdcxx/branches/4.2.x/src/once.h Mon Jun  9 10:41:35 2008
@@ -133,9 +133,18 @@
extern "C" { +#ifndef _RWSTD_MSVC
+
 _RWSTD_EXPORT int
 __rw_once (__rw_once_t*, void (*)());
+#else

I'd also like to see a comment explaining the declaration below
so that readers don't need to look it up.

Thanks
Martin

+
+_RWSTD_EXPORT int
+__rw_once (__rw_once_t*, void (*)() throw (...)) throw (...);
+
+#endif
+
 }   // extern "C"


Reply via email to