patch 7.4.1610
Problem:    Compiler warnings for non-virtual destructor.
Solution:   Mark the classe final. (Ken Takata)
diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
index d6e0d0a..9bb26aa 100644
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -415,6 +415,7 @@
 ###########################################################################
 
 CFLAGS = -Iproto $(DEFINES) -pipe -march=$(ARCH) -Wall
+CXXFLAGS = -std=c++11
 WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
 EXTRA_LIBS =
 
@@ -864,14 +865,14 @@
 	$(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
 
 $(OUTDIR)/gui_dwrite.o:	gui_dwrite.cpp $(INCL) gui_dwrite.h
-	$(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
+	$(CC) -c $(CFLAGS) $(CXXFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
 
 $(OUTDIR)/if_cscope.o:	if_cscope.c $(INCL) if_cscope.h
 	$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
 
 # Remove -D__IID_DEFINED__ for newer versions of the w32api
 $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
-	$(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
+	$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
 
 $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
 ifeq (16, $(RUBY))
diff --git a/src/gui_dwrite.cpp b/src/gui_dwrite.cpp
index 07685eb..9873c67 100644
--- a/src/gui_dwrite.cpp
+++ b/src/gui_dwrite.cpp
@@ -33,6 +33,12 @@
 # define __out		SAL__out
 #endif
 
+#if (defined(_MSC_VER) && (_MSC_VER >= 1700)) || (__cplusplus >= 201103L)
+# define FINAL final
+#else
+# define FINAL
+#endif
+
 #ifdef DYNAMIC_DIRECTX
 extern "C" HINSTANCE vimLoadLib(char *name);
 
@@ -222,7 +228,7 @@
     }
 };
 
-class GdiTextRenderer : public IDWriteTextRenderer
+class GdiTextRenderer FINAL : public IDWriteTextRenderer
 {
 public:
     GdiTextRenderer(
diff --git a/src/if_ole.cpp b/src/if_ole.cpp
index a93abe0..582a4cb 100644
--- a/src/if_ole.cpp
+++ b/src/if_ole.cpp
@@ -34,6 +34,12 @@
 extern HWND vim_parent_hwnd;
 }
 
+#if (defined(_MSC_VER) && (_MSC_VER >= 1700)) || (__cplusplus >= 201103L)
+# define FINAL final
+#else
+# define FINAL
+#endif
+
 #if (defined(_MSC_VER) && _MSC_VER < 1300) || !defined(MAXULONG_PTR)
 /* Work around old versions of basetsd.h which wrongly declares
  * UINT_PTR as unsigned long */
@@ -93,7 +99,7 @@
  * ----------
  */
 
-class CVim : public IVim
+class CVim FINAL : public IVim
 {
 public:
     virtual ~CVim();
@@ -428,7 +434,7 @@
  * ----------
  */
 
-class CVimCF : public IClassFactory
+class CVimCF FINAL : public IClassFactory
 {
 public:
     static CVimCF *Create();
diff --git a/src/version.c b/src/version.c
index 03282f8..8178342 100644
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1610,
+/**/
     1609,
 /**/
     1608,