X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8143581bdc72f81a5fb363b2e5dc58e4dd32786a..0a9ca9c424df2eadaf6710efd4d288e57456f6cc:/include/wx/afterstd.h

diff --git a/include/wx/afterstd.h b/include/wx/afterstd.h
index ecb2c3c88e..d57412d7e2 100644
--- a/include/wx/afterstd.h
+++ b/include/wx/afterstd.h
@@ -13,18 +13,29 @@
     See the comments in beforestd.h.
  */
 
-#if defined(__WXMSW__) && defined(__MINGW32__)
+#if defined(__WXMSW__)
     #include "wx/msw/winundef.h"
 #endif
-// VC 7.x isn't as bad as VC6 and doesn't give these warnings
-#if defined(__VISUALC__) && __VISUALC__ <= 1200
+
+// 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)
 
+        // 'identifier' : unreferenced formal parameter
+        #pragma warning(default:4100)
+
         // 'conversion' : conversion from 'type1' to 'type2',
         // possible loss of data
         #pragma warning(default:4244)
@@ -35,3 +46,7 @@
     #endif
 #endif
 
+// see beforestd.h for explanation
+#if defined(HAVE_VISIBILITY) && defined(HAVE_BROKEN_LIBSTDCXX_VISIBILITY)
+    #pragma GCC visibility pop
+#endif