bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

argp.h/argz.h and error_t


From: Ralf Wildenhues
Subject: argp.h/argz.h and error_t
Date: Fri, 24 Feb 2006 21:07:14 +0100
User-agent: Mutt/1.5.9i

If a project uses both modules argp and argz, error_t may be both
#define'd, and set as typedef in argp.h.  The #define from config.h
(which comes ultimatively from argz.m4) kills the typedef of course.

For example on sparc-sun-solaris2.8:

| cc -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DLIBDIR=\"/usr/local/lib\" 
-I. -I../../dummy-0/lib -I..   -D_REENTRANT  -xarch=v9 -c 
../../dummy-0/lib/argp-eexst.c
| "../../dummy-0/lib/argp.h", line 64: invalid type combination
| "../../dummy-0/lib/argp.h", line 64: warning: useless declaration
| "../../dummy-0/lib/argp.h", line 64: warning: typedef declares no type name
| cc: acomp failed for ../../dummy-0/lib/argp-eexst.c

The hack below fixes that, but I can imagine that it is not an
acceptable fix, given that this is libc code.  Should we rather
AC_DEFINE([__error_t_defined], 1, ..)?

Thoughts?

Cheers,
Ralf

        * lib/argp.h: Only declare error_t if not #defined already.

Index: lib/argp.h
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/argp.h,v
retrieving revision 1.11
diff -u -r1.11 argp.h
--- lib/argp.h  10 Jan 2006 21:49:07 -0000      1.11
+++ lib/argp.h  22 Feb 2006 17:31:25 -0000
@@ -61,7 +61,9 @@
 #endif
 
 #ifndef __error_t_defined
+# ifndef error_t
 typedef int error_t;
+# endif
 # define __error_t_defined
 #endif
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]