From e77a81d5675035c366b5ae2ed07c6986475e4c97 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 16 Jan 2014 13:01:07 -0800 Subject: [PATCH] strtoimax: port to platforms lacking 'long long' VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't check whether strtoll is declared, which causes the C file to wrongly report an error. Problem reported by Steven M. Schweda in: http://lists.gnu.org/archive/html/bug-diffutils/2014-01/msg00003.html * lib/strtoimax.c (strtoull): Declare only if HAVE_UNSIGNED_LONG_LONG_INT. (strtoll): Declare only if HAVE_LONG_LONG_INT. --- ChangeLog | 11 +++++++++++ lib/strtoimax.c | 16 ++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9a9f00bef..ebfba063a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2014-01-16 Paul Eggert + + strtoimax: port to platforms lacking 'long long' + VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't + check whether strtoll is declared, which causes the C file to + wrongly report an error. Problem reported by Steven M. Schweda in: + http://lists.gnu.org/archive/html/bug-diffutils/2014-01/msg00003.html + * lib/strtoimax.c (strtoull): + Declare only if HAVE_UNSIGNED_LONG_LONG_INT. + (strtoll): Declare only if HAVE_LONG_LONG_INT. + 2014-01-16 Daniel Albers (tiny change) relocatable-perl: fix texi syntax diff --git a/lib/strtoimax.c b/lib/strtoimax.c index 219ebaf52..2c33d5857 100644 --- a/lib/strtoimax.c +++ b/lib/strtoimax.c @@ -28,20 +28,24 @@ #include "verify.h" #ifdef UNSIGNED -# ifndef HAVE_DECL_STRTOULL +# if HAVE_UNSIGNED_LONG_LONG_INT +# ifndef HAVE_DECL_STRTOULL "this configure-time declaration test was not run" -# endif -# if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG_INT +# endif +# if !HAVE_DECL_STRTOULL unsigned long long int strtoull (char const *, char **, int); +# endif # endif #else -# ifndef HAVE_DECL_STRTOLL +# if HAVE_LONG_LONG_INT +# ifndef HAVE_DECL_STRTOLL "this configure-time declaration test was not run" -# endif -# if !HAVE_DECL_STRTOLL && HAVE_LONG_LONG_INT +# endif +# if !HAVE_DECL_STRTOLL long long int strtoll (char const *, char **, int); +# endif # endif #endif -- 2.11.0