X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/d48cfc773d16936b4dfcfc305fcae6cc56950fce..8122f9aa868800bf73cd2d4690654058b6d8f5ac:/perl.h diff --git a/perl.h b/perl.h index fdbad6a..6ab67c1 100644 --- a/perl.h +++ b/perl.h @@ -2643,17 +2643,13 @@ typedef AV PAD; typedef struct padnamelist PADNAMELIST; typedef struct padname PADNAME; -/* enable PERL_NEW_COPY_ON_WRITE by default */ -#if !defined(PERL_OLD_COPY_ON_WRITE) && !defined(PERL_NEW_COPY_ON_WRITE) && !defined(PERL_NO_COW) -# define PERL_NEW_COPY_ON_WRITE +/* enable PERL_COPY_ON_WRITE by default */ +#if !defined(PERL_COPY_ON_WRITE) && !defined(PERL_NO_COW) +# define PERL_COPY_ON_WRITE #endif -#if defined(PERL_OLD_COPY_ON_WRITE) || defined(PERL_NEW_COPY_ON_WRITE) -# if defined(PERL_OLD_COPY_ON_WRITE) && defined(PERL_NEW_COPY_ON_WRITE) -# error PERL_OLD_COPY_ON_WRITE and PERL_NEW_COPY_ON_WRITE are exclusive -# else +#ifdef PERL_COPY_ON_WRITE # define PERL_ANY_COW -# endif #else # define PERL_SAWAMPERSAND #endif @@ -4783,7 +4779,14 @@ EXTCONST unsigned char PL_mod_latin1_uc[] = { 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 255 /*sharp s*/, + 216, 217, 218, 219, 220, 221, 222, +#if UNICODE_MAJOR_VERSION > 2 \ + || (UNICODE_MAJOR_VERSION == 2 && UNICODE_DOT_VERSION >= 1 \ + && UNICODE_DOT_DOT_VERSION >= 8) + 255 /*sharp s*/, +#else /* uc() is itself in early unicode */ + 223, +#endif 224-32, 225-32, 226-32, 227-32, 228-32, 229-32, 230-32, 231-32, 232-32, 233-32, 234-32, 235-32, 236-32, 237-32, 238-32, 239-32, 240-32, 241-32, 242-32, 243-32, 244-32, 245-32, 246-32, 247, @@ -4996,9 +4999,6 @@ EXTCONST char PL_bincompat_options[] = # ifdef PERL_NEED_TIMESBASE " PERL_NEED_TIMESBASE" # endif -# ifdef PERL_OLD_COPY_ON_WRITE - " PERL_OLD_COPY_ON_WRITE" -# endif # ifdef PERL_POISON " PERL_POISON" # endif @@ -5552,7 +5552,7 @@ EXTCONST bool PL_valid_types_NV_set[]; */ /* The quadmath literals are anon structs which -Wc++-compat doesn't like. */ -GCC_DIAG_IGNORE(-Wc++-compat); +GCC_DIAG_IGNORE(-Wc++-compat) # ifdef USE_QUADMATH /* Cannot use HUGE_VALQ for PL_inf because not a compile-time @@ -5622,7 +5622,7 @@ INFNAN_NV_U8_DECL PL_nan = { 0.0/0.0 }; /* keep last */ # endif # endif -GCC_DIAG_RESTORE; +GCC_DIAG_RESTORE #else @@ -5774,6 +5774,8 @@ typedef struct am_table_short AMTS; #define PERLDB_SAVESRC_NOSUBS (PL_perldb & PERLDBf_SAVESRC_NOSUBS) #define PERLDB_SAVESRC_INVALID (PL_perldb & PERLDBf_SAVESRC_INVALID) +#define PERLDB_LINE_OR_SAVESRC (PL_perldb & (PERLDBf_LINE | PERLDBf_SAVESRC)) + #ifdef USE_LOCALE /* These locale things are all subject to change */ /* Returns TRUE if the plain locale pragma without a parameter is in effect @@ -6795,9 +6797,9 @@ extern void moncontrol(int); * for the quiet/signaling */ #define NV_NAN_QS_BIT_OFFSET \ (8 * (NV_NAN_QS_BYTE_OFFSET) + (NV_NAN_QS_BIT_SHIFT)) -/* NV_NAN_QS_QUIET (always defined) is one if the NV_NAN_QS_QS_BIT being - * on/one indicates quiet NaN. NV_NAN_QS_SIGNALING (also always defined) - * is on/one if the NV_NAN_QS_BIT being one indicates signaling NaN. */ +/* NV_NAN_QS_QUIET (always defined) is true if the NV_NAN_QS_QS_BIT being + * on indicates quiet NaN. NV_NAN_QS_SIGNALING (also always defined) + * is true if the NV_NAN_QS_BIT being on indicates signaling NaN. */ #define NV_NAN_QS_QUIET \ ((NV_NAN_QS_BYTE(PL_nan.u8) & NV_NAN_QS_BIT) == NV_NAN_QS_BIT) #define NV_NAN_QS_SIGNALING (!(NV_NAN_QS_QUIET))