# HG changeset patch # User vimboss # Date 1242332433 0 # Node ID 932ff0c0f57bb90d48470b70cc728058e0c56e3e # Parent 09f00d57222b6d8de104660ea3f9c6bb42b9d31a updated for version 7.2-173 diff --git a/src/auto/configure b/src/auto/configure --- a/src/auto/configure +++ b/src/auto/configure @@ -10362,6 +10362,56 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: checking whether __attribute__((unused)) is allowed" >&5 +$as_echo_n "checking whether __attribute__((unused)) is allowed... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int x __attribute__((unused)); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF +#define HAVE_ATTRIBUTE_UNUSED 1 +_ACEOF + +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test "${ac_cv_header_elf_h+set}" = set; then { $as_echo "$as_me:$LINENO: checking for elf.h" >&5 $as_echo_n "checking for elf.h... " >&6; } diff --git a/src/buffer.c b/src/buffer.c --- a/src/buffer.c +++ b/src/buffer.c @@ -512,12 +512,11 @@ buf_clear_file(buf) * buf_freeall() - free all things allocated for a buffer that are related to * the file. */ -/*ARGSUSED*/ void buf_freeall(buf, del_buf, wipe_buf) buf_T *buf; - int del_buf; /* buffer is going to be deleted */ - int wipe_buf; /* buffer is going to be wiped out */ + int del_buf UNUSED; /* buffer is going to be deleted */ + int wipe_buf UNUSED; /* buffer is going to be wiped out */ { #ifdef FEAT_AUTOCMD int is_curbuf = (buf == curbuf); @@ -2437,11 +2436,10 @@ wininfo_other_tab_diff(wip) * another tab page. * Returns NULL when there isn't any info. */ -/*ARGSUSED*/ static wininfo_T * find_wininfo(buf, skip_diff_buffer) buf_T *buf; - int skip_diff_buffer; + int skip_diff_buffer UNUSED; { wininfo_T *wip; @@ -4278,10 +4276,9 @@ fix_fname(fname) * Make "ffname" a full file name, set "sfname" to "ffname" if not NULL. * "ffname" becomes a pointer to allocated memory (or NULL). */ -/*ARGSUSED*/ void fname_expand(buf, ffname, sfname) - buf_T *buf; + buf_T *buf UNUSED; char_u **ffname; char_u **sfname; { @@ -5577,11 +5574,10 @@ buf_contents_changed(buf) * this buffer. Call this to wipe out a temp buffer that does not contain any * marks. */ -/*ARGSUSED*/ void wipe_buffer(buf, aucmd) buf_T *buf; - int aucmd; /* When TRUE trigger autocommands. */ + int aucmd UNUSED; /* When TRUE trigger autocommands. */ { if (buf->b_fnum == top_file_num - 1) --top_file_num; diff --git a/src/charset.c b/src/charset.c --- a/src/charset.c +++ b/src/charset.c @@ -1026,13 +1026,12 @@ lbr_chartabsize_adv(s, col) * string at start of line. Warning: *headp is only set if it's a non-zero * value, init to 0 before calling. */ -/*ARGSUSED*/ int win_lbr_chartabsize(wp, s, col, headp) win_T *wp; char_u *s; colnr_T col; - int *headp; + int *headp UNUSED; { #ifdef FEAT_LINEBREAK int c; diff --git a/src/config.h.in b/src/config.h.in --- a/src/config.h.in +++ b/src/config.h.in @@ -30,6 +30,9 @@ /* Define when __DATE__ " " __TIME__ can be used */ #undef HAVE_DATE_TIME +/* Define when __attribute__((unused)) can be used */ +#undef HAVE_ATTRIBUTE_UNUSED + /* defined always when using configure */ #undef UNIX diff --git a/src/configure.in b/src/configure.in --- a/src/configure.in +++ b/src/configure.in @@ -2067,6 +2067,11 @@ AC_TRY_COMPILE([#include ], [pr AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME), AC_MSG_RESULT(no)) +AC_MSG_CHECKING(whether __attribute__((unused)) is allowed) +AC_TRY_COMPILE([#include ], [int x __attribute__((unused));], + AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ATTRIBUTE_UNUSED), + AC_MSG_RESULT(no)) + dnl Checks for header files. AC_CHECK_HEADER(elf.h, HAS_ELF=1) dnl AC_CHECK_HEADER(dwarf.h, SVR4=1) diff --git a/src/diff.c b/src/diff.c --- a/src/diff.c +++ b/src/diff.c @@ -652,10 +652,9 @@ diff_write(buf, fname) * The buffers are written to a file, also for unmodified buffers (the file * could have been produced by autocommands, e.g. the netrw plugin). */ -/*ARGSUSED*/ void ex_diffupdate(eap) - exarg_T *eap; /* can be NULL, it's not used */ + exarg_T *eap UNUSED; /* can be NULL */ { buf_T *buf; int idx_orig; @@ -1094,10 +1093,9 @@ ex_diffsplit(eap) /* * Set options to show difs for the current window. */ -/*ARGSUSED*/ void ex_diffthis(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { /* Set 'diff', 'scrollbind' on and 'wrap' off. */ diff_win_options(curwin, TRUE); diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -1447,10 +1447,9 @@ force_cindent: * Only redraw when there are no characters available. This speeds up * inserting sequences of characters (e.g., for CTRL-R). */ -/*ARGSUSED*/ static void ins_redraw(ready) - int ready; /* not busy with something */ + int ready UNUSED; /* not busy with something */ { if (!char_avail()) { @@ -1962,10 +1961,9 @@ backspace_until_column(col) * Only matters when there are composing characters. * Return TRUE when something was deleted. */ -/*ARGSUSED*/ static int del_char_after_col(limit_col) - int limit_col; + int limit_col UNUSED; { #ifdef FEAT_MBYTE if (enc_utf8 && limit_col >= 0) diff --git a/src/ex_cmds.c b/src/ex_cmds.c --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -43,10 +43,9 @@ static int /* * ":ascii" and "ga". */ -/*ARGSUSED*/ void do_ascii(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { int c; int cval; @@ -2373,10 +2372,9 @@ viminfo_writestring(fd, p) * ^? ^H * not ^? ^? */ -/*ARGSUSED*/ void do_fixdel(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { char_u *p; @@ -6127,10 +6125,9 @@ fix_help_buffer() /* * ":exusage" */ -/*ARGSUSED*/ void ex_exusage(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { do_cmdline_cmd((char_u *)"help ex-cmd-index"); } @@ -6138,10 +6135,9 @@ ex_exusage(eap) /* * ":viusage" */ -/*ARGSUSED*/ void ex_viusage(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { do_cmdline_cmd((char_u *)"help normal-index"); } @@ -7154,10 +7150,9 @@ static enum * Function given to ExpandGeneric() to obtain the sign command * expansion. */ -/*ARGSUSED*/ char_u * get_sign_name(xp, idx) - expand_T *xp; + expand_T *xp UNUSED; int idx; { sign_T *sp; diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -680,10 +680,9 @@ ex_breakdel(eap) /* * ":breaklist". */ -/*ARGSUSED*/ void ex_breaklist(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { struct debuggy *bp; int i; @@ -1342,14 +1341,13 @@ autowrite_all() /* * return TRUE if buffer was changed and cannot be abandoned. */ -/*ARGSUSED*/ int check_changed(buf, checkaw, mult_win, forceit, allbuf) buf_T *buf; int checkaw; /* do autowrite if buffer was changed */ int mult_win; /* check also when several wins for the buf */ int forceit; - int allbuf; /* may write all buffers */ + int allbuf UNUSED; /* may write all buffers */ { if ( !forceit && bufIsChanged(buf) @@ -1759,12 +1757,11 @@ set_arglist(str) * * Return FAIL for failure, OK otherwise. */ -/*ARGSUSED*/ static int do_arglist(str, what, after) char_u *str; - int what; - int after; /* 0 means before first one */ + int what UNUSED; + int after UNUSED; /* 0 means before first one */ { garray_T new_ga; int exp_count; @@ -2549,11 +2546,10 @@ ex_runtime(eap) static void source_callback __ARGS((char_u *fname, void *cookie)); -/*ARGSUSED*/ static void source_callback(fname, cookie) char_u *fname; - void *cookie; + void *cookie UNUSED; { (void)do_source(fname, FALSE, DOSO_NONE); } @@ -2680,10 +2676,9 @@ do_in_runtimepath(name, all, callback, c /* * ":options" */ -/*ARGSUSED*/ void ex_options(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { cmd_source((char_u *)SYS_OPTWIN_FILE, NULL); } @@ -3190,10 +3185,9 @@ theend: /* * ":scriptnames" */ -/*ARGSUSED*/ void ex_scriptnames(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { int i; @@ -3317,12 +3311,11 @@ fgets_cr(s, n, stream) * Return a pointer to the line in allocated memory. * Return NULL for end-of-file or some error. */ -/* ARGSUSED */ char_u * getsourceline(c, cookie, indent) - int c; /* not used */ + int c UNUSED; void *cookie; - int indent; /* not used */ + int indent UNUSED; { struct source_cookie *sp = (struct source_cookie *)cookie; char_u *line; @@ -3649,10 +3642,9 @@ script_line_end() * ":scriptencoding": Set encoding conversion for a sourced script. * Without the multi-byte feature it's simply ignored. */ -/*ARGSUSED*/ void ex_scriptencoding(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { #ifdef FEAT_MBYTE struct source_cookie *sp; @@ -4101,10 +4093,9 @@ ex_language(eap) * Function given to ExpandGeneric() to obtain the possible arguments of the * ":language" command. */ -/*ARGSUSED*/ char_u * get_lang_arg(xp, idx) - expand_T *xp; + expand_T *xp UNUSED; int idx; { if (idx == 0) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 173, +/**/ 172, /**/ 171, @@ -1623,10 +1625,9 @@ do_intro_line(row, mesg, add_version, at /* * ":intro": clear screen, display intro screen and wait for return. */ -/*ARGSUSED*/ void ex_intro(eap) - exarg_T *eap; + exarg_T *eap UNUSED; { screenclear(); intro_message(TRUE); diff --git a/src/vim.h b/src/vim.h --- a/src/vim.h +++ b/src/vim.h @@ -262,6 +262,14 @@ # define __PARMS(x) __ARGS(x) #endif +/* Mark unused function arguments with UNUSED, so that gcc -Wunused-parameter + * can be used to check for mistakes. */ +#ifdef HAVE_ATTRIBUTE_UNUSED +# define UNUSED __attribute__((unused)) +#else +# define UNUSED +#endif + /* if we're compiling in C++ (currently only KVim), the system * headers must have the correct prototypes or nothing will build. * conversely, our prototypes might clash due to throw() specifiers and