>From 108a48c5682b090c1ef19e4b126608a60a1319e7 Mon Sep 17 00:00:00 2001 From: Stepan Kasal Date: Tue, 24 Jun 2008 17:25:31 +0200 Subject: [PATCH] Make AC_C_CHAR_UNSIGNED obsolete. * lib/autoconf/c.m4 (AC_C_CHAR_UNSIGNED): Warn that it is obsolete; reported by Hallvard B Furuseth. * doc/autoconf.texi (C Compiler): Move AC_C_CHAR_UNSIGNED... (Obsolete Macros): ...here, and mention why. * NEWS: Mention. --- ChangeLog | 9 +++++++++ NEWS | 10 +++++++--- doc/autoconf.texi | 22 +++++++++++++--------- lib/autoconf/c.m4 | 7 ++++++- tests/mktests.sh | 2 +- 5 files changed, 36 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 065a75b..5d97d9f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-06-24 Stepan Kasal + + Make AC_C_CHAR_UNSIGNED obsolete. + * lib/autoconf/c.m4 (AC_C_CHAR_UNSIGNED): Warn that it is obsolete; + reported by Hallvard B Furuseth. + * doc/autoconf.texi (C Compiler): Move AC_C_CHAR_UNSIGNED... + (Obsolete Macros): ...here, and mention why. + * NEWS: Mention. + 2008-06-19 Eric Blake Add comment explaining recent patch. diff --git a/NEWS b/NEWS index 06b705f..895f66e 100644 --- a/NEWS +++ b/NEWS @@ -6,11 +6,15 @@ GNU Autoconf NEWS - User visible changes. library directories. ** Newly obsolete macros - The following macro has been marked obsolete, since current porting - targets can safely assume C89 semantics that signal handlers return - void. We have no current plans to remove the macro. + The following macros have been marked obsolete since they are no longer + needed for the current set of porting targets. We have no current plans + to remove them. + AC_C_CHAR_UNSIGNED + It is possible to #include and test for CHAR_MIN == 0. + AC_TYPE_SIGNAL + The C89 semantics that signal handlers return void can be assumed. ** Clients of m4_expand, such as AS_HELP_STRING and AT_SETUP, can now handle properly quoted but otherwise unbalanced parentheses (for diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 43a84bc..08d4168 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -6855,14 +6855,6 @@ Otherwise define @code{inline} to @code{__inline__} or @code{__inline} if it accepts one of those, otherwise define @code{inline} to be empty. @end defmac address@hidden address@hidden AC_C_CHAR_UNSIGNED address@hidden address@hidden __CHAR_UNSIGNED__ -If the C type @code{char} is unsigned, define @code{__CHAR_UNSIGNED__}, -unless the C compiler predefines it. address@hidden defmac - @defmac AC_C_STRINGIZE @acindex{C_STRINGIZE} @cvindex HAVE_STRINGIZE @@ -18529,6 +18521,18 @@ Replaced by @code{AC_FUNC_ALLOCA} (@pxref{AC_FUNC_ALLOCA}). Removed because of limited usefulness. @end defmac address@hidden AC_C_CHAR_UNSIGNED address@hidden address@hidden __CHAR_UNSIGNED__ +If the C type @code{char} is unsigned, define @code{__CHAR_UNSIGNED__}, +unless the C compiler predefines it. + address@hidden Reported by Hallvard B Furuseth, verified by a reserch by Bob Friesenhahn, address@hidden see http://lists.gnu.org/archive/html/autoconf/2008-06/msg00066.html +The macro is no longer needed; it is now portable to include @file{limits.h} +and check whether @code{CHAR_MIN} is 0. address@hidden defmac + @defmac AC_C_CROSS @acindex{C_CROSS} This macro is obsolete; it does nothing. @@ -18559,7 +18563,7 @@ other macros (@pxref{Canonicalizing}). @defmac AC_CHAR_UNSIGNED @acindex{CHAR_UNSIGNED} -Replaced by @code{AC_C_CHAR_UNSIGNED} (@pxref{AC_C_CHAR_UNSIGNED}). +Same as @code{AC_C_CHAR_UNSIGNED} which is obsolete as well, see above. @end defmac @defmac AC_CHECK_TYPE (@var{type}, @var{default}) diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4 index ffaa06e..edd00e7 100644 --- a/lib/autoconf/c.m4 +++ b/lib/autoconf/c.m4 @@ -1377,8 +1377,13 @@ AU_DEFUN([AC_C_CROSS], []) # AC_C_CHAR_UNSIGNED # ------------------ +# This macro is now considered obsolete, see +# http://lists.gnu.org/archive/html/autoconf/2008-06/msg00066.html +# AC_DEFUN([AC_C_CHAR_UNSIGNED], -[AH_VERBATIM([__CHAR_UNSIGNED__], +[AC_DIAGNOSE([obsolete], [The macro `$0' is obsolete. +Check for CHAR_MIN == 0 from limits.h instead.])dnl +AH_VERBATIM([__CHAR_UNSIGNED__], [/* Define to 1 if type `char' is unsigned and you are not using gcc. */ #ifndef __CHAR_UNSIGNED__ # undef __CHAR_UNSIGNED__ diff --git a/tests/mktests.sh b/tests/mktests.sh index 04c6d60..158584f 100755 --- a/tests/mktests.sh +++ b/tests/mktests.sh @@ -112,7 +112,7 @@ ac_exclude_list=' /^AC_FD_CC$/ {next} # Obsolete, but needs to be AC_DEFUNed. - /^AC_FOREACH$/ {next} + /^AC_(FOREACH|C_CHAR_UNSIGNED)$/ {next} # Require a file that is not shipped with Autoconf. But it should. /^AC_FUNC_(GETLOADAVG|FNMATCH_GNU)$/ {next} -- 1.5.5.3