#if defined(__VISUALC__) && __VISUALC__ <= 1201
// MSVC 5 does not have this
#if _MSC_VER > 1100
- // don't restore this one for VC6, it gives it in each try/catch which is a
- // bit annoying to say the least
- #if _MSC_VER >= 0x1300
- // unreachable code
- #pragma warning(default:4702)
- #endif // VC++ >= 7
-
#pragma warning(pop)
#else
// 'expression' : signed/unsigned mismatch
// VC6 produces a warning if we a macro expanding to nothing to
// DECLARE_LOG_FUNCTION2:
#if defined(__VISUALC__) && __VISUALC__ < 1300
+ #pragma warning(push)
// "not enough actual parameters for macro 'DECLARE_LOG_FUNCTION2_EXP'"
#pragma warning(disable:4003)
#endif
#endif // wxUSE_LOG_TRACE/!wxUSE_LOG_TRACE
#if defined(__VISUALC__) && __VISUALC__ < 1300
- #pragma warning(default:4003)
+ #pragma warning(pop)
#endif
// wxLogFatalError helper: show the (fatal) error to the user in a safe way,
{ return wxStdString(c_str(), length()); }
#endif
+#if defined(__VISUALC__) && (__VISUALC__ >= 1200)
+ // disable warning about Unlock() below not being inlined (first, it
+ // seems to be inlined nevertheless and second, even if it isn't, there
+ // is nothing we can do about this
+ #pragma warning(push)
+ #pragma warning (disable:4714)
+#endif
// dtor is not virtual, this class must not be inherited from!
~wxStringImpl()
{
-#if defined(__VISUALC__) && (__VISUALC__ >= 1200)
- //RN - according to the above VC++ does indeed inline this,
- //even though it spits out two warnings
- #pragma warning (disable:4714)
-#endif
-
GetStringData()->Unlock();
}
#if defined(__VISUALC__) && (__VISUALC__ >= 1200)
- //re-enable inlining warning
- #pragma warning (default:4714)
+ #pragma warning(pop)
#endif
+
// overloaded assignment
// from another wxString
wxStringImpl& operator=(const wxStringImpl& stringSrc);