changeset 8641:0af716a4f5d2 v7.4.1610

commit https://github.com/vim/vim/commit/cc6cf9b9f9045a7d8b5923ea0c556e9a4c2567d3 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 19 20:51:35 2016 +0100 patch 7.4.1610 Problem: Compiler warnings for non-virtual destructor. Solution: Mark the classe final. (Ken Takata)
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Mar 2016 21:00:04 +0100
parents 51b3ead7e4da
children c7727ca972e3
files src/Make_cyg_ming.mak src/gui_dwrite.cpp src/if_ole.cpp src/version.c
diffstat 4 files changed, 20 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -415,6 +415,7 @@ WINDRES_CC = $(CC)
 ###########################################################################
 
 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 @@ INCL = vim.h feature.h os_win32.h os_dos
 	$(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))
--- 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 @@ public:
     }
 };
 
-class GdiTextRenderer : public IDWriteTextRenderer
+class GdiTextRenderer FINAL : public IDWriteTextRenderer
 {
 public:
     GdiTextRenderer(
--- a/src/if_ole.cpp
+++ b/src/if_ole.cpp
@@ -34,6 +34,12 @@ extern HWND s_hwnd;
 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 @@ static CVim *app = 0;
  * ----------
  */
 
-class CVim : public IVim
+class CVim FINAL : public IVim
 {
 public:
     virtual ~CVim();
@@ -428,7 +434,7 @@ CVim::Eval(BSTR expr, BSTR *result)
  * ----------
  */
 
-class CVimCF : public IClassFactory
+class CVimCF FINAL : public IClassFactory
 {
 public:
     static CVimCF *Create();
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1610,
+/**/
     1609,
 /**/
     1608,