Subject: build failure on HP-UX 11.31
From: Bruno Haible <[email-masked]>
To: [email-masked]
Date: Mon, 13 Jun 2011 10:49:57 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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.

*** lib/file-set.h.bak  Sun Apr 24 17:21:45 2011
--- lib/file-set.h      Mon Jun 13 08:39:59 2011
***************
*** 6,12 ****
  
  extern void record_file (Hash_table *ht, char const *file,
                           struct stat const *stats)
!   __attribute__ ((nonnull (2, 3)));
  
  extern bool seen_file (Hash_table const *ht, char const *file,
                         struct stat const *stats);
--- 6,15 ----
  
  extern void record_file (Hash_table *ht, char const *file,
                           struct stat const *stats)
! #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);

-- 
In memoriam Anna Göldi <http://en.wikipedia.org/wiki/Anna_Göldi>