FYI, just pushed. Without the following, I'd get these warnings in coreutils/gnulib-tests:
test-argmatch.c:34:6: warning: no previous declaration for 'usage' [-Wmissing-declarations] test-exclude.c:68:6: warning: no previous declaration for 'usage' [-Wmissing-declarations] >From d4ee8943cf24b460e938e903c0bfaaaf25706fe9 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Fri, 11 Jun 2010 09:50:29 +0200 Subject: [PATCH] tests: avoid compilation warnings in argmatch and exclude tests... in packages that define ARGMATCH_DIE_DECL, like coreutils. * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function. Since it always exits, declare with the "noreturn" attribute. * tests/test-argmatch.c: Likewise. --- ChangeLog | 6 ++++++ tests/test-argmatch.c | 11 +++++++++++ tests/test-exclude.c | 11 +++++++++++ 3 files changed, 28 insertions(+), 0 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5b037a4..d96f7fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-06-11 Jim Meyering <meyer...@redhat.com> + tests: avoid compilation warnings in argmatch and exclude tests... + in packages that define ARGMATCH_DIE_DECL, like coreutils. + * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function. + Since it always exits, declare with the "noreturn" attribute. + * tests/test-argmatch.c: Likewise. + tests: avoid 'const' discard warnings in mbsstr tests * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning. * tests/test-mbsstr2.c (main): Likewise. diff --git a/tests/test-argmatch.c b/tests/test-argmatch.c index 807970e..bf4a22f 100644 --- a/tests/test-argmatch.c +++ b/tests/test-argmatch.c @@ -29,6 +29,17 @@ /* Some packages define ARGMATCH_DIE and ARGMATCH_DIE_DECL in <config.h>, and thus must link with a definition of that function. Provide it here. */ #ifdef ARGMATCH_DIE_DECL +#ifndef __attribute__ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) +# define __attribute__(x) /* empty */ +# endif +#endif + +#ifndef ATTRIBUTE_NORETURN +# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) +#endif + +ARGMATCH_DIE_DECL ATTRIBUTE_NORETURN; ARGMATCH_DIE_DECL { exit (1); } #endif diff --git a/tests/test-exclude.c b/tests/test-exclude.c index bffc62d..0b8f953 100644 --- a/tests/test-exclude.c +++ b/tests/test-exclude.c @@ -63,6 +63,17 @@ ARGMATCH_VERIFY (exclude_keywords, exclude_flags); /* Some packages define ARGMATCH_DIE and ARGMATCH_DIE_DECL in <config.h>, and thus must link with a definition of that function. Provide it here. */ #ifdef ARGMATCH_DIE_DECL +#ifndef __attribute__ +# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8) +# define __attribute__(x) /* empty */ +# endif +#endif + +#ifndef ATTRIBUTE_NORETURN +# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) +#endif + +ARGMATCH_DIE_DECL ATTRIBUTE_NORETURN; ARGMATCH_DIE_DECL { exit (1); } #endif -- 1.7.1.501.g23b46