Mercurial > vim
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();