/* HAS_MBLEN:
* This symbol, if defined, indicates that the mblen routine is available
- * to find the number of bytes in a multibye character.
+ * to find the number of bytes in a multibyte character.
*/
#$d_mblen HAS_MBLEN /**/
#$d_endpent HAS_ENDPROTOENT /**/
/* HAS_ENDPWENT:
- * This symbol, if defined, indicates that the getgrent routine is
+ * This symbol, if defined, indicates that the endpwent routine is
* available for finalizing sequential access of the passwd database.
*/
#$d_endpwent HAS_ENDPWENT /**/
* LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
* LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE
* LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE
+ * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN
+ * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN
* LONG_DOUBLE_IS_VAX_H_FLOAT
* LONG_DOUBLE_IS_UNKNOWN_FORMAT
* It is only defined if the system supports long doubles.
* This symbol, if defined, indicates that the union semun is
* defined by including <sys/sem.h>. If not, the user code
* probably needs to define it as:
- * union semun {
+ * union semun {
* int val;
* struct semid_ds *buf;
* unsigned short *array;
- * }
+ * }
*/
/* USE_SEMCTL_SEMUN:
* This symbol, if defined, indicates that union semun is
*/
#$d_atanh HAS_ATANH /**/
+/* HAS_NON_INT_BITFIELDS:
+ * This symbol, if defined, indicates that the C compiler accepts, without
+ * error or warning, struct bitfields that are declared with sizes other
+ * than plain 'int'; for example 'unsigned char' is accepted.
+ */
+#$d_non_int_bitfields HAS_NON_INT_BITFIELDS /**/
+
/* HAS_BUILTIN_CHOOSE_EXPR:
* Can we handle GCC builtin for compile-time ternary-like expressions
*/
*/
#$d_fegetround HAS_FEGETROUND /**/
+/* HAS_FFS:
+ * This symbol, if defined, indicates that the ffs routine is available
+ * to find the first bit set in its argument. If it's not available,
+ * roll your own.
+ */
+/* HAS_FFSL:
+ * This symbol, if defined, indicates that the ffsl routine is available
+ * to find the first bit set in its argument. If it's not available,
+ * roll your own.
+ */
+#$d_ffs HAS_FFS /**/
+#$d_ffsl HAS_FFSL /**/
+
/* HAS_FINITE:
* This symbol, if defined, indicates that the finite routine is
* available to check whether a double is finite (non-infinity non-NaN).
/* HAS_MEMMEM:
* This symbol, if defined, indicates that the memmem routine is
- * available to return a pointer to the start of the first occurance
+ * available to return a pointer to the start of the first occurrence
* of a substring in a memory area (or NULL if not found).
* In glibc, memmem is a GNU extension. The function is visible in
* libc, but the prototype is only visible if _GNU_SOURCE is #defined.
*/
#$d_strtouq HAS_STRTOUQ /**/
+/* HAS_STRXFRM_L:
+ * This symbol, if defined, indicates that the strxfrm_l() routine is
+ * available to transform strings.
+ */
+#$d_strxfrm_l HAS_STRXFRM_L /**/
+
/* HAS_SYSCALL_PROTO:
* This symbol, if defined, indicates that the system provides
* a prototype for the syscall() function. Otherwise, it is up
*/
#$usecbacktrace USE_C_BACKTRACE /**/
+/* USE_STRICT_BY_DEFAULT:
+ * This symbol, if defined, enables additional defaults.
+ * At this time it only enables implicit strict by default.
+ */
+#$usedefaultstrict USE_STRICT_BY_DEFAULT /* use strict by default */
+
/* USE_DTRACE:
* This symbol, if defined, indicates that Perl should
* be built with support for DTrace.
#$d_endservent_r HAS_ENDSERVENT_R /**/
#define ENDSERVENT_R_PROTO $endservent_r_proto /**/
+/* GETENV_PRESERVES_OTHER_THREAD:
+ * This symbol, if defined, indicates that the getenv system call doesn't
+ * zap the static buffer of getenv() in a different thread.
+ *
+ * The typical getenv() implementation will return a pointer to the proper
+ * position in **environ. But some may instead copy them to a static
+ * buffer in getenv(). If there is a per-thread instance of that buffer,
+ * or the return points to **environ, then a many-reader/1-writer mutex
+ * will work; otherwise an exclusive locking mutex is required to prevent
+ * races.
+ */
+#$d_getenv_preserves_other_thread GETENV_PRESERVES_OTHER_THREAD /**/
+
/* HAS_GETGRENT_R:
* This symbol, if defined, indicates that the getgrent_r routine
* is available to getgrent re-entrantly.
#define L_R_TZSET
#endif
+/* L_R_TZSET:
+ * If localtime_r() needs tzset, it is defined in this define
+ */
/* LOCALTIME_R_PROTO:
* This symbol encodes the prototype of localtime_r.
* It is zero if d_localtime_r is undef, and one of the
*/
#$d_mbrtowc HAS_MBRTOWC /**/
+/* HAS_NL_LANGINFO_L:
+ * This symbol, when defined, indicates presence of the nl_langinfo_l()
+ * function
+ */
/* HAS_THREAD_SAFE_NL_LANGINFO_L:
* This symbol, when defined, indicates presence of the nl_langinfo_l()
* function, and that it is thread-safe.
*/
+#$d_nl_langinfo_l HAS_NL_LANGINFO_L /**/
#$d_thread_safe_nl_langinfo_l HAS_THREAD_SAFE_NL_LANGINFO_L /**/
/* OLD_PTHREAD_CREATE_JOINABLE:
* This symbol, if defined, indicates that Perl should be built to
* use the interpreter-based threading implementation.
*/
-/* USE_5005THREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the 5.005-based threading implementation.
- * Only valid up to 5.8.x.
+/* USE_THREADS:
+ * This symbol, if defined, indicates that Perl should
+ * be built to use threads. At present, it is a synonym for
+ * and USE_ITHREADS, but eventually the source ought to be
+ * changed to use this to mean _any_ threading implementation.
*/
/* OLD_PTHREADS_API:
* This symbol, if defined, indicates that Perl should
* try to use the various _r versions of library functions.
* This is extremely experimental.
*/
-#$use5005threads USE_5005THREADS /**/
#$useithreads USE_ITHREADS /**/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define USE_THREADS /* until src is revised*/
-#endif
+#$usethreads USE_THREADS /**/
#$d_oldpthreads OLD_PTHREADS_API /**/
#$usereentrant USE_REENTRANT_API /**/