Rely on C89 <limits.h>
authorAaron Crane <arc@cpan.org>
Fri, 13 Oct 2017 10:38:59 +0000 (12:38 +0200)
committerAaron Crane <arc@cpan.org>
Sat, 21 Oct 2017 15:52:55 +0000 (16:52 +0100)
This requires newer metaconfig units that also rely on C89 <limits.h>.

27 files changed:
Configure
Cross/config.sh-arm-linux
Cross/config.sh-arm-linux-n770
NetWare/config.wc
NetWare/config_H.wc
Porting/Glossary
Porting/config.sh
Porting/config_H
cflags.SH
config_h.SH
configure.com
ext/File-Glob/bsd_glob.c
ext/POSIX/POSIX.xs
perl.h
plan9/config.plan9
plan9/config_h.sample
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
uconfig64.sh
win32/config.ce
win32/config.gc
win32/config.vc
win32/config_H.ce
win32/config_H.gc
win32/config_H.vc

index e7bf160..33b6895 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -992,7 +992,6 @@ i_ieeefp=''
 i_inttypes=''
 i_langinfo=''
 i_libutil=''
-i_limits=''
 i_locale=''
 i_machcthr=''
 i_malloc=''
@@ -12327,18 +12326,11 @@ esac
 set cuserid d_cuserid
 eval $inlibc
 
-: see if this is a limits.h system
-set limits.h i_limits
-eval $inhdr
-
 : See if number of significant digits in a double precision number is known
 echo " "
 $cat >dbl_dig.c <<EOM
-#$i_limits I_LIMITS
 #$i_float I_FLOAT
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 #ifdef I_FLOAT
 #include <float.h>
 #endif
@@ -16019,11 +16011,8 @@ eval $setvar
 : See if number of significant digits in a double precision number is known
 echo " "
 $cat >ldbl_dig.c <<EOM
-#$i_limits I_LIMITS
 #$i_float I_FLOAT
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 #ifdef I_FLOAT
 #include <float.h>
 #endif
@@ -24570,7 +24559,6 @@ i_ieeefp='$i_ieeefp'
 i_inttypes='$i_inttypes'
 i_langinfo='$i_langinfo'
 i_libutil='$i_libutil'
-i_limits='$i_limits'
 i_locale='$i_locale'
 i_machcthr='$i_machcthr'
 i_malloc='$i_malloc'
index 5ccf847..bab8265 100644 (file)
@@ -749,7 +749,6 @@ i_ieeefp='undef'
 i_inttypes='define'
 i_langinfo='define'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
index 5e7a6bb..13b94b3 100644 (file)
@@ -610,7 +610,6 @@ i_ieeefp='undef'
 i_inttypes='define'
 i_langinfo='define'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
index 80a3fad..6f82251 100644 (file)
@@ -731,7 +731,6 @@ i_ieeefp='undef'
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
index b113957..0b48217 100644 (file)
  */
 #define I_FLOAT                /**/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS               /**/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.
index 2bd7a0d..d9dcd94 100644 (file)
@@ -3493,11 +3493,6 @@ i_libutil (i_libutil.U):
        This variable conditionally defines the I_LIBUTIL symbol, and indicates
        whether a C program should include <libutil.h>.
 
-i_limits (i_limits.U):
-       This variable conditionally defines the I_LIMITS symbol, and indicates
-       whether a C program may include <limits.h> to get symbols like WORD_BIT
-       and friends.
-
 i_locale (i_locale.U):
        This variable conditionally defines the I_LOCALE symbol,
        and indicates whether a C program should include <locale.h>.
index ea0a08d..5e3f69a 100644 (file)
@@ -767,7 +767,6 @@ i_ieeefp='undef'
 i_inttypes='define'
 i_langinfo='define'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='undef'
index 846cd22..7d1d4ec 100644 (file)
  */
 #define I_GDBM /**/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS               /**/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.
index 5834f02..e60742f 100755 (executable)
--- a/cflags.SH
+++ b/cflags.SH
@@ -76,9 +76,7 @@ cat >_cflags.c <<__EOT__
 #include <stdlib.h>
 #include <stddef.h>
 #include <stdarg.h>
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 #ifdef I_DIRENT
 #include <dirent.h>
 #endif
index aa0f911..b59ed49 100755 (executable)
@@ -105,14 +105,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_cuserid HAS_CUSERID                /**/
 
-/* HAS_DBL_DIG:
- *     This symbol, if defined, indicates that this system's <float.h>
- *     or <limits.h> defines the symbol DBL_DIG, which is the number
- *     of significant digits in a double precision number.  If this
- *     symbol is not defined, a guess of 15 is usually pretty good.
- */
-#$d_dbl_dig HAS_DBL_DIG        /**/
-
 /* HAS_DIFFTIME:
  *     This symbol, if defined, indicates that the difftime routine is
  *     available.
@@ -682,13 +674,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$i_gdbm I_GDBM        /**/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-#$i_limits I_LIMITS            /**/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.
@@ -1584,6 +1569,14 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
 #define CSH "$full_csh"        /**/
 #endif
 
+/* HAS_DBL_DIG:
+ *     This symbol, if defined, indicates that this system's <float.h>
+ *     or <limits.h> defines the symbol DBL_DIG, which is the number
+ *     of significant digits in a double precision number.  If this
+ *     symbol is not defined, a guess of 15 is usually pretty good.
+ */
+#$d_dbl_dig HAS_DBL_DIG        /**/
+
 /* HAS_DLADDR:
  *     This symbol, if defined, indicates that the dladdr() routine is
  *     available to query dynamic linker information for an address.
index e4780c0..d789fda 100644 (file)
@@ -6555,7 +6555,6 @@ $ WC "i_ieeefp='undef'"
 $ WC "i_inttypes='" + i_inttypes + "'"
 $ WC "i_langinfo='" + i_langinfo + "'"
 $ WC "i_libutil='" + i_libutil + "'"
-$ WC "i_limits='define'"
 $ WC "i_locale='" + i_locale + "'"
 $ WC "i_machcthr='undef'"
 $ WC "i_machcthreads='undef'"
index 86faa8e..4ca3e22 100644 (file)
@@ -87,9 +87,7 @@ static char sscsid[]=  "$OpenBSD: glob.c,v 1.8.10.1 2001/04/10 jason Exp $";
 #  endif
 #endif
 
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 
 #ifndef ARG_MAX
 #  ifdef _SC_ARG_MAX
index 421c57f..2de9165 100644 (file)
@@ -42,9 +42,7 @@ static int not_here(const char *s);
 #include <fenv.h>
 #endif
 #endif
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 #include <locale.h>
 #include <math.h>
 #ifdef I_PWD
diff --git a/perl.h b/perl.h
index f0281c2..ed31083 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -1689,9 +1689,7 @@ typedef UVTYPE UV;
    a given precision of printing can be done with a double instead of
    a long double - Allen).
 */
-#ifdef I_LIMITS
 #include <limits.h>
-#endif
 #ifdef I_FLOAT
 #include <float.h>
 #endif
@@ -1711,9 +1709,7 @@ typedef UVTYPE UV;
    default value for printing floating point numbers in Gconvert.
    (see config.h)
 */
-# ifdef I_LIMITS
-#   include <limits.h>
-# endif
+# include <limits.h>
 # ifdef I_FLOAT
 #  include <float.h>
 # endif
@@ -1743,12 +1739,10 @@ typedef UVTYPE UV;
  * necessary to do so. - Allen <allens@cpan.org>
  */
 
-#ifdef I_LIMITS
-#  include <limits.h>
-#endif
+#include <limits.h>
 
 #ifdef I_VALUES
-#  if !(defined(DBL_MIN) && defined(DBL_MAX) && defined(I_LIMITS))
+#  if !defined(DBL_MIN) || !defined(DBL_MAX)
 #    include <values.h>
 #    if defined(MAXDOUBLE) && !defined(DBL_MAX)
 #      define DBL_MAX MAXDOUBLE
@@ -2340,9 +2334,7 @@ int isnan(double d);
  *    define PERL ULONG_MAX       4294967295L
  */
 
-#ifdef I_LIMITS  /* Needed for cast_xxx() functions below. */
-#  include <limits.h>
-#endif
+#include <limits.h>  /* Needed for cast_xxx() functions below. */
 /* Included values.h above if necessary; still including limits.h down here,
  * despite doing above, because math.h might have overridden... XXX - Allen */
 
index 469094c..419b9d0 100644 (file)
  */
 #define I_FLOAT                /**/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS               /**/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.
index 4285449..3b7d304 100644 (file)
  */
 #define I_FLOAT                /**/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS               /**/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.
index 114a589..2f8e5b2 100644 (file)
@@ -743,7 +743,6 @@ i_ieeefp='undef'
 i_inttypes='define'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='undef'
index 53aa972..088e9e6 100644 (file)
@@ -671,7 +671,6 @@ i_ieeefp='undef'
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='undef'
index 50c1c95..e5c6c2b 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define HAS_CUSERID          / **/
 
-/* HAS_DBL_DIG:
- *     This symbol, if defined, indicates that this system's <float.h>
- *     or <limits.h> defines the symbol DBL_DIG, which is the number
- *     of significant digits in a double precision number.  If this
- *     symbol is not defined, a guess of 15 is usually pretty good.
- */
-/*#define HAS_DBL_DIG  / **/
-
 /* HAS_DIFFTIME:
  *     This symbol, if defined, indicates that the difftime routine is
  *     available.
  */
 /*#define I_GDBM       / **/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-/*#define I_LIMITS             / **/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.
 #define CSH "" /**/
 #endif
 
+/* HAS_DBL_DIG:
+ *     This symbol, if defined, indicates that this system's <float.h>
+ *     or <limits.h> defines the symbol DBL_DIG, which is the number
+ *     of significant digits in a double precision number.  If this
+ *     symbol is not defined, a guess of 15 is usually pretty good.
+ */
+/*#define HAS_DBL_DIG  / **/
+
 /* HAS_DLADDR:
  *     This symbol, if defined, indicates that the dladdr() routine is
  *     available to query dynamic linker information for an address.
 #endif
 
 /* Generated from:
- * ef59adc025306aceebb47a7515e514357b77e44a359af4bc0bf5d52082e41a26 config_h.SH
- * d40282b246b20f1f20a5febcae42b3ac44234c5a1c1a2df89e5ac77a54830cca uconfig.sh
+ * 82aa50fd961b36e3bc3ab644715698645fed961055bc70f4ad44ad88f51c25b0 config_h.SH
+ * 37da610aa9e38f4374ef9ce47cd7cd08240a33511faa8ee028f9e33ee76587ca uconfig.sh
  * ex: set ro: */
index 6fcd66d..d8d151e 100644 (file)
@@ -657,7 +657,6 @@ i_ieeefp='undef'
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='undef'
 i_locale='undef'
 i_machcthr='undef'
 i_malloc='undef'
index 6446f02..393af4f 100644 (file)
@@ -657,7 +657,6 @@ i_ieeefp='undef'
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='undef'
 i_locale='undef'
 i_machcthr='undef'
 i_malloc='undef'
index da654aa..07774f6 100644 (file)
@@ -727,7 +727,6 @@ i_ieeefp='undef'
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
index e1d276e..902c86e 100644 (file)
@@ -741,7 +741,6 @@ i_ieeefp='undef'
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
index 3ed2114..e4740bb 100644 (file)
@@ -738,7 +738,6 @@ i_ieeefp='undef'
 i_inttypes='undef'
 i_langinfo='undef'
 i_libutil='undef'
-i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='define'
index 4eeb176..dae69c8 100644 (file)
  */
 #define I_FLOAT                /**/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS               /**/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.
index 7f6a2c5..2604215 100644 (file)
  */
 /*#define I_GDBM       / **/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS               /**/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.
index 80e486f..edc71e7 100644 (file)
  */
 /*#define I_GDBM       / **/
 
-/* I_LIMITS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <limits.h> to get definition of symbols like WORD_BIT or
- *     LONG_MAX, i.e. machine dependant limitations.
- */
-#define I_LIMITS               /**/
-
 /* I_LOCALE:
  *     This symbol, if defined, indicates to the C program that it should
  *     include <locale.h>.