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 <stdio.h>
+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; }
* 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);
* 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;
* 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;
{
* 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;
* 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;
/* 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
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 <stdio.h>], [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)
* 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;
/*
* 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);
* 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())
{
* 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)
/*
* ":ascii" and "ga".
*/
-/*ARGSUSED*/
void
do_ascii(eap)
- exarg_T *eap;
+ exarg_T *eap UNUSED;
{
int c;
int cval;
* ^? ^H
* not ^? ^?
*/
-/*ARGSUSED*/
void
do_fixdel(eap)
- exarg_T *eap;
+ exarg_T *eap UNUSED;
{
char_u *p;
/*
* ":exusage"
*/
-/*ARGSUSED*/
void
ex_exusage(eap)
- exarg_T *eap;
+ exarg_T *eap UNUSED;
{
do_cmdline_cmd((char_u *)"help ex-cmd-index");
}
/*
* ":viusage"
*/
-/*ARGSUSED*/
void
ex_viusage(eap)
- exarg_T *eap;
+ exarg_T *eap UNUSED;
{
do_cmdline_cmd((char_u *)"help normal-index");
}
* 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;
/*
* ":breaklist".
*/
-/*ARGSUSED*/
void
ex_breaklist(eap)
- exarg_T *eap;
+ exarg_T *eap UNUSED;
{
struct debuggy *bp;
int i;
/*
* 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)
*
* 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;
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);
}
/*
* ":options"
*/
-/*ARGSUSED*/
void
ex_options(eap)
- exarg_T *eap;
+ exarg_T *eap UNUSED;
{
cmd_source((char_u *)SYS_OPTWIN_FILE, NULL);
}
/*
* ":scriptnames"
*/
-/*ARGSUSED*/
void
ex_scriptnames(eap)
- exarg_T *eap;
+ exarg_T *eap UNUSED;
{
int i;
* 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;
* ":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;
* 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)
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 173,
/**/
172,
/**/
/*
* ":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);
# 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