From: Jim Meyering <meyering@redhat.com> Date: Fri, 11 Jun 2010 07:50:29 +0000 (+0200) Subject: tests: avoid compilation warnings in argmatch and exclude tests... X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4ee8943cf24b460e938e903c0bfaaaf25706fe9;p=pspp 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. --- diff --git a/ChangeLog b/ChangeLog index 5b037a4ccd..d96f7fe992 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2010-06-11 Jim Meyering <meyering@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 807970e2cd..bf4a22f922 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 bffc62d20a..0b8f9534eb 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