Mercurial > vim
changeset 27432:b63028cbe307 v8.2.4244
patch 8.2.4244: MS-Windows: warning from MSVC on debug build
Commit: https://github.com/vim/vim/commit/14cbf77845624e4bfc28a65a5debb81864cba2cf
Author: K.Takata <kentkt@csc.jp>
Date: Fri Jan 28 18:54:13 2022 +0000
patch 8.2.4244: MS-Windows: warning from MSVC on debug build
Problem: MS-Windows: warning from MSVC on debug build.
Solution: Adjust "/opt"o options. Remove unused variables. Make variables
uppercase for consistency. (Ken Takata, closes #9647)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 28 Jan 2022 20:00:04 +0100 |
parents | d58f736a0429 |
children | 5d1b4d8eea05 |
files | src/Make_mvc.mak src/version.c |
diffstat | 2 files changed, 27 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -252,7 +252,7 @@ NODEBUG = 1 MAKEFLAGS_GVIMEXT = DEBUG=yes !endif -link = link +LINK = link # Check VC version. !if [echo MSVCVER=_MSC_VER> msvcver.c && $(CC) /EP msvcver.c > msvcver.~ 2> nul] @@ -1260,25 +1260,29 @@ LINK_PDB = /PDB:$(VIM).pdb -debug # CFLAGS with /Fo$(OUTDIR)/ CFLAGS_OUTDIR=$(CFLAGS) /Fo$(OUTDIR)/ -# Add /opt:ref to remove unreferenced functions and data even when /DEBUG is -# added. -conflags = /nologo /opt:ref - PATHDEF_SRC = $(OUTDIR)\pathdef.c -!IF "$(MAP)" == "yes" -# "/map" is for debugging -conflags = $(conflags) /map -!ELSEIF "$(MAP)" == "lines" -# "/mapinfo:lines" is for debugging, only works for VC6 and later -conflags = $(conflags) /map /mapinfo:lines -!ENDIF - -LINKARGS1 = $(linkdebug) $(conflags) +LINKARGS1 = /nologo LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(NODEFAULTLIB) $(LIBC) $(OLE_LIB) \ $(LUA_LIB) $(MZSCHEME_LIB) $(PERL_LIB) $(PYTHON_LIB) $(PYTHON3_LIB) $(RUBY_LIB) \ $(TCL_LIB) $(SOUND_LIB) $(NETBEANS_LIB) $(XPM_LIB) $(SOD_LIB) $(LINK_PDB) +!ifdef NODEBUG +# Add /opt:ref to remove unreferenced functions and data even when /DEBUG is +# added. +LINKARGS1 = $(LINKARGS1) /opt:ref +!else +LINKARGS1 = $(LINKARGS1) /opt:noref /opt:noicf +!endif + +!if "$(MAP)" == "yes" +# "/map" is for debugging +LINKARGS1 = $(LINKARGS1) /map +!elseif "$(MAP)" == "lines" +# "/mapinfo:lines" is for debugging, only works for VC6 and later +LINKARGS1 = $(LINKARGS1) /map /mapinfo:lines +!endif + # Enable link time code generation if needed. !ifdef NODEBUG ! if "$(OPTIMIZE)" != "SPACE" @@ -1317,7 +1321,7 @@ all: $(MAIN_TARGET) \ GvimExt/gvimext.dll # To get around the command line limit: Make use of nmake's response files to -# capture the arguments for $(link) in a file using the @<<ARGS<< syntax. +# capture the arguments for $(LINK) in a file using the @<<ARGS<< syntax. !if "$(VIMDLL)" == "yes" @@ -1326,7 +1330,7 @@ all: $(MAIN_TARGET) \ $(TERM_OBJ) $(SOUND_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \ version.c version.h $(CC) $(CFLAGS_OUTDIR) version.c - $(link) @<< + $(LINK) @<< $(LINKARGS1) /dll -out:$(VIMDLLBASE).dll $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(TERM_OBJ) $(SOUND_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) @@ -1334,11 +1338,11 @@ all: $(MAIN_TARGET) \ << $(GVIM).exe: $(OUTDIR) $(EXEOBJG) $(VIMDLLBASE).dll - $(link) $(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(GVIM).exe $(EXEOBJG) $(VIMDLLBASE).lib $(LIBC) + $(LINK) $(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(GVIM).exe $(EXEOBJG) $(VIMDLLBASE).lib $(LIBC) if exist $(GVIM).exe.manifest mt.exe -nologo -manifest $(GVIM).exe.manifest -updateresource:$(GVIM).exe;1 $(VIM).exe: $(OUTDIR) $(EXEOBJC) $(VIMDLLBASE).dll - $(link) $(LINKARGS1) /subsystem:$(SUBSYSTEM_CON) -out:$(VIM).exe $(EXEOBJC) $(VIMDLLBASE).lib $(LIBC) + $(LINK) $(LINKARGS1) /subsystem:$(SUBSYSTEM_CON) -out:$(VIM).exe $(EXEOBJC) $(VIMDLLBASE).lib $(LIBC) if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1 !else @@ -1348,7 +1352,7 @@ all: $(MAIN_TARGET) \ $(TERM_OBJ) $(SOUND_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) $(XPM_OBJ) \ version.c version.h $(CC) $(CFLAGS_OUTDIR) version.c - $(link) @<< + $(LINK) @<< $(LINKARGS1) /subsystem:$(SUBSYSTEM) -out:$(VIM).exe $(OBJ) $(XDIFF_OBJ) $(GUI_OBJ) $(CUI_OBJ) $(OLE_OBJ) $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(TERM_OBJ) $(SOUND_OBJ) $(NETBEANS_OBJ) $(CHANNEL_OBJ) @@ -1413,6 +1417,7 @@ clean: testclean - if exist $(GVIM).exe del $(GVIM).exe - if exist $(GVIM).map del $(GVIM).map - if exist $(VIMDLLBASE).dll del $(VIMDLLBASE).dll + - if exist $(VIMDLLBASE).ilk del $(VIMDLLBASE).ilk - if exist $(VIMDLLBASE).lib del $(VIMDLLBASE).lib - if exist $(VIMDLLBASE).exp del $(VIMDLLBASE).exp - if exist $(VIMDLLBASE).pdb del $(VIMDLLBASE).pdb @@ -1895,7 +1900,7 @@ E_LINKARGS2 = $(E000_LINKARGS2:>=^^>) @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)"; >> $(PATHDEF_SRC) @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)"; >> $(PATHDEF_SRC) @echo char_u *all_cflags = (char_u *)"$(CC:\=\\) $(E_CFLAGS)"; >> $(PATHDEF_SRC) - @echo char_u *all_lflags = (char_u *)"$(link:\=\\) $(LINKARGS1:\=\\) $(E_LINKARGS2)"; >> $(PATHDEF_SRC) + @echo char_u *all_lflags = (char_u *)"$(LINK:\=\\) $(LINKARGS1:\=\\) $(E_LINKARGS2)"; >> $(PATHDEF_SRC) @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> $(PATHDEF_SRC) @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> $(PATHDEF_SRC)