Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit 8f0abed

Browse files
committed
Devel::PPPort: Update to 3.36_01
See https://github.com/rurban/Devel-PPPort/ branch: cperl
1 parent 13c2662 commit 8f0abed

File tree

18 files changed

+1146
-644
lines changed

18 files changed

+1146
-644
lines changed

MANIFEST

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,7 @@ cpan/Devel-PPPort/parts/inc/gv Devel::PPPort include
668668
cpan/Devel-PPPort/parts/inc/HvNAME Devel::PPPort include
669669
cpan/Devel-PPPort/parts/inc/limits Devel::PPPort include
670670
cpan/Devel-PPPort/parts/inc/magic Devel::PPPort include
671+
cpan/Devel-PPPort/parts/inc/magic_defs Devel::PPPort include
671672
cpan/Devel-PPPort/parts/inc/memory Devel::PPPort include
672673
cpan/Devel-PPPort/parts/inc/misc Devel::PPPort include
673674
cpan/Devel-PPPort/parts/inc/mPUSH Devel::PPPort include

Porting/Maintainers.pl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -506,20 +506,22 @@ package Maintainers;
506506
},
507507

508508
'Devel::PPPort' => {
509-
'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.35.tar.gz',
509+
'DISTRIBUTION' => 'WOLFSAGE/Devel-PPPort-3.36.tar.gz',
510510
# RJBS has asked MHX to have UPSTREAM be 'blead'
511511
# (i.e. move this from cpan/ to dist/)
512512
'FILES' => q[cpan/Devel-PPPort],
513513
'EXCLUDED' => [
514514
'PPPort.pm', # we use PPPort_pm.PL instead
515515
],
516-
# cperl fix to support make -s.
517-
# 5.16 binary support: https://github.com/rurban/Devel-PPPort/tree/516gvhv
516+
# cperl fix to support make -s
517+
# 5.16 binary names https://github.com/rurban/Devel-PPPort/tree/cperl
518518
# strict hashpairs support
519-
'CUSTOMIZED' => [ qw( PPPort_pm.PL
519+
'CUSTOMIZED' => [ qw( Makefile.PL
520+
PPPort_pm.PL
520521
PPPort_xs.PL
521522
ppport_h.PL
522523
parts/apidoc.fnc
524+
parts/embed.fnc
523525
parts/inc/HvNAME
524526
parts/inc/gv
525527
parts/inc/misc

cpan/Devel-PPPort/HACKERS

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ section.
193193

194194
=item *
195195

196-
The code required to add to PPPort.xs for testing the implementation.
196+
The code required to add to F<PPPort.xs> for testing the implementation.
197197
This code goes into the C<=xshead>, C<=xsinit>, C<=xsmisc>, C<=xsboot>
198198
and C<=xsubs> section. Have a look at the template at the bottom
199199
of F<PPPort_xs.PL> to see where the code ends up.
@@ -232,7 +232,14 @@ instead of
232232
# define macro some definition
233233
#endif
234234

235-
The macro can have optional arguments and the definition can even
235+
If you use this, you don't have to list C<"macro"> in the C<=provides> section.
236+
But that section must contain a single line
237+
238+
__UNDEFINED__
239+
240+
which acts as a stand-in for all the macros defined through its use.
241+
242+
C<"macro"> can have optional arguments and the definition can even
236243
span multiple lines, like in
237244

238245
__UNDEFINED__ SvMAGIC_set(sv, val) \
@@ -242,8 +249,8 @@ span multiple lines, like in
242249
This usually makes the code more compact and readable. And you
243250
only have to add C<__UNDEFINED__> to the C<=provided> section.
244251

245-
Version checking can be tricky if you want to do it correct.
246-
You can use
252+
Version checking can be tricky if you want to do it correctly.
253+
C<Devel::PPPort> provides a facility to make it easier. You can use
247254

248255
#if { VERSION < 5.9.3 }
249256

cpan/Devel-PPPort/Makefile.PL

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ sub configure
8383
# Devel::PPPort is in the core since 5.7.3
8484
# 5.11.0+ has site before perl
8585
push @moreopts, INSTALLDIRS => (
86-
($] >= 5.007003 and $] < 5.011)
86+
("$]" >= 5.007003 and "$]" < 5.011)
8787
? 'perl'
8888
: 'site'
8989
);
@@ -106,36 +106,43 @@ sub configure
106106
};
107107
}
108108

109-
sub MY::postamble
109+
package MY;
110+
111+
sub depend {
112+
"
113+
t/warn.t : mktests.PL regen_tests
114+
RealPPPort.c : ppport.h
115+
"
116+
}
117+
118+
sub postamble
110119
{
111-
package MY;
112120
my $post = shift->SUPER::postamble(@_);
113121
$post .= <<'POSTAMBLE';
114122
115123
purge_all: realclean
116124
@$(RM_F) PPPort.pm t/*.t
117125
118126
regen_pm:
119-
$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) PPPort_pm.PL
127+
$(PERL) -I. -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) PPPort_pm.PL
120128
121129
regen_xs:
122-
$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) PPPort_xs.PL
130+
$(PERL) -I. -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) PPPort_xs.PL
123131
124132
regen_tests:
125-
$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) mktests.PL
133+
$(PERL) -I. -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) mktests.PL
126134
127135
regen_h:
128-
$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) ppport_h.PL
136+
$(PERL) -I. -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) ppport_h.PL
129137
130138
regen: regen_pm regen_xs regen_tests regen_h
131139
132140
POSTAMBLE
133141
return $post;
134142
}
135143

136-
sub MY::c_o
144+
sub c_o
137145
{
138-
package MY;
139146
my $co = shift->SUPER::c_o(@_);
140147

141148
if ($::opt{'apicheck'} && $co !~ /^\.c\.i:/m) {

cpan/Devel-PPPort/PPPort_pm.PL

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,7 @@ sub include
133133
{
134134
my($file, $opt) = @_;
135135

136-
#print "including $file\n" unless (defined $ENV{MAKEFLAGS}
137-
# and $ENV{MAKEFLAGS} =~ /\b(s|silent|quiet)\b/);
136+
print "including $file\n" unless $ENV{PERL_CORE};
138137

139138
my $data = parse_partspec("$INCLUDE/$file");
140139

@@ -541,7 +540,7 @@ package Devel::PPPort;
541540
use strict;
542541
use vars qw($VERSION $data);
543542
544-
$VERSION = '3.35_03';
543+
$VERSION = '3.36_01';
545544
546545
sub _init_data
547546
{
@@ -622,6 +621,8 @@ __DATA__
622621
623622
%include memory
624623
624+
%include magic_defs
625+
625626
%include misc
626627
627628
%include variables

cpan/Devel-PPPort/PPPort_xs.PL

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@ for $file (all_files_in_dir('parts/inc')) {
4444
my $msg = 0;
4545
for $sec (keys %SECTION) {
4646
if (exists $spec->{$sec}) {
47-
unless (defined $ENV{MAKEFLAGS}
48-
and $ENV{MAKEFLAGS} =~ /\b(s|silent|quiet)\b/) {
47+
unless ($ENV{PERL_CORE}) {
4948
$msg++ or print "adding XS code from $file\n";
5049
}
5150
if (exists $SECTION{$sec}{header}) {

cpan/Devel-PPPort/mktests.PL

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
use strict;
1717
$^W = 1;
18-
require "parts/ppptools.pl";
18+
require "./parts/ppptools.pl";
1919

2020
my $template = do { local $/; <DATA> };
2121

cpan/Devel-PPPort/parts/apidoc.fnc

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
AmUx|Perl_keyword_plugin_t|PL_keyword_plugin
1717
AmU|Perl_check_t *|PL_check
18+
AmU|placeholder|BOM_UTF8
19+
AmU|placeholder|REPLACEMENT_CHARACTER_UTF8
1820
AmU|yy_parser *|PL_parser
1921
AmU||G_ARRAY
2022
AmU||G_DISCARD
@@ -89,8 +91,10 @@ Amn|peep_t|PL_peepp
8991
Amn|peep_t|PL_rpeepp
9092
Amn|void|DECLARATION_FOR_LC_NUMERIC_MANIPULATION
9193
Ams||ENTER
94+
Ams||ENTER_with_name
9295
Ams||FREETMPS
9396
Ams||LEAVE
97+
Ams||LEAVE_with_name
9498
Ams||MULTICALL
9599
Ams||POP_MULTICALL
96100
Ams||PUSH_MULTICALL
@@ -169,6 +173,9 @@ Am|HV*|CvSTASH|CV* cv
169173
Am|HV*|GvHV|GV* gv
170174
Am|HV*|SvSTASH|SV* sv
171175
Am|HV*|gv_stashpvs|const char* name|I32 create
176+
Am|I32|HeKLEN|HE* he
177+
Am|I32|HvENAMELEN|HV *stash
178+
Am|I32|HvNAMELEN|HV *stash
172179
Am|IV|SvIVX|SV* sv
173180
Am|IV|SvIV_nomg|SV* sv
174181
Am|IV|SvIVx|SV* sv
@@ -177,18 +184,21 @@ Am|NV|SvNVX|SV* sv
177184
Am|NV|SvNV_nomg|SV* sv
178185
Am|NV|SvNVx|SV* sv
179186
Am|NV|SvNV|SV* sv
187+
Am|OP *|newUNBOXEDOP|I32 type|I32 flags|NN const char *data
188+
Am|OP* |LINKLIST |NN OP *o
180189
Am|OP*|LINKLIST|OP *o
181190
Am|OP*|OpSIBLING|OP *o
182191
Am|PADOFFSET|pad_add_name_pvs|const char *name|U32 flags|HV *typestash|HV *ourstash
183192
Am|PADOFFSET|pad_findmy_pvs|const char *name|U32 flags
184193
Am|REGEXP *|SvRX|SV *sv
185-
Am|STRLEN|HeKLEN|HE* he
186-
Am|STRLEN|HvENAMELEN|HV *stash
187-
Am|STRLEN|HvNAMELEN|HV *stash
194+
Am|SSize_t|AvFILL|AV* av
188195
Am|STRLEN|SvCUR|SV* sv
189196
Am|STRLEN|SvLEN|SV* sv
190197
Am|STRLEN|UTF8SKIP|char* s
191198
Am|STRLEN|UVCHR_SKIP|UV cp
199+
Am|STRLEN|isC9_STRICT_UTF8_CHAR|const U8 *s|const U8 *e
200+
Am|STRLEN|isSTRICT_UTF8_CHAR|const U8 *s|const U8 *e
201+
Am|STRLEN|isUTF8_CHAR_flags|const U8 *s|const U8 *e| const U32 flags
192202
Am|STRLEN|isUTF8_CHAR|const U8 *s|const U8 *e
193203
Am|SV *|boolSV|bool b
194204
Am|SV *|cop_hints_fetch_pvn|const COP *cop|const char *keypv|STRLEN keylen|U32 hash|U32 flags
@@ -226,6 +236,9 @@ Am|U32|SvOK|SV* sv
226236
Am|U32|SvOOK|SV* sv
227237
Am|U32|SvPOKp|SV* sv
228238
Am|U32|SvPOK|SV* sv
239+
Am|U32|SvREADONLY_off|SV* sv
240+
Am|U32|SvREADONLY_on|SV* sv
241+
Am|U32|SvREADONLY|SV* sv
229242
Am|U32|SvREFCNT|SV* sv
230243
Am|U32|SvROK|SV* sv
231244
Am|U32|SvUTF8|SV* sv
@@ -242,22 +255,26 @@ Am|UV|SvUV_nomg|SV* sv
242255
Am|UV|SvUVx|SV* sv
243256
Am|UV|SvUV|SV* sv
244257
Am|UV|toFOLD_uni|UV cp|U8* s|STRLEN* lenp
258+
Am|UV|toFOLD_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp
245259
Am|UV|toFOLD_utf8|U8* p|U8* s|STRLEN* lenp
246260
Am|UV|toFOLD_uvchr|UV cp|U8* s|STRLEN* lenp
261+
Am|UV|toLOWER_uni|UV cp|U8* s|STRLEN* lenp
262+
Am|UV|toLOWER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp
247263
Am|UV|toLOWER_utf8|U8* p|U8* s|STRLEN* lenp
248-
Am|UV|toTITLE_uni|UV cp|U8* s|STRLEN* lenp
249264
Am|UV|toLOWER_uvchr|UV cp|U8* s|STRLEN* lenp
265+
Am|UV|toTITLE_uni|UV cp|U8* s|STRLEN* lenp
266+
Am|UV|toTITLE_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp
250267
Am|UV|toTITLE_utf8|U8* p|U8* s|STRLEN* lenp
251268
Am|UV|toTITLE_uvchr|UV cp|U8* s|STRLEN* lenp
252269
Am|UV|toUPPER_uni|UV cp|U8* s|STRLEN* lenp
270+
Am|UV|toUPPER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp
253271
Am|UV|toUPPER_utf8|U8* p|U8* s|STRLEN* lenp
254272
Am|UV|toUPPER_uvchr|UV cp|U8* s|STRLEN* lenp
255273
Am|bool|DO_UTF8|SV* sv
274+
Am|bool|He_IS_SVKEY|HE* he
256275
Am|bool|OP_TYPE_IS_OR_WAS|OP *o|Optype type
257276
Am|bool|OP_TYPE_IS|OP *o|Optype type
258277
Am|bool|OpHAS_SIBLING|OP *o
259-
Am|bool|OpSIBLING_set|OP *o|OP *sib
260-
Am|bool|OpSIBLING|OP *o
261278
Am|bool|SvIOK_UV|SV* sv
262279
Am|bool|SvIOK_notUV|SV* sv
263280
Am|bool|SvIsCOW_shared_hash|SV* sv
@@ -267,6 +284,19 @@ Am|bool|SvTRUE_nomg|SV* sv
267284
Am|bool|SvTRUE|SV* sv
268285
Am|bool|SvUOK|SV* sv
269286
Am|bool|SvVOK|SV* sv
287+
Am|bool|UTF8_IS_INVARIANT|char c
288+
Am|bool|UTF8_IS_NONCHAR|const U8 *s|const U8 *e
289+
Am|bool|UTF8_IS_SUPER|const U8 *s|const U8 *e
290+
Am|bool|UTF8_IS_SURROGATE|const U8 *s|const U8 *e
291+
Am|bool|UVCHR_IS_INVARIANT|UV cp
292+
Am|bool|ckWARN2_d|U32 w1|U32 w2
293+
Am|bool|ckWARN2|U32 w1|U32 w2
294+
Am|bool|ckWARN3_d|U32 w1|U32 w2|U32 w3
295+
Am|bool|ckWARN3|U32 w1|U32 w2|U32 w3
296+
Am|bool|ckWARN4_d|U32 w1|U32 w2|U32 w3|U32 w4
297+
Am|bool|ckWARN4|U32 w1|U32 w2|U32 w3|U32 w4
298+
Am|bool|ckWARN_d|U32 w
299+
Am|bool|ckWARN|U32 w
270300
Am|bool|isALPHANUMERIC|char ch
271301
Am|bool|isALPHA|char ch
272302
Am|bool|isASCII|char ch
@@ -296,6 +326,7 @@ Am|bool|strNE|char* s1|char* s2
296326
Am|bool|strnEQ|char* s1|char* s2|STRLEN len
297327
Am|bool|strnNE|char* s1|char* s2|STRLEN len
298328
Am|char *|SvGROW|SV* sv|STRLEN len
329+
Am|char *|SvPVCLEAR|SV* sv
299330
Am|char*|HePV|HE* he|STRLEN len
300331
Am|char*|HvENAME|HV* stash
301332
Am|char*|HvNAME|HV* stash
@@ -320,7 +351,6 @@ Am|char*|SvPVx|SV* sv|STRLEN len
320351
Am|char*|SvPV|SV* sv|STRLEN len
321352
Am|const char *|OP_DESC|OP *o
322353
Am|const char *|OP_NAME|OP *o
323-
Am|int|AvFILL|AV* av
324354
Am|svtype|SvTYPE|SV* sv
325355
Am|unsigned char|HvENAMEUTF8|HV *stash
326356
Am|unsigned char|HvNAMEUTF8|HV *stash
@@ -446,13 +476,18 @@ Am|void|sv_setpvs|SV* sv|const char* s
446476
Am|void|sv_setsv_nomg|SV* dsv|SV* ssv
447477
Am||XopENTRYCUSTOM|const OP *o|which
448478
Am||XopENTRY|XOP *xop|which
479+
dMPpRx |bool |is_native_string |const char* s|STRLEN len
480+
dMPpRx|bool|is_native_string|const char* s|STRLEN len
481+
dMp||op_native_padsv_off|NN OP* o
482+
dMp||op_native_padsv_on|NN OP* o
449483
mU||LVRET
450484
mn|GV *|PL_DBsub
451485
mn|GV*|PL_last_in_gv
452486
mn|GV*|PL_ofsgv
453487
mn|SV *|PL_DBsingle
454488
mn|SV *|PL_DBtrace
455489
mn|SV*|PL_rs
490+
mn|U8|PL_dowarn
456491
mn|bool|PL_dowarn
457492
ms||djSP
458493
mx|U32|BhkFLAGS|BHK *hk
@@ -488,3 +523,5 @@ m|void|PAD_SET_CUR_NOSAVE |PADLIST padlist|I32 n
488523
m|void|SAVECLEARSV |SV **svp
489524
m|void|SAVECOMPPAD
490525
m|void|SAVEPADSV |PADOFFSET po
526+
s|OPCODE |op_native_variant |NN OP* o|core_types_t t
527+
s|OPCODE |op_native_variant |NN OP* o|core_types_t typeret|NN int* do_cast

0 commit comments

Comments
 (0)