stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From se...@apache.org
Subject svn commit: r586197 - /incubator/stdcxx/trunk/src/limits_bits.cpp
Date Fri, 19 Oct 2007 00:38:54 GMT
Author: sebor
Date: Thu Oct 18 17:38:53 2007
New Revision: 586197

URL: http://svn.apache.org/viewvc?rev=586197&view=rev
Log:
2007-10-18  Farid Zaripov  <farid_zaripov@epam.com>

	Merged rev 586193 with a binary compatible fix for STDCXX-509
	for Microsoft Visual Studio (and Intel C++) on Windows.
	* limits_bits.cpp [_RWSTD_VER_MAJOR < 5 && _MSC_VER && _DLL]
	(__rw_flt_denorm_min_vc, __rw_flt_infinity_vc, __rw_flt_qNaN_vc,
	__rw_flt_sNaN_vc, __rw_dbl_denorm_min_vc, __rw_dbl_infinity_vc,
	__rw_dbl_qNaN_vc, __rw_dbl_sNaN_vc, __rw_ldbl_denorm_min_vc,
	__rw_ldbl_infinity_vc, __rw_ldbl_qNaN_vc, __rw_ldbl_sNaN_vc):
	New constants exported as the corresponding floating constants
	with the same mangled names as those from 4.1.3 (sans the _vc
	suffix) for the binary compatibility.

Modified:
    incubator/stdcxx/trunk/src/limits_bits.cpp

Modified: incubator/stdcxx/trunk/src/limits_bits.cpp
URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/src/limits_bits.cpp?rev=586197&r1=586196&r2=586197&view=diff
==============================================================================
--- incubator/stdcxx/trunk/src/limits_bits.cpp (original)
+++ incubator/stdcxx/trunk/src/limits_bits.cpp Thu Oct 18 17:38:53 2007
@@ -157,6 +157,74 @@
 }   // extern "C"/"C++"
 
 
+#  if _RWSTD_VER_MAJOR < 5 && defined (_MSC_VER) && defined (_DLL)
+
+// The constants below are defined with C++ linkage
+// to be exported as floating constants with mangled
+// names for binary compatibility with stdcxx 4.1.x
+
+extern const _FltBits
+__rw_flt_infinity_vc = { _RWSTD_FLT_INF_BITS };
+
+extern const _FltBits
+__rw_flt_qNaN_vc = { _RWSTD_FLT_QNAN_BITS };
+
+extern const _FltBits
+__rw_flt_sNaN_vc = { _RWSTD_FLT_SNAN_BITS };
+
+extern const _FltBits
+__rw_flt_denorm_min_vc = { _RWSTD_FLT_DENORM_MIN_BITS };
+
+
+extern const _DblBits
+__rw_dbl_infinity_vc = { _RWSTD_DBL_INF_BITS };
+
+extern const _DblBits
+__rw_dbl_qNaN_vc = { _RWSTD_DBL_QNAN_BITS };
+
+extern const _DblBits
+__rw_dbl_sNaN_vc = { _RWSTD_DBL_SNAN_BITS };
+
+extern const _DblBits
+__rw_dbl_denorm_min_vc = { _RWSTD_DBL_DENORM_MIN_BITS };
+
+
+#    ifndef _RWSTD_NO_LONG_DOUBLE
+
+extern const _LDblBits
+__rw_ldbl_infinity_vc = { _RWSTD_LDBL_INF_BITS };
+
+extern const _LDblBits
+__rw_ldbl_qNaN_vc = { _RWSTD_LDBL_QNAN_BITS };
+
+extern const _LDblBits
+__rw_ldbl_sNaN_vc = { _RWSTD_LDBL_SNAN_BITS };
+
+extern const _LDblBits
+__rw_ldbl_denorm_min_vc = { _RWSTD_LDBL_DENORM_MIN_BITS };
+
+#    endif   // _RWSTD_NO_LONG_DOUBLE
+
+
+#    pragma comment (linker, "/EXPORT:?__rw_flt_infinity@__rw@@3MB=?__rw_flt_infinity_vc@__rw@@3T_FltBits@1@B,DATA")
+#    pragma comment (linker, "/EXPORT:?__rw_flt_qNaN@__rw@@3MB=?__rw_flt_qNaN_vc@__rw@@3T_FltBits@1@B,DATA")
+#    pragma comment (linker, "/EXPORT:?__rw_flt_sNaN@__rw@@3MB=?__rw_flt_sNaN_vc@__rw@@3T_FltBits@1@B,DATA")
+#    pragma comment (linker, "/EXPORT:?__rw_flt_denorm_min@__rw@@3MB=?__rw_flt_denorm_min_vc@__rw@@3T_FltBits@1@B,DATA")
+
+#    pragma comment (linker, "/EXPORT:?__rw_dbl_infinity@__rw@@3NB=?__rw_dbl_infinity_vc@__rw@@3T_DblBits@1@B,DATA")
+#    pragma comment (linker, "/EXPORT:?__rw_dbl_qNaN@__rw@@3NB=?__rw_dbl_qNaN_vc@__rw@@3T_DblBits@1@B,DATA")
+#    pragma comment (linker, "/EXPORT:?__rw_dbl_sNaN@__rw@@3NB=?__rw_dbl_sNaN_vc@__rw@@3T_DblBits@1@B,DATA")
+#    pragma comment (linker, "/EXPORT:?__rw_dbl_denorm_min@__rw@@3NB=?__rw_dbl_denorm_min_vc@__rw@@3T_DblBits@1@B,DATA")
+
+#    ifndef _RWSTD_NO_LONG_DOUBLE
+#      pragma comment (linker, "/EXPORT:?__rw_ldbl_infinity@__rw@@3OB=?__rw_ldbl_infinity_vc@__rw@@3T_LDblBits@1@B,DATA")
+#      pragma comment (linker, "/EXPORT:?__rw_ldbl_qNaN@__rw@@3OB=?__rw_ldbl_qNaN_vc@__rw@@3T_LDblBits@1@B,DATA")
+#      pragma comment (linker, "/EXPORT:?__rw_ldbl_sNaN@__rw@@3OB=?__rw_ldbl_sNaN_vc@__rw@@3T_LDblBits@1@B,DATA")
+#      pragma comment (linker, "/EXPORT:?__rw_ldbl_denorm_min@__rw@@3OB=?__rw_ldbl_denorm_min_vc@__rw@@3T_LDblBits@1@B,DATA")
+#    endif   // _RWSTD_NO_LONG_DOUBLE
+
+#endif   // _RWSTD_VER_MAJOR < 5 && _MSC_VER && _DLL
+
 #else   // if defined (_RWSTD_NO_INFINITY)
 
 



Mime
View raw message