[Top][All Lists]

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


From: Stepan Kasal
Subject: Re: Why AC_C_CHAR_UNSIGNED?
Date: Thu, 26 Jun 2008 10:44:44 +0200
User-agent: Mutt/1.5.18 (2008-05-17)


On Wed, Jun 25, 2008 at 11:40:11AM -0500, Bob Friesenhahn wrote:
> [...] Removing AC_C_CHAR_UNSIGNED 
> then requires a change to the application code.  It is not uncommon that 
> the configure script is independently updated from the application and if 
> someone actually follows this advice, then there may be silent breakage.  
> In fact, it is becoming more and more common for the autotools part of 
> the project to be maintained by someone who does not know anything about 
> the internal implementation of the application.

I can easily imagine myself as that autotools maintainer.

But please note:
1) autoupdate does not touch AC_C_CHAR_UNSIGNED and the NEWS file
says there are no plans to remove it from Autoconf.  So one option is
to leave things as they are.

2) With autoconf -Wobsolete, one gets the message:

> The macro `AC_C_CHAR_UNSIGNED' is obsolete.
> Check for CHAR_MIN == 0 from limits.h instead.

and from the code or the manual, one sees that the macro defines
__CHAR_UNSIGNED__ in certained situations.
So it can be easily seen what has to be done to adapt the code.

Or would it help to put it all to one message?

> AC_C_CHAR_UNSIGNED: The macro is obsolete.  Instead of checking
> __CHAR_UNSIGNED__, include limits.h and test for CHAR_MIN == 0.

If your autotools maintainer cannot do that, you shall return him for
replacement of defective parts.   ;-)

So I still slightly prefer obsoleting the macro, but I don't mind
either way.


reply via email to

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