In perl.git, the branch blead has been updated <https://perl5.git.perl.org/perl.git/commitdiff/2b9c8be2c787ef71cd93339abeb95c64fdd07abc?hp=a09f79fbc2455b7ea72a49f6627a639101ba35a2>
- Log ----------------------------------------------------------------- commit 2b9c8be2c787ef71cd93339abeb95c64fdd07abc Author: Nicolas R <[email protected]> Date: Thu May 16 16:47:56 2019 -0600 Revert "Rename PPPort_xs.PL to RealPPPort_xs.PL" This reverts commit 0f14f67985491207f4a0e3936307f4c565717fd6. need to apply after current freeze commit ea03ac00d9f52448d3e7605fe477f03efff9739e Author: Nicolas R <[email protected]> Date: Thu May 16 16:47:37 2019 -0600 Revert "Fix compilation issues with version older than 5.010" This reverts commit a09f79fbc2455b7ea72a49f6627a639101ba35a2. need to apply after current freeze ----------------------------------------------------------------------- Summary of changes: MANIFEST | 2 +- Makefile.SH | 2 +- dist/Devel-PPPort/HACKERS | 4 +- dist/Devel-PPPort/Makefile.PL | 10 +- dist/Devel-PPPort/PPPort.xs | 2 +- dist/Devel-PPPort/PPPort_pm.PL | 16 +-- .../{RealPPPort_xs.PL => PPPort_xs.PL} | 2 +- dist/Devel-PPPort/parts/inc/misc | 143 ++++++--------------- dist/Devel-PPPort/parts/inc/uv | 29 +---- dist/Devel-PPPort/parts/inc/warn | 1 - dist/Devel-PPPort/t/uv.t | 5 +- 11 files changed, 65 insertions(+), 151 deletions(-) rename dist/Devel-PPPort/{RealPPPort_xs.PL => PPPort_xs.PL} (98%) diff --git a/MANIFEST b/MANIFEST index bf1e48b843..07adfc57f1 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3324,7 +3324,7 @@ dist/Devel-PPPort/parts/todo/5024000 Devel::PPPort todo file dist/Devel-PPPort/PPPort.xs Devel::PPPort dummy PPPort.xs dist/Devel-PPPort/ppport_h.PL Devel::PPPort ppport.h writer dist/Devel-PPPort/PPPort_pm.PL Devel::PPPort PPPort.pm writer -dist/Devel-PPPort/RealPPPort_xs.PL Devel::PPPort RealPPPort.xs writer +dist/Devel-PPPort/PPPort_xs.PL Devel::PPPort RealPPPort.xs writer dist/Devel-PPPort/soak Devel::PPPort Test Harness to run under various Perls dist/Devel-PPPort/t/call.t Devel::PPPort test file dist/Devel-PPPort/t/cop.t Devel::PPPort test file diff --git a/Makefile.SH b/Makefile.SH index 76af93ec8e..5777970638 100755 --- a/Makefile.SH +++ b/Makefile.SH @@ -1102,7 +1102,7 @@ catamount) $spitshell >>$Makefile <<!GROK!THIS! .PHONY: makeppport makeppport: \$(MINIPERL_EXE) \$(CONFIGPM) - -@for f in Makefile.PL PPPort_pm.PL RealPPPort_xs.PL ppport_h.PL; do \ + -@for f in Makefile.PL PPPort_pm.PL PPPort_xs.PL ppport_h.PL; do \ (cd ext/Devel-PPPort && `pwd`/run.sh ../../$(MINIPERL_EXE) -I../../lib \$\$f); \ done diff --git a/dist/Devel-PPPort/HACKERS b/dist/Devel-PPPort/HACKERS index 1db7f34ec1..8cd57a95d8 100644 --- a/dist/Devel-PPPort/HACKERS +++ b/dist/Devel-PPPort/HACKERS @@ -160,7 +160,7 @@ hints, dependency information, XS code and tests. The files are in a POD-like format that is parsed using the functions in F<parts/ppptools.pl>. -The scripts F<PPPort_pm.PL>, F<RealPPPort_xs.PL> and F<mktests.PL> all +The scripts F<PPPort_pm.PL>, F<PPPort_xs.PL> and F<mktests.PL> all use the information in F<parts/inc/> to generate the main module F<PPPort.pm>, the XS code in F<RealPPPort.xs> and various test files in F<t/>. @@ -196,7 +196,7 @@ section. The code required to add to PPPort.xs for testing the implementation. This code goes into the C<=xshead>, C<=xsinit>, C<=xsmisc>, C<=xsboot> and C<=xsubs> section. Have a look at the template at the bottom -of F<RealPPPort_xs.PL> to see where the code ends up. +of F<PPPort_xs.PL> to see where the code ends up. =item * diff --git a/dist/Devel-PPPort/Makefile.PL b/dist/Devel-PPPort/Makefile.PL index 7c2064a0cd..62ba014cf6 100644 --- a/dist/Devel-PPPort/Makefile.PL +++ b/dist/Devel-PPPort/Makefile.PL @@ -46,7 +46,7 @@ sub configure my %PL_FILES = ( 'ppport_h.PL' => 'ppport.h', 'PPPort_pm.PL' => 'PPPort.pm', - 'RealPPPort_xs.PL' => 'RealPPPort.xs', + 'PPPort_xs.PL' => 'RealPPPort.xs', ); my @moreopts; @@ -77,13 +77,13 @@ sub configure $depend{'apicheck.i'} = 'ppport.h'; } - open FH, '<PPPort_pm.PL' or die "cannot open PPPort_pm.PL for reading: $!"; + open my $fh, '<', 'PPPort_pm.PL' or die "cannot open PPPort_pm.PL for reading: $!"; my $version; - while (my $line = <FH>) { + while (my $line = <$fh>) { ($version) = $line =~ /^\$VERSION = '([\d.]+)';$/ and last; }; die 'failed to extract $VERSION from PPPort_pm.PL' if not $version; - close FH; + close $fh; return { C => \@C_FILES, @@ -127,7 +127,7 @@ regen_pm: $(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) PPPort_pm.PL regen_xs: - $(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) RealPPPort_xs.PL + $(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) PPPort_xs.PL regen_tests: $(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) mktests.PL diff --git a/dist/Devel-PPPort/PPPort.xs b/dist/Devel-PPPort/PPPort.xs index 72d4cabd47..2586824ebb 100644 --- a/dist/Devel-PPPort/PPPort.xs +++ b/dist/Devel-PPPort/PPPort.xs @@ -1,3 +1,3 @@ This is just a dummy file to let Configure know that Devel::PPPort -is an XS module. The real XS code is autogenerated from RealPPPort_xs.PL +is an XS module. The real XS code is autogenerated from PPPort_xs.PL when this module is built and will go to RealPPPort.xs. diff --git a/dist/Devel-PPPort/PPPort_pm.PL b/dist/Devel-PPPort/PPPort_pm.PL index 19d5985137..abce21de2e 100644 --- a/dist/Devel-PPPort/PPPort_pm.PL +++ b/dist/Devel-PPPort/PPPort_pm.PL @@ -628,22 +628,16 @@ __DATA__ %include limits -%include magic_defs - %include misc -%include sv_xpvf - -%include SvPV - %include warn -%include format - %include uv %include memory +%include magic_defs + %include mess %include variables @@ -658,14 +652,20 @@ __DATA__ %include MY_CXT +%include format + %include SvREFCNT %include newSV_type %include newSVpv +%include SvPV + %include Sv_set +%include sv_xpvf + %include shared_pv %include HvNAME diff --git a/dist/Devel-PPPort/RealPPPort_xs.PL b/dist/Devel-PPPort/PPPort_xs.PL similarity index 98% rename from dist/Devel-PPPort/RealPPPort_xs.PL rename to dist/Devel-PPPort/PPPort_xs.PL index e6ca841c1c..d00cffa81b 100644 --- a/dist/Devel-PPPort/RealPPPort_xs.PL +++ b/dist/Devel-PPPort/PPPort_xs.PL @@ -1,6 +1,6 @@ ################################################################################ # -# RealPPPort_xs.PL -- generate RealPPPort.xs +# PPPort_xs.PL -- generate RealPPPort.xs # ################################################################################ # diff --git a/dist/Devel-PPPort/parts/inc/misc b/dist/Devel-PPPort/parts/inc/misc index 23a316f24c..2bd2dcfb02 100644 --- a/dist/Devel-PPPort/parts/inc/misc +++ b/dist/Devel-PPPort/parts/inc/misc @@ -33,14 +33,6 @@ STMT_END STMT_START SvRX UTF8_MAXBYTES -UTF8_ALLOW_ANYUV -UTF8_ALLOW_EMPTY -UTF8_ALLOW_CONTINUATION -UTF8_ALLOW_NON_CONTINUATION -UTF8_ALLOW_SHORT -UTF8_ALLOW_LONG -UTF8_ALLOW_OVERFLOW -UTF8_ALLOW_ANY WIDEST_UTYPE XSRETURN @@ -268,19 +260,6 @@ __UNDEFINED__ SVf "_" __UNDEFINED__ UTF8_MAXBYTES UTF8_MAXLEN -__UNDEFINED__ UTF8_ALLOW_ANYUV 0 -__UNDEFINED__ UTF8_ALLOW_EMPTY 0x0001 -__UNDEFINED__ UTF8_ALLOW_CONTINUATION 0x0002 -__UNDEFINED__ UTF8_ALLOW_NON_CONTINUATION 0x0004 -__UNDEFINED__ UTF8_ALLOW_SHORT 0x0008 -__UNDEFINED__ UTF8_ALLOW_LONG 0x0010 -__UNDEFINED__ UTF8_ALLOW_OVERFLOW 0x0080 -__UNDEFINED__ UTF8_ALLOW_ANY ( UTF8_ALLOW_CONTINUATION \ - |UTF8_ALLOW_NON_CONTINUATION \ - |UTF8_ALLOW_SHORT \ - |UTF8_ALLOW_LONG \ - |UTF8_ALLOW_OVERFLOW) - __UNDEFINED__ CPERLscope(x) x __UNDEFINED__ PERL_HASH(hash,str,len) \ @@ -876,304 +855,266 @@ check_c_array() mXPUSHi(*(C_ARRAY_END(x)-1)); /* 13 */ bool -test_isBLANK(ord) - UV ord +test_isBLANK(UV ord) CODE: RETVAL = isBLANK(ord); OUTPUT: RETVAL bool -test_isBLANK_A(ord) - UV ord +test_isBLANK_A(UV ord) CODE: RETVAL = isBLANK_A(ord); OUTPUT: RETVAL bool -test_isUPPER(ord) - UV ord +test_isUPPER(UV ord) CODE: RETVAL = isUPPER(ord); OUTPUT: RETVAL bool -test_isUPPER_A(ord) - UV ord +test_isUPPER_A(UV ord) CODE: RETVAL = isUPPER_A(ord); OUTPUT: RETVAL bool -test_isLOWER(ord) - UV ord +test_isLOWER(UV ord) CODE: RETVAL = isLOWER(ord); OUTPUT: RETVAL bool -test_isLOWER_A(ord) - UV ord +test_isLOWER_A(UV ord) CODE: RETVAL = isLOWER_A(ord); OUTPUT: RETVAL bool -test_isALPHA(ord) - UV ord +test_isALPHA(UV ord) CODE: RETVAL = isALPHA(ord); OUTPUT: RETVAL bool -test_isALPHA_A(ord) - UV ord +test_isALPHA_A(UV ord) CODE: RETVAL = isALPHA_A(ord); OUTPUT: RETVAL bool -test_isWORDCHAR(ord) - UV ord +test_isWORDCHAR(UV ord) CODE: RETVAL = isWORDCHAR(ord); OUTPUT: RETVAL bool -test_isWORDCHAR_A(ord) - UV ord +test_isWORDCHAR_A(UV ord) CODE: RETVAL = isWORDCHAR_A(ord); OUTPUT: RETVAL bool -test_isALPHANUMERIC(ord) - UV ord +test_isALPHANUMERIC(UV ord) CODE: RETVAL = isALPHANUMERIC(ord); OUTPUT: RETVAL bool -test_isALPHANUMERIC_A(ord) - UV ord +test_isALPHANUMERIC_A(UV ord) CODE: RETVAL = isALPHANUMERIC_A(ord); OUTPUT: RETVAL bool -test_isALNUM(ord) - UV ord +test_isALNUM(UV ord) CODE: RETVAL = isALNUM(ord); OUTPUT: RETVAL bool -test_isALNUM_A(ord) - UV ord +test_isALNUM_A(UV ord) CODE: RETVAL = isALNUM_A(ord); OUTPUT: RETVAL bool -test_isDIGIT(ord) - UV ord +test_isDIGIT(UV ord) CODE: RETVAL = isDIGIT(ord); OUTPUT: RETVAL bool -test_isDIGIT_A(ord) - UV ord +test_isDIGIT_A(UV ord) CODE: RETVAL = isDIGIT_A(ord); OUTPUT: RETVAL bool -test_isOCTAL(ord) - UV ord +test_isOCTAL(UV ord) CODE: RETVAL = isOCTAL(ord); OUTPUT: RETVAL bool -test_isOCTAL_A(ord) - UV ord +test_isOCTAL_A(UV ord) CODE: RETVAL = isOCTAL_A(ord); OUTPUT: RETVAL bool -test_isIDFIRST(ord) - UV ord +test_isIDFIRST(UV ord) CODE: RETVAL = isIDFIRST(ord); OUTPUT: RETVAL bool -test_isIDFIRST_A(ord) - UV ord +test_isIDFIRST_A(UV ord) CODE: RETVAL = isIDFIRST_A(ord); OUTPUT: RETVAL bool -test_isIDCONT(ord) - UV ord +test_isIDCONT(UV ord) CODE: RETVAL = isIDCONT(ord); OUTPUT: RETVAL bool -test_isIDCONT_A(ord) - UV ord +test_isIDCONT_A(UV ord) CODE: RETVAL = isIDCONT_A(ord); OUTPUT: RETVAL bool -test_isSPACE(ord) - UV ord +test_isSPACE(UV ord) CODE: RETVAL = isSPACE(ord); OUTPUT: RETVAL bool -test_isSPACE_A(ord) - UV ord +test_isSPACE_A(UV ord) CODE: RETVAL = isSPACE_A(ord); OUTPUT: RETVAL bool -test_isASCII(ord) - UV ord +test_isASCII(UV ord) CODE: RETVAL = isASCII(ord); OUTPUT: RETVAL bool -test_isASCII_A(ord) - UV ord +test_isASCII_A(UV ord) CODE: RETVAL = isASCII_A(ord); OUTPUT: RETVAL bool -test_isCNTRL(ord) - UV ord +test_isCNTRL(UV ord) CODE: RETVAL = isCNTRL(ord); OUTPUT: RETVAL bool -test_isCNTRL_A(ord) - UV ord +test_isCNTRL_A(UV ord) CODE: RETVAL = isCNTRL_A(ord); OUTPUT: RETVAL bool -test_isPRINT(ord) - UV ord +test_isPRINT(UV ord) CODE: RETVAL = isPRINT(ord); OUTPUT: RETVAL bool -test_isPRINT_A(ord) - UV ord +test_isPRINT_A(UV ord) CODE: RETVAL = isPRINT_A(ord); OUTPUT: RETVAL bool -test_isGRAPH(ord) - UV ord +test_isGRAPH(UV ord) CODE: RETVAL = isGRAPH(ord); OUTPUT: RETVAL bool -test_isGRAPH_A(ord) - UV ord +test_isGRAPH_A(UV ord) CODE: RETVAL = isGRAPH_A(ord); OUTPUT: RETVAL bool -test_isPUNCT(ord) - UV ord +test_isPUNCT(UV ord) CODE: RETVAL = isPUNCT(ord); OUTPUT: RETVAL bool -test_isPUNCT_A(ord) - UV ord +test_isPUNCT_A(UV ord) CODE: RETVAL = isPUNCT_A(ord); OUTPUT: RETVAL bool -test_isXDIGIT(ord) - UV ord +test_isXDIGIT(UV ord) CODE: RETVAL = isXDIGIT(ord); OUTPUT: RETVAL bool -test_isXDIGIT_A(ord) - UV ord +test_isXDIGIT_A(UV ord) CODE: RETVAL = isXDIGIT_A(ord); OUTPUT: RETVAL bool -test_isPSXSPC(ord) - UV ord +test_isPSXSPC(UV ord) CODE: RETVAL = isPSXSPC(ord); OUTPUT: RETVAL bool -test_isPSXSPC_A(ord) - UV ord +test_isPSXSPC_A(UV ord) CODE: RETVAL = isPSXSPC_A(ord); OUTPUT: @@ -1181,17 +1122,17 @@ test_isPSXSPC_A(ord) STRLEN av_tindex(av) - SV *av + AV *av CODE: - RETVAL = av_tindex((AV*)SvRV(av)); + RETVAL = av_tindex(av); OUTPUT: RETVAL STRLEN av_top_index(av) - SV *av + AV *av CODE: - RETVAL = av_top_index((AV*)SvRV(av)); + RETVAL = av_top_index(av); OUTPUT: RETVAL diff --git a/dist/Devel-PPPort/parts/inc/uv b/dist/Devel-PPPort/parts/inc/uv index 3c03ba5a02..bb5f19eaaa 100644 --- a/dist/Devel-PPPort/parts/inc/uv +++ b/dist/Devel-PPPort/parts/inc/uv @@ -103,19 +103,13 @@ my_strnlen(const char *str, Size_t maxlen) * intended to work with modern perls, the tighter restrictions could be * relaxed. khw thinks this is unlikely, but has been wrong in the past. */ -#if { VERSION < 5.10.0 } -# define D_PPP_CU8 U8 -#else -# define D_PPP_CU8 const U8 -#endif - #ifndef utf8_to_uvchr_buf /* Choose which underlying implementation to use. At least one must be * present or the perl is too early to handle this function */ # if defined(utf8n_to_uvchr) || defined(utf8_to_uv) # if defined(utf8n_to_uvchr) /* This is the preferred implementation */ # define _ppport_utf8_to_uvchr_buf_callee utf8n_to_uvchr -# elif { VERSION >= 5.6.1 } +# else # define _ppport_utf8_to_uvchr_buf_callee utf8_to_uv # endif @@ -125,7 +119,7 @@ my_strnlen(const char *str, Size_t maxlen) # if { NEED utf8_to_uvchr_buf } UV -utf8_to_uvchr_buf(pTHX_ D_PPP_CU8 *s, const U8 *send, STRLEN *retlen) +utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen) { UV ret; STRLEN curlen; @@ -364,11 +358,7 @@ UTF8_SAFE_SKIP(s, adjustment) int adjustment CODE: /* Instead of passing in an 'e' ptr, use the real end, adjusted */ -#if defined(UTF8_SAFE_SKIP) && defined(UTF8SKIP) RETVAL = UTF8_SAFE_SKIP(s, s + UTF8SKIP(s) + adjustment); -#else - RETVAL = 0; -#endif OUTPUT: RETVAL @@ -390,14 +380,9 @@ utf8_to_uvchr_buf(s, adjustment) STRLEN len; CODE: av = newAV(); -#ifdef utf8_to_uvchr_buf av_push(av, newSVuv(utf8_to_uvchr_buf(s, s + UTF8SKIP(s) + adjustment, &len))); -#else - av_push(av, newSVuv(0)); - len = (STRLEN) -1; -#endif if (len == (STRLEN) -1) { av_push(av, newSViv(-1)); } @@ -416,12 +401,7 @@ utf8_to_uvchr(s) STRLEN len; CODE: av = newAV(); -#ifdef utf8_to_uvchr av_push(av, newSVuv(utf8_to_uvchr(s, &len))); -#else - av_push(av, newSVuv(0)); - len = (STRLEN) -1; -#endif if (len == (STRLEN) -1) { av_push(av, newSViv(-1)); } @@ -434,9 +414,6 @@ utf8_to_uvchr(s) =tests plan => 52 -# skip tests on 5.6.0 and earlier -BEGIN { if ("$]" le '5.006') { skip 'skip: broken utf8 support', 0 for 1..52; exit; } } - ok(&Devel::PPPort::sv_setuv(42), 42); ok(&Devel::PPPort::newSVuv(123), 123); ok(&Devel::PPPort::sv_2uv("4711"), 4711); @@ -518,7 +495,7 @@ else { { # Old algorithm supposedly failed to detect this input => "\xff\x80\x90\x90\x90\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf", adjustment => 0, - warning => ("$]" le 5.008006) ? qr/Malformed UTF-8 character/ : qr/overflow/, + warning => qr/overflow/, no_warnings_returned_length => 13, }, ); diff --git a/dist/Devel-PPPort/parts/inc/warn b/dist/Devel-PPPort/parts/inc/warn index df8a385b86..b4a5695f8f 100644 --- a/dist/Devel-PPPort/parts/inc/warn +++ b/dist/Devel-PPPort/parts/inc/warn @@ -105,7 +105,6 @@ warner(U32 err, const char *pat, ...) =xsinit #define NEED_warner -#define NEED_vnewSVpvf =xsubs diff --git a/dist/Devel-PPPort/t/uv.t b/dist/Devel-PPPort/t/uv.t index 5c8d4879d9..7f5d78b9e4 100644 --- a/dist/Devel-PPPort/t/uv.t +++ b/dist/Devel-PPPort/t/uv.t @@ -48,9 +48,6 @@ bootstrap Devel::PPPort; package main; -# skip tests on 5.6.0 and earlier -BEGIN { if ("$]" le '5.006') { skip 'skip: broken utf8 support', 0 for 1..52; exit; } } - ok(&Devel::PPPort::sv_setuv(42), 42); ok(&Devel::PPPort::newSVuv(123), 123); ok(&Devel::PPPort::sv_2uv("4711"), 4711); @@ -132,7 +129,7 @@ else { { # Old algorithm supposedly failed to detect this input => "\xff\x80\x90\x90\x90\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf", adjustment => 0, - warning => ("$]" le 5.008006) ? qr/Malformed UTF-8 character/ : qr/overflow/, + warning => qr/overflow/, no_warnings_returned_length => 13, }, ); -- Perl5 Master Repository
