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