# HG changeset patch # User Christian Brabandt # Date 1458417604 -3600 # Node ID 0af716a4f5d25b47b5c1ceb2c9139d429d8d28d0 # Parent 51b3ead7e4da0a9e6e8455db5a140cfe6ade2793 commit https://github.com/vim/vim/commit/cc6cf9b9f9045a7d8b5923ea0c556e9a4c2567d3 Author: Bram Moolenaar 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) diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak --- 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)) diff --git a/src/gui_dwrite.cpp b/src/gui_dwrite.cpp --- 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( diff --git a/src/if_ole.cpp b/src/if_ole.cpp --- 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(); diff --git a/src/version.c b/src/version.c --- 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,