* include/rw/_config-msvcrt.h: Move MSVC-specific #pragma from here...
* include/rw/_config-msvc.h: ... to here.
* include/rw/_defs.h: Use dllimport/dllexport attributes on MSVC and
ICC/Windows only.
* tests/include/rw_testdefs.h: Ditto.
* include/complex: Avoid disabling MSVC-specific warnings on
ICC/Windows.
* include/string.cc: Ditto.
* include/valarray: Ditto.
* src/file.cpp: Ditto.
* src/iostream.cpp: Ditto.
* src/num_get.cpp: Ditto.
* src/punct.cpp: Ditto.
* src/ti_filebuf.cpp: Ditto.
* src/ti_stringbuf.cpp: Ditto.
* src/ti_wfilebuf.cpp: Ditto.
* src/ti_wstringbuf.cpp: Ditto.
* src/time_put.cpp: Ditto.
Modified:
stdcxx/branches/4.2.x/include/complex
stdcxx/branches/4.2.x/include/rw/_config-msvc.h
stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h
stdcxx/branches/4.2.x/include/rw/_defs.h
stdcxx/branches/4.2.x/include/string.cc
stdcxx/branches/4.2.x/include/valarray
stdcxx/branches/4.2.x/src/file.cpp
stdcxx/branches/4.2.x/src/iostream.cpp
stdcxx/branches/4.2.x/src/num_get.cpp
stdcxx/branches/4.2.x/src/punct.cpp
stdcxx/branches/4.2.x/src/ti_filebuf.cpp
stdcxx/branches/4.2.x/src/ti_stringbuf.cpp
stdcxx/branches/4.2.x/src/ti_wfilebuf.cpp
stdcxx/branches/4.2.x/src/ti_wstringbuf.cpp
stdcxx/branches/4.2.x/src/time_put.cpp
stdcxx/branches/4.2.x/tests/include/rw_testdefs.h
Modified: stdcxx/branches/4.2.x/include/complex
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/complex?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/include/complex (original)
+++ stdcxx/branches/4.2.x/include/complex Mon Jun 9 10:13:13 2008
@@ -38,13 +38,13 @@
#include _RWSTD_CMATH
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
# pragma warning (push)
// disable conversion from 'double' to 'float', possible loss of data
// until a conforming <cmath> header with float and long double overloads
// for the C functions is provided
# pragma warning (disable: 4244)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
_RWSTD_NAMESPACE (std) {
@@ -854,9 +854,9 @@
} // namespace std
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
# pragma warning (pop)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
#if _RWSTD_DEFINE_TEMPLATE (_COMPLEX)
Modified: stdcxx/branches/4.2.x/include/rw/_config-msvc.h
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/rw/_config-msvc.h?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/include/rw/_config-msvc.h (original)
+++ stdcxx/branches/4.2.x/include/rw/_config-msvc.h Mon Jun 9 10:13:13 2008
@@ -73,6 +73,10 @@
// disable "decorated name length exceeded"
#pragma warning (disable: 4503)
+// convert warning "'identifier' used on polymorphic type 'type' with /GR-;"
+// "unpredictable behavior may result" to error
+#pragma warning (error: 4541)
+
// disable "'identifier' : no suitable definition"
// "provided for explicit template instantiation request"
#pragma warning (disable: 4661)
Modified: stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h (original)
+++ stdcxx/branches/4.2.x/include/rw/_config-msvcrt.h Mon Jun 9 10:13:13 2008
@@ -132,7 +132,6 @@
# define _RWSTD_NO_DYNAMIC_CAST
#endif // _CPPRTTI
-#pragma warning (error: 4541)
#ifndef _NATIVE_WCHAR_T_DEFINED
// define wchar_t if it is not a keyword recognized by the compiler
// (use the /Zc:wchar_t compiler option to enable wchar_t as a keyword)
Modified: stdcxx/branches/4.2.x/include/rw/_defs.h
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/rw/_defs.h?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/include/rw/_defs.h (original)
+++ stdcxx/branches/4.2.x/include/rw/_defs.h Mon Jun 9 10:13:13 2008
@@ -466,11 +466,11 @@
_RW::__rw_new_capacity<T>(from, what)
#endif // HP aCC
-// set up Win32/64 DLL export/import directives
+// set up MSVC DLL export/import directives
// _DLL - defined by the compiler when either -MD or -MDd is used
// RWDLL - defined for all Rogue Wave(R) products built as shared libs
// _RWSHARED - defined for libstd built/used as a shared lib
-#if defined (_WIN32) && (defined (RWDLL) || defined (_RWSHARED))
+#if defined (_MSC_VER) && (defined (RWDLL) || defined (_RWSHARED))
# ifdef _RWSTD_LIB_SRC
# define _RWSTD_EXPORT __declspec (dllexport)
@@ -481,11 +481,11 @@
# define _RWSTD_CLASS_EXPORT _RWSTD_EXPORT
# define _RWSTD_MEMBER_EXPORT /* empty */
#else
- // disable Windows hacks
+ // disable MSVC hacks
# define _RWSTD_EXPORT /* empty */
# define _RWSTD_CLASS_EXPORT /* empty */
# define _RWSTD_MEMBER_EXPORT /* empty */
-#endif // _WIN32
+#endif // _MSC_VER
#ifdef _RWSTD_NO_BOOL
# define bool int
Modified: stdcxx/branches/4.2.x/include/string.cc
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/string.cc?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/include/string.cc (original)
+++ stdcxx/branches/4.2.x/include/string.cc Mon Jun 9 10:13:13 2008
@@ -26,13 +26,13 @@
*
**************************************************************************/
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
// shut up the dumb MSVC warning C4345:
// behavior change: an object with POD type constructed with
// an initializer of the form () will be default-initialized
# pragma warning (push)
# pragma warning (disable: 4345)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
_RWSTD_NAMESPACE (std) {
@@ -921,6 +921,6 @@
} // namespace std
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
# pragma warning (pop)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
Modified: stdcxx/branches/4.2.x/include/valarray
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/valarray?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/include/valarray (original)
+++ stdcxx/branches/4.2.x/include/valarray Mon Jun 9 10:13:13 2008
@@ -39,13 +39,13 @@
#include _RWSTD_CMATH
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
# pragma warning (push)
// disable conversion from 'double' to 'float', possible loss of data
// until a conforming <cmath> header with float and long double overloads
// for the C functions is provided
# pragma warning (disable: 4244)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
_RWSTD_NAMESPACE (std) {
@@ -2382,9 +2382,9 @@
#endif
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
# pragma warning (pop)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
#endif // _RWSTD_VALARRAY_INCLUDED
Modified: stdcxx/branches/4.2.x/src/file.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/file.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/file.cpp (original)
+++ stdcxx/branches/4.2.x/src/file.cpp Mon Jun 9 10:13:13 2008
@@ -62,11 +62,11 @@
#include <rw/_defs.h>
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
// shut up the braindead warning C4146: unary minus operator
// applied to unsigned type, result still unsigned
# pragma warning (disable: 4146)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
#if defined (_RWSTD_NO_MKSTEMP) && !defined (_RWSTD_NO_MKSTEMP_IN_LIBC) \
@@ -472,7 +472,7 @@
}
-#ifdef _WIN64
+#if defined (_RWSTD_MSVC) && defined (_WIN64)
// disable MSVC warning: conversion from '__int64' to 'long', possible loss of
data
#pragma warning (disable: 4244)
#endif
@@ -525,7 +525,7 @@
return write (fd, buf, size);
}
-#ifdef _WIN64
+#if defined (_RWSTD_MSVC) && defined (_WIN64)
// restore MSVC warning: conversion from '__int64' to 'long', possible loss of
data
#pragma warning (default: 4244)
#endif
Modified: stdcxx/branches/4.2.x/src/iostream.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/iostream.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/iostream.cpp (original)
+++ stdcxx/branches/4.2.x/src/iostream.cpp Mon Jun 9 10:13:13 2008
@@ -73,7 +73,9 @@
// force early intitalization of Standard Iostream Objects
// gives warning C4073: initializers put in library initialization
// area; disable it
-# pragma warning (disable: 4073)
+# ifdef _RWSTD_MSVC
+# pragma warning (disable: 4073)
+# endif
# pragma init_seg (lib)
#endif // _MSC_VER
Modified: stdcxx/branches/4.2.x/src/num_get.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/num_get.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/num_get.cpp (original)
+++ stdcxx/branches/4.2.x/src/num_get.cpp Mon Jun 9 10:13:13 2008
@@ -72,11 +72,11 @@
#endif // NO_STRTOLD && !NO_STRTOLD_IN_LIBC
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
// shut up useless MSVC warning: unary minus operator
// applied to unsigned type, result still unsigned
# pragma warning (disable: 4146)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
_RWSTD_NAMESPACE (__rw) {
Modified: stdcxx/branches/4.2.x/src/punct.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/punct.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/punct.cpp (original)
+++ stdcxx/branches/4.2.x/src/punct.cpp Mon Jun 9 10:13:13 2008
@@ -49,7 +49,7 @@
#include "punct.h"
-#if defined (_MSC_VER) && defined (_WIN64)
+#if defined (_RWSTD_MSVC) && defined (_WIN64)
// shut up MSVC/Win64 complaints about possible loss of data
# pragma warning (disable: 4244)
#endif // MSVC/Win64
Modified: stdcxx/branches/4.2.x/src/ti_filebuf.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/ti_filebuf.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/ti_filebuf.cpp (original)
+++ stdcxx/branches/4.2.x/src/ti_filebuf.cpp Mon Jun 9 10:13:13 2008
@@ -37,11 +37,11 @@
#undef _RWSTD_NO_TEMPLATE_DEFINITIONS
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
// shut up the bogus MSVC warning C4661: no suitable definition
// provided for explicit template instantiation request
# pragma warning (disable: 4661)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
// include <cstdio> to define the extended member functions that
// take a FILE* argument
Modified: stdcxx/branches/4.2.x/src/ti_stringbuf.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/ti_stringbuf.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/ti_stringbuf.cpp (original)
+++ stdcxx/branches/4.2.x/src/ti_stringbuf.cpp Mon Jun 9 10:13:13 2008
@@ -37,10 +37,10 @@
#undef _RWSTD_NO_TEMPLATE_DEFINITIONS
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
// shut up the bogus MSVC warning C4661: no suitable definition
// provided for explicit template instantiation request
# pragma warning (disable: 4661)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
#include <sstream>
Modified: stdcxx/branches/4.2.x/src/ti_wfilebuf.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/ti_wfilebuf.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/ti_wfilebuf.cpp (original)
+++ stdcxx/branches/4.2.x/src/ti_wfilebuf.cpp Mon Jun 9 10:13:13 2008
@@ -37,11 +37,11 @@
#undef _RWSTD_NO_TEMPLATE_DEFINITIONS
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
// shut up the bogus MSVC warning C4661: no suitable definition
// provided for explicit template instantiation request
# pragma warning (disable: 4661)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
// include <cstdio> to define the extended member functions that
// take a FILE* argument
Modified: stdcxx/branches/4.2.x/src/ti_wstringbuf.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/ti_wstringbuf.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/ti_wstringbuf.cpp (original)
+++ stdcxx/branches/4.2.x/src/ti_wstringbuf.cpp Mon Jun 9 10:13:13 2008
@@ -37,10 +37,10 @@
#undef _RWSTD_NO_TEMPLATE_DEFINITIONS
-#ifdef _MSC_VER
+#ifdef _RWSTD_MSVC
// shut up the bogus MSVC warning C4661: no suitable definition
// provided for explicit template instantiation request
# pragma warning (disable: 4661)
-#endif // _MSC_VER
+#endif // _RWSTD_MSVC
#include <sstream>
Modified: stdcxx/branches/4.2.x/src/time_put.cpp
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/src/time_put.cpp?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/src/time_put.cpp (original)
+++ stdcxx/branches/4.2.x/src/time_put.cpp Mon Jun 9 10:13:13 2008
@@ -65,7 +65,7 @@
# include <langinfo.h> // for nl_langinfo()
# endif
#else // if defined (_MSC_VER)
-# ifdef _WIN64
+# if defined (_RWSTD_MSVC) && defined (_WIN64)
// shut up MSVC/Win64 complaints about possible loss of data
# pragma warning (disable: 4244)
# endif
Modified: stdcxx/branches/4.2.x/tests/include/rw_testdefs.h
URL:
http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/include/rw_testdefs.h?rev=665784&r1=665783&r2=665784&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/tests/include/rw_testdefs.h (original)
+++ stdcxx/branches/4.2.x/tests/include/rw_testdefs.h Mon Jun 9 10:13:13 2008
@@ -43,7 +43,7 @@
#endif // _RWSTD_TEST_SRC
-#if defined (_WIN32) && (defined (RWDLL) || defined (_RWSHARED))
+#if defined (_MSC_VER) && (defined (RWDLL) || defined (_RWSHARED))
# ifndef _RWSTD_TEST_SRC
// using a shared lib, import names
# define _TEST_EXPORT __declspec (dllimport)