This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Finish adding memrchr Configure probe
[perl5.git] / Porting / Glossary
index c58fb52..58e06e7 100644 (file)
@@ -405,6 +405,10 @@ d_accessx (d_accessx.U):
        This variable conditionally defines the HAS_ACCESSX symbol, which
        indicates to the C program that the accessx() routine is available.
 
+d_acosh (d_acosh.U):
+       This variable conditionally defines the HAS_ACOSH symbol, which
+       indicates to the C program that the acosh() routine is available.
+
 d_aintl (d_aintl.U):
        This variable conditionally defines the HAS_AINTL symbol, which
        indicates to the C program that the aintl() routine is available.
@@ -428,6 +432,14 @@ d_asctime_r (d_asctime_r.U):
        which indicates to the C program that the asctime_r()
        routine is available.
 
+d_asinh (d_asinh.U):
+       This variable conditionally defines the HAS_ASINH symbol, which
+       indicates to the C program that the asinh() routine is available.
+
+d_atanh (d_atanh.U):
+       This variable conditionally defines the HAS_ATANH symbol, which
+       indicates to the C program that the atanh() routine is available.
+
 d_atolf (atolf.U):
        This variable conditionally defines the HAS_ATOLF symbol, which
        indicates to the C program that the atolf() routine is available.
@@ -535,6 +547,11 @@ d_castneg (d_castneg.U):
        This variable conditionally defines CASTNEG, which indicates
        whether the C compiler can cast negative float to unsigned.
 
+d_cbrt (d_cbrt.U):
+       This variable conditionally defines the HAS_CBRT symbol, which
+       indicates to the C program that the cbrt() (cube root) function
+       is available.
+
 d_charvspr (d_vprintf.U):
        This variable conditionally defines CHARVSPRINTF if this system
        has vsprintf returning type (char*).  The trend seems to be to
@@ -574,6 +591,10 @@ d_const (d_const.U):
        indicates to the C program that this C compiler knows about the
        const type.
 
+d_copysign (d_copysign.U):
+       This variable conditionally defines the HAS_COPYSIGN symbol, which
+       indicates to the C program that the copysign() routine is available.
+
 d_copysignl (d_copysignl.U):
        This variable conditionally defines the HAS_COPYSIGNL symbol, which
        indicates to the C program that the copysignl() routine is available.
@@ -678,6 +699,38 @@ d_dosuid (d_dosuid.U):
        tells the C program that it should insert setuid emulation code
        on hosts which have setuid #! scripts disabled.
 
+d_double_has_inf (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_HAS_INF
+       which indicates that the double type has an infinity.
+
+d_double_has_nan (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_HAS_INF
+       which indicates that the double type has a not-a-number.
+
+d_double_has_negative_zero (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_HAS_NEGATIVE_ZERO
+       which indicates that the double type has a negative zero.
+
+d_double_has_subnormals (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_HAS_SUBNORMALS
+       which indicates that the double type has subnormals (denormals).
+
+d_double_style_cray (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_STYLE_CRAY
+       which indicates that the double is the 64-bit CRAY mainframe format.
+
+d_double_style_ibm (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_STYLE_IBM,
+       which indicates that the double is the 64-bit IBM mainframe format.
+
+d_double_style_ieee (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_STYLE_IEEE,
+       which indicates that the double is the 64-bit IEEE 754.
+
+d_double_style_vax (longdblfio.U):
+       This variable conditionally defines the symbol DOUBLE_STYLE_VAX,
+       which indicates that the double is the 64-bit VAX format D or G.
+
 d_drand48_r (d_drand48_r.U):
        This variable conditionally defines the HAS_DRAND48_R symbol,
        which indicates to the C program that the drand48_r()
@@ -693,6 +746,11 @@ d_dup2 (d_dup2.U):
        This variable conditionally defines HAS_DUP2 if dup2() is
        available to duplicate file descriptors.
 
+d_duplocale (d_newlocale.U):
+       This variable conditionally defines the HAS_DUPLOCALE symbol, which
+       indicates to the C program that the duplocale() routine is available
+       to duplicate a locale object.
+
 d_eaccess (d_eaccess.U):
        This variable conditionally defines the HAS_EACCESS symbol, which
        indicates to the C program that the eaccess() routine is available.
@@ -757,10 +815,26 @@ d_eofnblk (nblock_io.U):
        This variable conditionally defines EOF_NONBLOCK if EOF can be seen
        when reading from a non-blocking I/O source.
 
+d_erf (d_erf.U):
+       This variable conditionally defines the HAS_ERF symbol, which
+       indicates to the C program that the erf() routine is available.
+
+d_erfc (d_erfc.U):
+       This variable conditionally defines the HAS_ERFC symbol, which
+       indicates to the C program that the erfc() routine is available.
+
 d_eunice (Guess.U):
        This variable conditionally defines the symbols EUNICE and VAX, which
        alerts the C program that it must deal with idiosyncrasies of VMS.
 
+d_exp2 (d_exp2.U):
+       This variable conditionally defines the HAS_EXP2 symbol, which
+       indicates to the C program that the exp2() routine is available.
+
+d_expm1 (d_expm1.U):
+       This variable conditionally defines the HAS_EXPM1 symbol, which
+       indicates to the C program that the expm1() routine is available.
+
 d_faststdio (d_faststdio.U):
        This variable conditionally defines the HAS_FAST_STDIO symbol,
        which indicates to the C program that the "fast stdio" is available
@@ -775,6 +849,10 @@ d_fchmod (d_fchmod.U):
        indicates to the C program that the fchmod() routine is available
        to change mode of opened files.
 
+d_fchmodat (d_fsat.U):
+       This variable conditionally defines the HAS_FCHMODAT symbol, which
+       indicates the POSIX fchmodat() function is available.
+
 d_fchown (d_fchown.U):
        This variable conditionally defines the HAS_FCHOWN symbol, which
        indicates to the C program that the fchown() routine is available
@@ -797,6 +875,14 @@ d_fd_set (d_fd_set.U):
        This variable contains the eventual value of the HAS_FD_SET symbol,
        which indicates if your C compiler knows about the fd_set typedef.
 
+d_fdclose (d_fdclose.U):
+       This variable conditionally defines the HAS_FDCLOSE symbol, which
+       indicates to the C program that the fdclose() routine is available.
+
+d_fdim (d_fdim.U):
+       This variable conditionally defines the HAS_FDIM symbol, which
+       indicates to the C program that the fdim() routine is available.
+
 d_fds_bits (d_fd_set.U):
        This variable contains the eventual value of the HAS_FDS_BITS symbol,
        which indicates if your fd_set typedef contains the fds_bits member.
@@ -804,6 +890,10 @@ d_fds_bits (d_fd_set.U):
        a half-fast job and neglected to provide the macros to manipulate
        an fd_set, HAS_FDS_BITS will let us know how to fix the gaffe.
 
+d_fegetround (d_fegetround.U):
+       This variable conditionally defines HAS_FEGETROUND if fegetround() is
+       available to get the floating point rounding mode.
+
 d_fgetpos (d_fgetpos.U):
        This variable conditionally defines HAS_FGETPOS if fgetpos() is
        available to get the file position indicator.
@@ -830,6 +920,18 @@ d_flockproto (d_flockproto.U):
        a prototype for the flock() function.  Otherwise, it is
        up to the program to supply one.
 
+d_fma (d_fma.U):
+       This variable conditionally defines the HAS_FMA symbol, which
+       indicates to the C program that the fma() routine is available.
+
+d_fmax (d_fmax.U):
+       This variable conditionally defines the HAS_FMAX symbol, which
+       indicates to the C program that the fmax() routine is available.
+
+d_fmin (d_fmin.U):
+       This variable conditionally defines the HAS_FMIN symbol, which
+       indicates to the C program that the fmin() routine is available.
+
 d_fork (d_fork.U):
        This variable conditionally defines the HAS_FORK symbol, which
        indicates to the C program that the fork() routine is available.
@@ -838,6 +940,14 @@ d_fp_class (d_fp_class.U):
        This variable conditionally defines the HAS_FP_CLASS symbol, which
        indicates to the C program that the fp_class() routine is available.
 
+d_fp_classify (d_fpclassify.U):
+       This variable conditionally defines the HAS_FP_CLASSIFY symbol, which
+       indicates to the C program that the fp_classify() routine is available.
+
+d_fp_classl (d_fp_classl.U):
+       This variable conditionally defines the HAS_FP_CLASSL symbol, which
+       indicates to the C program that the fp_classl() routine is available.
+
 d_fpathconf (d_pathconf.U):
        This variable conditionally defines the HAS_FPATHCONF symbol, which
        indicates to the C program that the pathconf() routine is available
@@ -856,9 +966,18 @@ d_fpclassl (d_fpclassl.U):
        This variable conditionally defines the HAS_FPCLASSL symbol, which
        indicates to the C program that the fpclassl() routine is available.
 
+d_fpgetround (d_fpgetround.U):
+       This variable conditionally defines HAS_FPGETROUND if fpgetround()
+       is available to get the floating point rounding mode.
+
 d_fpos64_t (d_fpos64_t.U):
        This symbol will be defined if the C compiler supports fpos64_t.
 
+d_freelocale (d_newlocale.U):
+       This variable conditionally defines the HAS_FREELOCALE symbol, which
+       indicates to the C program that the freelocale() routine is available
+       to deallocates the resources associated with a locale object.
+
 d_frexpl (d_frexpl.U):
        This variable conditionally defines the HAS_FREXPL symbol, which
        indicates to the C program that the frexpl() routine is available.
@@ -900,6 +1019,12 @@ d_futimes (d_futimes.U):
        This variable conditionally defines the HAS_FUTIMES symbol, which
        indicates to the C program that the futimes() routine is available.
 
+d_gai_strerror (d_gai_strerror.U):
+       This variable conditionally defines the HAS_GAI_STRERROR symbol
+       if the gai_strerror() routine is available and can be used to
+       translate error codes returned by getaddrinfo() into human
+       readable strings.
+
 d_Gconvert (d_gconvert.U):
        This variable holds what Gconvert is defined as to convert
        floating point numbers into strings.  By default, Configure
@@ -1250,9 +1375,19 @@ d_htonl (d_htonl.U):
        This variable conditionally defines HAS_HTONL if htonl() and its
        friends are available to do network order byte swapping.
 
+d_hypot (d_hypot.U):
+       This variable conditionally defines HAS_HYPOT if hypot is available
+       for numerically stable hypotenuse function.
+
+d_ilogb (d_ilogb.U):
+       This variable conditionally defines the HAS_ILOGB symbol, which
+       indicates to the C program that the ilogb() routine is available
+       for extracting the exponent of double x as a signed integer.
+
 d_ilogbl (d_ilogbl.U):
        This variable conditionally defines the HAS_ILOGBL symbol, which
-       indicates to the C program that the ilogbl() routine is available.
+       indicates to the C program that the ilogbl() routine is available
+       for extracting the exponent of long double x as a signed integer.
        If scalbnl is also present we can emulate frexpl.
 
 d_inc_version_list (inc_version_list.U):
@@ -1309,10 +1444,22 @@ d_isfinite (d_isfinite.U):
        This variable conditionally defines the HAS_ISFINITE symbol, which
        indicates to the C program that the isfinite() routine is available.
 
+d_isfinitel (d_isfinitel.U):
+       This variable conditionally defines the HAS_ISFINITEL symbol, which
+       indicates to the C program that the isfinitel() routine is available.
+
 d_isinf (d_isinf.U):
        This variable conditionally defines the HAS_ISINF symbol, which
        indicates to the C program that the isinf() routine is available.
 
+d_isinfl (d_isinfl.U):
+       This variable conditionally defines the HAS_ISINFL symbol, which
+       indicates to the C program that the isinfl() routine is available.
+
+d_isless (d_isless.U):
+       This variable conditionally defines the HAS_ISLESS symbol, which
+       indicates to the C program that the isless() routine is available.
+
 d_isnan (d_isnan.U):
        This variable conditionally defines the HAS_ISNAN symbol, which
        indicates to the C program that the isnan() routine is available.
@@ -1321,11 +1468,28 @@ d_isnanl (d_isnanl.U):
        This variable conditionally defines the HAS_ISNANL symbol, which
        indicates to the C program that the isnanl() routine is available.
 
+d_isnormal (d_isnormal.U):
+       This variable conditionally defines the HAS_ISNORMAL symbol, which
+       indicates to the C program that the isnormal() routine is available.
+
+d_j0 (d_j0.U):
+       This variable conditionally defines the HAS_J0 symbol, which
+       indicates to the C program that the j0() routine is available.
+
+d_j0l (d_j0.U):
+       This variable conditionally defines the HAS_J0L symbol, which
+       indicates to the C program that the j0l() routine is available.
+
 d_killpg (d_killpg.U):
        This variable conditionally defines the HAS_KILLPG symbol, which
        indicates to the C program that the killpg() routine is available
        to kill process groups.
 
+d_lc_monetary_2008 (d_lc_monetary_2008.U):
+       This variable conditionally defines HAS_LC_MONETARY_2008 if libc
+       has the international currency locale rules from POSIX
+       1003.1-2008.
+
 d_lchown (d_lchown.U):
        This variable conditionally defines the HAS_LCHOWN symbol, which
        indicates to the C program that the lchown() routine is available
@@ -1336,6 +1500,20 @@ d_ldbl_dig (d_ldbl_dig.U):
        header files provide LDBL_DIG, which is the number of significant
        digits in a long double precision number.
 
+d_ldexpl (d_longdbl.U):
+       This variable conditionally defines the HAS_LDEXPL symbol, which
+       indicates to the C program that the ldexpl() routine is available.
+
+d_lgamma (d_lgamma.U):
+       This variable conditionally defines the HAS_LGAMMA symbol, which
+       indicates to the C program that the lgamma() routine is available
+       for the log gamma function.  See also d_tgamma and d_lgamma_r.
+
+d_lgamma_r (d_lgamma_r.U):
+       This variable conditionally defines the HAS_LGAMMA_R symbol, which
+       indicates to the C program that the lgamma_r() routine is available
+       for the log gamma function, without using the global signgam variable.
+
 d_libm_lib_version (d_libm_lib_version.U):
        This variable conditionally defines the LIBM_LIB_VERSION symbol,
        which indicates to the C program that math.h defines _LIB_VERSION
@@ -1351,6 +1529,32 @@ d_link (d_link.U):
        This variable conditionally defines HAS_LINK if link() is
        available to create hard links.
 
+d_linkat (d_fsat.U):
+       This variable conditionally defines the HAS_LINKAT symbol, which
+       indicates the POSIX linkat() function is available.
+
+d_llrint (d_llrint.U):
+       This variable conditionally defines the HAS_LLRINT symbol, which
+       indicates to the C program that the llrint() routine is available
+       to return the long long value closest to a double (according
+       to the current rounding mode).
+
+d_llrintl (d_llrintl.U):
+       This variable conditionally defines the HAS_LLRINTL symbol, which
+       indicates to the C program that the llrintl() routine is available
+       to return the long long value closest to a long double (according
+       to the current rounding mode).
+
+d_llround (d_llround.U):
+       This variable conditionally defines the HAS_LLROUND symbol, which
+       indicates to the C program that the llround() routine is available
+       to return the long long value nearest to x.
+
+d_llroundl (d_llroundl.U):
+       This variable conditionally defines the HAS_LLROUNDL symbol, which
+       indicates to the C program that the llroundl() routine is available
+       to return the long long value nearest to x away from zero.
+
 d_localtime64 (d_timefuncs64.U):
        This variable conditionally defines the HAS_LOCALTIME64 symbol, which
        indicates to the C program that the localtime64 () routine is available.
@@ -1372,6 +1576,45 @@ d_lockf (d_lockf.U):
        This variable conditionally defines HAS_LOCKF if lockf() is
        available to do file locking.
 
+d_log1p (d_log1p.U):
+       This variable conditionally defines the HAS_LOG1P symbol, which
+       indicates to the C program that the logp1() routine is available
+       to compute log(1 + x) for values of x close to zero.
+
+d_log2 (d_log2.U):
+       This variable conditionally defines the HAS_LOG2 symbol, which
+       indicates to the C program that the log2() routine is available
+       to compute log base two.
+
+d_logb (d_logb.U):
+       This variable conditionally defines the HAS_LOGB symbol, which
+       indicates to the C program that the logb() routine is available
+       to extract the exponent of x.
+
+d_long_double_style_ieee (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_IEEE
+       if the long double is any of the IEEE 754 style long doubles:
+       LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
+       LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
+
+d_long_double_style_ieee_doubledouble (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE
+       if the long double is the 128-bit IEEE 754 double-double.
+
+d_long_double_style_ieee_extended (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_IEEE_EXTENDED
+       if the long double is the 80-bit IEEE 754 extended precision.
+       Note that despite the 'extended' this is less than the 'std',
+       since thisis an extension of the double precision.
+
+d_long_double_style_ieee_std (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_IEEE_STD
+       if the long double is the 128-bit IEEE 754.
+
+d_long_double_style_vax (d_longdbl.U):
+       This variable conditionally defines LONG_DOUBLE_STYLE_VAX
+       if the long double is the 128-bit VAX format H.
+
 d_longdbl (d_longdbl.U):
        This variable conditionally defines HAS_LONG_DOUBLE if
        the long double type is supported.
@@ -1380,6 +1623,28 @@ d_longlong (d_longlong.U):
        This variable conditionally defines HAS_LONG_LONG if
        the long long type is supported.
 
+d_lrint (d_lrint.U):
+       This variable conditionally defines the HAS_LRINT symbol, which
+       indicates to the C program that the lrint() routine is available
+       to return the integral value closest to a double (according
+       to the current rounding mode).
+
+d_lrintl (d_lrintl.U):
+       This variable conditionally defines the HAS_LRINTL symbol, which
+       indicates to the C program that the lrintl() routine is available
+       to return the integral value closest to a long double (according
+       to the current rounding mode).
+
+d_lround (d_lround.U):
+       This variable conditionally defines the HAS_LROUND symbol, which
+       indicates to the C program that the lround() routine is available
+       to return the integral value nearest to x.
+
+d_lroundl (d_lroundl.U):
+       This variable conditionally defines the HAS_LROUNDL symbol, which
+       indicates to the C program that the lroundl() routine is available
+       to return the integral value nearest to x away from zero.
+
 d_lseekproto (d_lseekproto.U):
        This variable conditionally defines the HAS_LSEEK_PROTO symbol,
        which indicates to the C program that the system provides
@@ -1432,6 +1697,12 @@ d_memcpy (d_memcpy.U):
        indicates to the C program that the memcpy() routine is available
        to copy blocks of memory.
 
+d_memmem (d_memmem.U):
+       This variable conditionally defines the HAS_MEMMEM symbol, which
+       indicates to the C program that the memmem() routine is available
+       to return a pointer to the start of the first occurance of a
+       substring in a memory area (or NULL if not found).
+
 d_memmove (d_memmove.U):
        This variable conditionally defines the HAS_MEMMOVE symbol, which
        indicates to the C program that the memmove() routine is available
@@ -1442,6 +1713,12 @@ d_memset (d_memset.U):
        indicates to the C program that the memset() routine is available
        to set blocks of memory.
 
+d_memrchr (d_memrchr.U):
+       This variable conditionally defines the HAS_MEMRCHR symbol, which
+       indicates to the C program that the memrchr() routine is available
+       to return a pointer to the last occurrence of a byte in a memory
+       area (or NULL if not found).
+
 d_mkdir (d_mkdir.U):
        This variable conditionally defines the HAS_MKDIR symbol, which
        indicates to the C program that the mkdir() routine is available
@@ -1483,13 +1760,6 @@ d_modfl (d_modfl.U):
        This variable conditionally defines the HAS_MODFL symbol, which
        indicates to the C program that the modfl() routine is available.
 
-d_modfl_pow32_bug (d_modfl.U):
-       This variable conditionally defines the HAS_MODFL_POW32_BUG symbol,
-       which indicates that modfl() is broken for long doubles >= pow(2, 32).
-       For example from 4294967303.150000 one would get 4294967302.000000
-       and 1.150000.  The bug has been seen in certain versions of glibc,
-       release 2.2.2 is known to be okay.
-
 d_modflproto (d_modfl.U):
        This symbol, if defined, indicates that the system provides
        a prototype for the modfl() function.  Otherwise, it is up
@@ -1562,6 +1832,10 @@ d_mymalloc (mallocsrc.U):
        of the source want to take special action if MYMALLOC is used.
        This may include different sorts of profiling or error detection.
 
+d_nan (d_nan.U):
+       This variable conditionally defines HAS_NAN if nan() is
+       available to generate NaN.
+
 d_ndbm (i_ndbm.U):
        This variable conditionally defines the HAS_NDBM symbol, which
        indicates that both the ndbm.h include file and an appropriate ndbm
@@ -1579,6 +1853,26 @@ d_ndbm_h_uses_prototypes (i_ndbm.U):
        undefined. Consult the different d_*ndbm_h_uses_prototypes variables
        to get the same information for alternative ndbm.h include files.
 
+d_nearbyint (d_nearbyint.U):
+       This variable conditionally defines HAS_NEARBYINT if nearbyint()
+       is available to return the integral value closest to (according to
+       the current rounding mode) to x.
+
+d_newlocale (d_newlocale.U):
+       This variable conditionally defines the HAS_NEWLOCALE symbol, which
+       indicates to the C program that the newlocale() routine is available
+       to return a new locale object or modify an existing locale object.
+
+d_nextafter (d_nextafter.U):
+       This variable conditionally defines HAS_NEXTAFTER if nextafter()
+       is available to return the next machine representable double from
+       x in direction y.
+
+d_nexttoward (d_nexttoward.U):
+       This variable conditionally defines HAS_NEXTTOWARD if nexttoward()
+       is available to return the next machine representable long double from
+       x in direction y.
+
 d_nice (d_nice.U):
        This variable conditionally defines the HAS_NICE symbol, which
        indicates to the C program that the nice() routine is available.
@@ -1617,6 +1911,10 @@ d_open3 (d_open3.U):
        which indicates to the C program that the 3 argument version of
        the open(2) function is available.
 
+d_openat (d_fsat.U):
+       This variable conditionally defines the HAS_OPENAT symbol, which
+       indicates the POSIX openat() function is available.
+
 d_pathconf (d_pathconf.U):
        This variable conditionally defines the HAS_PATHCONF symbol, which
        indicates to the C program that the pathconf() routine is available
@@ -1656,6 +1954,8 @@ d_portable (d_portable.U):
 d_prctl (d_prctl.U):
        This variable conditionally defines the HAS_PRCTL symbol, which
        indicates to the C program that the prctl() routine is available.
+       Note that there are at least two prctl variants: Linux and Irix.
+       While they are somewhat similar, they are incompatible.
 
 d_prctl_set_name (d_prctl.U):
        This variable conditionally defines the HAS_PRCTL_SET_NAME symbol,
@@ -1746,6 +2046,9 @@ d_pthread_yield (d_pthread_y.U):
        symbol if the pthread_yield routine is available to yield
        the execution of the current thread.
 
+d_ptrdiff_t (d_ptrdiff_t.U):
+       This symbol will be defined if the C compiler supports ptrdiff_t.
+
 d_pwage (i_pwd.U):
        This variable conditionally defines PWAGE, which indicates
        that struct passwd contains pw_age.
@@ -1786,11 +2089,22 @@ d_quad (quadtype.U):
        This variable, if defined, tells that there's a 64-bit integer type,
        quadtype.
 
+d_querylocale (d_newlocale.U):
+       This variable conditionally defines the HAS_QUERYLOCALE symbol, which
+       indicates to the C program that the querylocale() routine is available
+       to return the name of the locale for a category mask.
+
 d_random_r (d_random_r.U):
        This variable conditionally defines the HAS_RANDOM_R symbol,
        which indicates to the C program that the random_r()
        routine is available.
 
+d_re_comp (d_regcmp.U):
+       This variable conditionally defines the HAS_RECOMP symbol, which
+       indicates to the C program that the re_comp() routine is available
+       for regular patern matching (usally on BSD). If so, it is likely that
+       re_exec() exists.
+
 d_readdir (d_readdir.U):
        This variable conditionally defines HAS_READDIR if readdir() is
        available to read directory entries.
@@ -1818,19 +2132,49 @@ d_recvmsg (d_recvmsg.U):
        This variable conditionally defines the HAS_RECVMSG symbol, which
        indicates to the C program that the recvmsg() routine is available.
 
+d_regcmp (d_regcmp.U):
+       This variable conditionally defines the HAS_REGCMP symbol, which
+       indicates to the C program that the regcmp() routine is available
+       for regular patern matching (usally on System V).
+
+d_regcomp (d_regcmp.U):
+       This variable conditionally defines the HAS_REGCOMP symbol, which
+       indicates to the C program that the regcomp() routine is available
+       for regular patern matching (usally on POSIX.2 conforming systems).
+
+d_remainder (d_remainder.U):
+       This variable conditionally defines the HAS_REMAINDER symbol, which
+       indicates to the C program that the remainder() routine is available.
+
+d_remquo (d_remquo.U):
+       This variable conditionally defines the HAS_REMQUO symbol, which
+       indicates to the C program that the remquo() routine is available.
+
 d_rename (d_rename.U):
        This variable conditionally defines the HAS_RENAME symbol, which
        indicates to the C program that the rename() routine is available
        to rename files.
 
+d_renameat (d_fsat.U):
+       This variable conditionally defines the HAS_RENAMEAT symbol, which
+       indicates the POSIX renameat() function is available.
+
 d_rewinddir (d_readdir.U):
        This variable conditionally defines HAS_REWINDDIR if rewinddir() is
        available.
 
+d_rint (d_rint.U):
+       This variable conditionally defines the HAS_RINT symbol, which
+       indicates to the C program that the rint() routine is available.
+
 d_rmdir (d_rmdir.U):
        This variable conditionally defines HAS_RMDIR if rmdir() is
        available to remove directories.
 
+d_round (d_round.U):
+       This variable conditionally defines the HAS_ROUND symbol, which
+       indicates to the C program that the round() routine is available.
+
 d_safebcpy (d_safebcpy.U):
        This variable conditionally defines the HAS_SAFE_BCOPY symbol if
        the bcopy() routine can do overlapping copies.  Normally, you
@@ -1852,6 +2196,10 @@ d_sbrkproto (d_sbrkproto.U):
        a prototype for the sbrk() function.  Otherwise, it is
        up to the program to supply one.
 
+d_scalbn (d_scalbn.U):
+       This variable conditionally defines the HAS_SCALBN symbol, which
+       indicates to the C program that the scalbn() routine is available.
+
 d_scalbnl (d_scalbnl.U):
        This variable conditionally defines the HAS_SCALBNL symbol, which
        indicates to the C program that the scalbnl() routine is available.
@@ -2088,6 +2436,38 @@ d_sigaction (d_sigaction.U):
        This variable conditionally defines the HAS_SIGACTION symbol, which
        indicates that the Vr4 sigaction() routine is available.
 
+d_siginfo_si_addr (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_ADDR symbol,
+       which indicates that the siginfo_t struct has the si_addr member.
+
+d_siginfo_si_band (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_BAND symbol,
+       which indicates that the siginfo_t struct has the si_band member.
+
+d_siginfo_si_errno (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_ERRNO symbol,
+       which indicates that the siginfo_t struct has the si_errno member.
+
+d_siginfo_si_fd (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_FD symbol,
+       which indicates that the siginfo_t struct has the si_fd member.
+
+d_siginfo_si_pid (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_PID symbol,
+       which indicates that the siginfo_t struct has the si_pid member.
+
+d_siginfo_si_status (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_STATUS symbol,
+       which indicates that the siginfo_t struct has the si_status member.
+
+d_siginfo_si_uid (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_UID symbol,
+       which indicates that the siginfo_t struct has the si_uid member.
+
+d_siginfo_si_value (d_siginfo_si.U):
+       This variable conditionally defines the HAS_SIGINFO_SI_VALUE symbol,
+       which indicates that the siginfo_t struct has the si_value member.
+
 d_signbit (d_signbit.U):
        This variable conditionally defines the HAS_SIGNBIT symbol, which
        indicates to the C program that the signbit() routine is available
@@ -2184,6 +2564,10 @@ d_sresuproto (d_sresuproto.U):
        a prototype for the setresuid() function.  Otherwise, it is
        up to the program to supply one.
 
+d_stat (d_stat.U):
+       This variable conditionally defines HAS_STAT if stat() is
+       available to get file status.
+
 d_statblks (d_statblks.U):
        This variable conditionally defines USE_STAT_BLOCKS
        if this system has a stat structure declaring
@@ -2263,6 +2647,12 @@ d_strerror (d_strerror.U):
        This variable conditionally defines HAS_STRERROR if strerror() is
        available to translate error numbers to strings.
 
+d_strerror_l (d_strerror_l.U):
+       This variable conditionally defines the HAS_STRERROR_L symbol, which
+       indicates to the C program that the strerror_l() routine is available
+       to return the error message for a given errno value in a particular
+       locale (identified by a locale_t object).
+
 d_strerror_r (d_strerror_r.U):
        This variable conditionally defines the HAS_STRERROR_R symbol,
        which indicates to the C program that the strerror_r()
@@ -2375,6 +2765,11 @@ d_telldirproto (d_telldirproto.U):
        a prototype for the telldir() function.  Otherwise, it is
        up to the program to supply one.
 
+d_tgamma (d_tgamma.U):
+       This variable conditionally defines the HAS_TGAMMA symbol, which
+       indicates to the C program that the tgamma() routine is available
+       for the gamma function.  See also d_lgamma.
+
 d_time (d_time.U):
        This variable conditionally defines the HAS_TIME symbol, which indicates
        that the time() routine exists.  The time() routine is normally
@@ -2402,10 +2797,21 @@ d_tmpnam_r (d_tmpnam_r.U):
        which indicates to the C program that the tmpnam_r()
        routine is available.
 
+d_trunc (d_trunc.U):
+       This variable conditionally defines the HAS_TRUNC symbol, which
+       indicates to the C program that the trunc() routine is available
+       to round doubles towards zero.
+
 d_truncate (d_truncate.U):
        This variable conditionally defines HAS_TRUNCATE if truncate() is
        available to truncate files.
 
+d_truncl (d_truncl.U):
+       This variable conditionally defines the HAS_TRUNCL symbol, which
+       indicates to the C program that the truncl() routine is available
+       to round long doubles towards zero. If copysignl is also present,
+       we can emulate modfl.
+
 d_ttyname_r (d_ttyname_r.U):
        This variable conditionally defines the HAS_TTYNAME_R symbol,
        which indicates to the C program that the ttyname_r()
@@ -2437,6 +2843,10 @@ d_union_semun (d_union_semun.U):
        This variable conditionally defines HAS_UNION_SEMUN if the
        union semun is defined by including <sys/sem.h>.
 
+d_unlinkat (d_fsat.U):
+       This variable conditionally defines the HAS_UNLINKAT symbol, which
+       indicates the POSIX unlinkat() function isavailable.
+
 d_unordered (d_unordered.U):
        This variable conditionally defines the HAS_UNORDERED symbol, which
        indicates to the C program that the unordered() routine is available.
@@ -2445,6 +2855,11 @@ d_unsetenv (d_unsetenv.U):
        This variable conditionally defines the HAS_UNSETENV symbol, which
        indicates to the C program that the unsetenv () routine is available.
 
+d_uselocale (d_newlocale.U):
+       This variable conditionally defines the HAS_USELOCALE symbol, which
+       indicates to the C program that the uselocale() routine is available
+       to set the current locale for the calling thread.
+
 d_usleep (d_usleep.U):
        This variable conditionally defines HAS_USLEEP if usleep() is
        available to do high granularity sleeps.
@@ -2570,6 +2985,9 @@ db_version_patch (i_db.U):
        Berkeley DB found in the <db.h> header file.
        For DB version 1 this is always 0.
 
+default_inc_excludes_dot (defaultincdot.U):
+       When defined, remove the legacy '.' from @INC
+
 direntrytype (i_dirent.U):
        This symbol is set to 'struct direct' or 'struct dirent' depending on
        whether dirent is available or not. You should use this pseudo type to
@@ -2583,6 +3001,39 @@ dlsrc (dlsrc.U):
        This variable contains the name of the dynamic loading file that
        will be used with the package.
 
+doubleinfbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the double precision infinity.
+
+doublekind (longdblfio.U):
+       This variable, if defined, encodes the type of a double:
+       1 = IEEE 754 32-bit little endian,
+       2 = IEEE 754 32-bit big endian,
+       3 = IEEE 754 64-bit little endian,
+       4 = IEEE 754 64-bit big endian,
+       5 = IEEE 754 128-bit little endian,
+       6 = IEEE 754 128-bit big endian,
+       7 = IEEE 754 64-bit mixed endian le-be,
+       8 = IEEE 754 64-bit mixed endian be-le,
+       9 = VAX 32bit little endian F float format
+       10 = VAX 64bit little endian D float format
+       11 = VAX 64bit little endian G float format
+       12 = IBM 32bit format
+       13 = IBM 64bit format
+       14 = Cray 64bit format
+       -1 = unknown format.
+
+doublemantbits (mantbits.U):
+       This symbol, if defined, tells how many mantissa bits
+       there are in double precision floating point format.
+       Note that this is usually DBL_MANT_DIG minus one, since
+       with the standard IEEE 754 formats DBL_MANT_DIG includes
+       the implicit bit which doesn't really exist.
+
+doublenanbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the double precision not-a-number.
+
 doublesize (doublesize.U):
        This variable contains the value of the DOUBLESIZE symbol, which
        indicates to the C program how many bytes there are in a double.
@@ -2603,6 +3054,14 @@ drand48_r_proto (d_drand48_r.U):
 dtrace (usedtrace.U):
        This variable holds the location of the dtrace executable.
 
+dtraceobject (dtraceobject.U):
+       Whether we need to build an object file with the dtrace tool.
+
+dtracexnolibs (dtraceobject.U):
+       Whether dtrace accepts -xnolibs.  If available we call dtrace -h
+       and dtrace -G with -xnolibs to allow dtrace to run in a jail on
+       FreeBSD.
+
 dynamic_ext (Extensions.U):
        This variable holds a list of XS extension files we want to
        link dynamically into the package.  It is used by Makefile.
@@ -3079,6 +3538,11 @@ i_fcntl (i_fcntl.U):
        This variable controls the value of I_FCNTL (which tells
        the C program to include <fcntl.h>).
 
+i_fenv (i_fenv.U):
+       This variable conditionally defines the I_FENV symbol, which
+       indicates to the C program that <fenv.h> exists and should
+       be included.
+
 i_float (i_float.U):
        This variable conditionally defines the I_FLOAT symbol, and indicates
        whether a C program may include <float.h> to get symbols like DBL_MAX
@@ -3201,6 +3665,10 @@ i_pwd (i_pwd.U):
        This variable conditionally defines I_PWD, which indicates
        to the C program that it should include <pwd.h>.
 
+i_quadmath (i_quadmath.U):
+       This variable conditionally defines I_QUADMATH, which indicates
+       to the C program that it should include <quadmath.h>.
+
 i_rpcsvcdbm (i_dbm.U):
        This variable conditionally defines the I_RPCSVC_DBM symbol, which
        indicates to the C program that <rpcsvc/dbm.h> exists and should
@@ -3234,6 +3702,11 @@ i_stddef (i_stddef.U):
        indicates to the C program that <stddef.h> exists and should
        be included.
 
+i_stdint (i_stdint.U):
+       This variable conditionally defines the I_STDINT symbol, which
+       indicates to the C program that <stdint.h> exists and should
+       be included.
+
 i_stdlib (i_stdlib.U):
        This variable conditionally defines the I_STDLIB symbol, which
        indicates to the C program that <stdlib.h> exists and should
@@ -3413,6 +3886,10 @@ i_vfork (i_vfork.U):
        This variable conditionally defines the I_VFORK symbol, and indicates
        whether a C program should include vfork.h.
 
+i_xlocale (d_newlocale.U):
+       This symbol, if defined, indicates to the C program that it should
+       include <xlocale.h> to get uselocale() and its friends
+
 ignore_versioned_solibs (libs.U):
        This variable should be non-empty if non-versioned shared
        libraries (libfoo.so.x.y) are to be ignored (because they
@@ -3793,10 +4270,41 @@ loclibpth (libpth.U):
        libraries.  It is prepended to libpth, and is intended to be easily
        set from the command line.
 
+longdblinfbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the long double precision infinity.
+
+longdblkind (d_longdbl.U):
+       This variable, if defined, encodes the type of a long double:
+       0 = double,
+       1 = IEEE 754 128-bit little endian,
+       2 = IEEE 754 128-bit big endian,
+       3 = x86 80-bit little endian,
+       4 = x86 80-bit big endian,
+       5 = double-double 128-bit little endian,
+       6 = double-double 128-bit big endian,
+       7 = 128-bit mixed-endian double-double (64-bit LEs in BE),
+       8 = 128-bit mixed-endian double-double (64-bit BEs in LE),
+       9 = 128-bit PDP-style mixed-endian long doubles,
+       -1 = unknown format.
+
+longdblmantbits (mantbits.U):
+       This symbol, if defined, tells how many mantissa bits
+       there are in long double precision floating point format.
+       Note that this can be LDBL_MANT_DIG minus one,
+       since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
+       The common x86-style 80-bit long double does not have
+       an implicit bit.
+
+longdblnanbytes (infnan.U):
+       This variable contains comma-separated list of hexadecimal bytes
+       for the long double precision not-a-number.
+
 longdblsize (d_longdbl.U):
        This variable contains the value of the LONG_DOUBLESIZE symbol, which
        indicates to the C program how many bytes there are in a long double,
-       if this system supports long doubles.
+       if this system supports long doubles.  Note that this is
+       sizeof(long double), which may include unused bytes.
 
 longlongsize (d_longlong.U):
        This variable contains the value of the LONGLONGSIZE symbol, which
@@ -4060,8 +4568,13 @@ nvGUformat (perlxvf.U):
        This variable contains the format string used for printing
        a Perl NV using %G-ish floating point format.
 
+nvmantbits (mantbits.U):
+       This variable tells how many bits the mantissa of a Perl NV has,
+       not including the possible implicit bit.
+
 nvsize (perlxv.U):
-       This variable is the size of an NV in bytes.
+       This variable is the size of a Perl NV in bytes.
+       Note that some floating point formats have unused bytes.
 
 nvtype (perlxv.U):
        This variable contains the C type used for Perl's NV.
@@ -5178,6 +5691,11 @@ useposix (Extensions.U):
        for hints files to indicate that POSIX will not compile
        on a particular system.
 
+usequadmath (usequadmath.U):
+       This variable conditionally defines the USE_QUADMATH symbol,
+       and indicates that the quadmath library __float128 long doubles
+       should be used when available.
+
 usereentrant (usethreads.U):
        This variable conditionally defines the USE_REENTRANT_API symbol,
        which indicates that the thread code may try to use the various