This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Hexadecimal float sprintf, for perl #122219
[perl5.git] / win32 / config_H.ce
index 3a38692..e2837a6 100644 (file)
  */
 #define        I_ARPA_INET             /**/
 
+/* I_ASSERT:
+ *     This symbol, if defined, indicates to the C program that it could
+ *     include <assert.h> to get the assert() macro.
+ */
+#define        I_ASSERT                /**/
+
 /* I_DBM:
  *     This symbol, if defined, indicates that <dbm.h> exists and should
  *     be included.
  *     should be included.
  */
 /*#define I_DBM        /**/
-#define I_RPCSVC_DBM   /**/
+/*#define I_RPCSVC_DBM / **/
 
 /* I_DIRENT:
  *     This symbol, if defined, indicates to the C program that it should
  */
 /*#define I_NETINET_IN /**/
 
-/* I_SFIO:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sfio.h>.
- */
-/*#define      I_SFIO          /**/
-
 /* I_STDDEF:
  *     This symbol, if defined, indicates that <stddef.h> exists and should
  *     be included.
  *     double, or a long double when applicable. Usual values are 2,
  *     4 and 8. The default is eight, for safety.
  */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#if defined(MULTIARCH)
 #  define MEM_ALIGNBYTES 8
 #else
 #define MEM_ALIGNBYTES 8
  *     so the default case (for NeXT) is big endian to catch them.
  *     This might matter for NeXT 3.0.
  */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#if defined(MULTIARCH)
 #  ifdef __LITTLE_ENDIAN__
 #    if LONGSIZE == 4
 #      define BYTEORDER 0x1234
 #define BYTEORDER 0x1234       /* large digits for MSB */
 #endif /* NeXT */
 
+/* CHARBITS:
+ *     This symbol contains the size of a char, so that the C preprocessor
+ *     can make decisions based on it.
+ */
+#define CHARBITS 8             /**/
+
 /* CAT2:
  *     This macro concatenates 2 tokens together.
  */
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using \undef{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
+/*#define LOCALTIME_R_NEEDS_TZSET /**/
+#ifdef LOCALTIME_R_NEEDS_TZSET
+#define L_R_TZSET tzset(),
+#else
+#define L_R_TZSET
+#endif
+
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  */
 /*#define HAS_SETVBUF          /**/
 
-/* USE_SFIO:
- *     This symbol, if defined, indicates that sfio should
- *     be used.
- */
-/*#define      USE_SFIO                /**/
-
 /* HAS_SHM:
  *     This symbol, if defined, indicates that the entire shm*(2) library is
  *     supported.
 #define Siglongjmp(buf,retval) longjmp((buf),(retval))
 #endif
 
+/* HAS_STATIC_INLINE:
+ *     This symbol, if defined, indicates that the C compiler supports
+ *     C99-style static inline.  That is, the function can't be called
+ *     from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ *     This symbol gives the best-guess incantation to use for static
+ *     inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *     give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *     this will give a plain 'static'.  It will always be defined
+ *     to something that gives static linkage.
+ *     Possibilities include
+ *             static inline       (c99)
+ *             static __inline__   (gcc -ansi)
+ *             static __inline     (MSVC)
+ *             static _inline      (older MSVC)
+ *             static              (c89 compilers)
+ */
+/*#define HAS_STATIC_INLINE                            / **/
+#define PERL_STATIC_INLINE static              /**/
+
 /* USE_SITECUSTOMIZE:
  *     This symbol, if defined, indicates that sitecustomize should
  *     be used.
  *     This symbol contains the number of bits a variable of type NVTYPE
  *     can preserve of a variable of type UVTYPE.
  */
-/* NV_ZERO_IS_ALLBITS_ZERO:
+/* NV_OVERFLOWS_INTEGERS_AT
+ *     This symbol gives the largest integer value that NVs can hold. This
+ *     value + 1.0 cannot be stored accurately. It is expressed as constant
+ *     floating point expression to reduce the chance of decimale/binary
+ *     conversion issues. If it can not be determined, the value 0 is given.
+ */
+/* NV_ZERO_IS_ALLBITS_ZERO
  *     This symbol, if defined, indicates that a variable of type NVTYPE
  *     stores 0.0 in memory as all bits zero.
  */
 #define        NVSIZE          8               /**/
 #define        NV_PRESERVES_UV
 #define        NV_PRESERVES_UV_BITS    undef
+#define        NV_OVERFLOWS_INTEGERS_AT        256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
 #undef NV_ZERO_IS_ALLBITS_ZERO
 #if UVSIZE == 8
 #   ifdef BYTEORDER
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
 #define PRIVLIB "\\Storage Card\\perl58m\\lib"         /**/
-#define PRIVLIB_EXP (win32_get_privlib("5.9.5"))       /**/
+#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL))     /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
  *     be tacked onto this variable to generate a list of directories to search.
  */
 #define SITELIB "\\Storage Card\\perl58m\\site\\lib"           /**/
-#define SITELIB_EXP (win32_get_sitelib("5.9.5"))       /**/
+#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL))     /**/
 #define SITELIB_STEM ""                /**/
 
 /* Size_t_size:
 /*#define      OLD_PTHREADS_API                /**/
 /*#define      USE_REENTRANT_API       /**/
 
+/* USE_DTRACE
+ *     This symbol, if defined, indicates that Perl should
+ *     be built with support for DTrace.
+ */
+/*#define USE_DTRACE                   / **/
+
 /* PERL_VENDORARCH:
  *     If defined, this symbol contains the name of a private library.
  *     The library is private in the sense that it needn't be in anyone's
 /*#define PERL_VENDORLIB_EXP ""                /**/
 /*#define PERL_VENDORLIB_STEM ""               /**/
 
-/* VOIDFLAGS:
- *     This symbol indicates how much support of the void type is given by this
- *     compiler.  What various bits mean:
- *
- *         1 = supports declaration of void
- *         2 = supports arrays of pointers to functions returning void
- *         4 = supports comparisons between pointers to void functions and
- *                 addresses of void functions
- *         8 = suports declaration of generic void pointers
- *
- *     The package designer should define VOIDUSED to indicate the requirements
- *     of the package.  This can be done either by #defining VOIDUSED before
- *     including config.h, or by defining defvoidused in Myinit.U.  If the
- *     latter approach is taken, only those flags will be tested.  If the
- *     level of void support necessary is not present, defines void to int.
- */
-#ifndef VOIDUSED
-#define VOIDUSED 15
-#endif
-#define VOIDFLAGS 15
-#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
-#define void int               /* is void to be avoided? */
-#define M_VOID                 /* Xenix strikes again */
-#endif
-
 /* HASATTRIBUTE_FORMAT:
  *     Can we handle GCC attribute for checking printf-style formats
  */
  */
 /*#define HAS_TTYNAME_R           /**/
 #define TTYNAME_R_PROTO 0         /**/
+/* GMTIME_MAX:
+ *     This symbol contains the maximum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+/* GMTIME_MIN:
+ *     This symbol contains the minimum value for the time_t offset that
+ *     the system function gmtime () accepts, and defaults to 0
+ */
+/* LOCALTIME_MAX:
+ *     This symbol contains the maximum value for the time_t offset that
+ *     the system function localtime () accepts, and defaults to 0
+ */
+/* LOCALTIME_MIN:
+ *     This symbol contains the minimum value for the time_t offset that
+ *     the system function localtime () accepts, and defaults to 0
+ */
+#define GMTIME_MAX             2147483647      /**/
+#define GMTIME_MIN             0       /**/
+#define LOCALTIME_MAX  2147483647      /**/
+#define LOCALTIME_MIN  0       /**/
 
 #endif