changeset 13788:6f8ee3f6161c

rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1] * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl): (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1. * lib/malloca.c: Include "verify.h". (verify1): Remove, replacing with a verify call. * lib/relocwrapper.c (verify1): Likewise. * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify): Likewise. * modules/malloca (Depends-on): Add 'verify'. * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'. * modules/vasnprintf (Depends-on): Add 'verify'. * modules/unistdio/u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise. * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
author Paul Eggert <eggert@cs.ucla.edu>
date Sun, 10 Oct 2010 20:16:39 -0700
parents f4b0b520e409
children 4b3032af8661
files ChangeLog lib/float+.h lib/malloca.c lib/relocwrapper.c lib/vasnprintf.c modules/malloca modules/relocatable-prog-wrapper modules/unistdio/u16-u16-vasnprintf modules/unistdio/u16-vasnprintf modules/unistdio/u32-u32-vasnprintf modules/unistdio/u32-vasnprintf modules/unistdio/u8-u8-vasnprintf modules/unistdio/u8-vasnprintf modules/unistdio/ulc-vasnprintf modules/vasnprintf
diffstat 15 files changed, 44 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,25 @@
 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
 
+	rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
+
+	* lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
+	(verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
+	* lib/malloca.c: Include "verify.h".
+	(verify1): Remove, replacing with a verify call.
+	* lib/relocwrapper.c (verify1): Likewise.
+	* lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
+	Likewise.
+	* modules/malloca (Depends-on): Add 'verify'.
+	* modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
+	* modules/vasnprintf (Depends-on): Add 'verify'.
+	* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
+	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
+	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
+	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
+	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
+	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
+	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
+
 	prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
 
 	Formerly the style was sometimes 2*X - 1, because the C standard
--- a/lib/float+.h
+++ b/lib/float+.h
@@ -141,8 +141,8 @@
 #define SIZEOF_LDBL ((LDBL_TOTAL_BIT + CHAR_BIT - 1) / CHAR_BIT)
 
 /* Verify that SIZEOF_FLT <= sizeof (float) etc.  */
-typedef int verify_sizeof_flt[2 * (SIZEOF_FLT <= sizeof (float)) - 1];
-typedef int verify_sizeof_dbl[2 * (SIZEOF_DBL <= sizeof (double)) - 1];
-typedef int verify_sizeof_ldbl[2 * (SIZEOF_LDBL <= sizeof (long double)) - 1];
+typedef int verify_sizeof_flt[SIZEOF_FLT <= sizeof (float) ? 1 : -1];
+typedef int verify_sizeof_dbl[SIZEOF_DBL <= sizeof (double) ? 1 : - 1];
+typedef int verify_sizeof_ldbl[SIZEOF_LDBL <= sizeof (long double) ? 1 : - 1];
 
 #endif /* _FLOATPLUS_H */
--- a/lib/malloca.c
+++ b/lib/malloca.c
@@ -21,6 +21,8 @@
 /* Specification.  */
 #include "malloca.h"
 
+#include "verify.h"
+
 /* Use the system functions, not the gnulib overrides in this file.  */
 #undef malloc
 
@@ -53,8 +55,7 @@
 #define HEADER_SIZE \
   (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max)
 struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; };
-/* Verify that HEADER_SIZE == sizeof (struct header).  */
-typedef int verify1[2 * (HEADER_SIZE == sizeof (struct header)) - 1];
+verify (HEADER_SIZE == sizeof (struct header));
 /* We make the hash table quite big, so that during lookups the probability
    of empty hash buckets is quite high.  There is no need to make the hash
    table resizable, because when the hash table gets filled so much that the
--- a/lib/relocwrapper.c
+++ b/lib/relocwrapper.c
@@ -54,6 +54,7 @@
 #include "progname.h"
 #include "relocatable.h"
 #include "c-ctype.h"
+#include "verify.h"
 
 /* Use the system functions, not the gnulib overrides in this file.  */
 #undef fprintf
@@ -114,7 +115,7 @@
 /* List of directories that contain the libraries.  */
 static const char *libdirs[] = { LIBDIRS NULL };
 /* Verify that at least one directory is given.  */
-typedef int verify1[2 * (sizeof (libdirs) / sizeof (libdirs[0]) > 1) - 1];
+verify (sizeof (libdirs) / sizeof (libdirs[0]) > 1);
 
 /* Relocate the list of directories that contain the libraries.  */
 static void
--- a/lib/vasnprintf.c
+++ b/lib/vasnprintf.c
@@ -88,6 +88,8 @@
 /* Checked size_t computations.  */
 #include "xsize.h"
 
+#include "verify.h"
+
 #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_LONG_DOUBLE) && !defined IN_LIBINTL
 # include <math.h>
 # include "float+.h"
@@ -322,11 +324,11 @@
 
 typedef unsigned int mp_limb_t;
 # define GMP_LIMB_BITS 32
-typedef int mp_limb_verify[2 * (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS) - 1];
+verify (sizeof (mp_limb_t) * CHAR_BIT == GMP_LIMB_BITS);
 
 typedef unsigned long long mp_twolimb_t;
 # define GMP_TWOLIMB_BITS 64
-typedef int mp_twolimb_verify[2 * (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS) - 1];
+verify (sizeof (mp_twolimb_t) * CHAR_BIT == GMP_TWOLIMB_BITS);
 
 /* Representation of a bignum >= 0.  */
 typedef struct
@@ -2621,7 +2623,7 @@
                   size_t characters;
 #  if !DCHAR_IS_TCHAR
                   /* This code assumes that TCHAR_T is 'char'.  */
-                  typedef int TCHAR_T_verify[2 * (sizeof (TCHAR_T) == 1) - 1];
+                  verify (sizeof (TCHAR_T) == 1);
                   TCHAR_T *tmpsrc;
                   DCHAR_T *tmpdst;
                   size_t tmpdst_len;
@@ -5284,8 +5286,7 @@
                         DCHAR_T *tmpdst;
                         size_t tmpdst_len;
                         /* This code assumes that TCHAR_T is 'char'.  */
-                        typedef int TCHAR_T_verify
-                                    [2 * (sizeof (TCHAR_T) == 1) - 1];
+                        verify (sizeof (TCHAR_T) == 1);
 # if USE_SNPRINTF
                         tmpsrc = (TCHAR_T *) (result + length);
 # else
--- a/modules/malloca
+++ b/modules/malloca
@@ -11,6 +11,7 @@
 
 Depends-on:
 alloca-opt
+verify
 
 configure.ac:
 gl_MALLOCA
--- a/modules/relocatable-prog-wrapper
+++ b/modules/relocatable-prog-wrapper
@@ -42,6 +42,7 @@
 environ
 intprops
 string
+verify
 
 configure.ac:
 gl_FUNC_READLINK_SEPARATE
--- a/modules/unistdio/u16-u16-vasnprintf
+++ b/modules/unistdio/u16-u16-vasnprintf
@@ -44,6 +44,7 @@
 errno
 memchr
 multiarch
+verify
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
--- a/modules/unistdio/u16-vasnprintf
+++ b/modules/unistdio/u16-vasnprintf
@@ -44,6 +44,7 @@
 errno
 memchr
 multiarch
+verify
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
--- a/modules/unistdio/u32-u32-vasnprintf
+++ b/modules/unistdio/u32-u32-vasnprintf
@@ -44,6 +44,7 @@
 errno
 memchr
 multiarch
+verify
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
--- a/modules/unistdio/u32-vasnprintf
+++ b/modules/unistdio/u32-vasnprintf
@@ -44,6 +44,7 @@
 errno
 memchr
 multiarch
+verify
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
--- a/modules/unistdio/u8-u8-vasnprintf
+++ b/modules/unistdio/u8-u8-vasnprintf
@@ -44,6 +44,7 @@
 errno
 memchr
 multiarch
+verify
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
--- a/modules/unistdio/u8-vasnprintf
+++ b/modules/unistdio/u8-vasnprintf
@@ -44,6 +44,7 @@
 errno
 memchr
 multiarch
+verify
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
--- a/modules/unistdio/ulc-vasnprintf
+++ b/modules/unistdio/ulc-vasnprintf
@@ -42,6 +42,7 @@
 errno
 memchr
 multiarch
+verify
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
--- a/modules/vasnprintf
+++ b/modules/vasnprintf
@@ -26,6 +26,7 @@
 xsize
 errno
 memchr
+verify
 
 configure.ac:
 gl_FUNC_VASNPRINTF