From: Ryan Norton Date: Sun, 14 Dec 2003 04:23:35 +0000 (+0000) Subject: Reneabled inlining, but kept warnings disabled.... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/7b758e8f43b060833c2415d8f2634804ab5024b7 Reneabled inlining, but kept warnings disabled.... git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/string.h b/include/wx/string.h index 3c00f4a892..eed7c84c39 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -216,8 +216,7 @@ struct WXDLLIMPEXP_BASE wxStringData // VC++ will refuse to inline Unlock but profiling shows that it is wrong #if defined(__VISUALC__) && (__VISUALC__ >= 1200) -// RN - VC6 Refuses to inline this anyway and spits out 2 warnings... -// __forceinline + __forceinline #endif // VC++ free must take place in same DLL as allocation when using non dll // run-time library (e.g. Multithreaded instead of Multithreaded DLL) @@ -332,8 +331,21 @@ public: wxStringBase(const void *pStart, const void *pEnd); // dtor is not virtual, this class must not be inherited from! - ~wxStringBase() { GetStringData()->Unlock(); } + ~wxStringBase() + { +#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) +#endif // overloaded assignment // from another wxString wxStringBase& operator=(const wxStringBase& stringSrc);