From 338dd992160bf20205743c092b353d96ef7604fb Mon Sep 17 00:00:00 2001
From: Jouk Jansen <joukj@hrem.nano.tudelft.nl>
Date: Thu, 18 Nov 1999 14:30:10 +0000
Subject: [PATCH]  Committing in .

 Modifications to get rid of warnings on VMS

 Modified Files:
 	wxWindows/include/wx/utils.h wxWindows/src/common/date.cpp
 	wxWindows/src/common/datstrm.cpp
 	wxWindows/src/common/gdicmn.cpp wxWindows/src/common/image.cpp
 	wxWindows/src/common/object.cpp
 	wxWindows/src/common/sckipc.cpp
 	wxWindows/src/common/txtstrm.cpp
 	wxWindows/src/generic/fontdlgg.cpp
 	wxWindows/src/generic/listctrl.cpp
 	wxWindows/src/generic/scrolwin.cpp
 	wxWindows/src/generic/splitter.cpp wxWindows/src/motif/app.cpp
 	wxWindows/src/motif/bitmap.cpp
 	wxWindows/src/motif/bmpbuttn.cpp
 	wxWindows/src/motif/button.cpp
 	wxWindows/src/motif/checkbox.cpp
 	wxWindows/src/motif/choice.cpp wxWindows/src/motif/clipbrd.cpp
 	wxWindows/src/motif/colour.cpp
 	wxWindows/src/motif/combobox.cpp
 	wxWindows/src/motif/control.cpp wxWindows/src/motif/cursor.cpp
 	wxWindows/src/motif/dataobj.cpp
 	wxWindows/src/motif/dcclient.cpp
 	wxWindows/src/motif/dcmemory.cpp
 	wxWindows/src/motif/dcscreen.cpp
 	wxWindows/src/motif/dialog.cpp wxWindows/src/motif/filedlg.cpp
 	wxWindows/src/motif/font.cpp wxWindows/src/motif/frame.cpp
 	wxWindows/src/motif/gauge.cpp wxWindows/src/motif/icon.cpp
 	wxWindows/src/motif/listbox.cpp wxWindows/src/motif/mdi.cpp
 	wxWindows/src/motif/menu.cpp wxWindows/src/motif/menuitem.cpp
 	wxWindows/src/motif/msgdlg.cpp wxWindows/src/motif/palette.cpp
 	wxWindows/src/motif/radiobox.cpp
 	wxWindows/src/motif/radiobut.cpp
 	wxWindows/src/motif/region.cpp
 	wxWindows/src/motif/scrolbar.cpp
 	wxWindows/src/motif/settings.cpp
 	wxWindows/src/motif/slider.cpp wxWindows/src/motif/statbmp.cpp
 	wxWindows/src/motif/statbox.cpp
 	wxWindows/src/motif/stattext.cpp
 	wxWindows/src/motif/textctrl.cpp wxWindows/src/motif/timer.cpp
 	wxWindows/src/motif/toolbar.cpp wxWindows/src/motif/utils.cpp
 	wxWindows/src/motif/window.cpp wxWindows/src/unix/fontutil.cpp
 	wxWindows/src/unix/utilsunx.cpp
 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 include/wx/utils.h       |  7 +++++++
 src/common/date.cpp      |  2 --
 src/common/datstrm.cpp   |  6 ++++--
 src/common/gdicmn.cpp    |  6 ++++++
 src/common/image.cpp     |  7 ++++++-
 src/common/object.cpp    |  1 -
 src/common/sckipc.cpp    |  1 -
 src/common/txtstrm.cpp   |  2 --
 src/generic/fontdlgg.cpp |  3 ---
 src/generic/listctrl.cpp | 10 +++++++++-
 src/generic/scrolwin.cpp |  7 +++++++
 src/generic/splitter.cpp |  2 --
 src/motif/app.cpp        |  6 ++++++
 src/motif/bitmap.cpp     |  6 ++++++
 src/motif/bmpbuttn.cpp   |  6 ++++++
 src/motif/button.cpp     |  6 ++++++
 src/motif/checkbox.cpp   |  6 ++++++
 src/motif/choice.cpp     |  6 ++++++
 src/motif/clipbrd.cpp    |  6 ++++++
 src/motif/colour.cpp     |  6 ++++++
 src/motif/combobox.cpp   |  6 ++++++
 src/motif/control.cpp    |  6 ++++++
 src/motif/cursor.cpp     |  6 ++++++
 src/motif/dataobj.cpp    |  6 ++++++
 src/motif/dcclient.cpp   |  6 ++++++
 src/motif/dcmemory.cpp   |  6 ++++++
 src/motif/dcscreen.cpp   |  6 ++++++
 src/motif/dialog.cpp     |  6 ++++++
 src/motif/filedlg.cpp    |  6 ++++++
 src/motif/font.cpp       |  6 ++++++
 src/motif/frame.cpp      | 14 ++++++++++++++
 src/motif/gauge.cpp      |  6 ++++++
 src/motif/icon.cpp       |  6 ++++++
 src/motif/listbox.cpp    |  6 ++++++
 src/motif/mdi.cpp        |  6 ++++++
 src/motif/menu.cpp       |  6 ++++++
 src/motif/menuitem.cpp   |  6 ++++++
 src/motif/msgdlg.cpp     |  6 ++++++
 src/motif/palette.cpp    |  6 ++++++
 src/motif/radiobox.cpp   | 15 +++++++++++++++
 src/motif/radiobut.cpp   | 15 +++++++++++++++
 src/motif/region.cpp     |  6 ++++++
 src/motif/scrolbar.cpp   |  6 ++++++
 src/motif/settings.cpp   |  1 -
 src/motif/slider.cpp     | 14 ++++++++++++++
 src/motif/statbmp.cpp    |  6 ++++++
 src/motif/statbox.cpp    |  6 ++++++
 src/motif/stattext.cpp   |  6 ++++++
 src/motif/textctrl.cpp   |  6 ++++++
 src/motif/timer.cpp      |  6 ++++++
 src/motif/toolbar.cpp    |  6 ++++++
 src/motif/utils.cpp      | 16 ++++++++++++----
 src/motif/window.cpp     |  6 ++++++
 src/unix/fontutil.cpp    |  8 +++++++-
 src/unix/utilsunx.cpp    |  1 +
 55 files changed, 327 insertions(+), 21 deletions(-)

diff --git a/include/wx/utils.h b/include/wx/utils.h
index 312d644557..48ee355683 100644
--- a/include/wx/utils.h
+++ b/include/wx/utils.h
@@ -354,7 +354,14 @@ WXDLLEXPORT void wxRedirectIOToConsole();
 
 #ifdef __X__
 
+#ifdef __VMS__ // Xlib.h for VMS is not (yet) compatible with C++
+               // The resulting warnings are switched off here
+#pragma message disable nosimpint
+#endif
 #include <X11/Xlib.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #define wxMAX_RGB           0xff
 #define wxMAX_SV            1000
diff --git a/src/common/date.cpp b/src/common/date.cpp
index 5d89d60e25..47a054d20a 100644
--- a/src/common/date.cpp
+++ b/src/common/date.cpp
@@ -414,7 +414,6 @@ wxString wxDate::FormatDate (int type) const
                : (abs(year))  );
             return wxString(buf);
     }
-    return wxString(wxT(""));
 }
 
 void wxDate::SetFormat( int format )
@@ -445,7 +444,6 @@ int wxDate::SetOption( int option, bool action )
         default:
             return 0;
     }
-    return 0;
 }
 
 ///////////////////////////////////////////////////////////////
diff --git a/src/common/datstrm.cpp b/src/common/datstrm.cpp
index befc354784..2ea158faae 100644
--- a/src/common/datstrm.cpp
+++ b/src/common/datstrm.cpp
@@ -214,8 +214,10 @@ void wxDataOutputStream::WriteDouble(double d)
 #if wxUSE_APPLE_IEEE
   ConvertToIeeeExtended(d, (unsigned char *)buf);
 #else
-#  pragma warning "wxDataOutputStream::WriteDouble() not using IeeeExtended - will not work!"
- buf[0] = '\0';
+#ifndef __VMS__
+# pragma warning "wxDataOutputStream::WriteDouble() not using IeeeExtended - will not work!"
+#endif
+   buf[0] = '\0';
 #endif
   m_output->Write(buf, 10);
 }
diff --git a/src/common/gdicmn.cpp b/src/common/gdicmn.cpp
index 106d32a3ef..244d71ae15 100644
--- a/src/common/gdicmn.cpp
+++ b/src/common/gdicmn.cpp
@@ -41,7 +41,13 @@
 #endif
 
 #ifdef __WXMOTIF__
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 #endif
 
 #if !USE_SHARED_LIBRARY
diff --git a/src/common/image.cpp b/src/common/image.cpp
index fa17d43fa0..f4102cea5b 100644
--- a/src/common/image.cpp
+++ b/src/common/image.cpp
@@ -1605,8 +1605,13 @@ wxImage::wxImage( const wxBitmap &bitmap )
 //-----------------------------------------------------------------------------
 
 #ifdef __WXMOTIF__
-
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 #include "wx/utils.h"
 #include <math.h>
 
diff --git a/src/common/object.cpp b/src/common/object.cpp
index de51bf7c62..d70fdbd253 100644
--- a/src/common/object.cpp
+++ b/src/common/object.cpp
@@ -275,7 +275,6 @@ wxObject *wxCreateDynamicObject(const wxChar *name)
         }
         return (wxObject*) NULL;
     }
-    return (wxObject*) NULL;
 }
 
 #if wxUSE_SERIAL
diff --git a/src/common/sckipc.cpp b/src/common/sckipc.cpp
index 9034bc595b..fa5863aa2c 100644
--- a/src/common/sckipc.cpp
+++ b/src/common/sckipc.cpp
@@ -135,7 +135,6 @@ wxConnectionBase *wxTCPClient::MakeConnection (const wxString& host,
     delete client;
     return NULL;
   }
-  return NULL;
 }
 
 wxConnectionBase *wxTCPClient::OnMakeConnection()
diff --git a/src/common/txtstrm.cpp b/src/common/txtstrm.cpp
index 2c628cf3d6..2592c03fe1 100644
--- a/src/common/txtstrm.cpp
+++ b/src/common/txtstrm.cpp
@@ -61,8 +61,6 @@ wxChar wxTextInputStream::NextNonSeparators()
 	  return c;
     }
 
-    // this shouldn't happen
-    return (wxChar) 0;
 }
 
 inline bool wxTextInputStream::EatEOL(const wxChar &c)
diff --git a/src/generic/fontdlgg.cpp b/src/generic/fontdlgg.cpp
index 2257f4bcf1..494e6e104f 100644
--- a/src/generic/fontdlgg.cpp
+++ b/src/generic/fontdlgg.cpp
@@ -371,7 +371,6 @@ wxChar *wxFontWeightIntToString(int weight)
     default:
       return wxT("Normal");
   }
-  return wxT("Normal");
 }
 
 wxChar *wxFontStyleIntToString(int style)
@@ -386,7 +385,6 @@ wxChar *wxFontStyleIntToString(int style)
     default:
       return wxT("Normal");
   }
-  return wxT("Normal");
 }
 
 wxChar *wxFontFamilyIntToString(int family)
@@ -407,7 +405,6 @@ wxChar *wxFontFamilyIntToString(int family)
     default:
       return wxT("Swiss");
   }
-  return wxT("Swiss");
 }
 
 int wxFontFamilyStringToInt(wxChar *family)
diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp
index 03d8c7f610..ead089a205 100644
--- a/src/generic/listctrl.cpp
+++ b/src/generic/listctrl.cpp
@@ -2592,12 +2592,20 @@ bool wxListCtrl::Create( wxWindow *parent, wxWindowID id,
 
     long s = style;
 
-    if ((s & wxLC_REPORT == 0) &&
+#ifdef __VMS__
+#pragma message disable codcauunr
+   // VMS reports on this part the warning:
+   // statement either is unreachable or causes unreachable code
+#endif
+   if ((s & wxLC_REPORT == 0) &&
         (s & wxLC_LIST == 0) &&
         (s & wxLC_ICON == 0))
     {
         s = s | wxLC_LIST;
     }
+#ifdef __VMS__
+#pragma message enable codcauunr
+#endif
 
     bool ret = wxControl::Create( parent, id, pos, size, s, name );
 
diff --git a/src/generic/scrolwin.cpp b/src/generic/scrolwin.cpp
index 56eaf96415..50d44cedd8 100644
--- a/src/generic/scrolwin.cpp
+++ b/src/generic/scrolwin.cpp
@@ -43,7 +43,14 @@ IMPLEMENT_DYNAMIC_CLASS(wxScrolledWindow, wxPanel)
 
 #ifdef __WXMOTIF__
 // For wxRETAINED implementation
+#ifdef __VMS__ //VMS's Xm.h is not (yet) compatible with C++
+               //This code switches off the compiler warnings
+# pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+# pragma message enable nosimpint
+#endif
 #endif
 
 wxScrolledWindow::wxScrolledWindow()
diff --git a/src/generic/splitter.cpp b/src/generic/splitter.cpp
index b2627b53e4..874a63621d 100644
--- a/src/generic/splitter.cpp
+++ b/src/generic/splitter.cpp
@@ -424,8 +424,6 @@ bool wxSplitterWindow::SashHitTest(int x, int y, int tolerance)
         else
             return FALSE;
     }
-
-    return FALSE;
 }
 
 // Draw 3D effect borders
diff --git a/src/motif/app.cpp b/src/motif/app.cpp
index 861f07e4dd..9339363f0f 100644
--- a/src/motif/app.cpp
+++ b/src/motif/app.cpp
@@ -39,11 +39,17 @@
     #include "wx/resource.h"
 #endif
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
 #include <X11/Xresource.h>
 #include <X11/Xatom.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/bitmap.cpp b/src/motif/bitmap.cpp
index 45f0cf6d0f..443000b14b 100644
--- a/src/motif/bitmap.cpp
+++ b/src/motif/bitmap.cpp
@@ -23,7 +23,13 @@
 #include "wx/dcmemory.h"
 #include "wx/image.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/bmpbuttn.cpp b/src/motif/bmpbuttn.cpp
index 358149b072..29f0d9ae28 100644
--- a/src/motif/bmpbuttn.cpp
+++ b/src/motif/bmpbuttn.cpp
@@ -15,8 +15,14 @@
 
 #include "wx/bmpbuttn.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/PushBG.h>
 #include <Xm/PushB.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/button.cpp b/src/motif/button.cpp
index 610a94ef19..6953b76006 100644
--- a/src/motif/button.cpp
+++ b/src/motif/button.cpp
@@ -17,8 +17,14 @@
 #include "wx/utils.h"
 #include "wx/panel.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/PushBG.h>
 #include <Xm/PushB.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/checkbox.cpp b/src/motif/checkbox.cpp
index 0f90243a26..d528c697f9 100644
--- a/src/motif/checkbox.cpp
+++ b/src/motif/checkbox.cpp
@@ -16,10 +16,16 @@
 #include "wx/checkbox.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/ToggleB.h>
 #include <Xm/ToggleBG.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/choice.cpp b/src/motif/choice.cpp
index 1647c35bc1..baf409f0df 100644
--- a/src/motif/choice.cpp
+++ b/src/motif/choice.cpp
@@ -17,10 +17,16 @@
 #include "wx/choice.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <Xm/PushBG.h>
 #include <Xm/PushB.h>
 #include <Xm/RowColumn.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/clipbrd.cpp b/src/motif/clipbrd.cpp
index f80067e6f9..cc6c5e21b3 100644
--- a/src/motif/clipbrd.cpp
+++ b/src/motif/clipbrd.cpp
@@ -26,8 +26,14 @@
 #include "wx/clipbrd.h"
 #include "wx/dataobj.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <Xm/CutPaste.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include <string.h>
 
diff --git a/src/motif/colour.cpp b/src/motif/colour.cpp
index cf9f93c796..94063c0cfc 100644
--- a/src/motif/colour.cpp
+++ b/src/motif/colour.cpp
@@ -20,7 +20,13 @@
 #include "wx/colour.h"
 #include "wx/app.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/combobox.cpp b/src/motif/combobox.cpp
index c2e9d0ecb9..098ed1b0cb 100644
--- a/src/motif/combobox.cpp
+++ b/src/motif/combobox.cpp
@@ -17,7 +17,13 @@
 
 #if wxUSE_COMBOBOX
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 #include "xmcombo/xmcombo.h"
 
 void  wxComboBoxCallback (Widget w, XtPointer clientData,
diff --git a/src/motif/control.cpp b/src/motif/control.cpp
index 06019980d6..d93439940d 100644
--- a/src/motif/control.cpp
+++ b/src/motif/control.cpp
@@ -17,7 +17,13 @@
 #include "wx/panel.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #if !USE_SHARED_LIBRARY
 IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow)
diff --git a/src/motif/cursor.cpp b/src/motif/cursor.cpp
index c1027a775e..8df07639c2 100644
--- a/src/motif/cursor.cpp
+++ b/src/motif/cursor.cpp
@@ -19,8 +19,14 @@
 #include "wx/app.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <X11/cursorfont.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/dataobj.cpp b/src/motif/dataobj.cpp
index 765ece2233..90e41f267a 100644
--- a/src/motif/dataobj.cpp
+++ b/src/motif/dataobj.cpp
@@ -18,7 +18,13 @@
 #include "wx/dataobj.h"
 #include "wx/app.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 #include "wx/utils.h"
 
 //-------------------------------------------------------------------------
diff --git a/src/motif/dcclient.cpp b/src/motif/dcclient.cpp
index 42ad9258d7..eb820900e7 100644
--- a/src/motif/dcclient.cpp
+++ b/src/motif/dcclient.cpp
@@ -48,7 +48,13 @@
 
 #include <math.h>
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/dcmemory.cpp b/src/motif/dcmemory.cpp
index 166ee6b6a2..dea9a435cc 100644
--- a/src/motif/dcmemory.cpp
+++ b/src/motif/dcmemory.cpp
@@ -17,7 +17,13 @@
 #include "wx/settings.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/dcscreen.cpp b/src/motif/dcscreen.cpp
index 5b9274e45a..9686ee49b6 100644
--- a/src/motif/dcscreen.cpp
+++ b/src/motif/dcscreen.cpp
@@ -17,7 +17,13 @@
 #include "wx/dcscreen.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/dialog.cpp b/src/motif/dialog.cpp
index ce3076da35..2b19f81499 100644
--- a/src/motif/dialog.cpp
+++ b/src/motif/dialog.cpp
@@ -19,6 +19,9 @@
 #include "wx/app.h"
 #include "wx/settings.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 
 #include <X11/Shell.h>
@@ -38,6 +41,9 @@
 #if   XmVersion > 1000
 #include <Xm/Protocols.h>
 #endif
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/filedlg.cpp b/src/motif/filedlg.cpp
index 00b63d4ab6..101def7118 100644
--- a/src/motif/filedlg.cpp
+++ b/src/motif/filedlg.cpp
@@ -21,6 +21,9 @@
 #include "wx/app.h"
 #include "wx/settings.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <Xm/MwmUtil.h>
 #include <Xm/Label.h>
@@ -31,6 +34,9 @@
 #include <Xm/FileSB.h>
 #include <Xm/RowColumn.h>
 #include <Xm/LabelG.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/font.cpp b/src/motif/font.cpp
index 048592aeb0..f7df581fb6 100644
--- a/src/motif/font.cpp
+++ b/src/motif/font.cpp
@@ -21,7 +21,13 @@
     #pragma implementation "font.h"
 #endif
 
+#ifdef __VMS
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS
+#pragma message enable nosimpint
+#endif
 
 #include "wx/defs.h"
 #include "wx/string.h"
diff --git a/src/motif/frame.cpp b/src/motif/frame.cpp
index 8cd57cb702..d0f167c9bb 100644
--- a/src/motif/frame.cpp
+++ b/src/motif/frame.cpp
@@ -24,6 +24,9 @@
 #include "wx/app.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #if defined(__ultrix) || defined(__sgi)
 #include <Xm/Frame.h>
 #endif
@@ -47,6 +50,9 @@
 #if   XmVersion > 1000
 #include <Xm/Protocols.h>
 #endif
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
@@ -836,6 +842,14 @@ void wxFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
     this->Destroy();
 }
 
+#ifdef __VMS__
+// I added this function because I got missing symbols when linking
+// Maybe it should be included on all platforms. But what should it do?
+void wxFrame::OnIdle(wxIdleEvent& WXUNUSED(event))
+{
+}
+#endif
+
 // Destroy the window (delayed, if a managed window)
 bool wxFrame::Destroy()
 {
diff --git a/src/motif/gauge.cpp b/src/motif/gauge.cpp
index cadbfafb35..58bb544b9d 100644
--- a/src/motif/gauge.cpp
+++ b/src/motif/gauge.cpp
@@ -15,7 +15,13 @@
 
 #include "wx/gauge.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 #include "wx/motif/private.h"
 
 #if !USE_SHARED_LIBRARY
diff --git a/src/motif/icon.cpp b/src/motif/icon.cpp
index 55d70fdd9a..17e5b111c1 100644
--- a/src/motif/icon.cpp
+++ b/src/motif/icon.cpp
@@ -16,8 +16,14 @@
 #include "wx/icon.h"
 #include "wx/window.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <X11/cursorfont.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/listbox.cpp b/src/motif/listbox.cpp
index 178a552e38..706ea7297d 100644
--- a/src/motif/listbox.cpp
+++ b/src/motif/listbox.cpp
@@ -19,7 +19,13 @@
 #include "wx/log.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/List.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 #include "wx/motif/private.h"
 
 #if !USE_SHARED_LIBRARY
diff --git a/src/motif/mdi.cpp b/src/motif/mdi.cpp
index 520bfd99e7..0af3109490 100644
--- a/src/motif/mdi.cpp
+++ b/src/motif/mdi.cpp
@@ -17,6 +17,9 @@
 #include "wx/menu.h"
 #include "wx/settings.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <Xm/BulletinB.h>
 #include <Xm/Form.h>
@@ -27,6 +30,9 @@
 #include <Xm/PushBG.h>
 #include <Xm/AtomMgr.h>
 #include <Xm/Protocols.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/menu.cpp b/src/motif/menu.cpp
index 23b39e39ba..4b69ef18e4 100644
--- a/src/motif/menu.cpp
+++ b/src/motif/menu.cpp
@@ -30,6 +30,9 @@
 #include "wx/frame.h"
 #include "wx/settings.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/CascadeBG.h>
@@ -39,6 +42,9 @@
 #include <Xm/ToggleB.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/RowColumn.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/menuitem.cpp b/src/motif/menuitem.cpp
index 53de7f5382..d582065f47 100644
--- a/src/motif/menuitem.cpp
+++ b/src/motif/menuitem.cpp
@@ -26,6 +26,9 @@
 #include "wx/utils.h"
 #include "wx/frame.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/CascadeBG.h>
@@ -35,6 +38,9 @@
 #include <Xm/ToggleB.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/RowColumn.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/msgdlg.cpp b/src/motif/msgdlg.cpp
index 3e37ff01d4..e33abee805 100644
--- a/src/motif/msgdlg.cpp
+++ b/src/motif/msgdlg.cpp
@@ -21,10 +21,16 @@
 // headers
 // ----------------------------------------------------------------------------
 
+#ifdef __VMS
+#pragma message disable nosimpint
+#endif
 #include <X11/Xlib.h>
 
 #include <Xm/Xm.h>
 #include <Xm/MessageB.h>
+#ifdef __VMS
+#pragma message enable nosimpint
+#endif
 
 #include "wx/app.h"
 #include "wx/intl.h"
diff --git a/src/motif/palette.cpp b/src/motif/palette.cpp
index 44ce0e92f7..610d5d6c10 100644
--- a/src/motif/palette.cpp
+++ b/src/motif/palette.cpp
@@ -43,7 +43,13 @@ not the functionality that wxPalette::Create() aims to provide.
 #include "wx/app.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 #include "wx/motif/private.h"
 
 #if !USE_SHARED_LIBRARIES
diff --git a/src/motif/radiobox.cpp b/src/motif/radiobox.cpp
index 33b1ab2f25..2cd62c7578 100644
--- a/src/motif/radiobox.cpp
+++ b/src/motif/radiobox.cpp
@@ -16,6 +16,9 @@
 #include "wx/radiobox.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/ToggleB.h>
@@ -23,6 +26,9 @@
 #include <Xm/RowColumn.h>
 #include <Xm/Form.h>
 #include <Xm/Frame.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
@@ -167,8 +173,17 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title,
 #endif
                                     XmNfontList, fontList,
                                                  NULL);
+#ifdef __VMS__
+#pragma message disable voiincconext
+       // VMS gives here the compiler warning:
+       // conversion from pointer to function to void* permitted
+       // as an extension
+#endif
         XtAddCallback ((Widget) m_radioButtons[i], XmNvalueChangedCallback, (XtCallbackProc) wxRadioBoxCallback,
                      (XtCallbackProc) this);
+#ifdef __VMS__
+#pragma message enable voiincconext
+#endif
 
     }
     SetSelection (0);
diff --git a/src/motif/radiobut.cpp b/src/motif/radiobut.cpp
index ccce0c9309..4c7e3c755e 100644
--- a/src/motif/radiobut.cpp
+++ b/src/motif/radiobut.cpp
@@ -16,12 +16,18 @@
 #include "wx/radiobut.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/ToggleB.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/RowColumn.h>
 #include <Xm/Form.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
@@ -79,8 +85,17 @@ bool wxRadioButton::Create(wxWindow *parent, wxWindowID id,
         NULL);
     XmStringFree (text);
 
+#ifdef __VMS__
+#pragma message disable voiincconext
+       // VMS gives here the compiler warning:
+       // conversion from pointer to function to void* permitted
+       // as an extension
+#endif
     XtAddCallback (radioButtonWidget, XmNvalueChangedCallback, (XtCallbackProc) wxRadioButtonCallback,
         (XtCallbackProc) this);
+#ifdef __VMS__
+#pragma message enable voiincconext
+#endif
 
     m_mainWidget = (WXWidget) radioButtonWidget;
 
diff --git a/src/motif/region.cpp b/src/motif/region.cpp
index 8b03f1052b..1bc220fc30 100644
--- a/src/motif/region.cpp
+++ b/src/motif/region.cpp
@@ -15,7 +15,13 @@
 #include "wx/region.h"
 #include "wx/gdicmn.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 // #include "wx/motif/private.h"
 
 #if !USE_SHARED_LIBRARY
diff --git a/src/motif/scrolbar.cpp b/src/motif/scrolbar.cpp
index f0f4440583..0ceefef6b6 100644
--- a/src/motif/scrolbar.cpp
+++ b/src/motif/scrolbar.cpp
@@ -15,10 +15,16 @@
 
 #include "wx/scrolbar.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <X11/IntrinsicP.h>
 #include <Xm/Xm.h>
 #include <Xm/RowColumn.h>
 #include <Xm/ScrollBar.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/settings.cpp b/src/motif/settings.cpp
index 7a473fb234..77713699c0 100644
--- a/src/motif/settings.cpp
+++ b/src/motif/settings.cpp
@@ -222,6 +222,5 @@ int wxSystemSettings::GetSystemMetric(int index)
 		default:
 			return 0;
 	}
-	return 0;
 }
 
diff --git a/src/motif/slider.cpp b/src/motif/slider.cpp
index 2ea8f37e36..59edd44bb7 100644
--- a/src/motif/slider.cpp
+++ b/src/motif/slider.cpp
@@ -16,11 +16,17 @@
 #include "wx/slider.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/RowColumn.h>
 #include <Xm/Scale.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
@@ -93,12 +99,20 @@ bool wxSlider::Create(wxWindow *parent, wxWindowID id,
 
     m_mainWidget = (WXWidget) sliderWidget;
 
+#ifdef __VMS__
+#pragma message disable codcauunr
+   // VMS gives here the compiler warning :
+   // statement either is unreachable or causes unreachable code
+#endif
     if(style & wxSL_NOTIFY_DRAG)
         XtAddCallback (sliderWidget, XmNdragCallback,
         (XtCallbackProc) wxSliderCallback, (XtPointer) this);
     else
         XtAddCallback (sliderWidget, XmNvalueChangedCallback,
         (XtCallbackProc) wxSliderCallback, (XtPointer) this);
+#ifdef __VMS__
+#pragma message enable codcauunr
+#endif
 
     XtAddCallback (sliderWidget, XmNdragCallback, (XtCallbackProc) wxSliderCallback, (XtPointer) this);
 
diff --git a/src/motif/statbmp.cpp b/src/motif/statbmp.cpp
index 6cc81fe57f..32a9835b81 100644
--- a/src/motif/statbmp.cpp
+++ b/src/motif/statbmp.cpp
@@ -15,10 +15,16 @@
 
 #include "wx/statbmp.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/RowColumn.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/statbox.cpp b/src/motif/statbox.cpp
index 09c330a017..b13b1cfcde 100644
--- a/src/motif/statbox.cpp
+++ b/src/motif/statbox.cpp
@@ -16,10 +16,16 @@
 #include "wx/statbox.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Frame.h>
 #include <Xm/Form.h>
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/stattext.cpp b/src/motif/stattext.cpp
index a5105b10ec..e66312abaa 100644
--- a/src/motif/stattext.cpp
+++ b/src/motif/stattext.cpp
@@ -18,9 +18,15 @@
 
 #include <stdio.h>
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/PushBG.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl)
diff --git a/src/motif/textctrl.cpp b/src/motif/textctrl.cpp
index df6e6269b5..fe48ec22b6 100644
--- a/src/motif/textctrl.cpp
+++ b/src/motif/textctrl.cpp
@@ -31,7 +31,13 @@
 #include "wx/filefn.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Text.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/timer.cpp b/src/motif/timer.cpp
index 41e30b7ae3..64f94518a6 100644
--- a/src/motif/timer.cpp
+++ b/src/motif/timer.cpp
@@ -17,7 +17,13 @@
 #include "wx/app.h"
 #include "wx/list.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/toolbar.cpp b/src/motif/toolbar.cpp
index 91d0b2fc87..727ef5421c 100644
--- a/src/motif/toolbar.cpp
+++ b/src/motif/toolbar.cpp
@@ -18,6 +18,9 @@
 #include "wx/timer.h"
 #include "wx/toolbar.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <Xm/PushBG.h>
 #include <Xm/PushB.h>
@@ -25,6 +28,9 @@
 #include <Xm/ToggleB.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/Form.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/motif/utils.cpp b/src/motif/utils.cpp
index 082d3285be..3827520517 100644
--- a/src/motif/utils.cpp
+++ b/src/motif/utils.cpp
@@ -41,7 +41,13 @@
     #include <sysent.h>
 #endif
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/unix/execute.h"
 
@@ -689,8 +695,6 @@ bool wxSetDisplay(const wxString& display_name)
         else
             return FALSE;
     }
-
-    return FALSE;
 }
 
 wxString wxGetDisplayName()
@@ -731,7 +735,8 @@ char * wxFindAccelerator (const char *s)
     //     handling
     return NULL;
 
-    // The accelerator text is after the \t char.
+#if 0
+   // The accelerator text is after the \t char.
     while (*s && *s != '\t')
         s++;
     if (*s == '\0')
@@ -778,6 +783,7 @@ char * wxFindAccelerator (const char *s)
     }
     delete[]tmp;
     return wxBuffer;
+#endif
 }
 
 XmString wxFindAcceleratorText (const char *s)
@@ -786,7 +792,8 @@ XmString wxFindAcceleratorText (const char *s)
     //     handling
     return NULL;
 
-    // The accelerator text is after the \t char.
+#if 0
+   // The accelerator text is after the \t char.
     while (*s && *s != '\t')
         s++;
     if (*s == '\0')
@@ -794,6 +801,7 @@ XmString wxFindAcceleratorText (const char *s)
     s++;
     XmString text = XmStringCreateSimple ((char *)s);
     return text;
+#endif
 }
 
 // ----------------------------------------------------------------------------
diff --git a/src/motif/window.cpp b/src/motif/window.cpp
index 3dd230e4e3..d14efb385d 100644
--- a/src/motif/window.cpp
+++ b/src/motif/window.cpp
@@ -44,6 +44,9 @@
     #include "wx/dnd.h"
 #endif
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 
 #include <Xm/DrawingA.h>
@@ -52,6 +55,9 @@
 #include <Xm/Frame.h>
 #include <Xm/Label.h>
 #include <Xm/RowColumn.h>           // for XmMenuPosition
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
diff --git a/src/unix/fontutil.cpp b/src/unix/fontutil.cpp
index fa20c75985..d1af8fa759 100644
--- a/src/unix/fontutil.cpp
+++ b/src/unix/fontutil.cpp
@@ -32,7 +32,13 @@
 #endif // PCH
 
 #ifdef __X__
-    #include <X11/Xlib.h>
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
+#include <X11/Xlib.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
     #include "wx/utils.h"       // for wxGetDisplay()
 #elif defined(__WXGTK__)
diff --git a/src/unix/utilsunx.cpp b/src/unix/utilsunx.cpp
index e721318d5b..0b2e074026 100644
--- a/src/unix/utilsunx.cpp
+++ b/src/unix/utilsunx.cpp
@@ -393,6 +393,7 @@ long wxExecute( wxChar **argv, bool sync, wxProcess *process )
         return exitcode;
 #endif // wxUSE_GUI
     }
+   return 0;
 
     #undef ARGS_CLEANUP
 }
-- 
2.47.2