X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/335991afa513fee73e1def9824fa2d547686f659..46ae103b9f08fc4e447d16a6a92b03cf55ee3189:/include/wx/afterstd.h

diff --git a/include/wx/afterstd.h b/include/wx/afterstd.h
index a840f06f81..5d3858cae8 100644
--- a/include/wx/afterstd.h
+++ b/include/wx/afterstd.h
@@ -13,10 +13,33 @@
     See the comments in beforestd.h.
  */
 
-#if defined(__WXMSW__) && defined(__MINGW32__)
+#if defined(__WXMSW__)
     #include "wx/msw/winundef.h"
 #endif
-#ifdef _MSC_VER
-#   pragma warning(pop)
+
+// undo what we did in wx/beforestd.h
+#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
+        #pragma warning(default:4018)
+
+        // 'conversion' : conversion from 'type1' to 'type2',
+        // possible loss of data
+        #pragma warning(default:4244)
+
+        // C++ language change: to explicitly specialize class template
+        // 'identifier' use the following syntax
+        #pragma warning(default:4663)
+    #endif
 #endif