Submitted By: Ken Moffat Date: 2009-09-30 Initial Package Version: 7.2 Upstream Status: From upstream Origin: Part of ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.173 Description: With the cherry-picking of patches in vim's branch_update-21 I get: buffer.c: In function 'buflist_findpat': buffer.c:2034: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'UNUSED' buffer.c: In function 'build_stl_str_hl': buffer.c:3307: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'UNUSED' make[1]: *** [objects/buffer.o] Error 1 This patch pulls in the configury for this, whilst avoiding the other changes which we have happily ignored until now (and which depend in part on other changes). diff -Naur vim72.orig/src/auto/configure vim72/src/auto/configure --- vim72.orig/src/auto/configure 2008-07-24 13:40:36.000000000 +0100 +++ vim72/src/auto/configure 2009-09-30 19:59:21.000000000 +0100 @@ -10362,6 +10362,56 @@ 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 -Naur vim72.orig/src/config.h.in vim72/src/config.h.in --- vim72.orig/src/config.h.in 2008-06-21 16:01:41.000000000 +0100 +++ vim72/src/config.h.in 2009-09-30 19:59:21.000000000 +0100 @@ -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 -Naur vim72.orig/src/vim.h vim72/src/vim.h --- vim72.orig/src/vim.h 2008-08-09 17:03:38.000000000 +0100 +++ vim72/src/vim.h 2009-09-30 19:59:21.000000000 +0100 @@ -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