Mercurial > vim
changeset 6862:db53fd1a7d5c v7.4.751
patch 7.4.751
Problem: It is not obvious how to enable the address sanitizer.
Solution: Add commented-out flags in the Makefile. (Dominique Pelle)
Also add missing test targets.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sun, 21 Jun 2015 13:44:13 +0200 |
parents | bad08ecef761 |
children | 2cb682025709 |
files | src/Makefile src/version.c |
diffstat | 2 files changed, 21 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Makefile +++ b/src/Makefile @@ -616,6 +616,14 @@ LINT_OPTIONS = -beprxzF #PROFILE_LIBS = -pg #PROFILE_LIBS = -pg -lc +# Uncomment one of the next two lines to compile Vim with the +# address sanitizer or with the undefined sanitizer. Works with gcc and +# clang. May make Vim twice as slow. Errors reported on stderr. +# More at: https://code.google.com/p/address-sanitizer/ +#SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer +#SANITIZER_CFLAGS = -g -O0 -fsanitize=undefined -fno-omit-frame-pointer +SANITIZER_LIBS = $(SANITIZER_CFLAGS) + # MEMORY LEAK DETECTION # Requires installing the ccmalloc library. # Configuration is in the .ccmalloc or ~/.ccmalloc file. @@ -1342,7 +1350,7 @@ SHELL = /bin/sh PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS) POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(EXTRA_DEFS) -ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(LEAK_CFLAGS) $(POST_DEFS) +ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(SANITIZER_CFLAGS) $(LEAK_CFLAGS) $(POST_DEFS) # Exclude $CFLAGS for osdef.sh, for Mac 10.4 some flags don't work together # with "-E". @@ -1374,6 +1382,7 @@ ALL_LIBS = \ $(TCL_LIBS) \ $(RUBY_LIBS) \ $(PROFILE_LIBS) \ + $(SANITIZER_LIBS) \ $(LEAK_LIBS) # abbreviations @@ -1891,20 +1900,29 @@ unittest unittests: $(UNITTEST_TARGETS) # Run individual test, assuming that Vim was already compiled. test1 \ + test_argument_0count \ test_argument_count \ test_autoformat_join \ test_breakindent \ test_changelist \ test_close_count \ test_command_count \ + test_erasebackword \ test_eval \ test_insertcount \ + test_listchars \ test_listlbr \ test_listlbr_utf8 \ test_mapping \ + test_marks \ + test_nested_function \ test_options \ + test_perl \ test_qf_title \ + test_ruby \ + test_set \ test_signs \ + test_textobjects \ test_utf8 \ test_writefile \ test2 test3 test4 test5 test6 test7 test8 test9 \