From cfc2c6cad8ee96eb8e7f8d9fa9f6739533867047 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Wed, 11 Oct 2006 16:09:38 +0000 Subject: [PATCH] Use HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG. --- ChangeLog | 17 +++++++++++++++++ lib/allocsa.h | 4 ++-- lib/printf-args.c | 4 ++-- lib/printf-args.h | 10 +++++----- lib/printf-parse.c | 15 ++++++++++++--- lib/vasnprintf.c | 12 ++++++------ m4/allocsa.m4 | 6 +++--- m4/vasnprintf.m4 | 10 +++++----- 8 files changed, 52 insertions(+), 26 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2a4a0d129..aa53052ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2006-10-11 Paul Eggert + Bruno Haible + + * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test + HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG. + * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of + gl_AC_TYPE_LONG_LONG. + + * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT + instead of HAVE_LONG_LONG. + * lib/printf-args.c (printf_fetchargs): Likewise. + * lib/printf-parse.c (PRINTF_PARSE): Likewise. + * lib/vasnprintf.c (VASNPRINTF): Likewise. + * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE, + gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of + gl_AC_TYPE_LONG_LONG. + 2006-10-11 Bruno Haible * m4/longlong.m4: Add comments. diff --git a/lib/allocsa.h b/lib/allocsa.h index f8c0bc0bd..0fd46a8e6 100644 --- a/lib/allocsa.h +++ b/lib/allocsa.h @@ -106,14 +106,14 @@ enum among all elementary types. */ sa_alignment_long = sa_alignof (long), sa_alignment_double = sa_alignof (double), -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT sa_alignment_longlong = sa_alignof (long long), #endif #ifdef HAVE_LONG_DOUBLE sa_alignment_longdouble = sa_alignof (long double), #endif sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1) -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT | (sa_alignment_longlong - 1) #endif #ifdef HAVE_LONG_DOUBLE diff --git a/lib/printf-args.c b/lib/printf-args.c index da00c5fb9..358801c97 100644 --- a/lib/printf-args.c +++ b/lib/printf-args.c @@ -56,7 +56,7 @@ printf_fetchargs (va_list args, arguments *a) case TYPE_ULONGINT: ap->a.a_ulongint = va_arg (args, unsigned long int); break; -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: ap->a.a_longlongint = va_arg (args, long long int); break; @@ -128,7 +128,7 @@ printf_fetchargs (va_list args, arguments *a) case TYPE_COUNT_LONGINT_POINTER: ap->a.a_count_longint_pointer = va_arg (args, long int *); break; -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: ap->a.a_count_longlongint_pointer = va_arg (args, long long int *); break; diff --git a/lib/printf-args.h b/lib/printf-args.h index cec1cc6c2..5759da0ee 100644 --- a/lib/printf-args.h +++ b/lib/printf-args.h @@ -1,5 +1,5 @@ /* Decomposed printf argument list. - Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc. + Copyright (C) 1999, 2002-2003, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ typedef enum TYPE_UINT, TYPE_LONGINT, TYPE_ULONGINT, -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT TYPE_LONGLONGINT, TYPE_ULONGLONGINT, #endif @@ -68,7 +68,7 @@ typedef enum TYPE_COUNT_SHORT_POINTER, TYPE_COUNT_INT_POINTER, TYPE_COUNT_LONGINT_POINTER -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT , TYPE_COUNT_LONGLONGINT_POINTER #endif } arg_type; @@ -87,7 +87,7 @@ typedef struct unsigned int a_uint; long int a_longint; unsigned long int a_ulongint; -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT long long int a_longlongint; unsigned long long int a_ulonglongint; #endif @@ -109,7 +109,7 @@ typedef struct short * a_count_short_pointer; int * a_count_int_pointer; long int * a_count_longint_pointer; -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT long long int * a_count_longlongint_pointer; #endif } diff --git a/lib/printf-parse.c b/lib/printf-parse.c index d9440f35d..bd8caf9f4 100644 --- a/lib/printf-parse.c +++ b/lib/printf-parse.c @@ -382,11 +382,14 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) switch (c) { case 'd': case 'i': -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT + /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_LONGLONGINT; else #endif + /* If 'long long' exists and is the same as 'long', we parse + "lld" into TYPE_LONGINT. */ if (flags >= 8) type = TYPE_LONGINT; else if (flags & 2) @@ -397,11 +400,14 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) type = TYPE_INT; break; case 'o': case 'u': case 'x': case 'X': -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT + /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_ULONGLONGINT; else #endif + /* If 'unsigned long long' exists and is the same as + 'unsigned long', we parse "llu" into TYPE_ULONGINT. */ if (flags >= 8) type = TYPE_ULONGINT; else if (flags & 2) @@ -456,11 +462,14 @@ PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a) type = TYPE_POINTER; break; case 'n': -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT + /* If 'long long' exists and is larger than 'long': */ if (flags >= 16 || (flags & 4)) type = TYPE_COUNT_LONGLONGINT_POINTER; else #endif + /* If 'long long' exists and is the same as 'long', we parse + "lln" into TYPE_COUNT_LONGINT_POINTER. */ if (flags >= 8) type = TYPE_COUNT_LONGINT_POINTER; else if (flags & 2) diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c index 345aa8a50..0fe2aada9 100644 --- a/lib/vasnprintf.c +++ b/lib/vasnprintf.c @@ -248,7 +248,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar case TYPE_COUNT_LONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longint_pointer = length; break; -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT case TYPE_COUNT_LONGLONGINT_POINTER: *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length; break; @@ -322,7 +322,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar { case 'd': case 'i': case 'u': -# ifdef HAVE_LONG_LONG +# ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT @@ -352,7 +352,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar break; case 'o': -# ifdef HAVE_LONG_LONG +# ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT @@ -380,7 +380,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar break; case 'x': case 'X': -# ifdef HAVE_LONG_LONG +# ifdef HAVE_LONG_LONG_INT if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT) tmp_length = (unsigned int) (sizeof (unsigned long long) * CHAR_BIT @@ -527,7 +527,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar switch (type) { -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: case TYPE_ULONGLONGINT: *p++ = 'l'; @@ -681,7 +681,7 @@ VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list ar SNPRINTF_BUF (arg); } break; -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT case TYPE_LONGLONGINT: { long long int arg = a.arg[dp->arg_index].a.a_longlongint; diff --git a/m4/allocsa.m4 b/m4/allocsa.m4 index 474862fe3..fea322075 100644 --- a/m4/allocsa.m4 +++ b/m4/allocsa.m4 @@ -1,5 +1,5 @@ -# allocsa.m4 serial 3 -dnl Copyright (C) 2003-2004 Free Software Foundation, Inc. +# allocsa.m4 serial 4 +dnl Copyright (C) 2003-2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -10,6 +10,6 @@ AC_DEFUN([gl_ALLOCSA], dnl @ALLOCA@ and @LTALLOCA@. AC_REQUIRE([gl_FUNC_ALLOCA]) AC_REQUIRE([gl_EEMALLOC]) - AC_REQUIRE([gl_AC_TYPE_LONG_LONG]) + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_LONGDOUBLE]) ]) diff --git a/m4/vasnprintf.m4 b/m4/vasnprintf.m4 index 7ff343035..32d3149b5 100644 --- a/m4/vasnprintf.m4 +++ b/m4/vasnprintf.m4 @@ -1,5 +1,5 @@ -# vasnprintf.m4 serial 5 -dnl Copyright (C) 2002-2004 Free Software Foundation, Inc. +# vasnprintf.m4 serial 6 +dnl Copyright (C) 2002-2004, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -23,7 +23,7 @@ AC_DEFUN([gl_FUNC_VASNPRINTF], AC_DEFUN([gl_PREREQ_PRINTF_ARGS], [ AC_REQUIRE([bh_C_SIGNED]) - AC_REQUIRE([gl_AC_TYPE_LONG_LONG]) + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_LONGDOUBLE]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) @@ -32,7 +32,7 @@ AC_DEFUN([gl_PREREQ_PRINTF_ARGS], # Prequisites of lib/printf-parse.h, lib/printf-parse.c. AC_DEFUN([gl_PREREQ_PRINTF_PARSE], [ - AC_REQUIRE([gl_AC_TYPE_LONG_LONG]) + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_LONGDOUBLE]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) @@ -45,7 +45,7 @@ AC_DEFUN([gl_PREREQ_PRINTF_PARSE], AC_DEFUN([gl_PREREQ_VASNPRINTF], [ AC_REQUIRE([AC_FUNC_ALLOCA]) - AC_REQUIRE([gl_AC_TYPE_LONG_LONG]) + AC_REQUIRE([AC_TYPE_LONG_LONG_INT]) AC_REQUIRE([gt_TYPE_LONGDOUBLE]) AC_REQUIRE([gt_TYPE_WCHAR_T]) AC_REQUIRE([gt_TYPE_WINT_T]) -- 2.11.0