Subject: Re: bug#8845: build failure on HP-UX 11.31
From: Jim Meyering <[email-masked]>
To: Bruno Haible <[email-masked]>
Cc: [email-masked]
Date: Mon, 13 Jun 2011 11:23:35 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Bruno Haible wrote:
> Trying to compile coreutils-8.12 on HP-UX 11.31 with cc, I get this build
> failure:
>
>   CC       file-set.o
> cc: "file-set.h", line 9: error 1000: Unexpected symbol: "2".
> cc: "file-set.h", line 7: error 1670: Illegal attribute nonnull specified.
> gmake[4]: *** [file-set.o] Error 1
>
>
> Here's a possible patch that fixes it.
>
>
> 2011-06-13  Bruno Haible  <[email-masked]>
>
> 	Update after __attibute__ is no longer defined by gnulib.
> 	* lib/file-set.h (record_file): Use __attribute__ only with compiler
> 	versions that support it.

Thanks for reporting/fixing that, Bruno.
I've adjusted the log slightly.  Since it still has your
name on it, I'll wait for an explicit "ok" before pushing.
Or you may.

I like to put the affected module name in the
one-line summary and think it's worthwhile to mention the
build failure and affected system in the log, too.

From d223e25b27f262a3478fd181f50b2952540f2571 Mon Sep 17 00:00:00 2001
From: Bruno Haible <[email-masked]>
Date: Mon, 13 Jun 2011 11:19:42 +0200
Subject: [PATCH] file-set.h: guard __attibute__ use, now that it's not always
 defined

* lib/file-set.h (record_file): Use __attribute__ only with compiler
versions that support it.  This fixes a coreutils build failure with
CC=cc on HP-UX 11.31.
---
 ChangeLog      |    7 +++++++
 lib/file-set.h |    5 ++++-
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7af3f05..f496314 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-06-13  Bruno Haible  <[email-masked]>
+
+	file-set.h: guard __attibute__ use, now that it's not always defined
+	* lib/file-set.h (record_file): Use __attribute__ only with compiler
+	versions that support it.  This fixes a coreutils build failure with
+	CC=cc on HP-UX 11.31.
+
 2011-06-12  Bruno Haible  <[email-masked]>

 	acl: Add support for HP-UX >= 11.11 JFS ACLs.
diff --git a/lib/file-set.h b/lib/file-set.h
index 28d42fe..4e47d95 100644
--- a/lib/file-set.h
+++ b/lib/file-set.h
@@ -6,7 +6,10 @@

 extern void record_file (Hash_table *ht, char const *file,
                          struct stat const *stats)
-  __attribute__ ((nonnull (2, 3)));
+#if defined __GNUC__ && ((__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3)
+  __attribute__ ((nonnull (2, 3)))
+#endif
+;

 extern bool seen_file (Hash_table const *ht, char const *file,
                        struct stat const *stats);
--
1.7.6.rc0.293.g40857