You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2007/10/19 02:36:16 UTC

svn commit: r586193 - /incubator/stdcxx/branches/4.2.0/src/limits_bits.cpp

Author: sebor
Date: Thu Oct 18 17:36:15 2007
New Revision: 586193

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

	STDCXX-509
	* 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 with prior releases.

Modified:
    incubator/stdcxx/branches/4.2.0/src/limits_bits.cpp

Modified: incubator/stdcxx/branches/4.2.0/src/limits_bits.cpp
URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/src/limits_bits.cpp?rev=586193&r1=586192&r2=586193&view=diff
==============================================================================
--- incubator/stdcxx/branches/4.2.0/src/limits_bits.cpp (original)
+++ incubator/stdcxx/branches/4.2.0/src/limits_bits.cpp Thu Oct 18 17:36:15 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)