X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e58989615283771efcaa9e798568772ef5fcfb0c..b04093c949b167780465008be80b273b25c28e3a:/include/wx/beforestd.h?ds=sidebyside

diff --git a/include/wx/beforestd.h b/include/wx/beforestd.h
index 89e8f7f6e1..4c79e2660e 100644
--- a/include/wx/beforestd.h
+++ b/include/wx/beforestd.h
@@ -20,24 +20,19 @@
     it can be included several times.
  */
 
-#ifdef _MSC_VER
-    // these warning have to be disabled and not just temporarily disabled
-    // because they will be given at the end of the compilation of the current
-    // source -- and there is absolutely nothing we can do about them
-
-    // 'foo': unreferenced inline function has been removed
-    #pragma warning(disable:4514)
-
-    // 'function' : function not inlined
-    #pragma warning(disable:4710)
+// VC 7.x isn't as bad as VC6 and doesn't give these warnings
+#if defined(__VISUALC__) && __VISUALC__ <= 1200
+    // MSVC 5 does not have this
+    #if __VISUALC__ > 1100
+        // we have to disable (and reenable in afterstd.h) this one because,
+        // even though it is of level 4, it is not disabled by warning(push, 1)
+        // below for VC7.1!
 
-    // 'id': identifier was truncated to 'num' characters in the debug info
-    #pragma warning(disable:4786)
+        // unreachable code
+        #pragma warning(disable:4702)
 
-    // MSVC 5 does not have this
-    #if _MSC_VER > 1100
         #pragma warning(push, 1)
-    #else
+    #else // VC 5
         // 'expression' : signed/unsigned mismatch
         #pragma warning(disable:4018)
 
@@ -49,4 +44,18 @@
         // 'identifier' use the following syntax
         #pragma warning(disable:4663)
     #endif
-#endif
+
+    // these warning have to be disabled and not just temporarily disabled
+    // because they will be given at the end of the compilation of the
+    // current source and there is absolutely nothing we can do about them
+
+    // 'foo': unreferenced inline function has been removed
+    #pragma warning(disable:4514)
+
+    // 'function' : function not inlined
+    #pragma warning(disable:4710)
+
+    // 'id': identifier was truncated to 'num' characters in the debug info
+    #pragma warning(disable:4786)
+#endif // VC++ < 7
+