From cc6cf9b9f9045a7d8b5923ea0c556e9a4c2567d3 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 19 Mar 2016 20:51:35 +0100 Subject: patch 7.4.1610 Problem: Compiler warnings for non-virtual destructor. Solution: Mark the classe final. (Ken Takata) --- src/Make_cyg_ming.mak | 5 +++-- src/gui_dwrite.cpp | 8 +++++++- src/if_ole.cpp | 10 ++++++++-- src/version.c | 2 ++ 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak index d6e0d0a58..9bb26aa6d 100644 --- 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 @@ $(OUTDIR)/gui_w32.o: gui_w32.c $(INCL) $(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 07685eb09..9873c6728 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 @@ public: } }; -class GdiTextRenderer : public IDWriteTextRenderer +class GdiTextRenderer FINAL : public IDWriteTextRenderer { public: GdiTextRenderer( diff --git a/src/if_ole.cpp b/src/if_ole.cpp index a93abe0a8..582a4cb85 100644 --- 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 index 03282f8b7..8178342f8 100644 --- a/src/version.c +++ b/src/version.c @@ -748,6 +748,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1610, /**/ 1609, /**/ -- cgit v1.2.1