diff --git a/CommandLineArguments.cxx b/CommandLineArguments.cxx
index 06fb377b2425bbb09c748bf8a7eec316538ae1bc..fc99ac5f30358854e8805aec1396bb504ba4dd06 100644
--- a/CommandLineArguments.cxx
+++ b/CommandLineArguments.cxx
@@ -40,6 +40,10 @@
 # pragma warning (disable: 4786)
 #endif
 
+#if defined(__sgi) && !defined(__GNUC__)
+# pragma set woff 1375 /* base class destructor not virtual */
+#endif
+
 namespace KWSYS_NAMESPACE
 {
 
diff --git a/SystemTools.cxx b/SystemTools.cxx
index 44ff8cd5819a6a377b434f49df999f9837754a19..2f0aac9fbf43448b64574bb483400a24171cce16 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -33,6 +33,9 @@
 # pragma warning (disable: 4786)
 #endif
 
+#if defined(__sgi) && !defined(__GNUC__)
+# pragma set woff 1375 /* base class destructor not virtual */
+#endif
 
 #include <ctype.h>
 #include <errno.h>
diff --git a/testhash.cxx b/testhash.cxx
index 6665150325c21f0a926dfef475caada7aac46182..8c303664bfb1d634bad315e70816ed0997b492e4 100644
--- a/testhash.cxx
+++ b/testhash.cxx
@@ -29,6 +29,10 @@
 # pragma warning (disable:4786)
 #endif
 
+#if defined(__sgi) && !defined(__GNUC__)
+# pragma set woff 1468 /* inline function cannot be explicitly instantiated */
+#endif
+
 template class kwsys::hash_map<const char*, int>;
 template class kwsys::hash_set<int>;