summaryrefslogtreecommitdiff
path: root/dist/Devel-PPPort
diff options
context:
space:
mode:
authorNicolas R <nicolas@atoomic.org>2020-08-10 11:43:51 -0600
committerNicolas R <nicolas@atoomic.org>2020-08-10 17:26:40 -0600
commitc8799aff0116bda7147dbf4e7a01f814524ee6fe (patch)
tree64ef46ee94fcf432d2bb64ab235d7a4af56d5f9b /dist/Devel-PPPort
parent5b2d4421f503a2f8d092d0e49cc851e2f89a8a4d (diff)
downloadperl-c8799aff0116bda7147dbf4e7a01f814524ee6fe.tar.gz
Update Devel-PPPort to release 3.59
Note that test files are not under file version control anymore as they are generated files.
Diffstat (limited to 'dist/Devel-PPPort')
-rw-r--r--dist/Devel-PPPort/.gitignore3
-rw-r--r--dist/Devel-PPPort/Changes10
-rw-r--r--dist/Devel-PPPort/HACKERS111
-rw-r--r--dist/Devel-PPPort/Makefile.PL34
-rw-r--r--dist/Devel-PPPort/PPPort_pm.PL85
-rw-r--r--dist/Devel-PPPort/devel/devtools.pl1
-rwxr-xr-x[-rw-r--r--]dist/Devel-PPPort/devel/mkapidoc.pl81
-rw-r--r--dist/Devel-PPPort/devel/mkppport_fnc.pl113
-rwxr-xr-xdist/Devel-PPPort/devel/regenerate2
-rwxr-xr-xdist/Devel-PPPort/devel/scanprov255
-rwxr-xr-xdist/Devel-PPPort/devel/update_release_date.pl54
-rw-r--r--dist/Devel-PPPort/parts/apicheck.pl31
-rw-r--r--dist/Devel-PPPort/parts/apidoc.fnc229
-rw-r--r--dist/Devel-PPPort/parts/base/50030071390
-rw-r--r--dist/Devel-PPPort/parts/base/5004000140
-rw-r--r--dist/Devel-PPPort/parts/base/50040012
-rw-r--r--dist/Devel-PPPort/parts/base/500400213
-rw-r--r--dist/Devel-PPPort/parts/base/50040041
-rw-r--r--dist/Devel-PPPort/parts/base/500400557
-rw-r--r--dist/Devel-PPPort/parts/base/5005000626
-rw-r--r--dist/Devel-PPPort/parts/base/50050021
-rw-r--r--dist/Devel-PPPort/parts/base/500500350
-rw-r--r--dist/Devel-PPPort/parts/base/50050044
-rw-r--r--dist/Devel-PPPort/parts/base/5006000724
-rw-r--r--dist/Devel-PPPort/parts/base/500600156
-rw-r--r--dist/Devel-PPPort/parts/base/50070001
-rw-r--r--dist/Devel-PPPort/parts/base/5007001236
-rw-r--r--dist/Devel-PPPort/parts/base/500700260
-rw-r--r--dist/Devel-PPPort/parts/base/5007003111
-rw-r--r--dist/Devel-PPPort/parts/base/5008000241
-rw-r--r--dist/Devel-PPPort/parts/base/5008001186
-rw-r--r--dist/Devel-PPPort/parts/base/50080025
-rw-r--r--dist/Devel-PPPort/parts/base/50080091
-rw-r--r--dist/Devel-PPPort/parts/base/500900038
-rw-r--r--dist/Devel-PPPort/parts/base/500900124
-rw-r--r--dist/Devel-PPPort/parts/base/500900232
-rw-r--r--dist/Devel-PPPort/parts/base/5009003226
-rw-r--r--dist/Devel-PPPort/parts/base/5009004173
-rw-r--r--dist/Devel-PPPort/parts/base/5009005287
-rw-r--r--dist/Devel-PPPort/parts/base/501000068
-rw-r--r--dist/Devel-PPPort/parts/base/5010001110
-rw-r--r--dist/Devel-PPPort/parts/base/501100063
-rw-r--r--dist/Devel-PPPort/parts/base/50110016
-rw-r--r--dist/Devel-PPPort/parts/base/501100226
-rw-r--r--dist/Devel-PPPort/parts/base/50110045
-rw-r--r--dist/Devel-PPPort/parts/base/50110053
-rw-r--r--dist/Devel-PPPort/parts/base/50130003
-rw-r--r--dist/Devel-PPPort/parts/base/501300116
-rw-r--r--dist/Devel-PPPort/parts/base/501300224
-rw-r--r--dist/Devel-PPPort/parts/base/501300318
-rw-r--r--dist/Devel-PPPort/parts/base/50130048
-rw-r--r--dist/Devel-PPPort/parts/base/50130057
-rw-r--r--dist/Devel-PPPort/parts/base/501300621
-rw-r--r--dist/Devel-PPPort/parts/base/501300749
-rw-r--r--dist/Devel-PPPort/parts/base/501300813
-rw-r--r--dist/Devel-PPPort/parts/base/5013009145
-rw-r--r--dist/Devel-PPPort/parts/base/501301022
-rw-r--r--dist/Devel-PPPort/parts/base/50130115
-rw-r--r--dist/Devel-PPPort/parts/base/50140003
-rw-r--r--dist/Devel-PPPort/parts/base/501500038
-rw-r--r--dist/Devel-PPPort/parts/base/501500122
-rw-r--r--dist/Devel-PPPort/parts/base/501500211
-rw-r--r--dist/Devel-PPPort/parts/base/501500315
-rw-r--r--dist/Devel-PPPort/parts/base/501500424
-rw-r--r--dist/Devel-PPPort/parts/base/50150059
-rw-r--r--dist/Devel-PPPort/parts/base/501500610
-rw-r--r--dist/Devel-PPPort/parts/base/501500718
-rw-r--r--dist/Devel-PPPort/parts/base/501500824
-rw-r--r--dist/Devel-PPPort/parts/base/50150091
-rw-r--r--dist/Devel-PPPort/parts/base/501600010
-rw-r--r--dist/Devel-PPPort/parts/base/50170006
-rw-r--r--dist/Devel-PPPort/parts/base/50170019
-rw-r--r--dist/Devel-PPPort/parts/base/501700249
-rw-r--r--dist/Devel-PPPort/parts/base/501700315
-rw-r--r--dist/Devel-PPPort/parts/base/501700454
-rw-r--r--dist/Devel-PPPort/parts/base/50170059
-rw-r--r--dist/Devel-PPPort/parts/base/501700638
-rw-r--r--dist/Devel-PPPort/parts/base/501700731
-rw-r--r--dist/Devel-PPPort/parts/base/501700825
-rw-r--r--dist/Devel-PPPort/parts/base/50170091
-rw-r--r--dist/Devel-PPPort/parts/base/50170109
-rw-r--r--dist/Devel-PPPort/parts/base/501701113
-rw-r--r--dist/Devel-PPPort/parts/base/50180009
-rw-r--r--dist/Devel-PPPort/parts/base/501900115
-rw-r--r--dist/Devel-PPPort/parts/base/501900248
-rw-r--r--dist/Devel-PPPort/parts/base/501900311
-rw-r--r--dist/Devel-PPPort/parts/base/501900442
-rw-r--r--dist/Devel-PPPort/parts/base/501900515
-rw-r--r--dist/Devel-PPPort/parts/base/501900611
-rw-r--r--dist/Devel-PPPort/parts/base/50190075
-rw-r--r--dist/Devel-PPPort/parts/base/501900816
-rw-r--r--dist/Devel-PPPort/parts/base/501900940
-rw-r--r--dist/Devel-PPPort/parts/base/501901016
-rw-r--r--dist/Devel-PPPort/parts/base/50200002
-rw-r--r--dist/Devel-PPPort/parts/base/502100134
-rw-r--r--dist/Devel-PPPort/parts/base/502100210
-rw-r--r--dist/Devel-PPPort/parts/base/502100314
-rw-r--r--dist/Devel-PPPort/parts/base/502100461
-rw-r--r--dist/Devel-PPPort/parts/base/502100551
-rw-r--r--dist/Devel-PPPort/parts/base/502100683
-rw-r--r--dist/Devel-PPPort/parts/base/502100770
-rw-r--r--dist/Devel-PPPort/parts/base/502100816
-rw-r--r--dist/Devel-PPPort/parts/base/502100927
-rw-r--r--dist/Devel-PPPort/parts/base/50210107
-rw-r--r--dist/Devel-PPPort/parts/base/502300043
-rw-r--r--dist/Devel-PPPort/parts/base/50230012
-rw-r--r--dist/Devel-PPPort/parts/base/502300216
-rw-r--r--dist/Devel-PPPort/parts/base/50230038
-rw-r--r--dist/Devel-PPPort/parts/base/502300517
-rw-r--r--dist/Devel-PPPort/parts/base/502300631
-rw-r--r--dist/Devel-PPPort/parts/base/502300713
-rw-r--r--dist/Devel-PPPort/parts/base/502300868
-rw-r--r--dist/Devel-PPPort/parts/base/502300923
-rw-r--r--dist/Devel-PPPort/parts/base/50240005
-rw-r--r--dist/Devel-PPPort/parts/base/50250011
-rw-r--r--dist/Devel-PPPort/parts/base/50250027
-rw-r--r--dist/Devel-PPPort/parts/base/502500320
-rw-r--r--dist/Devel-PPPort/parts/base/502500411
-rw-r--r--dist/Devel-PPPort/parts/base/502500516
-rw-r--r--dist/Devel-PPPort/parts/base/502500634
-rw-r--r--dist/Devel-PPPort/parts/base/50250079
-rw-r--r--dist/Devel-PPPort/parts/base/50250088
-rw-r--r--dist/Devel-PPPort/parts/base/502500910
-rw-r--r--dist/Devel-PPPort/parts/base/50250109
-rw-r--r--dist/Devel-PPPort/parts/base/50250111
-rw-r--r--dist/Devel-PPPort/parts/base/50250121
-rw-r--r--dist/Devel-PPPort/parts/base/5027001330
-rw-r--r--dist/Devel-PPPort/parts/base/502700216
-rw-r--r--dist/Devel-PPPort/parts/base/502700328
-rw-r--r--dist/Devel-PPPort/parts/base/502700417
-rw-r--r--dist/Devel-PPPort/parts/base/50270052
-rw-r--r--dist/Devel-PPPort/parts/base/502700649
-rw-r--r--dist/Devel-PPPort/parts/base/502700719
-rw-r--r--dist/Devel-PPPort/parts/base/502700834
-rw-r--r--dist/Devel-PPPort/parts/base/502700943
-rw-r--r--dist/Devel-PPPort/parts/base/502701062
-rw-r--r--dist/Devel-PPPort/parts/base/502701112
-rw-r--r--dist/Devel-PPPort/parts/base/50280021
-rw-r--r--dist/Devel-PPPort/parts/base/50280031
-rw-r--r--dist/Devel-PPPort/parts/base/50290003
-rw-r--r--dist/Devel-PPPort/parts/base/502900114
-rw-r--r--dist/Devel-PPPort/parts/base/502900243
-rw-r--r--dist/Devel-PPPort/parts/base/50290031
-rw-r--r--dist/Devel-PPPort/parts/base/50290047
-rw-r--r--dist/Devel-PPPort/parts/base/50290051
-rw-r--r--dist/Devel-PPPort/parts/base/50290065
-rw-r--r--dist/Devel-PPPort/parts/base/50290074
-rw-r--r--dist/Devel-PPPort/parts/base/50290087
-rw-r--r--dist/Devel-PPPort/parts/base/502900987
-rw-r--r--dist/Devel-PPPort/parts/base/50290107
-rw-r--r--dist/Devel-PPPort/parts/base/50300011
-rw-r--r--dist/Devel-PPPort/parts/base/50300021
-rw-r--r--dist/Devel-PPPort/parts/base/50300031
-rw-r--r--dist/Devel-PPPort/parts/base/50310001
-rw-r--r--dist/Devel-PPPort/parts/base/50310018
-rw-r--r--dist/Devel-PPPort/parts/base/50310025
-rw-r--r--dist/Devel-PPPort/parts/base/503100413
-rw-r--r--dist/Devel-PPPort/parts/base/503100510
-rw-r--r--dist/Devel-PPPort/parts/base/503100630
-rw-r--r--dist/Devel-PPPort/parts/base/503100754
-rw-r--r--dist/Devel-PPPort/parts/base/50310081
-rw-r--r--dist/Devel-PPPort/parts/base/503100930
-rw-r--r--dist/Devel-PPPort/parts/base/503101088
-rw-r--r--dist/Devel-PPPort/parts/base/50310112
-rw-r--r--dist/Devel-PPPort/parts/base/50320003
-rw-r--r--dist/Devel-PPPort/parts/base/503300011
-rw-r--r--dist/Devel-PPPort/parts/base/50330017
-rw-r--r--dist/Devel-PPPort/parts/base/50330021
-rw-r--r--dist/Devel-PPPort/parts/embed.fnc591
-rw-r--r--dist/Devel-PPPort/parts/inc/call4
-rw-r--r--dist/Devel-PPPort/parts/inc/cop2
-rw-r--r--dist/Devel-PPPort/parts/inc/format2
-rw-r--r--dist/Devel-PPPort/parts/inc/gv17
-rw-r--r--dist/Devel-PPPort/parts/inc/locale19
-rw-r--r--dist/Devel-PPPort/parts/inc/magic12
-rw-r--r--dist/Devel-PPPort/parts/inc/mess26
-rw-r--r--dist/Devel-PPPort/parts/inc/misc13
-rw-r--r--dist/Devel-PPPort/parts/inc/newSVpv2
-rw-r--r--dist/Devel-PPPort/parts/inc/ppphbin45
-rw-r--r--dist/Devel-PPPort/parts/inc/ppphdoc64
-rw-r--r--dist/Devel-PPPort/parts/inc/ppphtest7
-rw-r--r--dist/Devel-PPPort/parts/inc/pv_tools2
-rw-r--r--dist/Devel-PPPort/parts/inc/sv_xpvf18
-rw-r--r--dist/Devel-PPPort/parts/inc/uv2
-rw-r--r--dist/Devel-PPPort/parts/inc/variables8
-rw-r--r--dist/Devel-PPPort/parts/inc/version139
-rw-r--r--dist/Devel-PPPort/parts/inc/warn8
-rw-r--r--dist/Devel-PPPort/parts/ppport.fnc62
-rw-r--r--dist/Devel-PPPort/parts/ppptools.pl26
-rw-r--r--dist/Devel-PPPort/parts/todo/5003007150
-rw-r--r--dist/Devel-PPPort/parts/todo/500400012
-rw-r--r--dist/Devel-PPPort/parts/todo/500500013
-rw-r--r--dist/Devel-PPPort/parts/todo/500600057
-rw-r--r--dist/Devel-PPPort/parts/todo/50060011
-rw-r--r--dist/Devel-PPPort/parts/todo/50070015
-rw-r--r--dist/Devel-PPPort/parts/todo/50070021
-rw-r--r--dist/Devel-PPPort/parts/todo/50070035
-rw-r--r--dist/Devel-PPPort/parts/todo/50080015
-rw-r--r--dist/Devel-PPPort/parts/todo/50080091
-rw-r--r--dist/Devel-PPPort/parts/todo/50090006
-rw-r--r--dist/Devel-PPPort/parts/todo/50090036
-rw-r--r--dist/Devel-PPPort/parts/todo/50090041
-rw-r--r--dist/Devel-PPPort/parts/todo/50090057
-rw-r--r--dist/Devel-PPPort/parts/todo/501000010
-rw-r--r--dist/Devel-PPPort/parts/todo/50100017
-rw-r--r--dist/Devel-PPPort/parts/todo/50110002
-rw-r--r--dist/Devel-PPPort/parts/todo/50110021
-rw-r--r--dist/Devel-PPPort/parts/todo/50130062
-rw-r--r--dist/Devel-PPPort/parts/todo/50130072
-rw-r--r--dist/Devel-PPPort/parts/todo/50130081
-rw-r--r--dist/Devel-PPPort/parts/todo/50150032
-rw-r--r--dist/Devel-PPPort/parts/todo/50170011
-rw-r--r--dist/Devel-PPPort/parts/todo/50170072
-rw-r--r--dist/Devel-PPPort/parts/todo/50210061
-rw-r--r--dist/Devel-PPPort/parts/todo/50230007
-rw-r--r--dist/Devel-PPPort/parts/todo/502300814
-rw-r--r--dist/Devel-PPPort/parts/todo/50270084
-rw-r--r--dist/Devel-PPPort/parts/todo/50280021
-rw-r--r--dist/Devel-PPPort/parts/todo/50280031
-rw-r--r--dist/Devel-PPPort/parts/todo/50300011
-rw-r--r--dist/Devel-PPPort/parts/todo/50300021
-rw-r--r--dist/Devel-PPPort/parts/todo/50300031
-rw-r--r--dist/Devel-PPPort/parts/todo/50310001
-rw-r--r--dist/Devel-PPPort/parts/todo/50310051
-rw-r--r--dist/Devel-PPPort/parts/todo/50310074
-rw-r--r--dist/Devel-PPPort/parts/todo/50310091
-rw-r--r--dist/Devel-PPPort/parts/todo/50310101
-rw-r--r--dist/Devel-PPPort/parts/todo/50310111
-rw-r--r--dist/Devel-PPPort/parts/todo/50320001
-rw-r--r--dist/Devel-PPPort/parts/todo/50330001
-rw-r--r--dist/Devel-PPPort/parts/todo/50330012
-rw-r--r--dist/Devel-PPPort/parts/todo/50330023
-rw-r--r--dist/Devel-PPPort/t/01_test.t57
-rw-r--r--dist/Devel-PPPort/t/HvNAME.t60
-rw-r--r--dist/Devel-PPPort/t/MY_CXT.t58
-rw-r--r--dist/Devel-PPPort/t/SvPV.t124
-rw-r--r--dist/Devel-PPPort/t/SvREFCNT.t58
-rw-r--r--dist/Devel-PPPort/t/Sv_set.t117
-rw-r--r--dist/Devel-PPPort/t/call.t165
-rw-r--r--dist/Devel-PPPort/t/cop.t108
-rw-r--r--dist/Devel-PPPort/t/exception.t71
-rw-r--r--dist/Devel-PPPort/t/format.t80
-rw-r--r--dist/Devel-PPPort/t/grok.t66
-rw-r--r--dist/Devel-PPPort/t/gv.t67
-rw-r--r--dist/Devel-PPPort/t/limits.t59
-rw-r--r--dist/Devel-PPPort/t/locale.t67
-rw-r--r--dist/Devel-PPPort/t/mPUSH.t66
-rw-r--r--dist/Devel-PPPort/t/magic.t229
-rw-r--r--dist/Devel-PPPort/t/memory.t56
-rw-r--r--dist/Devel-PPPort/t/mess.t327
-rw-r--r--dist/Devel-PPPort/t/misc.t499
-rw-r--r--dist/Devel-PPPort/t/newCONSTSUB.t63
-rw-r--r--dist/Devel-PPPort/t/newRV.t57
-rw-r--r--dist/Devel-PPPort/t/newSV_type.t56
-rw-r--r--dist/Devel-PPPort/t/newSVpv.t82
-rw-r--r--dist/Devel-PPPort/t/podtest.t87
-rw-r--r--dist/Devel-PPPort/t/ppphtest.t942
-rw-r--r--dist/Devel-PPPort/t/pv_tools.t88
-rw-r--r--dist/Devel-PPPort/t/pvs.t77
-rw-r--r--dist/Devel-PPPort/t/shared_pv.t56
-rw-r--r--dist/Devel-PPPort/t/snprintf.t58
-rw-r--r--dist/Devel-PPPort/t/sprintf.t58
-rw-r--r--dist/Devel-PPPort/t/strlfuncs.t69
-rw-r--r--dist/Devel-PPPort/t/sv_xpvf.t82
-rw-r--r--dist/Devel-PPPort/t/threads.t58
-rw-r--r--dist/Devel-PPPort/t/utf8.t300
-rw-r--r--dist/Devel-PPPort/t/uv.t68
-rw-r--r--dist/Devel-PPPort/t/variables.t111
-rw-r--r--dist/Devel-PPPort/t/warn.t82
269 files changed, 8463 insertions, 6447 deletions
diff --git a/dist/Devel-PPPort/.gitignore b/dist/Devel-PPPort/.gitignore
index ea16eb4cf5..0fa82e0976 100644
--- a/dist/Devel-PPPort/.gitignore
+++ b/dist/Devel-PPPort/.gitignore
@@ -16,3 +16,6 @@ PPPort.bs
/README
/README.md
/.travis.yml
+/Devel-PPPort-*.tar.gz
+/Devel-PPPort-*/
+/t/*.t
diff --git a/dist/Devel-PPPort/Changes b/dist/Devel-PPPort/Changes
index b2ec2d3207..49228c8357 100644
--- a/dist/Devel-PPPort/Changes
+++ b/dist/Devel-PPPort/Changes
@@ -1,5 +1,15 @@
Revision history for Devel-PPPort
+ 3.59 - 2020-08-10
+
+ * Add PERL_VERSION_* compare macros
+ * Stop versioning generated test files
+ * Enforce strict & warnings
+ * Avoid indirect calls
+ * scanprov: multiple improvements
+ * Use ivers() in tests
+ * Update POD documentation and HACKERS file
+
3.58 - 2020-03-09
* Safer definition of UVCHR_SKIP
diff --git a/dist/Devel-PPPort/HACKERS b/dist/Devel-PPPort/HACKERS
index 5cf783afdb..98abad2ccf 100644
--- a/dist/Devel-PPPort/HACKERS
+++ b/dist/Devel-PPPort/HACKERS
@@ -14,13 +14,12 @@ lying around in this distribution.
=head2 How to backport something
First, make sure that what you want to backport is documented. If it's worth
-backporting, it surely is worth documenting. Send a documentation patch to
-L<perlbug@perl.org|mailto:perlbug@perl.org> if necessary. Also,
-C<Devel::PPPort> cannot automatically generate proper information about the
-item without at least knowing its API prototype. It can get this from
-F<embed.fnc> if the item is a function, but if it is a macro, there needs to be
-at least a S<C<=for apidoc>> line for C<Devel::PPPort> to be able to figure
-things out on its own.
+backporting, it surely is worth documenting. Submit a documentation patch to
+L<https://github.com/Perl/perl5/issues> if necessary. Also, C<Devel::PPPort>
+cannot automatically generate proper information about the item without at
+least knowing its API prototype. It can get this from F<embed.fnc> if the item
+is a function, but if it is a macro, there needs to be at least a S<C<=for
+apidoc>> line for C<Devel::PPPort> to be able to figure things out on its own.
Next, figure out where to place your implementation. Look at all the files in
F<parts/inc/> for one that fits what you're planning. If there isn't one,
@@ -134,18 +133,26 @@ object will not get missing symbols when loaded.
It also means you have to check for and skip tests that aren't relevant to this
version. The recommended way to do this is like:
- if (ivers($]) < ivers(5.6.2)) {
+ if (ivers($]) < ivers(5.6)) { # No quotes needed
skip "reason", $count;
}
- elsif (if (ivers($]) > ivers(5.5) {
+ elsif (if (ivers($]) > ivers("5.5.4") {
+ # Quotes needed for double-dotted versions prior to 5.6.0
skip "other reason", $count;
}
+ else {
+ do_the_test
+ }
C<ivers()> is a function automatically made available to all F<.t> files. It
converts any reasonble expression of a version number into an integer, which
can reliably be compared using numeric comparison operators, with the output of
a second C<ivers()> call on a different version number, like in the result above.
+It's worth emphasizing that, due to bugs in early perl parsing, if you use a
+version number containing two dots on a version befor 5.6.0, it has to be
+quoted.
+
=back
In all sections, lines that begin with C<##> are completely ignored.
@@ -153,10 +160,29 @@ In all sections, lines that begin with C<##> are completely ignored.
=head2 Implementation Section Details
You can implement API elements via C functions or macros, or simple variables.
-For a function, just place its body in this C<=implementation> section. But it
-is preferable to use a macro if feasible. Otherwise, the user must explicitly
-request that it get loaded, by defining a C<NEED_I<function>> (or I<variable>)
-as described in F<ppport.h>.
+It is preferable to use a macro if feasible. Otherwise, the user must
+explicitly request that it get loaded, by defining a C<NEED_I<function>> (or
+I<variable>) as described in F<ppport.h>. If a function, I<foo> is required,
+place its body in this C<=implementation> section, like so:
+
+ #if { NEED foo }
+
+ char *
+ foo(pTHX_ const U8 *arg1, const U32 arg2, ...)
+ {
+ ...
+ }
+
+ #endif
+
+Similarly for a variable.
+
+It's obviously best to use a macro if at all feasible. Sometimes what once
+was implemented with a macro now requires a function; perhaps an edge case was
+overlooked. Doing so will cause the new F<ppport.h> to not be drop-in
+compatible with the older version, and can hence cause breakage. This
+incompatiblity (while easily solved) really needs to be stressed in
+documentation.
=over
@@ -209,18 +235,12 @@ perl versions).
C<ivers()> is used in the C<=tests> section to overcome this. and constructs
like the following in the C language sections.
- #if PERL_VERSION_EQ(5,9,3)
- #if PERL_VERSION_NE(5,9,3)
- #if PERL_VERSION_LT(5,9,3)
- #if PERL_VERSION_GT(5,9,3)
- #if PERL_VERSION_LE(5,9,3)
- #if PERL_VERSION_GE(5,9,3)
-
-An alternative way of saying things like these is
-
#if { VERSION < 5.9.3 }
-In this form, the version number can be either of the new form C<5.x.x> or the
+You SHOULD be using this construct or the alternatives listed below for ALL
+version checks, and not come up with something on your own.
+
+In this form, the version number can be either of the new form C<5.x.y> or the
older form C<5.00x_yy>. Both are translated into the correct preprocessor
statements. It is also possible to combine this with other statements:
@@ -233,14 +253,40 @@ statements. It is also possible to combine this with other statements:
This not only works in the C<=implementation> section, but also in
the C<=xsubs>, C<=xsinit>, C<=xsmisc>, C<=xshead> and C<=xsboot> sections.
+Alternatively, you can use the forms now available in regular Perl:
+
+ #if PERL_VERSION_EQ(5,9,3)
+ #if PERL_VERSION_NE(5,9,3)
+ #if PERL_VERSION_LT(5,9,3)
+ #if PERL_VERSION_GT(5,9,3)
+ #if PERL_VERSION_LE(5,9,3)
+ #if PERL_VERSION_GE(5,9,3)
+
+These forms have the advantage over the '{ VERSION ... }' form in that you may
+use the special value '*' for the final number to mean ALL possible values for
+it. Thus,
+
+ #if PERL_VERSION_EQ(5,31,'*')
+
+means all perls in the 5.31 series. And
+
+ #if PERL_VERSION_NE(5,24,'*')
+
+means all perls EXCEPT 5.24 ones. And
+
+ #if PERL_VERSION_LE(5,9,'*')
+
+is effectively
+
+ #if PERL_VERSION_LT(5,10,0)
+
=item Hints
If you add a comment like so:
/* Hint: PL_expect, PL_copline, PL_rsfp
- paragraphs of stuff about foo you want to have
- shown when ppport.h outputs something about PL_expect or
- PL_copline or PL_rsfp
+ paragraphs of stuff you want to have shown when ppport.h outputs
+ something about any one of PL_expect, PL_copline, or PL_rsfp
*/
Earlier versions of F<ppport.h> required an asterisk at the beginning of every
@@ -248,12 +294,11 @@ continuation line, or else the content would be silently dropped.
=item Warnings
-A more serious caution about C<foo> can be displayed by instead saying
+A more serious caution can be displayed by instead saying
/* Warning: PL_expect, PL_copline, PL_rsfp
- paragraphs of stuff about foo you want to have
- shown when ppport.h outputs something about PL_expect or
- PL_copline or PL_rsfp
+ paragraphs of stuff you want to have shown when ppport.h outputs
+ something about any one of PL_expect, PL_copline, or PL_rsfp
*/
Earlier versions of F<ppport.h> required an asterisk at the beginning of every
@@ -398,7 +443,9 @@ some of these have been in limbo for many years, so should be documented.
And you will need updated API information. Copy the latest F<embed.fnc> file
from bleadperl to the F<parts> directory and run F<devel/mkapidoc.pl> to
-collect the remaining information in F<parts/apidoc.fnc>.
+collect the remaining information in F<parts/apidoc.fnc>. This needs to be
+done after the perl has been compiled, as there are generated files that feed
+it.
=item *
@@ -602,7 +649,7 @@ No known bugs.
=head1 COPYRIGHT
-Version 3.x, Copyright (C) 2004-2019, Marcus Holland-Moritz
+Version 3.x, Copyright (C) 2004-2020, Marcus Holland-Moritz
and Perl 5 porters
Version 2.x, Copyright (C) 2001, Paul Marquess.
diff --git a/dist/Devel-PPPort/Makefile.PL b/dist/Devel-PPPort/Makefile.PL
index 9cc43283ae..a74a57dab5 100644
--- a/dist/Devel-PPPort/Makefile.PL
+++ b/dist/Devel-PPPort/Makefile.PL
@@ -11,6 +11,11 @@
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
#
+# CAUTION! that this runs on 5.003. That means there are certain restrictions
+# apply. The most likely gotchas are in the HACKERS file under "How to
+# backport something". Under the tests paragraph, there is a list of things
+# to avoid.
+#
################################################################################
require 5.003;
@@ -53,7 +58,7 @@ WriteMakefile(%mf);
sub configure
{
- my @clean = qw{ $(H_FILES) RealPPPort.xs RealPPPort.c PPPort.pm };
+ my @clean = qw{ $(H_FILES) RealPPPort.xs RealPPPort.c PPPort.pm t/*.t };
my %depend = (
'$(OBJECT)' => '$(H_FILES)',
'Makefile' => '$(VERSION_FROM)',
@@ -147,6 +152,8 @@ sub MY::postamble
my $post = shift->SUPER::postamble(@_);
$post .= <<'POSTAMBLE';
+.PHONY: purge_all regen_pm regen_xs regen_tests regen_h regen_release_date
+
purge_all: realclean
@$(RM_F) PPPort.pm t/*.t
@@ -162,7 +169,10 @@ regen_tests:
regen_h:
$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) ppport_h.PL
-regen: regen_pm regen_xs regen_tests regen_h
+regen_release_date:
+ $(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -I$(PERL_ARCHLIB) -I$(PERL_LIB) devel/update_release_date.pl
+
+regen: regen_pm regen_xs regen_tests regen_h regen_release_date
POSTAMBLE
return $post;
@@ -207,6 +217,24 @@ TESTS_IN_T
return $updated;
}
+sub MY::dist_basics
+{
+ package MY;
+ my $original = shift->SUPER::dist_basics(@_);
+
+ my $updated = '';
+ my @rules = split( m{^\s*$}m, $original );
+ my $rule;
+ foreach $rule ( @rules ) {
+ if ( $rule =~ m{^\s*^manifest\s+:}m ) {
+ $rule =~ s{^(\s*^manifest\s+:.*)}{$1 $t_01_test}m; # make sure we regenerate tests
+ }
+ $updated .= $rule;
+ }
+
+ return $updated;
+}
+
sub MY::dist_core
{
package MY;
@@ -217,7 +245,7 @@ sub MY::dist_core
my $rule;
foreach $rule ( @rules ) {
if ( $rule =~ m{^\s*^dist\s+:}m ) {
- $rule =~ s{:}{: PPPort.pm manifest}; # make sure we update PPPort.pm
+ $rule =~ s{:}{: PPPort.pm manifest regen}; # make sure we update PPPort.pm
$rule .= qq[\t].q[$(NOECHO) $(ECHO) "Warning: Please check '__MAX_PERL__' value in PPPort_pm.PL"].qq[\n];
# checking that the tarball has no Pax Header - avoid false positives by using [P]axHEader
$rule .= qq[\t].q[$(NOECHO) zgrep -a -e '[P]axHeader' $(DISTVNAME).tar$(SUFFIX) && ( $(ECHO) "ERROR: Pax Header detected in tarball"; rm -f $(DISTVNAME).tar$(SUFFIX) ) ||:].qq[\n];
diff --git a/dist/Devel-PPPort/PPPort_pm.PL b/dist/Devel-PPPort/PPPort_pm.PL
index 3c51fbea8f..ba35acab85 100644
--- a/dist/Devel-PPPort/PPPort_pm.PL
+++ b/dist/Devel-PPPort/PPPort_pm.PL
@@ -85,7 +85,23 @@ my %raw_base = %{&parse_todo('parts/base')};
# determine
my %raw_todo = %{&parse_todo('parts/todo')};
-# Invert so each key is the 7 digit version number, and it's value is an array
+# The items defined by config.h are found instead by scanprov which currently
+# doesn't write them to the todo files. Instead add them here. All such have
+# the K code.
+for (keys %raw_base) {
+ next if exists $raw_todo{$_}; # Don't override any existing
+ next unless exists $raw_base{$_}{code};
+ next unless $raw_base{$_}{code} eq 'K';
+ $raw_todo{$_} = $raw_base{$_};
+
+ next if exists $embed{$_}; # Don't override any existing
+ $embed{$_}->{flags}{'A'} = 1;
+ $embed{$_}->{flags}{'m'} = 1;
+ $embed{$_}->{flags}{'d'} = 1;
+ $embed{$_}->{flags}{'T'} = 1;
+}
+
+# Invert so each key is the 7 digit version number, and its value is an array
# of all symbols within it, like:
# '5005003' => [
# 'POPpx',
@@ -106,7 +122,7 @@ my @todo_list = reverse sort keys %todo;
# directories are empty (which should only happen during regeneration of the
# base and todo files).). Actually the final element is for blead (at the
# time things were regenerated), which is 1 beyond the max version supported.
-my $INT_MAX_PERL = (@todo_list) ? $todo_list[0] - 1 : '5030000'; # used for __MAX_PERL__
+my $INT_MAX_PERL = (@todo_list) ? $todo_list[0] - 1 : '5032000'; # used for __MAX_PERL__
my $MAX_PERL = format_version($INT_MAX_PERL);
my $INT_MIN_PERL = (@todo_list) ? $todo_list[-1] : 5003007;
my $MIN_PERL = format_version($INT_MIN_PERL);
@@ -138,21 +154,30 @@ for (@provided) {
}
}
-my @perl_api;
+my %perl_api;
for (@provided) {
next if /^Perl_(.*)/ && exists $embed{$1};
next if exists $embed{$_};
- push @perl_api, $_;
+ $perl_api{$_} = 1;
check(2, "No API definition for provided element $_ found.");
}
-# At this point @perl_api is the list of things we provide that weren't found
-# in the .fnc files.
-my @prototype_unknown = @perl_api;
+# At this point the keys of %perl_api give the list of things we provide that
+# weren't found in the .fnc files.
+my @prototype_unknown = keys %perl_api;
# Add in the .fnc file definitions.
-push @perl_api, keys %embed;
-@perl_api = sort dictionary_order @perl_api;
+for (keys %embed) {
+ $perl_api{$_} = 1;
+}
+
+# Finally, scanprov has found macros of various types
+my @scanprov_found_macros = grep { $raw_base{$_}{code} =~ /[KMZ]/ } keys %raw_base;
+for (@scanprov_found_macros) {
+ $perl_api{$_} = 1;
+}
+
+my @perl_api = sort dictionary_order keys %perl_api;
for (@perl_api) { # $_ is the item name
if (exists $provides{$_} && !exists $raw_base{$_}) {
@@ -175,18 +200,19 @@ for (@perl_api) { # $_ is the item name
$e = $embed{$_} if exists $embed{$_};
my $is_documented = 0;
my $is_accessible = 0;
+ my $has_thread = 1;
if (defined $e) {
if (exists $e->{flags}{'p'}) { # Has 'Perl_' prefix
my $args = $e->{args};
$line .= 'v' if @$args && $args->[-1][0] eq '...';
}
$line .= 'o' if exists $e->{ppport_fnc};
- $line .= 'n' if exists $e->{flags}{'T'}; # No thread context parameter
$line .= 'd' if exists $e->{flags}{'D'}; # deprecated
$line .= 'x' if exists $e->{flags}{'x'}; # experimental
$line .= 'c' if exists $e->{flags}{'C'} # core-only
|| ( exists $e->{flags}{'X'}
&& (exists $e->{flags}{'E'} || ! exists $e->{flags}{'m'}));
+ $has_thread = 0 if exists $e->{flags}{'T'}; # No thread context parameter
$is_accessible = 1 if exists $e->{flags}{'A'}
|| exists $e->{flags}{'C'}
|| ( exists $e->{flags}{'X'}
@@ -195,21 +221,29 @@ for (@perl_api) { # $_ is the item name
$is_documented = 1 if exists $e->{flags}{'d'};
}
- # scanprov adds the M and F flags. The M is for provided macros; F for
- # functions we didn't find in testing (usually because they are hidden
- # behind ifdefs, like PERL_GLOBAL_STRUCT_PRIVATE). None of them were
- # verified
+ # scanprov adds several flags:
+ # F is for functions we didn't find in testing (usually because they are
+ # hidden behind ifdefs, like USE_THREADS if built on unthreaded perls,
+ # or vice-versa.
+ # K for config.h #defines. These are considered provided and are
+ # documented in config.h (mnemonic: K is like c in config)
+ # M for provided, undocumented macros. If they were documented, they
+ # would have been found before scanprov was run.
+ # Z for macros that aren't documented or provided. (mnemonic:
+ # 'Zecret'). Some of these may be hidden behind an #ifdef PERL_CORE.
+ # None of these were verified by compilation
if (exists $raw_base{$_}{code}) {
- $line .= 'V' if $raw_base{$_}{code} =~ /[MFX]/;
+ $line .= 'V' if $raw_base{$_}{code} =~ /[FKMXZ]/;
$is_accessible = 1 if $raw_base{$_}{code} =~ /M/;
}
+ $line .= 'n' unless $has_thread;
$line .= 'i' unless $is_accessible;
$line .= 'u' unless $is_documented;
$_ = $line;
}
-$data =~ s/^([\t ]*)__PERL_API__(\s*?)$/
+$data =~ s/^([\t ]*)__ALL_ELEMENTS__(\s*?)$/
join "\n", map "$1$_", sort dictionary_order @perl_api
/gem;
@@ -218,7 +252,7 @@ my $undocumented = "(undocumented)";
my @todo;
for (@todo_list) {
my $ver = format_version($_);
- $ver .= " (at least)" if $_ == $todo_list[-1];
+ $ver .= " (or maybe earlier)" if $_ == $todo_list[-1];
my $todo = "=item perl $ver\n\n";
for (sort dictionary_order @{$todo{$_}}) {
$todo .= " $_";
@@ -488,7 +522,7 @@ __DATA__
#
# This file was automatically generated from the definition files in the
# parts/inc/ subdirectory by PPPort_pm.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
+# works, please read the L<HACKERS> file that came with this distribution.
#
################################################################################
#
@@ -567,7 +601,16 @@ They are most probably not XS writers. Also, don't make F<ppport.h>
optional. Rather, just take the most recent copy of F<ppport.h> that
you can find (e.g. by generating it with the latest C<Devel::PPPort>
release from CPAN), copy it into your project, adjust your project to
-use it, and distribute the header along with your module.
+use it, test it, and distribute the header along with your module.
+
+It is important to use the most recent version of F<ppport.h>. You do need to
+test before shipping a newer version than you already had. One possible
+failure is that someone had to convert a backported element from a macro into
+a function, and actual functions must be enabled with a NEED macro to minimize
+the possibility of namespace pollution. See L<HACKERS> for details. The
+developers of C<Devel::PPPort> want to hear if there are other problems that
+arise from using a later F<ppport.h>. Use
+L<https://github.com/Dual-Life/Devel-PPPort/issues> to report any.
=head2 Running ppport.h
@@ -691,7 +734,7 @@ Versions >= 3.22 are maintained by perl5 porters
Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
- Copyright (C) 2018, The perl5 porters
+ Copyright (C) 2018-2020, The perl5 porters
Version 2.x, Copyright (C) 2001, Paul Marquess.
@@ -711,7 +754,7 @@ package Devel::PPPort;
use strict;
use vars qw($VERSION $data);
-$VERSION = '3.58';
+$VERSION = '3.59';
sub _init_data
{
diff --git a/dist/Devel-PPPort/devel/devtools.pl b/dist/Devel-PPPort/devel/devtools.pl
index e2437a5b23..49964cecca 100644
--- a/dist/Devel-PPPort/devel/devtools.pl
+++ b/dist/Devel-PPPort/devel/devtools.pl
@@ -120,6 +120,7 @@ sub ask($)
local $| = 1;
do {
print "\a\n$q [y/n] ";
+ return unless -t; # Fail if no tty input
$a = <>; }
while ($a !~ /^\s*([yn])\s*$/i);
return lc $1 eq 'y';
diff --git a/dist/Devel-PPPort/devel/mkapidoc.pl b/dist/Devel-PPPort/devel/mkapidoc.pl
index 6acbc41593..fa49459e2f 100644..100755
--- a/dist/Devel-PPPort/devel/mkapidoc.pl
+++ b/dist/Devel-PPPort/devel/mkapidoc.pl
@@ -1,3 +1,5 @@
+#!/usr/bin/perl
+
################################################################################
#
# mkapidoc.pl -- generate apidoc.fnc from scanning the Perl source
@@ -21,6 +23,7 @@
use warnings;
use strict;
+use File::Find;
my $PERLROOT = $ARGV[0];
unless ($PERLROOT) {
@@ -31,7 +34,6 @@ unless ($PERLROOT) {
die "'$PERLROOT' is invalid, or you haven't successfully run 'make' in it"
unless -e "$PERLROOT/warnings.h";
-my $config= "$PERLROOT/config_h.SH";
my %seen;
# Find the files in MANIFEST that are core, but not embed.fnc, nor .t's
@@ -42,18 +44,54 @@ while (<$m>) { # In embed.fnc,
next if m! ^ embed \. fnc \t !x;
next if m! ^ ( cpan | dist | t) / !x;
next if m! [^\t]* \.t \t !x;
- push @files, $_;
+ s/\t.*//;
+ push @files, "$PERLROOT/$_";
+}
+close $m;
+
+# Examine the SEE ALSO section of perlapi which should contain links to all
+# the pods with apidoc entries in them. Add them to the MANIFEST list.
+my $file;
+
+sub callback {
+ return unless $_ eq $file;
+ return if $_ eq 'config.h'; # We don't examine this one
+ return if $_ eq 'perlintern.pod'; # We don't examine this one
+ return if $File::Find::dir =~ / \/ ( cpan | dist | t ) \b /x;
+ push @files, $File::Find::name;
}
-# These files are also needed. This might have to be added to in the future.
-push @files, qw(pod/perlguts.pod lib/perlxs.pod);
+open my $a, '<', "$PERLROOT/pod/perlapi.pod"
+ or die "Can't open perlapi.pod ($PERLROOT needs to have been built): $!";
+while (<$a>) {
+ next unless / ^ =head1\ SEE\ ALSO /x;
+ while (<$a>) {
+ # The lines look like:
+ # F<config.h>, L<perlintern>, L<perlapio>, L<perlcall>, L<perlclib>,
+ last if / ^ = /x;
+ my @tags = split /, \s* | \s+ /x; # Allow comma- or just space-separated
+ foreach my $tag (@tags) {
+ if ($tag =~ / ^ F< (.*) > $ /x) {
+ $file = $1;
+ }
+ elsif ($tag =~ / ^ L< (.*) > $ /x) {
+ $file = "$1.pod";
+ }
+ else {
+ die "Unknown tag '$tag'";
+ }
-# Find the apidoc entries in all these files
+ find(\&callback, $PERLROOT);
+ }
+ }
+}
+
+# Look through all the files that potentially have apidoc entries
my @entries;
for (@files) {
s/ \t .* //x;
- open my $f, '<', "$PERLROOT/$_" or die "Can't open $_: $!";
+ open my $f, '<', "$_" or die "Can't open $_: $!";
my $line;
while (defined ($line = <$f>)) {
@@ -87,33 +125,9 @@ for (@files) {
}
}
-# The entries in config_h.SH are also (documented) macros that are
-# accessible to XS code, and ppport.h backports some of them. We
-# use only the unconditionally compiled parameterless ones (as
-# that"s all that"s backported so far, and we don"t have to know
-# the types of the parameters).
-open(my $c, "<", $config) or die "$config: $!";
-my $if_depth = 0; # We don"t use the ones within #if statements
- # The #ifndef that guards the whole file is not
- # noticed by the code below
-while (<$c>) {
- $if_depth ++ if / ^ \# [[:blank:]]* (ifdef | if\ defined ) /x;
- $if_depth -- if $if_depth > 0 && / ^ \# [[:blank:]]* endif /x;
- next unless $if_depth <= 0;
-
- # We are only interested in #defines with no parameters
- next unless /^ \# [[:blank:]]* define [[:blank:]]+
- ( [A-Za-z][A-Za-z0-9]* )
- [[:blank:]]
- /x;
- next if $seen{$1}; # Ignore duplicates
- push @entries, "Amnd||$1\n";
- $seen{$1}++;
-}
-close $c or die "Close failed: $!";
-
-open my $out, ">", "parts/apidoc.fnc"
- or die "Can't open 'parts/apidoc.fnc' for writing: $!";
+my $outfile = "parts/apidoc.fnc";
+open my $out, ">", $outfile
+ or die "Can't open '$outfile' for writing: $!";
require "./parts/inc/inctools";
print $out <<EOF;
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@@ -133,3 +147,4 @@ print $out <<EOF;
EOF
print $out sort sort_api_lines @entries;
close $out or die "Close failed: $!";
+print "$outfile regenerated\n";
diff --git a/dist/Devel-PPPort/devel/mkppport_fnc.pl b/dist/Devel-PPPort/devel/mkppport_fnc.pl
index 26adfea7f2..e514b5e678 100644
--- a/dist/Devel-PPPort/devel/mkppport_fnc.pl
+++ b/dist/Devel-PPPort/devel/mkppport_fnc.pl
@@ -1,5 +1,3 @@
-use Data::Dumper;
-$Data::Dumper::Sortkeys=1;
################################################################################
#
# mkppport_fnc.pl -- generate ppport.fnc
@@ -16,14 +14,14 @@ $Data::Dumper::Sortkeys=1;
# figures out aren't tested by the other two functions.
#
# These otherwise-untested items are those:
-# 1) which D:P provides and are not found in embed.fnc nor apidoc.fnc, or
-# aren't listed as public API in those files
+# 1) for which D:P provides and are not found in embed.fnc nor apidoc.fnc,
+# or aren't listed as public API in those files
# 2) and for which tests can be automatically generated that they at least
# compile.
#
# The reason that an item isn't in those two files is that it is an
# undocumented macro. (If it's not a macro, it has to be in embed.fnc, and if
-# it's documented, mkapidoc.sh would find it and place it in apidoc.fnc.)
+# it's documented, mkapidoc.pl would find it and place it in apidoc.fnc.)
#
# And, the reason we can't generate tests for undocumented macros is we don't
# readily know the types of the parameters, which we need to get a C program
@@ -44,10 +42,8 @@ $Data::Dumper::Sortkeys=1;
# found therein with the item, and to include the code as the test for the
# item, but again, it would be better to just document them.
#
-# Later it was discovered that ppport provides support for non-public items.
-# We can list those here too, so that tests can be generated. (An alternative
-# would be to invent a new flag that means non-public, but test and use that
-# in apidoc.fnc.)
+# scanprov, run as part of regeneration, will find when all functions, API or
+# not, became defined; but not macros.
################################################################################
#
# This program is free software; you can redistribute it and/or
@@ -56,11 +52,10 @@ $Data::Dumper::Sortkeys=1;
################################################################################
use strict;
- use Data::Dumper;
- $Data::Dumper::Sortkeys=1;
use warnings;
my $main_dir = $0;
+die "Need base directory as argument" unless $main_dir;
# Up one level
$main_dir =~ s;[^/]*$;;;
@@ -75,24 +70,39 @@ require "$main_dir/parts/ppptools.pl";
my @provided = map { /^(\w+)/ ? $1 : () } `$^X ppport.h --list-provided`;
+die "Nothing provided" unless @provided;
-# First, we look for non-API macros that are documented and furnished by us in
-# spite of not being public
-my @non_public_provided;
my $api_fnc = "$main_dir/parts/apidoc.fnc";
-open F, "<", $api_fnc or die "Can't open $api_fnc: $!";
-while (<F>) {
- my $line = $_;
- next if $line =~ / ^ [^|]* A /x; # Skip API
- chomp $line;
- push @non_public_provided, $line
- # Look for the name in the third '|' separated field
- if grep { $line =~ / ^ [^|]* \| [^|]* \| \s* $_ \s* (?: $ |\| ) /x }
- @provided;
-}
+my $embed_fnc = "$main_dir/parts/embed.fnc";
-my @embeds = parse_embed('parts/embed.fnc', $api_fnc);
+# One of the outputs is a known element provided only by us.
+my @out = 'Am|void|sv_magic_portable|NN SV* sv|NULLOK SV* obj|int how|NULLOK const char* name|I32 namlen';
+# First, get the known macros and functions
+my @embeds = parse_embed($api_fnc, $embed_fnc);
+
+# Then look for 1) non-API functions that are furnished by us.
+# 2) documented non-API macros that are furnished by us
+# We want to test for everything furnished by us. The non-API elements
+# otherwise wouldn't be. In both these cases, we know the signature of the
+# element, so can create a test for it.
+foreach my $element (@embeds) {
+ my $flags = join "", sort { lc $a cmp lc $b or $a cmp $b }
+ keys %{$element->{'flags'}};
+ next if $flags =~ /A/; # Skip public; they'll get tested anyway
+ my $name = $element->{'name'};
+ next unless grep { $name eq $_ } @provided; # Skip unprovided, as that's
+ # not what this program is for
+ my $entry = "$flags|$element->{'ret'}|$name";
+ if ($flags !~ /n/) {
+ $entry .= '|';
+ $entry .= join '|', map { join ' ', @$_ } $element->{'args'}->@*
+ }
+ push @out, $entry;
+}
+
+# Now that we have the things we know the signatures for, we add the
+# no-parameter elements, as the signatures for those are trivial.
# Look for %include lines in the ppport.h generator
my $PPPort = "$main_dir/PPPort_pm.PL";
open F, "<", $PPPort or die "Can't open $PPPort: $!";
@@ -100,31 +110,30 @@ open F, "<", $PPPort or die "Can't open $PPPort: $!";
my @no_parameters;
while (<F>) {
next unless/^%include (\w+)/;
- my $implementation = parse_partspec("$main_dir/parts/inc/$1")->{'implementation'};
-
- # Find no-parameter entries using __UNDEFINED__ that aren't in the other.
- # We know these are provided.
- while ($implementation =~ /^__UNDEFINED__\s+(\w+)\s/mg) {
- push @no_parameters, $1 unless grep { $1 eq $_->{'name'} } @embeds;
- }
-}
-
-# Repeat, but look for ones that are 'provided' that don't use __UNDEFINED__
-seek F, 0, 0;
-while (<F>) {
- next unless/^%include (\w+)/;
- my $implementation = parse_partspec("$main_dir/parts/inc/$1")->{'implementation'};
-
- while ($implementation =~ /^#\s*define\s+(\w+)\s/mg) {
- next if grep { $1 eq $_ } @no_parameters;
- next if grep { $1 eq $_->{'name'} } @embeds;
- next unless grep { $1 eq $_ } @provided;
- push @no_parameters, $1;
+ my @implementation = split /\n/,
+ parse_partspec("$main_dir/parts/inc/$1")->{'implementation'};
+ while (defined (my $line = shift @implementation)) {
+ #my $type;
+ my $var;
+ if ($line =~ /^ __UNDEFINED__ \s+ (\w+) \s /x) {
+ $var = $1;
+ }
+ elsif ($line =~ /^ __NEED_VAR__ \s+ (\w+) \s+ (\w+) /x) {
+ #$type = $1; # Another mechanism to create a variable
+ $var = $2;
+ }
+ elsif ($line =~ / ^ \# \s* define \s+ ( \w+ ) \s /x) {
+ $var = $1;
+ }
+
+ next unless defined $var;
+ next if $var =~ / ^ D_PPP_ /x; # Skip internal only
+ next if grep { $1 eq $_->{'name'} } @embeds; # Skip known elements
+ next if grep { $1 eq $_ } @no_parameters; # Skip if already have it
+ push @no_parameters, $var;
}
}
-my @out = 'Am|void|sv_magic_portable|NN SV* sv|NULLOK SV* obj|int how|NULLOK const char* name|I32 namlen';
-push @out, @non_public_provided;
push @out, map { "Amn|void|$_" } @no_parameters;
@out = sort sort_api_lines @out;
@@ -150,16 +159,18 @@ print OUT <<EOF;
:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
-: This file lists all API functions/macros that are provided purely
-: by Devel::PPPort, or that are not public. It is in the same format as the
-: F<embed.fnc> that ships with the Perl source code.
+: This file lists all functions/macros that are provided by Devel::PPPort that
+: would not be tested otherwise; because either they are not public, or they
+: exist only in D:P. It is in the same format as the F<embed.fnc> that ships
+: with the Perl source code.
:
: Since these are used only to provide the argument types, it's ok to have the
-: return value be void for some where it's an issues
+: return value be void for some where it's a potential issue.
EOF
print OUT join "\n", @out;
print OUT "\n";
+print "$out regenerated\n";
close OUT;
diff --git a/dist/Devel-PPPort/devel/regenerate b/dist/Devel-PPPort/devel/regenerate
index 97b7cbec2b..999354e57b 100755
--- a/dist/Devel-PPPort/devel/regenerate
+++ b/dist/Devel-PPPort/devel/regenerate
@@ -102,7 +102,7 @@ if (-e 'ppport.h') {
my @bad = grep { ! exists $hard_ref->{$_} } @unorthodox;
if (@bad) {
print "The following items need to be manually added to the list in",
- " part/inc/ppptools: known_but_hard_to_test_for(): ",
+ " parts/ppptools.pl: known_but_hard_to_test_for(): ",
join ", ", @bad, "\n";
quit_now();
}
diff --git a/dist/Devel-PPPort/devel/scanprov b/dist/Devel-PPPort/devel/scanprov
index b8f184d55d..5194e69d18 100755
--- a/dist/Devel-PPPort/devel/scanprov
+++ b/dist/Devel-PPPort/devel/scanprov
@@ -1,22 +1,40 @@
#!/usr/bin/perl -w
+$|=1;
################################################################################
#
-# scanprov -- scan Perl headers for provided macros, and add known
-# exceptions, and functions we weren't able to otherwise find.
-# Thus the purpose of this file has been expanded beyond what its
-# name says.
+# scanprov -- scan Perl headers for macros, and add known exceptions, and
+# functions we weren't able to otherwise find. Thus the purpose
+# of this file has been expanded beyond what its name says.
+#
+# Besides the normal options, 'mode=clean' is understood as 'write', but
+# first remove any scanprov lines added in previous runs of this.
#
# The lines added have a code to signify they are added by us:
-# M means it is a macro
-# X means it is a known exceptional item
# F means it is a function in embed.fnc that the normal routines didn't find
+# K means it is a macro in config.h, hence is provided, and documented
+# M means it is a provided by D:P macro
+# X means it is a known exceptional item
+# Z means it is an unprovided macro without documentation
#
# The regeneration routines do not know the prototypes for the macros scanned
# for, which is gotten from documentation in the source. (If they were
# documented, they would be put in parts/apidoc.fnc, and test cases generated
-# for them in mktodo.pl). Therefore these are all undocumented. It would be
-# best if people would add document to them in the perl source, and then this
-# portion of this function would be minimized.
+# for them in mktodo.pl). Therefore these are all undocumented, except for
+# things from config.h which are all documented there, and many of which are
+# just defined or not defined, and hence can't be tested. Thus looking for
+# them here is the most convenient option, which is why it's done here.
+#
+# The scope of this program has also expanded to look in almost all header
+# files for almost all macros that aren't documented nor provided. This
+# allows ppport.h --api-info=/foo/ to return when a given element actually
+# came into existence, which can be a time saver for developers of the perl
+# core.
+#
+# It would be best if people would add documentation to them in the perl
+# source, and then this portion of this function would be minimized.
+#
+# On Linux nm and other uses by D:P, these are the remaining unused capital
+# flags: HJLOQY
#
################################################################################
#
@@ -46,7 +64,9 @@ our %opt = (
GetOptions(\%opt, qw( install=s mode=s blead=s debug=i debug-start=s)) or die;
-my $write = $opt{mode} eq 'write';
+my $clean = $opt{mode} eq 'clean';
+my $write = $clean || $opt{mode} eq 'write';
+my $debug = $opt{debug};
# Get the list of known macros. Functions are calculated separately below
my %embed = map { $_->{flags}{m} ? ( $_->{name} => 1 ) : () }
@@ -63,11 +83,33 @@ push @provided, keys %$hard_to_test_ref;
my $base_dir = 'parts/base';
my $todo_dir = 'parts/todo';
+# The identifying text placed in every entry by this program
+my $id_text = "added by $0";
+
if ($write) {
- # Get the list of files, which are returned sorted, and so the min version
- # is in the 0th element
+ # Get the list of files
my @files = all_files_in_dir($base_dir);
+
+ # If asked to, first strip out the results of previous incarnations of
+ # this script
+ if ($clean) {
+ print "Cleaning previous $0 runs\n";
+ foreach my $file (@files) {
+ open my $fh, "+<", $file or die "$file: $!\n";
+ my @lines = <$fh>;
+ my $orig_count = @lines;
+ @lines = grep { $_ !~ /$id_text/ } @lines;
+ next if @lines == $orig_count; # No need to write if unchanged.
+ truncate $fh, 0;
+ seek $fh, 0, 0;
+ print $fh @lines;
+ close $fh or die "$file: $!\n";
+ }
+ }
+
+ # The file list is returned sorted, and so the min version is in the 0th
+ # element
my $file = $files[0];
my $min_perl = $file;
$min_perl =~ s,.*/,,; # The name is the integer of __MIN_PERL__
@@ -76,15 +118,25 @@ if ($write) {
# exist all the way back. Add them now to avoid throwing later things
# off.
print "-- $file --\n";
- open F, ">>$file" or die "$file: $!\n";
+ open my $fh, "+<", $file or die "$file: $!\n";
+ my @lines = <$fh>;
+ my $count = @lines;
for (qw(RETVAL CALL THIS)) { # These are also in hard_to_test_for(),
# so can't be in blead, as they are skipped
# in testing, so no real need to check that
# they aren't dups.
+ my $line = format_output_line($_, 'X');
+ next if grep { /$line/ } @lines;
print "Adding $_ to $file\n";
- print F format_output_line($_, 'X');
+ push @lines, $line;
}
- close F;
+ if ($count != @lines) {
+ @lines = sort symbol_order @lines;
+ truncate $fh, 0;
+ seek $fh, 0, 0;
+ print $fh @lines;
+ }
+ close $fh;
# Now we're going to add the hard to test symbols. The hash has been
# manually populated and commited, with the version number ppport supports
@@ -116,15 +168,24 @@ if ($write) {
foreach my $version (keys %add_by_version) {
my $file = "$todo_dir/" . int_parse_version($version);
print "-- Adding known exceptions to $file --\n";
- my $need_version_line = ! -e $file;
- open F, ">>$file" or die "$file: $!\n";
- print F format_version_line($version) . "\n" if $need_version_line;
- foreach my $symbol (sort dictionary_order @{$add_by_version{$version}})
- {
- print "adding $symbol\n";
- print F format_output_line($symbol, 'X');
+ open my $fh, "+<", $file or die "$file: $!\n";
+ my @lines = <$fh>;
+ my $count = @lines;
+ push @lines, format_version_line($version) . "\n" unless @lines;
+ foreach my $symbol (@{$add_by_version{$version}}) {
+ my $line = format_output_line($symbol, 'X');
+ unless (grep { /$line/ } @lines) {;
+ print "adding $symbol\n";
+ push @lines, $line unless grep { /$line/ } @lines;
+ }
+ }
+ if (@lines != $count) {
+ @lines = sort symbol_order @lines;
+ truncate $fh, 0;
+ seek $fh, 0, 0;
+ print $fh @lines;
}
- close F;
+ close $fh;
}
}
@@ -147,8 +208,7 @@ my $base_ref = parse_todo($base_dir);
my @functions = parse_embed(qw(parts/embed.fnc));
# We could just gather data for the publicly available ones, but having this
-# information available for everything is useful (for those who know where to
-# look)
+# information available for everything is useful.
#@functions = grep { exists $_->{flags}{A} } @functions;
# The ones we don't have info on are the ones in embed.fnc that aren't in the
@@ -171,12 +231,23 @@ find_first_mentions($perls_ref,
'F'
);
+sub symbol_order # Sort based on first word on line
+{
+ my $stripped_a = $a =~ s/ ^ \s* //rx;
+ $stripped_a =~ s/ \s.* //x;
+
+ my $stripped_b = $b =~ s/ ^ \s* //rx;
+ $stripped_b =~ s/ \s.* //x;
+
+ return dictionary_order($stripped_a, $stripped_b);
+}
+
sub format_output_line
{
my $sym = shift;
my $code = shift;
- return sprintf "%-30s # $code added by $0\n", $sym;
+ return sprintf "%-30s # $code $id_text\n", $sym;
}
sub find_first_mentions
@@ -187,14 +258,18 @@ sub find_first_mentions
my $strip_comments = shift;
my $code = shift; # Mark entries as having this type
+ use feature 'state';
+ state $first_perl = 1;
+
$hdrs = [ $hdrs ] unless ref $hdrs;
- my @remaining = @$look_for_ref;
+ my %remaining;
+ $remaining{$_} = $code for @$look_for_ref;
my %v;
# We look in descending order of perl versions. Each time through the
- # loop @remaining is narrowed.
+ # loop %remaining is narrowed.
for my $p (@$perls_ref) {
print "checking perl $p->{version}...\n";
@@ -204,23 +279,83 @@ sub find_first_mentions
local @ARGV;
push @ARGV, glob "$archlib/CORE/$_" for @$hdrs;
+ # %sym's keys are every single thing that looks like an identifier
+ # (beginning with a non-digit \w, followed by \w*) that occurs in any
+ # header, regardless of where (outside of comments). For macros, it
+ # can't end in an underscore, nor be like 'AbCd', which are marks for
+ # internal.
my %sym;
- # %sym's keys are every single thing that looks like an identifier
- # (beginning with a non-digit \w, followed by \w*) that occurs in all
- # the headers, regardless of where (outside of comments).
local $/ = undef;
- while (<>) { # Read in the next file
+ while (<<>>) { # Read in the whole next file as one string.
+
+ # This would override function definitions with macro ones
+ next if $code eq 'M' && $ARGV =~ m! / embed\.h $ !x;
+
+ my $is_config_h = $ARGV =~ m! / config\.h $ !x;
+
+ my $contents = $_;
+
+ # Strip initial '/*' in config.h /*#define... lines. This just
+ # means the item isn't available on the platform this program is
+ # being run on.
+ $contents =~ s! ^ /\* \s* (?=\#\s*define\s) !!mx if $is_config_h;
# Strip comments, from perl faq
if ($strip_comments) {
- s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#defined $2 ? $2 : ""#gse;
+ $contents =~ s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#defined $2 ? $2 : ""#gse;
}
- $sym{$_}++ for /(\b[^\W\d]\w*)/g;
+ # For macros, we look for #defines
+ if ($code eq 'M') {
+ my %defines;
+
+ while ($contents =~ m/ ^ \s* \# \s* define \s+
+
+ # A symbol not ending in underscore
+ ( [A-Za-z][_A-Za-z0-9]*[A-Za-z0-9] )
+ /mxg)
+ {
+ my $this_define = $1;
+
+ # These are internal and not of external interest, so just
+ # noise if we were to index them
+ next if $this_define =~ / ^ PERL_ARGS_ASSERT /x;
+
+ # Names like AbCd are internal
+ next if $this_define =~ /[[:upper:]][[:lower:]][[:upper:]][[:lower:]]/;
+
+ $defines{$this_define}++;
+ }
+ $sym{$_}++ for keys %defines;
+
+ # For functions, etc we get all the symbols for the latest
+ # perl passed in, but for macros, it is just the ones for the
+ # known documented ones, and we have to find the rest. This
+ # allows us to keep the logic for that in just one place:
+ # here.
+ if ($first_perl) {
+
+ # config.h symbols are documented; the rest aren't, so use
+ # different flags so downstream processing knows which are
+ # which.
+ my $new_code = ($is_config_h) ? 'K' : 'Z';
+
+ foreach my $define (keys %defines) {
+
+ # Don't override input 'M' symbols, or duplicates.
+ next if defined $remaining{$define};
+ $remaining{$define} = $new_code;
+ }
+ }
+ }
+ else { # Look for potential function names; remember comments
+ # have been stripped off.
+ $sym{$_}++ for /(\b[^\W\d]\w*)/g;
+ }
}
- # @remaining is narrowed to include only those identifier-like things
+ # %remaining is narrowed to include only those identifier-like things
# that are mentioned in one of the input hdrs in this release. (If it
# isn't even mentioned, it won't exist in the release.) For those not
# mentioned, a key is added of the identifier-like thing in %v. It is
@@ -229,13 +364,20 @@ sub find_first_mentions
# the provided element was mentioned there, and now it no longer is.
# We take that to mean that to mean that the element became provided
# for in n+1.
- @remaining = map { $sym{$_} or $v{$p->{todo}}{$_}++;
- $sym{$_} ? $_ : ()
- } @remaining;
+ foreach my $symbol (keys %remaining) {
+ next if defined $sym{$symbol}; # Still exists in this release
+
+ # Gone in this release, must have come into existence in the next
+ # higher one.
+ $v{$p->{todo}}{$symbol} = delete $remaining{$symbol};
+ }
+ $first_perl = 0;
}
- $v{$perls_ref->[-1]{file}}{$_}++ for @remaining;
+ # After all releases, assume that anything still defined came into
+ # existence in that earliest release.
+ $v{$perls_ref->[-1]{file}}{$_} = $remaining{$_} for keys %remaining;
# Read in the parts/base files. The hash ref has keys being all symbols
# found in all the files in base/, which are all we are concerned with
@@ -252,30 +394,41 @@ sub find_first_mentions
# 'UTF8_MAXBYTES' => 1
# },
- for my $v (keys %v) {
+ for my $version (keys %v) {
# Things listed in blead (the most recent file) are special. They are
# there by default because we haven't found them anywhere, so they
# don't really exist as far as we can determine, so shouldn't be
# listed as existing.
- next if $v > $perls_ref->[0]->{file};
+ next if $version > $perls_ref->[0]->{file};
- # @new becomes the symbols for version $v not already in the file for
- # $v
- my @new = sort dictionary_order grep { !exists $base_ref->{$_} }
- keys %{$v{$v}};
+ # @new becomes the symbols for $version not already in the file for it
+ my @new = sort symbol_order grep { !exists $base_ref->{$_} }
+ keys %{$v{$version}};
@new or next; # Nothing new, skip writing
- my $file = $v;
+ my $file = $version;
$file =~ s/\.//g;
$file = "$base_dir/$file";
-e $file or die "non-existent: $file\n";
print "-- $file --\n";
- $write and (open F, ">>$file" or die "$file: $!\n");
- for (@new) {
- print "adding $_\n";
- $write and print F format_output_line($_, $code);
+ if ($write) {
+ open my $fh, "+<", $file or die "$file: $!\n";
+ my @lines = <$fh>;
+ my $count = @lines;
+ for my $new (@new) {
+ my $line = format_output_line($new, $v{$version}{$new});
+ next if grep { /$line/ } @lines;
+ print "adding $new\n";
+ push @lines, $line;
+ }
+ if (@lines != $count) {
+ @lines = sort symbol_order @lines;
+ truncate $fh, 0;
+ seek $fh, 0, 0;
+ print $fh @lines;
+ }
+ close $fh;
}
- $write and close F;
}
}
diff --git a/dist/Devel-PPPort/devel/update_release_date.pl b/dist/Devel-PPPort/devel/update_release_date.pl
new file mode 100755
index 0000000000..153f9b3aed
--- /dev/null
+++ b/dist/Devel-PPPort/devel/update_release_date.pl
@@ -0,0 +1,54 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use FindBin;
+
+exit( run(@ARGV) || 0 ) unless caller;
+
+sub run {
+ my $now = time();
+
+ my $a_day = 86_400;
+ my $today = $now - $now % $a_day;
+
+ my ( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst ) =
+ gmtime($today);
+ ++$mon;
+ $year += 1_900;
+
+ my $human_ts = sprintf( "%04d-%02d-%02d", $year, $mon, $mday );
+
+ print qq[# Updating D_PPP_RELEASE_DATE timestamp to $today /* $human_ts */\n];
+
+ my $f = q[parts/inc/version];
+ my $file_to_patch = $FindBin::Bin . '/../' . $f;
+ die "Cannot find $f: $!" unless -e $file_to_patch;
+
+ my $content;
+ open( my $fh, '+<', $file_to_patch ) or die "$f: $!\n";
+ {
+ local $/;
+ $content = <$fh>;
+ }
+ die qq[No content for file $f\n] unless $content;
+
+ $content =~
+ s{^(\#\s*define\s+D_PPP_RELEASE_DATE)\b.*$}{$1 $today /* $human_ts */}m
+ or die "Cannot find D_PPP_RELEASE_DATE pattern in file $f";
+
+ {
+ truncate $fh, 0;
+ seek $fh, 0, 0;
+ print {$fh} $content;
+ }
+
+ close($fh);
+
+ print qq[$f patched with D_PPP_RELEASE_DATE\n];
+
+ return;
+}
+
+1;
diff --git a/dist/Devel-PPPort/parts/apicheck.pl b/dist/Devel-PPPort/parts/apicheck.pl
index 1def2487aa..bb73d699dd 100644
--- a/dist/Devel-PPPort/parts/apicheck.pl
+++ b/dist/Devel-PPPort/parts/apicheck.pl
@@ -55,6 +55,7 @@ my %amap = (
type => 'int',
cast => 'int',
block => '{1;}',
+ number => '1',
);
# Certain return types are instead considered void
@@ -121,6 +122,7 @@ my %stack = (
STORE_LC_NUMERIC_FORCE_TO_UNDERLYING => ['DECLARATION_FOR_LC_NUMERIC_MANIPULATION;'],
STORE_LC_NUMERIC_SET_TO_NEEDED => ['DECLARATION_FOR_LC_NUMERIC_MANIPULATION;'],
STORE_LC_NUMERIC_SET_TO_NEEDED_IN => ['DECLARATION_FOR_LC_NUMERIC_MANIPULATION;'],
+ TARG => ['dTARG;'],
UNDERBAR => ['dUNDERBAR;'],
XCPT_CATCH => ['dXCPT;'],
XCPT_RETHROW => ['dXCPT;'],
@@ -181,11 +183,26 @@ static int VARarg1;
static char *VARarg2;
static double VARarg3;
-#if defined(PERL_BCDVERSION) && (PERL_BCDVERSION < 0x5009005)
+#if defined(D_PPP_BCDVERSION) && (D_PPP_BCDVERSION < 0x5009005)
/* needed to make PL_parser apicheck work */
typedef void yy_parser;
#endif
+/* Handle both 5.x.y and 7.x.y and up
+#ifndef PERL_VERSION_MAJOR
+# define PERL_VERSION_MAJOR PERL_REVISION
+#endif
+#ifndef PERL_VERSION_MINOR
+# define PERL_VERSION_MINOR PERL_VERSION
+#endif
+#ifndef PERL_VERSION_PATCH
+# define PERL_VERSION_PATCH PERL_SUBVERSION
+#endif
+
+/* This causes some functions to compile that otherwise wouldn't, so we can
+ * get their info; and doesn't seem to harm anything */
+#define PERL_IMPLICIT_CONTEXT
+
HEAD
# Caller can restrict what functions tests are generated for
@@ -338,13 +355,13 @@ HEAD
# #ifdef out if marked as todo (not known in) this version
if (exists $todo{$f->{'name'}}) {
- my($five, $ver,$sub) = parse_version($todo{$f->{'name'}}{'version'});
+ my($rev, $ver,$sub) = parse_version($todo{$f->{'name'}}{'version'});
print OUT <<EOT;
-#if PERL_REVISION > $five \\
- || ( PERL_REVISION == $five \\
- && ( PERL_VERSION > $ver \\
- || ( PERL_VERSION == $ver \\
- && PERL_SUBVERSION >= $sub))) /* TODO */
+#if PERL_VERSION_MAJOR > $rev \\
+ || ( PERL_VERSION_MAJOR == $rev \\
+ && ( PERL_VERSION_MINOR > $ver \\
+ || ( PERL_VERSION_MINOR == $ver \\
+ && PERL_VERSION_PATCH >= $sub))) /* TODO */
EOT
}
diff --git a/dist/Devel-PPPort/parts/apidoc.fnc b/dist/Devel-PPPort/parts/apidoc.fnc
index 5b65d5eb27..9ebb27fc9a 100644
--- a/dist/Devel-PPPort/parts/apidoc.fnc
+++ b/dist/Devel-PPPort/parts/apidoc.fnc
@@ -15,7 +15,6 @@
Amnhd||_aMY_CXT
Amnhd||aMY_CXT
Amnhd||aMY_CXT_
-Amnd||ARCHNAME
Amd|void|__ASSERT_|bool expr
Amnhd||aTHX
Amnhd||aTHX_
@@ -27,27 +26,28 @@ Amxud|void|BhkENABLE|BHK *hk|which
mxud|void *|BhkENTRY|BHK *hk|which
Amxud|void|BhkENTRY_set|BHK *hk|which|void *ptr
mxd|U32|BhkFLAGS|BHK *hk
-Amnd||BIN
AmnUd|const char *|BOM_UTF8
Amd|SV *|boolSV|bool b
-Amnd||BYTEORDER
mxud|void|CALL_BLOCK_HOOKS|which|arg
Amnhd||CALL_CHECKER_REQUIRE_GV
Amd|void *|C_ARRAY_END|void *a
Amd|STRLEN|C_ARRAY_LENGTH|void *a
-Amnd||CASTFLAGS
Amd|bool|cBOOL|bool expr
-Amnd||CHARBITS
Amd|bool|ckWARN|U32 w
Amd|bool|ckWARN2|U32 w1|U32 w2
-Amd|bool|ckWARN2_d|U32 w1|U32 w2
-Amd|bool|ckWARN3|U32 w1|U32 w2|U32 w3
-Amd|bool|ckWARN3_d|U32 w1|U32 w2|U32 w3
-Amd|bool|ckWARN4|U32 w1|U32 w2|U32 w3|U32 w4
-Amd|bool|ckWARN4_d|U32 w1|U32 w2|U32 w3|U32 w4
+Amhd|bool|ckWARN2_d|U32 w1|U32 w2
+Amhd|bool|ckWARN3|U32 w1|U32 w2|U32 w3
+Amhd|bool|ckWARN3_d|U32 w1|U32 w2|U32 w3
+Amhd|bool|ckWARN4|U32 w1|U32 w2|U32 w3|U32 w4
+Amhd|bool|ckWARN4_d|U32 w1|U32 w2|U32 w3|U32 w4
Amd|bool|ckWARN_d|U32 w
Amnd|char*|CLASS
Amd|void|CLEAR_ERRSV
+Amd|const char *|CopFILE|const COP * c
+Amd|AV *|CopFILEAV|const COP * c
+Amd|const char *|CopFILEGV|const COP * c
+Amd|void|CopFILE_set|COP * c|const char * pv
+Amd|SV *|CopFILESV|const COP * c
Amxd|HV *|cophh_2hv|const COPHH *cophh|U32 flags
Amxd|COPHH *|cophh_copy|COPHH *cophh
Amxd|COPHH *|cophh_delete_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
@@ -73,12 +73,15 @@ Amd|SV *|cop_hints_fetch_sv|const COP *cop|SV *key|U32 hash|U32 flags
Amd|const char *|CopLABEL|COP *const cop
Amd|const char *|CopLABEL_len|COP *const cop|STRLEN *len
Amd|const char *|CopLABEL_len_flags|COP *const cop|STRLEN *len|U32 *flags
+Amd|STRLEN|CopLINE|const COP * c
+Amd|HV *|CopSTASH|const COP * c
+Amd|bool|CopSTASH_eq|const COP * c|const HV * hv
+Amd|char *|CopSTASHPV|const COP * c
+Amd|void|CopSTASHPV_set|COP * c|const char * pv
+Amd|bool|CopSTASH_set|COP * c|const HV * hv
Amd|void|Copy|void* src|void* dest|int nitems|type
Amd|void *|CopyD|void* src|void* dest|int nitems|type
-Amnd||CPPLAST
-Amnd||CPPMINUS
-Amnd||CPPRUN
-Amnd||CPPSTDIN
+AmDd|void|CPERLscope|void x
Amnhd||CV_NAME_NOTQUAL
Amxd|PADLIST *|CvPADLIST|CV *cv
Amd|HV*|CvSTASH|CV* cv
@@ -88,57 +91,71 @@ md|SV *|CX_CURPAD_SV|struct context|PADOFFSET po
Amnsd||dAX
Amnsd||dAXMARK
Amnd|void|DECLARATION_FOR_LC_NUMERIC_MANIPULATION
+Amnd|SV *|DEFSV
+Amd|void|DEFSV_set|SV * sv
Amnsd||dITEMS
msd||djSP
Amnsd||dMARK
Amnsd||dMULTICALL
Amnhd||dMY_CXT
+Amnsd||dMY_CXT_SV
+Amnsd||dNOOP
Amnsd||dORIGMARK
-Amnd||DOUBLEINFBYTES
-Amnd||DOUBLEKIND
-Amnd||DOUBLEMANTBITS
-Amnd||DOUBLENANBYTES
-Amnd||DOUBLESIZE
Amd|bool|DO_UTF8|SV* sv
mnd|void|dSAVEDERRNO
mnd|void|dSAVE_ERRNO
Amnsd||dSP
+Amnsd||dTARGET
Amnhd||dTHR
Amnhd||dTHX
+AmUd|void|dTHXa|PerlInterpreter * a
+AmUd|void|dTHXoa|PerlInterpreter * a
Amnsd||dUNDERBAR
-Amnhd||dVAR
+AmnUd||dVAR
Amnsd||dXCPT
Amnsd||dXSARGS
Amnsd||dXSI32
+AmnUud|void|END_EXTERN_C
Amnsd||ENTER
Amsd||ENTER_with_name|"name"
Amnd|SV *|ERRSV
Amd|void|EXTEND|SP|SSize_t nitems
+AmnUud|void|EXTERN_C
Amnsd||FREETMPS
-AmnUd||G_ARRAY
-AmnUd||G_DISCARD
-AmnUd||G_EVAL
-Amnd|U32|GIMME
+AmnUhd||G_ARRAY
+AmnUhd||G_DISCARD
+Amd|CV *|get_cvs|"string"|I32 flags
+AmnUhd||G_EVAL
+AmnDd|U32|GIMME
Amnd|U32|GIMME_V
+AmnUhd||G_KEEPERR
Amnhd||G_METHOD
Amnhd||G_METHOD_NAMED
-AmnUd||G_NOARGS
+AmnUhd||G_NOARGS
Amnhd||G_RETHROW
AmdR|bool|GROK_NUMERIC_RADIX|NN const char **sp|NN const char *send
-AmnUd||G_SCALAR
+AmnUhd||G_SCALAR
Amnhd||GV_ADD
Amnhd||GV_ADDMG
Amnhd||GV_ADDMULTI
+Amnhd||GV_ADDWARN
Amd|AV*|GvAV|GV* gv
+Emnhd||GV_CACHE_ONLY
Amd|CV*|GvCV|GV* gv
+Amd|GV*|gv_fetchpvn|const char* name|STRLEN len|I32 flags|const svtype sv_type
+Amd|GV*|gv_fetchpvs|"name"|I32 flags|const svtype sv_type
+Amd|GV *|gv_fetchsv_nomg|SV *name|I32 flags|const svtype sv_type
Amd|HV*|GvHV|GV* gv
Amnhd||GV_NOADD_NOINIT
Amnhd||GV_NOEXPAND
Amnhd||GV_NOINIT
-AmnUd||G_VOID
+Amnhd||GV_NO_SVGMAGIC
+Amnhd||GV_NOTQUAL
+AmnUhd||G_VOID
Amd|HV*|gv_stashpvs|"name"|I32 create
Amnhd||GV_SUPER
Amd|SV*|GvSV|GV* gv
+Amd|SV*|GvSVn|GV* gv
AmnUd||HEf_SVKEY
Amd|U32|HeHASH|HE* he
Amd|void*|HeKEY|HE* he
@@ -156,20 +173,18 @@ Amd|SV**|hv_fetchs|HV* tb|"key"|I32 lval
Amd|STRLEN|HvFILL|HV *const hv
Amnhd||HV_ITERNEXT_WANTPLACEHOLDERS
Amd|char*|HvNAME|HV* stash
+Cmhd|char*|HvNAME_get|HV* stash
Amd|STRLEN|HvNAMELEN|HV *stash
+Amhd|char*|HvNAMELEN_get|HV* stash
Amd|unsigned char|HvNAMEUTF8|HV *stash
Amd|SV**|hv_stores|HV* tb|"key"|SV* val
-Amnd||I16SIZE
-Amnd||I16TYPE
-Amnd||I32SIZE
-Amnd||I32TYPE
-Amnd||I8SIZE
-Amnd||I8TYPE
Amnd|bool|IN_LOCALE
Amnd|bool|IN_LOCALE_COMPILETIME
Amnd|bool|IN_LOCALE_RUNTIME
+Amnd|bool|IN_PERL_COMPILETIME
+Amnd|bool|IN_PERL_RUNTIME
Amhd|void *|INT2PTR|type|int value
-Amnd||INTSIZE
+Amd||INTMAX_C|number
Amhd|bool|isALNUM|int ch
Amhd|bool|isALNUM_A|int ch
Amhd|bool|isALNUMC|int ch
@@ -242,6 +257,7 @@ Amhd|bool|isGRAPH_LC_uvchr|int ch
Amhd|bool|isGRAPH_utf8|U8 * s|U8 * end
Amhd|bool|isGRAPH_utf8_safe|U8 * s|U8 * end
Amhd|bool|isGRAPH_uvchr|int ch
+Amd|bool|isGV_with_GP|SV * sv
Amd|bool|isIDCONT|char ch
Amhd|bool|isIDCONT_A|int ch
Amhd|bool|isIDCONT_L1|int ch
@@ -345,8 +361,6 @@ Amhd|bool|isXDIGIT_utf8_safe|U8 * s|U8 * end
Amhd|bool|isXDIGIT_uvchr|int ch
Amnd|I32|items
Amnhd||IVdf
-Amnd||IVSIZE
-Amnd||IVTYPE
Amnd|I32|ix
Amd|U8|LATIN1_TO_NATIVE|U8 ch
Amnsd||LEAVE
@@ -356,11 +370,6 @@ Amxd|void|lex_stuff_pvs|"pv"|U32 flags
Amnhd||LEX_STUFF_UTF8
AmUd|bool|LIKELY|const bool expr
Amd|OP*|LINKLIST|OP *o
-Amnd||LONGDBLINFBYTES
-Amnd||LONGDBLMANTBITS
-Amnd||LONGDBLNANBYTES
-Amnd||LONGSIZE
-Amnd||LSEEKSIZE
mnUd||LVRET
AmnUd||MARK
Amd|bool|memCHRs|"list"|char c
@@ -376,6 +385,13 @@ Amd|void|mPUSHp|char* str|STRLEN len
Amd|void|mPUSHs|SV* sv
Amd|void|mPUSHu|UV uv
Amnsd||MULTICALL
+Amhd|AV *|MUTABLE_AV|AV * p
+Amhd|CV *|MUTABLE_CV|CV * p
+Amhd|GV *|MUTABLE_GV|GV * p
+Amhd|HV *|MUTABLE_HV|HV * p
+Amhd|IO *|MUTABLE_IO|IO * p
+Amd|void *|MUTABLE_PTR|void * p
+Amhd|SV *|MUTABLE_SV|SV * p
Amd|void|mXPUSHi|IV iv
Amd|void|mXPUSHn|NV nv
Amd|void|mXPUSHp|char* str|STRLEN len
@@ -397,17 +413,16 @@ Amd|void|Newx|void* ptr|int nitems|type
Amd|void|Newxc|void* ptr|int nitems|type|cast
AmUd||newXSproto|char* name|XSUBADDR_t f|char* filename|const char *proto
Amd|void|Newxz|void* ptr|int nitems|type
+Amnsd||NOOP
ADmnUd||Nullav
AmnUd||Nullch
ADmnUd||Nullcv
ADmnUd||Nullhv
AmnUd||Nullsv
+Cmhd|void *|NUM2PTR|type|int value
Amnhd||NVef
Amnhd||NVff
Amnhd||NVgf
-Amnd||NVMANTBITS
-Amnd||NVSIZE
-Amnd||NVTYPE
Amd|U32|OP_CLASS|OP *o
Amd|const char *|OP_DESC|OP *o
Amnhd||OPf_KIDS
@@ -422,8 +437,10 @@ Amd|OP*|OpSIBLING|OP *o
Amd|bool|OP_TYPE_IS|OP *o|Optype type
Amd|bool|OP_TYPE_IS_OR_WAS|OP *o|Optype type
AmnUd||ORIGMARK
-Amnd||OSNAME
-Amnd||OSVERS
+Amd|U32|packWARN|U32 w1
+Amhd|bool|packWARN2|U32 w1|U32 w2
+Amhd|bool|packWARN3|U32 w1|U32 w2|U32 w3
+Amhd|bool|packWARN4|U32 w1|U32 w2|U32 w3|U32 w4
Amd|PADOFFSET|pad_add_name_pvs|"name"|U32 flags|HV *typestash|HV *ourstash
Amxd|SV **|PadARRAY|PAD * pad
md|SV *|PAD_BASE_SV |PADLIST padlist|PADOFFSET po
@@ -483,6 +500,8 @@ ATmhd|FILE *|PerlIO_exportFILE|PerlIO *f|const char *mode
ATmhd|int |PerlIO_fast_gets|PerlIO *f
ATmhd|PerlIO*|PerlIO_fdopen|int fd|const char *mode
ATmhd|FILE *|PerlIO_findFILE|PerlIO *f
+Amd|PerlIO_funcs *|PERLIO_FUNCS_CAST|PerlIO * func
+Amd||PERLIO_FUNCS_DECL|PerlIO * func
ATmhd|int |PerlIO_getc|PerlIO *d
ATmhd|int |PerlIO_getpos|PerlIO *f|SV *save
ATmhd|int |PerlIO_has_base|PerlIO *f
@@ -557,12 +576,15 @@ Amnhd||PERL_PV_ESCAPE_QUOTE
Amnhd||PERL_PV_ESCAPE_RE
Amnhd||PERL_PV_ESCAPE_UNI
Amnhd||PERL_PV_ESCAPE_UNI_DETECT
+Cmnhd||PERL_PV_PRETTY_DUMP
Amnhd||PERL_PV_PRETTY_ELLIPSES
Amnhd||PERL_PV_PRETTY_LTGT
+Cmnhd||PERL_PV_PRETTY_NOCLEAR
Amnhd||PERL_PV_PRETTY_QUOTE
+Cmnhd||PERL_PV_PRETTY_REGPROP
AmnUhd||PERL_QUAD_MAX
AmnUhd||PERL_QUAD_MIN
-hAmnd|int|PERL_REVISION
+AmDnUd|U8|PERL_REVISION
Amnhd||PERL_SCAN_ALLOW_UNDERSCORES
Amnhd||PERL_SCAN_DISALLOW_PREFIX
Amnhd||PERL_SCAN_GREATER_THAN_UV_MAX
@@ -570,26 +592,34 @@ Amnhd||PERL_SCAN_SILENT_ILLDIGIT
Amnhd||PERL_SCAN_TRAILING
AmnUhd||PERL_SHORT_MAX
AmnUhd||PERL_SHORT_MIN
-hAmnd|int|PERL_SUBVERSION
+Amnd|U32|PERL_SIGNALS_UNSAFE_FLAG
+AmDnUd|U8|PERL_SUBVERSION
Amd|void|PERL_SYS_INIT|int *argc|char*** argv
Amd|void|PERL_SYS_INIT3|int *argc|char*** argv|char*** env
Amd|void|PERL_SYS_TERM|
AmnUhd||PERL_UCHAR_MAX
AmnUhd||PERL_UCHAR_MIN
AmnUhd||PERL_UINT_MAX
+AmnUhd||PERL_UINT_MIN
AmnUhd||PERL_ULONG_MAX
AmnUhd||PERL_ULONG_MIN
+Amd||PERL_UNUSED_ARG|void x
+Amnd||PERL_UNUSED_CONTEXT
+AmnUd||PERL_UNUSED_DECL
+Amd||PERL_UNUSED_RESULT|void x
+Amd||PERL_UNUSED_VAR|void x
AmnUhd||PERL_UQUAD_MAX
AmnUhd||PERL_UQUAD_MIN
+AmnuUd|bool|PERL_USE_GCC_BRACE_GROUPS
AmnUhd||PERL_USHORT_MAX
AmnUhd||PERL_USHORT_MIN
-hAmnd|int|PERL_VERSION
-AmdR|bool|PERL_VERSION_EQ|const int r|const int v|const int s
-AmdR|bool|PERL_VERSION_GE|const int r|const int v|const int s
-AmdR|bool|PERL_VERSION_GT|const int r|const int v|const int s
-AmdR|bool|PERL_VERSION_LE|const int r|const int v|const int s
-AmdR|bool|PERL_VERSION_LT|const int r|const int v|const int s
-AmdR|bool|PERL_VERSION_NE|const int r|const int v|const int s
+AmDnUd|U8|PERL_VERSION
+AmRd|bool|PERL_VERSION_EQ|const U8 major|const U8 minor|const U8 patch
+AmRhd|bool|PERL_VERSION_GE|const U8 major|const U8 minor|const U8 patch
+AmRhd|bool|PERL_VERSION_GT|const U8 major|const U8 minor|const U8 patch
+AmRhd|bool|PERL_VERSION_LE|const U8 major|const U8 minor|const U8 patch
+AmRhd|bool|PERL_VERSION_LT|const U8 major|const U8 minor|const U8 patch
+AmRhd|bool|PERL_VERSION_NE|const U8 major|const U8 minor|const U8 patch
AmnUd|Perl_check_t *|PL_check
AmnxUd|PAD *|PL_comppad
AmnxUd|PADNAMELIST *|PL_comppad_name
@@ -601,8 +631,9 @@ mnd|GV *|PL_DBsub
mnd|SV *|PL_DBtrace
Amnd|GV *|PL_defgv
mnd|U8|PL_dowarn
-Amnhd|GV *|PL_errgv
+AmnUhd|GV *|PL_errgv
Amnd|U8|PL_exit_flags
+AmTuUd|const char *|PL_hexdigit|U8 value
AmnUxd|Perl_keyword_plugin_t|PL_keyword_plugin
mnd|GV*|PL_last_in_gv
Amnd|HV*|PL_modglobal
@@ -620,6 +651,7 @@ Amnd|enum perl_phase|PL_phase
Amnd|peep_t|PL_rpeepp
mnd|SV*|PL_rs
Amnd|runops_proc_t|PL_runops
+Amnd||PL_Sv
Amnd|SV|PL_sv_no
Amnd|SV|PL_sv_undef
Amnd|SV|PL_sv_yes
@@ -641,13 +673,14 @@ Amnd|char*|POPpx
Amnd|SV*|POPs
Amnd|UV|POPu
Amnd|long|POPul
-Amnd||PRIVLIB
Amnhd||pTHX
Amnhd||pTHX_
Amhd|IV|PTR2IV|void *
+Amhd|IV|PTR2nat|void *
Amhd|NV|PTR2NV|void *
+Amhd|unsigned long|PTR2ul|void *
Amhd|UV|PTR2UV|void *
-Amnd||PTRSIZE
+AmhuUd|type|PTRV
Amd|void|PUSHi|IV iv
Amd|void|PUSHMARK|SP
Amnd|void|PUSHmortal
@@ -657,7 +690,6 @@ Amd|void|PUSHp|char* str|STRLEN len
Amd|void|PUSHs|SV* sv
Amd|void|PUSHu|UV uv
Amnsd||PUTBACK
-Amnd||RANDBITS
Amd|U8|READ_XDIGIT|char str*
md|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|"key"|U32 flags
md|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|"key"|SV *value|U32 flags
@@ -671,22 +703,36 @@ Amnhd||RV2CVOPCV_MARK_EARLY
Amnhd||RV2CVOPCV_RETURN_NAME_GV
Amd|void|Safefree|void* ptr
Amd|void|SANE_ERRSV
+Amhd||SAVEBOOL|int i
md|void|SAVECLEARSV |SV **svp
md|void|SAVECOMPPAD
+Amnd|void|SAVE_DEFSV
+Amhd||SAVEDELETE|HV * hv|char * key|I32 length
+Amhd||SAVEDESTRUCTOR|DESTRUCTORFUNC_NOCONTEXT_t f|void *p
mnd|void|SAVE_ERRNO
+Amhd||SAVEFREEOP|OP *op
+Amhd||SAVEFREEPV|void * p
+Amhd||SAVEFREESV|SV* sv
+Amhd||SAVEI16|I16 i
+Amhd||SAVEI32|I32 i
+Amhd||SAVEI8|I8 i
+Amhd||SAVEINT|int i
+Amhd||SAVEIV|IV i
+Amhd||SAVELONG|long i
+Amhd||SAVEMORTALIZESV|SV* sv
md|void|SAVEPADSV |PADOFFSET po
+Amhd||SAVEPPTR|char * p
Amad|char*|savepvs|"literal string"
Amad|char*|savesharedpvs|"literal string"
+Amhd||SAVESPTR|SV * s
+Amhd||SAVESTACK_POS
Amnsd||SAVETMPS
md|void|SETERRNO|int errcode|int vmserrcode
-Amnd||SHORTSIZE
-Amnd||SITELIB
AmnUd||SP
Amnsd||SPAGAIN
Amd|SV*|ST|int ix
+AmnUud|void|START_EXTERN_C
Amnhd||START_MY_CXT
-Amnd||STARTPERL
-Amnd||STDCHAR
AmnUhud|void|STMT_END
AmnUud|void|STMT_START
Amd|void|STORE_LC_NUMERIC_FORCE_TO_UNDERLYING
@@ -722,7 +768,6 @@ Amnhd||SVf
Amhd||SVfARG|SV *sv
Amnhd||SVf_UTF8
Amd|U32|SvGAMAGIC|SV* sv
-Amd|void|SvGETMAGIC|SV* sv
Amnhd||SV_GMAGIC
Amd|char *|SvGROW|SV* sv|STRLEN len
Amnhd||SV_HAS_TRAILING_NUL
@@ -737,8 +782,6 @@ Amd|U32|SvIOKp|SV* sv
Amd|bool|SvIOK_UV|SV* sv
Amd|U32|SvIsCOW|SV* sv
Amd|bool|SvIsCOW_shared_hash|SV* sv
-Amd|IV|SvIV|SV* sv
-Amd|IV|SvIV_nomg|SV* sv
Amd|void|SvIV_set|SV* sv|IV val
Amd|IV|SvIVX|SV* sv
Amd|IV|SvIVx|SV* sv
@@ -755,13 +798,12 @@ Amd|void|SvNOK_on|SV* sv
Amd|void|SvNOK_only|SV* sv
Amd|U32|SvNOKp|SV* sv
Amnhd||SV_NOSTEAL
-Amd|NV|SvNV|SV* sv
-Amd|NV|SvNV_nomg|SV* sv
Amd|void|SvNV_set|SV* sv|NV val
Amd|NV|SvNVX|SV* sv
Amd|NV|SvNVx|SV* sv
Amd|U32|SvOK|SV* sv
Amd|U32|SvOOK|SV* sv
+Amd|void|SvOOK_off|SV * sv
Amd|void|SvOOK_offset|SV*sv|STRLEN len
Amd|U32|SvPOK|SV* sv
Amd|void|SvPOK_off|SV* sv
@@ -779,12 +821,29 @@ Amd|char*|SvPVbyte_or_null_nomg|SV* sv|STRLEN len
Amd|char*|SvPVbytex|SV* sv|STRLEN len
Amd|char*|SvPVbytex_force|SV* sv|STRLEN len
Amd|char *|SvPVCLEAR|SV* sv
+Amhd|const char*|SvPV_const|SV* sv|STRLEN len
+Amd|char *|SvPV_flags|SV * sv|STRLEN len|U32 flags
+Amhd|const char *|SvPV_flags_const|SV * sv|STRLEN len|U32 flags
+Amd|const char *|SvPV_flags_const_nolen|SV * sv|U32 flags
+Amhd|char *|SvPV_flags_mutable|SV * sv|STRLEN len|U32 flags
Amd|char*|SvPV_force|SV* sv|STRLEN len
-Amd|char*|SvPV_force_nomg|SV* sv|STRLEN len
+Amd|char *|SvPV_force_flags|SV * sv|STRLEN len|U32 flags
+Amhd|char*|SvPV_force_flags_mutable|SV* sv|STRLEN len|U32 flags
+Amd|char*|SvPV_force_flags_nolen|SV* sv|U32 flags
+Amhd|char*|SvPV_force_mutable|SV* sv|STRLEN len
+Amd|char*|SvPV_force_nolen|SV* sv
+Amhd|char*|SvPV_force_nomg|SV* sv|STRLEN len
+Amhd|char*|SvPV_force_nomg_nolen|SV* sv
+Amhd|const char*|SvPV_mutable|SV* sv|STRLEN len
Amd|char*|SvPV_nolen|SV* sv
-Amd|char*|SvPV_nomg|SV* sv|STRLEN len
-Amd|char*|SvPV_nomg_nolen|SV* sv
+Amhd|const char*|SvPV_nolen_const|SV* sv
+Amhd|char*|SvPV_nomg|SV* sv|STRLEN len
+Amhd|const char*|SvPV_nomg_const|SV* sv|STRLEN len
+Amhd|const char*|SvPV_nomg_const_nolen|SV* sv
+Amhd|char*|SvPV_nomg_nolen|SV* sv
+Amd|void|SvPV_renew|SV* sv|STRLEN len
Amd|void|SvPV_set|SV* sv|char* val
+Amd|void|SvPV_shrink_to_cur|SV* sv
Amd|char*|SvPVutf8|SV* sv|STRLEN len
Amd|char*|SvPVutf8_force|SV* sv|STRLEN len
Amd|char*|SvPVutf8_nolen|SV* sv
@@ -794,7 +853,9 @@ Amd|char*|SvPVutf8_or_null_nomg|SV* sv|STRLEN len
Amd|char*|SvPVutf8x|SV* sv|STRLEN len
Amd|char*|SvPVutf8x_force|SV* sv|STRLEN len
Amd|char*|SvPVX|SV* sv
-Amd|char*|SvPVx|SV* sv|STRLEN len
+Amhd|char*|SvPVx|SV* sv|STRLEN len
+Amd|const char*|SvPVX_const|SV* sv
+Amd|const char*|SvPVX_mutable|SV* sv
Amd|U32|SvREADONLY|SV* sv
Amd|U32|SvREADONLY_off|SV* sv
Amd|U32|SvREADONLY_on|SV* sv
@@ -821,6 +882,7 @@ Amd|void|SvSetSV|SV* dsv|SV* ssv
Amd|void|sv_setsv_nomg|SV* dsv|SV* ssv
Amd|void|SvSetSV_nosteal|SV* dsv|SV* ssv
Amd|void|SvSHARE|SV* sv
+Amd|struct hek*|SvSHARED_HASH|SV * sv
Amnhd||SV_SMAGIC
Amnhd||SVs_PADSTALE
Amd|HV*|SvSTASH|SV* sv
@@ -847,8 +909,7 @@ AmnUd||SVt_PVLV
AmnUd||SVt_PVMG
AmnUd||SVt_PVNV
AmnUd||SVt_REGEXP
-Amd|bool|SvTRUE|SV* sv
-Amd|bool|SvTRUE_nomg|SV* sv
+Amd|bool|SvTRUE_nomg_NN|SV* sv
Amd|bool|SvTRUEx|SV* sv
Amd|svtype|SvTYPE|SV* sv
AmnUd||svtype
@@ -856,15 +917,16 @@ Amd|void|SvUNLOCK|SV* sv
Amd|bool|SvUOK|SV* sv
Amd|void|SvUPGRADE|SV* sv|svtype type
Amd|U32|SvUTF8|SV* sv
+AmnhDd||SV_UTF8_NO_ENCODING
Amd|void|SvUTF8_off|SV *sv
Amd|void|SvUTF8_on|SV *sv
-Amd|UV|SvUV|SV* sv
-Amd|UV|SvUV_nomg|SV* sv
Amd|void|SvUV_set|SV* sv|UV val
Amd|UV|SvUVX|SV* sv
Amd|UV|SvUVx|SV* sv
AmDd|UV|SvUVXx|SV* sv
Amd|bool|SvVOK|SV* sv
+Amd|MAGIC*|SvVSTRING_mg|SV * sv
+Amnsd||TARG
Amnd|(whatever)|THIS
Amd|U8|toFOLD|U8 ch
Amd|UV|toFOLD_utf8|U8* p|U8* e|U8* s|STRLEN* lenp
@@ -884,12 +946,7 @@ Amd|U8|toUPPER|int ch
Amd|UV|toUPPER_utf8|U8* p|U8* e|U8* s|STRLEN* lenp
Amd|UV|toUPPER_utf8_safe|U8* p|U8* e|U8* s|STRLEN* lenp
Amd|UV|toUPPER_uvchr|UV cp|U8* s|STRLEN* lenp
-Amnd||U16SIZE
-Amnd||U16TYPE
-Amnd||U32SIZE
-Amnd||U32TYPE
-Amnd||U8SIZE
-Amnd||U8TYPE
+Amd||UINTMAX_C|number
AmnUd||UNDERBAR
AmnUd|UV|UNICODE_REPLACEMENT
Amd|UV|UNI_TO_NATIVE|UV ch
@@ -922,10 +979,7 @@ Amnhd||UTF8_WARN_SURROGATE
Amd|bool|UVCHR_IS_INVARIANT|UV cp
Amd|STRLEN|UVCHR_SKIP|UV cp
Amnhd||UVof
-Amnd||UVSIZE
-Amnd||UVTYPE
Amnhd||UVuf
-Amnd||UVXf
Amnhd||UVxf
Amnhd||WARN_ALL
Amnhd||WARN_AMBIGUOUS
@@ -1020,10 +1074,11 @@ Amd|void|XPUSHn|NV nv
Amd|void|XPUSHp|char* str|STRLEN len
Amd|void|XPUSHs|SV* sv
Amd|void|XPUSHu|UV uv
-AmnUd||XS
+AmUd||XS
Amnsd||XS_APIVERSION_BOOTCHECK
-AmnUd||XS_EXTERNAL
+AmUd||XS_EXTERNAL
AmUd||XS_INTERNAL
+AmUd||XSPROTO
Amd|void|XSRETURN|int nitems
Amnsd||XSRETURN_EMPTY
Amd|void|XSRETURN_IV|IV iv
diff --git a/dist/Devel-PPPort/parts/base/5003007 b/dist/Devel-PPPort/parts/base/5003007
index 11fdae8f64..a399578545 100644
--- a/dist/Devel-PPPort/parts/base/5003007
+++ b/dist/Devel-PPPort/parts/base/5003007
@@ -1,5 +1,25 @@
5.003007
+ABORT # Z added by devel/scanprov
amagic_call # T
+AMG_CALLun # Z added by devel/scanprov
+AMGfallNEVER # Z added by devel/scanprov
+AMGfallNO # Z added by devel/scanprov
+AMGfallYES # Z added by devel/scanprov
+AMGf_assign # Z added by devel/scanprov
+AMGf_noleft # Z added by devel/scanprov
+AMGf_noright # Z added by devel/scanprov
+AMGf_unary # Z added by devel/scanprov
+ANYOF # Z added by devel/scanprov
+apply # F added by devel/scanprov
+ARCHLIB # K added by devel/scanprov
+ARCHLIB_EXP # K added by devel/scanprov
+ARG1 # Z added by devel/scanprov
+ARG2 # Z added by devel/scanprov
+ARGTARG # Z added by devel/scanprov
+assert # Z added by devel/scanprov
+AvALLOC # Z added by devel/scanprov
+AvARRAY # Z added by devel/scanprov
+AvARYLEN # Z added by devel/scanprov
av_clear # T
av_extend # T
av_fetch # T
@@ -7,84 +27,474 @@ av_fill # T
AvFILL # T
av_len # T
av_make # T
+AvMAX # Z added by devel/scanprov
av_pop # T
av_push # T
+AvREAL # Z added by devel/scanprov
+AvREALISH # Z added by devel/scanprov
+AvREAL_off # Z added by devel/scanprov
+AvREAL_on # Z added by devel/scanprov
+AvREIFY # Z added by devel/scanprov
+AvREIFY_off # Z added by devel/scanprov
+AvREIFY_on # Z added by devel/scanprov
av_shift # T
av_store # T
av_undef # T
av_unshift # T
ax # T
-BIN # T
-BYTEORDER # T
-CASTFLAGS # T
+BASEOP # Z added by devel/scanprov
+BIN # K added by devel/scanprov
+bind_match # F added by devel/scanprov
+BIT_BUCKET # Z added by devel/scanprov
+blk_eval # Z added by devel/scanprov
+blk_gimme # Z added by devel/scanprov
+blk_loop # Z added by devel/scanprov
+blk_oldcop # Z added by devel/scanprov
+blk_oldmarksp # Z added by devel/scanprov
+blk_oldpm # Z added by devel/scanprov
+blk_oldscopesp # Z added by devel/scanprov
+blk_oldsp # Z added by devel/scanprov
+blk_sub # Z added by devel/scanprov
+BmPREVIOUS # Z added by devel/scanprov
+BmRARE # Z added by devel/scanprov
+BmUSEFUL # Z added by devel/scanprov
+BOL # Z added by devel/scanprov
+bool # Z added by devel/scanprov
+boot_core_UNIVERSAL # F added by devel/scanprov
+BOUND # Z added by devel/scanprov
+BRANCH # Z added by devel/scanprov
+BSD_GETPGRP # Z added by devel/scanprov
+BSD_SETPGRP # Z added by devel/scanprov
+BUFSIZ # Z added by devel/scanprov
+BYTEORDER # K added by devel/scanprov
+CALL # X added by devel/scanprov
+cando # F added by devel/scanprov
+CAN_PROTOTYPE # Z added by devel/scanprov
+CASTFLAGS # K added by devel/scanprov
+CASTNEGFLOAT # K added by devel/scanprov
+cast_ulong # F added by devel/scanprov
+CAT2 # K added by devel/scanprov
+cBINOP # Z added by devel/scanprov
+cCOP # Z added by devel/scanprov
+checkcomma # F added by devel/scanprov
+check_uni # F added by devel/scanprov
+clearerr # Z added by devel/scanprov
+cLISTOP # Z added by devel/scanprov
+cLOGOP # Z added by devel/scanprov
+cLOOP # Z added by devel/scanprov
+CLOSE # Z added by devel/scanprov
Copy # T
-CPPMINUS # T
-CPPSTDIN # T
+cPMOP # Z added by devel/scanprov
+CPPMINUS # K added by devel/scanprov
+CPPSTDIN # K added by devel/scanprov
+cPVOP # Z added by devel/scanprov
+CSH # K added by devel/scanprov
+cSVOP # Z added by devel/scanprov
+Ctl # Z added by devel/scanprov
+CTYPE256 # Z added by devel/scanprov
+cUNOP # Z added by devel/scanprov
+CURLY # Z added by devel/scanprov
+CURLYX # Z added by devel/scanprov
+CvANON # Z added by devel/scanprov
+CvANON_off # Z added by devel/scanprov
+CvANON_on # Z added by devel/scanprov
cv_clone # T
+CvCLONE # Z added by devel/scanprov
+CvCLONED # Z added by devel/scanprov
+CvCLONED_off # Z added by devel/scanprov
+CvCLONED_on # Z added by devel/scanprov
+CvCLONE_off # Z added by devel/scanprov
+CvCLONE_on # Z added by devel/scanprov
cv_const_sv # T
CvDEPTH # T
+CVf_ANON # Z added by devel/scanprov
+CVf_CLONE # Z added by devel/scanprov
+CVf_CLONED # Z added by devel/scanprov
+CvFILEGV # Z added by devel/scanprov
+CvFLAGS # Z added by devel/scanprov
CvGV # T
+CvOUTSIDE # Z added by devel/scanprov
+CvROOT # Z added by devel/scanprov
+CvSTART # Z added by devel/scanprov
CvSTASH # T
cv_undef # T
-cxinc # T
+CvXSUB # Z added by devel/scanprov
+CvXSUBANY # Z added by devel/scanprov
+cx_dump # F added by devel/scanprov
+CXINC # Z added by devel/scanprov
+cxinc # F added by devel/scanprov
+CXt_BLOCK # Z added by devel/scanprov
+CXt_EVAL # Z added by devel/scanprov
+CXt_NULL # Z added by devel/scanprov
+CXt_SUB # Z added by devel/scanprov
+CXt_SUBST # Z added by devel/scanprov
+dATARGET # Z added by devel/scanprov
+DB_Hash_t # K added by devel/scanprov
+DB_Prefix_t # K added by devel/scanprov
+DEBUG # Z added by devel/scanprov
+DEBUG_c # Z added by devel/scanprov
+DEBUG_D # Z added by devel/scanprov
+DEBUG_f # Z added by devel/scanprov
+DEBUG_l # Z added by devel/scanprov
+DEBUG_m # Z added by devel/scanprov
+DEBUG_o # Z added by devel/scanprov
+DEBUG_P # Z added by devel/scanprov
+DEBUG_p # Z added by devel/scanprov
+DEBUG_r # Z added by devel/scanprov
+DEBUG_s # Z added by devel/scanprov
+DEBUG_t # Z added by devel/scanprov
+DEBUG_u # Z added by devel/scanprov
+DEBUG_X # Z added by devel/scanprov
+DEBUG_x # Z added by devel/scanprov
+dEXT # Z added by devel/scanprov
+DIE # Z added by devel/scanprov
+Direntry_t # K added by devel/scanprov
dMARK # T
+DM_DELAY # Z added by devel/scanprov
+DM_EGID # Z added by devel/scanprov
+DM_EUID # Z added by devel/scanprov
+DM_GID # Z added by devel/scanprov
+DM_RGID # Z added by devel/scanprov
+DM_RUID # Z added by devel/scanprov
+DM_UID # Z added by devel/scanprov
+do_chomp # F added by devel/scanprov
do_close # T
+do_eof # F added by devel/scanprov
+dofindlabel # F added by devel/scanprov
+DOINIT # Z added by devel/scanprov
+do_ipcctl # F added by devel/scanprov
+do_ipcget # F added by devel/scanprov
do_join # T
+do_msgrcv # F added by devel/scanprov
+do_msgsnd # F added by devel/scanprov
do_open # T
+dopoptoeval # F added by devel/scanprov
+do_print # F added by devel/scanprov
+do_readline # F added by devel/scanprov
dORIGMARK # T
-do_sprintf # T
-dounwind # T
+do_seek # F added by devel/scanprov
+do_semop # F added by devel/scanprov
+do_shmio # F added by devel/scanprov
+DOSISH # Z added by devel/scanprov
+do_sprintf # F added by devel/scanprov
+do_tell # F added by devel/scanprov
+do_trans # F added by devel/scanprov
+dounwind # F added by devel/scanprov
+do_vecset # F added by devel/scanprov
+do_vop # F added by devel/scanprov
dowantarray # T
+dPOPiv # Z added by devel/scanprov
+dPOPnv # Z added by devel/scanprov
+dPOPPOPiirl # Z added by devel/scanprov
+dPOPPOPnnrl # Z added by devel/scanprov
+dPOPPOPssrl # Z added by devel/scanprov
+dPOPss # Z added by devel/scanprov
+dPOPTOPiirl # Z added by devel/scanprov
+dPOPTOPnnrl # Z added by devel/scanprov
+dPOPTOPssrl # Z added by devel/scanprov
dSP # T
+dTARG # Z added by devel/scanprov
+dTARGET # T
+dTARGETSTACKED # Z added by devel/scanprov
dTHX # T
+dTOPiv # Z added by devel/scanprov
+dTOPnv # Z added by devel/scanprov
+dTOPss # Z added by devel/scanprov
+dump_mstats # F added by devel/scanprov
dXSARGS # T
+dXSI32 # M added by devel/scanprov
+dXSUB_SYS # Z added by devel/scanprov
+END # Z added by devel/scanprov
ENTER # T
+environ # Z added by devel/scanprov
+EOF # Z added by devel/scanprov
+EOF_NONBLOCK # K added by devel/scanprov
+EOL # Z added by devel/scanprov
+EXT # Z added by devel/scanprov
EXTEND # T
+FALSE # Z added by devel/scanprov
+fclose # Z added by devel/scanprov
+fdopen # Z added by devel/scanprov
+feof # Z added by devel/scanprov
+ferror # Z added by devel/scanprov
+FF_BLANK # Z added by devel/scanprov
+FF_CHECKCHOP # Z added by devel/scanprov
+FF_CHECKNL # Z added by devel/scanprov
+FF_CHOP # Z added by devel/scanprov
+FF_DECIMAL # Z added by devel/scanprov
+FF_END # Z added by devel/scanprov
+FF_FETCH # Z added by devel/scanprov
+FF_HALFSPACE # Z added by devel/scanprov
+FF_ITEM # Z added by devel/scanprov
+FF_LINEGLOB # Z added by devel/scanprov
+FF_LINEMARK # Z added by devel/scanprov
+FF_LITERAL # Z added by devel/scanprov
+Fflush # Z added by devel/scanprov
+fflush # Z added by devel/scanprov
+FF_MORE # Z added by devel/scanprov
+FF_NEWLINE # Z added by devel/scanprov
+FF_SKIP # Z added by devel/scanprov
+FF_SPACE # Z added by devel/scanprov
+fgetc # Z added by devel/scanprov
+fgetpos # Z added by devel/scanprov
+fgets # Z added by devel/scanprov
+FILE # Z added by devel/scanprov
+FILE_base # K added by devel/scanprov
+FILE_bufsiz # K added by devel/scanprov
+FILE_cnt # K added by devel/scanprov
+fileno # Z added by devel/scanprov
+FILE_ptr # K added by devel/scanprov
filter_add # T
+FILTER_DATA # Z added by devel/scanprov
filter_del # T
+FILTER_ISREADER # Z added by devel/scanprov
+FILTER_READ # Z added by devel/scanprov
filter_read # T
-free_tmps # T
+FLEXFILENAMES # K added by devel/scanprov
+flockfile # Z added by devel/scanprov
+FmLINES # Z added by devel/scanprov
+fold_constants # F added by devel/scanprov
+fopen # Z added by devel/scanprov
+force_ident # F added by devel/scanprov
+force_list # F added by devel/scanprov
+force_next # F added by devel/scanprov
+force_word # F added by devel/scanprov
+Fpos_t # K added by devel/scanprov
+fprintf # Z added by devel/scanprov
+fputc # Z added by devel/scanprov
+fputs # Z added by devel/scanprov
+fread # Z added by devel/scanprov
+free # Z added by devel/scanprov
+Free_t # K added by devel/scanprov
+free_tmps # F added by devel/scanprov
FREETMPS # T
+freopen # Z added by devel/scanprov
+fscanf # Z added by devel/scanprov
+fseek # Z added by devel/scanprov
+fsetpos # Z added by devel/scanprov
+Fstat # Z added by devel/scanprov
+ftell # Z added by devel/scanprov
+ftrylockfile # Z added by devel/scanprov
+funlockfile # Z added by devel/scanprov
+fwrite # Z added by devel/scanprov
+fwrite1 # Z added by devel/scanprov
G_ARRAY # T
+Gconvert # K added by devel/scanprov
G_DISCARD # T
+gen_constant_list # F added by devel/scanprov
+GETATARGET # Z added by devel/scanprov
+getc # Z added by devel/scanprov
+getc_unlocked # Z added by devel/scanprov
+GETTARGET # Z added by devel/scanprov
+GETTARGETSTACKED # Z added by devel/scanprov
+getw # Z added by devel/scanprov
G_EVAL # T
+Gid_t # K added by devel/scanprov
GIMME # T
+G_KEEPERR # T
G_NOARGS # T
gp_free # T
gp_ref # T
+Groups_t # K added by devel/scanprov
G_SCALAR # T
GV_ADD # T
GV_ADDMULTI # T
+GV_ADDWARN # T
+Gv_AMG # Z added by devel/scanprov
+GvASSUMECV # Z added by devel/scanprov
+GvASSUMECV_off # Z added by devel/scanprov
+GvASSUMECV_on # Z added by devel/scanprov
GvAV # T
gv_AVadd # T
-gv_check # T
+GvAVn # Z added by devel/scanprov
+gv_check # F added by devel/scanprov
GvCV # T
+GvCVGEN # Z added by devel/scanprov
gv_efullname # T
gv_efullname3 # T
+GvEGV # Z added by devel/scanprov
+GvENAME # Z added by devel/scanprov
+GvESTASH # Z added by devel/scanprov
+GVf_ASSUMECV # Z added by devel/scanprov
gv_fetchfile # T
gv_fetchmeth # T
gv_fetchmethod # T
gv_fetchpv # T
+GvFILEGV # Z added by devel/scanprov
+GVf_IMPORTED # Z added by devel/scanprov
+GVf_IMPORTED_AV # Z added by devel/scanprov
+GVf_IMPORTED_CV # Z added by devel/scanprov
+GVf_IMPORTED_HV # Z added by devel/scanprov
+GVf_IMPORTED_SV # Z added by devel/scanprov
+GVf_INTRO # Z added by devel/scanprov
+GvFLAGS # Z added by devel/scanprov
+GVf_MULTI # Z added by devel/scanprov
+GvFORM # Z added by devel/scanprov
gv_fullname # T
gv_fullname3 # T
+GvGP # Z added by devel/scanprov
GvHV # T
gv_HVadd # T
+GvHVn # Z added by devel/scanprov
+GvIMPORTED # Z added by devel/scanprov
+GvIMPORTED_AV # Z added by devel/scanprov
+GvIMPORTED_AV_off # Z added by devel/scanprov
+GvIMPORTED_AV_on # Z added by devel/scanprov
+GvIMPORTED_CV # Z added by devel/scanprov
+GvIMPORTED_CV_off # Z added by devel/scanprov
+GvIMPORTED_CV_on # Z added by devel/scanprov
+GvIMPORTED_HV # Z added by devel/scanprov
+GvIMPORTED_HV_off # Z added by devel/scanprov
+GvIMPORTED_HV_on # Z added by devel/scanprov
+GvIMPORTED_off # Z added by devel/scanprov
+GvIMPORTED_on # Z added by devel/scanprov
+GvIMPORTED_SV # Z added by devel/scanprov
+GvIMPORTED_SV_off # Z added by devel/scanprov
+GvIMPORTED_SV_on # Z added by devel/scanprov
gv_init # T
+GvINTRO # Z added by devel/scanprov
+GvINTRO_off # Z added by devel/scanprov
+GvINTRO_on # Z added by devel/scanprov
+GvIO # Z added by devel/scanprov
gv_IOadd # T
+GvIOn # Z added by devel/scanprov
+GvIOp # Z added by devel/scanprov
+GvLINE # Z added by devel/scanprov
+GvMULTI # Z added by devel/scanprov
+GvMULTI_off # Z added by devel/scanprov
+GvMULTI_on # Z added by devel/scanprov
+GvNAME # Z added by devel/scanprov
+GvNAMELEN # Z added by devel/scanprov
+GvREFCNT # Z added by devel/scanprov
+GvSTASH # Z added by devel/scanprov
gv_stashpv # T
gv_stashpvn # T
gv_stashsv # T
GvSV # T
+GvXPVGV # Z added by devel/scanprov
+HAS_ALARM # K added by devel/scanprov
+HAS_BOOL # Z added by devel/scanprov
+HAS_CHOWN # K added by devel/scanprov
+HAS_CHROOT # K added by devel/scanprov
+HAS_CRYPT # K added by devel/scanprov
+HAS_CUSERID # K added by devel/scanprov
+HAS_DIFFTIME # K added by devel/scanprov
+HAS_DLERROR # K added by devel/scanprov
+HAS_DUP2 # K added by devel/scanprov
+HAS_FCHMOD # K added by devel/scanprov
+HAS_FCHOWN # K added by devel/scanprov
+HAS_FCNTL # K added by devel/scanprov
+HAS_FGETPOS # K added by devel/scanprov
+HAS_FLOCK # K added by devel/scanprov
+HAS_FORK # K added by devel/scanprov
+HAS_FPATHCONF # K added by devel/scanprov
+HAS_FSETPOS # K added by devel/scanprov
+HAS_GETGROUPS # K added by devel/scanprov
+HAS_GETHOSTENT # K added by devel/scanprov
+HAS_GETLOGIN # K added by devel/scanprov
+HAS_GETPGID # K added by devel/scanprov
+HAS_GETPGRP # K added by devel/scanprov
+HAS_GETPPID # K added by devel/scanprov
+HAS_GETPRIORITY # K added by devel/scanprov
+HAS_GROUP # Z added by devel/scanprov
+HAS_HTONL # K added by devel/scanprov
+HAS_HTONS # K added by devel/scanprov
+HAS_IOCTL # Z added by devel/scanprov
+HAS_ISASCII # K added by devel/scanprov
+HAS_KILL # Z added by devel/scanprov
+HAS_KILLPG # K added by devel/scanprov
+HAS_LINK # K added by devel/scanprov
+HAS_LOCALECONV # K added by devel/scanprov
+HAS_LOCKF # K added by devel/scanprov
+HAS_LSTAT # K added by devel/scanprov
+HAS_MBLEN # K added by devel/scanprov
+HAS_MBSTOWCS # K added by devel/scanprov
+HAS_MBTOWC # K added by devel/scanprov
+HAS_MKDIR # K added by devel/scanprov
+HAS_MKFIFO # K added by devel/scanprov
+HAS_MKTIME # K added by devel/scanprov
+HAS_MSG # K added by devel/scanprov
+HAS_NICE # K added by devel/scanprov
+HAS_NTOHL # K added by devel/scanprov
+HAS_NTOHS # K added by devel/scanprov
+HAS_OPEN3 # K added by devel/scanprov
+HAS_PASSWD # Z added by devel/scanprov
+HAS_PATHCONF # K added by devel/scanprov
+HAS_PAUSE # K added by devel/scanprov
+HAS_PIPE # K added by devel/scanprov
+HAS_POLL # K added by devel/scanprov
+HAS_QUAD # K added by devel/scanprov
+HAS_READDIR # K added by devel/scanprov
+HAS_READLINK # K added by devel/scanprov
+HAS_RENAME # K added by devel/scanprov
+HAS_REWINDDIR # K added by devel/scanprov
+HAS_RMDIR # K added by devel/scanprov
+HAS_SEEKDIR # K added by devel/scanprov
+HAS_SELECT # K added by devel/scanprov
+HAS_SEM # K added by devel/scanprov
+HAS_SETEGID # K added by devel/scanprov
+HAS_SETEUID # K added by devel/scanprov
+HAS_SETLINEBUF # K added by devel/scanprov
+HAS_SETLOCALE # K added by devel/scanprov
+HAS_SETPGID # K added by devel/scanprov
+HAS_SETPGRP # K added by devel/scanprov
+HAS_SETPRIORITY # K added by devel/scanprov
+HAS_SETREGID # K added by devel/scanprov
+HAS_SETRESGID # K added by devel/scanprov
+HAS_SETRESUID # K added by devel/scanprov
+HAS_SETREUID # K added by devel/scanprov
+HAS_SETSID # K added by devel/scanprov
+HAS_SHM # K added by devel/scanprov
+HAS_SHMAT_PROTOTYPE # K added by devel/scanprov
+HAS_SIGACTION # K added by devel/scanprov
+HAS_SIGSETJMP # K added by devel/scanprov
+HAS_SOCKET # K added by devel/scanprov
+HAS_SOCKETPAIR # K added by devel/scanprov
+HAS_STRCOLL # K added by devel/scanprov
+HAS_STRXFRM # K added by devel/scanprov
+HAS_SYMLINK # K added by devel/scanprov
+HAS_SYSCALL # K added by devel/scanprov
+HAS_SYSCONF # K added by devel/scanprov
+HAS_SYS_ERRLIST # K added by devel/scanprov
+HAS_SYSTEM # K added by devel/scanprov
+HAS_TCGETPGRP # K added by devel/scanprov
+HAS_TCSETPGRP # K added by devel/scanprov
+HAS_TELLDIR # K added by devel/scanprov
+HAS_TIMES # K added by devel/scanprov
+HAS_TRUNCATE # K added by devel/scanprov
+HAS_TZNAME # K added by devel/scanprov
+HAS_UMASK # K added by devel/scanprov
+HAS_UNAME # K added by devel/scanprov
+HAS_UTIME # Z added by devel/scanprov
+HAS_WAIT # Z added by devel/scanprov
+HAS_WAIT4 # K added by devel/scanprov
+HAS_WAITPID # K added by devel/scanprov
+HAS_WCSTOMBS # K added by devel/scanprov
+HAS_WCTOMB # K added by devel/scanprov
HEf_SVKEY # T
HeHASH # T
HeKEY # T
HeKLEN # T
+HeNEXT # Z added by devel/scanprov
HeSVKEY # T
HeSVKEY_force # T
HeVAL # T
+HINT_BLOCK_SCOPE # Z added by devel/scanprov
+HINT_INTEGER # Z added by devel/scanprov
+HINT_STRICT_REFS # Z added by devel/scanprov
+HINT_STRICT_SUBS # Z added by devel/scanprov
+HINT_STRICT_VARS # Z added by devel/scanprov
+H_PERL # Z added by devel/scanprov
+htoni # Z added by devel/scanprov
+htonl # Z added by devel/scanprov
+htons # Z added by devel/scanprov
+htovl # Z added by devel/scanprov
+htovs # Z added by devel/scanprov
+HvARRAY # Z added by devel/scanprov
hv_clear # T
hv_delete # T
hv_delete_ent # T
+HvEITER # Z added by devel/scanprov
hv_exists # T
hv_exists_ent # T
hv_fetch # T
@@ -96,39 +506,422 @@ hv_iterkeysv # T
hv_iternext # T
hv_iternextsv # T
hv_iterval # T
+HvKEYS # Z added by devel/scanprov
hv_ksplit # T
+HvLAZYDEL # Z added by devel/scanprov
+HvLAZYDEL_off # Z added by devel/scanprov
+HvLAZYDEL_on # Z added by devel/scanprov
hv_magic # T
+HvMAX # Z added by devel/scanprov
HvNAME # T
+HvRITER # Z added by devel/scanprov
+HvSHAREKEYS # Z added by devel/scanprov
+HvSHAREKEYS_off # Z added by devel/scanprov
+HvSHAREKEYS_on # Z added by devel/scanprov
hv_store # T
hv_store_ent # T
hv_undef # T
+I16_MAX # Z added by devel/scanprov
+I16_MIN # Z added by devel/scanprov
+I_32 # Z added by devel/scanprov
+I32_MAX # Z added by devel/scanprov
+I32_MIN # Z added by devel/scanprov
ibcmp # T
+I_DIRENT # K added by devel/scanprov
+I_DLFCN # K added by devel/scanprov
+IFMATCH # Z added by devel/scanprov
+I_GRP # K added by devel/scanprov
+I_LIMITS # Z added by devel/scanprov
+I_LOCALE # K added by devel/scanprov
+I_NETINET_IN # K added by devel/scanprov
+ingroup # F added by devel/scanprov
+INIT # Z added by devel/scanprov
instr # T
-INTSIZE # T
+INTMAX_C # T
+INTSIZE # K added by devel/scanprov
+intuit_more # F added by devel/scanprov
+invert # F added by devel/scanprov
+IoBOTTOM_GV # Z added by devel/scanprov
+IoBOTTOM_NAME # Z added by devel/scanprov
+io_close # F added by devel/scanprov
+IOCPARM_LEN # Z added by devel/scanprov
+IoDIRP # Z added by devel/scanprov
+IOf_ARGV # Z added by devel/scanprov
+IOf_DIDTOP # Z added by devel/scanprov
+IOf_FLUSH # Z added by devel/scanprov
+IoFLAGS # Z added by devel/scanprov
+IoFMT_GV # Z added by devel/scanprov
+IoFMT_NAME # Z added by devel/scanprov
+IOf_START # Z added by devel/scanprov
+IOf_UNTAINT # Z added by devel/scanprov
+IoIFP # Z added by devel/scanprov
+IoLINES # Z added by devel/scanprov
+IoLINES_LEFT # Z added by devel/scanprov
+IoOFP # Z added by devel/scanprov
+IoPAGE # Z added by devel/scanprov
+IoPAGE_LEN # Z added by devel/scanprov
+IoTOP_GV # Z added by devel/scanprov
+IoTOP_NAME # Z added by devel/scanprov
+IoTYPE # Z added by devel/scanprov
+I_PWD # K added by devel/scanprov
isALNUM # T
isALPHA # T
isDIGIT # T
+isGV # Z added by devel/scanprov
isIDFIRST # T
isLOWER # T
isSPACE # T
+I_STDARG # Z added by devel/scanprov
isUPPER # T
+I_SYS_DIR # K added by devel/scanprov
+I_SYS_FILE # K added by devel/scanprov
+I_SYS_IOCTL # K added by devel/scanprov
+I_SYS_PARAM # K added by devel/scanprov
+I_SYS_RESOURCE # K added by devel/scanprov
+I_SYS_SELECT # K added by devel/scanprov
+I_SYS_STAT # K added by devel/scanprov
+I_SYS_TIME # K added by devel/scanprov
+I_SYS_TIMES # K added by devel/scanprov
+I_SYS_TYPES # K added by devel/scanprov
+I_SYS_UN # K added by devel/scanprov
+I_SYS_WAIT # K added by devel/scanprov
+I_TERMIOS # K added by devel/scanprov
+I_TIME # K added by devel/scanprov
+I_UNISTD # K added by devel/scanprov
+I_UTIME # K added by devel/scanprov
+I_V # Z added by devel/scanprov
+IV_MAX # Z added by devel/scanprov
+IV_MIN # Z added by devel/scanprov
+jmaybe # F added by devel/scanprov
+kBINOP # Z added by devel/scanprov
+kCOP # Z added by devel/scanprov
+KERNEL # Z added by devel/scanprov
+KEY_abs # Z added by devel/scanprov
+KEY_accept # Z added by devel/scanprov
+KEY_alarm # Z added by devel/scanprov
+KEY_and # Z added by devel/scanprov
+KEY_atan2 # Z added by devel/scanprov
+KEY_AUTOLOAD # Z added by devel/scanprov
+KEY_BEGIN # Z added by devel/scanprov
+KEY_bind # Z added by devel/scanprov
+KEY_binmode # Z added by devel/scanprov
+KEY_bless # Z added by devel/scanprov
+KEY_caller # Z added by devel/scanprov
+KEY_chdir # Z added by devel/scanprov
+KEY_chmod # Z added by devel/scanprov
+KEY_chomp # Z added by devel/scanprov
+KEY_chop # Z added by devel/scanprov
+KEY_chown # Z added by devel/scanprov
+KEY_chr # Z added by devel/scanprov
+KEY_chroot # Z added by devel/scanprov
+KEY_close # Z added by devel/scanprov
+KEY_closedir # Z added by devel/scanprov
+KEY_cmp # Z added by devel/scanprov
+KEY_connect # Z added by devel/scanprov
+KEY_continue # Z added by devel/scanprov
+KEY_cos # Z added by devel/scanprov
+KEY_crypt # Z added by devel/scanprov
+KEY___DATA # Z added by devel/scanprov
+KEY_dbmclose # Z added by devel/scanprov
+KEY_dbmopen # Z added by devel/scanprov
+KEY_defined # Z added by devel/scanprov
+KEY_delete # Z added by devel/scanprov
+KEY_DESTROY # Z added by devel/scanprov
+KEY_die # Z added by devel/scanprov
+KEY_do # Z added by devel/scanprov
+KEY_dump # Z added by devel/scanprov
+KEY_each # Z added by devel/scanprov
+KEY_else # Z added by devel/scanprov
+KEY_elsif # Z added by devel/scanprov
+KEY___END # Z added by devel/scanprov
+KEY_END # Z added by devel/scanprov
+KEY_endgrent # Z added by devel/scanprov
+KEY_endhostent # Z added by devel/scanprov
+KEY_endnetent # Z added by devel/scanprov
+KEY_endprotoent # Z added by devel/scanprov
+KEY_endpwent # Z added by devel/scanprov
+KEY_endservent # Z added by devel/scanprov
+KEY_eof # Z added by devel/scanprov
+KEY_eq # Z added by devel/scanprov
+KEY_eval # Z added by devel/scanprov
+KEY_exec # Z added by devel/scanprov
+KEY_exists # Z added by devel/scanprov
+KEY_exit # Z added by devel/scanprov
+KEY_exp # Z added by devel/scanprov
+KEY_fcntl # Z added by devel/scanprov
+KEY___FILE # Z added by devel/scanprov
+KEY_fileno # Z added by devel/scanprov
+KEY_flock # Z added by devel/scanprov
+KEY_for # Z added by devel/scanprov
+KEY_foreach # Z added by devel/scanprov
+KEY_fork # Z added by devel/scanprov
+KEY_format # Z added by devel/scanprov
+KEY_formline # Z added by devel/scanprov
+KEY_ge # Z added by devel/scanprov
+KEY_getc # Z added by devel/scanprov
+KEY_getgrent # Z added by devel/scanprov
+KEY_getgrgid # Z added by devel/scanprov
+KEY_getgrnam # Z added by devel/scanprov
+KEY_gethostbyaddr # Z added by devel/scanprov
+KEY_gethostbyname # Z added by devel/scanprov
+KEY_gethostent # Z added by devel/scanprov
+KEY_getlogin # Z added by devel/scanprov
+KEY_getnetbyaddr # Z added by devel/scanprov
+KEY_getnetbyname # Z added by devel/scanprov
+KEY_getnetent # Z added by devel/scanprov
+KEY_getpeername # Z added by devel/scanprov
+KEY_getpgrp # Z added by devel/scanprov
+KEY_getppid # Z added by devel/scanprov
+KEY_getpriority # Z added by devel/scanprov
+KEY_getprotobyname # Z added by devel/scanprov
+KEY_getprotobynumber # Z added by devel/scanprov
+KEY_getprotoent # Z added by devel/scanprov
+KEY_getpwent # Z added by devel/scanprov
+KEY_getpwnam # Z added by devel/scanprov
+KEY_getpwuid # Z added by devel/scanprov
+KEY_getservbyname # Z added by devel/scanprov
+KEY_getservbyport # Z added by devel/scanprov
+KEY_getservent # Z added by devel/scanprov
+KEY_getsockname # Z added by devel/scanprov
+KEY_getsockopt # Z added by devel/scanprov
+KEY_glob # Z added by devel/scanprov
+KEY_gmtime # Z added by devel/scanprov
+KEY_goto # Z added by devel/scanprov
+KEY_grep # Z added by devel/scanprov
+KEY_gt # Z added by devel/scanprov
+KEY_hex # Z added by devel/scanprov
+KEY_if # Z added by devel/scanprov
+KEY_index # Z added by devel/scanprov
+KEY_int # Z added by devel/scanprov
+KEY_ioctl # Z added by devel/scanprov
+KEY_join # Z added by devel/scanprov
+KEY_keys # Z added by devel/scanprov
+KEY_kill # Z added by devel/scanprov
+KEY_last # Z added by devel/scanprov
+KEY_lc # Z added by devel/scanprov
+KEY_lcfirst # Z added by devel/scanprov
+KEY_le # Z added by devel/scanprov
+KEY_length # Z added by devel/scanprov
+KEY___LINE # Z added by devel/scanprov
+KEY_link # Z added by devel/scanprov
+KEY_listen # Z added by devel/scanprov
+KEY_local # Z added by devel/scanprov
+KEY_localtime # Z added by devel/scanprov
+KEY_log # Z added by devel/scanprov
+KEY_lstat # Z added by devel/scanprov
+KEY_lt # Z added by devel/scanprov
+KEY_m # Z added by devel/scanprov
+KEY_map # Z added by devel/scanprov
+KEY_mkdir # Z added by devel/scanprov
+KEY_msgctl # Z added by devel/scanprov
+KEY_msgget # Z added by devel/scanprov
+KEY_msgrcv # Z added by devel/scanprov
+KEY_msgsnd # Z added by devel/scanprov
+KEY_my # Z added by devel/scanprov
+KEY_ne # Z added by devel/scanprov
+KEY_next # Z added by devel/scanprov
+KEY_no # Z added by devel/scanprov
+KEY_not # Z added by devel/scanprov
+KEY_NULL # Z added by devel/scanprov
+KEY_oct # Z added by devel/scanprov
+KEY_open # Z added by devel/scanprov
+KEY_opendir # Z added by devel/scanprov
+KEY_or # Z added by devel/scanprov
+KEY_ord # Z added by devel/scanprov
+KEY_pack # Z added by devel/scanprov
+KEY_package # Z added by devel/scanprov
+KEY_pipe # Z added by devel/scanprov
+KEY_pop # Z added by devel/scanprov
+KEY_pos # Z added by devel/scanprov
+KEY_print # Z added by devel/scanprov
+KEY_printf # Z added by devel/scanprov
+KEY_prototype # Z added by devel/scanprov
+KEY_push # Z added by devel/scanprov
+KEY_q # Z added by devel/scanprov
+KEY_qq # Z added by devel/scanprov
+KEY_quotemeta # Z added by devel/scanprov
+KEY_qw # Z added by devel/scanprov
+KEY_qx # Z added by devel/scanprov
+KEY_rand # Z added by devel/scanprov
+KEY_read # Z added by devel/scanprov
+KEY_readdir # Z added by devel/scanprov
+KEY_readline # Z added by devel/scanprov
+KEY_readlink # Z added by devel/scanprov
+KEY_readpipe # Z added by devel/scanprov
+KEY_recv # Z added by devel/scanprov
+KEY_redo # Z added by devel/scanprov
+KEY_ref # Z added by devel/scanprov
+KEY_rename # Z added by devel/scanprov
+KEY_require # Z added by devel/scanprov
+KEY_reset # Z added by devel/scanprov
+KEY_return # Z added by devel/scanprov
+KEY_reverse # Z added by devel/scanprov
+KEY_rewinddir # Z added by devel/scanprov
+KEY_rindex # Z added by devel/scanprov
+KEY_rmdir # Z added by devel/scanprov
+KEY_s # Z added by devel/scanprov
+KEY_scalar # Z added by devel/scanprov
+KEY_seek # Z added by devel/scanprov
+KEY_seekdir # Z added by devel/scanprov
+KEY_select # Z added by devel/scanprov
+KEY_semctl # Z added by devel/scanprov
+KEY_semget # Z added by devel/scanprov
+KEY_semop # Z added by devel/scanprov
+KEY_send # Z added by devel/scanprov
+KEY_setgrent # Z added by devel/scanprov
+KEY_sethostent # Z added by devel/scanprov
+KEY_setnetent # Z added by devel/scanprov
+KEY_setpgrp # Z added by devel/scanprov
+KEY_setpriority # Z added by devel/scanprov
+KEY_setprotoent # Z added by devel/scanprov
+KEY_setpwent # Z added by devel/scanprov
+KEY_setservent # Z added by devel/scanprov
+KEY_setsockopt # Z added by devel/scanprov
+KEY_shift # Z added by devel/scanprov
+KEY_shmctl # Z added by devel/scanprov
+KEY_shmget # Z added by devel/scanprov
+KEY_shmread # Z added by devel/scanprov
+KEY_shmwrite # Z added by devel/scanprov
+KEY_shutdown # Z added by devel/scanprov
+KEY_sin # Z added by devel/scanprov
+KEY_sleep # Z added by devel/scanprov
+KEY_socket # Z added by devel/scanprov
+KEY_socketpair # Z added by devel/scanprov
+KEY_sort # Z added by devel/scanprov
+KEY_splice # Z added by devel/scanprov
+KEY_split # Z added by devel/scanprov
+KEY_sprintf # Z added by devel/scanprov
+KEY_sqrt # Z added by devel/scanprov
+KEY_srand # Z added by devel/scanprov
+KEY_stat # Z added by devel/scanprov
+KEY_study # Z added by devel/scanprov
+KEY_sub # Z added by devel/scanprov
+KEY_substr # Z added by devel/scanprov
+KEY_symlink # Z added by devel/scanprov
+KEY_syscall # Z added by devel/scanprov
+KEY_sysopen # Z added by devel/scanprov
+KEY_sysread # Z added by devel/scanprov
+KEY_system # Z added by devel/scanprov
+KEY_syswrite # Z added by devel/scanprov
+KEY_tell # Z added by devel/scanprov
+KEY_telldir # Z added by devel/scanprov
+KEY_tie # Z added by devel/scanprov
+KEY_tied # Z added by devel/scanprov
+KEY_time # Z added by devel/scanprov
+KEY_times # Z added by devel/scanprov
+KEY_tr # Z added by devel/scanprov
+KEY_truncate # Z added by devel/scanprov
+KEY_uc # Z added by devel/scanprov
+KEY_ucfirst # Z added by devel/scanprov
+KEY_umask # Z added by devel/scanprov
+KEY_undef # Z added by devel/scanprov
+KEY_unless # Z added by devel/scanprov
+KEY_unlink # Z added by devel/scanprov
+KEY_unpack # Z added by devel/scanprov
+KEY_unshift # Z added by devel/scanprov
+KEY_untie # Z added by devel/scanprov
+KEY_until # Z added by devel/scanprov
+KEY_use # Z added by devel/scanprov
+KEY_utime # Z added by devel/scanprov
+KEY_values # Z added by devel/scanprov
+KEY_vec # Z added by devel/scanprov
+KEY_wait # Z added by devel/scanprov
+KEY_waitpid # Z added by devel/scanprov
+KEY_wantarray # Z added by devel/scanprov
+KEY_warn # Z added by devel/scanprov
+KEY_while # Z added by devel/scanprov
+keyword # F added by devel/scanprov
+KEY_write # Z added by devel/scanprov
+KEY_x # Z added by devel/scanprov
+KEY_xor # Z added by devel/scanprov
+KEY_y # Z added by devel/scanprov
+kLISTOP # Z added by devel/scanprov
+kLOGOP # Z added by devel/scanprov
+kLOOP # Z added by devel/scanprov
+kPMOP # Z added by devel/scanprov
+kPVOP # Z added by devel/scanprov
+kSVOP # Z added by devel/scanprov
+kUNOP # Z added by devel/scanprov
LEAVE # T
+LEAVE_SCOPE # Z added by devel/scanprov
leave_scope # T
+list # F added by devel/scanprov
+listkids # F added by devel/scanprov
+localize # F added by devel/scanprov
+LOCAL_PATCH_COUNT # Z added by devel/scanprov
+LOC_SED # K added by devel/scanprov
looks_like_number # T
+LvTARG # Z added by devel/scanprov
+LvTARGLEN # Z added by devel/scanprov
+LvTARGOFF # Z added by devel/scanprov
+LvTYPE # Z added by devel/scanprov
+magic_clearenv # F added by devel/scanprov
+magic_clearpack # F added by devel/scanprov
+magic_clearsig # F added by devel/scanprov
+magic_existspack # F added by devel/scanprov
+magic_get # F added by devel/scanprov
+magic_getarylen # F added by devel/scanprov
+magic_getpack # F added by devel/scanprov
+magic_getpos # F added by devel/scanprov
+magic_getsig # F added by devel/scanprov
+magic_gettaint # F added by devel/scanprov
+magic_getuvar # F added by devel/scanprov
+magic_nextpack # F added by devel/scanprov
+magic_set # F added by devel/scanprov
+magic_setarylen # F added by devel/scanprov
+magic_setdbline # F added by devel/scanprov
+magic_setenv # F added by devel/scanprov
+magic_setisa # F added by devel/scanprov
+magic_setmglob # F added by devel/scanprov
+magic_setnkeys # F added by devel/scanprov
+magic_setpack # F added by devel/scanprov
+magic_setpos # F added by devel/scanprov
+magic_setsig # F added by devel/scanprov
+magic_setsubstr # F added by devel/scanprov
+magic_settaint # F added by devel/scanprov
+magic_setuvar # F added by devel/scanprov
+magic_setvec # F added by devel/scanprov
+magic_wipepack # F added by devel/scanprov
+Malloc_t # K added by devel/scanprov
MARK # T
+MAXARG # Z added by devel/scanprov
+MAXO # Z added by devel/scanprov
+MAXSYSFD # Z added by devel/scanprov
+MBOL # Z added by devel/scanprov
+MEM_ALIGNBYTES # K added by devel/scanprov
+mem_collxfrm # F added by devel/scanprov
+MEM_SIZE # Z added by devel/scanprov
+memzero # Z added by devel/scanprov
+MEOL # Z added by devel/scanprov
+MEXTEND # Z added by devel/scanprov
mg_clear # T
mg_copy # T
+MGf_GSKIP # Z added by devel/scanprov
mg_find # T
+MGf_MINMATCH # Z added by devel/scanprov
mg_free # T
+MGf_REFCOUNTED # Z added by devel/scanprov
+MGf_TAINTEDDIR # Z added by devel/scanprov
mg_get # T
mg_magical # T
+MgPV # Z added by devel/scanprov
mg_set # T
-moreswitches # T
+MgTAINTEDDIR # Z added by devel/scanprov
+MgTAINTEDDIR_on # Z added by devel/scanprov
+MINMOD # Z added by devel/scanprov
+Mode_t # K added by devel/scanprov
+modkids # F added by devel/scanprov
+moreswitches # F added by devel/scanprov
Move # T
+MSPAGAIN # Z added by devel/scanprov
+my_chsize # F added by devel/scanprov
my_exit # T
my_pclose # T
my_popen # T
my_setenv # T
+my_unexec # F added by devel/scanprov
+NBOUND # Z added by devel/scanprov
+New # Z added by devel/scanprov
newANONHASH # T
newANONLIST # T
newANONSUB # T
@@ -136,6 +929,7 @@ newASSIGNOP # T
newAV # T
newAVREF # T
newBINOP # T
+Newc # Z added by devel/scanprov
newCONDOP # T
newCVREF # T
newFORM # T
@@ -159,6 +953,7 @@ newRV # T
newSLICEOP # T
newSTATEOP # T
newSUB # T
+NEWSV # Z added by devel/scanprov
newSV # T
newSViv # T
newSVOP # T
@@ -167,24 +962,98 @@ newSVREF # T
newSVrv # T
newSVsv # T
newUNOP # T
+Newz # Z added by devel/scanprov
+nextargv # F added by devel/scanprov
+NEXTOPER # Z added by devel/scanprov
ninstr # T
+NofAMmeth # Z added by devel/scanprov
+no_fh_allowed # F added by devel/scanprov
+NOLINE # Z added by devel/scanprov
+no_op # F added by devel/scanprov
+NORMAL # Z added by devel/scanprov
+NOTHING # Z added by devel/scanprov
+ntohi # Z added by devel/scanprov
+ntohl # Z added by devel/scanprov
+ntohs # Z added by devel/scanprov
+Null # Z added by devel/scanprov
Nullav # T
Nullch # T
Nullcv # T
+Nullfp # Z added by devel/scanprov
+Nullgv # Z added by devel/scanprov
+Nullhe # Z added by devel/scanprov
Nullhv # T
+Nullop # Z added by devel/scanprov
Nullsv # T
+OA_AVREF # Z added by devel/scanprov
+OA_CVREF # Z added by devel/scanprov
+OA_DANGEROUS # Z added by devel/scanprov
+OA_DEFGV # Z added by devel/scanprov
+OA_FILEREF # Z added by devel/scanprov
+OA_FOLDCONST # Z added by devel/scanprov
+OA_HVREF # Z added by devel/scanprov
+OA_LIST # Z added by devel/scanprov
+OA_MARK # Z added by devel/scanprov
+OA_OPTIONAL # Z added by devel/scanprov
+OA_OTHERINT # Z added by devel/scanprov
+OA_RETSCALAR # Z added by devel/scanprov
+OA_SCALAR # Z added by devel/scanprov
+OA_SCALARREF # Z added by devel/scanprov
+OASHIFT # Z added by devel/scanprov
+OA_TARGET # Z added by devel/scanprov
+Off_t # K added by devel/scanprov
+oopsAV # F added by devel/scanprov
+oopsHV # F added by devel/scanprov
+OP # Z added by devel/scanprov
+opASSIGN # Z added by devel/scanprov
+OPCODE # Z added by devel/scanprov
+OPEN # Z added by devel/scanprov
+OPERAND # Z added by devel/scanprov
OPf_KIDS # T
+OPf_KNOW # Z added by devel/scanprov
+OPf_LIST # Z added by devel/scanprov
+OPf_MOD # Z added by devel/scanprov
+OPf_PARENS # Z added by devel/scanprov
op_free # T
+OPf_REF # Z added by devel/scanprov
+OPf_SPECIAL # Z added by devel/scanprov
+OPf_STACKED # Z added by devel/scanprov
+OPpASSIGN_BACKWARDS # Z added by devel/scanprov
+OPpCONST_BARE # Z added by devel/scanprov
+OPpCONST_ENTERED # Z added by devel/scanprov
+OPpDEREF_AV # Z added by devel/scanprov
+OPpDEREF_HV # Z added by devel/scanprov
OPpENTERSUB_AMPER # T
+OPpENTERSUB_DB # Z added by devel/scanprov
+OPpFLIP_LINENUM # Z added by devel/scanprov
+OPpLIST_GUESSED # Z added by devel/scanprov
+OPpLVAL_INTRO # Z added by devel/scanprov
+OPpREPEAT_DOLIST # Z added by devel/scanprov
+OPpTRANS_COMPLEMENT # Z added by devel/scanprov
+OPpTRANS_DELETE # Z added by devel/scanprov
+OPpTRANS_SQUASH # Z added by devel/scanprov
ORIGMARK # T
-OSNAME # T
+OSNAME # K added by devel/scanprov
+package # F added by devel/scanprov
pad_alloc # T
+pad_free # F added by devel/scanprov
+pad_leavemy # F added by devel/scanprov
+pad_reset # F added by devel/scanprov
+PAD_SV # Z added by devel/scanprov
+pad_sv # F added by devel/scanprov
+pad_swipe # F added by devel/scanprov
+PATCHLEVEL # Z added by devel/scanprov
+Pause # Z added by devel/scanprov
+pclose # Z added by devel/scanprov
+peep # F added by devel/scanprov
perl_alloc # T
perl_construct # T
+Perl_debug_log # Z added by devel/scanprov
perl_free # T
PERL_HASH # T
PERL_INT_MAX # T
PERL_INT_MIN # T
+PerlIO # Z added by devel/scanprov
PerlIO_canset_cnt # T
PerlIO_exportFILE # T
PerlIO_fast_gets # T
@@ -195,6 +1064,7 @@ PerlIO_getpos # T
PerlIO_has_base # T
PerlIO_has_cntptr # T
PerlIO_importFILE # T
+PERLIO_NOT_STDIO # Z added by devel/scanprov
PerlIO_open # T
PerlIO_putc # T
PerlIO_puts # T
@@ -216,93 +1086,308 @@ PERL_SYS_TERM # T
PERL_UCHAR_MAX # T
PERL_UCHAR_MIN # T
PERL_UINT_MAX # T
+PERL_UINT_MIN # T
PERL_ULONG_MAX # T
PERL_ULONG_MIN # T
PERL_UQUAD_MAX # T
PERL_UQUAD_MIN # T
PERL_USHORT_MAX # T
PERL_USHORT_MIN # T
+pidgone # F added by devel/scanprov
+PLUS # Z added by devel/scanprov
+PMf_CONST # Z added by devel/scanprov
+PMf_EVAL # Z added by devel/scanprov
+PMf_EXTENDED # Z added by devel/scanprov
+PMf_FOLD # Z added by devel/scanprov
+PMf_GLOBAL # Z added by devel/scanprov
+PMf_KEEP # Z added by devel/scanprov
+PMf_MULTILINE # Z added by devel/scanprov
+PMf_ONCE # Z added by devel/scanprov
+PMf_SINGLELINE # Z added by devel/scanprov
+pmruntime # F added by devel/scanprov
+pmtrans # F added by devel/scanprov
+popen # Z added by devel/scanprov
POPi # T
POPl # T
+POPMARK # Z added by devel/scanprov
POPp # T
POPs # T
pop_scope # T
+PP # Z added by devel/scanprov
pregexec # T
pregfree # T
-PRIVLIB # T
+PREVOPER # Z added by devel/scanprov
+printf # Z added by devel/scanprov
+PRIVLIB # K added by devel/scanprov
+PRIVLIB_EXP # K added by devel/scanprov
+PRIVSHIFT # Z added by devel/scanprov
PUSHi # T
PUSHMARK # T
PUSHp # T
PUSHs # T
push_scope # T
+PUSHTARG # Z added by devel/scanprov
PUTBACK # T
-RANDBITS # T
+putc # Z added by devel/scanprov
+putc_unlocked # Z added by devel/scanprov
+putw # Z added by devel/scanprov
+Quad_t # K added by devel/scanprov
+RANDBITS # K added by devel/scanprov
+RD_NODATA # K added by devel/scanprov
+REF # Z added by devel/scanprov
+refkids # F added by devel/scanprov
+regdump # F added by devel/scanprov
+register # Z added by devel/scanprov
+regnext # F added by devel/scanprov
+regprop # F added by devel/scanprov
Renew # T
Renewc # T
repeatcpy # T
+RETPUSHNO # Z added by devel/scanprov
+RETPUSHUNDEF # Z added by devel/scanprov
+RETPUSHYES # Z added by devel/scanprov
+RETSETNO # Z added by devel/scanprov
+RETSETUNDEF # Z added by devel/scanprov
+RETSETYES # Z added by devel/scanprov
+RETURN # Z added by devel/scanprov
+RETURNOP # Z added by devel/scanprov
+RETURNX # Z added by devel/scanprov
+RETVAL # X added by devel/scanprov
+rewind # Z added by devel/scanprov
rninstr # T
+RsPARA # Z added by devel/scanprov
+RsSIMPLE # Z added by devel/scanprov
+RsSNARF # Z added by devel/scanprov
+safecalloc # Z added by devel/scanprov
Safefree # T
+safefree # Z added by devel/scanprov
+safemalloc # Z added by devel/scanprov
+saferealloc # Z added by devel/scanprov
+same_dirent # F added by devel/scanprov
+SANY # Z added by devel/scanprov
save_aptr # T
save_ary # T
-save_clearsv # T
-save_delete # T
-save_freepv # T
-save_freesv # T
+save_clearsv # F added by devel/scanprov
+SAVECLEARSV # Z added by devel/scanprov
+save_delete # F added by devel/scanprov
+SAVEDELETE # T
+save_destructor # F added by devel/scanprov
+SAVEFREEPV # T
+SAVEFREESV # T
save_hash # T
save_hptr # T
-save_I32 # T
-save_int # T
+save_I32 # F added by devel/scanprov
+SAVEI32 # T
+save_int # F added by devel/scanprov
+SAVEINT # T
save_item # T
+SAVEIV # T
save_list # T
-save_long # T
+save_long # F added by devel/scanprov
+SAVELONG # T
save_nogv # T
-save_pptr # T
+save_pptr # F added by devel/scanprov
+SAVEPPTR # T
savepv # T
savepvn # T
save_scalar # T
-save_sptr # T
+save_sptr # F added by devel/scanprov
+SAVESPTR # T
savestack_grow # T
save_svref # T
+SAVEt_APTR # Z added by devel/scanprov
+SAVEt_AV # Z added by devel/scanprov
+SAVEt_CLEARSV # Z added by devel/scanprov
+SAVEt_DELETE # Z added by devel/scanprov
+SAVEt_DESTRUCTOR # Z added by devel/scanprov
+SAVEt_FREEOP # Z added by devel/scanprov
+SAVEt_FREEPV # Z added by devel/scanprov
+SAVEt_FREESV # Z added by devel/scanprov
+SAVEt_GP # Z added by devel/scanprov
+SAVEt_HPTR # Z added by devel/scanprov
+SAVEt_HV # Z added by devel/scanprov
+SAVEt_I32 # Z added by devel/scanprov
+SAVEt_INT # Z added by devel/scanprov
+SAVEt_ITEM # Z added by devel/scanprov
+SAVEt_IV # Z added by devel/scanprov
+SAVEt_LONG # Z added by devel/scanprov
SAVETMPS # T
+SAVEt_NSTAB # Z added by devel/scanprov
+SAVEt_PPTR # Z added by devel/scanprov
+SAVEt_REGCONTEXT # Z added by devel/scanprov
+SAVEt_SPTR # Z added by devel/scanprov
+SAVEt_SV # Z added by devel/scanprov
+SAVEt_SVREF # Z added by devel/scanprov
+sawparens # F added by devel/scanprov
+sb_dstr # Z added by devel/scanprov
+sb_iters # Z added by devel/scanprov
+sb_m # Z added by devel/scanprov
+sb_maxiters # Z added by devel/scanprov
+SBOL # Z added by devel/scanprov
+sb_orig # Z added by devel/scanprov
+sb_rx # Z added by devel/scanprov
+sb_s # Z added by devel/scanprov
+sb_strend # Z added by devel/scanprov
+sb_targ # Z added by devel/scanprov
+scalar # F added by devel/scanprov
+scalarkids # F added by devel/scanprov
+scalarseq # F added by devel/scanprov
+scalarvoid # F added by devel/scanprov
+scan_const # F added by devel/scanprov
+SCAN_DEF # Z added by devel/scanprov
+scan_formline # F added by devel/scanprov
+scan_heredoc # F added by devel/scanprov
+scan_ident # F added by devel/scanprov
+scan_inputsymbol # F added by devel/scanprov
+scan_num # F added by devel/scanprov
+scan_pat # F added by devel/scanprov
+SCAN_REPL # Z added by devel/scanprov
+scan_str # F added by devel/scanprov
+scan_subst # F added by devel/scanprov
+SCAN_TR # Z added by devel/scanprov
+scan_trans # F added by devel/scanprov
+scan_word # F added by devel/scanprov
+SEEK_CUR # Z added by devel/scanprov
+SEEK_END # Z added by devel/scanprov
+SEEK_SET # Z added by devel/scanprov
+Select_fd_set_t # K added by devel/scanprov
+SEOL # Z added by devel/scanprov
+setbuf # Z added by devel/scanprov
setdefout # T
-SITELIB # T
+SETERRNO # Z added by devel/scanprov
+SETi # Z added by devel/scanprov
+SETn # Z added by devel/scanprov
+SETp # Z added by devel/scanprov
+setregid # Z added by devel/scanprov
+setreuid # Z added by devel/scanprov
+SETs # Z added by devel/scanprov
+SETTARG # Z added by devel/scanprov
+setvbuf # Z added by devel/scanprov
+Shmat_t # K added by devel/scanprov
+SH_PATH # K added by devel/scanprov
+S_IFMT # Z added by devel/scanprov
+SIGABRT # Z added by devel/scanprov
+sighandler # F added by devel/scanprov
+SIGILL # Z added by devel/scanprov
+Sigjmp_buf # K added by devel/scanprov
+Siglongjmp # K added by devel/scanprov
+Signal_t # K added by devel/scanprov
+SIG_NAME # K added by devel/scanprov
+SIG_NUM # K added by devel/scanprov
+Sigsetjmp # K added by devel/scanprov
+S_IRGRP # Z added by devel/scanprov
+S_IROTH # Z added by devel/scanprov
+S_IRUSR # Z added by devel/scanprov
+S_ISBLK # Z added by devel/scanprov
+S_ISCHR # Z added by devel/scanprov
+S_ISDIR # Z added by devel/scanprov
+S_ISFIFO # Z added by devel/scanprov
+S_ISGID # Z added by devel/scanprov
+S_ISLNK # Z added by devel/scanprov
+S_ISREG # Z added by devel/scanprov
+S_ISSOCK # Z added by devel/scanprov
+S_ISUID # Z added by devel/scanprov
+SITEARCH # K added by devel/scanprov
+SITEARCH_EXP # K added by devel/scanprov
+SITELIB # K added by devel/scanprov
+SITELIB_EXP # K added by devel/scanprov
+S_IWGRP # Z added by devel/scanprov
+S_IWOTH # Z added by devel/scanprov
+S_IWUSR # Z added by devel/scanprov
+S_IXGRP # Z added by devel/scanprov
+S_IXOTH # Z added by devel/scanprov
+S_IXUSR # Z added by devel/scanprov
+Size_t # K added by devel/scanprov
+SLOPPYDIVIDE # Z added by devel/scanprov
SP # T
SPAGAIN # T
+SSCHECK # Z added by devel/scanprov
+SSize_t # K added by devel/scanprov
+SSPOPDPTR # Z added by devel/scanprov
+SSPOPINT # Z added by devel/scanprov
+SSPOPIV # Z added by devel/scanprov
+SSPOPLONG # Z added by devel/scanprov
+SSPOPPTR # Z added by devel/scanprov
+SSPUSHDPTR # Z added by devel/scanprov
+SSPUSHINT # Z added by devel/scanprov
+SSPUSHIV # Z added by devel/scanprov
+SSPUSHLONG # Z added by devel/scanprov
+SSPUSHPTR # Z added by devel/scanprov
ST # T
-stack_grow # T
-STARTPERL # T
-STDCHAR # T
+stack_grow # F added by devel/scanprov
+STANDARD_C # Z added by devel/scanprov
+STAR # Z added by devel/scanprov
+STARTPERL # K added by devel/scanprov
+Stat # Z added by devel/scanprov
+STDCHAR # K added by devel/scanprov
+stderr # Z added by devel/scanprov
+stdin # Z added by devel/scanprov
+stdout # Z added by devel/scanprov
+STMT_END # M added by devel/scanprov
+STMT_START # M added by devel/scanprov
strEQ # T
+Strerror # Z added by devel/scanprov
strGE # T
strGT # T
+STRINGIFY # K added by devel/scanprov
strLE # T
strLT # T
strNE # T
strnEQ # T
strnNE # T
-sv_2bool # T
+StructCopy # M added by devel/scanprov
+SUBVERSION # Z added by devel/scanprov
+SUCCEED # Z added by devel/scanprov
sv_2cv # T
sv_2io # T
-sv_2iv # T
sv_2mortal # T
-sv_2pv # T
+sv_add_arena # F added by devel/scanprov
+SvAMAGIC # Z added by devel/scanprov
+SvANY # Z added by devel/scanprov
sv_backoff # T
sv_bless # T
sv_catpv # T
sv_catpvn # T
sv_catsv # T
sv_chop # T
+sv_clean_all # F added by devel/scanprov
+sv_clean_objs # F added by devel/scanprov
sv_clear # T
sv_cmp # T
+SvCOMPILED # Z added by devel/scanprov
+SvCOMPILED_off # Z added by devel/scanprov
+SvCOMPILED_on # Z added by devel/scanprov
SvCUR # T
SvCUR_set # T
sv_dec # T
sv_dump # T
SvEND # T
+SvEND_set # Z added by devel/scanprov
+SvENDx # Z added by devel/scanprov
sv_eq # T
+SvFAKE # Z added by devel/scanprov
+SvFAKE_off # Z added by devel/scanprov
+SvFAKE_on # Z added by devel/scanprov
+SVf_AMAGIC # Z added by devel/scanprov
+SVf_BREAK # Z added by devel/scanprov
+SVf_FAKE # Z added by devel/scanprov
+SVf_IOK # Z added by devel/scanprov
+SvFLAGS # Z added by devel/scanprov
+SVf_NOK # Z added by devel/scanprov
+SVf_OK # Z added by devel/scanprov
+SVf_OOK # Z added by devel/scanprov
+SVf_POK # Z added by devel/scanprov
+SVf_READONLY # Z added by devel/scanprov
sv_free # T
+sv_free_arenas # F added by devel/scanprov
+SVf_ROK # Z added by devel/scanprov
+SVf_THINKFIRST # Z added by devel/scanprov
sv_gets # T
-sv_grow # T
+SvGMAGICAL # Z added by devel/scanprov
+SvGMAGICAL_off # Z added by devel/scanprov
+SvGMAGICAL_on # Z added by devel/scanprov
+Sv_Grow # Z added by devel/scanprov
+sv_grow # F added by devel/scanprov
SvGROW # T
sv_inc # T
sv_insert # T
@@ -311,19 +1396,26 @@ SvIOK_off # T
SvIOK_on # T
SvIOK_only # T
SvIOKp # T
+SvIOKp_on # Z added by devel/scanprov
sv_isa # T
sv_isobject # T
SvIV # T
SvIV_set # T
SvIVX # T
SvIVx # T
+SvIVXx # Z added by devel/scanprov
sv_len # T
SvLEN # T
SvLEN_set # T
+SvLENx # Z added by devel/scanprov
sv_magic # T
+SvMAGIC # Z added by devel/scanprov
+SvMAGICAL # Z added by devel/scanprov
+SvMAGICAL_off # Z added by devel/scanprov
+SvMAGICAL_on # Z added by devel/scanprov
sv_mortalcopy # T
sv_newmortal # T
-sv_newref # T
+sv_newref # F added by devel/scanprov
SvNIOK # T
SvNIOK_off # T
SvNIOKp # T
@@ -332,19 +1424,42 @@ SvNOK_off # T
SvNOK_on # T
SvNOK_only # T
SvNOKp # T
+SvNOKp_on # Z added by devel/scanprov
+SvNVXx # Z added by devel/scanprov
+SvOBJECT # Z added by devel/scanprov
+SvOBJECT_off # Z added by devel/scanprov
+SvOBJECT_on # Z added by devel/scanprov
SvOK # T
+SvOK_off # Z added by devel/scanprov
+SvOKp # Z added by devel/scanprov
SvOOK # T
+SvOOK_off # T
+SvOOK_on # Z added by devel/scanprov
+SvPADMY # Z added by devel/scanprov
+SvPADMY_on # Z added by devel/scanprov
+SvPADTMP # Z added by devel/scanprov
+SvPADTMP_off # Z added by devel/scanprov
+SvPADTMP_on # Z added by devel/scanprov
+SvPEEK # Z added by devel/scanprov
+SVphv_LAZYDEL # Z added by devel/scanprov
+SVphv_SHAREKEYS # Z added by devel/scanprov
+SVp_IOK # Z added by devel/scanprov
+SVp_NOK # Z added by devel/scanprov
SvPOK # T
SvPOK_off # T
SvPOK_on # T
SvPOK_only # T
SvPOKp # T
+SvPOKp_on # Z added by devel/scanprov
+SVp_POK # Z added by devel/scanprov
+SVp_SCREAM # Z added by devel/scanprov
SvPV # T
SvPV_force # T
-sv_pvn_force # T
SvPV_set # T
SvPVX # T
SvPVx # T
+SvPVx_force # Z added by devel/scanprov
+SvPVXx # Z added by devel/scanprov
SvREADONLY # T
SvREADONLY_off # T
SvREADONLY_on # T
@@ -355,10 +1470,17 @@ sv_reftype # T
sv_replace # T
sv_report_used # T
sv_reset # T
+SvRMAGICAL # Z added by devel/scanprov
+SvRMAGICAL_off # Z added by devel/scanprov
+SvRMAGICAL_on # Z added by devel/scanprov
SvROK # T
SvROK_off # T
SvROK_on # T
SvRV # T
+SvRVx # Z added by devel/scanprov
+SvSCREAM # Z added by devel/scanprov
+SvSCREAM_off # Z added by devel/scanprov
+SvSCREAM_on # Z added by devel/scanprov
sv_setiv # T
SvSETMAGIC # T
sv_setpv # T
@@ -368,9 +1490,23 @@ sv_setref_pv # T
sv_setref_pvn # T
sv_setsv # T
SvSetSV # T
+SVs_GMG # Z added by devel/scanprov
+SvSMAGICAL # Z added by devel/scanprov
+SvSMAGICAL_off # Z added by devel/scanprov
+SvSMAGICAL_on # Z added by devel/scanprov
+SVs_OBJECT # Z added by devel/scanprov
+SVs_PADMY # Z added by devel/scanprov
+SVs_PADTMP # Z added by devel/scanprov
+SVs_RMG # Z added by devel/scanprov
+SVs_SMG # Z added by devel/scanprov
SvSTASH # T
SVs_TEMP # T
+SvTAIL # Z added by devel/scanprov
SvTAINT # T
+SvTEMP # Z added by devel/scanprov
+SvTEMP_off # Z added by devel/scanprov
+SvTEMP_on # Z added by devel/scanprov
+SvTHINKFIRST # Z added by devel/scanprov
SVt_IV # T
SVt_NULL # T
SVt_NV # T
@@ -388,20 +1524,74 @@ SVt_PVNV # T
SvTRUE # T
SvTRUEx # T
SvTYPE # T
+SVTYPEMASK # Z added by devel/scanprov
sv_unmagic # T
sv_unref # T
sv_upgrade # T
SvUPGRADE # T
sv_usepvn # T
-taint_env # T
-taint_proper # T
+SvVALID # Z added by devel/scanprov
+SWITCHSTACK # Z added by devel/scanprov
+TAINT_ENV # Z added by devel/scanprov
+taint_env # F added by devel/scanprov
+TAINT_IF # Z added by devel/scanprov
+TAINT_NOT # Z added by devel/scanprov
+TAINT_PROPER # Z added by devel/scanprov
+taint_proper # F added by devel/scanprov
+TARG # T
+THIS # X added by devel/scanprov
+Time_t # K added by devel/scanprov
+tmpfile # Z added by devel/scanprov
toLOWER # T
+TOPi # Z added by devel/scanprov
+TOPl # Z added by devel/scanprov
+TOPMARK # Z added by devel/scanprov
+TOPn # Z added by devel/scanprov
+TOPp # Z added by devel/scanprov
+TOPs # Z added by devel/scanprov
toUPPER # T
+TRUE # Z added by devel/scanprov
+U16_MAX # Z added by devel/scanprov
+U16_MIN # Z added by devel/scanprov
+U32_MAX # Z added by devel/scanprov
+U32_MIN # Z added by devel/scanprov
+U8_MAX # Z added by devel/scanprov
+U8_MIN # Z added by devel/scanprov
+UCHARAT # Z added by devel/scanprov
+U_I # Z added by devel/scanprov
+Uid_t # K added by devel/scanprov
+UINTMAX_C # T
+U_L # Z added by devel/scanprov
+ungetc # Z added by devel/scanprov
+UNLESSM # Z added by devel/scanprov
+UNLINK # Z added by devel/scanprov
+unlnk # F added by devel/scanprov
unsharepvn # T
+U_S # Z added by devel/scanprov
+USE_BSDPGRP # Z added by devel/scanprov
+USE_DYNAMIC_LOADING # K added by devel/scanprov
+USE_STAT_RDEV # Z added by devel/scanprov
+USE_STDIO # Z added by devel/scanprov
+utilize # F added by devel/scanprov
+U_V # Z added by devel/scanprov
+UV_MAX # Z added by devel/scanprov
+UV_MIN # Z added by devel/scanprov
+VAL_EAGAIN # K added by devel/scanprov
+VAL_O_NONBLOCK # K added by devel/scanprov
+vfprintf # Z added by devel/scanprov
+VOL # Z added by devel/scanprov
+vtohl # Z added by devel/scanprov
+vtohs # Z added by devel/scanprov
+wait4pid # F added by devel/scanprov
+watch # F added by devel/scanprov
whichsig # T
+WHILEM # Z added by devel/scanprov
XPUSHi # T
XPUSHp # T
XPUSHs # T
+XPUSHTARG # Z added by devel/scanprov
+XS # M added by devel/scanprov
+XSANY # Z added by devel/scanprov
XSRETURN # T
XSRETURN_EMPTY # T
XSRETURN_IV # T
@@ -416,134 +1606,8 @@ XST_mUNDEF # T
XST_mYES # T
XS_VERSION # T
XS_VERSION_BOOTCHECK # T
-Zero # T
-RETVAL # X added by devel/scanprov
-CALL # X added by devel/scanprov
-THIS # X added by devel/scanprov
-dXSI32 # M added by devel/scanprov
-items # M added by devel/scanprov
-ix # M added by devel/scanprov
-PERL_UINT_MIN # M added by devel/scanprov
-STMT_END # M added by devel/scanprov
-STMT_START # M added by devel/scanprov
-StructCopy # M added by devel/scanprov
-svtype # M added by devel/scanprov
-XS # M added by devel/scanprov
-apply # F added by devel/scanprov
-bind_match # F added by devel/scanprov
-boot_core_UNIVERSAL # F added by devel/scanprov
-cando # F added by devel/scanprov
-checkcomma # F added by devel/scanprov
-check_uni # F added by devel/scanprov
-do_chomp # F added by devel/scanprov
-do_eof # F added by devel/scanprov
-do_exec # F added by devel/scanprov
-dofindlabel # F added by devel/scanprov
-do_ipcctl # F added by devel/scanprov
-do_ipcget # F added by devel/scanprov
-do_msgrcv # F added by devel/scanprov
-do_msgsnd # F added by devel/scanprov
-dopoptoeval # F added by devel/scanprov
-do_print # F added by devel/scanprov
-do_readline # F added by devel/scanprov
-do_seek # F added by devel/scanprov
-do_semop # F added by devel/scanprov
-do_shmio # F added by devel/scanprov
-do_tell # F added by devel/scanprov
-do_trans # F added by devel/scanprov
-do_vecset # F added by devel/scanprov
-do_vop # F added by devel/scanprov
-dump_mstats # F added by devel/scanprov
-fold_constants # F added by devel/scanprov
-force_ident # F added by devel/scanprov
-force_list # F added by devel/scanprov
-force_next # F added by devel/scanprov
-force_word # F added by devel/scanprov
-gen_constant_list # F added by devel/scanprov
-ingroup # F added by devel/scanprov
-intuit_more # F added by devel/scanprov
-invert # F added by devel/scanprov
-io_close # F added by devel/scanprov
-jmaybe # F added by devel/scanprov
-keyword # F added by devel/scanprov
-list # F added by devel/scanprov
-listkids # F added by devel/scanprov
-localize # F added by devel/scanprov
-magic_clearenv # F added by devel/scanprov
-magic_clearpack # F added by devel/scanprov
-magic_clearsig # F added by devel/scanprov
-magic_existspack # F added by devel/scanprov
-magic_get # F added by devel/scanprov
-magic_getarylen # F added by devel/scanprov
-magic_getpack # F added by devel/scanprov
-magic_getpos # F added by devel/scanprov
-magic_getsig # F added by devel/scanprov
-magic_gettaint # F added by devel/scanprov
-magic_getuvar # F added by devel/scanprov
-magic_nextpack # F added by devel/scanprov
-magic_set # F added by devel/scanprov
-magic_setarylen # F added by devel/scanprov
-magic_setdbline # F added by devel/scanprov
-magic_setenv # F added by devel/scanprov
-magic_setisa # F added by devel/scanprov
-magic_setmglob # F added by devel/scanprov
-magic_setnkeys # F added by devel/scanprov
-magic_setpack # F added by devel/scanprov
-magic_setpos # F added by devel/scanprov
-magic_setsig # F added by devel/scanprov
-magic_setsubstr # F added by devel/scanprov
-magic_settaint # F added by devel/scanprov
-magic_setuvar # F added by devel/scanprov
-magic_setvec # F added by devel/scanprov
-magic_wipepack # F added by devel/scanprov
-mem_collxfrm # F added by devel/scanprov
-modkids # F added by devel/scanprov
-my_chsize # F added by devel/scanprov
-my_unexec # F added by devel/scanprov
-nextargv # F added by devel/scanprov
-no_fh_allowed # F added by devel/scanprov
-no_op # F added by devel/scanprov
-oopsAV # F added by devel/scanprov
-oopsHV # F added by devel/scanprov
-package # F added by devel/scanprov
-pad_free # F added by devel/scanprov
-pad_leavemy # F added by devel/scanprov
-pad_reset # F added by devel/scanprov
-pad_sv # F added by devel/scanprov
-pad_swipe # F added by devel/scanprov
-peep # F added by devel/scanprov
-pidgone # F added by devel/scanprov
-pmruntime # F added by devel/scanprov
-pmtrans # F added by devel/scanprov
-ref # F added by devel/scanprov
-refkids # F added by devel/scanprov
-regprop # F added by devel/scanprov
-same_dirent # F added by devel/scanprov
-sawparens # F added by devel/scanprov
-scalar # F added by devel/scanprov
-scalarkids # F added by devel/scanprov
-scalarseq # F added by devel/scanprov
-scalarvoid # F added by devel/scanprov
-scan_const # F added by devel/scanprov
-scan_formline # F added by devel/scanprov
-scan_heredoc # F added by devel/scanprov
-scan_ident # F added by devel/scanprov
-scan_inputsymbol # F added by devel/scanprov
-scan_pat # F added by devel/scanprov
-scan_str # F added by devel/scanprov
-scan_subst # F added by devel/scanprov
-scan_trans # F added by devel/scanprov
-scan_word # F added by devel/scanprov
-sighandler # F added by devel/scanprov
-sv_add_arena # F added by devel/scanprov
-sv_clean_all # F added by devel/scanprov
-sv_clean_objs # F added by devel/scanprov
-sv_free_arenas # F added by devel/scanprov
-unlnk # F added by devel/scanprov
-utilize # F added by devel/scanprov
-wait4pid # F added by devel/scanprov
-watch # F added by devel/scanprov
yyerror # F added by devel/scanprov
yylex # F added by devel/scanprov
yyparse # F added by devel/scanprov
yywarn # F added by devel/scanprov
+Zero # T
diff --git a/dist/Devel-PPPort/parts/base/5004000 b/dist/Devel-PPPort/parts/base/5004000
index 7d77ab13ea..0ad9a0a76c 100644
--- a/dist/Devel-PPPort/parts/base/5004000
+++ b/dist/Devel-PPPort/parts/base/5004000
@@ -1,17 +1,74 @@
5.004000
-ARCHNAME # E
+AMT_AMAGIC # Z added by devel/scanprov
+AMT_AMAGIC_off # Z added by devel/scanprov
+AMT_AMAGIC_on # Z added by devel/scanprov
+AMTf_AMAGIC # Z added by devel/scanprov
+ANYOF_ALNUML # Z added by devel/scanprov
+ANYOF_INVERT # Z added by devel/scanprov
+ANYOF_NALNUML # Z added by devel/scanprov
+ANYOF_NSPACEL # Z added by devel/scanprov
+ANYOF_SPACEL # Z added by devel/scanprov
+ARCHNAME # K added by devel/scanprov
+BIN_EXP # K added by devel/scanprov
+BIT_DIGITS # Z added by devel/scanprov
block_end # E (Perl_block_end)
block_gimme # E
block_start # E (Perl_block_start)
boolSV # E
+BOUNDL # Z added by devel/scanprov
call_list # E
+CATCH_GET # Z added by devel/scanprov
+CATCH_SET # Z added by devel/scanprov
+CVf_NODEBUG # Z added by devel/scanprov
+CVf_UNIQUE # Z added by devel/scanprov
+CvNODEBUG # Z added by devel/scanprov
+CvNODEBUG_off # Z added by devel/scanprov
+CvNODEBUG_on # Z added by devel/scanprov
+CvUNIQUE # Z added by devel/scanprov
+CvUNIQUE_off # Z added by devel/scanprov
+CvUNIQUE_on # Z added by devel/scanprov
delimcpy # U
+dEXTCONST # Z added by devel/scanprov
+dJMPENV # Z added by devel/scanprov
+do_sysseek # F added by devel/scanprov
+dPOPuv # Z added by devel/scanprov
+dPOPXiirl # Z added by devel/scanprov
+dPOPXnnrl # Z added by devel/scanprov
+dPOPXssrl # Z added by devel/scanprov
+dTOPuv # Z added by devel/scanprov
+EXACT # Z added by devel/scanprov
+EXACTF # Z added by devel/scanprov
+EXACTFL # Z added by devel/scanprov
+EXTCONST # Z added by devel/scanprov
+EXTEND_MORTAL # Z added by devel/scanprov
+F_atan2_amg # Z added by devel/scanprov
+F_cos_amg # Z added by devel/scanprov
+F_exp_amg # Z added by devel/scanprov
+F_log_amg # Z added by devel/scanprov
+F_pow_amg # Z added by devel/scanprov
+F_sin_amg # Z added by devel/scanprov
+F_sqrt_amg # Z added by devel/scanprov
GIMME_V # E
+GPOS # Z added by devel/scanprov
gv_autoload4 # E
+GvCVu # Z added by devel/scanprov
gv_fetchmethod_autoload # E
G_VOID # E
+HAS_GETTIMEOFDAY # K added by devel/scanprov
+HAS_INET_ATON # K added by devel/scanprov
+HAS_SETGROUPS # K added by devel/scanprov
+HAS_STRTOD # K added by devel/scanprov
+HAS_STRTOL # K added by devel/scanprov
+HAS_STRTOUL # K added by devel/scanprov
+HEK_BASESIZE # Z added by devel/scanprov
+HeKEY_hek # Z added by devel/scanprov
+HeKEY_sv # Z added by devel/scanprov
+HEK_HASH # Z added by devel/scanprov
+HEK_KEY # Z added by devel/scanprov
+HEK_LEN # Z added by devel/scanprov
HePV # A
HeSVKEY_set # E
+HINT_LOCALE # Z added by devel/scanprov
hv_delayfree_ent # E
hv_free_ent # E
ibcmp_locale # E
@@ -25,52 +82,97 @@ isPRINT # E
isPRINT_LC # E
isSPACE_LC # E
isUPPER_LC # E
-LONGSIZE # E
+JMPENV_JUMP # Z added by devel/scanprov
+JMPENV_POP # Z added by devel/scanprov
+JMPENV_PUSH # Z added by devel/scanprov
+KEY___PACKAGE # Z added by devel/scanprov
+KEY_sysseek # Z added by devel/scanprov
+LONGSIZE # K added by devel/scanprov
+magic_getdefelem # F added by devel/scanprov
+magic_setcollxfrm # F added by devel/scanprov
+magic_setdefelem # F added by devel/scanprov
memEQ # E
memNE # E
+MgTAINTEDDIR_off # Z added by devel/scanprov
+Mkdir # Z added by devel/scanprov
my_failure_exit # E
+NBOUNDL # Z added by devel/scanprov
newRV_inc # E
newRV_noinc # E
+Nullhek # Z added by devel/scanprov
+OP_BINARY # Z added by devel/scanprov
+OPf_WANT # Z added by devel/scanprov
+OPf_WANT_LIST # Z added by devel/scanprov
+OPf_WANT_SCALAR # Z added by devel/scanprov
+OPf_WANT_VOID # Z added by devel/scanprov
+OP_GIMME # Z added by devel/scanprov
+OPpDEREF # Z added by devel/scanprov
+OPpDEREF_SV # Z added by devel/scanprov
+OPpLVAL_DEFER # Z added by devel/scanprov
+OPpSLICE # Z added by devel/scanprov
+PMf_CONTINUE # Z added by devel/scanprov
POPu # E
PUSHu # E
rsignal # E
+rsignal_restore # F added by devel/scanprov
+rsignal_save # F added by devel/scanprov
rsignal_state # E
+rxres_free # F added by devel/scanprov
+rxres_restore # F added by devel/scanprov
+rxres_save # F added by devel/scanprov
save_gp # E
-save_I16 # E
+save_I16 # F added by devel/scanprov
+SAVEI16 # E
+save_iv # F added by devel/scanprov
+SAVESTACK_POS # E
+SAVEt_I16 # Z added by devel/scanprov
+SAVEt_STACK_POS # Z added by devel/scanprov
+sb_rxres # Z added by devel/scanprov
+sb_rxtainted # Z added by devel/scanprov
+SET_NUMERIC_STANDARD # Z added by devel/scanprov
+SETu # Z added by devel/scanprov
share_hek # E
-SHORTSIZE # E
+SHORTSIZE # K added by devel/scanprov
start_subparse # E (Perl_start_subparse)
-sv_2uv # U
+STATUS_ALL_FAILURE # Z added by devel/scanprov
+STATUS_ALL_SUCCESS # Z added by devel/scanprov
+STATUS_CURRENT # Z added by devel/scanprov
+STATUS_NATIVE # Z added by devel/scanprov
+STRUCT_OFFSET # Z added by devel/scanprov
+sub_crush_depth # F added by devel/scanprov
sv_cmp_locale # U
sv_derived_from # E
+SvIMMORTAL # Z added by devel/scanprov
+sv_pvn # F added by devel/scanprov
SvSetMagicSV # E
SvSetMagicSV_nosteal # E
SvSetSV_nosteal # E
sv_setuv # E
-sv_taint # U
-sv_tainted # E
+sv_tainted # F added by devel/scanprov
SvTAINTED # E
SvTAINTED_off # E
SvTAINTED_on # E
-sv_untaint # E
+sv_untaint # F added by devel/scanprov
SvUV # E
SvUVX # E
SvUVx # E
SvUVXx # E
sv_vcatpvfn # E
sv_vsetpvfn # E
+TAINT # Z added by devel/scanprov
+Timeval # K added by devel/scanprov
+toCTRL # Z added by devel/scanprov
toLOWER_LC # E
-XPUSHu # E
-do_sysseek # F added by devel/scanprov
-magic_getdefelem # F added by devel/scanprov
-magic_setcollxfrm # F added by devel/scanprov
-magic_setdefelem # F added by devel/scanprov
-rsignal_restore # F added by devel/scanprov
-rsignal_save # F added by devel/scanprov
-rxres_free # F added by devel/scanprov
-rxres_restore # F added by devel/scanprov
-rxres_save # F added by devel/scanprov
-sub_crush_depth # F added by devel/scanprov
+TOPu # Z added by devel/scanprov
+toUPPER_LC # Z added by devel/scanprov
+TYPE_CHARS # Z added by devel/scanprov
+TYPE_DIGITS # Z added by devel/scanprov
unshare_hek # F added by devel/scanprov
+USE_LEFT # Z added by devel/scanprov
+USE_LOCALE # Z added by devel/scanprov
+USE_LOCALE_COLLATE # Z added by devel/scanprov
+USE_LOCALE_CTYPE # Z added by devel/scanprov
+USE_LOCALE_NUMERIC # Z added by devel/scanprov
vivify_defelem # F added by devel/scanprov
vivify_ref # F added by devel/scanprov
+XPUSHu # E
diff --git a/dist/Devel-PPPort/parts/base/5004001 b/dist/Devel-PPPort/parts/base/5004001
index 1a7f0b71cf..bcbea89351 100644
--- a/dist/Devel-PPPort/parts/base/5004001
+++ b/dist/Devel-PPPort/parts/base/5004001
@@ -1,2 +1,4 @@
5.004001
magic_clear_all_env # F added by devel/scanprov
+REFF # Z added by devel/scanprov
+REFFL # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5004002 b/dist/Devel-PPPort/parts/base/5004002
index 88ea4015a0..53e055a364 100644
--- a/dist/Devel-PPPort/parts/base/5004002
+++ b/dist/Devel-PPPort/parts/base/5004002
@@ -1 +1,14 @@
5.004002
+PERLDB_ALL # Z added by devel/scanprov
+PERLDBf_INTER # Z added by devel/scanprov
+PERLDBf_LINE # Z added by devel/scanprov
+PERLDBf_NOOPT # Z added by devel/scanprov
+PERLDBf_SINGLE # Z added by devel/scanprov
+PERLDBf_SUB # Z added by devel/scanprov
+PERLDBf_SUBLINE # Z added by devel/scanprov
+PERLDB_INTER # Z added by devel/scanprov
+PERLDB_LINE # Z added by devel/scanprov
+PERLDB_NOOPT # Z added by devel/scanprov
+PERLDB_SINGLE # Z added by devel/scanprov
+PERLDB_SUB # Z added by devel/scanprov
+PERLDB_SUBLINE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5004004 b/dist/Devel-PPPort/parts/base/5004004
index 6437c3e9be..bb93a90ca4 100644
--- a/dist/Devel-PPPort/parts/base/5004004
+++ b/dist/Devel-PPPort/parts/base/5004004
@@ -1,3 +1,4 @@
5.004004
av_reify # F added by devel/scanprov
+LEX_NOTPARSING # Z added by devel/scanprov
magic_set_all_env # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5004005 b/dist/Devel-PPPort/parts/base/5004005
index 5abbf160cd..bfb96431da 100644
--- a/dist/Devel-PPPort/parts/base/5004005
+++ b/dist/Devel-PPPort/parts/base/5004005
@@ -1,10 +1,36 @@
5.004005
+ANYOF_BIT # Z added by devel/scanprov
+AvFILLp # M added by devel/scanprov
+cBINOPo # Z added by devel/scanprov
+cCOPo # Z added by devel/scanprov
+cLISTOPo # Z added by devel/scanprov
+cLOGOPo # Z added by devel/scanprov
+cLOOPo # Z added by devel/scanprov
+cPMOPo # Z added by devel/scanprov
+cPVOPo # Z added by devel/scanprov
+cSVOPo # Z added by devel/scanprov
+cUNOPo # Z added by devel/scanprov
+DEFSV # E
+djSP # Z added by devel/scanprov
do_binmode # E
dTHR # E
ERRSV # E
+find_script # F added by devel/scanprov
+G_NODEBUG # Z added by devel/scanprov
GV_NOINIT # E
+HAS_CHSIZE # K added by devel/scanprov
+HAS_GNULIBC # K added by devel/scanprov
+HINT_RE_TAINT # Z added by devel/scanprov
+magic_getnkeys # F added by devel/scanprov
+magic_getsubstr # F added by devel/scanprov
+magic_getvec # F added by devel/scanprov
newCONSTSUB # E
newSVpvn # E
+PERLDBf_GOTO # Z added by devel/scanprov
+PERLDBf_NONAME # Z added by devel/scanprov
+PERLDB_GOTO # Z added by devel/scanprov
+PERLDB_SUB_NN # Z added by devel/scanprov
+PERL_SCRIPT_MODE # Z added by devel/scanprov
PL_curcop # E
PL_curstash # E
PL_defgv # E
@@ -14,8 +40,16 @@ PL_perl_destruct_level # E
PL_sv_no # E
PL_sv_undef # E
PL_sv_yes # E
+PMf_RETAINT # Z added by devel/scanprov
+PWGECOS # K added by devel/scanprov
+REG_INFTY # Z added by devel/scanprov
save_aelem # E
+SAVE_DEFSV # E
save_helem # E
+SAVEt_AELEM # Z added by devel/scanprov
+SAVEt_HELEM # Z added by devel/scanprov
+Semctl # Z added by devel/scanprov
+Stat_t # Z added by devel/scanprov
sv_catpv_mg # E
sv_catpvn_mg # U
sv_catsv_mg # U
@@ -26,24 +60,5 @@ sv_setpvn_mg # E
sv_setsv_mg # E
sv_setuv_mg # E
sv_usepvn_mg # U
-AvFILLp # M added by devel/scanprov
-DEFSV # M added by devel/scanprov
-PL_compiling # M added by devel/scanprov
-PL_DBsingle # M added by devel/scanprov
-PL_DBsub # M added by devel/scanprov
-PL_debstash # M added by devel/scanprov
-PL_diehook # M added by devel/scanprov
-PL_dirty # M added by devel/scanprov
-PL_dowarn # M added by devel/scanprov
-PL_perldb # M added by devel/scanprov
-PL_stack_base # M added by devel/scanprov
-PL_stack_sp # M added by devel/scanprov
-PL_stdingv # M added by devel/scanprov
-PL_sv_arenaroot # M added by devel/scanprov
-PL_tainted # M added by devel/scanprov
-PL_tainting # M added by devel/scanprov
-SAVE_DEFSV # M added by devel/scanprov
-find_script # F added by devel/scanprov
-magic_getnkeys # F added by devel/scanprov
-magic_getsubstr # F added by devel/scanprov
-magic_getvec # F added by devel/scanprov
+USE_SEMCTL_SEMID_DS # K added by devel/scanprov
+USE_SEMCTL_SEMUN # K added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5005000 b/dist/Devel-PPPort/parts/base/5005000
index a9d989f6e7..e51abe6e67 100644
--- a/dist/Devel-PPPort/parts/base/5005000
+++ b/dist/Devel-PPPort/parts/base/5005000
@@ -1,49 +1,55 @@
5.005000
-cx_dump # U
-debop # U
-debprofdump # U
-DOUBLESIZE # E
-fbm_compile # E (Perl_fbm_compile)
-fbm_instr # E (Perl_fbm_instr)
-get_op_descs # E
-get_op_names # E
-init_stacks # E
-mg_length # E
-mg_size # E
-newHVhv # E
-new_stackinfo # E
-PL_curpad # E
-PL_modglobal # E
-PTRSIZE # E
-regdump # U
-regexec_flags # E
-regnext # E (Perl_regnext)
-runops_debug # E
-runops_standard # E
-save_iv # E (save_iv)
-sv_iv # E
-sv_peek # U
-sv_pvn # E
-sv_true # E
-sv_uv # E
-CPERLscope # M added by devel/scanprov
-END_EXTERN_C # M added by devel/scanprov
-EXTERN_C # M added by devel/scanprov
-NOOP # M added by devel/scanprov
-PL_DBsignal # M added by devel/scanprov
-PL_DBtrace # M added by devel/scanprov
-PL_hexdigit # M added by devel/scanprov
-PL_hints # M added by devel/scanprov
-PL_laststatval # M added by devel/scanprov
-PL_mess_sv # M added by devel/scanprov
-PL_statcache # M added by devel/scanprov
-PL_Sv # M added by devel/scanprov
-PL_Xpv # M added by devel/scanprov
-START_EXTERN_C # M added by devel/scanprov
+abort # Z added by devel/scanprov
+accept # Z added by devel/scanprov
+access # Z added by devel/scanprov
add_data # F added by devel/scanprov
+anchored_offset # Z added by devel/scanprov
+anchored_substr # Z added by devel/scanprov
ao # F added by devel/scanprov
+ARG # Z added by devel/scanprov
+ARG1_LOC # Z added by devel/scanprov
+ARG1_SET # Z added by devel/scanprov
+ARG2_LOC # Z added by devel/scanprov
+ARG2_SET # Z added by devel/scanprov
+ARG_LOC # Z added by devel/scanprov
+ARG__SET # Z added by devel/scanprov
+ARG_SET # Z added by devel/scanprov
+ARG_VALUE # Z added by devel/scanprov
+bind # Z added by devel/scanprov
+BRANCHJ # Z added by devel/scanprov
+CALLREGCOMP # Z added by devel/scanprov
+CALLREGEXEC # Z added by devel/scanprov
+CALLRUNOPS # Z added by devel/scanprov
+chdir # Z added by devel/scanprov
+check_offset_max # Z added by devel/scanprov
+check_offset_min # Z added by devel/scanprov
+check_substr # Z added by devel/scanprov
+chmod # Z added by devel/scanprov
+chsize # Z added by devel/scanprov
+close # Z added by devel/scanprov
+closedir # Z added by devel/scanprov
+COND_BROADCAST # Z added by devel/scanprov
+COND_DESTROY # Z added by devel/scanprov
+COND_INIT # Z added by devel/scanprov
+COND_SIGNAL # Z added by devel/scanprov
+COND_WAIT # Z added by devel/scanprov
+connect # Z added by devel/scanprov
+CPERLarg # Z added by devel/scanprov
+CPERLscope # M added by devel/scanprov
+CURLYM # Z added by devel/scanprov
+CURLYN # Z added by devel/scanprov
+CVf_METHOD # Z added by devel/scanprov
+CvMETHOD # Z added by devel/scanprov
+CvMETHOD_off # Z added by devel/scanprov
+CvMETHOD_on # Z added by devel/scanprov
+cxstack # Z added by devel/scanprov
+cxstack_ix # Z added by devel/scanprov
+cxstack_max # Z added by devel/scanprov
+debop # U
debprof # F added by devel/scanprov
+debprofdump # U
del_sv # F added by devel/scanprov
+DETACH # Z added by devel/scanprov
div128 # F added by devel/scanprov
docatch # F added by devel/scanprov
doform # F added by devel/scanprov
@@ -51,41 +57,509 @@ doparseform # F added by devel/scanprov
dopoptolabel # F added by devel/scanprov
dopoptoloop # F added by devel/scanprov
dopoptosub_at # F added by devel/scanprov
+DOUBLESIZE # K added by devel/scanprov
dumpuntil # F added by devel/scanprov
+dup # Z added by devel/scanprov
+dup2 # Z added by devel/scanprov
+dXSFUNCTION # Z added by devel/scanprov
+END_EXTERN_C # M added by devel/scanprov
+endhostent # Z added by devel/scanprov
+endnetent # Z added by devel/scanprov
+endprotoent # Z added by devel/scanprov
+endservent # Z added by devel/scanprov
+EOS # Z added by devel/scanprov
+EVAL # Z added by devel/scanprov
+execl # Z added by devel/scanprov
+execv # Z added by devel/scanprov
+execvp # Z added by devel/scanprov
+exit # Z added by devel/scanprov
+EXTERN_C # M added by devel/scanprov
+EXTRA_SIZE # Z added by devel/scanprov
+EXTRA_STEP_2ARGS # Z added by devel/scanprov
+fbm_compile # E (Perl_fbm_compile)
+fbm_instr # E (Perl_fbm_instr)
+FILL_ADVANCE_NODE # Z added by devel/scanprov
+FILL_ADVANCE_NODE_ARG # Z added by devel/scanprov
filter_gets # F added by devel/scanprov
find_beginning # F added by devel/scanprov
+float_max_offset # Z added by devel/scanprov
+float_min_offset # Z added by devel/scanprov
+float_substr # Z added by devel/scanprov
+flock # Z added by devel/scanprov
forbid_setid # F added by devel/scanprov
force_version # F added by devel/scanprov
+frewind # Z added by devel/scanprov
+fstat # Z added by devel/scanprov
+getegid # Z added by devel/scanprov
+getenv # Z added by devel/scanprov
+geteuid # Z added by devel/scanprov
+getgid # Z added by devel/scanprov
+gethostbyaddr # Z added by devel/scanprov
+gethostbyname # Z added by devel/scanprov
+gethostent # Z added by devel/scanprov
+gethostname # Z added by devel/scanprov
+getlogin # Z added by devel/scanprov
+getnetbyaddr # Z added by devel/scanprov
+getnetbyname # Z added by devel/scanprov
+getnetent # Z added by devel/scanprov
get_no_modify # F added by devel/scanprov
get_opargs # F added by devel/scanprov
+get_op_descs # E
+get_op_names # E
+getpeername # Z added by devel/scanprov
+getprotobyname # Z added by devel/scanprov
+getprotobynumber # Z added by devel/scanprov
+getprotoent # Z added by devel/scanprov
+getservbyname # Z added by devel/scanprov
+getservbyport # Z added by devel/scanprov
+getservent # Z added by devel/scanprov
+getsockname # Z added by devel/scanprov
+getsockopt # Z added by devel/scanprov
+getuid # Z added by devel/scanprov
+GROUPP # Z added by devel/scanprov
+GRPASSWD # K added by devel/scanprov
+HAS_CSH # K added by devel/scanprov
+HAS_ENDGRENT # K added by devel/scanprov
+HAS_ENDHOSTENT # K added by devel/scanprov
+HAS_ENDNETENT # K added by devel/scanprov
+HAS_ENDPROTOENT # K added by devel/scanprov
+HAS_ENDPWENT # K added by devel/scanprov
+HAS_ENDSERVENT # K added by devel/scanprov
+HAS_GETGRENT # K added by devel/scanprov
+HAS_GETHOSTBYADDR # K added by devel/scanprov
+HAS_GETHOSTBYNAME # K added by devel/scanprov
+HAS_GETHOST_PROTOS # K added by devel/scanprov
+HAS_GETNETBYADDR # K added by devel/scanprov
+HAS_GETNETBYNAME # K added by devel/scanprov
+HAS_GETNETENT # K added by devel/scanprov
+HAS_GETNET_PROTOS # K added by devel/scanprov
+HAS_GETPROTOBYNAME # K added by devel/scanprov
+HAS_GETPROTOBYNUMBER # K added by devel/scanprov
+HAS_GETPROTOENT # K added by devel/scanprov
+HAS_GETPROTO_PROTOS # K added by devel/scanprov
+HAS_GETPWENT # K added by devel/scanprov
+HAS_GETSERVBYNAME # K added by devel/scanprov
+HAS_GETSERVBYPORT # K added by devel/scanprov
+HAS_GETSERVENT # K added by devel/scanprov
+HAS_GETSERV_PROTOS # K added by devel/scanprov
+HAS_LCHOWN # K added by devel/scanprov
+HAS_LONG_DOUBLE # K added by devel/scanprov
+HAS_LONG_LONG # K added by devel/scanprov
+HAS_SCHED_YIELD # K added by devel/scanprov
+HAS_SETGRENT # K added by devel/scanprov
+HAS_SETHOSTENT # K added by devel/scanprov
+HAS_SETNETENT # K added by devel/scanprov
+HAS_SETPROTOENT # K added by devel/scanprov
+HAS_SETPWENT # K added by devel/scanprov
+HAS_SETSERVENT # K added by devel/scanprov
+HAS_SETVBUF # K added by devel/scanprov
+HINT_LOCALIZE_HH # Z added by devel/scanprov
+HINT_NEW_BINARY # Z added by devel/scanprov
+HINT_NEW_FLOAT # Z added by devel/scanprov
+HINT_NEW_INTEGER # Z added by devel/scanprov
+HINT_NEW_RE # Z added by devel/scanprov
+HINT_NEW_STRING # Z added by devel/scanprov
+HINT_RE_EVAL # Z added by devel/scanprov
hsplit # F added by devel/scanprov
+I_ARPA_INET # K added by devel/scanprov
+IFTHEN # Z added by devel/scanprov
incline # F added by devel/scanprov
incpush # F added by devel/scanprov
+inet_addr # Z added by devel/scanprov
+I_NETDB # K added by devel/scanprov
+inet_ntoa # Z added by devel/scanprov
init_debugger # F added by devel/scanprov
init_ids # F added by devel/scanprov
init_interp # F added by devel/scanprov
init_main_stash # F added by devel/scanprov
+init_os_extras # Z added by devel/scanprov
init_perllib # F added by devel/scanprov
init_postdump_symbols # F added by devel/scanprov
init_predump_symbols # F added by devel/scanprov
+init_stacks # E
+INIT_THREADS # Z added by devel/scanprov
intuit_method # F added by devel/scanprov
+ioctl # Z added by devel/scanprov
isa_lookup # F added by devel/scanprov
is_an_int # F added by devel/scanprov
+isatty # Z added by devel/scanprov
+JOIN # Z added by devel/scanprov
+KEY_INIT # Z added by devel/scanprov
+KEY_lock # Z added by devel/scanprov
+KEY_qr # Z added by devel/scanprov
+kill # Z added by devel/scanprov
+killpg # Z added by devel/scanprov
+listen # Z added by devel/scanprov
+LOGICAL # Z added by devel/scanprov
+LONG_DOUBLESIZE # K added by devel/scanprov
+LONGJMP # Z added by devel/scanprov
+longjmp # Z added by devel/scanprov
+LONGLONGSIZE # K added by devel/scanprov
lop # F added by devel/scanprov
+lseek # Z added by devel/scanprov
+lstat # Z added by devel/scanprov
magic_methpack # F added by devel/scanprov
magic_sizepack # F added by devel/scanprov
malloced_size # F added by devel/scanprov
+MALLOC_INIT # Z added by devel/scanprov
+MALLOC_TERM # Z added by devel/scanprov
mess_alloc # F added by devel/scanprov
+mg_length # E
+mg_size # E
missingterm # F added by devel/scanprov
+mkdir # Z added by devel/scanprov
+mktemp # Z added by devel/scanprov
mul128 # F added by devel/scanprov
+MUTEX_DESTROY # Z added by devel/scanprov
+MUTEX_INIT # Z added by devel/scanprov
+MUTEX_LOCK # Z added by devel/scanprov
+MUTEX_UNLOCK # Z added by devel/scanprov
my_exit_jump # F added by devel/scanprov
+NEED_PTHREAD_INIT # Z added by devel/scanprov
+Netdb_hlen_t # K added by devel/scanprov
+Netdb_host_t # K added by devel/scanprov
+Netdb_name_t # K added by devel/scanprov
+Netdb_net_t # K added by devel/scanprov
new_he # F added by devel/scanprov
+newHVhv # E
new_logop # F added by devel/scanprov
+new_stackinfo # E
nextchar # F added by devel/scanprov
+NEXT_OFF # Z added by devel/scanprov
+NODE_ALIGN # Z added by devel/scanprov
+NODE_ALIGN_FILL # Z added by devel/scanprov
+NODE_STEP_REGNODE # Z added by devel/scanprov
+NO_LOCALECONV_MON_THOUSANDS_SEP # Z added by devel/scanprov
+NOOP # E
not_a_number # F added by devel/scanprov
+NOT_IN_PAD # Z added by devel/scanprov
nuke_stacks # F added by devel/scanprov
+OA_BASEOP # Z added by devel/scanprov
+OA_BASEOP_OR_UNOP # Z added by devel/scanprov
+OA_BINOP # Z added by devel/scanprov
+OA_CLASS_MASK # Z added by devel/scanprov
+OA_COP # Z added by devel/scanprov
+OA_FILESTATOP # Z added by devel/scanprov
+OA_LISTOP # Z added by devel/scanprov
+OA_LOGOP # Z added by devel/scanprov
+OA_LOOP # Z added by devel/scanprov
+OA_LOOPEXOP # Z added by devel/scanprov
+OA_PMOP # Z added by devel/scanprov
+OA_SVOP # Z added by devel/scanprov
+OA_UNOP # Z added by devel/scanprov
+open # Z added by devel/scanprov
+opendir # Z added by devel/scanprov
open_script # F added by devel/scanprov
+OPTIMIZED # Z added by devel/scanprov
pad_findlex # F added by devel/scanprov
+pause # Z added by devel/scanprov
+PerlDir_chdir # Z added by devel/scanprov
+PerlDir_close # Z added by devel/scanprov
+PerlDir_mkdir # Z added by devel/scanprov
+PerlDir_open # Z added by devel/scanprov
+PerlDir_read # Z added by devel/scanprov
+PerlDir_rewind # Z added by devel/scanprov
+PerlDir_rmdir # Z added by devel/scanprov
+PerlDir_seek # Z added by devel/scanprov
+PerlDir_tell # Z added by devel/scanprov
+PerlEnv_getenv # Z added by devel/scanprov
+PerlEnv_lib_path # Z added by devel/scanprov
+PerlEnv_putenv # Z added by devel/scanprov
+PerlEnv_sitelib_path # Z added by devel/scanprov
+PerlLIO_access # Z added by devel/scanprov
+PerlLIO_chmod # Z added by devel/scanprov
+PerlLIO_chown # Z added by devel/scanprov
+PerlLIO_chsize # Z added by devel/scanprov
+PerlLIO_close # Z added by devel/scanprov
+PerlLIO_dup # Z added by devel/scanprov
+PerlLIO_dup2 # Z added by devel/scanprov
+PerlLIO_flock # Z added by devel/scanprov
+PerlLIO_fstat # Z added by devel/scanprov
+PerlLIO_ioctl # Z added by devel/scanprov
+PerlLIO_isatty # Z added by devel/scanprov
+PerlLIO_lseek # Z added by devel/scanprov
+PerlLIO_lstat # Z added by devel/scanprov
+PerlLIO_mktemp # Z added by devel/scanprov
+PerlLIO_open # Z added by devel/scanprov
+PerlLIO_open3 # Z added by devel/scanprov
+PerlLIO_read # Z added by devel/scanprov
+PerlLIO_rename # Z added by devel/scanprov
+PerlLIO_setmode # Z added by devel/scanprov
+PerlLIO_stat # Z added by devel/scanprov
+PerlLIO_tmpnam # Z added by devel/scanprov
+PerlLIO_umask # Z added by devel/scanprov
+PerlLIO_unlink # Z added by devel/scanprov
+PerlLIO_utime # Z added by devel/scanprov
+PerlLIO_write # Z added by devel/scanprov
+PerlMem_free # Z added by devel/scanprov
+PerlMem_malloc # Z added by devel/scanprov
+PerlMem_realloc # Z added by devel/scanprov
+PERL_OBJECT_THIS # Z added by devel/scanprov
+PerlProc_abort # Z added by devel/scanprov
+PerlProc_crypt # Z added by devel/scanprov
+PerlProc_execl # Z added by devel/scanprov
+PerlProc_execv # Z added by devel/scanprov
+PerlProc_execvp # Z added by devel/scanprov
+PerlProc__exit # Z added by devel/scanprov
+PerlProc_exit # Z added by devel/scanprov
+PerlProc_getegid # Z added by devel/scanprov
+PerlProc_geteuid # Z added by devel/scanprov
+PerlProc_getgid # Z added by devel/scanprov
+PerlProc_getlogin # Z added by devel/scanprov
+PerlProc_getuid # Z added by devel/scanprov
+PerlProc_kill # Z added by devel/scanprov
+PerlProc_killpg # Z added by devel/scanprov
+PerlProc_longjmp # Z added by devel/scanprov
+PerlProc_pause # Z added by devel/scanprov
+PerlProc_pclose # Z added by devel/scanprov
+PerlProc_pipe # Z added by devel/scanprov
+PerlProc_popen # Z added by devel/scanprov
+PerlProc_setgid # Z added by devel/scanprov
+PerlProc_setjmp # Z added by devel/scanprov
+PerlProc_setuid # Z added by devel/scanprov
+PerlProc_signal # Z added by devel/scanprov
+PerlProc_sleep # Z added by devel/scanprov
+PerlProc_times # Z added by devel/scanprov
+PerlProc_wait # Z added by devel/scanprov
+PerlProc_waitpid # Z added by devel/scanprov
+PERLSI_DESTROY # Z added by devel/scanprov
+PERLSI_DIEHOOK # Z added by devel/scanprov
+PERLSI_MAGIC # Z added by devel/scanprov
+PERLSI_MAIN # Z added by devel/scanprov
+PERLSI_OVERLOAD # Z added by devel/scanprov
+PERLSI_REQUIRE # Z added by devel/scanprov
+PERLSI_SIGNAL # Z added by devel/scanprov
+PERLSI_SORT # Z added by devel/scanprov
+PERLSI_UNDEF # Z added by devel/scanprov
+PERLSI_UNKNOWN # Z added by devel/scanprov
+PERLSI_WARNHOOK # Z added by devel/scanprov
+PerlSock_accept # Z added by devel/scanprov
+PerlSock_bind # Z added by devel/scanprov
+PerlSock_connect # Z added by devel/scanprov
+PerlSock_endhostent # Z added by devel/scanprov
+PerlSock_endnetent # Z added by devel/scanprov
+PerlSock_endprotoent # Z added by devel/scanprov
+PerlSock_endservent # Z added by devel/scanprov
+PerlSock_gethostbyaddr # Z added by devel/scanprov
+PerlSock_gethostbyname # Z added by devel/scanprov
+PerlSock_gethostent # Z added by devel/scanprov
+PerlSock_gethostname # Z added by devel/scanprov
+PerlSock_getnetbyaddr # Z added by devel/scanprov
+PerlSock_getnetbyname # Z added by devel/scanprov
+PerlSock_getnetent # Z added by devel/scanprov
+PerlSock_getpeername # Z added by devel/scanprov
+PerlSock_getprotobyname # Z added by devel/scanprov
+PerlSock_getprotobynumber # Z added by devel/scanprov
+PerlSock_getprotoent # Z added by devel/scanprov
+PerlSock_getservbyname # Z added by devel/scanprov
+PerlSock_getservbyport # Z added by devel/scanprov
+PerlSock_getservent # Z added by devel/scanprov
+PerlSock_getsockname # Z added by devel/scanprov
+PerlSock_getsockopt # Z added by devel/scanprov
+PerlSock_htonl # Z added by devel/scanprov
+PerlSock_htons # Z added by devel/scanprov
+PerlSock_inet_addr # Z added by devel/scanprov
+PerlSock_inet_ntoa # Z added by devel/scanprov
+PerlSock_listen # Z added by devel/scanprov
+PerlSock_ntohl # Z added by devel/scanprov
+PerlSock_ntohs # Z added by devel/scanprov
+PerlSock_recv # Z added by devel/scanprov
+PerlSock_recvfrom # Z added by devel/scanprov
+PerlSock_select # Z added by devel/scanprov
+PerlSock_send # Z added by devel/scanprov
+PerlSock_sendto # Z added by devel/scanprov
+PerlSock_sethostent # Z added by devel/scanprov
+PerlSock_setnetent # Z added by devel/scanprov
+PerlSock_setprotoent # Z added by devel/scanprov
+PerlSock_setservent # Z added by devel/scanprov
+PerlSock_setsockopt # Z added by devel/scanprov
+PerlSock_shutdown # Z added by devel/scanprov
+PerlSock_socket # Z added by devel/scanprov
+PerlSock_socketpair # Z added by devel/scanprov
+PERLVAR # Z added by devel/scanprov
+PERLVARI # Z added by devel/scanprov
+PERLVARIC # Z added by devel/scanprov
+Pid_t # K added by devel/scanprov
+pipe # Z added by devel/scanprov
+PL_amagic_generation # Z added by devel/scanprov
+PL_an # Z added by devel/scanprov
+PL_argvgv # Z added by devel/scanprov
+PL_argvoutgv # Z added by devel/scanprov
+PL_basetime # Z added by devel/scanprov
+PL_beginav # Z added by devel/scanprov
+PL_bodytarget # Z added by devel/scanprov
+PL_chopset # Z added by devel/scanprov
+PL_collation_ix # Z added by devel/scanprov
+PL_collation_name # Z added by devel/scanprov
+PL_collation_standard # Z added by devel/scanprov
+PL_collxfrm_base # Z added by devel/scanprov
+PL_collxfrm_mult # Z added by devel/scanprov
+PL_colors # Z added by devel/scanprov
+PL_colorset # Z added by devel/scanprov
+PL_compcv # Z added by devel/scanprov
+PL_compiling # M added by devel/scanprov
+PL_comppad_name_fill # Z added by devel/scanprov
+PL_comppad_name_floor # Z added by devel/scanprov
+PL_cop_seqmax # Z added by devel/scanprov
+PL_cryptseen # Z added by devel/scanprov
+PL_cshlen # Z added by devel/scanprov
+PL_curcopdb # Z added by devel/scanprov
+PL_curpad # E
+PL_curpm # Z added by devel/scanprov
+PL_curstack # Z added by devel/scanprov
+PL_curstackinfo # Z added by devel/scanprov
+PL_curstname # Z added by devel/scanprov
+PL_dbargs # Z added by devel/scanprov
+PL_DBcv # Z added by devel/scanprov
+PL_DBgv # Z added by devel/scanprov
+PL_DBline # Z added by devel/scanprov
+PL_DBsignal # M added by devel/scanprov
+PL_DBsingle # M added by devel/scanprov
+PL_DBsub # M added by devel/scanprov
+PL_DBtrace # M added by devel/scanprov
+PL_debstash # M added by devel/scanprov
+PL_debug # Z added by devel/scanprov
+PL_defoutgv # Z added by devel/scanprov
+PL_defstash # Z added by devel/scanprov
+PL_delaymagic # Z added by devel/scanprov
+PL_diehook # M added by devel/scanprov
+PL_dirty # M added by devel/scanprov
+PL_doswitches # Z added by devel/scanprov
+PL_dowarn # M added by devel/scanprov
+PL_endav # Z added by devel/scanprov
+PL_envgv # Z added by devel/scanprov
+PL_e_script # Z added by devel/scanprov
+PL_eval_root # Z added by devel/scanprov
+PL_evalseq # Z added by devel/scanprov
+PL_eval_start # Z added by devel/scanprov
+PL_exitlist # Z added by devel/scanprov
+PL_exitlistlen # Z added by devel/scanprov
+PL_fdpid # Z added by devel/scanprov
+PL_filemode # Z added by devel/scanprov
+PL_firstgv # Z added by devel/scanprov
+PL_forkprocess # Z added by devel/scanprov
+PL_formtarget # Z added by devel/scanprov
+PL_generation # Z added by devel/scanprov
+PL_gensym # Z added by devel/scanprov
+PL_globalstash # Z added by devel/scanprov
+PL_hintgv # Z added by devel/scanprov
+PL_hints # M added by devel/scanprov
+PL_hv_fetch_ent_mh # Z added by devel/scanprov
+PL_incgv # Z added by devel/scanprov
+PL_in_clean_all # Z added by devel/scanprov
+PL_in_clean_objs # Z added by devel/scanprov
+PL_in_eval # Z added by devel/scanprov
+PL_initav # Z added by devel/scanprov
+PL_inplace # Z added by devel/scanprov
+PL_lastfd # Z added by devel/scanprov
+PL_lastgotoprobe # Z added by devel/scanprov
+PL_last_in_gv # Z added by devel/scanprov
+PL_laststatval # M added by devel/scanprov
+PL_laststype # Z added by devel/scanprov
+PL_localizing # Z added by devel/scanprov
+PL_localpatches # Z added by devel/scanprov
+PL_main_cv # Z added by devel/scanprov
+PL_main_root # Z added by devel/scanprov
+PL_mainstack # Z added by devel/scanprov
+PL_main_start # Z added by devel/scanprov
+PL_markstack # Z added by devel/scanprov
+PL_markstack_max # Z added by devel/scanprov
+PL_markstack_ptr # Z added by devel/scanprov
+PL_max_intro_pending # Z added by devel/scanprov
+PL_maxo # Z added by devel/scanprov
+PL_maxsysfd # Z added by devel/scanprov
+PL_mess_sv # M added by devel/scanprov
+PL_min_intro_pending # Z added by devel/scanprov
+PL_minus_a # Z added by devel/scanprov
+PL_minus_c # Z added by devel/scanprov
+PL_minus_F # Z added by devel/scanprov
+PL_minus_l # Z added by devel/scanprov
+PL_minus_n # Z added by devel/scanprov
+PL_minus_p # Z added by devel/scanprov
+PL_modcount # Z added by devel/scanprov
+PL_modglobal # E
+PL_nomemok # Z added by devel/scanprov
+PL_numeric_name # Z added by devel/scanprov
+PL_numeric_standard # Z added by devel/scanprov
+PL_oldname # Z added by devel/scanprov
+PL_op # Z added by devel/scanprov
+PL_op_mask # Z added by devel/scanprov
+PL_origalen # Z added by devel/scanprov
+PL_origargc # Z added by devel/scanprov
+PL_origargv # Z added by devel/scanprov
+PL_origenviron # Z added by devel/scanprov
+PL_origfilename # Z added by devel/scanprov
+PL_osname # Z added by devel/scanprov
+PL_padix # Z added by devel/scanprov
+PL_padix_floor # Z added by devel/scanprov
+PL_pad_reset_pending # Z added by devel/scanprov
+PL_patchlevel # Z added by devel/scanprov
+PL_perldb # M added by devel/scanprov
+PL_pidstatus # Z added by devel/scanprov
+PL_preambleav # Z added by devel/scanprov
+PL_profiledata # Z added by devel/scanprov
+PL_replgv # Z added by devel/scanprov
+PL_restartop # Z added by devel/scanprov
+PL_rs # Z added by devel/scanprov
+PL_savestack # Z added by devel/scanprov
+PL_savestack_ix # Z added by devel/scanprov
+PL_savestack_max # Z added by devel/scanprov
+PL_sawampersand # Z added by devel/scanprov
+PL_scopestack # Z added by devel/scanprov
+PL_scopestack_ix # Z added by devel/scanprov
+PL_scopestack_max # Z added by devel/scanprov
+PL_secondgv # Z added by devel/scanprov
+PL_sighandlerp # Z added by devel/scanprov
+PL_sortcop # Z added by devel/scanprov
+PL_sortstash # Z added by devel/scanprov
+PL_splitstr # Z added by devel/scanprov
+PL_stack_base # M added by devel/scanprov
+PL_stack_max # Z added by devel/scanprov
+PL_stack_sp # M added by devel/scanprov
+PL_start_env # Z added by devel/scanprov
+PL_statcache # M added by devel/scanprov
+PL_statgv # Z added by devel/scanprov
+PL_statname # Z added by devel/scanprov
+PL_statusvalue # Z added by devel/scanprov
+PL_statusvalue_vms # Z added by devel/scanprov
+PL_stdingv # M added by devel/scanprov
+PL_strtab # Z added by devel/scanprov
+PL_sub_generation # Z added by devel/scanprov
+PL_subline # Z added by devel/scanprov
+PL_subname # Z added by devel/scanprov
+PL_Sv # E
+PL_sv_arenaroot # M added by devel/scanprov
+PL_sv_count # Z added by devel/scanprov
+PL_sv_root # Z added by devel/scanprov
+PL_sys_intern # Z added by devel/scanprov
+PL_tainted # M added by devel/scanprov
+PL_tainting # M added by devel/scanprov
+PL_tmps_floor # Z added by devel/scanprov
+PL_tmps_ix # Z added by devel/scanprov
+PL_tmps_max # Z added by devel/scanprov
+PL_tmps_stack # Z added by devel/scanprov
+PL_top_env # Z added by devel/scanprov
+PL_toptarget # Z added by devel/scanprov
+PL_unsafe # Z added by devel/scanprov
+PL_warnhook # Z added by devel/scanprov
+PL_Xpv # M added by devel/scanprov
+POPSTACK # Z added by devel/scanprov
+POPSTACK_TO # Z added by devel/scanprov
+pthread_addr_t # Z added by devel/scanprov
+pthread_condattr_default # Z added by devel/scanprov
+PTHREAD_CREATE_JOINABLE # Z added by devel/scanprov
+pthread_key_create # Z added by devel/scanprov
+pthread_mutexattr_default # Z added by devel/scanprov
+pthread_mutexattr_init # Z added by devel/scanprov
+pthread_mutexattr_settype # Z added by devel/scanprov
+PTRSIZE # K added by devel/scanprov
+PUSHSTACK # Z added by devel/scanprov
+PUSHSTACKi # Z added by devel/scanprov
+putenv # Z added by devel/scanprov
+PWPASSWD # K added by devel/scanprov
+read # Z added by devel/scanprov
+readdir # Z added by devel/scanprov
+recvfrom # Z added by devel/scanprov
refto # F added by devel/scanprov
reg # F added by devel/scanprov
reganode # F added by devel/scanprov
@@ -94,6 +568,7 @@ regbranch # F added by devel/scanprov
regclass # F added by devel/scanprov
regcppop # F added by devel/scanprov
regcppush # F added by devel/scanprov
+regexec_flags # F added by devel/scanprov
reginclass # F added by devel/scanprov
reginsert # F added by devel/scanprov
regmatch # F added by devel/scanprov
@@ -102,15 +577,84 @@ regpiece # F added by devel/scanprov
regrepeat # F added by devel/scanprov
regtail # F added by devel/scanprov
regtry # F added by devel/scanprov
+rename # Z added by devel/scanprov
+RENUM # Z added by devel/scanprov
+ReREFCNT_dec # Z added by devel/scanprov
+ReREFCNT_inc # Z added by devel/scanprov
+rewinddir # Z added by devel/scanprov
+REXEC_CHECKED # Z added by devel/scanprov
+REXEC_COPY_STR # Z added by devel/scanprov
+rmdir # Z added by devel/scanprov
+RsRECORD # Z added by devel/scanprov
+runops_debug # F added by devel/scanprov
+RUNOPS_DEFAULT # Z added by devel/scanprov
+runops_standard # F added by devel/scanprov
+RX_MATCH_TAINTED # Z added by devel/scanprov
+RX_MATCH_TAINTED_off # Z added by devel/scanprov
+RX_MATCH_TAINTED_on # Z added by devel/scanprov
+RX_MATCH_TAINTED_set # Z added by devel/scanprov
+SAVEHINTS # Z added by devel/scanprov
save_lines # F added by devel/scanprov
+SAVEOP # Z added by devel/scanprov
save_scalar_at # F added by devel/scanprov
+SAVEt_HINTS # Z added by devel/scanprov
+SAVEt_OP # Z added by devel/scanprov
scalarboolean # F added by devel/scanprov
scan_commit # F added by devel/scanprov
+seekdir # Z added by devel/scanprov
+select # Z added by devel/scanprov
+send # Z added by devel/scanprov
+sendto # Z added by devel/scanprov
+setgid # Z added by devel/scanprov
+sethostent # Z added by devel/scanprov
+setjmp # Z added by devel/scanprov
+setlinebuf # Z added by devel/scanprov
+setmode # Z added by devel/scanprov
+setnetent # Z added by devel/scanprov
+setprotoent # Z added by devel/scanprov
+setservent # Z added by devel/scanprov
+setsockopt # Z added by devel/scanprov
+SET_THR # Z added by devel/scanprov
+setuid # Z added by devel/scanprov
+sharepvn # Z added by devel/scanprov
+shutdown # Z added by devel/scanprov
+signal # Z added by devel/scanprov
+SIZE_ALIGN # Z added by devel/scanprov
+sleep # Z added by devel/scanprov
+socket # Z added by devel/scanprov
+socketpair # Z added by devel/scanprov
+START_EXTERN_C # M added by devel/scanprov
+stat # Z added by devel/scanprov
+STATIC # Z added by devel/scanprov
+stdoutf # Z added by devel/scanprov
study_chunk # F added by devel/scanprov
sublex_done # F added by devel/scanprov
sublex_push # F added by devel/scanprov
sublex_start # F added by devel/scanprov
+SUSPEND # Z added by devel/scanprov
+sv_2pv # Z added by devel/scanprov
+sv_iv # F added by devel/scanprov
+sv_nv # F added by devel/scanprov
+sv_peek # U
+sv_pvn_force # Z added by devel/scanprov
+sv_true # F added by devel/scanprov
sv_unglob # F added by devel/scanprov
+sv_uv # F added by devel/scanprov
+TAIL # Z added by devel/scanprov
+telldir # Z added by devel/scanprov
+THR # Z added by devel/scanprov
+THREAD_RET_TYPE # Z added by devel/scanprov
+times # Z added by devel/scanprov
+tmpnam # Z added by devel/scanprov
tokeq # F added by devel/scanprov
+umask # Z added by devel/scanprov
+unlink # Z added by devel/scanprov
usage # F added by devel/scanprov
+utime # Z added by devel/scanprov
visit # F added by devel/scanprov
+wait # Z added by devel/scanprov
+write # Z added by devel/scanprov
+XSINTERFACE_CVT # Z added by devel/scanprov
+XSINTERFACE_FUNC # Z added by devel/scanprov
+XSINTERFACE_FUNC_SET # Z added by devel/scanprov
+YIELD # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5005002 b/dist/Devel-PPPort/parts/base/5005002
index 35d08b22f8..a15a670aae 100644
--- a/dist/Devel-PPPort/parts/base/5005002
+++ b/dist/Devel-PPPort/parts/base/5005002
@@ -1 +1,2 @@
5.005002
+PERL_CALLCONV # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5005003 b/dist/Devel-PPPort/parts/base/5005003
index 354427dd4e..740c4f6972 100644
--- a/dist/Devel-PPPort/parts/base/5005003
+++ b/dist/Devel-PPPort/parts/base/5005003
@@ -1,5 +1,53 @@
5.005003
+ALLOC_THREAD_KEY # Z added by devel/scanprov
+ASCIIish # Z added by devel/scanprov
+CvEVAL # Z added by devel/scanprov
+CvEVAL_off # Z added by devel/scanprov
+CvEVAL_on # Z added by devel/scanprov
+CvSPECIAL # Z added by devel/scanprov
+CvSPECIAL_off # Z added by devel/scanprov
+CvSPECIAL_on # Z added by devel/scanprov
+CXp_REAL # Z added by devel/scanprov
+CxREALEVAL # Z added by devel/scanprov
+CxTYPE # Z added by devel/scanprov
+CXTYPEMASK # Z added by devel/scanprov
+dofile # F added by devel/scanprov
get_vtbl # E
+IOf_NOLINE # Z added by devel/scanprov
+I_PTHREAD # K added by devel/scanprov
+MUTEX_INIT_NEEDS_MUTEX_ZEROED # Z added by devel/scanprov
POPpx # E
+SAVEGENERICSV # Z added by devel/scanprov
save_generic_svref # E
-dofile # F added by devel/scanprov
+SAVEt_GENERIC_SVREF # Z added by devel/scanprov
+SELECT_MIN_BITS # K added by devel/scanprov
+SET_THREAD_SELF # Z added by devel/scanprov
+SvTIED_mg # Z added by devel/scanprov
+SvTIED_obj # Z added by devel/scanprov
+TOPpx # Z added by devel/scanprov
+USE_STAT_BLOCKS # K added by devel/scanprov
+VTBL_amagic # Z added by devel/scanprov
+VTBL_amagicelem # Z added by devel/scanprov
+VTBL_arylen # Z added by devel/scanprov
+VTBL_bm # Z added by devel/scanprov
+VTBL_collxfrm # Z added by devel/scanprov
+VTBL_dbline # Z added by devel/scanprov
+VTBL_defelem # Z added by devel/scanprov
+VTBL_env # Z added by devel/scanprov
+VTBL_envelem # Z added by devel/scanprov
+VTBL_fm # Z added by devel/scanprov
+VTBL_glob # Z added by devel/scanprov
+VTBL_isa # Z added by devel/scanprov
+VTBL_isaelem # Z added by devel/scanprov
+VTBL_mglob # Z added by devel/scanprov
+VTBL_nkeys # Z added by devel/scanprov
+VTBL_pack # Z added by devel/scanprov
+VTBL_packelem # Z added by devel/scanprov
+VTBL_pos # Z added by devel/scanprov
+VTBL_regexp # Z added by devel/scanprov
+VTBL_sigelem # Z added by devel/scanprov
+VTBL_substr # Z added by devel/scanprov
+VTBL_sv # Z added by devel/scanprov
+VTBL_taint # Z added by devel/scanprov
+VTBL_uvar # Z added by devel/scanprov
+VTBL_vec # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5005004 b/dist/Devel-PPPort/parts/base/5005004
index a63720a402..4b2da7f564 100644
--- a/dist/Devel-PPPort/parts/base/5005004
+++ b/dist/Devel-PPPort/parts/base/5005004
@@ -1,2 +1,6 @@
5.005004
no_bareword_allowed # F added by devel/scanprov
+OPpCONST_STRICT # Z added by devel/scanprov
+OPpENTERSUB_NOPAREN # Z added by devel/scanprov
+PerlEnv_uname # Z added by devel/scanprov
+uname # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5006000 b/dist/Devel-PPPort/parts/base/5006000
index 268579a25d..20ce093b7c 100644
--- a/dist/Devel-PPPort/parts/base/5006000
+++ b/dist/Devel-PPPort/parts/base/5006000
@@ -1,165 +1,655 @@
5.006000
+any_dup # F added by devel/scanprov
+ANYOF_ALNUM # Z added by devel/scanprov
+ANYOF_ALPHA # Z added by devel/scanprov
+ANYOF_ASCII # Z added by devel/scanprov
+ANYOF_BITMAP # Z added by devel/scanprov
+ANYOF_BITMAP_BYTE # Z added by devel/scanprov
+ANYOF_BITMAP_CLEAR # Z added by devel/scanprov
+ANYOF_BITMAP_SET # Z added by devel/scanprov
+ANYOF_BITMAP_SIZE # Z added by devel/scanprov
+ANYOF_BITMAP_TEST # Z added by devel/scanprov
+ANYOF_BITMAP_ZERO # Z added by devel/scanprov
+ANYOF_CNTRL # Z added by devel/scanprov
+ANYOF_DIGIT # Z added by devel/scanprov
+ANYOF_FLAGS # Z added by devel/scanprov
+ANYOF_FLAGS_ALL # Z added by devel/scanprov
+ANYOF_GRAPH # Z added by devel/scanprov
+ANYOF_LOWER # Z added by devel/scanprov
+ANYOF_MAX # Z added by devel/scanprov
+ANYOF_NALNUM # Z added by devel/scanprov
+ANYOF_NALPHA # Z added by devel/scanprov
+ANYOF_NASCII # Z added by devel/scanprov
+ANYOF_NCNTRL # Z added by devel/scanprov
+ANYOF_NDIGIT # Z added by devel/scanprov
+ANYOF_NGRAPH # Z added by devel/scanprov
+ANYOF_NLOWER # Z added by devel/scanprov
+ANYOF_NPRINT # Z added by devel/scanprov
+ANYOF_NPUNCT # Z added by devel/scanprov
+ANYOF_NSPACE # Z added by devel/scanprov
+ANYOF_NUPPER # Z added by devel/scanprov
+ANYOF_NXDIGIT # Z added by devel/scanprov
+ANYOF_PRINT # Z added by devel/scanprov
+ANYOF_PUNCT # Z added by devel/scanprov
+ANYOF_SPACE # Z added by devel/scanprov
+ANYOF_UPPER # Z added by devel/scanprov
+ANYOF_XDIGIT # Z added by devel/scanprov
+apply_attrs # F added by devel/scanprov
aTHX # E
aTHX_ # E
+aTHXo # Z added by devel/scanprov
+aTHXx # Z added by devel/scanprov
+Atof # Z added by devel/scanprov
+Atol # Z added by devel/scanprov
+Atoul # Z added by devel/scanprov
av_delete # E
av_exists # E
+Bit # Z added by devel/scanprov
call_argv # E (perl_call_argv)
call_atexit # E
+CALL_FPTR # Z added by devel/scanprov
call_method # E (perl_call_method)
call_pv # E (perl_call_pv)
+CALLREGFREE # Z added by devel/scanprov
+CALLREG_INTUIT_START # Z added by devel/scanprov
+CALLREG_INTUIT_STRING # Z added by devel/scanprov
call_sv # E (perl_call_sv)
-cast_i32 # E (cast_i32)
-cast_iv # E (cast_iv)
-cast_ulong # E
-cast_uv # E (cast_uv)
+cast_i32 # F added by devel/scanprov
+cast_iv # F added by devel/scanprov
+cast_uv # F added by devel/scanprov
+cBINOPx # Z added by devel/scanprov
+cCOPx # Z added by devel/scanprov
+cGVOP_gv # Z added by devel/scanprov
+cGVOPo_gv # Z added by devel/scanprov
+cGVOPx_gv # Z added by devel/scanprov
+ckDEAD # Z added by devel/scanprov
ckWARN # E
ckWARN2 # E
ckWARN2_d # E
ckWARN_d # E
-CPPLAST # E
-CPPRUN # E
+CLEAR_ARGARRAY # Z added by devel/scanprov
+cLISTOPx # Z added by devel/scanprov
+cLOGOPx # Z added by devel/scanprov
+cLOOPx # Z added by devel/scanprov
+CLUMP # Z added by devel/scanprov
+CLUMP_2IV # Z added by devel/scanprov
+CLUMP_2UV # Z added by devel/scanprov
+CopFILE # E
+CopFILEAV # E
+CopFILEGV # E
+CopFILEGV_set # E
+CopFILE_set # E
+CopFILESV # E
+cop_free # F added by devel/scanprov
+CopLINE # E
+CopLINE_dec # Z added by devel/scanprov
+CopLINE_inc # Z added by devel/scanprov
+CopLINE_set # Z added by devel/scanprov
+CopSTASH # E
+CopSTASH_eq # E
+CopSTASH_ne # Z added by devel/scanprov
+CopSTASHPV # E
+CopSTASH_set # E
+cPADOP # Z added by devel/scanprov
+cPADOPo # Z added by devel/scanprov
+cPADOPx # Z added by devel/scanprov
+cPMOPx # Z added by devel/scanprov
+CPPLAST # K added by devel/scanprov
+CPPRUN # K added by devel/scanprov
+cPVOPx # Z added by devel/scanprov
croak # E (Perl_croak)
+croak_nocontext # U
+cr_textfilter # F added by devel/scanprov
+cSVOPo_sv # Z added by devel/scanprov
+cSVOP_sv # Z added by devel/scanprov
+cSVOPx # Z added by devel/scanprov
+cSVOPx_sv # Z added by devel/scanprov
+cSVOPx_svp # Z added by devel/scanprov
+cUNOPx # Z added by devel/scanprov
+cv_dump # F added by devel/scanprov
+CvFILE # Z added by devel/scanprov
+CVf_LVALUE # Z added by devel/scanprov
+CvLVALUE # Z added by devel/scanprov
+CvLVALUE_off # Z added by devel/scanprov
+CvLVALUE_on # Z added by devel/scanprov
+cx_dup # F added by devel/scanprov
+CxITERVAR # Z added by devel/scanprov
+CxPADLOOP # Z added by devel/scanprov
+CXp_TRYBLOCK # Z added by devel/scanprov
+CXt_FORMAT # Z added by devel/scanprov
+CxTRYBLOCK # Z added by devel/scanprov
die # E (Perl_die)
-do_gv_dump # E
-do_gvgv_dump # E
-do_hv_dump # E
-do_magic_dump # E
-do_op_dump # E
+die_nocontext # U
+dNOOP # E
+do_aexec5 # F added by devel/scanprov
+do_exec3 # F added by devel/scanprov
+do_gv_dump # F added by devel/scanprov
+do_gvgv_dump # F added by devel/scanprov
+do_hv_dump # F added by devel/scanprov
+do_magic_dump # F added by devel/scanprov
+do_oddball # F added by devel/scanprov
+dooneliner # F added by devel/scanprov
+do_op_dump # F added by devel/scanprov
do_open9 # E
-do_pmop_dump # E
-do_sv_dump # E
+do_pmop_dump # F added by devel/scanprov
+do_sv_dump # F added by devel/scanprov
DO_UTF8 # E
+do_vecget # F added by devel/scanprov
+Drand01 # K added by devel/scanprov
+dTHXa # E
+dTHXo # Z added by devel/scanprov
+dTHXx # Z added by devel/scanprov
dump_all # U
dump_eval # U
dump_form # U
-dump_indent # E
+dump_indent # F added by devel/scanprov
dump_packsubs # U
dump_sub # U
-dump_vindent # E
+dump_vindent # F added by devel/scanprov
+dup_attrlist # F added by devel/scanprov
+dXSTARG # M added by devel/scanprov
+EMBEDMYMALLOC # Z added by devel/scanprov
+EVAL_INEVAL # Z added by devel/scanprov
+EVAL_KEEPERR # Z added by devel/scanprov
+EVAL_NULL # Z added by devel/scanprov
eval_pv # E (perl_eval_pv)
eval_sv # E (perl_eval_sv)
+EVAL_WARNONLY # Z added by devel/scanprov
+FBMcf_TAIL # Z added by devel/scanprov
+FBMcf_TAIL_DOLLAR # Z added by devel/scanprov
+FBMcf_TAIL_DOLLARM # Z added by devel/scanprov
+FBMcf_TAIL_Z # Z added by devel/scanprov
+FBMcf_TAIL_z # Z added by devel/scanprov
+FBMrf_MULTILINE # Z added by devel/scanprov
+fcntl # Z added by devel/scanprov
+FFLUSH_NULL # K added by devel/scanprov
+find_byclass # F added by devel/scanprov
form # E (Perl_form)
+form_nocontext # U
+fprintf_nocontext # U
+FSEEKSIZE # Z added by devel/scanprov
+ftruncate # Z added by devel/scanprov
get_av # E (perl_get_av)
get_context # U
get_cv # E (perl_get_cv)
+getenv_len # F added by devel/scanprov
get_hv # E (perl_get_hv)
+get_mstats # F added by devel/scanprov
+getpid # Z added by devel/scanprov
get_ppaddr # E
get_sv # E (perl_get_sv)
+Gid_t_f # K added by devel/scanprov
+Gid_t_sign # K added by devel/scanprov
+Gid_t_size # K added by devel/scanprov
gv_dump # E
-I16SIZE # E
-I16TYPE # E
-I32SIZE # E
-I32TYPE # E
-I8SIZE # E
-I8TYPE # E
+GvFILE # Z added by devel/scanprov
+GvIN_PAD # Z added by devel/scanprov
+GvIN_PAD_off # Z added by devel/scanprov
+GvIN_PAD_on # Z added by devel/scanprov
+G_WARN_ALL_MASK # Z added by devel/scanprov
+G_WARN_ALL_OFF # Z added by devel/scanprov
+G_WARN_ALL_ON # Z added by devel/scanprov
+G_WARN_OFF # Z added by devel/scanprov
+G_WARN_ON # Z added by devel/scanprov
+G_WARN_ONCE # Z added by devel/scanprov
+HAS_ACCESS # K added by devel/scanprov
+HAS_ATOLL # K added by devel/scanprov
+HAS_DRAND48_PROTO # K added by devel/scanprov
+HAS_EACCESS # K added by devel/scanprov
+HAS_FD_SET # K added by devel/scanprov
+HAS_FSEEKO # K added by devel/scanprov
+HAS_FTELLO # K added by devel/scanprov
+HAS_GETCWD # K added by devel/scanprov
+HAS_GETHOSTNAME # K added by devel/scanprov
+HAS_GETSPNAM # K added by devel/scanprov
+HAS_INT64_T # K added by devel/scanprov
+HAS_LDBL_DIG # K added by devel/scanprov
+HAS_LSEEK_PROTO # K added by devel/scanprov
+HAS_MADVISE # K added by devel/scanprov
+HAS_MKDTEMP # K added by devel/scanprov
+HAS_MKSTEMP # K added by devel/scanprov
+HAS_MKSTEMPS # K added by devel/scanprov
+HAS_MMAP # K added by devel/scanprov
+HAS_MPROTECT # K added by devel/scanprov
+HAS_MSYNC # K added by devel/scanprov
+HAS_MUNMAP # K added by devel/scanprov
+HAS_SQRTL # K added by devel/scanprov
+HAS_STRTOLD # K added by devel/scanprov
+HAS_STRTOLL # K added by devel/scanprov
+HAS_STRTOULL # K added by devel/scanprov
+HAS_STRTOUQ # K added by devel/scanprov
+HAS_TELLDIR_PROTO # K added by devel/scanprov
+HINT_FILETEST_ACCESS # Z added by devel/scanprov
+HINT_UTF8 # Z added by devel/scanprov
+hv_magic_check # F added by devel/scanprov
+I16SIZE # K added by devel/scanprov
+I16TYPE # K added by devel/scanprov
+I32SIZE # K added by devel/scanprov
+I32TYPE # K added by devel/scanprov
+I64SIZE # K added by devel/scanprov
+I64TYPE # K added by devel/scanprov
+I8SIZE # K added by devel/scanprov
+I8TYPE # K added by devel/scanprov
+I_INTTYPES # K added by devel/scanprov
+I_NETINET_TCP # K added by devel/scanprov
+init_i18nl10n # F added by devel/scanprov
+init_i18nl14n # F added by devel/scanprov
INT2PTR # E
+IOf_FAKE_DIRP # Z added by devel/scanprov
+I_POLL # K added by devel/scanprov
isALNUMC # E
isALNUMC_LC # E
+isALNUM_LC_utf8 # Z added by devel/scanprov
+isALNUM_uni # Z added by devel/scanprov
+isALNUM_utf8 # Z added by devel/scanprov
+isALPHA_LC_utf8 # Z added by devel/scanprov
+isALPHA_uni # Z added by devel/scanprov
isASCII # E
+isASCII_uni # Z added by devel/scanprov
isCNTRL # E
isCNTRL_LC # E
+isCNTRL_LC_utf8 # Z added by devel/scanprov
+isCNTRL_uni # Z added by devel/scanprov
+isDIGIT_LC_utf8 # Z added by devel/scanprov
+isDIGIT_uni # Z added by devel/scanprov
isGRAPH # E
isGRAPH_LC # E
+isGRAPH_LC_utf8 # Z added by devel/scanprov
+isGRAPH_uni # Z added by devel/scanprov
+I_SHADOW # K added by devel/scanprov
+is_handle_constructor # F added by devel/scanprov
+isIDFIRST_LC_utf8 # Z added by devel/scanprov
+isIDFIRST_uni # Z added by devel/scanprov
+isLEXWARN_off # Z added by devel/scanprov
+isLEXWARN_on # Z added by devel/scanprov
+isLOWER_LC_utf8 # Z added by devel/scanprov
+isLOWER_uni # Z added by devel/scanprov
+IS_NUMERIC_RADIX # Z added by devel/scanprov
+IS_PADCONST # Z added by devel/scanprov
+IS_PADGV # Z added by devel/scanprov
+isPRINT_LC_utf8 # Z added by devel/scanprov
+isPRINT_uni # Z added by devel/scanprov
isPUNCT # E
isPUNCT_LC # E
+isPUNCT_LC_utf8 # Z added by devel/scanprov
+isPUNCT_uni # Z added by devel/scanprov
+isSPACE_LC_utf8 # Z added by devel/scanprov
+isSPACE_uni # Z added by devel/scanprov
+isUPPER_LC_utf8 # Z added by devel/scanprov
+isUPPER_uni # Z added by devel/scanprov
is_utf8_char # U
+isWARN_on # Z added by devel/scanprov
+isWARN_ONCE # Z added by devel/scanprov
isXDIGIT # E
+isXDIGIT_uni # Z added by devel/scanprov
+I_SYSLOG # K added by devel/scanprov
+I_SYSUIO # K added by devel/scanprov
+I_SYSUTSNAME # K added by devel/scanprov
IVdf # E
-IVSIZE # E
-IVTYPE # E
+IV_DIG # Z added by devel/scanprov
+IV_IS_QUAD # Z added by devel/scanprov
+IVSIZE # M added by devel/scanprov
+IVTYPE # M added by devel/scanprov
+JMPENV_BOOTSTRAP # Z added by devel/scanprov
+KEY_CHECK # Z added by devel/scanprov
+KEY_our # Z added by devel/scanprov
+kGVOP_gv # Z added by devel/scanprov
+kPADOP # Z added by devel/scanprov
+kSVOP_sv # Z added by devel/scanprov
+LDBL_DIG # Z added by devel/scanprov
+link # Z added by devel/scanprov
load_module # E
-LSEEKSIZE # E
+load_module_nocontext # U
+lockf # Z added by devel/scanprov
+LSEEKSIZE # K added by devel/scanprov
magic_dump # E
+magic_killbackrefs # F added by devel/scanprov
+magic_regdata_cnt # F added by devel/scanprov
+magic_regdatum_get # F added by devel/scanprov
+MALLOC_OVERHEAD # Z added by devel/scanprov
+MAXPATHLEN # Z added by devel/scanprov
+MEMBER_TO_FPTR # Z added by devel/scanprov
mess # E (Perl_mess)
+mess_nocontext # U
+Mmap_t # K added by devel/scanprov
+mode_from_discipline # F added by devel/scanprov
+MULTIPLICITY # K added by devel/scanprov
my_atof # E
+my_attrs # F added by devel/scanprov
+my_binmode # Z added by devel/scanprov
my_fflush_all # E
+my_kid # F added by devel/scanprov
newANONATTRSUB # E
newATTRSUB # E
+new_collate # F added by devel/scanprov
+new_ctype # F added by devel/scanprov
+new_numeric # F added by devel/scanprov
+newPADOP # F added by devel/scanprov
newSVnv # E (Perl_newSVnv)
newSVpvf # E (Perl_newSVpvf)
+newSVpvf_nocontext # U
newSVuv # E
newXS # E (Perl_newXS)
newXSproto # E
-NVTYPE # E
+NODE_SZ_STR # Z added by devel/scanprov
+NUM2PTR # M added by devel/scanprov
+NV_DIG # Z added by devel/scanprov
+NVTYPE # M added by devel/scanprov
+NV_WITHIN_IV # Z added by devel/scanprov
+NV_WITHIN_UV # Z added by devel/scanprov
+OA_PADOP # Z added by devel/scanprov
+OA_PVOP_OR_SVOP # Z added by devel/scanprov
+OA_TARGLEX # Z added by devel/scanprov
+O_BINARY # Z added by devel/scanprov
+O_CREAT # Z added by devel/scanprov
+OCSHIFT # Z added by devel/scanprov
+Off # Z added by devel/scanprov
+Off_t_size # K added by devel/scanprov
+op_clear # F added by devel/scanprov
op_dump # E
OPpEARLY_CV # E
+OPpENTERSUB_HASTARG # Z added by devel/scanprov
+OPpENTERSUB_INARGS # Z added by devel/scanprov
+OPpEXISTS_SUB # Z added by devel/scanprov
+OPpOPEN_IN_CRLF # Z added by devel/scanprov
+OPpOPEN_IN_RAW # Z added by devel/scanprov
+OPpOPEN_OUT_CRLF # Z added by devel/scanprov
+OPpOPEN_OUT_RAW # Z added by devel/scanprov
+OPpOUR_INTRO # Z added by devel/scanprov
+OPpREFCOUNTED # Z added by devel/scanprov
+OPpSORT_INTEGER # Z added by devel/scanprov
+OPpSORT_NUMERIC # Z added by devel/scanprov
+OPpSORT_REVERSE # Z added by devel/scanprov
+OPpTARGET_MY # Z added by devel/scanprov
+OPpTRANS_FROM_UTF # Z added by devel/scanprov
+OPpTRANS_GROWS # Z added by devel/scanprov
+OPpTRANS_IDENTICAL # Z added by devel/scanprov
+OPpTRANS_TO_UTF # Z added by devel/scanprov
+OpREFCNT_dec # Z added by devel/scanprov
+OpREFCNT_inc # Z added by devel/scanprov
+OP_REFCNT_INIT # Z added by devel/scanprov
+OP_REFCNT_LOCK # Z added by devel/scanprov
+OpREFCNT_set # Z added by devel/scanprov
+OP_REFCNT_TERM # Z added by devel/scanprov
+OP_REFCNT_UNLOCK # Z added by devel/scanprov
+O_RDONLY # Z added by devel/scanprov
+O_RDWR # Z added by devel/scanprov
+O_TEXT # Z added by devel/scanprov
+O_WRONLY # Z added by devel/scanprov
+parse_body # F added by devel/scanprov
+PERL_ALLOC_CHECK # Z added by devel/scanprov
+perl_alloc_using # F added by devel/scanprov
+PERL_API_REVISION # Z added by devel/scanprov
+PERL_API_SUBVERSION # Z added by devel/scanprov
+PERL_API_VERSION # Z added by devel/scanprov
+PERL_ASYNC_CHECK # Z added by devel/scanprov
+Perl_atan2 # Z added by devel/scanprov
+Perl_atof # Z added by devel/scanprov
+Perl_calloc # Z added by devel/scanprov
+PERL_CKDEF # Z added by devel/scanprov
+perl_clone # F added by devel/scanprov
+perl_clone_using # F added by devel/scanprov
+Perl_cos # Z added by devel/scanprov
+PERLDBf_NAMEANON # Z added by devel/scanprov
+PERLDBf_NAMEEVAL # Z added by devel/scanprov
+PERLDB_NAMEANON # Z added by devel/scanprov
+PERLDB_NAMEEVAL # Z added by devel/scanprov
+PerlDir_mapA # Z added by devel/scanprov
+PerlDir_mapW # Z added by devel/scanprov
+PerlEnv_clearenv # Z added by devel/scanprov
+PerlEnv_ENVgetenv # Z added by devel/scanprov
+PerlEnv_ENVgetenv_len # Z added by devel/scanprov
+PerlEnv_free_childdir # Z added by devel/scanprov
+PerlEnv_free_childenv # Z added by devel/scanprov
+PerlEnv_get_childdir # Z added by devel/scanprov
+PerlEnv_get_childenv # Z added by devel/scanprov
+PerlEnv_get_child_IO # Z added by devel/scanprov
+PerlEnv_getenv_len # Z added by devel/scanprov
+PerlEnv_os_id # Z added by devel/scanprov
+PerlEnv_vendorlib_path # Z added by devel/scanprov
+Perl_error_log # Z added by devel/scanprov
PERL_EXIT_EXPECTED # E
+Perl_exp # Z added by devel/scanprov
+PERL_FILE_IS_ABSOLUTE # Z added by devel/scanprov
+Perl_floor # Z added by devel/scanprov
+PERL_FLUSHALL_FOR_CHILD # Z added by devel/scanprov
+Perl_fmod # Z added by devel/scanprov
+Perl_frexp # Z added by devel/scanprov
+PERL_FS_VER_FMT # Z added by devel/scanprov
+PERL_GET_CONTEXT # Z added by devel/scanprov
+PERL_GET_INTERP # Z added by devel/scanprov
+PERL_GET_THX # Z added by devel/scanprov
+PERL_HV_ARRAY_ALLOC_BYTES # Z added by devel/scanprov
+PERL_IMPLICIT_CONTEXT # Z added by devel/scanprov
PerlIO_printf # E
PerlIO_stdoutf # E
+PerlLIO_link # Z added by devel/scanprov
PERL_LOADMOD_DENY # E
PERL_LOADMOD_IMPORT_OPS # E
PERL_LOADMOD_NOIMPORT # E
+Perl_log # Z added by devel/scanprov
+Perl_malloc # Z added by devel/scanprov
+PerlMem_calloc # Z added by devel/scanprov
+PerlMem_free_lock # Z added by devel/scanprov
+PerlMem_get_lock # Z added by devel/scanprov
+PerlMem_is_locked # Z added by devel/scanprov
+PerlMemParse_calloc # Z added by devel/scanprov
+PerlMemParse_free # Z added by devel/scanprov
+PerlMemParse_free_lock # Z added by devel/scanprov
+PerlMemParse_get_lock # Z added by devel/scanprov
+PerlMemParse_is_locked # Z added by devel/scanprov
+PerlMemParse_malloc # Z added by devel/scanprov
+PerlMemParse_realloc # Z added by devel/scanprov
+PerlMemShared_calloc # Z added by devel/scanprov
+PerlMemShared_free # Z added by devel/scanprov
+PerlMemShared_free_lock # Z added by devel/scanprov
+PerlMemShared_get_lock # Z added by devel/scanprov
+PerlMemShared_is_locked # Z added by devel/scanprov
+PerlMemShared_malloc # Z added by devel/scanprov
+PerlMemShared_realloc # Z added by devel/scanprov
+Perl_mfree # Z added by devel/scanprov
+Perl_modf # Z added by devel/scanprov
perl_parse # E (perl_parse)
+PERL_PATCHLEVEL_H_IMPLICIT # Z added by devel/scanprov
+Perl_pow # Z added by devel/scanprov
+PERL_PPDEF # Z added by devel/scanprov
+Perl_pp_i_postdec # Z added by devel/scanprov
+Perl_pp_i_postinc # Z added by devel/scanprov
+Perl_pp_i_predec # Z added by devel/scanprov
+Perl_pp_i_preinc # Z added by devel/scanprov
+PERL_PRIfldbl # K added by devel/scanprov
+PERL_PRIgldbl # K added by devel/scanprov
+PerlProc_DynaLoad # Z added by devel/scanprov
+PerlProc_fork # Z added by devel/scanprov
+PerlProc_GetOSError # Z added by devel/scanprov
+PerlProc_getpid # Z added by devel/scanprov
+Perl_realloc # Z added by devel/scanprov
PERL_REVISION # E
+PERL_SET_CONTEXT # Z added by devel/scanprov
+PERL_SET_INTERP # Z added by devel/scanprov
+PERL_SET_THX # Z added by devel/scanprov
+Perl_sharepvn # Z added by devel/scanprov
+Perl_sin # Z added by devel/scanprov
+PerlSock_closesocket # Z added by devel/scanprov
+Perl_sqrt # Z added by devel/scanprov
+PERL_STACK_OVERFLOW_CHECK # Z added by devel/scanprov
PERL_SUBVERSION # E
PERL_SYS_INIT3 # E
+PERLVARA # Z added by devel/scanprov
PERL_VERSION # E
+PERL_WAIT_FOR_CHILDREN # Z added by devel/scanprov
+PHOSTNAME # K added by devel/scanprov
+PL_argvout_stack # Z added by devel/scanprov
+PL_checkav # Z added by devel/scanprov
+PL_Dir # Z added by devel/scanprov
+PL_dumpindent # Z added by devel/scanprov
+PL_efloatbuf # Z added by devel/scanprov
+PL_efloatsize # Z added by devel/scanprov
+PL_Env # Z added by devel/scanprov
+PL_errors # Z added by devel/scanprov
PL_exit_flags # E
+PL_LIO # Z added by devel/scanprov
+PL_Mem # Z added by devel/scanprov
+PL_MemParse # Z added by devel/scanprov
+PL_MemShared # Z added by devel/scanprov
+PL_Proc # Z added by devel/scanprov
+PL_psig_name # Z added by devel/scanprov
+PL_psig_ptr # Z added by devel/scanprov
+PL_ptr_table # Z added by devel/scanprov
+PL_reg_curpm # Z added by devel/scanprov
PL_runops # E
+PL_Sock # Z added by devel/scanprov
+PL_srand_called # Z added by devel/scanprov
+PL_stderrgv # Z added by devel/scanprov
+PL_StdIO # Z added by devel/scanprov
+PL_utf8_mark # Z added by devel/scanprov
+PL_utf8_tolower # Z added by devel/scanprov
+PL_utf8_totitle # Z added by devel/scanprov
+PL_utf8_toupper # Z added by devel/scanprov
+PL_watchaddr # Z added by devel/scanprov
+PL_watchok # Z added by devel/scanprov
pmop_dump # E
POPn # E
POPul # E
+pthread_attr_init # Z added by devel/scanprov
+PTHREAD_ATTR_SETDETACHSTATE # Z added by devel/scanprov
+PTHREAD_CREATE # Z added by devel/scanprov
+PTHREAD_GETSPECIFIC_INT # Z added by devel/scanprov
pTHX # E
+pTHX_1 # Z added by devel/scanprov
+pTHX_2 # Z added by devel/scanprov
+pTHX_3 # Z added by devel/scanprov
+pTHX_4 # Z added by devel/scanprov
+pTHXo # Z added by devel/scanprov
+pTHXx # Z added by devel/scanprov
PTR2IV # E
PTR2NV # E
PTR2UV # E
+PTRV # M added by devel/scanprov
PUSHn # E
pv_display # E
-reginitcolors # E
+pWARN_ALL # Z added by devel/scanprov
+pWARN_NONE # Z added by devel/scanprov
+pWARN_STD # Z added by devel/scanprov
+qerror # F added by devel/scanprov
+QUAD_IS_INT # K added by devel/scanprov
+QUAD_IS_INT64_T # K added by devel/scanprov
+QUAD_IS_LONG # K added by devel/scanprov
+QUAD_IS_LONG_LONG # K added by devel/scanprov
+QUADKIND # K added by devel/scanprov
+Rand_seed_t # K added by devel/scanprov
+recv # Z added by devel/scanprov
+REG_ANY # Z added by devel/scanprov
+reginitcolors # F added by devel/scanprov
+REG_MAGIC # Z added by devel/scanprov
+re_intuit_start # F added by devel/scanprov
+re_intuit_string # F added by devel/scanprov
+report_uninit # F added by devel/scanprov
require_pv # E (perl_require_pv)
+REXEC_IGNOREPOS # Z added by devel/scanprov
+REXEC_NOT_FIRST # Z added by devel/scanprov
+REXEC_SCREAM # Z added by devel/scanprov
+run_body # F added by devel/scanprov
+RX_MATCH_COPIED # Z added by devel/scanprov
+RX_MATCH_COPIED_off # Z added by devel/scanprov
+RX_MATCH_COPIED_on # Z added by devel/scanprov
+RX_MATCH_COPIED_set # Z added by devel/scanprov
safesyscalloc # U
safesysfree # U
safesysmalloc # U
safesysrealloc # U
save_alloc # E
-save_destructor # E (Perl_save_destructor)
-save_destructor_x # E
-save_I8 # E
-save_re_context # E
+SAVECOMPPAD # Z added by devel/scanprov
+SAVECOPFILE # Z added by devel/scanprov
+SAVECOPLINE # Z added by devel/scanprov
+SAVEDESTRUCTOR # E
+save_destructor_x # F added by devel/scanprov
+SAVEDESTRUCTOR_X # Z added by devel/scanprov
+save_I8 # F added by devel/scanprov
+SAVEI8 # E
+save_re_context # F added by devel/scanprov
+SAVEt_ALLOC # Z added by devel/scanprov
+SAVEt_COMPPAD # Z added by devel/scanprov
+SAVEt_DESTRUCTOR_X # Z added by devel/scanprov
+SAVEt_I8 # Z added by devel/scanprov
+SAVEt_VPTR # Z added by devel/scanprov
save_vptr # E
+SAVEVPTR # Z added by devel/scanprov
+sb_rflags # Z added by devel/scanprov
+scalar_mod_type # F added by devel/scanprov
scan_bin # E
scan_hex # E (Perl_scan_hex)
scan_oct # E (Perl_scan_oct)
+SCHED_YIELD # K added by devel/scanprov
+seedDrand01 # K added by devel/scanprov
+semun # Z added by devel/scanprov
set_context # U
+SET_MARK_OFFSET # Z added by devel/scanprov
+set_numeric_radix # F added by devel/scanprov
+set_numeric_standard # F added by devel/scanprov
+S_IEXEC # Z added by devel/scanprov
+simplify_sort # F added by devel/scanprov
+S_IREAD # Z added by devel/scanprov
+S_IRWXG # Z added by devel/scanprov
+S_IRWXO # Z added by devel/scanprov
+S_IRWXU # Z added by devel/scanprov
+SITELIB_STEM # K added by devel/scanprov
+S_IWRITE # Z added by devel/scanprov
+Size_t_size # K added by devel/scanprov
+Slab_Alloc # F added by devel/scanprov
+Sock_size_t # K added by devel/scanprov
+specialWARN # Z added by devel/scanprov
+SSNEW # Z added by devel/scanprov
+SSNEWa # Z added by devel/scanprov
+SSPOPDXPTR # Z added by devel/scanprov
+SSPTR # Z added by devel/scanprov
+SSPUSHDXPTR # Z added by devel/scanprov
+STDIO_PTR_LVALUE # K added by devel/scanprov
+STDIO_STREAM_ARRAY # K added by devel/scanprov
+STRING # Z added by devel/scanprov
+STR_LEN # Z added by devel/scanprov
+STR_SZ # Z added by devel/scanprov
Strtol # E
+strtoll # Z added by devel/scanprov
Strtoul # E
-str_to_version # E
+strtoull # Z added by devel/scanprov
+str_to_version # F added by devel/scanprov
sv_2pvbyte # U
-sv_2pvbyte_nolen # U
-sv_2pv_nolen # U
sv_2pvutf8 # U
-sv_2pvutf8_nolen # U
sv_catpvf # E (Perl_sv_catpvf)
sv_catpvf_mg # E (Perl_sv_catpvf_mg)
+sv_catpvf_mg_nocontext # U
+sv_catpvf_nocontext # U
+sv_del_backref # F added by devel/scanprov
SVf # E
+SVf_IVisUV # Z added by devel/scanprov
sv_force_normal # U
SVf_UTF8 # E
SvIOK_notUV # E
SvIOK_only_UV # E
SvIOK_UV # E
sv_len_utf8 # E
-sv_nv # E (Perl_sv_nv)
SvNV # E
SvNV_set # E
SvNVX # E
SvNVx # E
+SvOK_off_exc_UV # Z added by devel/scanprov
+SVpad_OUR # Z added by devel/scanprov
SvPOK_only_UTF8 # E
sv_pos_b2u # E
sv_pos_u2b # E
-sv_pv # U
-sv_pvbyte # U
+SVprv_WEAKREF # Z added by devel/scanprov
SvPVbyte # E
-sv_pvbyten # E
-sv_pvbyten_force # E
+sv_pvbyten # F added by devel/scanprov
+sv_pvbyten_force # F added by devel/scanprov
SvPVbyte_nolen # E
SvPVbytex # E
SvPVbytex_force # E
SvPV_nolen # E
-sv_pvutf8 # U
SvPVutf8 # E
SvPVutf8_force # E
-sv_pvutf8n # E
-sv_pvutf8n_force # E
+sv_pvutf8n # F added by devel/scanprov
+sv_pvutf8n_force # F added by devel/scanprov
SvPVutf8_nolen # E
SvPVutf8x # E
SvPVutf8x_force # E
@@ -168,6 +658,8 @@ sv_setnv # E (Perl_sv_setnv)
sv_setnv_mg # E (Perl_sv_setnv_mg)
sv_setpvf # E (Perl_sv_setpvf)
sv_setpvf_mg # E (Perl_sv_setpvf_mg)
+sv_setpvf_mg_nocontext # U
+sv_setpvf_nocontext # U
sv_setref_nv # E (Perl_sv_setref_nv)
SvUTF8 # E
sv_utf8_decode # E
@@ -179,18 +671,53 @@ sv_vcatpvf # E
sv_vcatpvf_mg # E
sv_vsetpvf # E
sv_vsetpvf_mg # E
-U16SIZE # E
-U16TYPE # E
-U32SIZE # E
-U32TYPE # E
-U8SIZE # E
-U8TYPE # E
+SvWEAKREF # Z added by devel/scanprov
+SvWEAKREF_off # Z added by devel/scanprov
+SvWEAKREF_on # Z added by devel/scanprov
+sys_intern_dup # F added by devel/scanprov
+toLOWER_uni # Z added by devel/scanprov
+TOPul # Z added by devel/scanprov
+toTITLE_uni # Z added by devel/scanprov
+to_uni_lower # F added by devel/scanprov
+to_uni_title # F added by devel/scanprov
+to_uni_upper # F added by devel/scanprov
+toUPPER_uni # Z added by devel/scanprov
+truncate # Z added by devel/scanprov
+tryAMAGICunDEREF # Z added by devel/scanprov
+U16SIZE # K added by devel/scanprov
+U16TYPE # K added by devel/scanprov
+U32SIZE # K added by devel/scanprov
+U32TYPE # K added by devel/scanprov
+U64SIZE # K added by devel/scanprov
+U64TYPE # K added by devel/scanprov
+U8SIZE # K added by devel/scanprov
+U8TYPE # K added by devel/scanprov
+Uid_t_f # K added by devel/scanprov
+Uid_t_sign # K added by devel/scanprov
+Uid_t_size # K added by devel/scanprov
+UINT32_MIN # Z added by devel/scanprov
+UINT64_MIN # Z added by devel/scanprov
+Uquad_t # K added by devel/scanprov
+USE_64_BIT_ALL # K added by devel/scanprov
+USE_64_BIT_INT # K added by devel/scanprov
+USE_64_BIT_RAWIO # Z added by devel/scanprov
+USE_64_BIT_STDIO # Z added by devel/scanprov
+USE_LARGE_FILES # K added by devel/scanprov
+USEMYBINMODE # Z added by devel/scanprov
+USE_STDIO_BASE # K added by devel/scanprov
+USE_STDIO_PTR # K added by devel/scanprov
+USE_THREADS # K added by devel/scanprov
+utf16_to_utf8 # F added by devel/scanprov
+utf16_to_utf8_reversed # F added by devel/scanprov
utf8_distance # E
utf8_hop # U
+UTF8_MAXLEN # Z added by devel/scanprov
UTF8SKIP # E
+UV_DIG # Z added by devel/scanprov
+UV_IS_QUAD # Z added by devel/scanprov
UVof # E
-UVSIZE # E
-UVTYPE # E
+UVSIZE # M added by devel/scanprov
+UVTYPE # M added by devel/scanprov
UVuf # E
UVxf # E
vcroak # E
@@ -198,10 +725,14 @@ vform # E
vload_module # E
vmess # E
vnewSVpvf # E
+VTBL_regdata # Z added by devel/scanprov
+VTBL_regdatum # Z added by devel/scanprov
+vTHX # Z added by devel/scanprov
vwarn # E
vwarner # E
warn # E (Perl_warn)
WARN_ALL # E
+WARN_ALLstring # Z added by devel/scanprov
WARN_AMBIGUOUS # E
WARN_BAREWORD # E
WARN_CLOSED # E
@@ -210,6 +741,7 @@ WARN_DEBUGGING # E
WARN_DEPRECATED # E
WARN_DIGIT # E
warner # E
+warner_nocontext # U
WARN_EXEC # E
WARN_EXITING # E
WARN_GLOB # E
@@ -219,6 +751,8 @@ WARN_IO # E
WARN_MALLOC # E
WARN_MISC # E
WARN_NEWLINE # E
+warn_nocontext # U
+WARN_NONEstring # Z added by devel/scanprov
WARN_NUMERIC # E
WARN_ONCE # E
WARN_OVERFLOW # E
@@ -237,6 +771,7 @@ WARN_RESERVED # E
WARN_SEMICOLON # E
WARN_SEVERE # E
WARN_SIGNAL # E
+WARNsize # Z added by devel/scanprov
WARN_SUBSTR # E
WARN_SYNTAX # E
WARN_TAINT # E
@@ -247,90 +782,9 @@ WARN_UNTIE # E
WARN_UTF8 # E
WARN_VOID # E
XPUSHn # E
+XPUSHundef # Z added by devel/scanprov
+XSprePUSH # M added by devel/scanprov
XSRETURN_NV # E
+XSRETURN_PVN # Z added by devel/scanprov
XST_mNV # E
-CopFILE # M added by devel/scanprov
-CopFILEAV # M added by devel/scanprov
-CopFILEGV # M added by devel/scanprov
-CopFILEGV_set # M added by devel/scanprov
-CopFILE_set # M added by devel/scanprov
-CopFILESV # M added by devel/scanprov
-CopSTASH # M added by devel/scanprov
-CopSTASH_eq # M added by devel/scanprov
-CopSTASHPV # M added by devel/scanprov
-CopSTASHPV_set # M added by devel/scanprov
-CopSTASH_set # M added by devel/scanprov
-croak_nocontext # M added by devel/scanprov
-dNOOP # M added by devel/scanprov
-dTHXa # M added by devel/scanprov
-dTHXoa # M added by devel/scanprov
-dXSTARG # M added by devel/scanprov
-mess_nocontext # M added by devel/scanprov
-NUM2PTR # M added by devel/scanprov
-PL_no_modify # M added by devel/scanprov
-PL_ppaddr # M added by devel/scanprov
-pTHX_ # M added by devel/scanprov
-PTRV # M added by devel/scanprov
-sv_catpvf_mg_nocontext # M added by devel/scanprov
-sv_setpvf_mg_nocontext # M added by devel/scanprov
-warn_nocontext # M added by devel/scanprov
-XSprePUSH # M added by devel/scanprov
-any_dup # F added by devel/scanprov
-apply_attrs # F added by devel/scanprov
-cop_free # F added by devel/scanprov
-cr_textfilter # F added by devel/scanprov
-cv_dump # F added by devel/scanprov
-die_nocontext # F added by devel/scanprov
-do_aexec5 # F added by devel/scanprov
-do_exec3 # F added by devel/scanprov
-do_oddball # F added by devel/scanprov
-dooneliner # F added by devel/scanprov
-do_vecget # F added by devel/scanprov
-dup_attrlist # F added by devel/scanprov
-find_byclass # F added by devel/scanprov
-form_nocontext # F added by devel/scanprov
-fprintf_nocontext # F added by devel/scanprov
-getenv_len # F added by devel/scanprov
-get_mstats # F added by devel/scanprov
-GetVars # F added by devel/scanprov
-hv_magic_check # F added by devel/scanprov
-init_i18nl10n # F added by devel/scanprov
-init_i18nl14n # F added by devel/scanprov
-is_handle_constructor # F added by devel/scanprov
-load_module_nocontext # F added by devel/scanprov
-magic_killbackrefs # F added by devel/scanprov
-magic_regdata_cnt # F added by devel/scanprov
-magic_regdatum_get # F added by devel/scanprov
-mode_from_discipline # F added by devel/scanprov
-my_attrs # F added by devel/scanprov
-my_kid # F added by devel/scanprov
-new_collate # F added by devel/scanprov
-new_ctype # F added by devel/scanprov
-new_numeric # F added by devel/scanprov
-newPADOP # F added by devel/scanprov
-newSVpvf_nocontext # F added by devel/scanprov
-op_clear # F added by devel/scanprov
-parse_body # F added by devel/scanprov
-perl_alloc_using # F added by devel/scanprov
-perl_clone # F added by devel/scanprov
-perl_clone_using # F added by devel/scanprov
-qerror # F added by devel/scanprov
-re_intuit_start # F added by devel/scanprov
-re_intuit_string # F added by devel/scanprov
-report_uninit # F added by devel/scanprov
-run_body # F added by devel/scanprov
-scalar_mod_type # F added by devel/scanprov
-set_numeric_radix # F added by devel/scanprov
-set_numeric_standard # F added by devel/scanprov
-simplify_sort # F added by devel/scanprov
-Slab_Alloc # F added by devel/scanprov
-sv_catpvf_nocontext # F added by devel/scanprov
-sv_del_backref # F added by devel/scanprov
-sv_setpvf_nocontext # F added by devel/scanprov
-sys_intern_dup # F added by devel/scanprov
-to_uni_lower # F added by devel/scanprov
-to_uni_title # F added by devel/scanprov
-to_uni_upper # F added by devel/scanprov
-utf16_to_utf8 # F added by devel/scanprov
-utf16_to_utf8_reversed # F added by devel/scanprov
-warner_nocontext # F added by devel/scanprov
+XST_mPVN # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5006001 b/dist/Devel-PPPort/parts/base/5006001
index 6205d50e02..8e00ccdf9c 100644
--- a/dist/Devel-PPPort/parts/base/5006001
+++ b/dist/Devel-PPPort/parts/base/5006001
@@ -1,27 +1,67 @@
5.006001
+ANYOF_BLANK # Z added by devel/scanprov
+ANYOF_NBLANK # Z added by devel/scanprov
apply_attrs_string # U
bytes_to_utf8 # U
+do_trans_complex # F added by devel/scanprov
+do_trans_count # F added by devel/scanprov
+do_trans_simple # F added by devel/scanprov
+dTHXoa # U
+find_in_my_stash # F added by devel/scanprov
+FREE_THREAD_KEY # Z added by devel/scanprov
G_METHOD # E
gv_efullname4 # U
gv_fullname4 # U
+HAS_FREXPL # K added by devel/scanprov
+HAS_ISNAN # K added by devel/scanprov
+HAS_ISNANL # K added by devel/scanprov
+HAS_MODFL # K added by devel/scanprov
+IoANY # Z added by devel/scanprov
+IoTYPE_APPEND # Z added by devel/scanprov
+IoTYPE_CLOSED # Z added by devel/scanprov
+IoTYPE_PIPE # Z added by devel/scanprov
+IoTYPE_RDONLY # Z added by devel/scanprov
+IoTYPE_RDWR # Z added by devel/scanprov
+IoTYPE_SOCKET # Z added by devel/scanprov
+IoTYPE_STD # Z added by devel/scanprov
+IoTYPE_WRONLY # Z added by devel/scanprov
isBLANK # U
isBLANK_LC # U
+isBLANK_LC_uni # Z added by devel/scanprov
+isBLANK_LC_utf8 # Z added by devel/scanprov
+isBLANK_uni # Z added by devel/scanprov
isPSXSPC # U
isPSXSPC_LC # U
+isPSXSPC_LC_utf8 # Z added by devel/scanprov
+isPSXSPC_uni # Z added by devel/scanprov
is_utf8_string # U
+isWARNf_on # Z added by devel/scanprov
+magic_regdatum_set # F added by devel/scanprov
NVef # E
NVff # E
NVgf # E
-NVSIZE # E
+NV_MANT_DIG # Z added by devel/scanprov
+NV_MAX # Z added by devel/scanprov
+NV_MIN # Z added by devel/scanprov
+NV_PRESERVES_UV_BITS # K added by devel/scanprov
+NVSIZE # K added by devel/scanprov
+OP_IS_FILETEST # Z added by devel/scanprov
+OP_IS_SOCKET # Z added by devel/scanprov
+Perl_atof2 # Z added by devel/scanprov
+Perl_isnan # Z added by devel/scanprov
+PERL_PRIeldbl # K added by devel/scanprov
+PERL_SCNfldbl # K added by devel/scanprov
+PL_beginav_save # Z added by devel/scanprov
+report_evil_fh # F added by devel/scanprov
+SAVECOPFILE_FREE # Z added by devel/scanprov
+SAVECOPSTASH_FREE # Z added by devel/scanprov
+SAVEGENERICPV # Z added by devel/scanprov
save_generic_pvref # U
+SAVEt_GENERIC_PVREF # Z added by devel/scanprov
SvGAMAGIC # U
-utf8_to_bytes # U
-do_trans_complex # F added by devel/scanprov
-do_trans_count # F added by devel/scanprov
-do_trans_simple # F added by devel/scanprov
-find_in_my_stash # F added by devel/scanprov
-magic_regdatum_set # F added by devel/scanprov
-report_evil_fh # F added by devel/scanprov
swallow_bom # F added by devel/scanprov
sys_intern_clear # F added by devel/scanprov
sys_intern_init # F added by devel/scanprov
+utf8_to_bytes # U
+xio_any # Z added by devel/scanprov
+xio_dirp # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5007000 b/dist/Devel-PPPort/parts/base/5007000
index 49d08465db..9a969e5b02 100644
--- a/dist/Devel-PPPort/parts/base/5007000
+++ b/dist/Devel-PPPort/parts/base/5007000
@@ -1 +1,2 @@
5.007000
+NO_LOCALE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5007001 b/dist/Devel-PPPort/parts/base/5007001
index 14a9a2763f..bd9e3c0e22 100644
--- a/dist/Devel-PPPort/parts/base/5007001
+++ b/dist/Devel-PPPort/parts/base/5007001
@@ -1,8 +1,78 @@
5.007001
+ASCII_TO_NATIVE # Z added by devel/scanprov
bytes_from_utf8 # U
-despatch_signals # U
+CLONEf_COPY_STACKS # Z added by devel/scanprov
+CLONEf_KEEP_PTR_TABLE # Z added by devel/scanprov
+CvCONST # Z added by devel/scanprov
+CvCONST_off # Z added by devel/scanprov
+CvCONST_on # Z added by devel/scanprov
+CVf_CONST # Z added by devel/scanprov
+DEBUG_c_FLAG # Z added by devel/scanprov
+DEBUG_c_TEST # Z added by devel/scanprov
+DEBUG_DB_RECURSE_FLAG # Z added by devel/scanprov
+DEBUG_D_FLAG # Z added by devel/scanprov
+DEBUG_D_TEST # Z added by devel/scanprov
+DEBUG_f_FLAG # Z added by devel/scanprov
+DEBUG_f_TEST # Z added by devel/scanprov
+DEBUG_l_FLAG # Z added by devel/scanprov
+DEBUG_l_TEST # Z added by devel/scanprov
+DEBUG_MASK # Z added by devel/scanprov
+DEBUG_m_FLAG # Z added by devel/scanprov
+DEBUG_m_TEST # Z added by devel/scanprov
+DEBUG_o_FLAG # Z added by devel/scanprov
+DEBUG_o_TEST # Z added by devel/scanprov
+DEBUG_P_FLAG # Z added by devel/scanprov
+DEBUG_p_FLAG # Z added by devel/scanprov
+DEBUG_P_TEST # Z added by devel/scanprov
+DEBUG_p_TEST # Z added by devel/scanprov
+DEBUG_R # Z added by devel/scanprov
+DEBUG_R_FLAG # Z added by devel/scanprov
+DEBUG_r_FLAG # Z added by devel/scanprov
+DEBUG_R_TEST # Z added by devel/scanprov
+DEBUG_r_TEST # Z added by devel/scanprov
+DEBUG_s_FLAG # Z added by devel/scanprov
+DEBUG_s_TEST # Z added by devel/scanprov
+DEBUG_T # Z added by devel/scanprov
+DEBUG_T_FLAG # Z added by devel/scanprov
+DEBUG_t_FLAG # Z added by devel/scanprov
+DEBUG_TOP_FLAG # Z added by devel/scanprov
+DEBUG_T_TEST # Z added by devel/scanprov
+DEBUG_t_TEST # Z added by devel/scanprov
+DEBUG_u_FLAG # Z added by devel/scanprov
+DEBUG_u_TEST # Z added by devel/scanprov
+DEBUG_X_FLAG # Z added by devel/scanprov
+DEBUG_x_FLAG # Z added by devel/scanprov
+DEBUG_X_TEST # Z added by devel/scanprov
+DEBUG_x_TEST # Z added by devel/scanprov
+despatch_signals # F added by devel/scanprov
do_openn # U
+EVAL_INREQUIRE # Z added by devel/scanprov
+EXEC_ARGV_CAST # Z added by devel/scanprov
+expect_number # F added by devel/scanprov
+FCNTL_CAN_LOCK # K added by devel/scanprov
+FF_0DECIMAL # Z added by devel/scanprov
gv_handler # U
+HAS_FSYNC # K added by devel/scanprov
+HAS_GETITIMER # K added by devel/scanprov
+HAS_GETPAGESIZE # K added by devel/scanprov
+HAS_READV # K added by devel/scanprov
+HAS_RECVMSG # K added by devel/scanprov
+HAS_SBRK_PROTO # K added by devel/scanprov
+HAS_SENDMSG # K added by devel/scanprov
+HAS_SETITIMER # K added by devel/scanprov
+HAS_SIGPROCMASK # K added by devel/scanprov
+HAS_SOCKATMARK # K added by devel/scanprov
+HAS_STRTOQ # K added by devel/scanprov
+HAS_STRUCT_CMSGHDR # K added by devel/scanprov
+HAS_STRUCT_MSGHDR # K added by devel/scanprov
+HAS_UALARM # K added by devel/scanprov
+HAS_USLEEP # K added by devel/scanprov
+HAS_WRITEV # K added by devel/scanprov
+HeKLEN_UTF8 # Z added by devel/scanprov
+HEK_UTF8 # Z added by devel/scanprov
+HeKUTF8 # Z added by devel/scanprov
+INCLUDE_PROTOTYPES # Z added by devel/scanprov
+INT64_C # Z added by devel/scanprov
isALNUM_LC_uvchr # U
isALPHA_LC_uvchr # U
isCNTRL_LC_uvchr # U
@@ -15,39 +85,175 @@ isPRINT_LC_uvchr # U
isPUNCT_LC_uvchr # U
isSPACE_LC_uvchr # U
isUPPER_LC_uvchr # U
+LONG_DOUBLE_EQUALS_DOUBLE # Z added by devel/scanprov
+LVRET # Z added by devel/scanprov
+magic_freeovrld # F added by devel/scanprov
my_popen_list # U
+NATIVE_TO_ASCII # Z added by devel/scanprov
NATIVE_TO_UNI # U
+NATIVE_TO_UTF # Z added by devel/scanprov
+NEED_VA_COPY # K added by devel/scanprov
newSVpvn_share # U
+OPpMAYBE_LVSUB # Z added by devel/scanprov
PerlIO_apply_layers # U
+PerlIOArg # Z added by devel/scanprov
+PerlIOBase # Z added by devel/scanprov
PerlIO_binmode # U
PerlIO_debug # U
+PERLIO_F_APPEND # Z added by devel/scanprov
+PERLIO_F_CANREAD # Z added by devel/scanprov
+PERLIO_F_CANWRITE # Z added by devel/scanprov
+PERLIO_F_CRLF # Z added by devel/scanprov
+PERLIO_F_EOF # Z added by devel/scanprov
+PERLIO_F_ERROR # Z added by devel/scanprov
+PERLIO_F_FASTGETS # Z added by devel/scanprov
+PERLIO_F_LINEBUF # Z added by devel/scanprov
+PERLIO_F_OPEN # Z added by devel/scanprov
+PERLIO_F_RDBUF # Z added by devel/scanprov
+PERLIO_F_TEMP # Z added by devel/scanprov
+PERLIO_F_TRUNCATE # Z added by devel/scanprov
+PERLIO_F_TTY # Z added by devel/scanprov
+PERLIO_F_UNBUF # Z added by devel/scanprov
+PERLIO_F_UTF8 # Z added by devel/scanprov
+PERLIO_F_WRBUF # Z added by devel/scanprov
+PERLIO_K_BUFFERED # Z added by devel/scanprov
+PERLIO_K_CANCRLF # Z added by devel/scanprov
+PERLIO_K_DESTRUCT # Z added by devel/scanprov
+PERLIO_K_DUMMY # Z added by devel/scanprov
+PERLIO_K_FASTGETS # Z added by devel/scanprov
+PERLIO_K_RAW # Z added by devel/scanprov
+PERLIO_K_UTF8 # Z added by devel/scanprov
+PERLIO_LAYERS # Z added by devel/scanprov
+PerlIONext # Z added by devel/scanprov
+PerlIOSelf # Z added by devel/scanprov
+PERLIO_STDTEXT # Z added by devel/scanprov
+PERL_MG_UFUNC # Z added by devel/scanprov
+PERL_PRESERVE_IVUV # Z added by devel/scanprov
+PerlProc_lasthost # Z added by devel/scanprov
+PerlProc_popen_list # Z added by devel/scanprov
+PerlSIO_canset_cnt # Z added by devel/scanprov
+PerlSIO_clearerr # Z added by devel/scanprov
+PerlSIO_fast_gets # Z added by devel/scanprov
+PerlSIO_fclose # Z added by devel/scanprov
+PerlSIO_fdopen # Z added by devel/scanprov
+PerlSIO_fdupopen # Z added by devel/scanprov
+PerlSIO_feof # Z added by devel/scanprov
+PerlSIO_ferror # Z added by devel/scanprov
+PerlSIO_fflush # Z added by devel/scanprov
+PerlSIO_fgetc # Z added by devel/scanprov
+PerlSIO_fgetpos # Z added by devel/scanprov
+PerlSIO_fgets # Z added by devel/scanprov
+PerlSIO_fileno # Z added by devel/scanprov
+PerlSIO_fopen # Z added by devel/scanprov
+PerlSIO_fputc # Z added by devel/scanprov
+PerlSIO_fputs # Z added by devel/scanprov
+PerlSIO_fread # Z added by devel/scanprov
+PerlSIO_freopen # Z added by devel/scanprov
+PerlSIO_fseek # Z added by devel/scanprov
+PerlSIO_fsetpos # Z added by devel/scanprov
+PerlSIO_ftell # Z added by devel/scanprov
+PerlSIO_fwrite # Z added by devel/scanprov
+PerlSIO_get_base # Z added by devel/scanprov
+PerlSIO_get_bufsiz # Z added by devel/scanprov
+PerlSIO_get_cnt # Z added by devel/scanprov
+PerlSIO_get_ptr # Z added by devel/scanprov
+PerlSIO_has_base # Z added by devel/scanprov
+PerlSIO_has_cntptr # Z added by devel/scanprov
+PerlSIO_init # Z added by devel/scanprov
+PerlSIO_printf # Z added by devel/scanprov
+PerlSIO_rewind # Z added by devel/scanprov
+PerlSIO_setbuf # Z added by devel/scanprov
+PerlSIO_set_cnt # Z added by devel/scanprov
+PerlSIO_setlinebuf # Z added by devel/scanprov
+PerlSIO_set_ptr # Z added by devel/scanprov
+PerlSIO_setvbuf # Z added by devel/scanprov
+PerlSIO_stderr # Z added by devel/scanprov
+PerlSIO_stdin # Z added by devel/scanprov
+PerlSIO_stdout # Z added by devel/scanprov
+PerlSIO_stdoutf # Z added by devel/scanprov
+PerlSIO_tmpfile # Z added by devel/scanprov
+PerlSIO_ungetc # Z added by devel/scanprov
+PerlSIO_vprintf # Z added by devel/scanprov
+PERL_SOCKS_NEED_PROTOTYPES # Z added by devel/scanprov
+Perl_start_glob # F added by devel/scanprov
+Perl_va_copy # Z added by devel/scanprov
+PL_ors_sv # Z added by devel/scanprov
+PL_psig_pend # Z added by devel/scanprov
+PL_sig_pending # Z added by devel/scanprov
+PmopSTASH # Z added by devel/scanprov
+PmopSTASHPV # Z added by devel/scanprov
+PmopSTASHPV_set # Z added by devel/scanprov
+PmopSTASH_set # Z added by devel/scanprov
POPpbytex # E
printf_nocontext # U
-save_mortalizesv # U
-scan_num # A
+PTR2ul # U
+reghop3 # F added by devel/scanprov
+reghopmaybe3 # F added by devel/scanprov
+SAVEMORTALIZESV # U
+SAVEt_MORTALIZESV # Z added by devel/scanprov
+SCOPE_SAVES_SIGNAL_MASK # Z added by devel/scanprov
+SIG_SIZE # K added by devel/scanprov
+SSNEWat # Z added by devel/scanprov
+SSNEWt # Z added by devel/scanprov
+SSPTRt # Z added by devel/scanprov
+StashHANDLER # Z added by devel/scanprov
+STDIO_PTR_LVAL_SETS_CNT # K added by devel/scanprov
+stdize_locale # F added by devel/scanprov
+STRUCT_SV # Z added by devel/scanprov
+sv_2iuv_non_preserve # F added by devel/scanprov
sv_force_normal_flags # U
SV_IMMEDIATE_UNREF # E
+SvIV_please # Z added by devel/scanprov
sv_setref_uv # U
sv_unref_flags # U
SvUOK # U
sv_utf8_upgrade # E (Perl_sv_utf8_upgrade)
+tokereport # F added by devel/scanprov
+TOPm1s # Z added by devel/scanprov
+TOPp1s # Z added by devel/scanprov
+U32_ALIGNMENT_REQUIRED # K added by devel/scanprov
+UINT64_C # Z added by devel/scanprov
+UNICODE_IS_BYTE_ORDER_MARK # Z added by devel/scanprov
+UNICODE_IS_REPLACEMENT # Z added by devel/scanprov
+UNICODE_IS_SURROGATE # Z added by devel/scanprov
UNICODE_REPLACEMENT # E
+UNICODE_SURROGATE_FIRST # Z added by devel/scanprov
+UNICODE_SURROGATE_LAST # Z added by devel/scanprov
+UNI_IS_INVARIANT # Z added by devel/scanprov
+UNISKIP # Z added by devel/scanprov
UNI_TO_NATIVE # U
+USE_ENVIRON_ARRAY # Z added by devel/scanprov
+USE_PERLIO # K added by devel/scanprov
+UTF8_ACCUMULATE # Z added by devel/scanprov
+UTF8_ALLOW_ANY # Z added by devel/scanprov
+UTF8_ALLOW_ANYUV # Z added by devel/scanprov
+UTF8_ALLOW_CONTINUATION # Z added by devel/scanprov
+UTF8_ALLOW_EMPTY # Z added by devel/scanprov
+UTF8_ALLOW_FFFF # Z added by devel/scanprov
+UTF8_ALLOW_LONG # Z added by devel/scanprov
+UTF8_ALLOW_NON_CONTINUATION # Z added by devel/scanprov
+UTF8_ALLOW_SHORT # Z added by devel/scanprov
+UTF8_ALLOW_SURROGATE # Z added by devel/scanprov
UTF8_CHECK_ONLY # E
+UTF8_EIGHT_BIT_HI # Z added by devel/scanprov
+UTF8_EIGHT_BIT_LO # Z added by devel/scanprov
+UTF8_IS_CONTINUATION # Z added by devel/scanprov
+UTF8_IS_CONTINUED # Z added by devel/scanprov
+UTF8_IS_DOWNGRADEABLE_START # Z added by devel/scanprov
UTF8_IS_INVARIANT # U
+UTF8_IS_START # Z added by devel/scanprov
utf8_length # U
utf8n_to_uvchr # U
-utf8_to_uvchr # U
-uvchr_to_utf8 # U
-UVXf # E
-PTR2ul # M added by devel/scanprov
-expect_number # F added by devel/scanprov
-magic_freeovrld # F added by devel/scanprov
-Perl_start_glob # F added by devel/scanprov
-reghop3 # F added by devel/scanprov
-reghopmaybe3 # F added by devel/scanprov
-stdize_locale # F added by devel/scanprov
-sv_2iuv_non_preserve # F added by devel/scanprov
-tokereport # F added by devel/scanprov
utf8n_to_uvuni # F added by devel/scanprov
+utf8_to_uvchr # U
utf8_to_uvuni # F added by devel/scanprov
+UTF_ACCUMULATION_SHIFT # Z added by devel/scanprov
+UTF_CONTINUATION_MARK # Z added by devel/scanprov
+UTF_CONTINUATION_MASK # Z added by devel/scanprov
+UTF_START_MARK # Z added by devel/scanprov
+UTF_START_MASK # Z added by devel/scanprov
+UTF_TO_NATIVE # Z added by devel/scanprov
+uvchr_to_utf8 # U
+UVf # Z added by devel/scanprov
+UVXf # M added by devel/scanprov
+WIN32SCK_IS_STDSCK # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5007002 b/dist/Devel-PPPort/parts/base/5007002
index fafecdff3f..04ef7450d7 100644
--- a/dist/Devel-PPPort/parts/base/5007002
+++ b/dist/Devel-PPPort/parts/base/5007002
@@ -1,28 +1,54 @@
5.007002
atfork_lock # U
atfork_unlock # U
+boot_core_PerlIO # F added by devel/scanprov
calloc # U
+CLONEf_CLONE_HOST # Z added by devel/scanprov
+closest_cop # F added by devel/scanprov
+CvFILE_set_from_cop # Z added by devel/scanprov
dAX # E
+DB_VERSION_MAJOR_CFG # K added by devel/scanprov
+DB_VERSION_MINOR_CFG # K added by devel/scanprov
+DB_VERSION_PATCH_CFG # K added by devel/scanprov
+deb_curcv # F added by devel/scanprov
dITEMS # E
+dTHXs # Z added by devel/scanprov
getcwd_sv # U
grok_number # U
GROK_NUMERIC_RADIX # U
grok_numeric_radix # U
+HAS_FCHDIR # K added by devel/scanprov
+HAS_FLOCK_PROTO # K added by devel/scanprov
+HAS_NL_LANGINFO # K added by devel/scanprov
+HAS_PTHREAD_UNCHECKED_GETSPECIFIC_NP # Z added by devel/scanprov
+HAS_SOCKATMARK_PROTO # K added by devel/scanprov
+HAS_STRFTIME # K added by devel/scanprov
+HAS_SYSCALL_PROTO # K added by devel/scanprov
+HAS_USLEEP_PROTO # K added by devel/scanprov
+HINT_BYTES # Z added by devel/scanprov
+I32_MAX_P1 # Z added by devel/scanprov
+I_LANGINFO # K added by devel/scanprov
+IN_BYTES # Z added by devel/scanprov
init_tm # U
IN_LOCALE # E
IN_LOCALE_COMPILETIME # E
IN_LOCALE_RUNTIME # E
+INT32_MIN # Z added by devel/scanprov
+INT64_MIN # Z added by devel/scanprov
IS_NUMBER_GREATER_THAN_UV_MAX # E
IS_NUMBER_INFINITY # E
IS_NUMBER_IN_UV # E
IS_NUMBER_NEG # E
IS_NUMBER_NOT_INT # E
+IV_MAX_P1 # Z added by devel/scanprov
malloc # U
mfree # U
mini_mktime # U
my_strftime # U
op_null # U
-OSVERS # E
+OSVERS # K added by devel/scanprov
+PERL_FPU_INIT # Z added by devel/scanprov
+PERL_GPROF_MONCONTROL # Z added by devel/scanprov
PERL_MAGIC_arylen # E
PERL_MAGIC_backref # E
PERL_MAGIC_bm # E
@@ -53,25 +79,39 @@ PERL_MAGIC_tiedelem # E
PERL_MAGIC_tiedscalar # E
PERL_MAGIC_uvar # E
PERL_MAGIC_vec # E
+PERL_TARGETARCH # K added by devel/scanprov
+PERL_UNUSED_DECL # E
+PERL_UNUSED_VAR # U
+PL_numeric_radix_sv # Z added by devel/scanprov
+PL_reentrant_buffer # Z added by devel/scanprov
+PL_regex_pad # Z added by devel/scanprov
+PL_regex_padav # Z added by devel/scanprov
+PM_GETRE # Z added by devel/scanprov
+PM_SETRE # Z added by devel/scanprov
+PTHREAD_ATFORK # Z added by devel/scanprov
+PTHREAD_GETSPECIFIC # Z added by devel/scanprov
realloc # U
-sv_2pv_flags # U
+sv_2pv_flags # F added by devel/scanprov
+sv_2pv_nomg # Z added by devel/scanprov
sv_catpvn_flags # U
sv_catpvn_nomg # U
sv_catsv_flags # U
sv_catsv_nomg # U
SV_GMAGIC # E
+SVpad_TYPED # Z added by devel/scanprov
+SvPV_flags # U
+SvPV_force_flags # U
SvPV_force_nomg # U
sv_pvn_force_flags # U
+sv_pvn_force_nomg # Z added by devel/scanprov
SvPV_nomg # U
sv_setsv_flags # U
sv_setsv_nomg # U
sv_utf8_upgrade_flags # U
sv_utf8_upgrade_nomg # U
-PERL_UNUSED_DECL # M added by devel/scanprov
-PERL_UNUSED_VAR # M added by devel/scanprov
-SvPV_flags # M added by devel/scanprov
-SvPV_force_flags # M added by devel/scanprov
-boot_core_PerlIO # F added by devel/scanprov
-closest_cop # F added by devel/scanprov
-deb_curcv # F added by devel/scanprov
-Perl_my_atof2 # F added by devel/scanprov
+THREAD_CREATE_NEEDS_STACK # Z added by devel/scanprov
+U_32 # Z added by devel/scanprov
+U32_MAX_P1 # Z added by devel/scanprov
+U32_MAX_P1_HALF # Z added by devel/scanprov
+UV_MAX_P1 # Z added by devel/scanprov
+UV_MAX_P1_HALF # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5007003 b/dist/Devel-PPPort/parts/base/5007003
index 6360b28a08..41bcb41520 100644
--- a/dist/Devel-PPPort/parts/base/5007003
+++ b/dist/Devel-PPPort/parts/base/5007003
@@ -1,33 +1,87 @@
5.007003
+ANYOF_BITMAP_CLEARALL # Z added by devel/scanprov
+ANYOF_BITMAP_SETALL # Z added by devel/scanprov
+ANYOF_FOLD_SHARP_S # Z added by devel/scanprov
+apply_attrs_my # F added by devel/scanprov
ckWARN3 # U
ckWARN3_d # U
ckWARN4 # U
ckWARN4_d # U
+CopFILE_free # Z added by devel/scanprov
custom_op_desc # U
custom_op_name # U
-cx_dup # E (Perl_cx_dup)
deb # U
deb_nocontext # U
debstack # U
debstackptrs # U
+DEBUG_J_FLAG # Z added by devel/scanprov
+DEBUG_J_TEST # Z added by devel/scanprov
fp_dup # A
gp_dup # E (Perl_gp_dup)
grok_bin # U
grok_hex # U
grok_oct # U
+group_end # F added by devel/scanprov
gv_fetchmeth_autoload # U
+HAS_DIRFD # K added by devel/scanprov
+HAS_FINITE # K added by devel/scanprov
+HAS_FINITEL # K added by devel/scanprov
+HAS_ISINF # K added by devel/scanprov
+HAS_PROCSELFEXE # K added by devel/scanprov
he_dup # E (Perl_he_dup)
+HINT_SORT_STABLE # Z added by devel/scanprov
+HvPLACEHOLDERS # Z added by devel/scanprov
+HvTOTALKEYS # Z added by devel/scanprov
+HvUSEDKEYS # Z added by devel/scanprov
ibcmp_utf8 # U
+init_argv_symbols # F added by devel/scanprov
IS_NUMBER_NAN # E
+measure_struct # F added by devel/scanprov
mg_dup # E (Perl_mg_dup)
+MGf_COPY # Z added by devel/scanprov
+MGf_DUP # Z added by devel/scanprov
my_fork # U
my_socketpair # U
+NEXT_LINE_CHAR # Z added by devel/scanprov
+next_symbol # F added by devel/scanprov
+NV_EPSILON # Z added by devel/scanprov
+NV_INF # Z added by devel/scanprov
+NV_MAX_10_EXP # Z added by devel/scanprov
+NV_MIN_10_EXP # Z added by devel/scanprov
+NV_NAN # Z added by devel/scanprov
OP_DESC # U
OP_NAME # U
+OPpHUSH_VMSISH # Z added by devel/scanprov
+OutCopFILE # Z added by devel/scanprov
+pack_cat # U
+packWARN # U
+packWARN2 # U
+packWARN3 # U
+packWARN4 # U
+PERL_DEBUG_PAD # Z added by devel/scanprov
+PERL_DEBUG_PAD_ZERO # Z added by devel/scanprov
perl_destruct # E (perl_destruct)
PERL_EXIT_DESTRUCT_END # E
+Perl_fp_class # Z added by devel/scanprov
+Perl_fp_class_denorm # Z added by devel/scanprov
+Perl_fp_class_inf # Z added by devel/scanprov
+Perl_fp_class_nan # Z added by devel/scanprov
+Perl_fp_class_ndenorm # Z added by devel/scanprov
+Perl_fp_class_ninf # Z added by devel/scanprov
+Perl_fp_class_nnorm # Z added by devel/scanprov
+Perl_fp_class_norm # Z added by devel/scanprov
+Perl_fp_class_nzero # Z added by devel/scanprov
+Perl_fp_class_pdenorm # Z added by devel/scanprov
+Perl_fp_class_pinf # Z added by devel/scanprov
+Perl_fp_class_pnorm # Z added by devel/scanprov
+Perl_fp_class_pzero # Z added by devel/scanprov
+Perl_fp_class_qnan # Z added by devel/scanprov
+Perl_fp_class_snan # Z added by devel/scanprov
+Perl_fp_class_zero # Z added by devel/scanprov
PerlIO_clearerr # U (PerlIO_clearerr)
PerlIO_close # U (PerlIO_close)
+PERLIO_DUP_CLONE # Z added by devel/scanprov
+PERLIO_DUP_FD # Z added by devel/scanprov
PerlIO_eof # U (PerlIO_eof)
PerlIO_error # U (PerlIO_error)
PerlIO_fileno # U (PerlIO_fileno)
@@ -37,6 +91,7 @@ PerlIO_get_base # U (PerlIO_get_base)
PerlIO_get_bufsiz # U (PerlIO_get_bufsiz)
PerlIO_get_cnt # U (PerlIO_get_cnt)
PerlIO_get_ptr # U (PerlIO_get_ptr)
+PERLIO_K_MULTIARG # Z added by devel/scanprov
PerlIO_read # U (PerlIO_read)
PerlIO_seek # U (PerlIO_seek)
PerlIO_set_cnt # U (PerlIO_set_cnt)
@@ -47,19 +102,43 @@ PerlIO_stdin # U (PerlIO_stdin)
PerlIO_stdout # U (PerlIO_stdout)
PerlIO_tell # U (PerlIO_tell)
PerlIO_unread # U (PerlIO_unread)
+PERLIO_USING_CRLF # Z added by devel/scanprov
+PerlIOValid # Z added by devel/scanprov
PerlIO_write # U (PerlIO_write)
+Perl_isfinite # Z added by devel/scanprov
+Perl_isinf # Z added by devel/scanprov
PERL_MAGIC_shared # E
PERL_MAGIC_shared_scalar # E
PERL_MAGIC_uvar_elem # E
PERL_SCAN_ALLOW_UNDERSCORES # E
PERL_SCAN_DISALLOW_PREFIX # E
PERL_SCAN_GREATER_THAN_UV_MAX # E
+PERL_UNICODE_MAX # Z added by devel/scanprov
+PERL_WRITE_MSG_TO_CONSOLE # Z added by devel/scanprov
+PL_custom_op_descs # Z added by devel/scanprov
+PL_custom_op_names # Z added by devel/scanprov
+PL_debug_pad # Z added by devel/scanprov
+PL_def_layerlist # Z added by devel/scanprov
+PL_encoding # Z added by devel/scanprov
+PL_known_layers # Z added by devel/scanprov
+PL_lockhook # Z added by devel/scanprov
PL_peepp # E
+PL_perlio # Z added by devel/scanprov
+PL_savebegin # Z added by devel/scanprov
+PL_sharehook # Z added by devel/scanprov
+PL_taint_warn # Z added by devel/scanprov
+PL_unlockhook # Z added by devel/scanprov
+PL_utf8_tofold # Z added by devel/scanprov
+PROCSELFEXE_PATH # K added by devel/scanprov
pv_uni_display # U
rvpv_dup # E
+SAVESHAREDPV # Z added by devel/scanprov
savesharedpv # U
save_shared_pvref # U
+SAVEt_SHARED_PVREF # Z added by devel/scanprov
+SHARP_S_SKIP # Z added by devel/scanprov
si_dup # E (Perl_si_dup)
+Slab_Free # F added by devel/scanprov
sortsv # U
ss_dup # E (Perl_ss_dup)
sv_copypv # U
@@ -74,17 +153,25 @@ sv_recode_to_utf8 # U
SvSHARE # U
sv_uni_display # U
SvUNLOCK # U
+toFOLD_uni # Z added by devel/scanprov
+UNICODE_ALLOW_ANY # Z added by devel/scanprov
+UNICODE_ALLOW_SUPER # Z added by devel/scanprov
+UNICODE_ALLOW_SURROGATE # Z added by devel/scanprov
+UNICODE_GREEK_CAPITAL_LETTER_SIGMA # Z added by devel/scanprov
+UNICODE_GREEK_SMALL_LETTER_FINAL_SIGMA # Z added by devel/scanprov
+UNICODE_GREEK_SMALL_LETTER_SIGMA # Z added by devel/scanprov
+UNI_DISPLAY_BACKSLASH # Z added by devel/scanprov
+UNI_DISPLAY_ISPRINT # Z added by devel/scanprov
+UNI_DISPLAY_QQ # Z added by devel/scanprov
+UNI_DISPLAY_REGEX # Z added by devel/scanprov
unpack_str # U
+unpackWARN1 # Z added by devel/scanprov
+unpackWARN2 # Z added by devel/scanprov
+unpackWARN3 # Z added by devel/scanprov
+unpackWARN4 # Z added by devel/scanprov
+USE_REENTRANT_API # Z added by devel/scanprov
+USE_UTF8_IN_NAMES # Z added by devel/scanprov
uvchr_to_utf8_flags # U
-vdeb # U
-dMY_CXT_SV # M added by devel/scanprov
-packWARN # M added by devel/scanprov
-_pMY_CXT # M added by devel/scanprov
-pMY_CXT_ # M added by devel/scanprov
-apply_attrs_my # F added by devel/scanprov
-group_end # F added by devel/scanprov
-init_argv_symbols # F added by devel/scanprov
-measure_struct # F added by devel/scanprov
-next_symbol # F added by devel/scanprov
-Slab_Free # F added by devel/scanprov
uvuni_to_utf8_flags # F added by devel/scanprov
+vdeb # U
+XHvTOTALKEYS # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5008000 b/dist/Devel-PPPort/parts/base/5008000
index 53b76869c1..821035b3f3 100644
--- a/dist/Devel-PPPort/parts/base/5008000
+++ b/dist/Devel-PPPort/parts/base/5008000
@@ -1,17 +1,246 @@
5.008000
+anchored_utf8 # Z added by devel/scanprov
+ASCTIME_R_PROTO # K added by devel/scanprov
+atoll # Z added by devel/scanprov
+check_utf8 # Z added by devel/scanprov
+CRYPT_R_PROTO # K added by devel/scanprov
+CTERMID_R_PROTO # K added by devel/scanprov
+CTIME_R_PROTO # K added by devel/scanprov
+CVf_BUILTIN_ATTRS # Z added by devel/scanprov
+do_aspawn # F added by devel/scanprov
+do_spawn # F added by devel/scanprov
+do_spawn_nowait # F added by devel/scanprov
+DRAND48_R_PROTO # K added by devel/scanprov
+ENDGRENT_R_HAS_FPTR # Z added by devel/scanprov
+ENDGRENT_R_PROTO # K added by devel/scanprov
+ENDHOSTENT_R_PROTO # K added by devel/scanprov
+ENDNETENT_R_PROTO # K added by devel/scanprov
+ENDPROTOENT_R_PROTO # K added by devel/scanprov
+ENDPWENT_R_HAS_FPTR # Z added by devel/scanprov
+ENDPWENT_R_PROTO # K added by devel/scanprov
+ENDSERVENT_R_PROTO # K added by devel/scanprov
+FD_CLR # Z added by devel/scanprov
+FD_ISSET # Z added by devel/scanprov
+FD_SET # Z added by devel/scanprov
+fd_set # Z added by devel/scanprov
+FD_ZERO # Z added by devel/scanprov
+float_utf8 # Z added by devel/scanprov
+GETGRENT_R_HAS_BUFFER # Z added by devel/scanprov
+GETGRENT_R_HAS_FPTR # Z added by devel/scanprov
+GETGRENT_R_HAS_PTR # Z added by devel/scanprov
+GETGRENT_R_PROTO # K added by devel/scanprov
+GETGRGID_R_HAS_BUFFER # Z added by devel/scanprov
+GETGRGID_R_HAS_PTR # Z added by devel/scanprov
+GETGRGID_R_PROTO # K added by devel/scanprov
+GETGRNAM_R_HAS_BUFFER # Z added by devel/scanprov
+GETGRNAM_R_HAS_PTR # Z added by devel/scanprov
+GETGRNAM_R_PROTO # K added by devel/scanprov
+GETHOSTBYADDR_R_HAS_BUFFER # Z added by devel/scanprov
+GETHOSTBYADDR_R_HAS_ERRNO # Z added by devel/scanprov
+GETHOSTBYADDR_R_HAS_PTR # Z added by devel/scanprov
+GETHOSTBYADDR_R_PROTO # K added by devel/scanprov
+GETHOSTBYNAME_R_HAS_BUFFER # Z added by devel/scanprov
+GETHOSTBYNAME_R_HAS_ERRNO # Z added by devel/scanprov
+GETHOSTBYNAME_R_HAS_PTR # Z added by devel/scanprov
+GETHOSTBYNAME_R_PROTO # K added by devel/scanprov
+GETHOSTENT_R_HAS_BUFFER # Z added by devel/scanprov
+GETHOSTENT_R_HAS_ERRNO # Z added by devel/scanprov
+GETHOSTENT_R_HAS_PTR # Z added by devel/scanprov
+GETHOSTENT_R_PROTO # K added by devel/scanprov
+GETLOGIN_R_PROTO # K added by devel/scanprov
+GETNETBYADDR_R_HAS_BUFFER # Z added by devel/scanprov
+GETNETBYADDR_R_HAS_ERRNO # Z added by devel/scanprov
+GETNETBYADDR_R_HAS_PTR # Z added by devel/scanprov
+GETNETBYADDR_R_PROTO # K added by devel/scanprov
+GETNETBYNAME_R_HAS_BUFFER # Z added by devel/scanprov
+GETNETBYNAME_R_HAS_ERRNO # Z added by devel/scanprov
+GETNETBYNAME_R_HAS_PTR # Z added by devel/scanprov
+GETNETBYNAME_R_PROTO # K added by devel/scanprov
+GETNETENT_R_HAS_BUFFER # Z added by devel/scanprov
+GETNETENT_R_HAS_ERRNO # Z added by devel/scanprov
+GETNETENT_R_HAS_PTR # Z added by devel/scanprov
+GETNETENT_R_PROTO # K added by devel/scanprov
+GETPROTOBYNAME_R_HAS_BUFFER # Z added by devel/scanprov
+GETPROTOBYNAME_R_HAS_PTR # Z added by devel/scanprov
+GETPROTOBYNAME_R_PROTO # K added by devel/scanprov
+GETPROTOBYNUMBER_R_HAS_BUFFER # Z added by devel/scanprov
+GETPROTOBYNUMBER_R_HAS_PTR # Z added by devel/scanprov
+GETPROTOBYNUMBER_R_PROTO # K added by devel/scanprov
+GETPROTOENT_R_HAS_BUFFER # Z added by devel/scanprov
+GETPROTOENT_R_HAS_PTR # Z added by devel/scanprov
+GETPROTOENT_R_PROTO # K added by devel/scanprov
+GETPWENT_R_HAS_BUFFER # Z added by devel/scanprov
+GETPWENT_R_HAS_FPTR # Z added by devel/scanprov
+GETPWENT_R_HAS_PTR # Z added by devel/scanprov
+GETPWENT_R_PROTO # K added by devel/scanprov
+GETPWNAM_R_HAS_BUFFER # Z added by devel/scanprov
+GETPWNAM_R_HAS_PTR # Z added by devel/scanprov
+GETPWNAM_R_PROTO # K added by devel/scanprov
+GETPWUID_R_HAS_PTR # Z added by devel/scanprov
+GETPWUID_R_PROTO # K added by devel/scanprov
+GETSERVBYNAME_R_HAS_BUFFER # Z added by devel/scanprov
+GETSERVBYNAME_R_HAS_PTR # Z added by devel/scanprov
+GETSERVBYNAME_R_PROTO # K added by devel/scanprov
+GETSERVBYPORT_R_HAS_BUFFER # Z added by devel/scanprov
+GETSERVBYPORT_R_HAS_PTR # Z added by devel/scanprov
+GETSERVBYPORT_R_PROTO # K added by devel/scanprov
+GETSERVENT_R_HAS_BUFFER # Z added by devel/scanprov
+GETSERVENT_R_HAS_PTR # Z added by devel/scanprov
+GETSERVENT_R_PROTO # K added by devel/scanprov
+GETSPNAM_R_HAS_PTR # Z added by devel/scanprov
+GETSPNAM_R_PROTO # K added by devel/scanprov
+gettimeofday # Z added by devel/scanprov
+GMTIME_R_PROTO # K added by devel/scanprov
+HAS_TIME # K added by devel/scanprov
+HAS_TM_TM_ZONE # K added by devel/scanprov
+HEK_FLAGS # Z added by devel/scanprov
+HeKFLAGS # Z added by devel/scanprov
+HEK_UTF8_off # Z added by devel/scanprov
+HEK_UTF8_on # Z added by devel/scanprov
+HEK_WASUTF8 # Z added by devel/scanprov
+HeKWASUTF8 # Z added by devel/scanprov
+HEK_WASUTF8_off # Z added by devel/scanprov
+HEK_WASUTF8_on # Z added by devel/scanprov
+HvHASKFLAGS # Z added by devel/scanprov
+HvHASKFLAGS_off # Z added by devel/scanprov
+HvHASKFLAGS_on # Z added by devel/scanprov
+HVhek_FREEKEY # Z added by devel/scanprov
+HVhek_MASK # Z added by devel/scanprov
+HVhek_PLACEHOLD # Z added by devel/scanprov
+HVhek_UTF8 # Z added by devel/scanprov
+HVhek_WASUTF8 # Z added by devel/scanprov
hv_iternext_flags # U
HV_ITERNEXT_WANTPLACEHOLDERS # E
+hv_notallowed # F added by devel/scanprov
hv_store_flags # U
+I_CRYPT # K added by devel/scanprov
+LOCALTIME_R_PROTO # K added by devel/scanprov
+NETDB_R_OBSOLETE # Z added by devel/scanprov
nothreadhook # U
+PerlProc_gettimeofday # Z added by devel/scanprov
+PerlProc_spawnvp # Z added by devel/scanprov
+PL_threadhook # Z added by devel/scanprov
+PL_utf8_idcont # Z added by devel/scanprov
+PL_utf8_idstart # Z added by devel/scanprov
Poison # E
-WARN_LAYER # E
-WARN_THREADS # E
-do_aspawn # F added by devel/scanprov
-do_spawn # F added by devel/scanprov
-do_spawn_nowait # F added by devel/scanprov
-hv_notallowed # F added by devel/scanprov
+RANDOM_R_PROTO # K added by devel/scanprov
+READDIR64_R_PROTO # K added by devel/scanprov
+READDIR_R_PROTO # K added by devel/scanprov
+reentrant_free # F added by devel/scanprov
+reentrant_init # F added by devel/scanprov
+REENTRANT_PROTO_B_B # Z added by devel/scanprov
+REENTRANT_PROTO_B_BI # Z added by devel/scanprov
+REENTRANT_PROTO_B_BW # Z added by devel/scanprov
+REENTRANT_PROTO_B_CCD # Z added by devel/scanprov
+REENTRANT_PROTO_B_CCS # Z added by devel/scanprov
+REENTRANT_PROTO_B_IBI # Z added by devel/scanprov
+REENTRANT_PROTO_B_IBW # Z added by devel/scanprov
+REENTRANT_PROTO_B_SB # Z added by devel/scanprov
+REENTRANT_PROTO_B_SBI # Z added by devel/scanprov
+REENTRANT_PROTO_I_BI # Z added by devel/scanprov
+REENTRANT_PROTO_I_BW # Z added by devel/scanprov
+REENTRANT_PROTO_I_CCSBWR # Z added by devel/scanprov
+REENTRANT_PROTO_I_CCSD # Z added by devel/scanprov
+REENTRANT_PROTO_I_CII # Z added by devel/scanprov
+REENTRANT_PROTO_I_CIISD # Z added by devel/scanprov
+REENTRANT_PROTO_I_CSBI # Z added by devel/scanprov
+REENTRANT_PROTO_I_CSBIR # Z added by devel/scanprov
+REENTRANT_PROTO_I_CSBWR # Z added by devel/scanprov
+REENTRANT_PROTO_I_CSBWRE # Z added by devel/scanprov
+REENTRANT_PROTO_I_CSD # Z added by devel/scanprov
+REENTRANT_PROTO_I_CWISBWRE # Z added by devel/scanprov
+REENTRANT_PROTO_I_CWISD # Z added by devel/scanprov
+REENTRANT_PROTO_I_D # Z added by devel/scanprov
+REENTRANT_PROTO_I_H # Z added by devel/scanprov
+REENTRANT_PROTO_I_IBI # Z added by devel/scanprov
+REENTRANT_PROTO_I_IBW # Z added by devel/scanprov
+REENTRANT_PROTO_I_ICBI # Z added by devel/scanprov
+REENTRANT_PROTO_I_ICSBWR # Z added by devel/scanprov
+REENTRANT_PROTO_I_ICSD # Z added by devel/scanprov
+REENTRANT_PROTO_I_ID # Z added by devel/scanprov
+REENTRANT_PROTO_I_IISD # Z added by devel/scanprov
+REENTRANT_PROTO_I_ISBWR # Z added by devel/scanprov
+REENTRANT_PROTO_I_ISD # Z added by devel/scanprov
+REENTRANT_PROTO_I_LISBI # Z added by devel/scanprov
+REENTRANT_PROTO_I_LISD # Z added by devel/scanprov
+REENTRANT_PROTO_I_SB # Z added by devel/scanprov
+REENTRANT_PROTO_I_SBI # Z added by devel/scanprov
+REENTRANT_PROTO_I_SBIE # Z added by devel/scanprov
+REENTRANT_PROTO_I_SBIH # Z added by devel/scanprov
+REENTRANT_PROTO_I_SBIR # Z added by devel/scanprov
+REENTRANT_PROTO_I_SBWR # Z added by devel/scanprov
+REENTRANT_PROTO_I_SBWRE # Z added by devel/scanprov
+REENTRANT_PROTO_I_SD # Z added by devel/scanprov
+REENTRANT_PROTO_I_TISD # Z added by devel/scanprov
+REENTRANT_PROTO_I_TS # Z added by devel/scanprov
+REENTRANT_PROTO_I_TSBI # Z added by devel/scanprov
+REENTRANT_PROTO_I_TSBIR # Z added by devel/scanprov
+REENTRANT_PROTO_I_TSBWR # Z added by devel/scanprov
+REENTRANT_PROTO_I_TSR # Z added by devel/scanprov
+REENTRANT_PROTO_I_UISBWRE # Z added by devel/scanprov
+REENTRANT_PROTO_S_CBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_CCSBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_CIISBIE # Z added by devel/scanprov
+REENTRANT_PROTO_S_CSBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_CSBIE # Z added by devel/scanprov
+REENTRANT_PROTO_S_CWISBIE # Z added by devel/scanprov
+REENTRANT_PROTO_S_CWISBWIE # Z added by devel/scanprov
+REENTRANT_PROTO_S_ICSBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_ISBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_LISBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_SBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_SBIE # Z added by devel/scanprov
+REENTRANT_PROTO_S_SBW # Z added by devel/scanprov
+REENTRANT_PROTO_S_TISBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_TSBI # Z added by devel/scanprov
+REENTRANT_PROTO_S_TSBIE # Z added by devel/scanprov
+REENTRANT_PROTO_S_TWISBIE # Z added by devel/scanprov
+REENTRANT_PROTO_V_D # Z added by devel/scanprov
+REENTRANT_PROTO_V_H # Z added by devel/scanprov
+REENTRANT_PROTO_V_ID # Z added by devel/scanprov
+reentrant_retry # F added by devel/scanprov
+reentrant_size # F added by devel/scanprov
save_hek_flags # F added by devel/scanprov
+SETGRENT_R_HAS_FPTR # Z added by devel/scanprov
+SETGRENT_R_PROTO # K added by devel/scanprov
+SETHOSTENT_R_PROTO # K added by devel/scanprov
+SETLOCALE_R_PROTO # K added by devel/scanprov
+SETNETENT_R_PROTO # K added by devel/scanprov
+SETPROTOENT_R_PROTO # K added by devel/scanprov
+SETPWENT_R_HAS_FPTR # Z added by devel/scanprov
+SETPWENT_R_PROTO # K added by devel/scanprov
+SETSERVENT_R_PROTO # K added by devel/scanprov
share_hek_flags # F added by devel/scanprov
+SRAND48_R_PROTO # K added by devel/scanprov
+SRANDOM_R_PROTO # K added by devel/scanprov
+STRERROR_R_PROTO # K added by devel/scanprov
+SVphv_HASKFLAGS # Z added by devel/scanprov
+sv_pv # Z added by devel/scanprov
+sv_pvbyte # Z added by devel/scanprov
+sv_pvutf8 # Z added by devel/scanprov
+TMPNAM_R_PROTO # K added by devel/scanprov
to_byte_substr # F added by devel/scanprov
to_utf8_substr # F added by devel/scanprov
+TTYNAME_R_PROTO # K added by devel/scanprov
+UNICODE_BYTE_ORDER_MARK # Z added by devel/scanprov
unshare_hek_or_pvn # F added by devel/scanprov
+USE_GRENT_BUFFER # Z added by devel/scanprov
+USE_GRENT_FPTR # Z added by devel/scanprov
+USE_GRENT_PTR # Z added by devel/scanprov
+USE_HOSTENT_BUFFER # Z added by devel/scanprov
+USE_HOSTENT_ERRNO # Z added by devel/scanprov
+USE_HOSTENT_PTR # Z added by devel/scanprov
+USE_NETENT_BUFFER # Z added by devel/scanprov
+USE_NETENT_ERRNO # Z added by devel/scanprov
+USE_NETENT_PTR # Z added by devel/scanprov
+USE_PERL_ATOF # Z added by devel/scanprov
+USE_PROTOENT_BUFFER # Z added by devel/scanprov
+USE_PROTOENT_PTR # Z added by devel/scanprov
+USE_PWENT_BUFFER # Z added by devel/scanprov
+USE_PWENT_FPTR # Z added by devel/scanprov
+USE_PWENT_PTR # Z added by devel/scanprov
+USE_SERVENT_BUFFER # Z added by devel/scanprov
+USE_SERVENT_PTR # Z added by devel/scanprov
+USE_SPENT_PTR # Z added by devel/scanprov
+WARN_LAYER # E
+WARN_THREADS # E
diff --git a/dist/Devel-PPPort/parts/base/5008001 b/dist/Devel-PPPort/parts/base/5008001
index 6dfa718ab2..10883d63f1 100644
--- a/dist/Devel-PPPort/parts/base/5008001
+++ b/dist/Devel-PPPort/parts/base/5008001
@@ -1,50 +1,184 @@
5.008001
+allocmy # F added by devel/scanprov
+ASSERT_CURPAD_ACTIVE # Z added by devel/scanprov
+ASSERT_CURPAD_LEGAL # Z added by devel/scanprov
+assert_not_ROK # Z added by devel/scanprov
+BSDish # Z added by devel/scanprov
C_ARRAY_LENGTH # U
+CHECK_MALLOC_TAINT # Z added by devel/scanprov
+CHECK_MALLOC_TOO_LATE_FOR # Z added by devel/scanprov
+CLONEf_JOIN_IN # Z added by devel/scanprov
+csighandler # F added by devel/scanprov
+CVf_WEAKOUTSIDE # Z added by devel/scanprov
+CvOUTSIDE_SEQ # Z added by devel/scanprov
CvPADLIST # E
-doing_taint # U
+CvWEAKOUTSIDE # Z added by devel/scanprov
+CvWEAKOUTSIDE_off # Z added by devel/scanprov
+CvWEAKOUTSIDE_on # Z added by devel/scanprov
+CX_CURPAD_SAVE # Z added by devel/scanprov
+CX_CURPAD_SV # Z added by devel/scanprov
+DBM_ckFilter # Z added by devel/scanprov
+DBM_setFilter # Z added by devel/scanprov
+deb_stack_all # F added by devel/scanprov
+deb_stack_n # F added by devel/scanprov
+DEBUG_SCOPE # Z added by devel/scanprov
+DEBUG_v # Z added by devel/scanprov
+DEBUG_v_FLAG # Z added by devel/scanprov
+DEBUG_v_TEST # Z added by devel/scanprov
+DEBUG_Xv # Z added by devel/scanprov
+DEBUG_Xv_TEST # Z added by devel/scanprov
+do_dump_pad # F added by devel/scanprov
+doing_taint # F added by devel/scanprov
+doopen_pm # F added by devel/scanprov
find_runcv # U
+FreeOp # Z added by devel/scanprov
+free_tied_hv_pool # F added by devel/scanprov
+get_debug_opts # F added by devel/scanprov
+get_hash_seed # F added by devel/scanprov
+get_num # F added by devel/scanprov
+HAS_COPYSIGNL # K added by devel/scanprov
+HAS_FAST_STDIO # K added by devel/scanprov
+HAS_ILOGBL # K added by devel/scanprov
+HAS_PTHREAD_ATTR_SETSCOPE # K added by devel/scanprov
+HAS_SCALBNL # K added by devel/scanprov
+HAS_TM_TM_GMTOFF # K added by devel/scanprov
+IN_PERL_COMPILETIME # E
+IN_PERL_RUNTIME # E
+IoTYPE_IMPLICIT # Z added by devel/scanprov
+IoTYPE_NUMERIC # Z added by devel/scanprov
is_utf8_string_loc # U
+LIB_INVARG # Z added by devel/scanprov
+LOCK_DOLLARZERO_MUTEX # Z added by devel/scanprov
+magic_setregexp # F added by devel/scanprov
+magic_setutf8 # F added by devel/scanprov
+MALLOC_CHECK_TAINT # Z added by devel/scanprov
+MALLOC_CHECK_TAINT2 # Z added by devel/scanprov
+MALLOC_TOO_LATE_FOR # Z added by devel/scanprov
+NEGATIVE_INDICES_VAR # Z added by devel/scanprov
+NewOp # Z added by devel/scanprov
+OP_IS_FILETEST_ACCESS # Z added by devel/scanprov
+OPpFT_ACCESS # Z added by devel/scanprov
packlist # U
+pack_rec # F added by devel/scanprov
pad_add_anon # U
+PAD_BASE_SV # Z added by devel/scanprov
+pad_block_start # F added by devel/scanprov
+pad_check_dup # F added by devel/scanprov
+PAD_CLONE_VARS # Z added by devel/scanprov
+PAD_COMPNAME_FLAGS # Z added by devel/scanprov
+PAD_COMPNAME_GEN # Z added by devel/scanprov
+PAD_COMPNAME_OURSTASH # Z added by devel/scanprov
+PAD_COMPNAME_PV # Z added by devel/scanprov
+PAD_COMPNAME_TYPE # Z added by devel/scanprov
+pad_fixup_inner_anons # F added by devel/scanprov
pad_new # E
-pad_setsv # U
+padnew_CLONE # Z added by devel/scanprov
+padnew_SAVE # Z added by devel/scanprov
+padnew_SAVESUB # Z added by devel/scanprov
+pad_push # F added by devel/scanprov
+PAD_RESTORE_LOCAL # Z added by devel/scanprov
+PAD_SAVE_LOCAL # Z added by devel/scanprov
+PAD_SAVE_SETNULLPAD # Z added by devel/scanprov
+PAD_SET_CUR # Z added by devel/scanprov
+PAD_SETSV # Z added by devel/scanprov
+pad_setsv # F added by devel/scanprov
+PAD_SVl # Z added by devel/scanprov
pad_tidy # E
+panic_write2 # Z added by devel/scanprov
+parse_unicode_opts # F added by devel/scanprov
PERL_ABS # U
+PERL_DEB # Z added by devel/scanprov
+PERL_DEBUG # Z added by devel/scanprov
+PERL_FPU_POST_EXEC # Z added by devel/scanprov
+PERL_FPU_PRE_EXEC # Z added by devel/scanprov
+PERL_GCC_BRACE_GROUPS_FORBIDDEN # Z added by devel/scanprov
+PERL_HASH_SEED # Z added by devel/scanprov
+PERLIO_F_NOTREG # Z added by devel/scanprov
PERL_MAGIC_utf8 # E
+PERL_MAGIC_UTF8_CACHESIZE # Z added by devel/scanprov
PERL_MAGIC_vstring # E
PERL_SCAN_SILENT_ILLDIGIT # E
+PERL_SIGNALS_UNSAFE_FLAG # E
+PERL_UNICODE_ALL_FLAGS # Z added by devel/scanprov
+PERL_UNICODE_ARGV # Z added by devel/scanprov
+PERL_UNICODE_ARGV_FLAG # Z added by devel/scanprov
+PERL_UNICODE_DEFAULT_FLAGS # Z added by devel/scanprov
+PERL_UNICODE_IN # Z added by devel/scanprov
+PERL_UNICODE_IN_FLAG # Z added by devel/scanprov
+PERL_UNICODE_INOUT # Z added by devel/scanprov
+PERL_UNICODE_INOUT_FLAG # Z added by devel/scanprov
+PERL_UNICODE_LOCALE # Z added by devel/scanprov
+PERL_UNICODE_LOCALE_FLAG # Z added by devel/scanprov
+PERL_UNICODE_OUT # Z added by devel/scanprov
+PERL_UNICODE_OUT_FLAG # Z added by devel/scanprov
+PERL_UNICODE_STD # Z added by devel/scanprov
+PERL_UNICODE_STDERR # Z added by devel/scanprov
+PERL_UNICODE_STDERR_FLAG # Z added by devel/scanprov
+PERL_UNICODE_STD_FLAG # Z added by devel/scanprov
+PERL_UNICODE_STDIN # Z added by devel/scanprov
+PERL_UNICODE_STDIN_FLAG # Z added by devel/scanprov
+PERL_UNICODE_STDOUT # Z added by devel/scanprov
+PERL_UNICODE_STDOUT_FLAG # Z added by devel/scanprov
+PERL_UNICODE_WIDESYSCALLS # Z added by devel/scanprov
+PERL_UNICODE_WIDESYSCALLS_FLAG # Z added by devel/scanprov
+PIPESOCK_MODE # Z added by devel/scanprov
+PL_checkav_save # Z added by devel/scanprov
+PL_clocktick # Z added by devel/scanprov
PL_comppad # E
-save_bool # U
+PL_in_load_module # Z added by devel/scanprov
+PL_reentrant_retint # Z added by devel/scanprov
+PL_signals # M added by devel/scanprov
+PL_stashcache # Z added by devel/scanprov
+PL_unicode # Z added by devel/scanprov
+PL_utf8locale # Z added by devel/scanprov
+pthread_create # Z added by devel/scanprov
+pthread_keycreate # Z added by devel/scanprov
+REENTRANT_PROTO_I_TsISBWRE # Z added by devel/scanprov
+REENTRANT_PROTO_I_uISBWRE # Z added by devel/scanprov
+RMS_DIR # Z added by devel/scanprov
+RMS_FAC # Z added by devel/scanprov
+RMS_FEX # Z added by devel/scanprov
+RMS_FNF # Z added by devel/scanprov
+RMS_IFI # Z added by devel/scanprov
+RMS_ISI # Z added by devel/scanprov
+RMS_PRV # Z added by devel/scanprov
+RX_MATCH_UTF8 # Z added by devel/scanprov
+RX_MATCH_UTF8_off # Z added by devel/scanprov
+RX_MATCH_UTF8_on # Z added by devel/scanprov
+RX_MATCH_UTF8_set # Z added by devel/scanprov
+save_bool # F added by devel/scanprov
+SAVEBOOL # U
savestack_grow_cnt # U
+SAVEt_BOOL # Z added by devel/scanprov
seed # U
+SS_ACCVIO # Z added by devel/scanprov
+SS_DEVOFFLINE # Z added by devel/scanprov
+SSGROW # Z added by devel/scanprov
+SS_IVCHAN # Z added by devel/scanprov
+SS_NORMAL # Z added by devel/scanprov
+SSPOPBOOL # Z added by devel/scanprov
+SSPUSHBOOL # Z added by devel/scanprov
sv_cat_decode # U
+SV_CHECK_THINKFIRST # Z added by devel/scanprov
SV_COW_DROP_PV # E
+SVf256 # Z added by devel/scanprov
sv_setpviv # U
sv_setpviv_mg # U
+SV_UTF8_NO_ENCODING # E
SvVOK # U
+TOO_LATE_FOR # Z added by devel/scanprov
+UNLOCK_DOLLARZERO_MUTEX # Z added by devel/scanprov
+unpack_rec # F added by devel/scanprov
unpackstring # U
+USE_HASH_SEED # Z added by devel/scanprov
+WEXITSTATUS # Z added by devel/scanprov
+WIFEXITED # Z added by devel/scanprov
+WIFSIGNALED # Z added by devel/scanprov
+WIFSTOPPED # Z added by devel/scanprov
+WNOHANG # Z added by devel/scanprov
+write_to_stderr # F added by devel/scanprov
+WSTOPSIG # Z added by devel/scanprov
+WTERMSIG # Z added by devel/scanprov
+WUNTRACED # Z added by devel/scanprov
XSRETURN_UV # U
XST_mUV # U
-IN_PERL_COMPILETIME # M added by devel/scanprov
-PERL_SIGNALS_UNSAFE_FLAG # M added by devel/scanprov
-PL_signals # M added by devel/scanprov
-SV_UTF8_NO_ENCODING # M added by devel/scanprov
-allocmy # F added by devel/scanprov
-deb_stack_all # F added by devel/scanprov
-deb_stack_n # F added by devel/scanprov
-do_dump_pad # F added by devel/scanprov
-doopen_pm # F added by devel/scanprov
-free_tied_hv_pool # F added by devel/scanprov
-get_debug_opts # F added by devel/scanprov
-get_hash_seed # F added by devel/scanprov
-get_num # F added by devel/scanprov
-magic_setregexp # F added by devel/scanprov
-magic_setutf8 # F added by devel/scanprov
-pack_rec # F added by devel/scanprov
-pad_block_start # F added by devel/scanprov
-pad_check_dup # F added by devel/scanprov
-pad_fixup_inner_anons # F added by devel/scanprov
-pad_push # F added by devel/scanprov
-parse_unicode_opts # F added by devel/scanprov
-unpack_rec # F added by devel/scanprov
-write_to_stderr # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5008002 b/dist/Devel-PPPort/parts/base/5008002
index 63aac525fe..5560e4e5ac 100644
--- a/dist/Devel-PPPort/parts/base/5008002
+++ b/dist/Devel-PPPort/parts/base/5008002
@@ -1 +1,6 @@
5.008002
+HVhek_ENABLEHVKFLAGS # Z added by devel/scanprov
+PAD_SET_CUR_NOSAVE # Z added by devel/scanprov
+PERL_HASH_INTERNAL # Z added by devel/scanprov
+PIPE_OPEN_MODE # Z added by devel/scanprov
+SOCKET_OPEN_MODE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5008009 b/dist/Devel-PPPort/parts/base/5008009
index 65bf569c15..129e018f45 100644
--- a/dist/Devel-PPPort/parts/base/5008009
+++ b/dist/Devel-PPPort/parts/base/5008009
@@ -1,2 +1 @@
5.008009
-hv_assert # U
diff --git a/dist/Devel-PPPort/parts/base/5009000 b/dist/Devel-PPPort/parts/base/5009000
index e33d67e48d..d67e8b222f 100644
--- a/dist/Devel-PPPort/parts/base/5009000
+++ b/dist/Devel-PPPort/parts/base/5009000
@@ -2,19 +2,49 @@
_aMY_CXT # E
aMY_CXT # E
aMY_CXT_ # E
+asctime # Z added by devel/scanprov
+CAN_COW_FLAGS # Z added by devel/scanprov
+CAN_COW_MASK # Z added by devel/scanprov
+crypt # Z added by devel/scanprov
+ctermid # Z added by devel/scanprov
+ctime # Z added by devel/scanprov
+DEBUG_C # Z added by devel/scanprov
+DEBUG_C_FLAG # Z added by devel/scanprov
+DEBUG_C_TEST # Z added by devel/scanprov
dMY_CXT # E
+endgrent # Z added by devel/scanprov
+endpwent # Z added by devel/scanprov
+getgrent # Z added by devel/scanprov
+getgrgid # Z added by devel/scanprov
+getgrnam # Z added by devel/scanprov
+getpwent # Z added by devel/scanprov
+getpwnam # Z added by devel/scanprov
+getpwuid # Z added by devel/scanprov
+getspnam # Z added by devel/scanprov
hek_dup # U
MY_CXT # E
MY_CXT_INIT # E
-my_cxt_init # U
new_version # U
parser_dup # E
+Perl_sv_free2 # F added by devel/scanprov
+PL_cv_has_eval # Z added by devel/scanprov
pMY_CXT # E
-regdupe_internal # U
+readdir64 # Z added by devel/scanprov
+RX_MATCH_COPY_FREE # Z added by devel/scanprov
save_set_svflags # U
+SAVESETSVFLAGS # Z added by devel/scanprov
+SAVEt_SET_SVFLAGS # Z added by devel/scanprov
+setgrent # Z added by devel/scanprov
+setlocale # Z added by devel/scanprov
+setpwent # Z added by devel/scanprov
+strerror # Z added by devel/scanprov
+SV_CHECK_THINKFIRST_COW_DROP # Z added by devel/scanprov
+SvPADSTALE # Z added by devel/scanprov
+SvPADSTALE_off # Z added by devel/scanprov
+SvPADSTALE_on # Z added by devel/scanprov
+sv_setsv_cow # F added by devel/scanprov
SVs_PADSTALE # E
+ttyname # Z added by devel/scanprov
vcmp # U
vnumify # U
vstringify # U
-Perl_sv_free2 # F added by devel/scanprov
-sv_setsv_cow # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5009001 b/dist/Devel-PPPort/parts/base/5009001
index 90ab5a1efa..eec9147b32 100644
--- a/dist/Devel-PPPort/parts/base/5009001
+++ b/dist/Devel-PPPort/parts/base/5009001
@@ -1,11 +1,29 @@
5.009001
+DEBUG_A # Z added by devel/scanprov
+DEBUG_A_FLAG # Z added by devel/scanprov
+DEBUG_A_TEST # Z added by devel/scanprov
+DEBUG_q # Z added by devel/scanprov
+DEBUG_q_FLAG # Z added by devel/scanprov
+DEBUG_q_TEST # Z added by devel/scanprov
+FF_LINESNGL # Z added by devel/scanprov
hv_clear_placeholders # U
+hv_delete_common # F added by devel/scanprov
hv_scalar # U
+magic_scalarpack # F added by devel/scanprov
+num_overflow # F added by devel/scanprov
+OPpCONST_SHORTCIRCUIT # Z added by devel/scanprov
+OPpFT_STACKED # Z added by devel/scanprov
+OPpSORT_INPLACE # Z added by devel/scanprov
+OPpTRANS_ALL # Z added by devel/scanprov
+Perl_ceil # Z added by devel/scanprov
+Perl_hv_assert # F added by devel/scanprov
scan_version # E (Perl_scan_version)
+sv_2iv # Z added by devel/scanprov
sv_2iv_flags # U
+sv_2uv # M added by devel/scanprov
sv_2uv_flags # U
SvIV_nomg # U
SvUV_nomg # U
-hv_delete_common # F added by devel/scanprov
-magic_scalarpack # F added by devel/scanprov
-num_overflow # F added by devel/scanprov
+YYSTYPE_IS_DECLARED # Z added by devel/scanprov
+YYSTYPE_IS_TRIVIAL # Z added by devel/scanprov
+YYTOKENTYPE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5009002 b/dist/Devel-PPPort/parts/base/5009002
index 2409a8a20d..a133fd3bfa 100644
--- a/dist/Devel-PPPort/parts/base/5009002
+++ b/dist/Devel-PPPort/parts/base/5009002
@@ -1,10 +1,23 @@
5.009002
CopyD # E
+DEBUG_COMPILE_r # Z added by devel/scanprov
+DEBUG_EXECUTE_r # Z added by devel/scanprov
+DEBUG_OFFSETS_r # Z added by devel/scanprov
+DEBUG_OPTIMISE_r # Z added by devel/scanprov
+DEBUG_TRIE_COMPILE_MORE_r # Z added by devel/scanprov
+DEBUG_TRIE_COMPILE_r # Z added by devel/scanprov
+DEBUG_TRIE_EXECUTE_MORE_r # Z added by devel/scanprov
+DEBUG_TRIE_EXECUTE_r # Z added by devel/scanprov
+DEBUG_TRIE_r # Z added by devel/scanprov
dUNDERBAR # E
dXCPT # E
find_rundefsvoffset # U
+find_uninit_var # F added by devel/scanprov
gv_fetchpvn_flags # U
gv_fetchsv # U
+make_trie # F added by devel/scanprov
+MEM_WRAP_CHECK # Z added by devel/scanprov
+MEM_WRAP_CHECK_1 # Z added by devel/scanprov
MoveD # E
mPUSHi # U
mPUSHn # U
@@ -15,12 +28,29 @@ mXPUSHn # U
mXPUSHp # U
mXPUSHu # U
MY_CXT_CLONE # E
+OPpITER_REVERSED # Z added by devel/scanprov
+OPpSORT_DESCEND # Z added by devel/scanprov
op_refcnt_lock # U
op_refcnt_unlock # U
+PERL_MALLOC_WRAP # K added by devel/scanprov
+pTHX__FORMAT # Z added by devel/scanprov
+pTHX_FORMAT # Z added by devel/scanprov
+pTHX__VALUE # Z added by devel/scanprov
+pTHX_VALUE # Z added by devel/scanprov
PUSHmortal # E
+RE_DEBUG_FLAGS # Z added by devel/scanprov
+RE_TRIE_MAXBUF_INIT # Z added by devel/scanprov
+RE_TRIE_MAXBUF_NAME # Z added by devel/scanprov
+SAFE_TRIE_NODENUM # Z added by devel/scanprov
savesvpv # U
+SAVESWITCHSTACK # Z added by devel/scanprov
+SAVEt_SAVESWITCHSTACK # Z added by devel/scanprov
+SVf32 # Z added by devel/scanprov
SV_NOSTEAL # E
SvPVbyte_force # U
+TRIE # Z added by devel/scanprov
+TRIE_NODEIDX # Z added by devel/scanprov
+TRIE_NODENUM # Z added by devel/scanprov
UNDERBAR # E
UTF8_MAXBYTES # E
UTF8_MAXBYTES_CASE # E
@@ -31,5 +61,3 @@ XCPT_TRY_END # E
XCPT_TRY_START # E
XPUSHmortal # E
ZeroD # E
-find_uninit_var # F added by devel/scanprov
-make_trie # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5009003 b/dist/Devel-PPPort/parts/base/5009003
index 69b81a2ffb..e3a836957c 100644
--- a/dist/Devel-PPPort/parts/base/5009003
+++ b/dist/Devel-PPPort/parts/base/5009003
@@ -1,26 +1,91 @@
5.009003
-av_arylen_p # U
-ckwarn # U
-ckwarn_d # U
+amagic_cmp # F added by devel/scanprov
+amagic_cmp_locale # F added by devel/scanprov
+amagic_i_ncmp # F added by devel/scanprov
+amagic_ncmp # F added by devel/scanprov
+AvREAL_only # Z added by devel/scanprov
+AvREIFY_only # Z added by devel/scanprov
+C_FAC_POSIX # Z added by devel/scanprov
+check_type_and_open # F added by devel/scanprov
+child_offset_bits # Z added by devel/scanprov
+CopFILEAVx # Z added by devel/scanprov
+CxFOREACH # Z added by devel/scanprov
+CxMULTICALL # Z added by devel/scanprov
+CXp_MULTICALL # Z added by devel/scanprov
dAXMARK # E
dMULTICALL # E
+dMY_CXT_INTERP # Z added by devel/scanprov
+do_aexec # Z added by devel/scanprov
+do_exec # Z added by devel/scanprov
doref # U
+DPTR2FPTR # Z added by devel/scanprov
+dump_sv_child # F added by devel/scanprov
dVAR # E
+EXTPERLIO # Z added by devel/scanprov
+F0convert # F added by devel/scanprov
+FAKE_DEFAULT_SIGNAL_HANDLERS # Z added by devel/scanprov
+FAKE_PERSISTENT_SIGNAL_HANDLERS # Z added by devel/scanprov
+first_symbol # F added by devel/scanprov
+FPTR2DPTR # Z added by devel/scanprov
+FUNCTION # Z added by devel/scanprov
gv_const_sv # U
GV_NOADD_NOINIT # E
GV_NOEXPAND # E
gv_stashpvs # U
+GvSVn # U
+HASATTRIBUTE_FORMAT # K added by devel/scanprov
+HASATTRIBUTE_MALLOC # K added by devel/scanprov
+HASATTRIBUTE_NONNULL # K added by devel/scanprov
+HASATTRIBUTE_NORETURN # K added by devel/scanprov
+HASATTRIBUTE_PURE # K added by devel/scanprov
+HASATTRIBUTE_UNUSED # K added by devel/scanprov
+HASATTRIBUTE_WARN_UNUSED_RESULT # K added by devel/scanprov
+HAS_CLEARENV # K added by devel/scanprov
+HAS_FUTIMES # K added by devel/scanprov
+HAS_MODFL_PROTO # K added by devel/scanprov
+HAS_SNPRINTF # K added by devel/scanprov
+HAS_UNSETENV # K added by devel/scanprov
+HAS_VSNPRINTF # K added by devel/scanprov
+HE_SVSLOT # Z added by devel/scanprov
+HvAUX # Z added by devel/scanprov
+hv_auxinit # F added by devel/scanprov
+HvEITER_get # Z added by devel/scanprov
hv_eiter_p # U
hv_eiter_set # U
+HvEITER_set # Z added by devel/scanprov
hv_fetchs # U
+HvNAME_get # M added by devel/scanprov
+HvNAME_HEK # Z added by devel/scanprov
+HvNAMELEN_get # U
hv_name_set # U
hv_placeholders_get # U
+HvPLACEHOLDERS_get # Z added by devel/scanprov
hv_placeholders_set # U
+HvPLACEHOLDERS_set # Z added by devel/scanprov
+HvRITER_get # Z added by devel/scanprov
hv_riter_p # U
hv_riter_set # U
+HvRITER_set # Z added by devel/scanprov
+incpush_if_exists # F added by devel/scanprov
+IS_UTF8_CHAR # Z added by devel/scanprov
+is_utf8_common # F added by devel/scanprov
is_utf8_string_loclen # U
+KEY_given # Z added by devel/scanprov
+KEY_say # Z added by devel/scanprov
+LIBM_LIB_VERSION # K added by devel/scanprov
+magic_freearylen_p # F added by devel/scanprov
+MEM_LOG_ALLOC # Z added by devel/scanprov
+MEM_LOG_FREE # Z added by devel/scanprov
+MEM_LOG_REALLOC # Z added by devel/scanprov
+MGf_LOCAL # Z added by devel/scanprov
+mg_localize # F added by devel/scanprov
+MgPV_const # Z added by devel/scanprov
+MgPV_nolen_const # Z added by devel/scanprov
MULTICALL # E
+my_clearenv # F added by devel/scanprov
+MY_CXT_INIT_INTERP # Z added by devel/scanprov
my_sprintf # U
+need_utf8 # F added by devel/scanprov
newGIVENOP # U
newSVhek # U
newSVpvs # U
@@ -28,79 +93,120 @@ newSVpvs_share # U
Newx # E
Newxc # E
Newxz # E
+NORETURN_FUNCTION_END # Z added by devel/scanprov
+NSIG # Z added by devel/scanprov
+NV_ZERO_IS_ALLBITS_ZERO # K added by devel/scanprov
+OPpASSIGN_CV_TO_GV # Z added by devel/scanprov
+OPpCONST_NOVER # Z added by devel/scanprov
+OPpDONT_INIT_GV # Z added by devel/scanprov
+OPpEVAL_HAS_HH # Z added by devel/scanprov
+OPpMAY_RETURN_CONSTANT # Z added by devel/scanprov
+OPpSORT_STABLE # Z added by devel/scanprov
+PAD_COMPNAME_GEN_set # Z added by devel/scanprov
+pad_compname_type # U
+PERL_ARENA_SIZE # Z added by devel/scanprov
+Perl_av_arylen_p # F added by devel/scanprov
+Perl_ckwarn # F added by devel/scanprov
+Perl_ckwarn_d # F added by devel/scanprov
+PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION # Z added by devel/scanprov
+PERL_DONT_CREATE_GVSV # Z added by devel/scanprov
+Perl_hv_backreferences_p # F added by devel/scanprov
+Perl_hv_placeholders_p # F added by devel/scanprov
+PERLIO_FUNCS_CAST # U
+PERLIO_FUNCS_DECL # M added by devel/scanprov
PERL_MAGIC_arylen_p # E
PERL_MAGIC_rhash # E
PERL_MAGIC_symtab # E
-PL_check # E
-POP_MULTICALL # E
-savepvs # U
-sortsv_flags # U
-sv_catpvs # U
-SvMAGIC_set # U
-SvRV_set # U
-SV_SMAGIC # E
-SvSTASH_set # U
-SvUV_set # U
-vverify # U
-GvSVn # M added by devel/scanprov
-HvNAME_get # M added by devel/scanprov
-HvNAMELEN_get # M added by devel/scanprov
-PERLIO_FUNCS_CAST # M added by devel/scanprov
-PERLIO_FUNCS_DECL # M added by devel/scanprov
-PERL_UNUSED_ARG # M added by devel/scanprov
-PTR2nat # M added by devel/scanprov
-STR_WITH_LEN # M added by devel/scanprov
-SV_CONST_RETURN # M added by devel/scanprov
-SV_MUTABLE_RETURN # M added by devel/scanprov
-SvPV_const # M added by devel/scanprov
-SvPV_flags_const # M added by devel/scanprov
-SvPV_flags_const_nolen # M added by devel/scanprov
-SvPV_flags_mutable # M added by devel/scanprov
-SvPV_force_flags_mutable # M added by devel/scanprov
-SvPV_force_flags_nolen # M added by devel/scanprov
-SvPV_force_mutable # M added by devel/scanprov
-SvPV_force_nolen # M added by devel/scanprov
-SvPV_force_nomg_nolen # M added by devel/scanprov
-SvPV_mutable # M added by devel/scanprov
-SvPV_nolen_const # M added by devel/scanprov
-SvPV_nomg_const # M added by devel/scanprov
-SvPV_nomg_const_nolen # M added by devel/scanprov
-SvPV_renew # M added by devel/scanprov
-SvPVX_const # M added by devel/scanprov
-SvPVX_mutable # M added by devel/scanprov
-SvSHARED_HASH # M added by devel/scanprov
-amagic_cmp # F added by devel/scanprov
-amagic_cmp_locale # F added by devel/scanprov
-amagic_i_ncmp # F added by devel/scanprov
-amagic_ncmp # F added by devel/scanprov
-check_type_and_open # F added by devel/scanprov
-dump_sv_child # F added by devel/scanprov
-F0convert # F added by devel/scanprov
-first_symbol # F added by devel/scanprov
-free_global_struct # F added by devel/scanprov
-hv_auxinit # F added by devel/scanprov
-incpush_if_exists # F added by devel/scanprov
-init_global_struct # F added by devel/scanprov
-is_utf8_common # F added by devel/scanprov
-magic_freearylen_p # F added by devel/scanprov
-mg_localize # F added by devel/scanprov
-my_clearenv # F added by devel/scanprov
-need_utf8 # F added by devel/scanprov
-Perl_hv_backreferences_p # F added by devel/scanprov
-Perl_hv_placeholders_p # F added by devel/scanprov
+PERL_STRLEN_ROUNDUP # Z added by devel/scanprov
+PERL_STRLEN_ROUNDUP_QUANTUM # Z added by devel/scanprov
Perl_sv_add_backref # F added by devel/scanprov
Perl_sv_kill_backrefs # F added by devel/scanprov
+PERL_TRACK_MEMPOOL # Z added by devel/scanprov
+PERL_UNUSED_ARG # U
+PERL_USES_PL_PIDSTATUS # Z added by devel/scanprov
+PL_body_roots # Z added by devel/scanprov
+PL_check # E
+PL_dumper_fd # Z added by devel/scanprov
+PL_minus_E # Z added by devel/scanprov
+PL_my_cxt_list # Z added by devel/scanprov
+PL_my_cxt_size # Z added by devel/scanprov
+PL_statusvalue_posix # Z added by devel/scanprov
+POP_MULTICALL # E
+POPpconstx # Z added by devel/scanprov
+pTHX_5 # Z added by devel/scanprov
+pTHX_6 # Z added by devel/scanprov
+pTHX_7 # Z added by devel/scanprov
+pTHX_8 # Z added by devel/scanprov
+pTHX_9 # Z added by devel/scanprov
+PTR2nat # U
+REENTR_MEMZERO # Z added by devel/scanprov
+ref # Z added by devel/scanprov
restore_magic # F added by devel/scanprov
run_user_filter # F added by devel/scanprov
+savepvs # U
sequence_num # F added by devel/scanprov
+share_hek_hek # Z added by devel/scanprov
sortcv # F added by devel/scanprov
sortcv_stacked # F added by devel/scanprov
sortcv_xsub # F added by devel/scanprov
+sortsv_flags # U
+STATUS_EXIT # Z added by devel/scanprov
+STATUS_EXIT_SET # Z added by devel/scanprov
+STATUS_NATIVE_CHILD_SET # Z added by devel/scanprov
+STATUS_UNIX # Z added by devel/scanprov
+STATUS_UNIX_EXIT_SET # Z added by devel/scanprov
+STATUS_UNIX_SET # Z added by devel/scanprov
strip_return # F added by devel/scanprov
+STR_WITH_LEN # M added by devel/scanprov
+sv_2pvbyte_nolen # M added by devel/scanprov
+sv_2pv_nolen # M added by devel/scanprov
+sv_2pvutf8_nolen # Z added by devel/scanprov
+sv_catpvs # U
+SV_CONST_RETURN # M added by devel/scanprov
sv_exp_grow # F added by devel/scanprov
+SvGROW_mutable # Z added by devel/scanprov
sv_i_ncmp # F added by devel/scanprov
+SvIS_FREED # Z added by devel/scanprov
+SvMAGIC_set # U
+SV_MUTABLE_RETURN # M added by devel/scanprov
sv_ncmp # F added by devel/scanprov
+SVpav_REAL # Z added by devel/scanprov
+SVpav_REIFY # Z added by devel/scanprov
+SVphv_CLONEABLE # Z added by devel/scanprov
+SvPVbytex_nolen # Z added by devel/scanprov
+SvPV_const # U
+SvPV_flags_const # U
+SvPV_flags_const_nolen # U
+SvPV_flags_mutable # U
+SvPV_force_flags_mutable # U
+SvPV_force_flags_nolen # U
+SvPV_force_mutable # U
+SvPV_force_nolen # U
+SvPV_force_nomg_nolen # U
+SvPV_free # Z added by devel/scanprov
+SvPV_mutable # U
+SvPV_nolen_const # U
+SvPV_nomg_const # U
+SvPV_nomg_const_nolen # U
+SvPV_renew # U
+SvPV_shrink_to_cur # U
+SvPVX_const # U
+SvPVx_const # Z added by devel/scanprov
+SvPVX_mutable # U
+SvPVx_nolen # Z added by devel/scanprov
+SvPVx_nolen_const # Z added by devel/scanprov
+SvRV_set # U
+SvSHARED_HASH # U
+SvSHARED_HEK_FROM_PV # Z added by devel/scanprov
+SV_SMAGIC # E
+SvSTASH_set # U
+sv_taint # Z added by devel/scanprov
+SvUV_set # U
tokenize_use # F added by devel/scanprov
+tTHX # Z added by devel/scanprov
uiv_2buf # F added by devel/scanprov
unwind_handler_stack # F added by devel/scanprov
varname # F added by devel/scanprov
+vverify # U
+xiv_iv # Z added by devel/scanprov
+xuv_uv # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5009004 b/dist/Devel-PPPort/parts/base/5009004
index c4e52c874a..e658671adb 100644
--- a/dist/Devel-PPPort/parts/base/5009004
+++ b/dist/Devel-PPPort/parts/base/5009004
@@ -1,16 +1,87 @@
5.009004
+assert_not_glob # Z added by devel/scanprov
+clear_placeholders # F added by devel/scanprov
+CopHINTS_get # Z added by devel/scanprov
+CopHINTS_set # Z added by devel/scanprov
+create_eval_scope # F added by devel/scanprov
+cv_ckproto # Z added by devel/scanprov
+CVf_ISXSUB # Z added by devel/scanprov
+CvISXSUB # Z added by devel/scanprov
+CvISXSUB_off # Z added by devel/scanprov
+CvISXSUB_on # Z added by devel/scanprov
+DEBUG_DUMP_r # Z added by devel/scanprov
+DEBUG_EXTRA_r # Z added by devel/scanprov
+DEBUG_INTUIT_r # Z added by devel/scanprov
+DEBUG_MATCH_r # Z added by devel/scanprov
+DEBUG_PARSE_r # Z added by devel/scanprov
+debug_start_match # F added by devel/scanprov
+DEBUG_STATE_r # Z added by devel/scanprov
+delete_eval_scope # F added by devel/scanprov
+dump_exec_pos # F added by devel/scanprov
+dump_trie # F added by devel/scanprov
+dump_trie_interim_list # F added by devel/scanprov
+dump_trie_interim_table # F added by devel/scanprov
+DUP_WARNINGS # Z added by devel/scanprov
+exec_failed # F added by devel/scanprov
+EXPECT # Z added by devel/scanprov
+EXT_MGVTBL # Z added by devel/scanprov
+find_array_subscript # F added by devel/scanprov
+find_hash_subscript # F added by devel/scanprov
+G_FAKINGEVAL # Z added by devel/scanprov
+glob_2number # F added by devel/scanprov
+glob_assign_glob # F added by devel/scanprov
+gv_fetchpvs # U
+GvFILE_HEK # Z added by devel/scanprov
+GvNAME_get # Z added by devel/scanprov
+GvNAME_HEK # Z added by devel/scanprov
+GvNAMELEN_get # Z added by devel/scanprov
gv_name_set # U
+GV_NOTQUAL # E
+HAS_BUILTIN_CHOOSE_EXPR # K added by devel/scanprov
+HAS_C99_VARIADIC_MACROS # K added by devel/scanprov
+HINTS_REFCNT_INIT # Z added by devel/scanprov
+HINTS_REFCNT_LOCK # Z added by devel/scanprov
+HINTS_REFCNT_TERM # Z added by devel/scanprov
+HINTS_REFCNT_UNLOCK # Z added by devel/scanprov
hv_copy_hints_hv # U
+HVhek_UNSHARED # Z added by devel/scanprov
+HVrhek_delete # Z added by devel/scanprov
+HVrhek_IV # Z added by devel/scanprov
+HVrhek_PV # Z added by devel/scanprov
+HVrhek_typemask # Z added by devel/scanprov
+HVrhek_undef # Z added by devel/scanprov
+HVrhek_UV # Z added by devel/scanprov
hv_stores # U
+INIT_TRACK_MEMPOOL # Z added by devel/scanprov
+isGV_with_GP # U
+join_exact # F added by devel/scanprov
+KEY_state # Z added by devel/scanprov
LIKELY # U
+magic_clearhint # F added by devel/scanprov
+magic_sethint # F added by devel/scanprov
+MJD_OFFSET_DEBUG # Z added by devel/scanprov
+more_sv # F added by devel/scanprov
my_snprintf # U
my_strlcat # U
my_strlcpy # U
my_vsnprintf # U
newXS_flags # U
+NO_ENV_ARRAY_IN_MAIN # Z added by devel/scanprov
+OPpPAD_STATE # Z added by devel/scanprov
+PAD_COMPNAME_FLAGS_isOUR # Z added by devel/scanprov
+pad_peg # Z added by devel/scanprov
+PERL_ARENA_ROOTS_SIZE # Z added by devel/scanprov
+PERL_ENABLE_EXPERIMENTAL_REGEX_OPTIMISATIONS # Z added by devel/scanprov
+PERL_ENABLE_EXTENDED_TRIE_OPTIMISATION # Z added by devel/scanprov
+PERL_ENABLE_TRIE_OPTIMISATION # Z added by devel/scanprov
PerlIO_context_layers # U
PERL_MAGIC_hints # E
PERL_MAGIC_hintselem # E
+PERL_MY_SNPRINTF_GUARDED # Z added by devel/scanprov
+PERL_MY_VSNPRINTF_GUARDED # Z added by devel/scanprov
+Perl_newGP # F added by devel/scanprov
+Perl_new_warnings_bitfield # F added by devel/scanprov
+PERL_NO_DEV_RANDOM # Z added by devel/scanprov
PERL_PV_ESCAPE_ALL # E
PERL_PV_ESCAPE_FIRSTCHAR # E
PERL_PV_ESCAPE_NOBACKSLASH # E
@@ -18,15 +89,70 @@ PERL_PV_ESCAPE_NOCLEAR # E
PERL_PV_ESCAPE_QUOTE # E
PERL_PV_ESCAPE_UNI # E
PERL_PV_ESCAPE_UNI_DETECT # E
+PERL_PV_PRETTY_DUMP # M added by devel/scanprov
PERL_PV_PRETTY_LTGT # E
PERL_PV_PRETTY_QUOTE # E
+PERL_PV_PRETTY_REGPROP # M added by devel/scanprov
+PERL_REGMATCH_SLAB_SLOTS # Z added by devel/scanprov
+PERL_UNICODE_UTF8CACHEASSERT # Z added by devel/scanprov
+PERL_UNICODE_UTF8CACHEASSERT_FLAG # Z added by devel/scanprov
+PERL_UNLOCK_HOOK # Z added by devel/scanprov
+PERL_UNUSED_CONTEXT # E
+PERL_USE_GCC_BRACE_GROUPS # M added by devel/scanprov
+PERL_WARNHOOK_FATAL # Z added by devel/scanprov
+PL_body_arenas # Z added by devel/scanprov
+PL_memory_debug_header # Z added by devel/scanprov
+PL_regmatch_slab # Z added by devel/scanprov
+PL_regmatch_state # Z added by devel/scanprov
+PL_utf8cache # Z added by devel/scanprov
+pm_description # F added by devel/scanprov
PoisonFree # E
PoisonNew # E
PoisonWith # E
+printbuf # F added by devel/scanprov
+PSEUDO # Z added by devel/scanprov
+ptr_table_find # F added by devel/scanprov
pv_escape # U
pv_pretty # U
+RE_DEBUG_COMPILE_DUMP # Z added by devel/scanprov
+RE_DEBUG_COMPILE_MASK # Z added by devel/scanprov
+RE_DEBUG_COMPILE_OPTIMISE # Z added by devel/scanprov
+RE_DEBUG_COMPILE_PARSE # Z added by devel/scanprov
+RE_DEBUG_COMPILE_TRIE # Z added by devel/scanprov
+RE_DEBUG_EXECUTE_INTUIT # Z added by devel/scanprov
+RE_DEBUG_EXECUTE_MASK # Z added by devel/scanprov
+RE_DEBUG_EXECUTE_MATCH # Z added by devel/scanprov
+RE_DEBUG_EXECUTE_TRIE # Z added by devel/scanprov
+RE_DEBUG_EXTRA_MASK # Z added by devel/scanprov
+RE_DEBUG_EXTRA_OFFSETS # Z added by devel/scanprov
+RE_DEBUG_EXTRA_STATE # Z added by devel/scanprov
+RE_DEBUG_EXTRA_TRIE # Z added by devel/scanprov
+RE_DEBUG_FLAG # Z added by devel/scanprov
+refcounted_he_value # F added by devel/scanprov
+REGNODE_MAX # Z added by devel/scanprov
+regtail_study # F added by devel/scanprov
+RE_PV_COLOR_DECL # Z added by devel/scanprov
+RE_PV_QUOTED_DECL # Z added by devel/scanprov
+RE_SV_DUMPLEN # Z added by devel/scanprov
+RE_SV_ESCAPE # Z added by devel/scanprov
+RE_SV_TAIL # Z added by devel/scanprov
+SAVECOMPILEWARNINGS # Z added by devel/scanprov
+SAVEt_COMPILE_WARNINGS # Z added by devel/scanprov
+space_join_names_mortal # F added by devel/scanprov
+sv_2iuv_common # F added by devel/scanprov
sv_does # U
SV_HAS_TRAILING_NUL # E
+SvPAD_OUR # Z added by devel/scanprov
+SvPAD_OUR_on # Z added by devel/scanprov
+SVpad_STATE # Z added by devel/scanprov
+SvPAD_STATE # Z added by devel/scanprov
+SvPAD_STATE_on # Z added by devel/scanprov
+SvPAD_TYPED # Z added by devel/scanprov
+SvPAD_TYPED_on # Z added by devel/scanprov
+sv_pos_b2u_midway # F added by devel/scanprov
+sv_pos_u2b_cached # F added by devel/scanprov
+sv_pos_u2b_forwards # F added by devel/scanprov
+sv_pos_u2b_midway # F added by devel/scanprov
SvREFCNT_inc_NN # U
SvREFCNT_inc_simple # U
SvREFCNT_inc_simple_NN # U
@@ -36,42 +162,15 @@ SvREFCNT_inc_void # U
SvREFCNT_inc_void_NN # U
sv_setpvs # U
sv_usepvn_flags # U
+SvVSTRING_mg # U
+TRIE_BITMAP # Z added by devel/scanprov
+TRIE_BITMAP_BYTE # Z added by devel/scanprov
+TRIE_BITMAP_CLEAR # Z added by devel/scanprov
+TRIE_BITMAP_SET # Z added by devel/scanprov
+TRIE_BITMAP_TEST # Z added by devel/scanprov
+TRIEC # Z added by devel/scanprov
+TRIE_CHARCOUNT # Z added by devel/scanprov
UNLIKELY # U
-gv_fetchpvs # M added by devel/scanprov
-isGV_with_GP # M added by devel/scanprov
-PERL_PV_PRETTY_DUMP # M added by devel/scanprov
-PERL_PV_PRETTY_REGPROP # M added by devel/scanprov
-PERL_UNUSED_CONTEXT # M added by devel/scanprov
-PERL_USE_GCC_BRACE_GROUPS # M added by devel/scanprov
-SvVSTRING_mg # M added by devel/scanprov
-clear_placeholders # F added by devel/scanprov
-create_eval_scope # F added by devel/scanprov
-debug_start_match # F added by devel/scanprov
-delete_eval_scope # F added by devel/scanprov
-dump_exec_pos # F added by devel/scanprov
-dump_trie # F added by devel/scanprov
-dump_trie_interim_list # F added by devel/scanprov
-dump_trie_interim_table # F added by devel/scanprov
-exec_failed # F added by devel/scanprov
-find_array_subscript # F added by devel/scanprov
-find_hash_subscript # F added by devel/scanprov
-glob_2number # F added by devel/scanprov
-glob_assign_glob # F added by devel/scanprov
-join_exact # F added by devel/scanprov
-magic_clearhint # F added by devel/scanprov
-magic_sethint # F added by devel/scanprov
-more_sv # F added by devel/scanprov
-Perl_newGP # F added by devel/scanprov
-Perl_new_warnings_bitfield # F added by devel/scanprov
-pm_description # F added by devel/scanprov
-printbuf # F added by devel/scanprov
-ptr_table_find # F added by devel/scanprov
-refcounted_he_value # F added by devel/scanprov
-regtail_study # F added by devel/scanprov
-space_join_names_mortal # F added by devel/scanprov
-sv_2iuv_common # F added by devel/scanprov
-sv_pos_b2u_midway # F added by devel/scanprov
-sv_pos_u2b_cached # F added by devel/scanprov
-sv_pos_u2b_forwards # F added by devel/scanprov
-sv_pos_u2b_midway # F added by devel/scanprov
+UTF8_ALLOW_DEFAULT # Z added by devel/scanprov
utf8_mg_pos_cache_update # F added by devel/scanprov
+XS_DYNAMIC_FILENAME # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5009005 b/dist/Devel-PPPort/parts/base/5009005
index 17ce3d58c7..506ee198e5 100644
--- a/dist/Devel-PPPort/parts/base/5009005
+++ b/dist/Devel-PPPort/parts/base/5009005
@@ -1,62 +1,206 @@
5.009005
+ACCEPT # Z added by devel/scanprov
+AHOCORASICK # Z added by devel/scanprov
+AHOCORASICKC # Z added by devel/scanprov
+anchored_end_shift # Z added by devel/scanprov
+ANYOF_HORIZWS # Z added by devel/scanprov
+ANYOF_NHORIZWS # Z added by devel/scanprov
+ANYOF_NVERTWS # Z added by devel/scanprov
+ANYOF_VERTWS # Z added by devel/scanprov
+ARG2L # Z added by devel/scanprov
+ARG2L_LOC # Z added by devel/scanprov
+ARG2L_SET # Z added by devel/scanprov
av_create_and_push # U
av_create_and_unshift_one # U
+BITMAP_BYTE # Z added by devel/scanprov
+BITMAP_TEST # Z added by devel/scanprov
+BmFLAGS # Z added by devel/scanprov
+boot_core_mro # F added by devel/scanprov
+BRANCH_next # Z added by devel/scanprov
+BRANCH_next_fail # Z added by devel/scanprov
+CALLREGCOMP_ENG # Z added by devel/scanprov
+CALLREGDUPE # Z added by devel/scanprov
+CALLREGDUPE_PVT # Z added by devel/scanprov
+CALLREGFREE_PVT # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_ALL # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_CLEAR # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_COUNT # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_DELETE # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_EXISTS # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_FETCH # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_FIRSTKEY # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_NEXTKEY # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_SCALAR # Z added by devel/scanprov
+CALLREG_NAMED_BUFF_STORE # Z added by devel/scanprov
+CALLREG_NUMBUF_FETCH # Z added by devel/scanprov
+CALLREG_NUMBUF_LENGTH # Z added by devel/scanprov
+CALLREG_NUMBUF_STORE # Z added by devel/scanprov
+CALLREG_PACKAGE # Z added by devel/scanprov
+CASE_STD_PMMOD_FLAGS_PARSE_SET # Z added by devel/scanprov
+check_end_shift # Z added by devel/scanprov
+COMMIT # Z added by devel/scanprov
+COMMIT_next # Z added by devel/scanprov
+COMMIT_next_fail # Z added by devel/scanprov
+CONTINUE_PAT_MOD # Z added by devel/scanprov
+CopFILE_setn # Z added by devel/scanprov
CopLABEL # U
+CopLABEL_alloc # Z added by devel/scanprov
+COP_SEQ_RANGE_HIGH # Z added by devel/scanprov
+COP_SEQ_RANGE_LOW # Z added by devel/scanprov
+CURLY_B_max # Z added by devel/scanprov
+CURLY_B_max_fail # Z added by devel/scanprov
+CURLY_B_min # Z added by devel/scanprov
+CURLY_B_min_fail # Z added by devel/scanprov
+CURLYM_A # Z added by devel/scanprov
+CURLYM_A_fail # Z added by devel/scanprov
+CURLYM_B # Z added by devel/scanprov
+CURLYM_B_fail # Z added by devel/scanprov
+CURLYX_end # Z added by devel/scanprov
+CURLYX_end_fail # Z added by devel/scanprov
+CUTGROUP # Z added by devel/scanprov
+CUTGROUP_next # Z added by devel/scanprov
+CUTGROUP_next_fail # Z added by devel/scanprov
+cx_type # Z added by devel/scanprov
+DEBUG_BUFFERS_r # Z added by devel/scanprov
+DEBUG_FLAGS_r # Z added by devel/scanprov
+DEBUG_OPTIMISE_MORE_r # Z added by devel/scanprov
+DEBUG_STACK_r # Z added by devel/scanprov
+DEBUG_U # Z added by devel/scanprov
+DEBUG_U_FLAG # Z added by devel/scanprov
+DEBUG_U_TEST # Z added by devel/scanprov
+DEBUG_Uv # Z added by devel/scanprov
+DEBUG_Uv_TEST # Z added by devel/scanprov
+DEFINEP # Z added by devel/scanprov
+ENDLIKE # Z added by devel/scanprov
+EXEC_PAT_MOD # Z added by devel/scanprov
+EXEC_PAT_MODS # Z added by devel/scanprov
+EXT_PAT_MODS # Z added by devel/scanprov
+FAKE_BIT_BUCKET # Z added by devel/scanprov
+find_and_forget_pmops # F added by devel/scanprov
+float_end_shift # Z added by devel/scanprov
get_cvn_flags # U
+GLOBAL_PAT_MOD # Z added by devel/scanprov
+GOSUB # Z added by devel/scanprov
gv_fetchfile_flags # U
+GV_NOADD_MASK # Z added by devel/scanprov
+HAS_CTERMID # K added by devel/scanprov
+HAS_PTHREAD_YIELD # K added by devel/scanprov
+HAS_SIGNBIT # K added by devel/scanprov
+HINT_LEXICAL_IO_IN # Z added by devel/scanprov
+HINT_LEXICAL_IO_OUT # Z added by devel/scanprov
+HV_DELETE # Z added by devel/scanprov
+HV_FETCH_ISEXISTS # Z added by devel/scanprov
+HV_FETCH_ISSTORE # Z added by devel/scanprov
+HV_FETCH_JUST_SV # Z added by devel/scanprov
+HV_FETCH_LVALUE # Z added by devel/scanprov
+HvMROMETA # Z added by devel/scanprov
+HVrhek_PV_UTF8 # Z added by devel/scanprov
+IFMATCH_A # Z added by devel/scanprov
+IFMATCH_A_fail # Z added by devel/scanprov
+IGNORE_PAT_MOD # Z added by devel/scanprov
+INSUBP # Z added by devel/scanprov
+INT_PAT_MODS # Z added by devel/scanprov
+IS_ANYOF_TRIE # Z added by devel/scanprov
+isGV_with_GP_off # Z added by devel/scanprov
+isGV_with_GP_on # Z added by devel/scanprov
+is_LNBREAK_latin1_safe # Z added by devel/scanprov
+is_LNBREAK_safe # Z added by devel/scanprov
+is_LNBREAK_utf8_safe # Z added by devel/scanprov
+IS_TRIE_AC # Z added by devel/scanprov
+KEEPCOPY_PAT_MOD # Z added by devel/scanprov
+KEEPCOPY_PAT_MODS # Z added by devel/scanprov
+KEEPS # Z added by devel/scanprov
+KEEPS_next # Z added by devel/scanprov
+KEEPS_next_fail # Z added by devel/scanprov
+KEY_UNITCHECK # Z added by devel/scanprov
lex_start # E (Perl_lex_start)
+LNBREAK # Z added by devel/scanprov
+LOOP_PAT_MODS # Z added by devel/scanprov
+L_R_TZSET # K added by devel/scanprov
+MARKPOINT # Z added by devel/scanprov
+MARKPOINT_next # Z added by devel/scanprov
+MARKPOINT_next_fail # Z added by devel/scanprov
+MAX_RECURSE_EVAL_NOCHANGE_DEPTH # Z added by devel/scanprov
memEQs # U
memNEs # U
+MEM_SIZE_MAX # Z added by devel/scanprov
+M_PAT_MODS # Z added by devel/scanprov
mro_get_linear_isa # U
+mro_get_linear_isa_dfs # F added by devel/scanprov
+mro_isa_changed_in # F added by devel/scanprov
+mro_meta_dup # F added by devel/scanprov
mro_method_changed_in # U
+MULTILINE_PAT_MOD # Z added by devel/scanprov
+MY_CXT_INDEX # Z added by devel/scanprov
my_dirfd # U
newSV_type # U
+ONCE_PAT_MOD # Z added by devel/scanprov
+ONCE_PAT_MODS # Z added by devel/scanprov
+OPFAIL # Z added by devel/scanprov
+PAD_COMPNAME_SV # Z added by devel/scanprov
+PAD_FAKELEX_ANON # Z added by devel/scanprov
+PAD_FAKELEX_MULTI # Z added by devel/scanprov
+PARENT_FAKELEX_FLAGS # Z added by devel/scanprov
+PARENT_PAD_INDEX # Z added by devel/scanprov
+parser_free # F added by devel/scanprov
+Perl_emulate_cop_io # F added by devel/scanprov
+PERL_ENABLE_POSITIVE_ASSERTION_STUDY # Z added by devel/scanprov
+PERL_FILTER_EXISTS # Z added by devel/scanprov
+Perl_get_db_sub # F added by devel/scanprov
+Perl_get_re_arg # F added by devel/scanprov
+PERL___I # Z added by devel/scanprov
+PERLIO_INIT # Z added by devel/scanprov
+PERLIO_TERM # Z added by devel/scanprov
+Perl_mro_meta_init # F added by devel/scanprov
+Perl_op_refcnt_dec # F added by devel/scanprov
+Perl_op_refcnt_inc # F added by devel/scanprov
PERL_PV_ESCAPE_RE # E
+PERL_REENTR_API # Z added by devel/scanprov
Perl_signbit # U
+Perl_softref2xv # F added by devel/scanprov
+PL_isarev # Z added by devel/scanprov
PL_parser # E
+PL_unitcheckav # Z added by devel/scanprov
+PL_unitcheckav_save # Z added by devel/scanprov
+PMf_KEEPCOPY # Z added by devel/scanprov
+PMf_USED # Z added by devel/scanprov
pregcomp # E (Perl_pregcomp)
+PREGf_CUTGROUP_SEEN # Z added by devel/scanprov
+PREGf_IMPLICIT # Z added by devel/scanprov
+PREGf_NAUGHTY # Z added by devel/scanprov
+PREGf_SKIP # Z added by devel/scanprov
+PREGf_VERBARG_SEEN # Z added by devel/scanprov
+PRINTF_FORMAT_NULL_OK # K added by devel/scanprov
+process_special_blocks # F added by devel/scanprov
+PRUNE # Z added by devel/scanprov
ptr_table_clear # U
ptr_table_fetch # U
ptr_table_free # U
ptr_table_new # U
ptr_table_split # U
ptr_table_store # U
+QR_PAT_MODS # Z added by devel/scanprov
re_compile # U
-regfree_internal # U
-reg_named_buff_all # U
-reg_named_buff_exists # U
-reg_named_buff_fetch # U
-reg_named_buff_firstkey # U
-reg_named_buff_nextkey # U
-reg_named_buff_scalar # U
-savesharedpvn # U
-scan_vstring # E (Perl_scan_vstring)
-SVfARG # U
-SvRX # U
-SvRXOK # U
-upg_version # E (Perl_upg_version)
-GV_NOADD_MASK # M added by devel/scanprov
-SV_COW_SHARED_HASH_KEYS # M added by devel/scanprov
-boot_core_mro # F added by devel/scanprov
-find_and_forget_pmops # F added by devel/scanprov
-mro_get_linear_isa_dfs # F added by devel/scanprov
-mro_isa_changed_in # F added by devel/scanprov
-mro_meta_dup # F added by devel/scanprov
-parser_free # F added by devel/scanprov
-Perl_emulate_cop_io # F added by devel/scanprov
-Perl_get_db_sub # F added by devel/scanprov
-Perl_get_re_arg # F added by devel/scanprov
-Perl_mro_meta_init # F added by devel/scanprov
-Perl_my_cxt_index # F added by devel/scanprov
-Perl_op_refcnt_dec # F added by devel/scanprov
-Perl_op_refcnt_inc # F added by devel/scanprov
-Perl_softref2xv # F added by devel/scanprov
-process_special_blocks # F added by devel/scanprov
+RE_DEBUG_COMPILE_FLAGS # Z added by devel/scanprov
+RE_DEBUG_EXTRA_BUFFERS # Z added by devel/scanprov
+RE_DEBUG_EXTRA_OFFDEBUG # Z added by devel/scanprov
+RE_DEBUG_EXTRA_OPTIMISE # Z added by devel/scanprov
+RE_DEBUG_EXTRA_STACK # Z added by devel/scanprov
+REF_HE_KEY # Z added by devel/scanprov
reg_check_named_buff_matched # F added by devel/scanprov
regdump_extflags # F added by devel/scanprov
+regdupe_internal # F added by devel/scanprov
+regfree_internal # F added by devel/scanprov
reghop4 # F added by devel/scanprov
+REGMATCH_STATE_MAX # Z added by devel/scanprov
reg_named_buff # F added by devel/scanprov
+reg_named_buff_all # F added by devel/scanprov
+reg_named_buff_exists # F added by devel/scanprov
+reg_named_buff_fetch # F added by devel/scanprov
+reg_named_buff_firstkey # F added by devel/scanprov
reg_named_buff_iter # F added by devel/scanprov
+reg_named_buff_nextkey # F added by devel/scanprov
+reg_named_buff_scalar # F added by devel/scanprov
reg_numbered_buff_fetch # F added by devel/scanprov
reg_numbered_buff_length # F added by devel/scanprov
reg_numbered_buff_store # F added by devel/scanprov
@@ -65,5 +209,88 @@ reg_scan_name # F added by devel/scanprov
reg_skipcomment # F added by devel/scanprov
reg_temp_copy # F added by devel/scanprov
require_tie_mod # F added by devel/scanprov
+RE_TRACK_PATTERN_OFFSETS # Z added by devel/scanprov
+RXapif_ALL # Z added by devel/scanprov
+RXapif_CLEAR # Z added by devel/scanprov
+RXapif_DELETE # Z added by devel/scanprov
+RXapif_EXISTS # Z added by devel/scanprov
+RXapif_FETCH # Z added by devel/scanprov
+RXapif_FIRSTKEY # Z added by devel/scanprov
+RXapif_NEXTKEY # Z added by devel/scanprov
+RXapif_ONE # Z added by devel/scanprov
+RXapif_REGNAME # Z added by devel/scanprov
+RXapif_REGNAMES # Z added by devel/scanprov
+RXapif_REGNAMES_COUNT # Z added by devel/scanprov
+RXapif_SCALAR # Z added by devel/scanprov
+RXapif_STORE # Z added by devel/scanprov
+RX_BUFF_IDX_FULLMATCH # Z added by devel/scanprov
+RX_BUFF_IDX_POSTMATCH # Z added by devel/scanprov
+RX_BUFF_IDX_PREMATCH # Z added by devel/scanprov
+RXf_CHECK_ALL # Z added by devel/scanprov
+RXf_COPY_DONE # Z added by devel/scanprov
+RXf_EVAL_SEEN # Z added by devel/scanprov
+RXf_INTUIT_TAIL # Z added by devel/scanprov
+RXf_MATCH_UTF8 # Z added by devel/scanprov
+RXf_PMf_COMPILETIME # Z added by devel/scanprov
+RXf_PMf_EXTENDED # Z added by devel/scanprov
+RXf_PMf_FOLD # Z added by devel/scanprov
+RXf_PMf_KEEPCOPY # Z added by devel/scanprov
+RXf_PMf_MULTILINE # Z added by devel/scanprov
+RXf_PMf_SINGLELINE # Z added by devel/scanprov
+RXf_PMf_STD_PMMOD # Z added by devel/scanprov
+RXf_SKIPWHITE # Z added by devel/scanprov
+RXf_SPLIT # Z added by devel/scanprov
+RXf_START_ONLY # Z added by devel/scanprov
+RXf_TAINTED # Z added by devel/scanprov
+RXf_TAINTED_SEEN # Z added by devel/scanprov
+RXf_USE_INTUIT # Z added by devel/scanprov
+RXf_USE_INTUIT_ML # Z added by devel/scanprov
+RXf_USE_INTUIT_NOML # Z added by devel/scanprov
+RXf_WHITE # Z added by devel/scanprov
+RXi_GET # Z added by devel/scanprov
+RXi_GET_DECL # Z added by devel/scanprov
+RXi_SET # Z added by devel/scanprov
+SAVEPARSER # Z added by devel/scanprov
+savesharedpvn # U
+SAVEt_PARSER # Z added by devel/scanprov
+scan_vstring # E (Perl_scan_vstring)
+SINGLE_PAT_MOD # Z added by devel/scanprov
+SKIP # Z added by devel/scanprov
+SKIP_next # Z added by devel/scanprov
+SKIP_next_fail # Z added by devel/scanprov
Slab_to_rw # F added by devel/scanprov
+S_PAT_MODS # Z added by devel/scanprov
+STD_PAT_MODS # Z added by devel/scanprov
+SV_COW_OTHER_PVS # Z added by devel/scanprov
+SV_COW_SHARED_HASH_KEYS # M added by devel/scanprov
+SV_DO_COW_SVSETSV # Z added by devel/scanprov
+SVfARG # U
+SvOURSTASH # Z added by devel/scanprov
+SvOURSTASH_set # Z added by devel/scanprov
+SvPCS_IMPORTED # Z added by devel/scanprov
+SvPCS_IMPORTED_off # Z added by devel/scanprov
+SvPCS_IMPORTED_on # Z added by devel/scanprov
+SVpgv_GP # Z added by devel/scanprov
+SVprv_PCS_IMPORTED # Z added by devel/scanprov
+SvRX # U
+SvRXOK # U
+SV_SAVED_COPY # Z added by devel/scanprov
+SVt_PVBM # Z added by devel/scanprov
+TRIE_next # Z added by devel/scanprov
+TRIE_next_fail # Z added by devel/scanprov
+TRIE_WORDS_OFFSET # Z added by devel/scanprov
update_debugger_info # F added by devel/scanprov
+upg_version # E (Perl_upg_version)
+VERB # Z added by devel/scanprov
+WHILEM_A_max # Z added by devel/scanprov
+WHILEM_A_max_fail # Z added by devel/scanprov
+WHILEM_A_min # Z added by devel/scanprov
+WHILEM_A_min_fail # Z added by devel/scanprov
+WHILEM_A_pre # Z added by devel/scanprov
+WHILEM_A_pre_fail # Z added by devel/scanprov
+WHILEM_B_max # Z added by devel/scanprov
+WHILEM_B_max_fail # Z added by devel/scanprov
+WHILEM_B_min # Z added by devel/scanprov
+WHILEM_B_min_fail # Z added by devel/scanprov
+XTENDED_PAT_MOD # Z added by devel/scanprov
+YYEMPTY # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5010000 b/dist/Devel-PPPort/parts/base/5010000
index 43b63ecc1a..bfe3520674 100644
--- a/dist/Devel-PPPort/parts/base/5010000
+++ b/dist/Devel-PPPort/parts/base/5010000
@@ -1,16 +1,62 @@
5.010000
-hv_common # U
-hv_common_key_len # U
+HAS_ASCTIME_R # K added by devel/scanprov
+HAS_CRYPT_R # K added by devel/scanprov
+HAS_CTIME_R # K added by devel/scanprov
+HAS_DRAND48_R # K added by devel/scanprov
+HAS_GETGRENT_R # K added by devel/scanprov
+HAS_GETGRGID_R # K added by devel/scanprov
+HAS_GETGRNAM_R # K added by devel/scanprov
+HAS_GETHOSTBYADDR_R # K added by devel/scanprov
+HAS_GETHOSTBYNAME_R # K added by devel/scanprov
+HAS_GETHOSTENT_R # K added by devel/scanprov
+HAS_GETLOGIN_R # K added by devel/scanprov
+HAS_GETNETBYADDR_R # K added by devel/scanprov
+HAS_GETNETBYNAME_R # K added by devel/scanprov
+HAS_GETNETENT_R # K added by devel/scanprov
+HAS_GETPROTOBYNAME_R # K added by devel/scanprov
+HAS_GETPROTOBYNUMBER_R # K added by devel/scanprov
+HAS_GETPROTOENT_R # K added by devel/scanprov
+HAS_GETPWENT_R # K added by devel/scanprov
+HAS_GETPWNAM_R # K added by devel/scanprov
+HAS_GETPWUID_R # K added by devel/scanprov
+HAS_GETSERVBYNAME_R # K added by devel/scanprov
+HAS_GETSERVBYPORT_R # K added by devel/scanprov
+HAS_GETSERVENT_R # K added by devel/scanprov
+HAS_GETSPNAM_R # K added by devel/scanprov
+HAS_GMTIME_R # K added by devel/scanprov
+HAS_LOCALTIME_R # K added by devel/scanprov
+HAS_OFF64_T # K added by devel/scanprov
+HAS_PTHREAD_ATFORK # K added by devel/scanprov
+HAS_RANDOM_R # K added by devel/scanprov
+HAS_READDIR64_R # K added by devel/scanprov
+HAS_READDIR_R # K added by devel/scanprov
+HAS_SETRESGID_PROTO # K added by devel/scanprov
+HAS_SETRESUID_PROTO # K added by devel/scanprov
+HAS_SRAND48_R # K added by devel/scanprov
+HAS_SRANDOM_R # K added by devel/scanprov
+HAS_STRERROR_R # K added by devel/scanprov
+HAS_TMPNAM_R # K added by devel/scanprov
+HAS_TTYNAME_R # K added by devel/scanprov
+hv_common # F added by devel/scanprov
+hv_common_key_len # F added by devel/scanprov
+HV_DISABLE_UVAR_XKEY # Z added by devel/scanprov
+LOCALTIME_R_NEEDS_TZSET # K added by devel/scanprov
+my_cxt_init # U
+PERL_INTERPRETER_SIZE_UPTO_MEMBER # Z added by devel/scanprov
PERL_PV_PRETTY_ELLIPSES # E
-reentrant_free # U
-reentrant_init # U
-reentrant_retry # U
-reentrant_size # U
+PERL_PV_PRETTY_NOCLEAR # M added by devel/scanprov
+Perl_sys_init # F added by devel/scanprov
+Perl_sys_init3 # F added by devel/scanprov
+PERL_SYS_INIT3_BODY # Z added by devel/scanprov
+PERL_SYS_INIT_BODY # Z added by devel/scanprov
+Perl_sys_term # F added by devel/scanprov
+PERL_SYS_TERM_BODY # Z added by devel/scanprov
+PL_destroyhook # Z added by devel/scanprov
+RXf_NULL # Z added by devel/scanprov
START_MY_CXT # E
+sv_2num # F added by devel/scanprov
sv_destroyable # U
-sys_init # U
-sys_init3 # U
-sys_term # U
-PERL_PV_PRETTY_NOCLEAR # M added by devel/scanprov
+SvDESTROYABLE # Z added by devel/scanprov
+USE_ITHREADS # K added by devel/scanprov
+XSINTERFACE_CVT_ANON # Z added by devel/scanprov
XSPROTO # M added by devel/scanprov
-sv_2num # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5010001 b/dist/Devel-PPPort/parts/base/5010001
index 04b614a924..011faa4c80 100644
--- a/dist/Devel-PPPort/parts/base/5010001
+++ b/dist/Devel-PPPort/parts/base/5010001
@@ -1,29 +1,121 @@
5.010001
croak_xs_usage # U
+CxHASARGS # Z added by devel/scanprov
+CxLABEL # Z added by devel/scanprov
+CxLVAL # Z added by devel/scanprov
+CxOLD_IN_EVAL # Z added by devel/scanprov
+CxOLD_OP_TYPE # Z added by devel/scanprov
+CxONCE # Z added by devel/scanprov
+DEFSV_set # U
+dSAVEDERRNO # Z added by devel/scanprov
+dSAVE_ERRNO # Z added by devel/scanprov
+GMTIME_MAX # K added by devel/scanprov
+GMTIME_MIN # K added by devel/scanprov
+G_WANT # Z added by devel/scanprov
+HASATTRIBUTE_DEPRECATED # K added by devel/scanprov
+HAS_BUILTIN_EXPECT # K added by devel/scanprov
+HAS_GETADDRINFO # K added by devel/scanprov
+HAS_GETNAMEINFO # K added by devel/scanprov
+HAS_INETNTOP # K added by devel/scanprov
+HAS_INETPTON # K added by devel/scanprov
+HAS_TIMEGM # K added by devel/scanprov
HeUTF8 # U
+HINT_NO_AMAGIC # Z added by devel/scanprov
+HVhek_KEYCANONICAL # Z added by devel/scanprov
+I_SYS_POLL # K added by devel/scanprov
+LOCALTIME_MAX # K added by devel/scanprov
+LOCALTIME_MIN # K added by devel/scanprov
+magic_clearisa # F added by devel/scanprov
+malloc_good_size # F added by devel/scanprov
+mem_log_common # F added by devel/scanprov
mPUSHs # U
mro_get_from_name # U
+MRO_GET_PRIVATE_DATA # Z added by devel/scanprov
mro_get_private_data # U
mro_register # U
mro_set_mro # U
mro_set_private_data # U
+MUTABLE_AV # U
+MUTABLE_CV # U
+MUTABLE_GV # U
+MUTABLE_HV # U
+MUTABLE_IO # U
+MUTABLE_PTR # U
+MUTABLE_SV # U
mXPUSHs # U
newSVpvn_flags # U
newSVpvn_utf8 # U
newSVpvs_flags # U
-save_freeop # U (Perl_save_freeop)
+NV_OVERFLOWS_INTEGERS_AT # K added by devel/scanprov
+OP_GIMME_REVERSE # Z added by devel/scanprov
+PERL_BITFIELD16 # Z added by devel/scanprov
+PERL_BITFIELD32 # Z added by devel/scanprov
+PERL_BITFIELD8 # Z added by devel/scanprov
+PERLDBf_SAVESRC # Z added by devel/scanprov
+PERLDBf_SAVESRC_INVALID # Z added by devel/scanprov
+PERLDBf_SAVESRC_NOSUBS # Z added by devel/scanprov
+PERLDB_SAVESRC # Z added by devel/scanprov
+PERLDB_SAVESRC_INVALID # Z added by devel/scanprov
+PERLDB_SAVESRC_NOSUBS # Z added by devel/scanprov
+PERL_FS_VERSION # Z added by devel/scanprov
+PERL_GIT_UNPUSHED_COMMITS # Z added by devel/scanprov
+Perl_malloc_good_size # Z added by devel/scanprov
+PERL_PATCHNUM # Z added by devel/scanprov
+Perl_safesysmalloc_size # Z added by devel/scanprov
+PERL_SUB_DEPTH_WARN # Z added by devel/scanprov
+PERL_USE_DEVEL # K added by devel/scanprov
+PERL_VERSION_STRING # Z added by devel/scanprov
+PL_breakable_sub_gen # Z added by devel/scanprov
+PL_registered_mros # Z added by devel/scanprov
+PL_sv_serial # Z added by devel/scanprov
+prepare_SV_for_RV # Z added by devel/scanprov
+RESTORE_ERRNO # Z added by devel/scanprov
+RX_ANCHORED_SUBSTR # Z added by devel/scanprov
+RX_ANCHORED_UTF8 # Z added by devel/scanprov
+RX_CHECK_SUBSTR # Z added by devel/scanprov
+RX_ENGINE # Z added by devel/scanprov
+RX_EXTFLAGS # Z added by devel/scanprov
+RX_FLOAT_SUBSTR # Z added by devel/scanprov
+RX_FLOAT_UTF8 # Z added by devel/scanprov
+RXf_PMf_STD_PMMOD_SHIFT # Z added by devel/scanprov
+RX_GOFS # Z added by devel/scanprov
+RX_LASTCLOSEPAREN # Z added by devel/scanprov
+RX_LASTPAREN # Z added by devel/scanprov
+RX_MINLEN # Z added by devel/scanprov
+RX_MINLENRET # Z added by devel/scanprov
+RX_NPARENS # Z added by devel/scanprov
+RX_OFFS # Z added by devel/scanprov
+RXp_EXTFLAGS # Z added by devel/scanprov
+RXp_MATCH_COPIED # Z added by devel/scanprov
+RXp_MATCH_COPIED_off # Z added by devel/scanprov
+RXp_MATCH_COPIED_on # Z added by devel/scanprov
+RXp_MATCH_TAINTED # Z added by devel/scanprov
+RXp_MATCH_UTF8 # Z added by devel/scanprov
+RXp_PAREN_NAMES # Z added by devel/scanprov
+RX_PRECOMP # Z added by devel/scanprov
+RX_PRECOMP_const # Z added by devel/scanprov
+RX_PRELEN # Z added by devel/scanprov
+RX_REFCNT # Z added by devel/scanprov
+RX_SUBBEG # Z added by devel/scanprov
+RX_SUBLEN # Z added by devel/scanprov
+RX_UTF8 # Z added by devel/scanprov
+RX_WRAPLEN # Z added by devel/scanprov
+RX_WRAPPED # Z added by devel/scanprov
+SAVE_ERRNO # Z added by devel/scanprov
+save_freeop # Z added by devel/scanprov
+SAVEFREEOP # U
+save_freepv # Z added by devel/scanprov
+save_freesv # Z added by devel/scanprov
save_hints # U
+save_mortalizesv # Z added by devel/scanprov
save_op # U (Perl_save_op)
save_padsv_and_mortalize # U
+SAVEPADSVANDMORTALIZE # Z added by devel/scanprov
save_pushi32ptr # U
save_pushptr # U
-save_pushptrptr # U
-sv_insert_flags # U
-DEFSV_set # M added by devel/scanprov
-MUTABLE_PTR # M added by devel/scanprov
-MUTABLE_SV # M added by devel/scanprov
-magic_clearisa # F added by devel/scanprov
-malloc_good_size # F added by devel/scanprov
-mem_log_common # F added by devel/scanprov
save_pushptri32ptr # F added by devel/scanprov
+save_pushptrptr # U
+SAVEt_PADSV_AND_MORTALIZE # Z added by devel/scanprov
search_const # F added by devel/scanprov
+sv_insert_flags # U
+SvRV_const # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5011000 b/dist/Devel-PPPort/parts/base/5011000
index b908c461f7..d011cb56f1 100644
--- a/dist/Devel-PPPort/parts/base/5011000
+++ b/dist/Devel-PPPort/parts/base/5011000
@@ -1,26 +1,67 @@
5.011000
-av_iter_p # U
+blk_format # Z added by devel/scanprov
+blk_u16 # Z added by devel/scanprov
+CXp_HASARGS # Z added by devel/scanprov
+CXp_ONCE # Z added by devel/scanprov
+CXt_LOOP_LAZYIV # Z added by devel/scanprov
+CXt_LOOP_LAZYSV # Z added by devel/scanprov
+CXt_LOOP_PLAIN # Z added by devel/scanprov
+CxTYPE_is_LOOP # Z added by devel/scanprov
+DEBUG_B # Z added by devel/scanprov
+DEBUG_B_FLAG # Z added by devel/scanprov
+DEBUG_B_TEST # Z added by devel/scanprov
+DEBUG_GPOS_r # Z added by devel/scanprov
+do_delete_local # F added by devel/scanprov
+dump_all_perl # F added by devel/scanprov
+dump_packsubs_perl # F added by devel/scanprov
+dump_sub_perl # F added by devel/scanprov
+get_aux_mg # F added by devel/scanprov
+get_cvs # U
gv_add_by_type # U
Gv_AMupdate # A
+GV_AUTOLOAD # Z added by devel/scanprov
+GV_CROAK # Z added by devel/scanprov
+gv_SVadd # Z added by devel/scanprov
+incpush_use_sep # F added by devel/scanprov
+INT_64_T # Z added by devel/scanprov
is_ascii_string # U
+magic_clearhints # F added by devel/scanprov
+my # Z added by devel/scanprov
+NATIVE8_TO_UNI # Z added by devel/scanprov
+Perl_assert # Z added by devel/scanprov
+Perl_av_iter_p # F added by devel/scanprov
+PL_ofsgv # Z added by devel/scanprov
PL_opfreehook # E
-pregfree2 # U
+pregfree2 # F added by devel/scanprov
PUSH_MULTICALL # U
+RE_DEBUG_EXTRA_GPOS # Z added by devel/scanprov
re_dup_guts # U
+RX_SAVED_COPY # Z added by devel/scanprov
+RX_WRAPPED_const # Z added by devel/scanprov
save_adelete # U
+SAVEADELETE # Z added by devel/scanprov
save_aelem_flags # U
+SAVEf_KEEPOLDELEM # Z added by devel/scanprov
+SAVEf_SETMAGIC # Z added by devel/scanprov
save_hdelete # U
+SAVEHDELETE # Z added by devel/scanprov
save_helem_flags # U
+SAVEt_ADELETE # Z added by devel/scanprov
+S_IFIFO # Z added by devel/scanprov
+SvCANEXISTDELETE # Z added by devel/scanprov
+sv_dup_inc_multiple # F added by devel/scanprov
+SV_FORCE_UTF8_UPGRADE # Z added by devel/scanprov
SvOOK_offset # U
SVt_REGEXP # E
+SVt_RV # Z added by devel/scanprov
+SV_UNDEF_RETURNS_NULL # Z added by devel/scanprov
sv_utf8_upgrade_flags_grow # U
+SYSTEM_GMTIME_MAX # Z added by devel/scanprov
+SYSTEM_GMTIME_MIN # Z added by devel/scanprov
+SYSTEM_LOCALTIME_MAX # Z added by devel/scanprov
+SYSTEM_LOCALTIME_MIN # Z added by devel/scanprov
+TM # Z added by devel/scanprov
+USE_SYSTEM_GMTIME # Z added by devel/scanprov
+USE_SYSTEM_LOCALTIME # Z added by devel/scanprov
+USE_TM64 # Z added by devel/scanprov
WARN_IMPRECISION # E
-get_cvs # M added by devel/scanprov
-do_delete_local # F added by devel/scanprov
-dump_all_perl # F added by devel/scanprov
-dump_packsubs_perl # F added by devel/scanprov
-dump_sub_perl # F added by devel/scanprov
-get_aux_mg # F added by devel/scanprov
-incpush_use_sep # F added by devel/scanprov
-magic_clearhints # F added by devel/scanprov
-sv_dup_inc_multiple # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5011001 b/dist/Devel-PPPort/parts/base/5011001
index 48651c57f8..3aeb030117 100644
--- a/dist/Devel-PPPort/parts/base/5011001
+++ b/dist/Devel-PPPort/parts/base/5011001
@@ -1,7 +1,9 @@
5.011001
-ck_warner # U
-ck_warner_d # U
add_utf16_textfilter # F added by devel/scanprov
ckwarn_common # F added by devel/scanprov
+ck_warner # U
+ck_warner_d # U
+deprecate # Z added by devel/scanprov
package_version # F added by devel/scanprov
utf16_textfilter # F added by devel/scanprov
+WARNshift # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5011002 b/dist/Devel-PPPort/parts/base/5011002
index 651df59250..1ce6fb86c2 100644
--- a/dist/Devel-PPPort/parts/base/5011002
+++ b/dist/Devel-PPPort/parts/base/5011002
@@ -1,6 +1,14 @@
5.011002
-CHARBITS # E
+CHARBITS # K added by devel/scanprov
ENTER_with_name # U
+gv_try_downgrade # F added by devel/scanprov
+HINT_UNI_8_BIT # Z added by devel/scanprov
+IN_UNI_8_BIT # Z added by devel/scanprov
+KEYWORD_PLUGIN_DECLINE # Z added by devel/scanprov
+KEYWORD_PLUGIN_EXPR # Z added by devel/scanprov
+KEYWORD_PLUGIN_STMT # Z added by devel/scanprov
+LATIN_SMALL_LETTER_SHARP_S # Z added by devel/scanprov
+LATIN_SMALL_LETTER_Y_WITH_DIAERESIS # Z added by devel/scanprov
LEAVE_with_name # U
lex_bufutf8 # U
lex_discard_to # U
@@ -15,6 +23,18 @@ lex_stuff_pvn # U
lex_stuff_sv # U
LEX_STUFF_UTF8 # E
lex_unstuff # U
-PL_keyword_plugin # E
-gv_try_downgrade # F added by devel/scanprov
+MAX_PORTABLE_UTF8_TWO_BYTE # Z added by devel/scanprov
+MICRO_SIGN # Z added by devel/scanprov
+OPpREVERSE_INPLACE # Z added by devel/scanprov
+padadd_NO_DUP_CHECK # Z added by devel/scanprov
+padadd_OUR # Z added by devel/scanprov
+padadd_STATE # Z added by devel/scanprov
Perl_keyword_plugin_standard # F added by devel/scanprov
+PL_keyword_plugin # E
+PL_scopestack_name # Z added by devel/scanprov
+toLOWER_LATIN1 # Z added by devel/scanprov
+toUPPER_LATIN1_MOD # Z added by devel/scanprov
+UTF8_TWO_BYTE_HI # Z added by devel/scanprov
+UTF8_TWO_BYTE_HI_nocast # Z added by devel/scanprov
+UTF8_TWO_BYTE_LO # Z added by devel/scanprov
+UTF8_TWO_BYTE_LO_nocast # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5011004 b/dist/Devel-PPPort/parts/base/5011004
index 2679a3f7fb..27152a1b6a 100644
--- a/dist/Devel-PPPort/parts/base/5011004
+++ b/dist/Devel-PPPort/parts/base/5011004
@@ -1,4 +1,7 @@
5.011004
+BADVERSION # Z added by devel/scanprov
+force_strict_version # F added by devel/scanprov
+is_LAX_VERSION # Z added by devel/scanprov
+is_STRICT_VERSION # Z added by devel/scanprov
prescan_version # U
WARN_ILLEGALPROTO # E
-force_strict_version # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5011005 b/dist/Devel-PPPort/parts/base/5011005
index d9b0d6a4c9..6e201e0994 100644
--- a/dist/Devel-PPPort/parts/base/5011005
+++ b/dist/Devel-PPPort/parts/base/5011005
@@ -1,2 +1,5 @@
5.011005
+isALNUMU # Z added by devel/scanprov
+isALPHAU # Z added by devel/scanprov
+isCHARNAME_CONT # Z added by devel/scanprov
sv_pos_u2b_flags # U
diff --git a/dist/Devel-PPPort/parts/base/5013000 b/dist/Devel-PPPort/parts/base/5013000
index 84da3dea1b..39347f9945 100644
--- a/dist/Devel-PPPort/parts/base/5013000
+++ b/dist/Devel-PPPort/parts/base/5013000
@@ -1,2 +1,5 @@
5.013000
cBOOL # U
+GvEGVx # Z added by devel/scanprov
+HAS_PRCTL # K added by devel/scanprov
+HAS_PRCTL_SET_NAME # K added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013001 b/dist/Devel-PPPort/parts/base/5013001
index 02c65cd8c9..23e86e9205 100644
--- a/dist/Devel-PPPort/parts/base/5013001
+++ b/dist/Devel-PPPort/parts/base/5013001
@@ -1,12 +1,22 @@
5.013001
croak_sv # U
die_sv # U
-mess_sv # U
-sv_2nv_flags # U
-warn_sv # U
die_unwind # F added by devel/scanprov
grok_bslash_c # F added by devel/scanprov
+G_UNDEF_FILL # Z added by devel/scanprov
invoke_exception_hook # F added by devel/scanprov
magic_methcall1 # F added by devel/scanprov
+mess_sv # U
Perl_magic_methcall # F added by devel/scanprov
+PL_restartjmpenv # Z added by devel/scanprov
+SAVE_MASK # Z added by devel/scanprov
+SAVEt_I32_SMALL # Z added by devel/scanprov
+SAVE_TIGHT_SHIFT # Z added by devel/scanprov
+SAVEt_INT_SMALL # Z added by devel/scanprov
+SSPOPUV # Z added by devel/scanprov
+SSPUSHUV # Z added by devel/scanprov
+sv_2nv # Z added by devel/scanprov
+sv_2nv_flags # U
+SV_SKIP_OVERLOAD # Z added by devel/scanprov
+warn_sv # U
with_queued_errors # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013002 b/dist/Devel-PPPort/parts/base/5013002
index bfd1764dcc..1a9cc78ff5 100644
--- a/dist/Devel-PPPort/parts/base/5013002
+++ b/dist/Devel-PPPort/parts/base/5013002
@@ -1,18 +1,34 @@
5.013002
+AMGf_numeric # Z added by devel/scanprov
C_ARRAY_END # U
clone_params_del # U
clone_params_new # U
+DM_ARRAY_ISA # Z added by devel/scanprov
+dPOPnv_nomg # Z added by devel/scanprov
+dPOPTOPiirl_nomg # Z added by devel/scanprov
+dPOPTOPiirl_ul_nomg # Z added by devel/scanprov
+dPOPTOPnnrl_nomg # Z added by devel/scanprov
+dPOPXiirl_ul_nomg # Z added by devel/scanprov
find_rundefsv # U
foldEQ # U
foldEQ_locale # U
foldEQ_utf8 # U
hv_fill # U
-sv_dec_nomg # U
-sv_dup_inc # U
-sv_inc_nomg # U
-SvNV_nomg # U
+NONDESTRUCT_PAT_MOD # Z added by devel/scanprov
+NONDESTRUCT_PAT_MODS # Z added by devel/scanprov
padlist_dup # F added by devel/scanprov
Perl_try_amagic_bin # F added by devel/scanprov
Perl_try_amagic_un # F added by devel/scanprov
+PL_signalhook # Z added by devel/scanprov
+PMf_NONDESTRUCT # Z added by devel/scanprov
+REGNODE_SIMPLE # Z added by devel/scanprov
+REGNODE_VARIES # Z added by devel/scanprov
+sv_dec_nomg # U
sv_dup_common # F added by devel/scanprov
+sv_dup_inc # U
+sv_inc_nomg # U
+SvIV_please_nomg # Z added by devel/scanprov
+SvNV_nomg # U
+tryAMAGICbin_MG # Z added by devel/scanprov
+tryAMAGICun_MG # Z added by devel/scanprov
unreferenced_to_tmp_stack # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013003 b/dist/Devel-PPPort/parts/base/5013003
index 2284558dd1..33ea2bd85f 100644
--- a/dist/Devel-PPPort/parts/base/5013003
+++ b/dist/Devel-PPPort/parts/base/5013003
@@ -1,10 +1,24 @@
5.013003
-blockhook_register # E
-croak_no_modify # U
anonymise_cv_maybe # F added by devel/scanprov
assert_uft8_cache_coherent # F added by devel/scanprov
+BhkDISABLE # Z added by devel/scanprov
+BhkENABLE # Z added by devel/scanprov
+BhkENTRY # Z added by devel/scanprov
+BhkENTRY_set # Z added by devel/scanprov
+BhkFLAGS # Z added by devel/scanprov
+blockhook_register # E
+CALL_BLOCK_HOOKS # Z added by devel/scanprov
+croak_no_modify # U
+CvCVGV_RC # Z added by devel/scanprov
+CvCVGV_RC_off # Z added by devel/scanprov
+CvCVGV_RC_on # Z added by devel/scanprov
+CVf_CVGV_RC # Z added by devel/scanprov
+CvGV_set # Z added by devel/scanprov
cvgv_set # F added by devel/scanprov
grok_bslash_o # F added by devel/scanprov
+my_lstat # Z added by devel/scanprov
my_lstat_flags # F added by devel/scanprov
+my_stat # Z added by devel/scanprov
my_stat_flags # F added by devel/scanprov
+PL_blockhooks # Z added by devel/scanprov
utf8_mg_len_cache_update # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013004 b/dist/Devel-PPPort/parts/base/5013004
index 6d5bd06511..b2721c7646 100644
--- a/dist/Devel-PPPort/parts/base/5013004
+++ b/dist/Devel-PPPort/parts/base/5013004
@@ -1,4 +1,10 @@
5.013004
-XS_APIVERSION_BOOTCHECK # E
+HAS_STATIC_INLINE # K added by devel/scanprov
+PERL_API_VERSION_STRING # Z added by devel/scanprov
Perl_hv_kill_backrefs # F added by devel/scanprov
Perl_init_dbargs # F added by devel/scanprov
+PERL_STATIC_INLINE # K added by devel/scanprov
+PERL_STRLEN_EXPAND_SHIFT # Z added by devel/scanprov
+PMf_BASE_SHIFT # Z added by devel/scanprov
+RXf_BASE_SHIFT # Z added by devel/scanprov
+XS_APIVERSION_BOOTCHECK # E
diff --git a/dist/Devel-PPPort/parts/base/5013005 b/dist/Devel-PPPort/parts/base/5013005
index 53130ca107..d61d84a6ab 100644
--- a/dist/Devel-PPPort/parts/base/5013005
+++ b/dist/Devel-PPPort/parts/base/5013005
@@ -1,10 +1,13 @@
5.013005
caller_cx # U
+FITS_IN_8_BITS # Z added by devel/scanprov
+gv_magicalize_isa # F added by devel/scanprov
isOCTAL # U
lex_stuff_pvs # U
+MY_CXT_INIT_ARG # Z added by devel/scanprov
parse_fullstmt # U
-PL_rpeepp # E
-gv_magicalize_isa # F added by devel/scanprov
Perl_more_bodies # F added by devel/scanprov
+PL_rpeepp # E
rpeep # F added by devel/scanprov
+SAVEt_GVSV # Z added by devel/scanprov
yyunlex # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013006 b/dist/Devel-PPPort/parts/base/5013006
index 0ee7d59b9e..6ce7cdd36b 100644
--- a/dist/Devel-PPPort/parts/base/5013006
+++ b/dist/Devel-PPPort/parts/base/5013006
@@ -1,9 +1,16 @@
5.013006
+BHKf_bhk_eval # Z added by devel/scanprov
+BHKf_bhk_post_end # Z added by devel/scanprov
+BHKf_bhk_pre_end # Z added by devel/scanprov
+BHKf_bhk_start # Z added by devel/scanprov
ck_entersub_args_list # U
ck_entersub_args_proto # U
ck_entersub_args_proto_or_list # U
cv_get_call_checker # E
cv_set_call_checker # E
+DEFAULT_PAT_MOD # Z added by devel/scanprov
+FLAGS # Z added by devel/scanprov
+gv_fetchpvn # U
isALNUMC_A # U
isALNUMC_L1 # U
isALPHA_A # U
@@ -40,7 +47,10 @@ isXDIGIT_A # U
isXDIGIT_L1 # U
lex_stuff_pv # U
LINKLIST # U
+LOCALE_PAT_MOD # Z added by devel/scanprov
+LOCALE_PAT_MODS # Z added by devel/scanprov
mg_free_type # U
+mro_package_moved # F added by devel/scanprov
newSVpv_share # U
op_append_elem # U
op_append_list # U
@@ -49,23 +59,28 @@ op_linklist # U
op_prepend_elem # U
parse_stmtseq # U
PERL_MAGIC_checkcall # E
+Perl_populate_isa # F added by devel/scanprov
rv2cv_op_cv # U
RV2CVOPCV_MARK_EARLY # E
RV2CVOPCV_RETURN_NAME_GV # E
savesharedpvs # U
savesharedsvpv # U
-sv_2bool_flags # U
+STD_PMMOD_FLAGS_CLEAR # Z added by devel/scanprov
+sv_2bool # Z added by devel/scanprov
+sv_2bool_flags # F added by devel/scanprov
sv_catpv_flags # U
sv_catpv_nomg # U
sv_catpvs_flags # U
sv_catpvs_mg # U
sv_catpvs_nomg # U
+sv_catxmlpvs # Z added by devel/scanprov
sv_cmp_flags # U
sv_cmp_locale_flags # U
+sv_collxfrm # Z added by devel/scanprov
sv_collxfrm_flags # U
sv_eq_flags # U
sv_setpvs_mg # U
sv_setref_pvs # U
SvTRUE_nomg # U
-mro_package_moved # F added by devel/scanprov
-Perl_populate_isa # F added by devel/scanprov
+UNICODE_PAT_MOD # Z added by devel/scanprov
+UNICODE_PAT_MODS # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013007 b/dist/Devel-PPPort/parts/base/5013007
index 50f21faf62..74843ae7ad 100644
--- a/dist/Devel-PPPort/parts/base/5013007
+++ b/dist/Devel-PPPort/parts/base/5013007
@@ -18,14 +18,29 @@ cophh_store_pv # E
cophh_store_pvn # E
cophh_store_pvs # E
cophh_store_sv # E
+CopHINTHASH_get # Z added by devel/scanprov
+CopHINTHASH_set # Z added by devel/scanprov
cop_hints_2hv # A
cop_hints_fetch_pv # U
cop_hints_fetch_pvn # U
cop_hints_fetch_pvs # U
cop_hints_fetch_sv # U
custom_op_register # E
+CvSTASH_set # Z added by devel/scanprov
+cvstash_set # F added by devel/scanprov
dirp_dup # A
+HINT_RE_FLAGS # Z added by devel/scanprov
HvENAME # U
+hv_ename_add # F added by devel/scanprov
+hv_ename_delete # F added by devel/scanprov
+HvENAME_get # Z added by devel/scanprov
+HvENAME_HEK # Z added by devel/scanprov
+HvENAME_HEK_NN # Z added by devel/scanprov
+HvENAMELEN_get # Z added by devel/scanprov
+HV_FETCH_EMPTY_HE # Z added by devel/scanprov
+HvNAME_HEK_NN # Z added by devel/scanprov
+mro_clean_isarev # F added by devel/scanprov
+mro_gather_and_rename # F added by devel/scanprov
newFOROP # A
newWHILEOP # A
OP_CLASS # U
@@ -35,25 +50,35 @@ parse_barestmt # U
parse_block # U
parse_label # U
PARSE_OPTIONAL # E
+PERLIOBUF_DEFAULT_BUFSIZ # Z added by devel/scanprov
+PL_custom_ops # Z added by devel/scanprov
PL_phase # E
-SvPV_nomg_nolen # U
-XopFLAGS # E
-XopDISABLE # M added by devel/scanprov
-XopENABLE # M added by devel/scanprov
-XopENTRY # M added by devel/scanprov
-XopENTRY_set # M added by devel/scanprov
-cvstash_set # F added by devel/scanprov
-hv_ename_add # F added by devel/scanprov
-hv_ename_delete # F added by devel/scanprov
-mro_clean_isarev # F added by devel/scanprov
-mro_gather_and_rename # F added by devel/scanprov
-Perl_custom_op_xop # F added by devel/scanprov
+PL_utf8_foldclosures # Z added by devel/scanprov
refcounted_he_chain_2hv # F added by devel/scanprov
refcounted_he_fetch_pv # F added by devel/scanprov
refcounted_he_fetch_pvn # F added by devel/scanprov
+refcounted_he_fetch_pvs # Z added by devel/scanprov
refcounted_he_fetch_sv # F added by devel/scanprov
refcounted_he_free # F added by devel/scanprov
refcounted_he_inc # F added by devel/scanprov
+REFCOUNTED_HE_KEY_UTF8 # Z added by devel/scanprov
refcounted_he_new_pv # F added by devel/scanprov
refcounted_he_new_pvn # F added by devel/scanprov
+refcounted_he_new_pvs # Z added by devel/scanprov
refcounted_he_new_sv # F added by devel/scanprov
+SAVEFREECOPHH # Z added by devel/scanprov
+SAVEt_FREECOPHH # Z added by devel/scanprov
+SvPV_nomg_nolen # U
+XopDISABLE # M added by devel/scanprov
+XOPd_xop_class # Z added by devel/scanprov
+XOPd_xop_desc # Z added by devel/scanprov
+XOPd_xop_name # Z added by devel/scanprov
+XOPd_xop_peep # Z added by devel/scanprov
+XopENABLE # M added by devel/scanprov
+XopENTRY # M added by devel/scanprov
+XopENTRY_set # M added by devel/scanprov
+XopFLAGS # E
+XOPf_xop_class # Z added by devel/scanprov
+XOPf_xop_desc # Z added by devel/scanprov
+XOPf_xop_name # Z added by devel/scanprov
+XOPf_xop_peep # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013008 b/dist/Devel-PPPort/parts/base/5013008
index 25fbf7ae17..32b33144ab 100644
--- a/dist/Devel-PPPort/parts/base/5013008
+++ b/dist/Devel-PPPort/parts/base/5013008
@@ -1,9 +1,18 @@
5.013008
-foldEQ_latin1 # U
+ANYOF_CLASS_TEST_ANY_SET # Z added by devel/scanprov
+DEBUG_Pv # Z added by devel/scanprov
+DEBUG_Pv_TEST # Z added by devel/scanprov
+EXACTFU # Z added by devel/scanprov
+foldEQ_latin1 # F added by devel/scanprov
+GREEK_SMALL_LETTER_MU # Z added by devel/scanprov
+HV_NAME_SETALL # Z added by devel/scanprov
mg_findext # U
parse_arithexpr # U
parse_fullexpr # U
parse_listexpr # U
parse_termexpr # U
-sv_unmagicext # U
Perl_hv_undef_flags # F added by devel/scanprov
+PERLIO_F_CLEARED # Z added by devel/scanprov
+REFFU # Z added by devel/scanprov
+sv_unmagicext # U
+TWO_BYTE_UTF8_TO_UNI # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013009 b/dist/Devel-PPPort/parts/base/5013009
index c969c702a9..1010a536d3 100644
--- a/dist/Devel-PPPort/parts/base/5013009
+++ b/dist/Devel-PPPort/parts/base/5013009
@@ -1,14 +1,151 @@
5.013009
+AMG_CALLunary # Z added by devel/scanprov
+ASCII_RESTRICT_PAT_MOD # Z added by devel/scanprov
+ASCII_RESTRICT_PAT_MODS # Z added by devel/scanprov
+BOUNDA # Z added by devel/scanprov
+BOUNDU # Z added by devel/scanprov
+check_utf8_print # F added by devel/scanprov
+curse # F added by devel/scanprov
+DEPENDS_PAT_MOD # Z added by devel/scanprov
+DEPENDS_PAT_MODS # Z added by devel/scanprov
+G_WRITING_TO_STDERR # Z added by devel/scanprov
+HAS_SIN6_SCOPE_ID # K added by devel/scanprov
+MAX_CHARSET_NAME_LENGTH # Z added by devel/scanprov
+NBOUNDA # Z added by devel/scanprov
+NBOUNDU # Z added by devel/scanprov
+Perl_pp_accept # Z added by devel/scanprov
+Perl_pp_andassign # Z added by devel/scanprov
+Perl_pp_avalues # Z added by devel/scanprov
+Perl_pp_bind # Z added by devel/scanprov
+Perl_pp_bit_xor # Z added by devel/scanprov
+Perl_pp_chmod # Z added by devel/scanprov
+Perl_pp_chomp # Z added by devel/scanprov
+Perl_pp_connect # Z added by devel/scanprov
+Perl_pp_cos # Z added by devel/scanprov
+Perl_pp_custom # Z added by devel/scanprov
+Perl_pp_dbmclose # Z added by devel/scanprov
+Perl_pp_dofile # Z added by devel/scanprov
+Perl_pp_dor # Z added by devel/scanprov
+Perl_pp_dorassign # Z added by devel/scanprov
+Perl_pp_dump # Z added by devel/scanprov
+Perl_pp_egrent # Z added by devel/scanprov
+Perl_pp_enetent # Z added by devel/scanprov
+Perl_pp_eprotoent # Z added by devel/scanprov
+Perl_pp_epwent # Z added by devel/scanprov
+Perl_pp_eservent # Z added by devel/scanprov
+Perl_pp_exp # Z added by devel/scanprov
+Perl_pp_fcntl # Z added by devel/scanprov
+Perl_pp_ftatime # Z added by devel/scanprov
+Perl_pp_ftbinary # Z added by devel/scanprov
+Perl_pp_ftblk # Z added by devel/scanprov
+Perl_pp_ftchr # Z added by devel/scanprov
+Perl_pp_ftctime # Z added by devel/scanprov
+Perl_pp_ftdir # Z added by devel/scanprov
+Perl_pp_fteexec # Z added by devel/scanprov
+Perl_pp_fteowned # Z added by devel/scanprov
+Perl_pp_fteread # Z added by devel/scanprov
+Perl_pp_ftewrite # Z added by devel/scanprov
+Perl_pp_ftfile # Z added by devel/scanprov
+Perl_pp_ftmtime # Z added by devel/scanprov
+Perl_pp_ftpipe # Z added by devel/scanprov
+Perl_pp_ftrexec # Z added by devel/scanprov
+Perl_pp_ftrwrite # Z added by devel/scanprov
+Perl_pp_ftsgid # Z added by devel/scanprov
+Perl_pp_ftsize # Z added by devel/scanprov
+Perl_pp_ftsock # Z added by devel/scanprov
+Perl_pp_ftsuid # Z added by devel/scanprov
+Perl_pp_ftsvtx # Z added by devel/scanprov
+Perl_pp_ftzero # Z added by devel/scanprov
+Perl_pp_getpeername # Z added by devel/scanprov
+Perl_pp_getsockname # Z added by devel/scanprov
+Perl_pp_ggrgid # Z added by devel/scanprov
+Perl_pp_ggrnam # Z added by devel/scanprov
+Perl_pp_ghbyaddr # Z added by devel/scanprov
+Perl_pp_ghbyname # Z added by devel/scanprov
+Perl_pp_gnbyaddr # Z added by devel/scanprov
+Perl_pp_gnbyname # Z added by devel/scanprov
+Perl_pp_gpbyname # Z added by devel/scanprov
+Perl_pp_gpbynumber # Z added by devel/scanprov
+Perl_pp_gpwnam # Z added by devel/scanprov
+Perl_pp_gpwuid # Z added by devel/scanprov
+Perl_pp_gsbyname # Z added by devel/scanprov
+Perl_pp_gsbyport # Z added by devel/scanprov
+Perl_pp_gsockopt # Z added by devel/scanprov
+Perl_pp_hex # Z added by devel/scanprov
+Perl_pp_keys # Z added by devel/scanprov
+Perl_pp_kill # Z added by devel/scanprov
+Perl_pp_lcfirst # Z added by devel/scanprov
+Perl_pp_lineseq # Z added by devel/scanprov
+Perl_pp_listen # Z added by devel/scanprov
+Perl_pp_localtime # Z added by devel/scanprov
+Perl_pp_log # Z added by devel/scanprov
+Perl_pp_lstat # Z added by devel/scanprov
+Perl_pp_mapstart # Z added by devel/scanprov
+Perl_pp_msgctl # Z added by devel/scanprov
+Perl_pp_msgget # Z added by devel/scanprov
+Perl_pp_msgrcv # Z added by devel/scanprov
+Perl_pp_msgsnd # Z added by devel/scanprov
+Perl_pp_orassign # Z added by devel/scanprov
+Perl_pp_padany # Z added by devel/scanprov
+Perl_pp_pop # Z added by devel/scanprov
+Perl_pp_read # Z added by devel/scanprov
+Perl_pp_recv # Z added by devel/scanprov
+Perl_pp_regcmaybe # Z added by devel/scanprov
+Perl_pp_rindex # Z added by devel/scanprov
+Perl_pp_rv2hv # Z added by devel/scanprov
+Perl_pp_say # Z added by devel/scanprov
+Perl_pp_scalar # Z added by devel/scanprov
+Perl_pp_schomp # Z added by devel/scanprov
+Perl_pp_scope # Z added by devel/scanprov
+Perl_pp_seek # Z added by devel/scanprov
+Perl_pp_semop # Z added by devel/scanprov
+Perl_pp_send # Z added by devel/scanprov
+Perl_pp_sge # Z added by devel/scanprov
+Perl_pp_sgrent # Z added by devel/scanprov
+Perl_pp_sgt # Z added by devel/scanprov
+Perl_pp_shmctl # Z added by devel/scanprov
+Perl_pp_shmget # Z added by devel/scanprov
+Perl_pp_shmread # Z added by devel/scanprov
+Perl_pp_shutdown # Z added by devel/scanprov
+Perl_pp_slt # Z added by devel/scanprov
+Perl_pp_snetent # Z added by devel/scanprov
+Perl_pp_socket # Z added by devel/scanprov
+Perl_pp_sprotoent # Z added by devel/scanprov
+Perl_pp_spwent # Z added by devel/scanprov
+Perl_pp_sqrt # Z added by devel/scanprov
+Perl_pp_sservent # Z added by devel/scanprov
+Perl_pp_ssockopt # Z added by devel/scanprov
+Perl_pp_symlink # Z added by devel/scanprov
+Perl_pp_transr # Z added by devel/scanprov
+Perl_pp_unlink # Z added by devel/scanprov
+Perl_pp_utime # Z added by devel/scanprov
+Perl_pp_values # Z added by devel/scanprov
PERL_PV_ESCAPE_NONASCII # E
+report_wrongway_fh # F added by devel/scanprov
+RXf_PMf_CHARSET # Z added by devel/scanprov
+tied_method # F added by devel/scanprov
+TIED_METHOD_ARGUMENTS_ON_STACK # Z added by devel/scanprov
+TIED_METHOD_MORTALIZE_NOT_NEEDED # Z added by devel/scanprov
+TIED_METHOD_SAY # Z added by devel/scanprov
+UNICODE_DISALLOW_ILLEGAL_INTERCHANGE # Z added by devel/scanprov
+UNICODE_DISALLOW_NONCHAR # Z added by devel/scanprov
+UNICODE_DISALLOW_SUPER # Z added by devel/scanprov
+UNICODE_DISALLOW_SURROGATE # Z added by devel/scanprov
+UNICODE_IS_NONCHAR # Z added by devel/scanprov
+UNICODE_IS_SUPER # Z added by devel/scanprov
+UNICODE_WARN_ILLEGAL_INTERCHANGE # Z added by devel/scanprov
+UNICODE_WARN_NONCHAR # Z added by devel/scanprov
+UNICODE_WARN_SUPER # Z added by devel/scanprov
+UNICODE_WARN_SURROGATE # Z added by devel/scanprov
+UTF8_DISALLOW_FE_FF # Z added by devel/scanprov
UTF8_DISALLOW_ILLEGAL_INTERCHANGE # E
UTF8_DISALLOW_NONCHAR # E
UTF8_DISALLOW_SUPER # E
UTF8_DISALLOW_SURROGATE # E
+UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC # Z added by devel/scanprov
+UTF8_MAX_FOLD_CHAR_EXPAND # Z added by devel/scanprov
+UTF8_WARN_FE_FF # Z added by devel/scanprov
UTF8_WARN_ILLEGAL_INTERCHANGE # E
UTF8_WARN_NONCHAR # E
UTF8_WARN_SUPER # E
UTF8_WARN_SURROGATE # E
-check_utf8_print # F added by devel/scanprov
-curse # F added by devel/scanprov
-report_wrongway_fh # F added by devel/scanprov
-tied_method # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5013010 b/dist/Devel-PPPort/parts/base/5013010
index 071409b256..b22d550c67 100644
--- a/dist/Devel-PPPort/parts/base/5013010
+++ b/dist/Devel-PPPort/parts/base/5013010
@@ -1,13 +1,29 @@
5.013010
-WARN_NONCHAR # E
-WARN_NON_UNICODE # E
-WARN_SURROGATE # E
_append_range_to_invlist # F added by devel/scanprov
+ASCII_MORE_RESTRICT_PAT_MODS # Z added by devel/scanprov
+CHARSET_PAT_MODS # Z added by devel/scanprov
foldEQ_utf8_flags # F added by devel/scanprov
+FOLDEQ_UTF8_NOMIX_ASCII # Z added by devel/scanprov
+GvCV_set # Z added by devel/scanprov
+GvGP_set # Z added by devel/scanprov
invlist_array # F added by devel/scanprov
invlist_extend # F added by devel/scanprov
invlist_max # F added by devel/scanprov
invlist_set_len # F added by devel/scanprov
invlist_trim # F added by devel/scanprov
+MAX_FEATURE_LEN # Z added by devel/scanprov
_new_invlist # F added by devel/scanprov
+PERL_COP_SEQMAX # Z added by devel/scanprov
+PERL_PADSEQ_INTRO # Z added by devel/scanprov
+PL_utf8_xidcont # Z added by devel/scanprov
+PL_utf8_xidstart # Z added by devel/scanprov
+REFFA # Z added by devel/scanprov
regcurly # F added by devel/scanprov
+SUBST_TAINT_BOOLRET # Z added by devel/scanprov
+SUBST_TAINT_PAT # Z added by devel/scanprov
+SUBST_TAINT_REPL # Z added by devel/scanprov
+SUBST_TAINT_RETAINT # Z added by devel/scanprov
+SUBST_TAINT_STR # Z added by devel/scanprov
+WARN_NONCHAR # E
+WARN_NON_UNICODE # E
+WARN_SURROGATE # E
diff --git a/dist/Devel-PPPort/parts/base/5013011 b/dist/Devel-PPPort/parts/base/5013011
index 91269f0e7a..a41448d5a8 100644
--- a/dist/Devel-PPPort/parts/base/5013011
+++ b/dist/Devel-PPPort/parts/base/5013011
@@ -1,2 +1,7 @@
5.013011
add_cp_to_invlist # F added by devel/scanprov
+ANYOF_CLASS_SETALL # Z added by devel/scanprov
+GREEK_CAPITAL_LETTER_MU # Z added by devel/scanprov
+LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE # Z added by devel/scanprov
+LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS # Z added by devel/scanprov
+LATIN_SMALL_LETTER_A_WITH_RING_ABOVE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5014000 b/dist/Devel-PPPort/parts/base/5014000
index 89a626a2e1..62c32e3440 100644
--- a/dist/Devel-PPPort/parts/base/5014000
+++ b/dist/Devel-PPPort/parts/base/5014000
@@ -1,3 +1,6 @@
5.014000
+LATIN_CAPITAL_LETTER_SHARP_S # Z added by devel/scanprov
+LEX_START_SAME_FILTER # Z added by devel/scanprov
+to_uni_fold # Z added by devel/scanprov
_to_uni_fold_flags # F added by devel/scanprov
_to_utf8_fold_flags # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015000 b/dist/Devel-PPPort/parts/base/5015000
index 5970cd4569..07a9d37b7f 100644
--- a/dist/Devel-PPPort/parts/base/5015000
+++ b/dist/Devel-PPPort/parts/base/5015000
@@ -1,3 +1,41 @@
5.015000
hv_free_ent_ret # F added by devel/scanprov
Perl_hfree_next_entry # F added by devel/scanprov
+PERL_MAGIC_READONLY_ACCEPTABLE # Z added by devel/scanprov
+PERL_MAGIC_TYPE_IS_VALUE_MAGIC # Z added by devel/scanprov
+PERL_MAGIC_TYPE_READONLY_ACCEPTABLE # Z added by devel/scanprov
+PERL_MAGIC_VALUE_MAGIC # Z added by devel/scanprov
+PERL_MAGIC_VTABLE_MASK # Z added by devel/scanprov
+Perl_pp_aelemfast_lex # Z added by devel/scanprov
+PL_vtbl_arylen # Z added by devel/scanprov
+PL_vtbl_arylen_p # Z added by devel/scanprov
+PL_vtbl_backref # Z added by devel/scanprov
+PL_vtbl_bm # Z added by devel/scanprov
+PL_vtbl_collxfrm # Z added by devel/scanprov
+PL_vtbl_dbline # Z added by devel/scanprov
+PL_vtbl_defelem # Z added by devel/scanprov
+PL_vtbl_env # Z added by devel/scanprov
+PL_vtbl_envelem # Z added by devel/scanprov
+PL_vtbl_fm # Z added by devel/scanprov
+PL_vtbl_hints # Z added by devel/scanprov
+PL_vtbl_hintselem # Z added by devel/scanprov
+PL_vtbl_isa # Z added by devel/scanprov
+PL_vtbl_isaelem # Z added by devel/scanprov
+PL_vtbl_mglob # Z added by devel/scanprov
+PL_vtbl_nkeys # Z added by devel/scanprov
+PL_vtbl_ovrld # Z added by devel/scanprov
+PL_vtbl_pack # Z added by devel/scanprov
+PL_vtbl_packelem # Z added by devel/scanprov
+PL_vtbl_pos # Z added by devel/scanprov
+PL_vtbl_regdata # Z added by devel/scanprov
+PL_vtbl_regdatum # Z added by devel/scanprov
+PL_vtbl_regexp # Z added by devel/scanprov
+PL_vtbl_sigelem # Z added by devel/scanprov
+PL_vtbl_substr # Z added by devel/scanprov
+PL_vtbl_sv # Z added by devel/scanprov
+PL_vtbl_taint # Z added by devel/scanprov
+PL_vtbl_utf8 # Z added by devel/scanprov
+PL_vtbl_uvar # Z added by devel/scanprov
+PL_vtbl_vec # Z added by devel/scanprov
+want_vtbl_bm # Z added by devel/scanprov
+want_vtbl_fm # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015001 b/dist/Devel-PPPort/parts/base/5015001
index 75f98a09de..1a2de3f02c 100644
--- a/dist/Devel-PPPort/parts/base/5015001
+++ b/dist/Devel-PPPort/parts/base/5015001
@@ -1,14 +1,6 @@
5.015001
cop_fetch_label # U
cop_store_label # U
-pad_add_name_pv # U
-pad_add_name_pvn # U
-pad_add_name_pvs # U
-pad_add_name_sv # U
-pad_findmy_pv # U
-pad_findmy_pvn # U
-pad_findmy_pvs # U
-pad_findmy_sv # U
do_ncmp # F added by devel/scanprov
get_invlist_iter_addr # F added by devel/scanprov
_invlist_array_init # F added by devel/scanprov
@@ -19,6 +11,20 @@ invlist_iterinit # F added by devel/scanprov
invlist_iternext # F added by devel/scanprov
_invlist_subtract # F added by devel/scanprov
_invlist_union # F added by devel/scanprov
+OP_LVALUE_NO_CROAK # Z added by devel/scanprov
+OPpENTERSUB_LVAL_MASK # Z added by devel/scanprov
+OPpFT_STACKING # Z added by devel/scanprov
+pad_add_name_pv # U
+pad_add_name_pvn # U
+pad_add_name_pvs # U
+pad_add_name_sv # U
pad_alloc_name # F added by devel/scanprov
+pad_findmy_pv # U
+pad_findmy_pvn # U
+pad_findmy_pvs # U
+pad_findmy_sv # U
Perl_op_lvalue_flags # F added by devel/scanprov
+PERL_SCAN_SILENT_NON_PORTABLE # Z added by devel/scanprov
+PERL_SET_PHASE # Z added by devel/scanprov
Perl_was_lvalue_sub # F added by devel/scanprov
+SVt_MASK # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015002 b/dist/Devel-PPPort/parts/base/5015002
index 07dae390b3..5090205b18 100644
--- a/dist/Devel-PPPort/parts/base/5015002
+++ b/dist/Devel-PPPort/parts/base/5015002
@@ -1,7 +1,14 @@
5.015002
-XS_EXTERNAL # M added by devel/scanprov
-XS_INTERNAL # M added by devel/scanprov
core_prototype # F added by devel/scanprov
+CvDYNFILE # Z added by devel/scanprov
+CvDYNFILE_off # Z added by devel/scanprov
+CvDYNFILE_on # Z added by devel/scanprov
+CVf_DYNFILE # Z added by devel/scanprov
finalize_op # F added by devel/scanprov
finalize_optree # F added by devel/scanprov
+OPpOFFBYONE # Z added by devel/scanprov
Perl_ck_entersub_args_core # F added by devel/scanprov
+ST_INO_SIGN # K added by devel/scanprov
+ST_INO_SIZE # K added by devel/scanprov
+XS_EXTERNAL # M added by devel/scanprov
+XS_INTERNAL # M added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015003 b/dist/Devel-PPPort/parts/base/5015003
index c10cb56bdd..56d9df5aa6 100644
--- a/dist/Devel-PPPort/parts/base/5015003
+++ b/dist/Devel-PPPort/parts/base/5015003
@@ -1,6 +1,19 @@
5.015003
-GV_ADDMG # E
coresub_op # F added by devel/scanprov
+GV_ADDMG # E
+gv_fetchsv_nomg # U
+GV_NO_SVGMAGIC # E
inplace_aassign # F added by devel/scanprov
+I_STDBOOL # K added by devel/scanprov
+MAYBE_DEREF_GV # Z added by devel/scanprov
+MAYBE_DEREF_GV_flags # Z added by devel/scanprov
+MAYBE_DEREF_GV_nomg # Z added by devel/scanprov
op_integerize # F added by devel/scanprov
+OP_IS_DIRHOP # Z added by devel/scanprov
+OP_IS_NUMCOMPARE # Z added by devel/scanprov
+OPpCOREARGS_DEREF1 # Z added by devel/scanprov
+OPpCOREARGS_DEREF2 # Z added by devel/scanprov
+OPpCOREARGS_PUSHMARK # Z added by devel/scanprov
+OPpCOREARGS_SCALARMOD # Z added by devel/scanprov
op_std_init # F added by devel/scanprov
+QUAD_IS___INT64 # K added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015004 b/dist/Devel-PPPort/parts/base/5015004
index a8853a3943..82aaa5a90e 100644
--- a/dist/Devel-PPPort/parts/base/5015004
+++ b/dist/Devel-PPPort/parts/base/5015004
@@ -1,7 +1,21 @@
5.015004
+CvAUTOLOAD # Z added by devel/scanprov
+CvAUTOLOAD_off # Z added by devel/scanprov
+CvAUTOLOAD_on # Z added by devel/scanprov
+cv_ckproto_len_flags # F added by devel/scanprov
+CVf_AUTOLOAD # Z added by devel/scanprov
+CvPROTO # Z added by devel/scanprov
+CvPROTOLEN # Z added by devel/scanprov
+FOLDEQ_S1_ALREADY_FOLDED # Z added by devel/scanprov
+FOLDEQ_S2_ALREADY_FOLDED # Z added by devel/scanprov
+GV_AUTOLOAD_ISMETHOD # Z added by devel/scanprov
gv_autoload_pv # U
gv_autoload_pvn # U
gv_autoload_sv # U
+GvENAME_HEK # Z added by devel/scanprov
+GvENAMELEN # Z added by devel/scanprov
+GvENAMEUTF8 # Z added by devel/scanprov
+gv_fetchmethod_flags # Z added by devel/scanprov
gv_fetchmethod_pv_flags # U
gv_fetchmethod_pvn_flags # U
gv_fetchmethod_sv_flags # U
@@ -14,12 +28,18 @@ gv_fetchmeth_sv_autoload # U
gv_init_pv # U
gv_init_pvn # U
gv_init_sv # U
+gv_init_svtype # F added by devel/scanprov
+GvNAMEUTF8 # Z added by devel/scanprov
+HEKf # Z added by devel/scanprov
+HEKf256 # Z added by devel/scanprov
+HEKfARG # Z added by devel/scanprov
HvENAMELEN # U
HvENAMEUTF8 # U
HvNAMELEN # U
HvNAMEUTF8 # U
isASCII_L1 # U
newGVgen_flags # U
+PL_utf8_perl_idstart # Z added by devel/scanprov
sv_derived_from_pv # U
sv_derived_from_pvn # U
sv_derived_from_sv # U
@@ -27,10 +47,8 @@ sv_does_pv # U
sv_does_pvn # U
sv_does_sv # U
sv_ref # U
+sv_sethek # F added by devel/scanprov
whichsig_pv # U
whichsig_pvn # U
whichsig_sv # U
WIDEST_UTYPE # E
-cv_ckproto_len_flags # F added by devel/scanprov
-gv_init_svtype # F added by devel/scanprov
-sv_sethek # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015005 b/dist/Devel-PPPort/parts/base/5015005
index 2c52f9b9de..015b2ecd69 100644
--- a/dist/Devel-PPPort/parts/base/5015005
+++ b/dist/Devel-PPPort/parts/base/5015005
@@ -1,4 +1,13 @@
5.015005
+KEY_evalbytes # Z added by devel/scanprov
+LEX_EVALBYTES # Z added by devel/scanprov
+LEX_IGNORE_UTF8_HINTS # Z added by devel/scanprov
+LEX_START_COPIED # Z added by devel/scanprov
+LEX_START_FLAGS # Z added by devel/scanprov
+OPpEVAL_BYTES # Z added by devel/scanprov
+OPpEVAL_COPHH # Z added by devel/scanprov
+OPpEVAL_UNICODE # Z added by devel/scanprov
+PL_globhook # Z added by devel/scanprov
_to_fold_latin1 # F added by devel/scanprov
to_lower_latin1 # F added by devel/scanprov
_to_upper_title_latin1 # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015006 b/dist/Devel-PPPort/parts/base/5015006
index 81b9284990..25e8bcb4f7 100644
--- a/dist/Devel-PPPort/parts/base/5015006
+++ b/dist/Devel-PPPort/parts/base/5015006
@@ -1,9 +1,17 @@
5.015006
-newCONSTSUB_flags # A
check_locale_boundary_crossing # F added by devel/scanprov
+FOLD_FLAGS_FULL # Z added by devel/scanprov
+FOLD_FLAGS_LOCALE # Z added by devel/scanprov
+I8_TO_NATIVE # Z added by devel/scanprov
+KEY___SUB # Z added by devel/scanprov
+LvFLAGS # Z added by devel/scanprov
mayberelocate # F added by devel/scanprov
minus_v # F added by devel/scanprov
+NATIVE_TO_I8 # Z added by devel/scanprov
+newCONSTSUB_flags # A
newXS_len_flags # F added by devel/scanprov
+OPpALLOW_FAKE # Z added by devel/scanprov
+OPpSUBSTR_REPL_FIRST # Z added by devel/scanprov
report_redefined_cv # F added by devel/scanprov
_to_utf8_lower_flags # F added by devel/scanprov
_to_utf8_title_flags # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015007 b/dist/Devel-PPPort/parts/base/5015007
index b02b431f32..31846bde90 100644
--- a/dist/Devel-PPPort/parts/base/5015007
+++ b/dist/Devel-PPPort/parts/base/5015007
@@ -1 +1,19 @@
5.015007
+CURRENT_FEATURE_BUNDLE # Z added by devel/scanprov
+CURRENT_HINTS # Z added by devel/scanprov
+FEATURE_BUNDLE_510 # Z added by devel/scanprov
+FEATURE_BUNDLE_511 # Z added by devel/scanprov
+FEATURE_BUNDLE_515 # Z added by devel/scanprov
+FEATURE_BUNDLE_CUSTOM # Z added by devel/scanprov
+FEATURE_BUNDLE_DEFAULT # Z added by devel/scanprov
+FEATURE_EVALBYTES_IS_ENABLED # Z added by devel/scanprov
+FEATURE_SAY_IS_ENABLED # Z added by devel/scanprov
+FEATURE_STATE_IS_ENABLED # Z added by devel/scanprov
+FEATURE___SUB___IS_ENABLED # Z added by devel/scanprov
+FEATURE_SWITCH_IS_ENABLED # Z added by devel/scanprov
+FEATURE_UNICODE_IS_ENABLED # Z added by devel/scanprov
+FEATURE_UNIEVAL_IS_ENABLED # Z added by devel/scanprov
+HAS_ISBLANK # K added by devel/scanprov
+HINT_FEATURE_MASK # Z added by devel/scanprov
+HINT_FEATURE_SHIFT # Z added by devel/scanprov
+REFCOUNTED_HE_EXISTS # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5015008 b/dist/Devel-PPPort/parts/base/5015008
index 56870466ae..6766cc27c9 100644
--- a/dist/Devel-PPPort/parts/base/5015008
+++ b/dist/Devel-PPPort/parts/base/5015008
@@ -1,8 +1,26 @@
5.015008
-isASCII_LC # U
-is_utf8_char_buf # U
-wrap_op_checker # U
amagic_is_enabled # F added by devel/scanprov
+FEATURE_FC_IS_ENABLED # Z added by devel/scanprov
+HAS_IPV6_MREQ # K added by devel/scanprov
+HAS_SOCKADDR_IN6 # K added by devel/scanprov
+IN_SOME_LOCALE_FORM # Z added by devel/scanprov
+IN_SOME_LOCALE_FORM_COMPILETIME # Z added by devel/scanprov
+IN_SOME_LOCALE_FORM_RUNTIME # Z added by devel/scanprov
_invlist_intersection_maybe_complement_2nd # F added by devel/scanprov
_invlist_union_maybe_complement_2nd # F added by devel/scanprov
+isASCII_LC # U
+is_utf8_char_buf # U
+KEY_fc # Z added by devel/scanprov
_new_invlist_C_array # F added by devel/scanprov
+OP_CHECK_MUTEX_INIT # Z added by devel/scanprov
+OP_CHECK_MUTEX_LOCK # Z added by devel/scanprov
+OP_CHECK_MUTEX_TERM # Z added by devel/scanprov
+OP_CHECK_MUTEX_UNLOCK # Z added by devel/scanprov
+OPpFT_AFTER_t # Z added by devel/scanprov
+PL_AboveLatin1 # Z added by devel/scanprov
+PL_delaymagic_egid # Z added by devel/scanprov
+PL_delaymagic_euid # Z added by devel/scanprov
+PL_delaymagic_gid # Z added by devel/scanprov
+PL_delaymagic_uid # Z added by devel/scanprov
+PL_Latin1 # Z added by devel/scanprov
+wrap_op_checker # U
diff --git a/dist/Devel-PPPort/parts/base/5015009 b/dist/Devel-PPPort/parts/base/5015009
index 26adad079f..640b80263a 100644
--- a/dist/Devel-PPPort/parts/base/5015009
+++ b/dist/Devel-PPPort/parts/base/5015009
@@ -1,4 +1,5 @@
5.015009
+LEX_DONT_CLOSE_RSFP # Z added by devel/scanprov
utf8_to_uvchr_buf # U
utf8_to_uvuni_buf # F added by devel/scanprov
valid_utf8_to_uvchr # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5016000 b/dist/Devel-PPPort/parts/base/5016000
index 01207b01e1..3557c0a6a2 100644
--- a/dist/Devel-PPPort/parts/base/5016000
+++ b/dist/Devel-PPPort/parts/base/5016000
@@ -1,8 +1,14 @@
5.016000
-CopLABEL_len # U
-CopLABEL_len_flags # U
_add_range_to_invlist # F added by devel/scanprov
bad_type_pv # F added by devel/scanprov
+CopLABEL_len # U
+CopLABEL_len_flags # U
+CxLABEL_len # Z added by devel/scanprov
+CxLABEL_len_flags # Z added by devel/scanprov
+HINT_EXPLICIT_STRICT_REFS # Z added by devel/scanprov
+HINT_EXPLICIT_STRICT_SUBS # Z added by devel/scanprov
+HINT_EXPLICIT_STRICT_VARS # Z added by devel/scanprov
+OPpPV_IS_UTF8 # Z added by devel/scanprov
too_few_arguments_pv # F added by devel/scanprov
too_many_arguments_pv # F added by devel/scanprov
yyerror_pv # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017000 b/dist/Devel-PPPort/parts/base/5017000
index eee006bec2..08510e351b 100644
--- a/dist/Devel-PPPort/parts/base/5017000
+++ b/dist/Devel-PPPort/parts/base/5017000
@@ -1,2 +1,8 @@
5.017000
+FOLD_FLAGS_NOMIX_ASCII # Z added by devel/scanprov
+HvAMAGIC # Z added by devel/scanprov
+HvAMAGIC_off # Z added by devel/scanprov
+HvAMAGIC_on # Z added by devel/scanprov
magic_copycallchecker # F added by devel/scanprov
+PL_vtbl_checkcall # Z added by devel/scanprov
+UTF8_IS_REPLACEMENT # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017001 b/dist/Devel-PPPort/parts/base/5017001
index 133644456e..3aee89d4b8 100644
--- a/dist/Devel-PPPort/parts/base/5017001
+++ b/dist/Devel-PPPort/parts/base/5017001
@@ -1,5 +1,14 @@
5.017001
alloccopstash # U
+CopSTASHPV_set # A
current_re_engine # F added by devel/scanprov
newSTUB # F added by devel/scanprov
+PL_stashpad # Z added by devel/scanprov
+PL_stashpadix # Z added by devel/scanprov
+PL_stashpadmax # Z added by devel/scanprov
+PMf_CODELIST_PRIVATE # Z added by devel/scanprov
+PMf_HAS_CV # Z added by devel/scanprov
+PMf_IS_QR # Z added by devel/scanprov
+PMf_USE_RE_EVAL # Z added by devel/scanprov
+PREGf_USE_RE_EVAL # Z added by devel/scanprov
re_op_compile # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017002 b/dist/Devel-PPPort/parts/base/5017002
index 960991e1ec..51a4c10071 100644
--- a/dist/Devel-PPPort/parts/base/5017002
+++ b/dist/Devel-PPPort/parts/base/5017002
@@ -1,13 +1,56 @@
5.017002
-sv_copypv_flags # U
-sv_copypv_nomg # U
-sv_vcatpvfn_flags # U
+AMGf_want_list # Z added by devel/scanprov
+CVf_HASEVAL # Z added by devel/scanprov
cv_forget_slab # F added by devel/scanprov
+CVf_SLABBED # Z added by devel/scanprov
+CvHASEVAL # Z added by devel/scanprov
+CvHASEVAL_off # Z added by devel/scanprov
+CvHASEVAL_on # Z added by devel/scanprov
+CvSLABBED # Z added by devel/scanprov
+CvSLABBED_off # Z added by devel/scanprov
+CvSLABBED_on # Z added by devel/scanprov
+DEBUG_S # Z added by devel/scanprov
+DEBUG_S_FLAG # Z added by devel/scanprov
+DEBUG_S_TEST # Z added by devel/scanprov
+FIND_RUNCV_level_eq # Z added by devel/scanprov
find_runcv_where # F added by devel/scanprov
grok_bslash_x # F added by devel/scanprov
+HAS_IP_MREQ # K added by devel/scanprov
invlist_highest # F added by devel/scanprov
magic_cleararylen_p # F added by devel/scanprov
+OP_FREED # Z added by devel/scanprov
+OpSLAB # Z added by devel/scanprov
opslab_force_free # F added by devel/scanprov
opslab_free # F added by devel/scanprov
opslab_free_nopad # F added by devel/scanprov
+OpslabREFCNT_dec # Z added by devel/scanprov
+OpslabREFCNT_dec_padok # Z added by devel/scanprov
+OpSLOT # Z added by devel/scanprov
+OPSLOT_HEADER # Z added by devel/scanprov
+OPSLOT_HEADER_P # Z added by devel/scanprov
+PERL_CALLCONV_NO_RET # Z added by devel/scanprov
+PERL_RELOCATABLE_INC # K added by devel/scanprov
Slab_to_ro # F added by devel/scanprov
+sv_2bool_nomg # Z added by devel/scanprov
+sv_catpvn_nomg_utf8_upgrade # Z added by devel/scanprov
+sv_copypv_flags # U
+sv_copypv_nomg # U
+SvIOK_nog # Z added by devel/scanprov
+SvIOK_nogthink # Z added by devel/scanprov
+SvNIOK_nog # Z added by devel/scanprov
+SvNIOK_nogthink # Z added by devel/scanprov
+SvNOK_nog # Z added by devel/scanprov
+SvNOK_nogthink # Z added by devel/scanprov
+SvPOK_byte_nog # Z added by devel/scanprov
+SvPOK_byte_nogthink # Z added by devel/scanprov
+SvPOK_nog # Z added by devel/scanprov
+SvPOK_nogthink # Z added by devel/scanprov
+SvPOK_utf8_nog # Z added by devel/scanprov
+SvPOK_utf8_nogthink # Z added by devel/scanprov
+SvPVXtrue # Z added by devel/scanprov
+SvTRUE_common # Z added by devel/scanprov
+SvTRUEx_nomg # Z added by devel/scanprov
+SvUOK_nog # Z added by devel/scanprov
+SvUOK_nogthink # Z added by devel/scanprov
+sv_vcatpvfn_flags # U
+tryAMAGICunTARGETlist # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017003 b/dist/Devel-PPPort/parts/base/5017003
index 81e507731d..6c46e9cb08 100644
--- a/dist/Devel-PPPort/parts/base/5017003
+++ b/dist/Devel-PPPort/parts/base/5017003
@@ -1,7 +1,22 @@
5.017003
+ANGSTROM_SIGN # Z added by devel/scanprov
compute_EXACTish # F added by devel/scanprov
grok_bslash_N # F added by devel/scanprov
init_constants # F added by devel/scanprov
_invlist_contains_cp # F added by devel/scanprov
_invlist_search # F added by devel/scanprov
+KELVIN_SIGN # Z added by devel/scanprov
+LATIN_SMALL_LETTER_LONG_S # Z added by devel/scanprov
+NPOSIXA # Z added by devel/scanprov
+NPOSIXD # Z added by devel/scanprov
+NPOSIXL # Z added by devel/scanprov
+NPOSIXU # Z added by devel/scanprov
op_unscope # F added by devel/scanprov
+padadd_STALEOK # Z added by devel/scanprov
+POSIXA # Z added by devel/scanprov
+POSIXD # Z added by devel/scanprov
+POSIXL # Z added by devel/scanprov
+POSIXU # Z added by devel/scanprov
+SvPOK_byte_pure_nogthink # Z added by devel/scanprov
+SvPOK_pure_nogthink # Z added by devel/scanprov
+SvPOK_utf8_pure_nogthink # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017004 b/dist/Devel-PPPort/parts/base/5017004
index be63ed358d..d72661342b 100644
--- a/dist/Devel-PPPort/parts/base/5017004
+++ b/dist/Devel-PPPort/parts/base/5017004
@@ -1,30 +1,64 @@
5.017004
+av_extend_guts # F added by devel/scanprov
+COMBINING_GRAVE_ACCENT_UTF8 # Z added by devel/scanprov
+cv_clone_into # F added by devel/scanprov
+CVf_NAMED # Z added by devel/scanprov
+CvNAMED # Z added by devel/scanprov
+CvNAMED_off # Z added by devel/scanprov
+CvNAMED_on # Z added by devel/scanprov
+CvNAME_HEK_set # Z added by devel/scanprov
+FIND_RUNCV_padid_eq # Z added by devel/scanprov
+force_ident_maybe_lex # F added by devel/scanprov
+get_invlist_previous_index_addr # F added by devel/scanprov
GV_SUPER # E
+HAS_IP_MREQ_SOURCE # K added by devel/scanprov
+HYPHEN_UTF8 # Z added by devel/scanprov
+_invlist_len # F added by devel/scanprov
+invlist_previous_index # F added by devel/scanprov
+invlist_set_previous_index # F added by devel/scanprov
+is_QUOTEMETA_high # Z added by devel/scanprov
+LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE # Z added by devel/scanprov
+LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE # Z added by devel/scanprov
+LATIN_SMALL_LETTER_SHARP_S_NATIVE # Z added by devel/scanprov
+LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE # Z added by devel/scanprov
+MICRO_SIGN_NATIVE # Z added by devel/scanprov
newMYSUB # E (Perl_newMYSUB)
newSVpadname # E
+OPpMAYBE_TRUEBOOL # Z added by devel/scanprov
+OPpTRUEBOOL # Z added by devel/scanprov
PadARRAY # U
+PAD_COMPNAME # Z added by devel/scanprov
PadlistARRAY # U
PadlistMAX # U
PadlistNAMES # E
PadlistNAMESARRAY # E
PadlistNAMESMAX # U
PadlistREFCNT # U
+padlist_store # F added by devel/scanprov
PadMAX # U
+PadnameIsOUR # Z added by devel/scanprov
+PadnameIsSTATE # Z added by devel/scanprov
PadnameLEN # E
PadnamelistARRAY # E
PadnamelistMAX # E
+PadnameOURSTASH # Z added by devel/scanprov
+PadnameOUTER # Z added by devel/scanprov
PadnamePV # E
PadnameSV # E
+PadnameTYPE # Z added by devel/scanprov
PadnameUTF8 # E
+pending_ident # F added by devel/scanprov
PL_comppad_name # E
+REXEC_COPY_SKIP_POST # Z added by devel/scanprov
+REXEC_COPY_SKIP_PRE # Z added by devel/scanprov
+RX_BUFF_IDX_CARET_FULLMATCH # Z added by devel/scanprov
+RX_BUFF_IDX_CARET_POSTMATCH # Z added by devel/scanprov
+RX_BUFF_IDX_CARET_PREMATCH # Z added by devel/scanprov
+RX_SUBCOFFSET # Z added by devel/scanprov
+RX_SUBOFFSET # Z added by devel/scanprov
+SAWAMPERSAND_LEFT # Z added by devel/scanprov
+SAWAMPERSAND_MIDDLE # Z added by devel/scanprov
+SAWAMPERSAND_RIGHT # Z added by devel/scanprov
+sv_len_utf8_nomg # F added by devel/scanprov
+UTF8_IS_ABOVE_LATIN1 # Z added by devel/scanprov
WARN_EXPERIMENTAL # E
-sv_len_utf8_nomg # M added by devel/scanprov
-av_extend_guts # F added by devel/scanprov
-cv_clone_into # F added by devel/scanprov
-force_ident_maybe_lex # F added by devel/scanprov
-get_invlist_previous_index_addr # F added by devel/scanprov
-_invlist_len # F added by devel/scanprov
-invlist_previous_index # F added by devel/scanprov
-invlist_set_previous_index # F added by devel/scanprov
-padlist_store # F added by devel/scanprov
-pending_ident # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017005 b/dist/Devel-PPPort/parts/base/5017005
index 17b0d1f48a..fe76cb1fde 100644
--- a/dist/Devel-PPPort/parts/base/5017005
+++ b/dist/Devel-PPPort/parts/base/5017005
@@ -1,4 +1,11 @@
5.017005
+ANYOF_NWORDCHAR # Z added by devel/scanprov
+ANYOF_WORDCHAR # Z added by devel/scanprov
+PERL_STATIC_INLINE_NO_RET # Z added by devel/scanprov
+PERL_STATIC_NO_RET # Z added by devel/scanprov
+PL_HasMultiCharFold # Z added by devel/scanprov
+sv_catpvn_nomg_maybeutf8 # Z added by devel/scanprov
sv_mortalcopy_flags # U
-WARN_EXPERIMENTAL__LEXICAL_SUBS # E
+sv_or_pv_len_utf8 # Z added by devel/scanprov
sv_resetpvn # F added by devel/scanprov
+WARN_EXPERIMENTAL__LEXICAL_SUBS # E
diff --git a/dist/Devel-PPPort/parts/base/5017006 b/dist/Devel-PPPort/parts/base/5017006
index 6985bfc9c8..183c0cbd6f 100644
--- a/dist/Devel-PPPort/parts/base/5017006
+++ b/dist/Devel-PPPort/parts/base/5017006
@@ -1,6 +1,42 @@
5.017006
-READ_XDIGIT # U
+ANYOF_UNIPROP # Z added by devel/scanprov
+aTHXa # Z added by devel/scanprov
croak_no_mem # F added by devel/scanprov
get_and_check_backslash_N_name # F added by devel/scanprov
+is_HORIZWS_cp_high # Z added by devel/scanprov
+is_HORIZWS_high # Z added by devel/scanprov
+isREGEXP # Z added by devel/scanprov
+is_VERTWS_cp_high # Z added by devel/scanprov
+is_VERTWS_high # Z added by devel/scanprov
+isVERTWS_uni # Z added by devel/scanprov
+isVERTWS_utf8 # Z added by devel/scanprov
+isWORDCHAR_uni # Z added by devel/scanprov
+is_XDIGIT_cp_high # Z added by devel/scanprov
+is_XDIGIT_high # Z added by devel/scanprov
+is_XPERLSPACE_cp_high # Z added by devel/scanprov
+is_XPERLSPACE_high # Z added by devel/scanprov
+NO_TAINT_SUPPORT # Z added by devel/scanprov
+OPpPADRANGE_COUNTMASK # Z added by devel/scanprov
+OPpPADRANGE_COUNTSHIFT # Z added by devel/scanprov
parser_free_nexttoke_ops # F added by devel/scanprov
+PERL_HASH_FUNC # Z added by devel/scanprov
+PERL_HASH_SEED_BYTES # Z added by devel/scanprov
+PL_utf8_charname_begin # Z added by devel/scanprov
+PL_utf8_charname_continue # Z added by devel/scanprov
+READ_XDIGIT # U
+ReANY # Z added by devel/scanprov
+RX_ISTAINTED # Z added by devel/scanprov
+RX_TAINT_on # Z added by devel/scanprov
+SAVEt_CLEARPADRANGE # Z added by devel/scanprov
+SIPROUND # Z added by devel/scanprov
+SVf_IsCOW # Z added by devel/scanprov
+TAINT_get # Z added by devel/scanprov
+TAINTING_get # Z added by devel/scanprov
+TAINTING_set # Z added by devel/scanprov
+TAINT_set # Z added by devel/scanprov
+TAINT_WARN_get # Z added by devel/scanprov
+TAINT_WARN_set # Z added by devel/scanprov
+U8TO64_LE # Z added by devel/scanprov
+UTF8_IS_NEXT_CHAR_DOWNGRADEABLE # Z added by devel/scanprov
win32_croak_not_implemented # F added by devel/scanprov
+xpv_len # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017007 b/dist/Devel-PPPort/parts/base/5017007
index 1e458349d4..213dbb4dae 100644
--- a/dist/Devel-PPPort/parts/base/5017007
+++ b/dist/Devel-PPPort/parts/base/5017007
@@ -1,13 +1,38 @@
5.017007
+ANYOF_CLASS_OR # Z added by devel/scanprov
+CowREFCNT # Z added by devel/scanprov
+dSS_ADD # Z added by devel/scanprov
+forget_pmop # F added by devel/scanprov
+gv_method_changed # Z added by devel/scanprov
isALNUMC_LC_uvchr # U
+isALNUMC_uni # Z added by devel/scanprov
+isALNUMC_utf8 # Z added by devel/scanprov
+isASCII_LC_utf8 # Z added by devel/scanprov
isASCII_LC_uvchr # U
isBLANK_LC_uvchr # U
+isFOO_lc # F added by devel/scanprov
isPSXSPC_LC_uvchr # U
+_is_uni_perl_idstart # F added by devel/scanprov
isWORDCHAR_LC # U
+isWORDCHAR_LC_utf8 # Z added by devel/scanprov
isWORDCHAR_LC_uvchr # U
isXDIGIT_LC # U
+isXDIGIT_LC_utf8 # Z added by devel/scanprov
isXDIGIT_LC_uvchr # U
+PERL_ANY_COW # Z added by devel/scanprov
+SAVEt_GVSLOT # Z added by devel/scanprov
+SS_ADD_BOOL # Z added by devel/scanprov
+SS_ADD_DPTR # Z added by devel/scanprov
+SS_ADD_DXPTR # Z added by devel/scanprov
+SS_ADD_END # Z added by devel/scanprov
+SS_ADD_INT # Z added by devel/scanprov
+SS_ADD_IV # Z added by devel/scanprov
+SS_ADD_LONG # Z added by devel/scanprov
+SS_ADD_PTR # Z added by devel/scanprov
+SS_ADD_UV # Z added by devel/scanprov
+SS_MAXPUSH # Z added by devel/scanprov
+SvCANCOW # Z added by devel/scanprov
+SV_COW_REFCNT_MAX # Z added by devel/scanprov
SvREFCNT_dec_NN # U
-forget_pmop # F added by devel/scanprov
-isFOO_lc # F added by devel/scanprov
-_is_uni_perl_idstart # F added by devel/scanprov
+SvTRUE_NN # U
+SvTRUE_nomg_NN # U
diff --git a/dist/Devel-PPPort/parts/base/5017008 b/dist/Devel-PPPort/parts/base/5017008
index 1f573e92ea..57dde8716b 100644
--- a/dist/Devel-PPPort/parts/base/5017008
+++ b/dist/Devel-PPPort/parts/base/5017008
@@ -1,18 +1,33 @@
5.017008
+ANYOF_ALPHANUMERIC # Z added by devel/scanprov
+ANYOF_CASED # Z added by devel/scanprov
+ANYOF_NALPHANUMERIC # Z added by devel/scanprov
+ANYOF_NCASED # Z added by devel/scanprov
+croak_popstack # F added by devel/scanprov
+invlist_is_iterating # F added by devel/scanprov
+invlist_iterfinish # F added by devel/scanprov
isALPHANUMERIC # U
isALPHANUMERIC_A # U
isALPHANUMERIC_L1 # U
isALPHANUMERIC_LC # U
+isALPHANUMERIC_LC_utf8 # Z added by devel/scanprov
isALPHANUMERIC_LC_uvchr # U
+isALPHANUMERIC_uni # Z added by devel/scanprov
+isFOO_utf8_lc # F added by devel/scanprov
isIDCONT # U
isIDCONT_A # U
isIDCONT_L1 # U
isIDCONT_LC # U
+isIDCONT_LC_utf8 # Z added by devel/scanprov
isIDCONT_LC_uvchr # U
-WARN_EXPERIMENTAL__REGEX_SETS # E
-croak_popstack # F added by devel/scanprov
-invlist_is_iterating # F added by devel/scanprov
-invlist_iterfinish # F added by devel/scanprov
-isFOO_utf8_lc # F added by devel/scanprov
+isIDCONT_uni # Z added by devel/scanprov
+is_PATWS_cp # Z added by devel/scanprov
+is_PATWS_safe # Z added by devel/scanprov
_is_uni_FOO # F added by devel/scanprov
_is_uni_perl_idcont # F added by devel/scanprov
+PL_utf8_perl_idcont # Z added by devel/scanprov
+PL_XPosix_ptrs # Z added by devel/scanprov
+POSIX_CC_COUNT # Z added by devel/scanprov
+RXp_MATCH_TAINTED_on # Z added by devel/scanprov
+SvREFCNT_IMMORTAL # Z added by devel/scanprov
+WARN_EXPERIMENTAL__REGEX_SETS # E
diff --git a/dist/Devel-PPPort/parts/base/5017009 b/dist/Devel-PPPort/parts/base/5017009
index 8af1a5f383..c89ae7773f 100644
--- a/dist/Devel-PPPort/parts/base/5017009
+++ b/dist/Devel-PPPort/parts/base/5017009
@@ -3,3 +3,4 @@ av_tindex # U
av_top_index # U
handle_regex_sets # F added by devel/scanprov
parse_lparen_question_flags # F added by devel/scanprov
+PERL_LAST_5_18_0_INTERP_MEMBER # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017010 b/dist/Devel-PPPort/parts/base/5017010
index 5b3585c0fb..5181d64bfa 100644
--- a/dist/Devel-PPPort/parts/base/5017010
+++ b/dist/Devel-PPPort/parts/base/5017010
@@ -1,3 +1,12 @@
5.017010
+DEL_NATIVE # Z added by devel/scanprov
parse_ident # F added by devel/scanprov
+PERL_SAWAMPERSAND # Z added by devel/scanprov
+PERL_SEEN_HV_FUNC_H # Z added by devel/scanprov
+PL_hash_rand_bits # Z added by devel/scanprov
ptr_hash # F added by devel/scanprov
+ROTL32 # Z added by devel/scanprov
+ROTL64 # Z added by devel/scanprov
+ROTL_UV # Z added by devel/scanprov
+U8TO16_LE # Z added by devel/scanprov
+U8TO32_LE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5017011 b/dist/Devel-PPPort/parts/base/5017011
index 478877f2b5..a1c38fd40b 100644
--- a/dist/Devel-PPPort/parts/base/5017011
+++ b/dist/Devel-PPPort/parts/base/5017011
@@ -1,2 +1,15 @@
5.017011
+EVAL_RE_REPARSING # Z added by devel/scanprov
+G_RE_REPARSING # Z added by devel/scanprov
+HvLASTRAND_get # Z added by devel/scanprov
+HvRAND_get # Z added by devel/scanprov
+OPpEVAL_RE_REPARSING # Z added by devel/scanprov
+PERL_HASH_DEFAULT_HvMAX # Z added by devel/scanprov
+PMf_CHARSET # Z added by devel/scanprov
+PMf_SPLIT # Z added by devel/scanprov
+RX_COMPFLAGS # Z added by devel/scanprov
+RXf_NO_INPLACE_SUBST # Z added by devel/scanprov
+RXf_PMf_FLAGCOPYMASK # Z added by devel/scanprov
+RXf_PMf_SPLIT # Z added by devel/scanprov
+RXp_COMPFLAGS # Z added by devel/scanprov
WARN_EXPERIMENTAL__SMARTMATCH # E
diff --git a/dist/Devel-PPPort/parts/base/5018000 b/dist/Devel-PPPort/parts/base/5018000
index 17729d0b74..c539f63864 100644
--- a/dist/Devel-PPPort/parts/base/5018000
+++ b/dist/Devel-PPPort/parts/base/5018000
@@ -1,2 +1,11 @@
5.018000
+CHANGE_MULTICALL_FLAGS # Z added by devel/scanprov
+CXp_SUB_RE # Z added by devel/scanprov
+CXp_SUB_RE_FAKE # Z added by devel/scanprov
hv_rand_set # U
+PERL_HASH_ITER_BUCKET # Z added by devel/scanprov
+PERL_HASH_RANDOMIZE_KEYS # Z added by devel/scanprov
+PL_HASH_RAND_BITS_ENABLED # Z added by devel/scanprov
+PL_hash_rand_bits_enabled # Z added by devel/scanprov
+PUSH_MULTICALL_FLAGS # Z added by devel/scanprov
+USE_PERL_PERTURB_KEYS # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5019001 b/dist/Devel-PPPort/parts/base/5019001
index 0894b3f5e4..2f3eb7f1bb 100644
--- a/dist/Devel-PPPort/parts/base/5019001
+++ b/dist/Devel-PPPort/parts/base/5019001
@@ -1,7 +1,18 @@
5.019001
+find_lexical_cv # F added by devel/scanprov
+LATIN_CAPITAL_LETTER_SHARP_S_UTF8 # Z added by devel/scanprov
+LATIN_SMALL_LETTER_LONG_S_UTF8 # Z added by devel/scanprov
+path_is_searchable # F added by devel/scanprov
+SvGID # Z added by devel/scanprov
+sv_setgid # Z added by devel/scanprov
+sv_setuid # Z added by devel/scanprov
+SvUID # Z added by devel/scanprov
toFOLD # U
+toFOLD_A # Z added by devel/scanprov
+toFOLD_LC # Z added by devel/scanprov
+toLOWER_A # Z added by devel/scanprov
toLOWER_L1 # U
toTITLE # U
+toTITLE_A # Z added by devel/scanprov
+toUPPER_A # Z added by devel/scanprov
UTF8f # E
-find_lexical_cv # F added by devel/scanprov
-path_is_searchable # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5019002 b/dist/Devel-PPPort/parts/base/5019002
index 63829e9b85..61feeaa934 100644
--- a/dist/Devel-PPPort/parts/base/5019002
+++ b/dist/Devel-PPPort/parts/base/5019002
@@ -1,12 +1,56 @@
5.019002
-G_METHOD_NAMED # E
-UTF8fARG # U
bad_type_gv # F added by devel/scanprov
defelem_target # F added by devel/scanprov
get_invlist_offset_addr # F added by devel/scanprov
+G_METHOD_NAMED # E
+HAS_SKIP_LOCALE_INIT # Z added by devel/scanprov
mg_find_mglob # F added by devel/scanprov
+OPpSPLIT_IMPLIM # Z added by devel/scanprov
+PL_op_exec_cnt # Z added by devel/scanprov
+PL_sv_consts # Z added by devel/scanprov
regdump_intflags # F added by devel/scanprov
save_magic_flags # F added by devel/scanprov
+SAVEt_READONLY_OFF # Z added by devel/scanprov
skipspace_flags # F added by devel/scanprov
+SV_CONST # Z added by devel/scanprov
+SV_CONST_BINMODE # Z added by devel/scanprov
+SV_CONST_CLEAR # Z added by devel/scanprov
+SV_CONST_CLOSE # Z added by devel/scanprov
+SV_CONST_DELETE # Z added by devel/scanprov
+SV_CONST_DESTROY # Z added by devel/scanprov
+SV_CONST_EOF # Z added by devel/scanprov
+SV_CONST_EXISTS # Z added by devel/scanprov
+SV_CONST_EXTEND # Z added by devel/scanprov
+SV_CONST_FETCH # Z added by devel/scanprov
+SV_CONST_FETCHSIZE # Z added by devel/scanprov
+SV_CONST_FILENO # Z added by devel/scanprov
+SV_CONST_FIRSTKEY # Z added by devel/scanprov
+SV_CONST_GETC # Z added by devel/scanprov
+SV_CONST_NEXTKEY # Z added by devel/scanprov
+SV_CONST_OPEN # Z added by devel/scanprov
+SV_CONST_POP # Z added by devel/scanprov
+SV_CONST_PRINT # Z added by devel/scanprov
+SV_CONST_PRINTF # Z added by devel/scanprov
+SV_CONST_PUSH # Z added by devel/scanprov
+SV_CONST_READ # Z added by devel/scanprov
+SV_CONST_READLINE # Z added by devel/scanprov
+SV_CONST_SCALAR # Z added by devel/scanprov
+SV_CONSTS_COUNT # Z added by devel/scanprov
+SV_CONST_SEEK # Z added by devel/scanprov
+SV_CONST_SHIFT # Z added by devel/scanprov
+SV_CONST_SPLICE # Z added by devel/scanprov
+SV_CONST_STORE # Z added by devel/scanprov
+SV_CONST_STORESIZE # Z added by devel/scanprov
+SV_CONST_TELL # Z added by devel/scanprov
+SV_CONST_TIEARRAY # Z added by devel/scanprov
+SV_CONST_TIEHANDLE # Z added by devel/scanprov
+SV_CONST_TIEHASH # Z added by devel/scanprov
+SV_CONST_TIESCALAR # Z added by devel/scanprov
+SV_CONST_UNSHIFT # Z added by devel/scanprov
+SV_CONST_UNTIE # Z added by devel/scanprov
+SV_CONST_WRITE # Z added by devel/scanprov
sv_magicext_mglob # F added by devel/scanprov
+USE_LOCALE_MESSAGES # Z added by devel/scanprov
+USE_LOCALE_MONETARY # Z added by devel/scanprov
+UTF8fARG # U
validate_proto # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5019003 b/dist/Devel-PPPort/parts/base/5019003
index d5ee4835a2..d4aec89891 100644
--- a/dist/Devel-PPPort/parts/base/5019003
+++ b/dist/Devel-PPPort/parts/base/5019003
@@ -1,8 +1,11 @@
5.019003
-PERL_EXIT_ABORT # E
-PERL_EXIT_WARN # E
-sv_pos_b2u_flags # U
-croak_memory_wrap # M added by devel/scanprov
adjust_size_and_find_bucket # F added by devel/scanprov
+croak_memory_wrap # F added by devel/scanprov
cv_const_sv_or_av # F added by devel/scanprov
_invlist_dump # F added by devel/scanprov
+PadnamelistMAXNAMED # Z added by devel/scanprov
+PERL_EXIT_ABORT # E
+PERL_EXIT_WARN # E
+REXEC_FAIL_ON_UNDERFLOW # Z added by devel/scanprov
+RX_ZERO_LEN # Z added by devel/scanprov
+sv_pos_b2u_flags # U
diff --git a/dist/Devel-PPPort/parts/base/5019004 b/dist/Devel-PPPort/parts/base/5019004
index 378be8ec7b..adf5192c0b 100644
--- a/dist/Devel-PPPort/parts/base/5019004
+++ b/dist/Devel-PPPort/parts/base/5019004
@@ -1,21 +1,51 @@
5.019004
-IS_SAFE_SYSCALL # U
-is_safe_syscall # U
-LATIN1_TO_NATIVE # U
-NATIVE_TO_LATIN1 # U
-UVCHR_IS_INVARIANT # U
-WARN_SYSCALLS # E
append_utf8_from_native_byte # F added by devel/scanprov
ASCII_TO_NEED # F added by devel/scanprov
+BOM_UTF8_FIRST_BYTE # Z added by devel/scanprov
+BOM_UTF8_TAIL # Z added by devel/scanprov
+CR_NATIVE # Z added by devel/scanprov
find_default_stash # F added by devel/scanprov
gv_is_in_main # F added by devel/scanprov
gv_magicalize # F added by devel/scanprov
+I8_TO_NATIVE_UTF8 # Z added by devel/scanprov
+ILLEGAL_UTF8_BYTE # Z added by devel/scanprov
+IS_SAFE_PATHNAME # Z added by devel/scanprov
+IS_SAFE_SYSCALL # U
+is_safe_syscall # U
+LATIN1_TO_NATIVE # U
+LATIN_SMALL_LIGATURE_LONG_S_T # Z added by devel/scanprov
+LATIN_SMALL_LIGATURE_LONG_S_T_UTF8 # Z added by devel/scanprov
+LATIN_SMALL_LIGATURE_ST # Z added by devel/scanprov
+LATIN_SMALL_LIGATURE_ST_UTF8 # Z added by devel/scanprov
+LF_NATIVE # Z added by devel/scanprov
+LvSTARGOFF # Z added by devel/scanprov
+MAX_UTF8_TWO_BYTE # Z added by devel/scanprov
maybe_multimagic_gv # F added by devel/scanprov
+MgBYTEPOS # Z added by devel/scanprov
+MgBYTEPOS_set # Z added by devel/scanprov
+MGf_BYTES # Z added by devel/scanprov
+NATIVE_BYTE_IS_INVARIANT # Z added by devel/scanprov
+NATIVE_SKIP # Z added by devel/scanprov
+NATIVE_TO_LATIN1 # U
NATIVE_TO_NEED # F added by devel/scanprov
+NATIVE_UTF8_TO_I8 # Z added by devel/scanprov
newSVavdefelem # F added by devel/scanprov
+OFFUNISKIP # Z added by devel/scanprov
+OPpSLICEWARNING # Z added by devel/scanprov
parse_gv_stash_name # F added by devel/scanprov
+Perl_drand48 # Z added by devel/scanprov
+Perl_drand48_init # Z added by devel/scanprov
Perl_drand48_init_r # F added by devel/scanprov
+PERL_DRAND48_QUAD # Z added by devel/scanprov
Perl_drand48_r # F added by devel/scanprov
+PL_random_state # Z added by devel/scanprov
+PL_RANDOM_STATE_TYPE # Z added by devel/scanprov
save_strlen # F added by devel/scanprov
+SAVEt_STRLEN # Z added by devel/scanprov
+SSize_t_MAX # Z added by devel/scanprov
sv_or_pv_pos_u2b # F added by devel/scanprov
+TWO_BYTE_UTF8_TO_NATIVE # Z added by devel/scanprov
+UVCHR_IS_INVARIANT # U
uvuni_to_utf8 # F added by devel/scanprov
+WARN_SYSCALLS # E
+xlv_targoff # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5019005 b/dist/Devel-PPPort/parts/base/5019005
index f9b4194d64..6f1f249a94 100644
--- a/dist/Devel-PPPort/parts/base/5019005
+++ b/dist/Devel-PPPort/parts/base/5019005
@@ -1,7 +1,19 @@
5.019005
-WARN_EXPERIMENTAL__POSTDEREF # E
+ANYOF_LOCALE_FLAGS # Z added by devel/scanprov
+ANYOF_POSIXL_AND # Z added by devel/scanprov
+ANYOF_POSIXL_CLEAR # Z added by devel/scanprov
+ANYOF_POSIXL_MAX # Z added by devel/scanprov
+ANYOF_POSIXL_OR # Z added by devel/scanprov
+ANYOF_POSIXL_SET # Z added by devel/scanprov
+ANYOF_POSIXL_SETALL # Z added by devel/scanprov
+ANYOF_POSIXL_TEST # Z added by devel/scanprov
+ANYOF_POSIXL_TEST_ALL_SET # Z added by devel/scanprov
+ANYOF_POSIXL_TEST_ANY_SET # Z added by devel/scanprov
+ANYOF_POSIXL_ZERO # Z added by devel/scanprov
+FEATURE_POSTDEREF_QQ_IS_ENABLED # Z added by devel/scanprov
get_ANYOF_cp_list_for_ssc # F added by devel/scanprov
move_proto_attr # F added by devel/scanprov
+PL_UpperLatin1 # Z added by devel/scanprov
populate_ANYOF_from_invlist # F added by devel/scanprov
set_ANYOF_arg # F added by devel/scanprov
ssc_add_range # F added by devel/scanprov
@@ -16,3 +28,4 @@ ssc_is_anything # F added by devel/scanprov
ssc_is_cp_posixl_init # F added by devel/scanprov
ssc_or # F added by devel/scanprov
ssc_union # F added by devel/scanprov
+WARN_EXPERIMENTAL__POSTDEREF # E
diff --git a/dist/Devel-PPPort/parts/base/5019006 b/dist/Devel-PPPort/parts/base/5019006
index 176400dc10..91f0739909 100644
--- a/dist/Devel-PPPort/parts/base/5019006
+++ b/dist/Devel-PPPort/parts/base/5019006
@@ -1,5 +1,14 @@
5.019006
-XopENTRYCUSTOM # M added by devel/scanprov
+ASSUME # Z added by devel/scanprov
custom_op_get_field # F added by devel/scanprov
+GvFILEx # Z added by devel/scanprov
gv_override # F added by devel/scanprov
+hv_deletehek # Z added by devel/scanprov
+hv_fetchhek # Z added by devel/scanprov
+hv_storehek # Z added by devel/scanprov
+NOT_REACHED # Z added by devel/scanprov
+OPpLVALUE # Z added by devel/scanprov
+Perl_custom_op_xop # Z added by devel/scanprov
+PERL_POISON_EXPR # Z added by devel/scanprov
set_caret_X # F added by devel/scanprov
+XopENTRYCUSTOM # M added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5019007 b/dist/Devel-PPPort/parts/base/5019007
index af1c95d278..bbea41558f 100644
--- a/dist/Devel-PPPort/parts/base/5019007
+++ b/dist/Devel-PPPort/parts/base/5019007
@@ -1,4 +1,7 @@
5.019007
__ASSERT_ # E
-OP_TYPE_IS # U
fixup_errno_string # F added by devel/scanprov
+GCC_DIAG_IGNORE # Z added by devel/scanprov
+GCC_DIAG_RESTORE # Z added by devel/scanprov
+OP_TYPE_IS # U
+UNKNOWN_ERRNO_MSG # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5019008 b/dist/Devel-PPPort/parts/base/5019008
index 8da5697b65..09bf9974dc 100644
--- a/dist/Devel-PPPort/parts/base/5019008
+++ b/dist/Devel-PPPort/parts/base/5019008
@@ -1,5 +1,21 @@
5.019008
+ANYOF_COMMON_FLAGS # Z added by devel/scanprov
+ISA_VERSION_OBJ # Z added by devel/scanprov
newATTRSUB_x # F added by devel/scanprov
+NEW_VERSION # Z added by devel/scanprov
+OCTAL_VALUE # Z added by devel/scanprov
+PERL_DECIMAL_VERSION # Z added by devel/scanprov
+PERL_PV_ESCAPE_DWIM # Z added by devel/scanprov
+PRESCAN_VERSION # Z added by devel/scanprov
+SCAN_VERSION # Z added by devel/scanprov
_setup_canned_invlist # F added by devel/scanprov
sv_buf_to_ro # F added by devel/scanprov
sv_buf_to_rw # F added by devel/scanprov
+UPG_VERSION # Z added by devel/scanprov
+VCMP # Z added by devel/scanprov
+VNORMAL # Z added by devel/scanprov
+VNUMIFY # Z added by devel/scanprov
+VSTRINGIFY # Z added by devel/scanprov
+VUTIL_REPLACE_CORE # Z added by devel/scanprov
+VVERIFY # Z added by devel/scanprov
+XDIGIT_VALUE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5019009 b/dist/Devel-PPPort/parts/base/5019009
index 9cc6b93028..442ba7234e 100644
--- a/dist/Devel-PPPort/parts/base/5019009
+++ b/dist/Devel-PPPort/parts/base/5019009
@@ -1,3 +1,41 @@
5.019009
-WARN_EXPERIMENTAL__SIGNATURES # E
+ANYOF_POSIXL_SSC_TEST_ALL_SET # Z added by devel/scanprov
+ANYOF_POSIXL_SSC_TEST_ANY_SET # Z added by devel/scanprov
+DEBUG_L # Z added by devel/scanprov
+DEBUG_L_FLAG # Z added by devel/scanprov
+DEBUG_L_TEST # Z added by devel/scanprov
+FEATURE_SIGNATURES_IS_ENABLED # Z added by devel/scanprov
+FOLDEQ_LOCALE # Z added by devel/scanprov
+IN_UTF8_CTYPE_LOCALE # Z added by devel/scanprov
+is_ANYOF_SYNTHETIC # Z added by devel/scanprov
+is_FOLDS_TO_MULTI_utf8 # Z added by devel/scanprov
+is_PROBLEMATIC_LOCALE_FOLD_cp # Z added by devel/scanprov
+is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp # Z added by devel/scanprov
+is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8 # Z added by devel/scanprov
+is_PROBLEMATIC_LOCALE_FOLD_utf8 # Z added by devel/scanprov
+PERL_MEMORY_DEBUG_HEADER_SIZE # Z added by devel/scanprov
+PL_in_utf8_CTYPE_locale # Z added by devel/scanprov
+PREGf_ANCH # Z added by devel/scanprov
+PREGf_ANCH_GPOS # Z added by devel/scanprov
+PREGf_ANCH_MBOL # Z added by devel/scanprov
+PREGf_ANCH_SBOL # Z added by devel/scanprov
+PREGf_GPOS_FLOAT # Z added by devel/scanprov
+PREGf_GPOS_SEEN # Z added by devel/scanprov
+PREGf_NOSCAN # Z added by devel/scanprov
put_range # F added by devel/scanprov
+REG_CUTGROUP_SEEN # Z added by devel/scanprov
+REG_GPOS_SEEN # Z added by devel/scanprov
+REG_LOOKBEHIND_SEEN # Z added by devel/scanprov
+REG_RECURSE_SEEN # Z added by devel/scanprov
+REG_RUN_ON_COMMENT_SEEN # Z added by devel/scanprov
+REG_TOP_LEVEL_BRANCHES_SEEN # Z added by devel/scanprov
+REG_UNBOUNDED_QUANTIFIER_SEEN # Z added by devel/scanprov
+REG_UNFOLDED_MULTI_SEEN # Z added by devel/scanprov
+REG_VERBARG_SEEN # Z added by devel/scanprov
+REG_ZERO_LEN_SEEN # Z added by devel/scanprov
+RXf_IS_ANCHORED # Z added by devel/scanprov
+RXf_UNBOUNDED_QUANTIFIER_SEEN # Z added by devel/scanprov
+RX_INTFLAGS # Z added by devel/scanprov
+RXp_INTFLAGS # Z added by devel/scanprov
+set_ANYOF_SYNTHETIC # Z added by devel/scanprov
+WARN_EXPERIMENTAL__SIGNATURES # E
diff --git a/dist/Devel-PPPort/parts/base/5019010 b/dist/Devel-PPPort/parts/base/5019010
index 02e91730cc..f87255fa6f 100644
--- a/dist/Devel-PPPort/parts/base/5019010
+++ b/dist/Devel-PPPort/parts/base/5019010
@@ -1,7 +1,21 @@
5.019010
-OP_TYPE_IS_OR_WAS # U
do_open6 # F added by devel/scanprov
do_open_raw # F added by devel/scanprov
+HvAUXf_NO_DEREF # Z added by devel/scanprov
+HvAUXf_SCAN_STASH # Z added by devel/scanprov
hv_auxinit_internal # F added by devel/scanprov
+is_MULTI_CHAR_FOLD_latin1_safe # Z added by devel/scanprov
+is_MULTI_CHAR_FOLD_utf8_safe # Z added by devel/scanprov
+is_MULTI_CHAR_FOLD_utf8_safe_part0 # Z added by devel/scanprov
+is_MULTI_CHAR_FOLD_utf8_safe_part1 # Z added by devel/scanprov
openn_cleanup # F added by devel/scanprov
openn_setup # F added by devel/scanprov
+OP_TYPE_IS_NN # Z added by devel/scanprov
+OP_TYPE_ISNT # Z added by devel/scanprov
+OP_TYPE_ISNT_AND_WASNT # Z added by devel/scanprov
+OP_TYPE_ISNT_AND_WASNT_NN # Z added by devel/scanprov
+OP_TYPE_ISNT_NN # Z added by devel/scanprov
+OP_TYPE_IS_OR_WAS # U
+OP_TYPE_IS_OR_WAS_NN # Z added by devel/scanprov
+PERL_HV_ALLOC_AUX_SIZE # Z added by devel/scanprov
+pTHX_12 # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5020000 b/dist/Devel-PPPort/parts/base/5020000
index 0c90925944..e61864c6ff 100644
--- a/dist/Devel-PPPort/parts/base/5020000
+++ b/dist/Devel-PPPort/parts/base/5020000
@@ -1 +1,3 @@
5.020000
+REG_EXTFLAGS_NAME_SIZE # Z added by devel/scanprov
+REG_INTFLAGS_NAME_SIZE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5021001 b/dist/Devel-PPPort/parts/base/5021001
index af9800541a..6220e19175 100644
--- a/dist/Devel-PPPort/parts/base/5021001
+++ b/dist/Devel-PPPort/parts/base/5021001
@@ -1,15 +1,41 @@
5.021001
-isUTF8_CHAR # U
-markstack_grow # E (Perl_markstack_grow)
-WARN_EXPERIMENTAL__WIN32_PERLIO # E
-PERL_UNUSED_RESULT # M added by devel/scanprov
add_above_Latin1_folds # F added by devel/scanprov
construct_ahocorasick_from_trie # F added by devel/scanprov
dump_c_backtrace # F added by devel/scanprov
free_c_backtrace # F added by devel/scanprov
+GCC_DIAG_PRAGMA # Z added by devel/scanprov
get_c_backtrace # F added by devel/scanprov
get_c_backtrace_dump # F added by devel/scanprov
+HAS_BACKTRACE # K added by devel/scanprov
+HAS_DLADDR # K added by devel/scanprov
+HAS_PTRDIFF_T # K added by devel/scanprov
+HAS_WCSCMP # K added by devel/scanprov
+HAS_WCSXFRM # K added by devel/scanprov
+HINT_LOCALE_PARTIAL # Z added by devel/scanprov
+I_EXECINFO # K added by devel/scanprov
+IN_LC # Z added by devel/scanprov
+IN_LC_ALL_COMPILETIME # Z added by devel/scanprov
+IN_LC_ALL_RUNTIME # Z added by devel/scanprov
+IN_LC_COMPILETIME # Z added by devel/scanprov
+IN_LC_PARTIAL_COMPILETIME # Z added by devel/scanprov
+IN_LC_PARTIAL_RUNTIME # Z added by devel/scanprov
+IN_LC_RUNTIME # Z added by devel/scanprov
_is_cur_LC_category_utf8 # F added by devel/scanprov
_is_in_locale_category # F added by devel/scanprov
+is_QUOTEMETA_high_part0 # Z added by devel/scanprov
+is_QUOTEMETA_high_part1 # Z added by devel/scanprov
+isUTF8_CHAR # U
+is_UTF8_CHAR_utf8_no_length_checks # Z added by devel/scanprov
+LOCK_NUMERIC_STANDARD # Z added by devel/scanprov
+markstack_grow # E (Perl_markstack_grow)
my_strerror # F added by devel/scanprov
+NBSP_NATIVE # Z added by devel/scanprov
+NBSP_UTF8 # Z added by devel/scanprov
+Perl_free_c_backtrace # Z added by devel/scanprov
+PERL_HASH_WITH_SEED # Z added by devel/scanprov
+PERL_UNUSED_RESULT # U
+QUESTION_MARK_CTRL # Z added by devel/scanprov
should_warn_nl # F added by devel/scanprov
+SS_NOPRIV # Z added by devel/scanprov
+UNLOCK_NUMERIC_STANDARD # Z added by devel/scanprov
+WARN_EXPERIMENTAL__WIN32_PERLIO # E
diff --git a/dist/Devel-PPPort/parts/base/5021002 b/dist/Devel-PPPort/parts/base/5021002
index ec97b0f529..7ea554b67f 100644
--- a/dist/Devel-PPPort/parts/base/5021002
+++ b/dist/Devel-PPPort/parts/base/5021002
@@ -1,8 +1,14 @@
5.021002
grok_number_flags # U
+IS_NUMBER_TRAILING # Z added by devel/scanprov
+not_incrementable # F added by devel/scanprov
+OP_SIBLING # Z added by devel/scanprov
op_sibling_splice # U
+PERL_MY_SNPRINTF_POST_GUARD # Z added by devel/scanprov
+PERL_MY_VSNPRINTF_POST_GUARD # Z added by devel/scanprov
PERL_SCAN_TRAILING # E
+PERL_SNPRINTF_CHECK # Z added by devel/scanprov
+sv_display # F added by devel/scanprov
+USE_LOCALE_TIME # Z added by devel/scanprov
WARN_MISSING # E
WARN_REDUNDANT # E
-not_incrementable # F added by devel/scanprov
-sv_display # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5021003 b/dist/Devel-PPPort/parts/base/5021003
index a0f459f7f3..27b8bbbf6c 100644
--- a/dist/Devel-PPPort/parts/base/5021003
+++ b/dist/Devel-PPPort/parts/base/5021003
@@ -1,2 +1,16 @@
5.021003
clear_special_blocks # F added by devel/scanprov
+HAS_LDEXPL # K added by devel/scanprov
+LONG_DOUBLE_IS_DOUBLE # K added by devel/scanprov
+LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN # K added by devel/scanprov
+LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN # K added by devel/scanprov
+LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN # K added by devel/scanprov
+LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN # K added by devel/scanprov
+LONG_DOUBLE_IS_UNKNOWN_FORMAT # K added by devel/scanprov
+LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN # K added by devel/scanprov
+LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN # K added by devel/scanprov
+LONG_DOUBLEKIND # K added by devel/scanprov
+NV_MAX_EXP # Z added by devel/scanprov
+NV_MIN_EXP # Z added by devel/scanprov
+Perl_ldexp # Z added by devel/scanprov
+Size_t_MAX # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5021004 b/dist/Devel-PPPort/parts/base/5021004
index 05a1b650a6..08fc29a2bb 100644
--- a/dist/Devel-PPPort/parts/base/5021004
+++ b/dist/Devel-PPPort/parts/base/5021004
@@ -1,14 +1,67 @@
5.021004
-CALL_CHECKER_REQUIRE_GV # E
-cv_set_call_checker_flags # U
-grok_infnan # U
-isinfnan # U
add_multi_match # F added by devel/scanprov
+ANYOF_MATCHES_ALL_ABOVE_BITMAP # Z added by devel/scanprov
+ANYOF_MATCHES_POSIXL # Z added by devel/scanprov
+ANYOF_ONLY_HAS_BITMAP # Z added by devel/scanprov
+CALL_CHECKER_REQUIRE_GV # E
cntrl_to_mnemonic # F added by devel/scanprov
+CVf_LEXICAL # Z added by devel/scanprov
+CvHASGV # Z added by devel/scanprov
+CvLEXICAL # Z added by devel/scanprov
+CvLEXICAL_off # Z added by devel/scanprov
+CvLEXICAL_on # Z added by devel/scanprov
+cv_set_call_checker_flags # U
cv_undef_flags # F added by devel/scanprov
+CV_UNDEF_KEEP_NAME # Z added by devel/scanprov
+ESC_NATIVE # Z added by devel/scanprov
+FP_PINF # Z added by devel/scanprov
+FP_QNAN # Z added by devel/scanprov
+grok_infnan # U
+GV_CACHE_ONLY # Z added by devel/scanprov
+GvGPFLAGS # Z added by devel/scanprov
gv_stashpvn_internal # F added by devel/scanprov
gv_stashsvpvn_cached # F added by devel/scanprov
+HAS_ACOSH # K added by devel/scanprov
+HAS_C99 # Z added by devel/scanprov
+HAS_FEGETROUND # K added by devel/scanprov
+HAS_FPCLASSIFY # K added by devel/scanprov
+HAS_ISFINITE # K added by devel/scanprov
+HAS_ISINFL # K added by devel/scanprov
+HAS_J0 # K added by devel/scanprov
+HAS_J0L # K added by devel/scanprov
+HAS_TRUNCL # K added by devel/scanprov
+I_FENV # K added by devel/scanprov
+isALPHA_FOLD_EQ # Z added by devel/scanprov
+isALPHA_FOLD_NE # Z added by devel/scanprov
+isinfnan # U
+isnormal # Z added by devel/scanprov
+I_STDINT # K added by devel/scanprov
+MAX_PRINT_A_FOR_USE_ONLY_BY_REGCOMP_DOT_C # Z added by devel/scanprov
+MGf_REQUIRE_GV # Z added by devel/scanprov
+NUM_ANYOF_CODE_POINTS # Z added by devel/scanprov
+OPpARG1_MASK # Z added by devel/scanprov
+OPpARG2_MASK # Z added by devel/scanprov
+OPpARG3_MASK # Z added by devel/scanprov
+OPpARG4_MASK # Z added by devel/scanprov
+OPpHINT_STRICT_REFS # Z added by devel/scanprov
+Perl_acos # Z added by devel/scanprov
+Perl_asin # Z added by devel/scanprov
+Perl_atan # Z added by devel/scanprov
+Perl_cosh # Z added by devel/scanprov
Perl_cvgv_from_hek # F added by devel/scanprov
+Perl_isfinitel # Z added by devel/scanprov
+Perl_log10 # Z added by devel/scanprov
+Perl_sinh # Z added by devel/scanprov
+Perl_strtod # Z added by devel/scanprov
+Perl_tan # Z added by devel/scanprov
+Perl_tanh # Z added by devel/scanprov
+PL_constpadix # Z added by devel/scanprov
put_charclass_bitmap_innards # F added by devel/scanprov
put_code_point # F added by devel/scanprov
quadmath_format_needed # F added by devel/scanprov
+RV2CVOPCV_FLAG_MASK # Z added by devel/scanprov
+RV2CVOPCV_MAYBE_NAME_GV # Z added by devel/scanprov
+RV2CVOPCV_RETURN_STUB # Z added by devel/scanprov
+SSC_MATCHES_EMPTY_STRING # Z added by devel/scanprov
+sv_cathek # Z added by devel/scanprov
+VT_NATIVE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5021005 b/dist/Devel-PPPort/parts/base/5021005
index a4270833c2..7b0e098298 100644
--- a/dist/Devel-PPPort/parts/base/5021005
+++ b/dist/Devel-PPPort/parts/base/5021005
@@ -1,22 +1,57 @@
5.021005
+assignment_type # F added by devel/scanprov
+cMETHOPx # Z added by devel/scanprov
+cMETHOPx_meth # Z added by devel/scanprov
cv_name # A
CV_NAME_NOTQUAL # E
-newMETHOP # U
-newMETHOP_named # U
-PERL_MAGIC_debugvar # E
-PERL_MAGIC_lvref # E
-SV_CATBYTES # E
-SV_CATUTF8 # E
-WARN_EXPERIMENTAL__REFALIASING # E
-assignment_type # F added by devel/scanprov
+CXp_FOR_LVREF # Z added by devel/scanprov
+DBVARMG_COUNT # Z added by devel/scanprov
+DBVARMG_SIGNAL # Z added by devel/scanprov
+DBVARMG_SINGLE # Z added by devel/scanprov
+DBVARMG_TRACE # Z added by devel/scanprov
+DEBUG_TEST_r # Z added by devel/scanprov
+FEATURE_REFALIASING_IS_ENABLED # Z added by devel/scanprov
+FILL_ADVANCE_NODE_2L_ARG # Z added by devel/scanprov
gv_setref # F added by devel/scanprov
+HAS_LC_MONETARY_2008 # K added by devel/scanprov
isinfnansv # F added by devel/scanprov
is_ssc_worth_it # F added by devel/scanprov
magic_getdebugvar # F added by devel/scanprov
magic_setdebugvar # F added by devel/scanprov
magic_setlvref # F added by devel/scanprov
+MGf_PERSIST # Z added by devel/scanprov
+NAN_COMPARE_BROKEN # Z added by devel/scanprov
+newMETHOP # U
newMETHOP_internal # F added by devel/scanprov
+newMETHOP_named # U
+NON_OTHER_COUNT_FOR_USE_ONLY_BY_REGCOMP_DOT_C # Z added by devel/scanprov
+OA_METHOP # Z added by devel/scanprov
+OPpLVREF_AV # Z added by devel/scanprov
+OPpLVREF_CV # Z added by devel/scanprov
+OPpLVREF_ELEM # Z added by devel/scanprov
+OPpLVREF_HV # Z added by devel/scanprov
+OPpLVREF_ITER # Z added by devel/scanprov
+OPpLVREF_SV # Z added by devel/scanprov
+OPpLVREF_TYPE # Z added by devel/scanprov
op_relocate_sv # F added by devel/scanprov
+PERL_MAGIC_debugvar # E
+PERL_MAGIC_lvref # E
+PERL_PV_PRETTY_EXACTSIZE # Z added by devel/scanprov
+PERL_SYS_FPU_INIT # Z added by devel/scanprov
+PL_DBcontrol # Z added by devel/scanprov
+PL_DBsignal_iv # Z added by devel/scanprov
+PL_DBsingle_iv # Z added by devel/scanprov
+PL_DBtrace_iv # Z added by devel/scanprov
+PL_vtbl_debugvar # Z added by devel/scanprov
+PL_vtbl_lvref # Z added by devel/scanprov
+PMf_EXTENDED_MORE # Z added by devel/scanprov
+RE_DEBUG_COMPILE_TEST # Z added by devel/scanprov
reg2Lanode # F added by devel/scanprov
regnode_guts # F added by devel/scanprov
+RXf_PMf_EXTENDED_MORE # Z added by devel/scanprov
+SV_CATBYTES # E
+SV_CATUTF8 # E
+SVf_PROTECT # Z added by devel/scanprov
+SVt_FIRST # Z added by devel/scanprov
tmps_grow_p # F added by devel/scanprov
+WARN_EXPERIMENTAL__REFALIASING # E
diff --git a/dist/Devel-PPPort/parts/base/5021006 b/dist/Devel-PPPort/parts/base/5021006
index 04ff79e939..5c98fff828 100644
--- a/dist/Devel-PPPort/parts/base/5021006
+++ b/dist/Devel-PPPort/parts/base/5021006
@@ -1,12 +1,89 @@
5.021006
-DOUBLEKIND # E
+COP_SEQMAX_INC # Z added by devel/scanprov
+CvDEPTHunsafe # Z added by devel/scanprov
+CvHSCXT # Z added by devel/scanprov
+CvPADLIST_set # Z added by devel/scanprov
+DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN # K added by devel/scanprov
+DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN # K added by devel/scanprov
+DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN # K added by devel/scanprov
+DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN # K added by devel/scanprov
+DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN # K added by devel/scanprov
+DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN # K added by devel/scanprov
+DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE # K added by devel/scanprov
+DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE # K added by devel/scanprov
+DOUBLE_IS_UNKNOWN_FORMAT # K added by devel/scanprov
+DOUBLEKIND # K added by devel/scanprov
+dXSBOOTARGSAPIVERCHK # Z added by devel/scanprov
+dXSBOOTARGSNOVERCHK # Z added by devel/scanprov
+dXSBOOTARGSXSAPIVERCHK # Z added by devel/scanprov
+HAS_ASINH # K added by devel/scanprov
+HAS_ATANH # K added by devel/scanprov
+HAS_CBRT # K added by devel/scanprov
+HAS_COPYSIGN # K added by devel/scanprov
+HAS_ERF # K added by devel/scanprov
+HAS_ERFC # K added by devel/scanprov
+HAS_EXP2 # K added by devel/scanprov
+HAS_EXPM1 # K added by devel/scanprov
+HAS_FDIM # K added by devel/scanprov
+HAS_FMA # K added by devel/scanprov
+HAS_FMAX # K added by devel/scanprov
+HAS_FMIN # K added by devel/scanprov
+HAS_HYPOT # K added by devel/scanprov
+HAS_ILOGB # K added by devel/scanprov
+HAS_ISNORMAL # K added by devel/scanprov
+HAS_LGAMMA # K added by devel/scanprov
+HAS_LGAMMA_R # K added by devel/scanprov
+HAS_LLRINT # K added by devel/scanprov
+HAS_LLROUND # K added by devel/scanprov
+HAS_LOG1P # K added by devel/scanprov
+HAS_LOG2 # K added by devel/scanprov
+HAS_LOGB # K added by devel/scanprov
+HAS_LRINT # K added by devel/scanprov
+HAS_LROUND # K added by devel/scanprov
+HAS_NAN # K added by devel/scanprov
+HAS_NEARBYINT # K added by devel/scanprov
+HAS_NEXTAFTER # K added by devel/scanprov
+HAS_NEXTTOWARD # K added by devel/scanprov
+HAS_REMAINDER # K added by devel/scanprov
+HAS_REMQUO # K added by devel/scanprov
+HAS_RINT # K added by devel/scanprov
+HAS_ROUND # K added by devel/scanprov
+HAS_SCALBN # K added by devel/scanprov
+HAS_TGAMMA # K added by devel/scanprov
+HAS_TRUNC # K added by devel/scanprov
+HS_APIVERLEN_MAX # Z added by devel/scanprov
+HS_CXT # Z added by devel/scanprov
+HSf_IMP_CXT # Z added by devel/scanprov
+HSf_NOCHK # Z added by devel/scanprov
+HSf_POPMARK # Z added by devel/scanprov
+HSf_SETXSUBFN # Z added by devel/scanprov
+HS_GETAPIVERLEN # Z added by devel/scanprov
+HS_GETINTERPSIZE # Z added by devel/scanprov
+HS_GETXSVERLEN # Z added by devel/scanprov
+HS_KEY # Z added by devel/scanprov
+HS_KEYp # Z added by devel/scanprov
+HSm_APIVERLEN # Z added by devel/scanprov
+HSm_INTRPSIZE # Z added by devel/scanprov
+HSm_KEY_MATCH # Z added by devel/scanprov
+HSm_XSVERLEN # Z added by devel/scanprov
+HS_XSVERLEN_MAX # Z added by devel/scanprov
newDEFSVOP # U
-op_convert_list # U
-WARN_LOCALE # E
newXS_deffile # F added by devel/scanprov
noperl_die # F added by devel/scanprov
+op_convert_list # U
+PadnameLVALUE # Z added by devel/scanprov
+PadnameLVALUE_on # Z added by devel/scanprov
PerlIO_restore_errno # F added by devel/scanprov
PerlIO_save_errno # F added by devel/scanprov
Perl_xs_handshake # F added by devel/scanprov
+PL_xsubfilename # Z added by devel/scanprov
+PoisonPADLIST # Z added by devel/scanprov
set_padlist # F added by devel/scanprov
+WARN_LOCALE # E
+XS_APIVERSION_POPMARK_BOOTCHECK # Z added by devel/scanprov
+XS_APIVERSION_SETXSUBFN_POPMARK_BOOTCHECK # Z added by devel/scanprov
xs_boot_epilog # F added by devel/scanprov
+XS_BOTHVERSION_BOOTCHECK # Z added by devel/scanprov
+XS_BOTHVERSION_POPMARK_BOOTCHECK # Z added by devel/scanprov
+XS_BOTHVERSION_SETXSUBFN_POPMARK_BOOTCHECK # Z added by devel/scanprov
+XS_SETXSUBFN_POPMARK # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5021007 b/dist/Devel-PPPort/parts/base/5021007
index 4a3d4d0bbc..44206a5280 100644
--- a/dist/Devel-PPPort/parts/base/5021007
+++ b/dist/Devel-PPPort/parts/base/5021007
@@ -1,22 +1,82 @@
5.021007
+cMETHOPx_rclass # Z added by devel/scanprov
+cUNOP_AUX # Z added by devel/scanprov
+cUNOP_AUXo # Z added by devel/scanprov
+cUNOP_AUXx # Z added by devel/scanprov
+gv_fetchmeth_internal # F added by devel/scanprov
+HAS_REGCOMP # K added by devel/scanprov
+HAS_STAT # K added by devel/scanprov
+I_GDBM # K added by devel/scanprov
+I_GDBMNDBM # K added by devel/scanprov
is_invariant_string # U
+kUNOP_AUX # Z added by devel/scanprov
+MDEREF_ACTION_MASK # Z added by devel/scanprov
+MDEREF_AV_gvav_aelem # Z added by devel/scanprov
+MDEREF_AV_gvsv_vivify_rv2av_aelem # Z added by devel/scanprov
+MDEREF_AV_padav_aelem # Z added by devel/scanprov
+MDEREF_AV_padsv_vivify_rv2av_aelem # Z added by devel/scanprov
+MDEREF_AV_pop_rv2av_aelem # Z added by devel/scanprov
+MDEREF_AV_vivify_rv2av_aelem # Z added by devel/scanprov
+MDEREF_FLAG_last # Z added by devel/scanprov
+MDEREF_HV_gvhv_helem # Z added by devel/scanprov
+MDEREF_HV_gvsv_vivify_rv2hv_helem # Z added by devel/scanprov
+MDEREF_HV_padhv_helem # Z added by devel/scanprov
+MDEREF_HV_padsv_vivify_rv2hv_helem # Z added by devel/scanprov
+MDEREF_HV_pop_rv2hv_helem # Z added by devel/scanprov
+MDEREF_HV_vivify_rv2hv_helem # Z added by devel/scanprov
+MDEREF_INDEX_const # Z added by devel/scanprov
+MDEREF_INDEX_gvsv # Z added by devel/scanprov
+MDEREF_INDEX_MASK # Z added by devel/scanprov
+MDEREF_INDEX_none # Z added by devel/scanprov
+MDEREF_INDEX_padsv # Z added by devel/scanprov
+MDEREF_MASK # Z added by devel/scanprov
+MDEREF_reload # Z added by devel/scanprov
+MDEREF_SHIFT # Z added by devel/scanprov
+NDEBUG # Z added by devel/scanprov
newPADNAMELIST # U
newPADNAMEouter # U
newPADNAMEpvn # U
newUNOP_AUX # E
+OA_UNOP_AUX # Z added by devel/scanprov
+OPf_FOLDED # Z added by devel/scanprov
OpHAS_SIBLING # U
+opmethod_stash # F added by devel/scanprov
+OPpMULTIDEREF_DELETE # Z added by devel/scanprov
+OPpMULTIDEREF_EXISTS # Z added by devel/scanprov
OpSIBLING # U
+pad_add_weakref # F added by devel/scanprov
+padname_dup # F added by devel/scanprov
+PadnameFLAGS # Z added by devel/scanprov
+PADNAME_FROM_PV # Z added by devel/scanprov
+PadnameIsSTATE_on # Z added by devel/scanprov
+padnamelist_dup # F added by devel/scanprov
padnamelist_fetch # U
PadnamelistREFCNT # U
PadnamelistREFCNT_dec # U
padnamelist_store # U
+PadnameOURSTASH_set # Z added by devel/scanprov
+PadnamePROTOCV # Z added by devel/scanprov
PadnameREFCNT # U
PadnameREFCNT_dec # U
+PADNAMEt_LVALUE # Z added by devel/scanprov
+PADNAMEt_OUR # Z added by devel/scanprov
PADNAMEt_OUTER # E
-gv_fetchmeth_internal # F added by devel/scanprov
-opmethod_stash # F added by devel/scanprov
-pad_add_weakref # F added by devel/scanprov
-padname_dup # F added by devel/scanprov
-padnamelist_dup # F added by devel/scanprov
+PADNAMEt_STATE # Z added by devel/scanprov
+PADNAMEt_TYPED # Z added by devel/scanprov
+PadnameTYPE_set # Z added by devel/scanprov
+PERL_DEB2 # Z added by devel/scanprov
Perl_padname_free # F added by devel/scanprov
Perl_padnamelist_free # F added by devel/scanprov
+PERL_PADNAME_MINIMAL # Z added by devel/scanprov
+PL_multideref_pc # Z added by devel/scanprov
+PL_padlist_generation # Z added by devel/scanprov
+PL_padname_const # Z added by devel/scanprov
+PL_padname_undef # Z added by devel/scanprov
+PNf # Z added by devel/scanprov
+PNfARG # Z added by devel/scanprov
+SAVEFREEPADNAME # Z added by devel/scanprov
+SAVEt_FREEPADNAME # Z added by devel/scanprov
+STATIC_ASSERT_1 # Z added by devel/scanprov
+STATIC_ASSERT_2 # Z added by devel/scanprov
+STATIC_ASSERT_STMT # Z added by devel/scanprov
+UNOP_AUX_item_sv # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5021008 b/dist/Devel-PPPort/parts/base/5021008
index 61387edaec..c45949061d 100644
--- a/dist/Devel-PPPort/parts/base/5021008
+++ b/dist/Devel-PPPort/parts/base/5021008
@@ -1,4 +1,20 @@
5.021008
+ANYOFL # Z added by devel/scanprov
+CvANONCONST # Z added by devel/scanprov
+CvANONCONST_off # Z added by devel/scanprov
+CvANONCONST_on # Z added by devel/scanprov
+CVf_ANONCONST # Z added by devel/scanprov
+EXACTFLU8 # Z added by devel/scanprov
+EXACTL # Z added by devel/scanprov
+FOLDEQ_S1_FOLDS_SANE # Z added by devel/scanprov
+FOLDEQ_S2_FOLDS_SANE # Z added by devel/scanprov
+NOCAPTURE_PAT_MOD # Z added by devel/scanprov
+NOCAPTURE_PAT_MODS # Z added by devel/scanprov
+PL_warn_locale # Z added by devel/scanprov
+PMf_NOCAPTURE # Z added by devel/scanprov
+PMf_STRICT # Z added by devel/scanprov
+RXf_PMf_NOCAPTURE # Z added by devel/scanprov
+RXf_PMf_STRICT # Z added by devel/scanprov
sv_get_backrefs # U
WARN_EXPERIMENTAL__CONST_ATTR # E
WARN_EXPERIMENTAL__RE_STRICT # E
diff --git a/dist/Devel-PPPort/parts/base/5021009 b/dist/Devel-PPPort/parts/base/5021009
index 979825e019..e442ba9c59 100644
--- a/dist/Devel-PPPort/parts/base/5021009
+++ b/dist/Devel-PPPort/parts/base/5021009
@@ -1,11 +1,36 @@
5.021009
-WARN_EXPERIMENTAL__BITWISE # E
advance_one_SB # F added by devel/scanprov
advance_one_WB # F added by devel/scanprov
+AMGf_numarg # Z added by devel/scanprov
backup_one_SB # F added by devel/scanprov
backup_one_WB # F added by devel/scanprov
+DOUBLE_BIG_ENDIAN # Z added by devel/scanprov
+DOUBLE_LITTLE_ENDIAN # Z added by devel/scanprov
+DOUBLE_MIX_ENDIAN # Z added by devel/scanprov
+FEATURE_BITWISE_IS_ENABLED # Z added by devel/scanprov
+HAS_LLRINTL # K added by devel/scanprov
+HAS_LLROUNDL # K added by devel/scanprov
+HAS_LRINTL # K added by devel/scanprov
+HAS_LROUNDL # K added by devel/scanprov
isGCB # F added by devel/scanprov
isSB # F added by devel/scanprov
isWB # F added by devel/scanprov
+LONGDOUBLE_BIG_ENDIAN # Z added by devel/scanprov
+LONGDOUBLE_DOUBLEDOUBLE # Z added by devel/scanprov
+LONGDOUBLE_LITTLE_ENDIAN # Z added by devel/scanprov
+LONGDOUBLE_X86_80_BIT # Z added by devel/scanprov
multideref_stringify # F added by devel/scanprov
my_bytes_to_utf8 # F added by devel/scanprov
+NV_BIG_ENDIAN # Z added by devel/scanprov
+NV_IMPLICIT_BIT # Z added by devel/scanprov
+NV_LITTLE_ENDIAN # Z added by devel/scanprov
+NV_MIX_ENDIAN # Z added by devel/scanprov
+OP_IS_INFIX_BIT # Z added by devel/scanprov
+Perl_pp_nbit_xor # Z added by devel/scanprov
+Perl_pp_sbit_xor # Z added by devel/scanprov
+PL_GCB_invlist # Z added by devel/scanprov
+PL_SB_invlist # Z added by devel/scanprov
+PL_WB_invlist # Z added by devel/scanprov
+RETSETTARG # Z added by devel/scanprov
+SS_BUFFEROVF # Z added by devel/scanprov
+WARN_EXPERIMENTAL__BITWISE # E
diff --git a/dist/Devel-PPPort/parts/base/5021010 b/dist/Devel-PPPort/parts/base/5021010
index b86937f987..30e079a6c3 100644
--- a/dist/Devel-PPPort/parts/base/5021010
+++ b/dist/Devel-PPPort/parts/base/5021010
@@ -1,8 +1,11 @@
5.021010
DECLARATION_FOR_LC_NUMERIC_MANIPULATION # E
+grok_atoUV # F added by devel/scanprov
+LOCK_LC_NUMERIC_STANDARD # Z added by devel/scanprov
+regex_set_precedence # F added by devel/scanprov
RESTORE_LC_NUMERIC # E
+SET_NUMERIC_UNDERLYING # Z added by devel/scanprov
STORE_LC_NUMERIC_FORCE_TO_UNDERLYING # E
STORE_LC_NUMERIC_SET_TO_NEEDED # E
-grok_atoUV # F added by devel/scanprov
-regex_set_precedence # F added by devel/scanprov
sv_only_taint_gmagic # F added by devel/scanprov
+UNLOCK_LC_NUMERIC_STANDARD # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5023000 b/dist/Devel-PPPort/parts/base/5023000
index 50ed05a7db..3c616daf90 100644
--- a/dist/Devel-PPPort/parts/base/5023000
+++ b/dist/Devel-PPPort/parts/base/5023000
@@ -1,8 +1,37 @@
5.023000
-DOUBLEINFBYTES # E
-DOUBLEMANTBITS # E
-DOUBLENANBYTES # E
-LONGDBLINFBYTES # E
-LONGDBLMANTBITS # E
-LONGDBLNANBYTES # E
-NVMANTBITS # E
+DOUBLEINFBYTES # K added by devel/scanprov
+DOUBLEMANTBITS # K added by devel/scanprov
+DOUBLENANBYTES # K added by devel/scanprov
+INFNAN_NV_U8_DECL # Z added by devel/scanprov
+INFNAN_U8_NV_DECL # Z added by devel/scanprov
+LONGDBLINFBYTES # K added by devel/scanprov
+LONGDBLMANTBITS # K added by devel/scanprov
+LONGDBLNANBYTES # K added by devel/scanprov
+NVMANTBITS # K added by devel/scanprov
+NV_NAN_BITS # Z added by devel/scanprov
+NV_NAN_IS_QUIET # Z added by devel/scanprov
+NV_NAN_IS_SIGNALING # Z added by devel/scanprov
+NV_NAN_PAYLOAD_MASK # Z added by devel/scanprov
+NV_NAN_PAYLOAD_MASK_IEEE_754_128_BE # Z added by devel/scanprov
+NV_NAN_PAYLOAD_MASK_IEEE_754_128_LE # Z added by devel/scanprov
+NV_NAN_PAYLOAD_MASK_IEEE_754_64_BE # Z added by devel/scanprov
+NV_NAN_PAYLOAD_MASK_IEEE_754_64_LE # Z added by devel/scanprov
+NV_NAN_PAYLOAD_PERM # Z added by devel/scanprov
+NV_NAN_PAYLOAD_PERM_0_TO_7 # Z added by devel/scanprov
+NV_NAN_PAYLOAD_PERM_7_TO_0 # Z added by devel/scanprov
+NV_NAN_PAYLOAD_PERM_IEEE_754_128_BE # Z added by devel/scanprov
+NV_NAN_PAYLOAD_PERM_IEEE_754_128_LE # Z added by devel/scanprov
+NV_NAN_PAYLOAD_PERM_IEEE_754_64_BE # Z added by devel/scanprov
+NV_NAN_PAYLOAD_PERM_IEEE_754_64_LE # Z added by devel/scanprov
+NV_NAN_QS_BIT # Z added by devel/scanprov
+NV_NAN_QS_BIT_OFFSET # Z added by devel/scanprov
+NV_NAN_QS_BIT_SHIFT # Z added by devel/scanprov
+NV_NAN_QS_BYTE # Z added by devel/scanprov
+NV_NAN_QS_BYTE_OFFSET # Z added by devel/scanprov
+NV_NAN_QS_QUIET # Z added by devel/scanprov
+NV_NAN_QS_SIGNALING # Z added by devel/scanprov
+NV_NAN_QS_TEST # Z added by devel/scanprov
+NV_NAN_QS_XOR # Z added by devel/scanprov
+NV_NAN_SET_QUIET # Z added by devel/scanprov
+NV_NAN_SET_SIGNALING # Z added by devel/scanprov
+PERLSI_MULTICALL # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5023001 b/dist/Devel-PPPort/parts/base/5023001
index ea44212d3c..67d2d52c29 100644
--- a/dist/Devel-PPPort/parts/base/5023001
+++ b/dist/Devel-PPPort/parts/base/5023001
@@ -1 +1,3 @@
5.023001
+FEATURE_BUNDLE_523 # Z added by devel/scanprov
+PERL_COPY_ON_WRITE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5023002 b/dist/Devel-PPPort/parts/base/5023002
index 9d73a7f553..22971e6769 100644
--- a/dist/Devel-PPPort/parts/base/5023002
+++ b/dist/Devel-PPPort/parts/base/5023002
@@ -1,4 +1,20 @@
5.023002
+ELEMENT_RANGE_MATCHES_INVLIST # Z added by devel/scanprov
+FROM_INTERNAL_SIZE # Z added by devel/scanprov
+LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE # Z added by devel/scanprov
+LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE_UTF8 # Z added by devel/scanprov
+LATIN_SMALL_LETTER_DOTLESS_I # Z added by devel/scanprov
+LATIN_SMALL_LETTER_DOTLESS_I_UTF8 # Z added by devel/scanprov
+OPpASSIGN_COMMON_AGG # Z added by devel/scanprov
+OPpASSIGN_COMMON_RC1 # Z added by devel/scanprov
+OPpASSIGN_COMMON_SCALAR # Z added by devel/scanprov
+PERLDB_LINE_OR_SAVESRC # Z added by devel/scanprov
+PREV_RANGE_MATCHES_INVLIST # Z added by devel/scanprov
+TO_INTERNAL_SIZE # Z added by devel/scanprov
+U64 # Z added by devel/scanprov
+UNICODE_DOT_DOT_VERSION # Z added by devel/scanprov
+UNICODE_DOT_VERSION # Z added by devel/scanprov
+UNICODE_MAJOR_VERSION # Z added by devel/scanprov
UTF8_IS_NONCHAR # U
UTF8_IS_SUPER # A
UTF8_IS_SURROGATE # A
diff --git a/dist/Devel-PPPort/parts/base/5023003 b/dist/Devel-PPPort/parts/base/5023003
index 4b19a2410a..c167edf2a4 100644
--- a/dist/Devel-PPPort/parts/base/5023003
+++ b/dist/Devel-PPPort/parts/base/5023003
@@ -1 +1,9 @@
5.023003
+ANYOFD # Z added by devel/scanprov
+ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER # Z added by devel/scanprov
+DEBUG_Lv # Z added by devel/scanprov
+DEBUG_Lv_TEST # Z added by devel/scanprov
+EIGHT_BIT_UTF8_TO_NATIVE # Z added by devel/scanprov
+isUTF8_POSSIBLY_PROBLEMATIC # Z added by devel/scanprov
+OFFUNI_IS_INVARIANT # Z added by devel/scanprov
+UTF8_IS_ABOVE_LATIN1_START # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5023005 b/dist/Devel-PPPort/parts/base/5023005
index 1b8818c372..84602338bb 100644
--- a/dist/Devel-PPPort/parts/base/5023005
+++ b/dist/Devel-PPPort/parts/base/5023005
@@ -1 +1,18 @@
5.023005
+HAS_FSTATFS # K added by devel/scanprov
+HAS_FSTATVFS # K added by devel/scanprov
+HAS_GETMNTENT # K added by devel/scanprov
+HAS_HASMNTOPT # K added by devel/scanprov
+HAS_STRUCT_STATFS # K added by devel/scanprov
+HAS_STRUCT_STATFS_F_FLAGS # K added by devel/scanprov
+HAS_USTAT # K added by devel/scanprov
+I_MNTENT # K added by devel/scanprov
+INCMARK # Z added by devel/scanprov
+I_SYS_MOUNT # K added by devel/scanprov
+I_SYS_STATFS # K added by devel/scanprov
+I_SYS_STATVFS # K added by devel/scanprov
+I_SYS_VFS # K added by devel/scanprov
+I_USTAT # K added by devel/scanprov
+TARGi # Z added by devel/scanprov
+TARGn # Z added by devel/scanprov
+TARGu # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5023006 b/dist/Devel-PPPort/parts/base/5023006
index 2945414005..36f078edcb 100644
--- a/dist/Devel-PPPort/parts/base/5023006
+++ b/dist/Devel-PPPort/parts/base/5023006
@@ -1,3 +1,34 @@
5.023006
+ANYOF_SHARED_d_UPPER_LATIN1_UTF8_STRING_MATCHES_non_d_RUNTIME_USER_PROP # Z added by devel/scanprov
+CLANG_DIAG_IGNORE # Z added by devel/scanprov
+CLANG_DIAG_PRAGMA # Z added by devel/scanprov
+CLANG_DIAG_RESTORE # Z added by devel/scanprov
+HIGHEST_CASE_CHANGING_CP_FOR_USE_ONLY_BY_UTF8_DOT_C # Z added by devel/scanprov
_invlistEQ # F added by devel/scanprov
+LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE # K added by devel/scanprov
+LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE # K added by devel/scanprov
+LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE # K added by devel/scanprov
+LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE # K added by devel/scanprov
+LONGDOUBLE_MIX_ENDIAN # Z added by devel/scanprov
+NV_NAN_PAYLOAD_MASK_SKIP_EIGHT # Z added by devel/scanprov
+NV_NAN_PAYLOAD_PERM_SKIP_EIGHT # Z added by devel/scanprov
+perl_pthread_mutex_lock # Z added by devel/scanprov
+perl_pthread_mutex_unlock # Z added by devel/scanprov
+PERL_TSA # Z added by devel/scanprov
+PERL_TSA_ACQUIRE # Z added by devel/scanprov
+PERL_TSA_ACTIVE # Z added by devel/scanprov
+PERL_TSA_CAPABILITY # Z added by devel/scanprov
+PERL_TSA_EXCLUDES # Z added by devel/scanprov
+PERL_TSA_GUARDED_BY # Z added by devel/scanprov
+PERL_TSA_NO_TSA # Z added by devel/scanprov
+PERL_TSA_PT_GUARDED_BY # Z added by devel/scanprov
+PERL_TSA_RELEASE # Z added by devel/scanprov
+PERL_TSA_REQUIRES # Z added by devel/scanprov
_to_utf8_case # F added by devel/scanprov
+UNICODE_DISALLOW_ABOVE_31_BIT # Z added by devel/scanprov
+UNICODE_IS_32_CONTIGUOUS_NONCHARS # Z added by devel/scanprov
+UNICODE_IS_END_PLANE_NONCHAR_GIVEN_NOT_SUPER # Z added by devel/scanprov
+UNICODE_WARN_ABOVE_31_BIT # Z added by devel/scanprov
+UTF8_DISALLOW_ABOVE_31_BIT # Z added by devel/scanprov
+UTF8_WARN_ABOVE_31_BIT # Z added by devel/scanprov
+UTF_IS_CONTINUATION_MASK # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5023007 b/dist/Devel-PPPort/parts/base/5023007
index 08b692258a..e97e1215f1 100644
--- a/dist/Devel-PPPort/parts/base/5023007
+++ b/dist/Devel-PPPort/parts/base/5023007
@@ -1,4 +1,17 @@
5.023007
advance_one_LB # F added by devel/scanprov
+ANYOFL_FOLD # Z added by devel/scanprov
+ANYOFL_SHARED_UTF8_LOCALE_fold_HAS_MATCHES_nonfold_REQD # Z added by devel/scanprov
+ANYOFL_SOME_FOLDS_ONLY_IN_UTF8_LOCALE # Z added by devel/scanprov
+ANYOFL_UTF8_LOCALE_REQD # Z added by devel/scanprov
backup_one_LB # F added by devel/scanprov
isLB # F added by devel/scanprov
+LB_BREAKABLE # Z added by devel/scanprov
+LB_HY_or_BA_then_foo # Z added by devel/scanprov
+LB_NOBREAK # Z added by devel/scanprov
+LB_NOBREAK_EVEN_WITH_SP_BETWEEN # Z added by devel/scanprov
+LB_PR_or_PO_then_OP_or_HY # Z added by devel/scanprov
+LB_SP_foo # Z added by devel/scanprov
+LB_SY_or_IS_then_various # Z added by devel/scanprov
+LB_various_then_PO_or_PR # Z added by devel/scanprov
+PL_LB_invlist # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5023008 b/dist/Devel-PPPort/parts/base/5023008
index a5480fcb0c..247a88c0d3 100644
--- a/dist/Devel-PPPort/parts/base/5023008
+++ b/dist/Devel-PPPort/parts/base/5023008
@@ -1,25 +1,61 @@
5.023008
+blk_oldsaveix # Z added by devel/scanprov
+blk_old_tmpsfloor # Z added by devel/scanprov
clear_defarray # U
-cx_popblock # U
-cx_popeval # U
-cx_popformat # U
-cx_poploop # U
-cx_popsub # U
-cx_popsub_args # U
-cx_popsub_common # U
-cx_pushblock # U
-cx_pusheval # U
-cx_pushformat # U
-cx_pushloop_for # U
-cx_pushloop_plain # U
-cx_pushsub # U
-cx_topblock # U
-leave_adjust_stacks # U
-savetmps # U
+CX_CUR # Z added by devel/scanprov
+CX_DEBUG # Z added by devel/scanprov
+CX_LEAVE_SCOPE # Z added by devel/scanprov
+CXp_FOR_GV # Z added by devel/scanprov
+CXp_FOR_PAD # Z added by devel/scanprov
+CX_POP # Z added by devel/scanprov
+cx_popblock # F added by devel/scanprov
+cx_popeval # F added by devel/scanprov
+cx_popformat # F added by devel/scanprov
+cx_poploop # F added by devel/scanprov
+CX_POP_SAVEARRAY # Z added by devel/scanprov
+cx_popsub # F added by devel/scanprov
+cx_popsub_args # F added by devel/scanprov
+cx_popsub_common # F added by devel/scanprov
+CX_POPSUBST # Z added by devel/scanprov
+cx_pushblock # F added by devel/scanprov
+cx_pusheval # F added by devel/scanprov
+cx_pushformat # F added by devel/scanprov
+cx_pushloop_for # F added by devel/scanprov
+cx_pushloop_plain # F added by devel/scanprov
+cx_pushsub # F added by devel/scanprov
+CX_PUSHSUB_GET_LVALUE_MASK # Z added by devel/scanprov
+CX_PUSHSUBST # Z added by devel/scanprov
+CXt_LOOP_ARY # Z added by devel/scanprov
+CXt_LOOP_LIST # Z added by devel/scanprov
+cx_topblock # F added by devel/scanprov
doeval_compile # F added by devel/scanprov
edit_distance # F added by devel/scanprov
handle_named_backref # F added by devel/scanprov
handle_possible_posix # F added by devel/scanprov
+HAS_SIGINFO_SI_ADDR # K added by devel/scanprov
+HAS_SIGINFO_SI_BAND # K added by devel/scanprov
+HAS_SIGINFO_SI_ERRNO # K added by devel/scanprov
+HAS_SIGINFO_SI_PID # K added by devel/scanprov
+HAS_SIGINFO_SI_STATUS # K added by devel/scanprov
+HAS_SIGINFO_SI_UID # K added by devel/scanprov
+HAS_SIGINFO_SI_VALUE # K added by devel/scanprov
invlist_contents # F added by devel/scanprov
+leave_adjust_stacks # U
+PERL_BISON_VERSION # Z added by devel/scanprov
+PERL_SMALL_MACRO_BUFFER # Z added by devel/scanprov
+PL_dump_re_max_len # Z added by devel/scanprov
put_charclass_bitmap_innards_common # F added by devel/scanprov
put_charclass_bitmap_innards_invlist # F added by devel/scanprov
+savetmps # U
+SAVEt_TMPSFLOOR # Z added by devel/scanprov
+SET_SVANY_FOR_BODYLESS_IV # Z added by devel/scanprov
+SET_SVANY_FOR_BODYLESS_NV # Z added by devel/scanprov
+WB_BREAKABLE # Z added by devel/scanprov
+WB_DQ_then_HL # Z added by devel/scanprov
+WB_HL_then_DQ # Z added by devel/scanprov
+WB_hs_then_hs # Z added by devel/scanprov
+WB_LE_or_HL_then_MB_or_ML_or_SQ # Z added by devel/scanprov
+WB_MB_or_ML_or_SQ_then_LE_or_HL # Z added by devel/scanprov
+WB_MB_or_MN_or_SQ_then_NU # Z added by devel/scanprov
+WB_NOBREAK # Z added by devel/scanprov
+WB_NU_then_MB_or_MN_or_SQ # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5023009 b/dist/Devel-PPPort/parts/base/5023009
index cceca1d1a6..5ea5bf31f6 100644
--- a/dist/Devel-PPPort/parts/base/5023009
+++ b/dist/Devel-PPPort/parts/base/5023009
@@ -1,4 +1,9 @@
5.023009
+HAS_FREELOCALE # K added by devel/scanprov
+HAS_NEWLOCALE # K added by devel/scanprov
+HAS_USELOCALE # K added by devel/scanprov
+invlist_clear # F added by devel/scanprov
+invlist_replace_list_destroys_src # F added by devel/scanprov
isALPHANUMERIC_uvchr # U
isALPHA_uvchr # U
isASCII_uvchr # U
@@ -14,18 +19,24 @@ isPSXSPC_uvchr # U
isPUNCT_uvchr # U
isSPACE_uvchr # U
isUPPER_uvchr # U
+isVERTWS_uvchr # Z added by devel/scanprov
isWORDCHAR_uvchr # U
isXDIGIT_uvchr # U
-toFOLD_uvchr # U
-toLOWER_uvchr # U
-toTITLE_uvchr # U
-toUPPER_uvchr # U
-invlist_clear # F added by devel/scanprov
-invlist_replace_list_destroys_src # F added by devel/scanprov
Perl_dtrace_probe_call # F added by devel/scanprov
+PERL_DTRACE_PROBE_ENTRY # Z added by devel/scanprov
+PERL_DTRACE_PROBE_FILE_LOADED # Z added by devel/scanprov
+PERL_DTRACE_PROBE_FILE_LOADING # Z added by devel/scanprov
Perl_dtrace_probe_load # F added by devel/scanprov
+PERL_DTRACE_PROBE_OP # Z added by devel/scanprov
Perl_dtrace_probe_op # F added by devel/scanprov
+PERL_DTRACE_PROBE_PHASE # Z added by devel/scanprov
Perl_dtrace_probe_phase # F added by devel/scanprov
+PERL_DTRACE_PROBE_RETURN # Z added by devel/scanprov
+PREGf_RECURSE_SEEN # Z added by devel/scanprov
re_exec_indentf # F added by devel/scanprov
re_indentf # F added by devel/scanprov
re_printf # F added by devel/scanprov
+toFOLD_uvchr # U
+toLOWER_uvchr # U
+toTITLE_uvchr # U
+toUPPER_uvchr # U
diff --git a/dist/Devel-PPPort/parts/base/5024000 b/dist/Devel-PPPort/parts/base/5024000
index 2445a65cd8..562d7bbeda 100644
--- a/dist/Devel-PPPort/parts/base/5024000
+++ b/dist/Devel-PPPort/parts/base/5024000
@@ -1,4 +1,9 @@
5.024000
+HAS_MEMMEM # K added by devel/scanprov
+LOCALE_INIT # Z added by devel/scanprov
+LOCALE_LOCK # Z added by devel/scanprov
+LOCALE_TERM # Z added by devel/scanprov
+LOCALE_UNLOCK # Z added by devel/scanprov
mem_log_alloc # F added by devel/scanprov
mem_log_free # F added by devel/scanprov
mem_log_realloc # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025001 b/dist/Devel-PPPort/parts/base/5025001
index 398001ba7a..193ba0c9f4 100644
--- a/dist/Devel-PPPort/parts/base/5025001
+++ b/dist/Devel-PPPort/parts/base/5025001
@@ -1,2 +1,3 @@
5.025001
op_parent # U
+PERL_OP_PARENT # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025002 b/dist/Devel-PPPort/parts/base/5025002
index 03f1ade979..a920eedd9f 100644
--- a/dist/Devel-PPPort/parts/base/5025002
+++ b/dist/Devel-PPPort/parts/base/5025002
@@ -1,2 +1,9 @@
5.025002
+DEBUG_i # Z added by devel/scanprov
+DEBUG_i_FLAG # Z added by devel/scanprov
+DEBUG_i_TEST # Z added by devel/scanprov
+HAS_STRERROR_L # K added by devel/scanprov
_mem_collxfrm # F added by devel/scanprov
+PL_in_utf8_COLLATE_locale # Z added by devel/scanprov
+PL_strxfrm_is_behaved # Z added by devel/scanprov
+PL_strxfrm_max_cp # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025003 b/dist/Devel-PPPort/parts/base/5025003
index 583bf3e732..6a55408829 100644
--- a/dist/Devel-PPPort/parts/base/5025003
+++ b/dist/Devel-PPPort/parts/base/5025003
@@ -1,4 +1,22 @@
5.025003
+backup_one_GCB # F added by devel/scanprov
+DOUBLE_HAS_INF # K added by devel/scanprov
+DOUBLE_HAS_NAN # K added by devel/scanprov
+DOUBLE_IS_IEEE_FORMAT # Z added by devel/scanprov
+DOUBLE_IS_VAX_D_FLOAT # K added by devel/scanprov
+DOUBLE_IS_VAX_F_FLOAT # K added by devel/scanprov
+DOUBLE_IS_VAX_FLOAT # Z added by devel/scanprov
+DOUBLE_IS_VAX_G_FLOAT # K added by devel/scanprov
+DOUBLE_VAX_ENDIAN # Z added by devel/scanprov
+FEATURE_MYREF_IS_ENABLED # Z added by devel/scanprov
+GCB_BREAKABLE # Z added by devel/scanprov
+GCB_EX_then_EM # Z added by devel/scanprov
+GCB_NOBREAK # Z added by devel/scanprov
+GCB_RI_then_RI # Z added by devel/scanprov
hv_bucket_ratio # U
+LB_CM_ZWJ_foo # Z added by devel/scanprov
+LB_RI_then_RI # Z added by devel/scanprov
+NV_VAX_ENDIAN # Z added by devel/scanprov
WARN_EXPERIMENTAL__DECLARED_REFS # E
-backup_one_GCB # F added by devel/scanprov
+WB_Ex_or_FO_or_ZWJ_then_foo # Z added by devel/scanprov
+WB_RI_then_RI # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025004 b/dist/Devel-PPPort/parts/base/5025004
index c1165b8c82..573b81d7df 100644
--- a/dist/Devel-PPPort/parts/base/5025004
+++ b/dist/Devel-PPPort/parts/base/5025004
@@ -1,4 +1,15 @@
5.025004
alloc_LOGOP # F added by devel/scanprov
croak_caller # F added by devel/scanprov
+HAS_GAI_STRERROR # K added by devel/scanprov
+I_XLOCALE # K added by devel/scanprov
+KEY_sigvar # Z added by devel/scanprov
+LONG_DOUBLE_IS_VAX_H_FLOAT # K added by devel/scanprov
+LONGDOUBLE_VAX_ENDIAN # Z added by devel/scanprov
+NV_X86_80_BIT # Z added by devel/scanprov
+OPpARGELEM_AV # Z added by devel/scanprov
+OPpARGELEM_HV # Z added by devel/scanprov
+OPpARGELEM_MASK # Z added by devel/scanprov
+OPpARGELEM_SV # Z added by devel/scanprov
print_collxfrm_input_and_return # F added by devel/scanprov
+USE_THREAD_SAFE_LOCALE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025005 b/dist/Devel-PPPort/parts/base/5025005
index 7b018cecff..d0407e6fe5 100644
--- a/dist/Devel-PPPort/parts/base/5025005
+++ b/dist/Devel-PPPort/parts/base/5025005
@@ -1,13 +1,25 @@
5.025005
BOM_UTF8 # E
+delimcpy_no_escape # F added by devel/scanprov
isC9_STRICT_UTF8_CHAR # U
+is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks # Z added by devel/scanprov
+is_NONCHAR_utf8_safe # Z added by devel/scanprov
isSTRICT_UTF8_CHAR # U
+is_STRICT_UTF8_CHAR_utf8_no_length_checks # Z added by devel/scanprov
+is_STRICT_UTF8_CHAR_utf8_no_length_checks_part0 # Z added by devel/scanprov
+is_STRICT_UTF8_CHAR_utf8_no_length_checks_part1 # Z added by devel/scanprov
+is_SURROGATE_utf8_safe # Z added by devel/scanprov
isUTF8_CHAR_flags # U
+is_utf8_cp_above_31_bits # F added by devel/scanprov
is_utf8_invariant_string # U
is_utf8_valid_partial_char # U
is_utf8_valid_partial_char_flags # U
+memGE # Z added by devel/scanprov
+memGT # Z added by devel/scanprov
+memLE # Z added by devel/scanprov
+memLT # Z added by devel/scanprov
REPLACEMENT_CHARACTER_UTF8 # E
+UNICODE_DISALLOW_ILLEGAL_C9_INTERCHANGE # Z added by devel/scanprov
+UNICODE_WARN_ILLEGAL_C9_INTERCHANGE # Z added by devel/scanprov
UTF8_DISALLOW_ILLEGAL_C9_INTERCHANGE # E
UTF8_WARN_ILLEGAL_C9_INTERCHANGE # E
-delimcpy_no_escape # F added by devel/scanprov
-is_utf8_cp_above_31_bits # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025006 b/dist/Devel-PPPort/parts/base/5025006
index 08c2bed717..4f44c9b2d8 100644
--- a/dist/Devel-PPPort/parts/base/5025006
+++ b/dist/Devel-PPPort/parts/base/5025006
@@ -1,4 +1,13 @@
5.025006
+_byte_dump_string # F added by devel/scanprov
+does_utf8_overflow # F added by devel/scanprov
+DOUBLE_IS_CRAY_SINGLE_64_BIT # K added by devel/scanprov
+DOUBLE_IS_IBM_DOUBLE_64_BIT # K added by devel/scanprov
+DOUBLE_IS_IBM_SINGLE_32_BIT # K added by devel/scanprov
+dump_regex_sets_structures # F added by devel/scanprov
+hv_deletes # Z added by devel/scanprov
+hv_existss # Z added by devel/scanprov
+hv_name_sets # Z added by devel/scanprov
is_c9strict_utf8_string # U
is_c9strict_utf8_string_loc # U
is_c9strict_utf8_string_loclen # U
@@ -8,15 +17,28 @@ is_strict_utf8_string_loclen # U
is_utf8_fixed_width_buf_flags # U
is_utf8_fixed_width_buf_loc_flags # U
is_utf8_fixed_width_buf_loclen_flags # U
+is_utf8_overlong_given_start_byte_ok # F added by devel/scanprov
is_utf8_string_flags # U
is_utf8_string_loc_flags # U
is_utf8_string_loclen_flags # U
+MAX # Z added by devel/scanprov
+MIN # Z added by devel/scanprov
+OPpAVHVSWITCH_MASK # Z added by devel/scanprov
+OPpSPLIT_ASSIGN # Z added by devel/scanprov
+OPpSPLIT_LEX # Z added by devel/scanprov
+regcp_restore # F added by devel/scanprov
SvPVCLEAR # U
sv_setpv_bufsize # U
-utf8n_to_uvchr_error # U
-_byte_dump_string # F added by devel/scanprov
-does_utf8_overflow # F added by devel/scanprov
-dump_regex_sets_structures # F added by devel/scanprov
-is_utf8_overlong_given_start_byte_ok # F added by devel/scanprov
-regcp_restore # F added by devel/scanprov
unexpected_non_continuation_text # F added by devel/scanprov
+UTF8_GOT_ABOVE_31_BIT # Z added by devel/scanprov
+UTF8_GOT_CONTINUATION # Z added by devel/scanprov
+UTF8_GOT_EMPTY # Z added by devel/scanprov
+UTF8_GOT_LONG # Z added by devel/scanprov
+UTF8_GOT_NONCHAR # Z added by devel/scanprov
+UTF8_GOT_NON_CONTINUATION # Z added by devel/scanprov
+UTF8_GOT_OVERFLOW # Z added by devel/scanprov
+UTF8_GOT_SHORT # Z added by devel/scanprov
+UTF8_GOT_SUPER # Z added by devel/scanprov
+UTF8_GOT_SURROGATE # Z added by devel/scanprov
+utf8n_to_uvchr_error # U
+YYDEBUG # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025007 b/dist/Devel-PPPort/parts/base/5025007
index 2176720912..3410161b8e 100644
--- a/dist/Devel-PPPort/parts/base/5025007
+++ b/dist/Devel-PPPort/parts/base/5025007
@@ -1,6 +1,13 @@
5.025007
CLEAR_ERRSV # E
+CxEVAL_TXT_REFCNTED # Z added by devel/scanprov
+DOUBLE_HAS_NEGATIVE_ZERO # K added by devel/scanprov
+DOUBLE_HAS_SUBNORMALS # K added by devel/scanprov
+DOUBLE_STYLE_IEEE # K added by devel/scanprov
+isFF_OVERLONG # F added by devel/scanprov
+LONG_DOUBLE_STYLE_IEEE # K added by devel/scanprov
+LONG_DOUBLE_STYLE_IEEE_EXTENDED # K added by devel/scanprov
+PL_curpm_under # Z added by devel/scanprov
utf8_hop_back # U
utf8_hop_forward # U
utf8_hop_safe # U
-isFF_OVERLONG # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025008 b/dist/Devel-PPPort/parts/base/5025008
index 4ca9b583d7..27fa0466db 100644
--- a/dist/Devel-PPPort/parts/base/5025008
+++ b/dist/Devel-PPPort/parts/base/5025008
@@ -1,2 +1,10 @@
5.025008
+is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks_part0 # Z added by devel/scanprov
+is_C9_STRICT_UTF8_CHAR_utf8_no_length_checks_part1 # Z added by devel/scanprov
+is_MULTI_CHAR_FOLD_utf8_safe_part2 # Z added by devel/scanprov
+is_MULTI_CHAR_FOLD_utf8_safe_part3 # Z added by devel/scanprov
+is_STRICT_UTF8_CHAR_utf8_no_length_checks_part2 # Z added by devel/scanprov
+is_STRICT_UTF8_CHAR_utf8_no_length_checks_part3 # Z added by devel/scanprov
+PERL_SIPHASH_FNC # Z added by devel/scanprov
+PL_strxfrm_NUL_replacement # Z added by devel/scanprov
sv_set_undef # U
diff --git a/dist/Devel-PPPort/parts/base/5025009 b/dist/Devel-PPPort/parts/base/5025009
index 71d2ac4a62..a95f3d62b6 100644
--- a/dist/Devel-PPPort/parts/base/5025009
+++ b/dist/Devel-PPPort/parts/base/5025009
@@ -1,4 +1,7 @@
5.025009
+deprecate_disappears_in # Z added by devel/scanprov
+deprecate_fatal_in # Z added by devel/scanprov
+_force_out_malformed_utf8_message # F added by devel/scanprov
isALPHA_LC_utf8_safe # U
isALPHANUMERIC_LC_utf8_safe # U
isALPHANUMERIC_utf8_safe # U
@@ -15,6 +18,7 @@ isGRAPH_LC_utf8_safe # U
isGRAPH_utf8_safe # U
isIDCONT_LC_utf8_safe # U
isIDCONT_utf8_safe # U
+isIDFIRST_lazy_if_safe # Z added by devel/scanprov
isIDFIRST_LC_utf8_safe # U
isIDFIRST_utf8_safe # U
isLOWER_LC_utf8_safe # U
@@ -29,13 +33,17 @@ isSPACE_LC_utf8_safe # U
isSPACE_utf8_safe # U
isUPPER_LC_utf8_safe # U
isUPPER_utf8_safe # U
+isVERTWS_utf8_safe # Z added by devel/scanprov
+isWORDCHAR_lazy_if_safe # Z added by devel/scanprov
isWORDCHAR_LC_utf8_safe # U
isWORDCHAR_utf8_safe # U
isXDIGIT_LC_utf8_safe # U
isXDIGIT_utf8_safe # U
+PL_Assigned_invlist # Z added by devel/scanprov
toFOLD_utf8_safe # U
toLOWER_utf8_safe # U
toTITLE_utf8_safe # U
toUPPER_utf8_safe # U
-_force_out_malformed_utf8_message # F added by devel/scanprov
+UTF8_ALLOW_LONG_AND_ITS_VALUE # Z added by devel/scanprov
+UTF8_ALLOW_OVERFLOW # Z added by devel/scanprov
warn_on_first_deprecated_use # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025010 b/dist/Devel-PPPort/parts/base/5025010
index 5f2b61556b..1601d18c79 100644
--- a/dist/Devel-PPPort/parts/base/5025010
+++ b/dist/Devel-PPPort/parts/base/5025010
@@ -1,5 +1,12 @@
5.025010
-op_class # E
abort_execution # F added by devel/scanprov
+av_tindex_skip_len_mg # Z added by devel/scanprov
+av_top_index_skip_len_mg # Z added by devel/scanprov
+EVAL_B # Z added by devel/scanprov
+EVAL_B_fail # Z added by devel/scanprov
+EVAL_postponed_AB # Z added by devel/scanprov
+EVAL_postponed_AB_fail # Z added by devel/scanprov
notify_parser_that_changed_to_utf8 # F added by devel/scanprov
+op_class # E
+PMf_HAS_ERROR # Z added by devel/scanprov
yyquit # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025011 b/dist/Devel-PPPort/parts/base/5025011
index ebbab42d3d..20688622ed 100644
--- a/dist/Devel-PPPort/parts/base/5025011
+++ b/dist/Devel-PPPort/parts/base/5025011
@@ -1 +1,2 @@
5.025011
+DEFAULT_INC_EXCLUDES_DOT # K added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5025012 b/dist/Devel-PPPort/parts/base/5025012
index c1d9e6324a..c504d00d7b 100644
--- a/dist/Devel-PPPort/parts/base/5025012
+++ b/dist/Devel-PPPort/parts/base/5025012
@@ -1 +1,2 @@
5.025012
+PERL_UTIL_H # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5027001 b/dist/Devel-PPPort/parts/base/5027001
index a952cd14ac..91ad388c03 100644
--- a/dist/Devel-PPPort/parts/base/5027001
+++ b/dist/Devel-PPPort/parts/base/5027001
@@ -1,4 +1,334 @@
5.027001
bytes_from_utf8_loc # U
+CAN64BITHASH # Z added by devel/scanprov
+case_100_SBOX32 # Z added by devel/scanprov
+case_101_SBOX32 # Z added by devel/scanprov
+case_102_SBOX32 # Z added by devel/scanprov
+case_103_SBOX32 # Z added by devel/scanprov
+case_104_SBOX32 # Z added by devel/scanprov
+case_105_SBOX32 # Z added by devel/scanprov
+case_106_SBOX32 # Z added by devel/scanprov
+case_107_SBOX32 # Z added by devel/scanprov
+case_108_SBOX32 # Z added by devel/scanprov
+case_109_SBOX32 # Z added by devel/scanprov
+case_10_SBOX32 # Z added by devel/scanprov
+case_110_SBOX32 # Z added by devel/scanprov
+case_111_SBOX32 # Z added by devel/scanprov
+case_112_SBOX32 # Z added by devel/scanprov
+case_113_SBOX32 # Z added by devel/scanprov
+case_114_SBOX32 # Z added by devel/scanprov
+case_115_SBOX32 # Z added by devel/scanprov
+case_116_SBOX32 # Z added by devel/scanprov
+case_117_SBOX32 # Z added by devel/scanprov
+case_118_SBOX32 # Z added by devel/scanprov
+case_119_SBOX32 # Z added by devel/scanprov
+case_11_SBOX32 # Z added by devel/scanprov
+case_120_SBOX32 # Z added by devel/scanprov
+case_121_SBOX32 # Z added by devel/scanprov
+case_122_SBOX32 # Z added by devel/scanprov
+case_123_SBOX32 # Z added by devel/scanprov
+case_124_SBOX32 # Z added by devel/scanprov
+case_125_SBOX32 # Z added by devel/scanprov
+case_126_SBOX32 # Z added by devel/scanprov
+case_127_SBOX32 # Z added by devel/scanprov
+case_128_SBOX32 # Z added by devel/scanprov
+case_129_SBOX32 # Z added by devel/scanprov
+case_12_SBOX32 # Z added by devel/scanprov
+case_130_SBOX32 # Z added by devel/scanprov
+case_131_SBOX32 # Z added by devel/scanprov
+case_132_SBOX32 # Z added by devel/scanprov
+case_133_SBOX32 # Z added by devel/scanprov
+case_134_SBOX32 # Z added by devel/scanprov
+case_135_SBOX32 # Z added by devel/scanprov
+case_136_SBOX32 # Z added by devel/scanprov
+case_137_SBOX32 # Z added by devel/scanprov
+case_138_SBOX32 # Z added by devel/scanprov
+case_139_SBOX32 # Z added by devel/scanprov
+case_13_SBOX32 # Z added by devel/scanprov
+case_140_SBOX32 # Z added by devel/scanprov
+case_141_SBOX32 # Z added by devel/scanprov
+case_142_SBOX32 # Z added by devel/scanprov
+case_143_SBOX32 # Z added by devel/scanprov
+case_144_SBOX32 # Z added by devel/scanprov
+case_145_SBOX32 # Z added by devel/scanprov
+case_146_SBOX32 # Z added by devel/scanprov
+case_147_SBOX32 # Z added by devel/scanprov
+case_148_SBOX32 # Z added by devel/scanprov
+case_149_SBOX32 # Z added by devel/scanprov
+case_14_SBOX32 # Z added by devel/scanprov
+case_150_SBOX32 # Z added by devel/scanprov
+case_151_SBOX32 # Z added by devel/scanprov
+case_152_SBOX32 # Z added by devel/scanprov
+case_153_SBOX32 # Z added by devel/scanprov
+case_154_SBOX32 # Z added by devel/scanprov
+case_155_SBOX32 # Z added by devel/scanprov
+case_156_SBOX32 # Z added by devel/scanprov
+case_157_SBOX32 # Z added by devel/scanprov
+case_158_SBOX32 # Z added by devel/scanprov
+case_159_SBOX32 # Z added by devel/scanprov
+case_15_SBOX32 # Z added by devel/scanprov
+case_160_SBOX32 # Z added by devel/scanprov
+case_161_SBOX32 # Z added by devel/scanprov
+case_162_SBOX32 # Z added by devel/scanprov
+case_163_SBOX32 # Z added by devel/scanprov
+case_164_SBOX32 # Z added by devel/scanprov
+case_165_SBOX32 # Z added by devel/scanprov
+case_166_SBOX32 # Z added by devel/scanprov
+case_167_SBOX32 # Z added by devel/scanprov
+case_168_SBOX32 # Z added by devel/scanprov
+case_169_SBOX32 # Z added by devel/scanprov
+case_16_SBOX32 # Z added by devel/scanprov
+case_170_SBOX32 # Z added by devel/scanprov
+case_171_SBOX32 # Z added by devel/scanprov
+case_172_SBOX32 # Z added by devel/scanprov
+case_173_SBOX32 # Z added by devel/scanprov
+case_174_SBOX32 # Z added by devel/scanprov
+case_175_SBOX32 # Z added by devel/scanprov
+case_176_SBOX32 # Z added by devel/scanprov
+case_177_SBOX32 # Z added by devel/scanprov
+case_178_SBOX32 # Z added by devel/scanprov
+case_179_SBOX32 # Z added by devel/scanprov
+case_17_SBOX32 # Z added by devel/scanprov
+case_180_SBOX32 # Z added by devel/scanprov
+case_181_SBOX32 # Z added by devel/scanprov
+case_182_SBOX32 # Z added by devel/scanprov
+case_183_SBOX32 # Z added by devel/scanprov
+case_184_SBOX32 # Z added by devel/scanprov
+case_185_SBOX32 # Z added by devel/scanprov
+case_186_SBOX32 # Z added by devel/scanprov
+case_187_SBOX32 # Z added by devel/scanprov
+case_188_SBOX32 # Z added by devel/scanprov
+case_189_SBOX32 # Z added by devel/scanprov
+case_18_SBOX32 # Z added by devel/scanprov
+case_190_SBOX32 # Z added by devel/scanprov
+case_191_SBOX32 # Z added by devel/scanprov
+case_192_SBOX32 # Z added by devel/scanprov
+case_193_SBOX32 # Z added by devel/scanprov
+case_194_SBOX32 # Z added by devel/scanprov
+case_195_SBOX32 # Z added by devel/scanprov
+case_196_SBOX32 # Z added by devel/scanprov
+case_197_SBOX32 # Z added by devel/scanprov
+case_198_SBOX32 # Z added by devel/scanprov
+case_199_SBOX32 # Z added by devel/scanprov
+case_19_SBOX32 # Z added by devel/scanprov
+case_1_SBOX32 # Z added by devel/scanprov
+case_200_SBOX32 # Z added by devel/scanprov
+case_201_SBOX32 # Z added by devel/scanprov
+case_202_SBOX32 # Z added by devel/scanprov
+case_203_SBOX32 # Z added by devel/scanprov
+case_204_SBOX32 # Z added by devel/scanprov
+case_205_SBOX32 # Z added by devel/scanprov
+case_206_SBOX32 # Z added by devel/scanprov
+case_207_SBOX32 # Z added by devel/scanprov
+case_208_SBOX32 # Z added by devel/scanprov
+case_209_SBOX32 # Z added by devel/scanprov
+case_20_SBOX32 # Z added by devel/scanprov
+case_210_SBOX32 # Z added by devel/scanprov
+case_211_SBOX32 # Z added by devel/scanprov
+case_212_SBOX32 # Z added by devel/scanprov
+case_213_SBOX32 # Z added by devel/scanprov
+case_214_SBOX32 # Z added by devel/scanprov
+case_215_SBOX32 # Z added by devel/scanprov
+case_216_SBOX32 # Z added by devel/scanprov
+case_217_SBOX32 # Z added by devel/scanprov
+case_218_SBOX32 # Z added by devel/scanprov
+case_219_SBOX32 # Z added by devel/scanprov
+case_21_SBOX32 # Z added by devel/scanprov
+case_220_SBOX32 # Z added by devel/scanprov
+case_221_SBOX32 # Z added by devel/scanprov
+case_222_SBOX32 # Z added by devel/scanprov
+case_223_SBOX32 # Z added by devel/scanprov
+case_224_SBOX32 # Z added by devel/scanprov
+case_225_SBOX32 # Z added by devel/scanprov
+case_226_SBOX32 # Z added by devel/scanprov
+case_227_SBOX32 # Z added by devel/scanprov
+case_228_SBOX32 # Z added by devel/scanprov
+case_229_SBOX32 # Z added by devel/scanprov
+case_22_SBOX32 # Z added by devel/scanprov
+case_230_SBOX32 # Z added by devel/scanprov
+case_231_SBOX32 # Z added by devel/scanprov
+case_232_SBOX32 # Z added by devel/scanprov
+case_233_SBOX32 # Z added by devel/scanprov
+case_234_SBOX32 # Z added by devel/scanprov
+case_235_SBOX32 # Z added by devel/scanprov
+case_236_SBOX32 # Z added by devel/scanprov
+case_237_SBOX32 # Z added by devel/scanprov
+case_238_SBOX32 # Z added by devel/scanprov
+case_239_SBOX32 # Z added by devel/scanprov
+case_23_SBOX32 # Z added by devel/scanprov
+case_240_SBOX32 # Z added by devel/scanprov
+case_241_SBOX32 # Z added by devel/scanprov
+case_242_SBOX32 # Z added by devel/scanprov
+case_243_SBOX32 # Z added by devel/scanprov
+case_244_SBOX32 # Z added by devel/scanprov
+case_245_SBOX32 # Z added by devel/scanprov
+case_246_SBOX32 # Z added by devel/scanprov
+case_247_SBOX32 # Z added by devel/scanprov
+case_248_SBOX32 # Z added by devel/scanprov
+case_249_SBOX32 # Z added by devel/scanprov
+case_24_SBOX32 # Z added by devel/scanprov
+case_250_SBOX32 # Z added by devel/scanprov
+case_251_SBOX32 # Z added by devel/scanprov
+case_252_SBOX32 # Z added by devel/scanprov
+case_253_SBOX32 # Z added by devel/scanprov
+case_254_SBOX32 # Z added by devel/scanprov
+case_255_SBOX32 # Z added by devel/scanprov
+case_256_SBOX32 # Z added by devel/scanprov
+case_25_SBOX32 # Z added by devel/scanprov
+case_26_SBOX32 # Z added by devel/scanprov
+case_27_SBOX32 # Z added by devel/scanprov
+case_28_SBOX32 # Z added by devel/scanprov
+case_29_SBOX32 # Z added by devel/scanprov
+case_2_SBOX32 # Z added by devel/scanprov
+case_30_SBOX32 # Z added by devel/scanprov
+case_31_SBOX32 # Z added by devel/scanprov
+case_32_SBOX32 # Z added by devel/scanprov
+case_33_SBOX32 # Z added by devel/scanprov
+case_34_SBOX32 # Z added by devel/scanprov
+case_35_SBOX32 # Z added by devel/scanprov
+case_36_SBOX32 # Z added by devel/scanprov
+case_37_SBOX32 # Z added by devel/scanprov
+case_38_SBOX32 # Z added by devel/scanprov
+case_39_SBOX32 # Z added by devel/scanprov
+case_3_SBOX32 # Z added by devel/scanprov
+case_40_SBOX32 # Z added by devel/scanprov
+case_41_SBOX32 # Z added by devel/scanprov
+case_42_SBOX32 # Z added by devel/scanprov
+case_43_SBOX32 # Z added by devel/scanprov
+case_44_SBOX32 # Z added by devel/scanprov
+case_45_SBOX32 # Z added by devel/scanprov
+case_46_SBOX32 # Z added by devel/scanprov
+case_47_SBOX32 # Z added by devel/scanprov
+case_48_SBOX32 # Z added by devel/scanprov
+case_49_SBOX32 # Z added by devel/scanprov
+case_4_SBOX32 # Z added by devel/scanprov
+case_50_SBOX32 # Z added by devel/scanprov
+case_51_SBOX32 # Z added by devel/scanprov
+case_52_SBOX32 # Z added by devel/scanprov
+case_53_SBOX32 # Z added by devel/scanprov
+case_54_SBOX32 # Z added by devel/scanprov
+case_55_SBOX32 # Z added by devel/scanprov
+case_56_SBOX32 # Z added by devel/scanprov
+case_57_SBOX32 # Z added by devel/scanprov
+case_58_SBOX32 # Z added by devel/scanprov
+case_59_SBOX32 # Z added by devel/scanprov
+case_5_SBOX32 # Z added by devel/scanprov
+case_60_SBOX32 # Z added by devel/scanprov
+case_61_SBOX32 # Z added by devel/scanprov
+case_62_SBOX32 # Z added by devel/scanprov
+case_63_SBOX32 # Z added by devel/scanprov
+case_64_SBOX32 # Z added by devel/scanprov
+case_65_SBOX32 # Z added by devel/scanprov
+case_66_SBOX32 # Z added by devel/scanprov
+case_67_SBOX32 # Z added by devel/scanprov
+case_68_SBOX32 # Z added by devel/scanprov
+case_69_SBOX32 # Z added by devel/scanprov
+case_6_SBOX32 # Z added by devel/scanprov
+case_70_SBOX32 # Z added by devel/scanprov
+case_71_SBOX32 # Z added by devel/scanprov
+case_72_SBOX32 # Z added by devel/scanprov
+case_73_SBOX32 # Z added by devel/scanprov
+case_74_SBOX32 # Z added by devel/scanprov
+case_75_SBOX32 # Z added by devel/scanprov
+case_76_SBOX32 # Z added by devel/scanprov
+case_77_SBOX32 # Z added by devel/scanprov
+case_78_SBOX32 # Z added by devel/scanprov
+case_79_SBOX32 # Z added by devel/scanprov
+case_7_SBOX32 # Z added by devel/scanprov
+case_80_SBOX32 # Z added by devel/scanprov
+case_81_SBOX32 # Z added by devel/scanprov
+case_82_SBOX32 # Z added by devel/scanprov
+case_83_SBOX32 # Z added by devel/scanprov
+case_84_SBOX32 # Z added by devel/scanprov
+case_85_SBOX32 # Z added by devel/scanprov
+case_86_SBOX32 # Z added by devel/scanprov
+case_87_SBOX32 # Z added by devel/scanprov
+case_88_SBOX32 # Z added by devel/scanprov
+case_89_SBOX32 # Z added by devel/scanprov
+case_8_SBOX32 # Z added by devel/scanprov
+case_90_SBOX32 # Z added by devel/scanprov
+case_91_SBOX32 # Z added by devel/scanprov
+case_92_SBOX32 # Z added by devel/scanprov
+case_93_SBOX32 # Z added by devel/scanprov
+case_94_SBOX32 # Z added by devel/scanprov
+case_95_SBOX32 # Z added by devel/scanprov
+case_96_SBOX32 # Z added by devel/scanprov
+case_97_SBOX32 # Z added by devel/scanprov
+case_98_SBOX32 # Z added by devel/scanprov
+case_99_SBOX32 # Z added by devel/scanprov
+case_9_SBOX32 # Z added by devel/scanprov
+DEBUG_SBOX32_HASH # Z added by devel/scanprov
+DEBUG_STADTX_HASH # Z added by devel/scanprov
+DEBUG_ZAPHOD32_HASH # Z added by devel/scanprov
is_utf8_invariant_string_loc # U
+LVf_NEG_LEN # Z added by devel/scanprov
+LVf_NEG_OFF # Z added by devel/scanprov
+LVf_OUT_OF_RANGE # Z added by devel/scanprov
new_regcurly # F added by devel/scanprov
+NOTE3 # Z added by devel/scanprov
+OPpKVSLICE # Z added by devel/scanprov
+PERL_EBCDIC_TABLES_H # Z added by devel/scanprov
+PERL_HANDY_H # Z added by devel/scanprov
+PERL_HASH_FUNC_STADTX # Z added by devel/scanprov
+PERL_HASH_FUNC_ZAPHOD32 # Z added by devel/scanprov
+PERL_HASH_SEED_STATE # Z added by devel/scanprov
+PERL_HASH_STATE_BYTES # Z added by devel/scanprov
+PERL_HASH_USE_SBOX32_ALSO # Z added by devel/scanprov
+PERL_HASH_WITH_STATE # Z added by devel/scanprov
+PERLIO_H # Z added by devel/scanprov
+PERLIOL_H # Z added by devel/scanprov
+PERL_MALLOC_CTL_H # Z added by devel/scanprov
+PERL_REENTR_H # Z added by devel/scanprov
+PERL_REGCHARCLASS_H # Z added by devel/scanprov
+PERL_SEEN_HV_MACRO_H # Z added by devel/scanprov
+PERL_TIME64_CONFIG_H # Z added by devel/scanprov
+PERL_TIME64_H # Z added by devel/scanprov
+PERL_UNICODE_CONSTANTS_H # Z added by devel/scanprov
+PERL_UTF8_H # Z added by devel/scanprov
+PERL_XSUB_H # Z added by devel/scanprov
+ROTR32 # Z added by devel/scanprov
+ROTR64 # Z added by devel/scanprov
+ROTR_UV # Z added by devel/scanprov
+SBOX32_CHURN_ROUNDS # Z added by devel/scanprov
+SBOX32_MAX_LEN # Z added by devel/scanprov
+SBOX32_MIX3 # Z added by devel/scanprov
+SBOX32_MIX4 # Z added by devel/scanprov
+SBOX32_SCRAMBLE32 # Z added by devel/scanprov
+SBOX32_SKIP_MASK # Z added by devel/scanprov
+SBOX32_STATE_BITS # Z added by devel/scanprov
+SBOX32_STATE_BYTES # Z added by devel/scanprov
+SBOX32_STATE_WORDS # Z added by devel/scanprov
+SBOX32_STATIC_INLINE # Z added by devel/scanprov
+SBOX32_WARN2 # Z added by devel/scanprov
+SBOX32_WARN3 # Z added by devel/scanprov
+SBOX32_WARN4 # Z added by devel/scanprov
+SBOX32_WARN5 # Z added by devel/scanprov
+SBOX32_WARN6 # Z added by devel/scanprov
+SIPHASH_SEED_STATE # Z added by devel/scanprov
+STADTX_HASH_H # Z added by devel/scanprov
+STADTX_K0_U64 # Z added by devel/scanprov
+STADTX_K1_U64 # Z added by devel/scanprov
+STADTX_K2_U32 # Z added by devel/scanprov
+STADTX_K2_U64 # Z added by devel/scanprov
+STADTX_K3_U32 # Z added by devel/scanprov
+STADTX_K3_U64 # Z added by devel/scanprov
+STADTX_K4_U32 # Z added by devel/scanprov
+STADTX_K5_U32 # Z added by devel/scanprov
+STADTX_SCRAMBLE64 # Z added by devel/scanprov
+STADTX_STATIC_INLINE # Z added by devel/scanprov
+STATIC_ASSERT_DECL # Z added by devel/scanprov
+STRLEN # Z added by devel/scanprov
+U16 # Z added by devel/scanprov
+U32 # Z added by devel/scanprov
+U8 # Z added by devel/scanprov
+XORSHIFT128_set # Z added by devel/scanprov
+XORSHIFT96_set # Z added by devel/scanprov
+ZAPHOD32_FINALIZE # Z added by devel/scanprov
+ZAPHOD32_MIX # Z added by devel/scanprov
+ZAPHOD32_SCRAMBLE32 # Z added by devel/scanprov
+ZAPHOD32_STATIC_INLINE # Z added by devel/scanprov
+ZAPHOD32_WARN2 # Z added by devel/scanprov
+ZAPHOD32_WARN3 # Z added by devel/scanprov
+ZAPHOD32_WARN4 # Z added by devel/scanprov
+ZAPHOD32_WARN5 # Z added by devel/scanprov
+ZAPHOD32_WARN6 # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5027002 b/dist/Devel-PPPort/parts/base/5027002
index 2ba94f4bbc..ee9e03b50f 100644
--- a/dist/Devel-PPPort/parts/base/5027002
+++ b/dist/Devel-PPPort/parts/base/5027002
@@ -1,7 +1,17 @@
5.027002
-Perl_setlocale # U
-UTF8_DISALLOW_PERL_EXTENDED # E
-UTF8_WARN_PERL_EXTENDED # E
+EXTEND_HWM_SET # Z added by devel/scanprov
+EXTEND_SKIP # Z added by devel/scanprov
hv_free_entries # F added by devel/scanprov
+JE_OLD_STACK_HWM_restore # Z added by devel/scanprov
+JE_OLD_STACK_HWM_save # Z added by devel/scanprov
+JE_OLD_STACK_HWM_zero # Z added by devel/scanprov
+Perl_setlocale # U
print_bytes_for_locale # F added by devel/scanprov
+PUSHSTACK_INIT_HWM # Z added by devel/scanprov
setlocale_debug_string # F added by devel/scanprov
+UNICODE_DISALLOW_PERL_EXTENDED # Z added by devel/scanprov
+UNICODE_IS_PERL_EXTENDED # Z added by devel/scanprov
+UNICODE_WARN_PERL_EXTENDED # Z added by devel/scanprov
+UTF8_DISALLOW_PERL_EXTENDED # E
+UTF8_GOT_PERL_EXTENDED # Z added by devel/scanprov
+UTF8_WARN_PERL_EXTENDED # E
diff --git a/dist/Devel-PPPort/parts/base/5027003 b/dist/Devel-PPPort/parts/base/5027003
index b74f1c2e1a..734d2844cd 100644
--- a/dist/Devel-PPPort/parts/base/5027003
+++ b/dist/Devel-PPPort/parts/base/5027003
@@ -1,5 +1,31 @@
5.027003
cv_get_call_checker_flags # U
+HAS_POSIX_2008_LOCALE # Z added by devel/scanprov
+hv_pushkv # F added by devel/scanprov
+OPpASSIGN_TRUEBOOL # Z added by devel/scanprov
+OPpINDEX_BOOLNEG # Z added by devel/scanprov
+OPpPADHV_ISKEYS # Z added by devel/scanprov
+OPpRV2HV_ISKEYS # Z added by devel/scanprov
+PL_sv_immortals # Z added by devel/scanprov
PL_sv_zero # E
+RXp_ENGINE # Z added by devel/scanprov
+RXp_GOFS # Z added by devel/scanprov
+RXp_HAS_CUTGROUP # Z added by devel/scanprov
+RXp_ISTAINTED # Z added by devel/scanprov
+RXp_MATCH_COPY_FREE # Z added by devel/scanprov
+RXp_MATCH_TAINTED_off # Z added by devel/scanprov
+RXp_MATCH_UTF8_off # Z added by devel/scanprov
+RXp_MATCH_UTF8_on # Z added by devel/scanprov
+RXp_MATCH_UTF8_set # Z added by devel/scanprov
+RXp_MINLEN # Z added by devel/scanprov
+RXp_MINLENRET # Z added by devel/scanprov
+RXp_NPARENS # Z added by devel/scanprov
+RXp_OFFS # Z added by devel/scanprov
+RXp_SAVED_COPY # Z added by devel/scanprov
+RXp_SUBBEG # Z added by devel/scanprov
+RXp_SUBOFFSET # Z added by devel/scanprov
+RXp_ZERO_LEN # Z added by devel/scanprov
+SvIMMORTAL_INTERP # Z added by devel/scanprov
+SvIMMORTAL_TRUE # Z added by devel/scanprov
sv_string_from_errnum # U
-hv_pushkv # F added by devel/scanprov
+USE_POSIX_2008_LOCALE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5027004 b/dist/Devel-PPPort/parts/base/5027004
index e04e1f7642..14b892ad51 100644
--- a/dist/Devel-PPPort/parts/base/5027004
+++ b/dist/Devel-PPPort/parts/base/5027004
@@ -1,6 +1,19 @@
5.027004
+HAS_FCHMODAT # K added by devel/scanprov
+HAS_LINKAT # K added by devel/scanprov
+HAS_OPENAT # K added by devel/scanprov
+HAS_RENAMEAT # K added by devel/scanprov
+HAS_UNLINKAT # K added by devel/scanprov
+HINT_SORT_UNSTABLE # Z added by devel/scanprov
mg_freeext # U
+OPpSORT_UNSTABLE # Z added by devel/scanprov
+perl_assert_ptr # Z added by devel/scanprov
+Perl_internal_drand48 # Z added by devel/scanprov
Perl_langinfo # U
-sv_rvunweaken # U
-Perl_my_mkstemp # F added by devel/scanprov
+PERL_LANGINFO_H # Z added by devel/scanprov
+Perl_my_mkstemp # Z added by devel/scanprov
+PL_internal_random_state # Z added by devel/scanprov
+PL_langinfo_buf # Z added by devel/scanprov
+PL_langinfo_bufsize # Z added by devel/scanprov
save_to_buffer # F added by devel/scanprov
+sv_rvunweaken # U
diff --git a/dist/Devel-PPPort/parts/base/5027005 b/dist/Devel-PPPort/parts/base/5027005
index e36214c4c8..b11009f9dc 100644
--- a/dist/Devel-PPPort/parts/base/5027005
+++ b/dist/Devel-PPPort/parts/base/5027005
@@ -1 +1,3 @@
5.027005
+HAS_MEMRCHR # K added by devel/scanprov
+isGV_or_RVCV # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5027006 b/dist/Devel-PPPort/parts/base/5027006
index 74a7516539..a235c47444 100644
--- a/dist/Devel-PPPort/parts/base/5027006
+++ b/dist/Devel-PPPort/parts/base/5027006
@@ -1,10 +1,53 @@
5.027006
-my_strnlen # U
-wrap_keyword_plugin # U
+DEFINE_INC_MACROS # Z added by devel/scanprov
+HAS_MBRLEN # K added by devel/scanprov
+HAS_MBRTOWC # K added by devel/scanprov
+HAS_NANOSLEEP # K added by devel/scanprov
+HAS_STRNLEN # K added by devel/scanprov
+HAS_STRTOLD_L # K added by devel/scanprov
+HAS_THREAD_SAFE_NL_LANGINFO_L # K added by devel/scanprov
+INCPUSH_APPLLIB_EXP # Z added by devel/scanprov
+INCPUSH_APPLLIB_OLD_EXP # Z added by devel/scanprov
+INCPUSH_ARCHLIB_EXP # Z added by devel/scanprov
+INCPUSH_PERL5LIB # Z added by devel/scanprov
+INCPUSH_PERL_OTHERLIBDIRS # Z added by devel/scanprov
+INCPUSH_PERL_OTHERLIBDIRS_ARCHONLY # Z added by devel/scanprov
+INCPUSH_PERL_VENDORARCH_EXP # Z added by devel/scanprov
+INCPUSH_PERL_VENDORLIB_EXP # Z added by devel/scanprov
+INCPUSH_PERL_VENDORLIB_STEM # Z added by devel/scanprov
+INCPUSH_PRIVLIB_EXP # Z added by devel/scanprov
+INCPUSH_SITEARCH_EXP # Z added by devel/scanprov
+INCPUSH_SITELIB_EXP # Z added by devel/scanprov
+INCPUSH_SITELIB_STEM # Z added by devel/scanprov
+I_WCHAR # K added by devel/scanprov
+KEYWORD_PLUGIN_MUTEX_INIT # Z added by devel/scanprov
+KEYWORD_PLUGIN_MUTEX_LOCK # Z added by devel/scanprov
+KEYWORD_PLUGIN_MUTEX_TERM # Z added by devel/scanprov
+KEYWORD_PLUGIN_MUTEX_UNLOCK # Z added by devel/scanprov
+MAX_UNICODE_UTF8 # Z added by devel/scanprov
+memBEGINPs # Z added by devel/scanprov
+memBEGINs # Z added by devel/scanprov
+memENDPs # Z added by devel/scanprov
+memENDs # Z added by devel/scanprov
multiconcat_stringify # F added by devel/scanprov
-my_memrchr # F added by devel/scanprov
+my_memrchr # Z added by devel/scanprov
my_nl_langinfo # F added by devel/scanprov
+my_strnlen # U
+OPpMULTICONCAT_APPEND # Z added by devel/scanprov
+OPpMULTICONCAT_FAKE # Z added by devel/scanprov
+OPpMULTICONCAT_STRINGIFY # Z added by devel/scanprov
optimize_op # F added by devel/scanprov
optimize_optree # F added by devel/scanprov
+PERL_MULTICONCAT_HEADER_SIZE # Z added by devel/scanprov
+PERL_MULTICONCAT_IX_LENGTHS # Z added by devel/scanprov
+PERL_MULTICONCAT_IX_NARGS # Z added by devel/scanprov
+PERL_MULTICONCAT_IX_PLAIN_LEN # Z added by devel/scanprov
+PERL_MULTICONCAT_IX_PLAIN_PV # Z added by devel/scanprov
+PERL_MULTICONCAT_IX_UTF8_LEN # Z added by devel/scanprov
+PERL_MULTICONCAT_IX_UTF8_PV # Z added by devel/scanprov
+PERL_MULTICONCAT_MAXARG # Z added by devel/scanprov
+PL_numeric_underlying # Z added by devel/scanprov
set_numeric_underlying # F added by devel/scanprov
+strBEGINs # Z added by devel/scanprov
win32_setlocale # F added by devel/scanprov
+wrap_keyword_plugin # U
diff --git a/dist/Devel-PPPort/parts/base/5027007 b/dist/Devel-PPPort/parts/base/5027007
index b194b056e3..e4086e1bee 100644
--- a/dist/Devel-PPPort/parts/base/5027007
+++ b/dist/Devel-PPPort/parts/base/5027007
@@ -1,4 +1,21 @@
5.027007
-WARN_SHADOW # E
+CLANG_DIAG_IGNORE_DECL # Z added by devel/scanprov
+CLANG_DIAG_IGNORE_STMT # Z added by devel/scanprov
+CLANG_DIAG_RESTORE_DECL # Z added by devel/scanprov
+CLANG_DIAG_RESTORE_STMT # Z added by devel/scanprov
+FIRST_NON_ASCII_DECIMAL_DIGIT # Z added by devel/scanprov
+GCC_DIAG_IGNORE_DECL # Z added by devel/scanprov
+GCC_DIAG_IGNORE_STMT # Z added by devel/scanprov
+GCC_DIAG_RESTORE_DECL # Z added by devel/scanprov
+GCC_DIAG_RESTORE_STMT # Z added by devel/scanprov
is_utf8_non_invariant_string # F added by devel/scanprov
+OPpCONCAT_NESTED # Z added by devel/scanprov
+PERL_COUNT_MULTIPLIER # Z added by devel/scanprov
+PERL_IS_SUBWORD_ADDR # Z added by devel/scanprov
+PERL_VARIANTS_WORD_MASK # Z added by devel/scanprov
+PERL_WORD_BOUNDARY_MASK # Z added by devel/scanprov
+PERL_WORDSIZE # Z added by devel/scanprov
+UINT16_C # Z added by devel/scanprov
+UINT32_C # Z added by devel/scanprov
variant_under_utf8_count # F added by devel/scanprov
+WARN_SHADOW # E
diff --git a/dist/Devel-PPPort/parts/base/5027008 b/dist/Devel-PPPort/parts/base/5027008
index e4cea51f89..a8ff9f780a 100644
--- a/dist/Devel-PPPort/parts/base/5027008
+++ b/dist/Devel-PPPort/parts/base/5027008
@@ -1,33 +1,53 @@
5.027008
-cx_popgiven # U
-cx_popwhen # U
-cx_pushgiven # U
-cx_pushwhen # U
-newWHENOP # U
-WARN_EXPERIMENTAL__SCRIPT_RUN # E
+blk_givwhen # Z added by devel/scanprov
category_name # F added by devel/scanprov
+CXp_FOR_DEF # Z added by devel/scanprov
+cx_popgiven # F added by devel/scanprov
+cx_popwhen # F added by devel/scanprov
+cx_pushgiven # F added by devel/scanprov
+cx_pushwhen # F added by devel/scanprov
+CXt_GIVEN # Z added by devel/scanprov
+CXt_WHEN # Z added by devel/scanprov
+DEBUG_M # Z added by devel/scanprov
+DEBUG_M_FLAG # Z added by devel/scanprov
+DEBUG_M_TEST # Z added by devel/scanprov
destroy_matcher # F added by devel/scanprov
dopoptogivenfor # F added by devel/scanprov
dopoptowhen # F added by devel/scanprov
do_smartmatch # F added by devel/scanprov
+FEATURE_BUNDLE_527 # Z added by devel/scanprov
+HAS_ACCEPT4 # K added by devel/scanprov
+HAS_DUP3 # K added by devel/scanprov
+HAS_MKOSTEMP # K added by devel/scanprov
+HAS_PIPE2 # K added by devel/scanprov
+HAS_SCX_AUX_TABLES # Z added by devel/scanprov
isSCRIPT_RUN # F added by devel/scanprov
+KEY_break # Z added by devel/scanprov
+KEY_default # Z added by devel/scanprov
+KEY_when # Z added by devel/scanprov
looks_like_bool # F added by devel/scanprov
make_matcher # F added by devel/scanprov
matcher_matches_sv # F added by devel/scanprov
newGIVWHENOP # F added by devel/scanprov
+newWHENOP # U
+OPpITER_DEF # Z added by devel/scanprov
PerlLIO_dup2_cloexec # F added by devel/scanprov
PerlLIO_dup_cloexec # F added by devel/scanprov
PerlLIO_open3_cloexec # F added by devel/scanprov
PerlLIO_open_cloexec # F added by devel/scanprov
-Perl_my_mkostemp # F added by devel/scanprov
+Perl_my_mkostemp # Z added by devel/scanprov
Perl_my_mkstemp_cloexec # F added by devel/scanprov
PerlProc_pipe_cloexec # F added by devel/scanprov
PerlSock_accept_cloexec # F added by devel/scanprov
PerlSock_socket_cloexec # F added by devel/scanprov
PerlSock_socketpair_cloexec # F added by devel/scanprov
+PL_SCX_invlist # Z added by devel/scanprov
ref_array_or_hash # F added by devel/scanprov
setfd_cloexec # F added by devel/scanprov
setfd_cloexec_for_nonsysfd # F added by devel/scanprov
setfd_cloexec_or_inhexec_by_sysfdness # F added by devel/scanprov
setfd_inhexec # F added by devel/scanprov
setfd_inhexec_for_sysfd # F added by devel/scanprov
+SRCLOSE # Z added by devel/scanprov
+SROPEN # Z added by devel/scanprov
+WARN_EXPERIMENTAL__SCRIPT_RUN # E
diff --git a/dist/Devel-PPPort/parts/base/5027009 b/dist/Devel-PPPort/parts/base/5027009
index a321803f38..660810b199 100644
--- a/dist/Devel-PPPort/parts/base/5027009
+++ b/dist/Devel-PPPort/parts/base/5027009
@@ -1,20 +1,47 @@
5.027009
-PERL_MAGIC_nonelem # E
-switch_to_global_locale # U
-sync_locale # E (Perl_sync_locale)
-thread_locale_init # U
-thread_locale_term # U
-utf8n_to_uvchr_msgs # U
-uvchr_to_utf8_flags_msgs # U
-WARN_EXPERIMENTAL__ALPHA_ASSERTIONS # E
+ANYOFM # Z added by devel/scanprov
av_nonelem # F added by devel/scanprov
+dTHX_DEBUGGING # Z added by devel/scanprov
emulate_setlocale # F added by devel/scanprov
+EXACTFAA # Z added by devel/scanprov
+EXACTFAA_NO_TRIE # Z added by devel/scanprov
find_next_masked # F added by devel/scanprov
find_span_end # F added by devel/scanprov
find_span_end_mask # F added by devel/scanprov
get_ANYOFM_contents # F added by devel/scanprov
+LC_NUMERIC_LOCK # Z added by devel/scanprov
+LC_NUMERIC_UNLOCK # Z added by devel/scanprov
magic_setnonelem # F added by devel/scanprov
new_msg_hv # F added by devel/scanprov
+PERL_MAGIC_nonelem # E
+PL_curlocales # Z added by devel/scanprov
+PL_lc_numeric_mutex_depth # Z added by devel/scanprov
+PL_locale_utf8ness # Z added by devel/scanprov
+PL_numeric_underlying_is_standard # Z added by devel/scanprov
+PL_setlocale_buf # Z added by devel/scanprov
+PL_setlocale_bufsize # Z added by devel/scanprov
+PL_underlying_numeric_obj # Z added by devel/scanprov
+PL_vtbl_nonelem # Z added by devel/scanprov
restore_switched_locale # F added by devel/scanprov
+STORE_LC_NUMERIC_SET_STANDARD # Z added by devel/scanprov
+STORE_NUMERIC_SET_STANDARD # Z added by devel/scanprov
switch_category_locale_to_template # F added by devel/scanprov
+switch_to_global_locale # U
+sync_locale # E (Perl_sync_locale)
+thread_locale_init # U
+thread_locale_term # U
+UNICODE_GOT_NONCHAR # Z added by devel/scanprov
+UNICODE_GOT_PERL_EXTENDED # Z added by devel/scanprov
+UNICODE_GOT_SUPER # Z added by devel/scanprov
+UNICODE_GOT_SURROGATE # Z added by devel/scanprov
+USE_LOCALE_ADDRESS # Z added by devel/scanprov
+USE_LOCALE_IDENTIFICATION # Z added by devel/scanprov
+USE_LOCALE_MEASUREMENT # Z added by devel/scanprov
+USE_LOCALE_PAPER # Z added by devel/scanprov
+USE_LOCALE_TELEPHONE # Z added by devel/scanprov
+UTF8_ALLOW_FE_FF # Z added by devel/scanprov
+utf8n_to_uvchr_msgs # U
+uvchr_to_utf8_flags_msgs # U
+uvoffuni_to_utf8_flags # Z added by devel/scanprov
uvoffuni_to_utf8_flags_msgs # F added by devel/scanprov
+WARN_EXPERIMENTAL__ALPHA_ASSERTIONS # E
diff --git a/dist/Devel-PPPort/parts/base/5027010 b/dist/Devel-PPPort/parts/base/5027010
index 8f82fa2a93..866b995aa5 100644
--- a/dist/Devel-PPPort/parts/base/5027010
+++ b/dist/Devel-PPPort/parts/base/5027010
@@ -1,2 +1,64 @@
5.027010
+ABDAY_1 # Z added by devel/scanprov
+ABDAY_2 # Z added by devel/scanprov
+ABDAY_3 # Z added by devel/scanprov
+ABDAY_4 # Z added by devel/scanprov
+ABDAY_5 # Z added by devel/scanprov
+ABDAY_6 # Z added by devel/scanprov
+ABDAY_7 # Z added by devel/scanprov
+ABMON_1 # Z added by devel/scanprov
+ABMON_10 # Z added by devel/scanprov
+ABMON_11 # Z added by devel/scanprov
+ABMON_12 # Z added by devel/scanprov
+ABMON_2 # Z added by devel/scanprov
+ABMON_3 # Z added by devel/scanprov
+ABMON_4 # Z added by devel/scanprov
+ABMON_5 # Z added by devel/scanprov
+ABMON_6 # Z added by devel/scanprov
+ABMON_7 # Z added by devel/scanprov
+ABMON_8 # Z added by devel/scanprov
+ABMON_9 # Z added by devel/scanprov
+ALT_DIGITS # Z added by devel/scanprov
+AM_STR # Z added by devel/scanprov
+CODESET # Z added by devel/scanprov
+CRNCYSTR # Z added by devel/scanprov
+DAY_1 # Z added by devel/scanprov
+DAY_2 # Z added by devel/scanprov
+DAY_3 # Z added by devel/scanprov
+DAY_4 # Z added by devel/scanprov
+DAY_5 # Z added by devel/scanprov
+DAY_6 # Z added by devel/scanprov
+DAY_7 # Z added by devel/scanprov
+D_FMT # Z added by devel/scanprov
+D_T_FMT # Z added by devel/scanprov
+ERA # Z added by devel/scanprov
+ERA_D_FMT # Z added by devel/scanprov
+ERA_D_T_FMT # Z added by devel/scanprov
+ERA_T_FMT # Z added by devel/scanprov
+FATAL_ABOVE_FF_MSG # Z added by devel/scanprov
init_named_cv # F added by devel/scanprov
+LOCALE_LOCK_V # Z added by devel/scanprov
+LOCALE_UNLOCK_V # Z added by devel/scanprov
+MEM_WRAP_CHECK_s # Z added by devel/scanprov
+MON_1 # Z added by devel/scanprov
+MON_10 # Z added by devel/scanprov
+MON_11 # Z added by devel/scanprov
+MON_12 # Z added by devel/scanprov
+MON_2 # Z added by devel/scanprov
+MON_3 # Z added by devel/scanprov
+MON_4 # Z added by devel/scanprov
+MON_5 # Z added by devel/scanprov
+MON_6 # Z added by devel/scanprov
+MON_7 # Z added by devel/scanprov
+MON_8 # Z added by devel/scanprov
+MON_9 # Z added by devel/scanprov
+NOEXPR # Z added by devel/scanprov
+NOSTR # Z added by devel/scanprov
+PM_STR # Z added by devel/scanprov
+RADIXCHAR # Z added by devel/scanprov
+T_FMT # Z added by devel/scanprov
+T_FMT_AMPM # Z added by devel/scanprov
+THOUSEP # Z added by devel/scanprov
+TS_W32_BROKEN_LOCALECONV # Z added by devel/scanprov
+YESEXPR # Z added by devel/scanprov
+YESSTR # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5027011 b/dist/Devel-PPPort/parts/base/5027011
index bc2d22a3f2..f8cd9d3631 100644
--- a/dist/Devel-PPPort/parts/base/5027011
+++ b/dist/Devel-PPPort/parts/base/5027011
@@ -1,4 +1,16 @@
5.027011
+HAS_CF_AUX_TABLES # Z added by devel/scanprov
+HAS_DUPLOCALE # K added by devel/scanprov
+HAS_IVCF_AUX_TABLES # Z added by devel/scanprov
+HAS_LC_AUX_TABLES # Z added by devel/scanprov
+HAS_STRTOD_L # K added by devel/scanprov
+HAS_TC_AUX_TABLES # Z added by devel/scanprov
+HAS_UC_AUX_TABLES # Z added by devel/scanprov
init_uniprops # F added by devel/scanprov
_inverse_folds # F added by devel/scanprov
+MAX_UNI_KEYWORD_INDEX # Z added by devel/scanprov
+MPH_BUCKETS # Z added by devel/scanprov
+MPH_RSHIFT # Z added by devel/scanprov
+MPH_VALt # Z added by devel/scanprov
parse_uniprop_string # F added by devel/scanprov
+PL_utf8_tosimplefold # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5028002 b/dist/Devel-PPPort/parts/base/5028002
new file mode 100644
index 0000000000..9d2f06d68e
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5028002
@@ -0,0 +1 @@
+5.028002
diff --git a/dist/Devel-PPPort/parts/base/5028003 b/dist/Devel-PPPort/parts/base/5028003
new file mode 100644
index 0000000000..f4b5772d85
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5028003
@@ -0,0 +1 @@
+5.028003
diff --git a/dist/Devel-PPPort/parts/base/5029000 b/dist/Devel-PPPort/parts/base/5029000
index 4b504bb9e2..3402710d65 100644
--- a/dist/Devel-PPPort/parts/base/5029000
+++ b/dist/Devel-PPPort/parts/base/5029000
@@ -1,2 +1,5 @@
5.029000
+my_atof2 # Z added by devel/scanprov
my_atof3 # F added by devel/scanprov
+PL_E_FORMAT_PRECISION # Z added by devel/scanprov
+PL_Posix_ptrs # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029001 b/dist/Devel-PPPort/parts/base/5029001
index 5beea241f7..7504de2a07 100644
--- a/dist/Devel-PPPort/parts/base/5029001
+++ b/dist/Devel-PPPort/parts/base/5029001
@@ -1,2 +1,16 @@
5.029001
+is_HANGUL_ED_utf8_safe # Z added by devel/scanprov
+N0 # Z added by devel/scanprov
+N1 # Z added by devel/scanprov
+N10 # Z added by devel/scanprov
+N11 # Z added by devel/scanprov
+N2 # Z added by devel/scanprov
+N3 # Z added by devel/scanprov
+N4 # Z added by devel/scanprov
+N5 # Z added by devel/scanprov
+N6 # Z added by devel/scanprov
+N7 # Z added by devel/scanprov
+N8 # Z added by devel/scanprov
+N9 # Z added by devel/scanprov
+NUM_CLASSES # Z added by devel/scanprov
_utf8n_to_uvchr_msgs_helper # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029002 b/dist/Devel-PPPort/parts/base/5029002
index 53a1395762..1548bf78a5 100644
--- a/dist/Devel-PPPort/parts/base/5029002
+++ b/dist/Devel-PPPort/parts/base/5029002
@@ -1,3 +1,46 @@
5.029002
+GCB_Maybe_Emoji_NonBreak # Z added by devel/scanprov
initialize_invlist_guts # F added by devel/scanprov
is_invlist # F added by devel/scanprov
+MAX_LEGAL_CP # Z added by devel/scanprov
+UNI_AHEX # Z added by devel/scanprov
+UNI_ALNUM # Z added by devel/scanprov
+UNI_ALPHA # Z added by devel/scanprov
+UNI_ALPHABETIC # Z added by devel/scanprov
+UNI_ASCIIHEXDIGIT # Z added by devel/scanprov
+UNI_BASICLATIN # Z added by devel/scanprov
+UNI_BLANK # Z added by devel/scanprov
+UNI_CC # Z added by devel/scanprov
+UNI_CNTRL # Z added by devel/scanprov
+UNI_CONTROL # Z added by devel/scanprov
+UNI_DECIMALNUMBER # Z added by devel/scanprov
+UNI_DIGIT # Z added by devel/scanprov
+UNI_GRAPH # Z added by devel/scanprov
+UNI_HEX # Z added by devel/scanprov
+UNI_HEXDIGIT # Z added by devel/scanprov
+UNI_HORIZSPACE # Z added by devel/scanprov
+UNI_HYPHEN # Z added by devel/scanprov
+UNI_L # Z added by devel/scanprov
+UNI_L_AMP # Z added by devel/scanprov
+UNI_LB__SG # Z added by devel/scanprov
+UNI_LC # Z added by devel/scanprov
+UNI_LL # Z added by devel/scanprov
+UNI_LOWER # Z added by devel/scanprov
+UNI_LOWERCASE # Z added by devel/scanprov
+UNI_LT # Z added by devel/scanprov
+UNI_LU # Z added by devel/scanprov
+UNI_ND # Z added by devel/scanprov
+UNI_PERLSPACE # Z added by devel/scanprov
+UNI_PERLWORD # Z added by devel/scanprov
+UNI_PRINT # Z added by devel/scanprov
+UNI_SPACE # Z added by devel/scanprov
+UNI_SPACEPERL # Z added by devel/scanprov
+UNI_TITLECASE # Z added by devel/scanprov
+UNI_TITLECASELETTER # Z added by devel/scanprov
+UNI_UPPER # Z added by devel/scanprov
+UNI_UPPERCASE # Z added by devel/scanprov
+UNI_WHITESPACE # Z added by devel/scanprov
+UNI_WORD # Z added by devel/scanprov
+UNI_WSPACE # Z added by devel/scanprov
+UNI_XDIGIT # Z added by devel/scanprov
+UNI_XPERLSPACE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029003 b/dist/Devel-PPPort/parts/base/5029003
index f426ffcd78..2a6fbd5915 100644
--- a/dist/Devel-PPPort/parts/base/5029003
+++ b/dist/Devel-PPPort/parts/base/5029003
@@ -1 +1,2 @@
5.029003
+Ptrdiff_t # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029004 b/dist/Devel-PPPort/parts/base/5029004
index d1fa1e8c76..dc327038d2 100644
--- a/dist/Devel-PPPort/parts/base/5029004
+++ b/dist/Devel-PPPort/parts/base/5029004
@@ -1,3 +1,10 @@
5.029004
+ANYOFPOSIXL # Z added by devel/scanprov
+ANYOF_POSIXL_SET_TO_BITMAP # Z added by devel/scanprov
change_engine_size # F added by devel/scanprov
+FILL_NODE # Z added by devel/scanprov
+POSIXL_CLEAR # Z added by devel/scanprov
+POSIXL_SET # Z added by devel/scanprov
+POSIXL_TEST # Z added by devel/scanprov
+POSIXL_ZERO # Z added by devel/scanprov
set_regex_pv # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029005 b/dist/Devel-PPPort/parts/base/5029005
index 5b26fa5f56..1a0e6b41fd 100644
--- a/dist/Devel-PPPort/parts/base/5029005
+++ b/dist/Devel-PPPort/parts/base/5029005
@@ -1,2 +1,3 @@
5.029005
+NANYOFM # Z added by devel/scanprov
output_posix_warnings # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029006 b/dist/Devel-PPPort/parts/base/5029006
index 7b374ce0c7..98bc97610b 100644
--- a/dist/Devel-PPPort/parts/base/5029006
+++ b/dist/Devel-PPPort/parts/base/5029006
@@ -1,2 +1,7 @@
5.029006
argvout_final # F added by devel/scanprov
+isPOWER_OF_2 # Z added by devel/scanprov
+MAX_FOLD_FROMS # Z added by devel/scanprov
+PERL_FEATURE_H # Z added by devel/scanprov
+PERL_INVLIST_INLINE_H # Z added by devel/scanprov
+PERL_REGCOMP_H # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029007 b/dist/Devel-PPPort/parts/base/5029007
index c5f295a41d..a89683a6ef 100644
--- a/dist/Devel-PPPort/parts/base/5029007
+++ b/dist/Devel-PPPort/parts/base/5029007
@@ -1,2 +1,6 @@
5.029007
+ANYOFH # Z added by devel/scanprov
+EXACTFUP # Z added by devel/scanprov
+EXACTFU_S_EDGE # Z added by devel/scanprov
foldEQ_latin1_s2_folded # F added by devel/scanprov
+PL_in_some_fold # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029008 b/dist/Devel-PPPort/parts/base/5029008
index 997168c68e..8fd2e2657d 100644
--- a/dist/Devel-PPPort/parts/base/5029008
+++ b/dist/Devel-PPPort/parts/base/5029008
@@ -1,6 +1,13 @@
5.029008
+COMBINING_DOT_ABOVE_UTF8 # Z added by devel/scanprov
handle_user_defined_property # F added by devel/scanprov
+PL_CCC_non0_non230 # Z added by devel/scanprov
+PL_in_utf8_turkic_locale # Z added by devel/scanprov
traverse_op_tree # F added by devel/scanprov
turkic_fc # F added by devel/scanprov
turkic_lc # F added by devel/scanprov
turkic_uc # F added by devel/scanprov
+USER_PROP_MUTEX_INIT # Z added by devel/scanprov
+USER_PROP_MUTEX_LOCK # Z added by devel/scanprov
+USER_PROP_MUTEX_TERM # Z added by devel/scanprov
+USER_PROP_MUTEX_UNLOCK # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029009 b/dist/Devel-PPPort/parts/base/5029009
index 71e1ea4b6b..d168273af5 100644
--- a/dist/Devel-PPPort/parts/base/5029009
+++ b/dist/Devel-PPPort/parts/base/5029009
@@ -1,9 +1,90 @@
5.029009
-newSVsv_flags # U
+get_and_check_backslash_N_name_wrapper # F added by devel/scanprov
+HAS_TOWLOWER # K added by devel/scanprov
+HAS_TOWUPPER # K added by devel/scanprov
+I_WCTYPE # K added by devel/scanprov
+newSVsv_flags # F added by devel/scanprov
newSVsv_nomg # U
+Perl_dup_warnings # F added by devel/scanprov
+PL_Private_Use # Z added by devel/scanprov
+RE_COMPILE_RECURSION_INIT # Z added by devel/scanprov
+RE_COMPILE_RECURSION_LIMIT # Z added by devel/scanprov
+UNI_age_values_index # Z added by devel/scanprov
+UNI_ahex_values_index # Z added by devel/scanprov
+UNI_alpha_values_index # Z added by devel/scanprov
+UNI_bc_values_index # Z added by devel/scanprov
+UNI_bidic_values_index # Z added by devel/scanprov
+UNI_bidim_values_index # Z added by devel/scanprov
+UNI_blk_values_index # Z added by devel/scanprov
+UNI_bpt_values_index # Z added by devel/scanprov
+UNI_cased_values_index # Z added by devel/scanprov
+UNI_ccc_values_index # Z added by devel/scanprov
+UNI_ce_values_index # Z added by devel/scanprov
+UNI_ci_values_index # Z added by devel/scanprov
+UNI_compex_values_index # Z added by devel/scanprov
+UNI_cwcf_values_index # Z added by devel/scanprov
+UNI_cwcm_values_index # Z added by devel/scanprov
+UNI_cwkcf_values_index # Z added by devel/scanprov
+UNI_cwl_values_index # Z added by devel/scanprov
+UNI_cwt_values_index # Z added by devel/scanprov
+UNI_cwu_values_index # Z added by devel/scanprov
+UNI_dash_values_index # Z added by devel/scanprov
+UNI_dep_values_index # Z added by devel/scanprov
+UNI_dia_values_index # Z added by devel/scanprov
+UNI_di_values_index # Z added by devel/scanprov
+UNI_dt_values_index # Z added by devel/scanprov
+UNI_ea_values_index # Z added by devel/scanprov
+UNI_ext_values_index # Z added by devel/scanprov
+UNI_gcb_values_index # Z added by devel/scanprov
+UNI_gc_values_index # Z added by devel/scanprov
+UNI_grbase_values_index # Z added by devel/scanprov
+UNI_grext_values_index # Z added by devel/scanprov
+UNI_hex_values_index # Z added by devel/scanprov
+UNI_hst_values_index # Z added by devel/scanprov
+UNI_hyphen_values_index # Z added by devel/scanprov
+UNI_idc_values_index # Z added by devel/scanprov
+UNI_ideo_values_index # Z added by devel/scanprov
+UNI_idsb_values_index # Z added by devel/scanprov
+UNI_idst_values_index # Z added by devel/scanprov
+UNI_ids_values_index # Z added by devel/scanprov
+UNI_inpc_values_index # Z added by devel/scanprov
+UNI_insc_values_index # Z added by devel/scanprov
+UNI_in_values_index # Z added by devel/scanprov
+UNI_jg_values_index # Z added by devel/scanprov
+UNI_joinc_values_index # Z added by devel/scanprov
+UNI_jt_values_index # Z added by devel/scanprov
+UNI_lb_values_index # Z added by devel/scanprov
+UNI_loe_values_index # Z added by devel/scanprov
+UNI_lower_values_index # Z added by devel/scanprov
+UNI_math_values_index # Z added by devel/scanprov
+UNI_nchar_values_index # Z added by devel/scanprov
+UNI_nfcqc_values_index # Z added by devel/scanprov
+UNI_nfdqc_values_index # Z added by devel/scanprov
+UNI_nfkcqc_values_index # Z added by devel/scanprov
+UNI_nfkdqc_values_index # Z added by devel/scanprov
+UNI_nt_values_index # Z added by devel/scanprov
+UNI_nv_values_index # Z added by devel/scanprov
+UNI_patsyn_values_index # Z added by devel/scanprov
+UNI_patws_values_index # Z added by devel/scanprov
+UNI_pcm_values_index # Z added by devel/scanprov
+UNI_qmark_values_index # Z added by devel/scanprov
+UNI_radical_values_index # Z added by devel/scanprov
+UNI_ri_values_index # Z added by devel/scanprov
+UNI_sb_values_index # Z added by devel/scanprov
+UNI_sc_values_index # Z added by devel/scanprov
+UNI_scx_values_index # Z added by devel/scanprov
+UNI_sd_values_index # Z added by devel/scanprov
+UNI_sterm_values_index # Z added by devel/scanprov
+UNI_term_values_index # Z added by devel/scanprov
+UNI_uideo_values_index # Z added by devel/scanprov
+UNI_upper_values_index # Z added by devel/scanprov
+UNI_vo_values_index # Z added by devel/scanprov
+UNI_vs_values_index # Z added by devel/scanprov
+UNI_wb_values_index # Z added by devel/scanprov
+UNI_wspace_values_index # Z added by devel/scanprov
+UNI_xidc_values_index # Z added by devel/scanprov
+UNI_xids_values_index # Z added by devel/scanprov
UTF8_SAFE_SKIP # U
WARN_EXPERIMENTAL__PRIVATE_USE # E
WARN_EXPERIMENTAL__UNIPROP_WILDCARDS # E
WARN_EXPERIMENTAL__VLB # E
-get_and_check_backslash_N_name_wrapper # F added by devel/scanprov
-Perl_dup_warnings # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5029010 b/dist/Devel-PPPort/parts/base/5029010
index 0c02979756..254c07cf59 100644
--- a/dist/Devel-PPPort/parts/base/5029010
+++ b/dist/Devel-PPPort/parts/base/5029010
@@ -1,3 +1,10 @@
5.029010
+inRANGE # Z added by devel/scanprov
+MSVC_DIAG_IGNORE # Z added by devel/scanprov
+MSVC_DIAG_IGNORE_DECL # Z added by devel/scanprov
+MSVC_DIAG_IGNORE_STMT # Z added by devel/scanprov
+MSVC_DIAG_RESTORE # Z added by devel/scanprov
+MSVC_DIAG_RESTORE_DECL # Z added by devel/scanprov
+MSVC_DIAG_RESTORE_STMT # Z added by devel/scanprov
my_strtod # U
Strtod # U
diff --git a/dist/Devel-PPPort/parts/base/5030001 b/dist/Devel-PPPort/parts/base/5030001
new file mode 100644
index 0000000000..1aa762f223
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5030001
@@ -0,0 +1 @@
+5.030001
diff --git a/dist/Devel-PPPort/parts/base/5030002 b/dist/Devel-PPPort/parts/base/5030002
new file mode 100644
index 0000000000..2db920eed3
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5030002
@@ -0,0 +1 @@
+5.030002
diff --git a/dist/Devel-PPPort/parts/base/5030003 b/dist/Devel-PPPort/parts/base/5030003
new file mode 100644
index 0000000000..33b044f89f
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5030003
@@ -0,0 +1 @@
+5.030003
diff --git a/dist/Devel-PPPort/parts/base/5031000 b/dist/Devel-PPPort/parts/base/5031000
new file mode 100644
index 0000000000..02126a5661
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5031000
@@ -0,0 +1 @@
+5.031000
diff --git a/dist/Devel-PPPort/parts/base/5031001 b/dist/Devel-PPPort/parts/base/5031001
index 4d4fe303f5..48102f866a 100644
--- a/dist/Devel-PPPort/parts/base/5031001
+++ b/dist/Devel-PPPort/parts/base/5031001
@@ -1,2 +1,10 @@
5.031001
+ANYOFHb # Z added by devel/scanprov
+GROUPPN # Z added by devel/scanprov
lossless_NV_to_IV # F added by devel/scanprov
+OP_IS_STAT # Z added by devel/scanprov
+REFFAN # Z added by devel/scanprov
+REFFLN # Z added by devel/scanprov
+REFFN # Z added by devel/scanprov
+REFFUN # Z added by devel/scanprov
+REFN # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5031002 b/dist/Devel-PPPort/parts/base/5031002
index 7a56370973..5d06fcf10b 100644
--- a/dist/Devel-PPPort/parts/base/5031002
+++ b/dist/Devel-PPPort/parts/base/5031002
@@ -1,3 +1,8 @@
5.031002
+ANYOFHr # Z added by devel/scanprov
G_RETHROW # E
+HIGHEST_ANYOF_HRx_BYTE # Z added by devel/scanprov
+LOWEST_ANYOF_HRx_BYTE # Z added by devel/scanprov
+MAX_ANYOF_HRx_BYTE # Z added by devel/scanprov
+O_VMS_DELETEONCLOSE # Z added by devel/scanprov
Perl_my_mkostemp_cloexec # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5031004 b/dist/Devel-PPPort/parts/base/5031004
index cd1085d9e8..8c8fe6fb09 100644
--- a/dist/Devel-PPPort/parts/base/5031004
+++ b/dist/Devel-PPPort/parts/base/5031004
@@ -1,4 +1,9 @@
5.031004
+DEBUG_DUMP_PRE_OPTIMIZE_r # Z added by devel/scanprov
+get_regex_charset_name # F added by devel/scanprov
+is_utf8_char_helper # F added by devel/scanprov
+PadnameIN_SCOPE # F added by devel/scanprov
+RE_DEBUG_EXTRA_DUMP_PRE_OPTIMIZE # Z added by devel/scanprov
sv_2pvbyte_flags # U
sv_2pvutf8_flags # U
SvAMAGIC_off # U
@@ -11,12 +16,6 @@ SvPVutf8_or_null # U
SvPVutf8_or_null_nomg # U
sv_utf8_downgrade_flags # U
sv_utf8_downgrade_nomg # U
-get_regex_charset_name # F added by devel/scanprov
-is_utf8_char_helper # F added by devel/scanprov
-PadnameIN_SCOPE # F added by devel/scanprov
-Perl_POPMARK # F added by devel/scanprov
-Perl_ReANY # F added by devel/scanprov
-Perl_TOPMARK # F added by devel/scanprov
-to_uni_fold # F added by devel/scanprov
utf8_to_uvchr_buf_helper # F added by devel/scanprov
variant_byte_number # F added by devel/scanprov
+withinCOUNT # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5031005 b/dist/Devel-PPPort/parts/base/5031005
index fc93346e68..e68f289346 100644
--- a/dist/Devel-PPPort/parts/base/5031005
+++ b/dist/Devel-PPPort/parts/base/5031005
@@ -1,5 +1,5 @@
5.031005
-gimme_V # U
+gimme_V # F added by devel/scanprov
isALPHANUMERIC_utf8 # A
isALPHA_utf8 # A
isASCII_utf8 # A
@@ -17,6 +17,14 @@ isSPACE_utf8 # A
isUPPER_utf8 # A
isWORDCHAR_utf8 # A
isXDIGIT_utf8 # A
+LEXACT # Z added by devel/scanprov
+OPERANDl # Z added by devel/scanprov
+OPERANDs # Z added by devel/scanprov
+setSTR_LEN # Z added by devel/scanprov
+STRINGl # Z added by devel/scanprov
+STRINGs # Z added by devel/scanprov
+STR_LENl # Z added by devel/scanprov
+STR_LENs # Z added by devel/scanprov
toFOLD_utf8 # A
toLOWER_utf8 # A
toTITLE_utf8 # A
diff --git a/dist/Devel-PPPort/parts/base/5031006 b/dist/Devel-PPPort/parts/base/5031006
index e0f435ed50..d3805417f4 100644
--- a/dist/Devel-PPPort/parts/base/5031006
+++ b/dist/Devel-PPPort/parts/base/5031006
@@ -1,5 +1,33 @@
5.031006
-UTF8_CHK_SKIP # U
+CLEARFEATUREBITS # Z added by devel/scanprov
+EXACTFU_REQ8 # Z added by devel/scanprov
+EXACT_REQ8 # Z added by devel/scanprov
+FEATURE_BITWISE_BIT # Z added by devel/scanprov
+FEATURE_EVALBYTES_BIT # Z added by devel/scanprov
+FEATURE_FC_BIT # Z added by devel/scanprov
+FEATURE_IS_ENABLED_MASK # Z added by devel/scanprov
+FEATURE_MYREF_BIT # Z added by devel/scanprov
+FEATURE_POSTDEREF_QQ_BIT # Z added by devel/scanprov
+FEATURE_REFALIASING_BIT # Z added by devel/scanprov
+FEATURE_SAY_BIT # Z added by devel/scanprov
+FEATURE_SIGNATURES_BIT # Z added by devel/scanprov
+FEATURE_STATE_BIT # Z added by devel/scanprov
+FEATURE___SUB___BIT # Z added by devel/scanprov
+FEATURE_SWITCH_BIT # Z added by devel/scanprov
+FEATURE_UNICODE_BIT # Z added by devel/scanprov
+FEATURE_UNIEVAL_BIT # Z added by devel/scanprov
+FETCHFEATUREBITSHH # Z added by devel/scanprov
+GDBMNDBM_H_USES_PROTOTYPES # K added by devel/scanprov
+HAS_DBMINIT_PROTO # K added by devel/scanprov
+I_DBM # K added by devel/scanprov
+I_NDBM # K added by devel/scanprov
_is_utf8_FOO # F added by devel/scanprov
_is_utf8_perl_idcont # F added by devel/scanprov
_is_utf8_perl_idstart # F added by devel/scanprov
+LEXACT_REQ8 # Z added by devel/scanprov
+NDBM_H_USES_PROTOTYPES # K added by devel/scanprov
+SAVEFEATUREBITS # Z added by devel/scanprov
+STOREFEATUREBITSHH # Z added by devel/scanprov
+UTF8_CHK_SKIP # U
+UTF_MIN_ABOVE_LATIN1_BYTE # Z added by devel/scanprov
+UTF_MIN_START_BYTE # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5031007 b/dist/Devel-PPPort/parts/base/5031007
index 61dd94b53c..432d1c742a 100644
--- a/dist/Devel-PPPort/parts/base/5031007
+++ b/dist/Devel-PPPort/parts/base/5031007
@@ -1,19 +1,59 @@
5.031007
-csighandler # E (Perl_csighandler)
-csighandler1 # U
-csighandler3 # E
-memCHRs # U
-perly_sighandler # E
-sv_isa_sv # U
-WARN_EXPERIMENTAL__ISA # E
+ANYOFHs # Z added by devel/scanprov
+ANYOFR # Z added by devel/scanprov
+ANYOFRb # Z added by devel/scanprov
+ANYOFRbase # Z added by devel/scanprov
+ANYOFR_BASE_BITS # Z added by devel/scanprov
+ANYOFRdelta # Z added by devel/scanprov
+csighandler1 # F added by devel/scanprov
+csighandler3 # F added by devel/scanprov
+DEBUG_y # Z added by devel/scanprov
+DEBUG_y_FLAG # Z added by devel/scanprov
+DEBUG_y_TEST # Z added by devel/scanprov
+DEBUG_yv # Z added by devel/scanprov
+DEBUG_yv_TEST # Z added by devel/scanprov
do_trans_count_invmap # F added by devel/scanprov
do_trans_invmap # F added by devel/scanprov
+FEATURE_ISA_BIT # Z added by devel/scanprov
+FEATURE_ISA_IS_ENABLED # Z added by devel/scanprov
find_first_differing_byte_pos # F added by devel/scanprov
+HASATTRIBUTE_ALWAYS_INLINE # K added by devel/scanprov
+HAS_ISLESS # K added by devel/scanprov
+HAS_WCRTOMB # K added by devel/scanprov
invlist_lowest # F added by devel/scanprov
invmap_dump # F added by devel/scanprov
+isALNUMC_LC_utf8_safe # Z added by devel/scanprov
+isALNUMC_utf8_safe # Z added by devel/scanprov
+isALNUM_lazy_if_safe # Z added by devel/scanprov
+isALNUM_LC_utf8_safe # Z added by devel/scanprov
+isALNUM_utf8_safe # Z added by devel/scanprov
is_grapheme # F added by devel/scanprov
+is_THREE_CHAR_FOLD_HEAD_latin1_safe # Z added by devel/scanprov
+is_THREE_CHAR_FOLD_HEAD_utf8_safe # Z added by devel/scanprov
+is_THREE_CHAR_FOLD_latin1_safe # Z added by devel/scanprov
+is_THREE_CHAR_FOLD_utf8_safe # Z added by devel/scanprov
+KEY_isa # Z added by devel/scanprov
+magic_sethint_feature # Z added by devel/scanprov
make_exactf_invlist # F added by devel/scanprov
+memCHRs # U
+OPpTRANS_CAN_FORCE_UTF8 # Z added by devel/scanprov
+OPpTRANS_USE_SVOP # Z added by devel/scanprov
+perly_sighandler # F added by devel/scanprov
+PL_sighandler1p # Z added by devel/scanprov
+PL_sighandler3p # Z added by devel/scanprov
+PL_TR_SPECIAL_HANDLING_UTF8 # Z added by devel/scanprov
quadmath_format_valid # F added by devel/scanprov
+RANGE_INDICATOR # Z added by devel/scanprov
sighandler1 # F added by devel/scanprov
sighandler3 # F added by devel/scanprov
sv_derived_from_svpvn # F added by devel/scanprov
+sv_isa_sv # U
+TR_DELETE # Z added by devel/scanprov
+TR_OOB # Z added by devel/scanprov
+TR_R_EMPTY # Z added by devel/scanprov
+TR_SPECIAL_HANDLING # Z added by devel/scanprov
+TR_UNLISTED # Z added by devel/scanprov
+TR_UNMAPPED # Z added by devel/scanprov
+UNICODE_ALLOW_ABOVE_IV_MAX # Z added by devel/scanprov
+UTF8_IS_START_base # Z added by devel/scanprov
+WARN_EXPERIMENTAL__ISA # E
diff --git a/dist/Devel-PPPort/parts/base/5031008 b/dist/Devel-PPPort/parts/base/5031008
index 13f521a0c0..70f4ad8f3a 100644
--- a/dist/Devel-PPPort/parts/base/5031008
+++ b/dist/Devel-PPPort/parts/base/5031008
@@ -1,3 +1,4 @@
5.031008
grok_bin_oct_hex # F added by devel/scanprov
output_non_portable # F added by devel/scanprov
+PERL_SCAN_NOTIFY_ILLDIGIT # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5031009 b/dist/Devel-PPPort/parts/base/5031009
new file mode 100644
index 0000000000..e251875202
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5031009
@@ -0,0 +1,30 @@
+5.031009
+ARGp # Z added by devel/scanprov
+ARGp_LOC # Z added by devel/scanprov
+ARGp_SET # Z added by devel/scanprov
+compile_wildcard # F added by devel/scanprov
+execute_wildcard # F added by devel/scanprov
+FEATURE_INDIRECT_BIT # Z added by devel/scanprov
+FEATURE_INDIRECT_IS_ENABLED # Z added by devel/scanprov
+FILL_ADVANCE_NODE_ARGp # Z added by devel/scanprov
+form_alien_digit_msg # F added by devel/scanprov
+form_cp_too_large_msg # F added by devel/scanprov
+isMNEMONIC_CNTRL # Z added by devel/scanprov
+load_charnames # F added by devel/scanprov
+PERL_SCAN_ALLOW_MEDIAL_UNDERSCORES # Z added by devel/scanprov
+PERL_SCAN_SILENT_OVERFLOW # Z added by devel/scanprov
+PL_mbrlen_ps # Z added by devel/scanprov
+PL_mbrtowc_ps # Z added by devel/scanprov
+PL_wcrtomb_ps # Z added by devel/scanprov
+PMf_WILDCARD # Z added by devel/scanprov
+REGEX_SET # Z added by devel/scanprov
+regpnode # F added by devel/scanprov
+UNI_DISPLAY_BACKSPACE # Z added by devel/scanprov
+UNI_ebase_values_index # Z added by devel/scanprov
+UNI_ecomp_values_index # Z added by devel/scanprov
+UNI_emod_values_index # Z added by devel/scanprov
+UNI_emoji_values_index # Z added by devel/scanprov
+UNI_epres_values_index # Z added by devel/scanprov
+UNI_extpict_values_index # Z added by devel/scanprov
+UNI_identifierstatus_values_index # Z added by devel/scanprov
+UNI_identifiertype_values_index # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5031010 b/dist/Devel-PPPort/parts/base/5031010
new file mode 100644
index 0000000000..4ac39b9a49
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5031010
@@ -0,0 +1,88 @@
+5.031010
+amagic_cmp_desc # F added by devel/scanprov
+amagic_cmp_locale_desc # F added by devel/scanprov
+amagic_i_ncmp_desc # F added by devel/scanprov
+amagic_ncmp_desc # F added by devel/scanprov
+cmpchain_extend # F added by devel/scanprov
+cmpchain_finish # F added by devel/scanprov
+cmpchain_start # F added by devel/scanprov
+cmp_desc # F added by devel/scanprov
+cmp_locale_desc # F added by devel/scanprov
+DECLARE_AND_GET_RE_DEBUG_FLAGS # Z added by devel/scanprov
+DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX # Z added by devel/scanprov
+do_uniprop_match # F added by devel/scanprov
+ENV_INIT # Z added by devel/scanprov
+ENV_LOCALE_LOCK # Z added by devel/scanprov
+ENV_LOCALE_READ_LOCK # Z added by devel/scanprov
+ENV_LOCALE_READ_UNLOCK # Z added by devel/scanprov
+ENV_LOCALE_UNLOCK # Z added by devel/scanprov
+ENV_LOCK # Z added by devel/scanprov
+ENV_TERM # Z added by devel/scanprov
+ENV_UNLOCK # Z added by devel/scanprov
+free_and_set_cop_warnings # Z added by devel/scanprov
+get_deprecated_property_msg # F added by devel/scanprov
+get_prop_definition # F added by devel/scanprov
+get_prop_values # F added by devel/scanprov
+get_re_gclass_nonbitmap_data # F added by devel/scanprov
+get_regclass_nonbitmap_data # F added by devel/scanprov
+GETSPNAM_R_HAS_BUFFER # Z added by devel/scanprov
+gmtime # Z added by devel/scanprov
+handle_names_wildcard # F added by devel/scanprov
+isDEBUG_WILDCARD # Z added by devel/scanprov
+KEY_getspnam # Z added by devel/scanprov
+localtime # Z added by devel/scanprov
+mortal_getenv # F added by devel/scanprov
+PERL_REENTR_USING_ASCTIME_R # Z added by devel/scanprov
+PERL_REENTR_USING_CRYPT_R # Z added by devel/scanprov
+PERL_REENTR_USING_CTERMID_R # Z added by devel/scanprov
+PERL_REENTR_USING_CTIME_R # Z added by devel/scanprov
+PERL_REENTR_USING_ENDGRENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_ENDHOSTENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_ENDNETENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_ENDPROTOENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_ENDPWENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_ENDSERVENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETGRENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETGRGID_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETGRNAM_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETHOSTBYADDR_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETHOSTBYNAME_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETHOSTENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETLOGIN_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETNETBYADDR_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETNETBYNAME_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETNETENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETPROTOBYNAME_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETPROTOBYNUMBER_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETPROTOENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETPWENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETPWNAM_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETPWUID_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETSERVBYNAME_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETSERVBYPORT_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETSERVENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_GETSPNAM_R # Z added by devel/scanprov
+PERL_REENTR_USING_GMTIME_R # Z added by devel/scanprov
+PERL_REENTR_USING_LOCALTIME_R # Z added by devel/scanprov
+PERL_REENTR_USING_READDIR64_R # Z added by devel/scanprov
+PERL_REENTR_USING_READDIR_R # Z added by devel/scanprov
+PERL_REENTR_USING_SETGRENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_SETHOSTENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_SETLOCALE_R # Z added by devel/scanprov
+PERL_REENTR_USING_SETNETENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_SETPROTOENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_SETPWENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_SETSERVENT_R # Z added by devel/scanprov
+PERL_REENTR_USING_STRERROR_R # Z added by devel/scanprov
+PERL_REENTR_USING_TMPNAM_R # Z added by devel/scanprov
+PERL_REENTR_USING_TTYNAME_R # Z added by devel/scanprov
+PERLSI_REGCOMP # Z added by devel/scanprov
+PERL_STATIC_FORCE_INLINE # Z added by devel/scanprov
+PERL_STATIC_FORCE_INLINE_NO_RET # Z added by devel/scanprov
+RE_DEBUG_EXTRA_WILDCARD # Z added by devel/scanprov
+REENTRANT_PROTO_S_TS # Z added by devel/scanprov
+should_we_output_Debug_r # F added by devel/scanprov
+sortsv_flags_impl # F added by devel/scanprov
+sv_i_ncmp_desc # F added by devel/scanprov
+sv_ncmp_desc # F added by devel/scanprov
+USE_SPENT_BUFFER # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5031011 b/dist/Devel-PPPort/parts/base/5031011
new file mode 100644
index 0000000000..fb307dbb66
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5031011
@@ -0,0 +1,2 @@
+5.031011
+PERL_IS_GCC # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5032000 b/dist/Devel-PPPort/parts/base/5032000
new file mode 100644
index 0000000000..8503a3e6b0
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5032000
@@ -0,0 +1,3 @@
+5.032000
+HAS_SOCKADDR_STORAGE # K added by devel/scanprov
+rck_elide_nothing # F added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5033000 b/dist/Devel-PPPort/parts/base/5033000
new file mode 100644
index 0000000000..4ef48161a8
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5033000
@@ -0,0 +1,11 @@
+5.033000
+PERL_GIT_UNCOMMITTED_CHANGES # Z added by devel/scanprov
+PERL_INC_VERSION_LIST # K added by devel/scanprov
+PERL_RVS_TO_DECIMAL # Z added by devel/scanprov
+PERL_VERSION_EQ # U
+PERL_VERSION_GE # U
+PERL_VERSION_GT # U
+PERL_VERSION_LE # U
+PERL_VERSION_LT # U
+PERL_VERSION_NE # U
+USE_C_BACKTRACE # K added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5033001 b/dist/Devel-PPPort/parts/base/5033001
new file mode 100644
index 0000000000..b62d23b6aa
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5033001
@@ -0,0 +1,7 @@
+5.033001
+av_count # U
+dMY_CXT_SV # E
+nBIT_MASK # Z added by devel/scanprov
+nBIT_UMAX # Z added by devel/scanprov
+USE_LOCALE_SYNTAX # Z added by devel/scanprov
+USE_LOCALE_TOD # Z added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/base/5033002 b/dist/Devel-PPPort/parts/base/5033002
new file mode 100644
index 0000000000..e4f88bfbfe
--- /dev/null
+++ b/dist/Devel-PPPort/parts/base/5033002
@@ -0,0 +1 @@
+5.033002
diff --git a/dist/Devel-PPPort/parts/embed.fnc b/dist/Devel-PPPort/parts/embed.fnc
index 589ab1a59c..44821311c2 100644
--- a/dist/Devel-PPPort/parts/embed.fnc
+++ b/dist/Devel-PPPort/parts/embed.fnc
@@ -14,7 +14,7 @@
: real (full) name, with any appropriate thread context paramaters, thus hiding
: that detail from the typical code.
:
-: Most macros listed here are the complete full name.
+: Most macros (as opposed to function) listed here are the complete full name.
:
: All non-static functions defined by perl need to be listed in this file.
: embed.pl uses the entries here to construct:
@@ -22,9 +22,16 @@
: 2) embed.h to create short name macros
:
: Static functions internal to a file need not appear here, but there is
-: benefit to declaring them here, as it generally handles the thread context
-: parameter invisibly, as well as making sure a PERL_ARGS_ASSERT_foo macro is
-: defined, which can save you debugging time.
+: benefit to declaring them here:
+: 1) It generally handles the thread context parameter invisibly making it
+: trivial to add or remove needing thread context passed;
+: 2) It defines a PERL_ARGS_ASSERT_foo macro, which can save you debugging
+: time;
+: 3) It is is automatically known to Devel::PPPort, making it quicker to
+: later find out when it came into existence. For example
+: perl ppport.h --api-info=/edit_distance/
+: yields
+: Supported at least since perl-5.23.8, with or without ppport.h.
:
: Lines in this file are of the form:
: flags|return_type|name|arg1|arg2|...|argN
@@ -106,40 +113,98 @@
: function in its full 'Perl_' form with any necessary thread
: context parameter.
:
+: Just below is a description of the automatic documentation generation system
+: which heavily involves this file. Below that is a description of all the
+: flags used in this file.
+:
: Scattered around the perl source are lines of the form:
:
: =for apidoc name
:
-: followed by pod for that function. The purpose of these is to tell
-: autodoc.pl where the documentation is for a function listed in this file. It
-: uses the prototype from here and the pod from there in generating the
-: documentation in perlapi or perlintern. The entries in this file that have
-: corresponding '=for apidoc' entries should have the 'd' flag set in this
+: followed by pod for that function. The purpose of these lines and the text
+: that immediately follows them is to furnish documentation for functions
+: and macros listed here in embed.fnc. The lines tend to be placed near the
+: source for the item they describe. autodoc.pl is run as part of the standard
+: build process to extract this documentation and build perlapi.pod from the
+: elements that are in the API (flagged as A in this file), and perlintern.pod
+: from the other elements.
+:
+: 'name' in the apidoc line corresponds to an item listed in this file, so that
+: the signature and flags need only be specified once, here, and automatically
+: they get placed into the generated pod.
+:
+: The 'h' flag is used to hide (suppress) the pod associated with =apidoc lines
+: from being placed in the generated perlapi or perlintern. There are several
+: reasons you might want to do this, given in the 'h' flag description below,
+: but one is for the case where the =apidoc occurs in a file that contains
+: regular pod. Without that flag, the associated pod will be placed in both
+: it, and perlapi or perlintern. That may be what you want, but it gives you
+: the flexibility to choose that, or instead have just a link to the source pod
+: inserted in perlapi or perlintern. This allows single-source browsing for
+: someone; they don't have to scan multiple pods trying to find something
+: suitable.
+:
+: In C files, the apidoc lines are inside comment blocks. Inside other files,
+: the =for causes lines from there until the next line beginning with an '=' to
+: be ignored.
+:
+: The entries in this file that have corresponding '=for apidoc' entries must
+: have the 'd' flag set in this file.
+:
+: There are also lines of this form scattered around the perl
+: source:
+:
+: =for apidoc_header HEADING_TEXT
+: =head1 HEADING_TEXT
+:
+: where HEADING_TEXT is arbitrary text up to the end of the line. These are
+: used by autodoc to group the documentation into sections of related
+: items. After having been stripped of leading space, HEADING_TEXT, gives the
+: section the following apidoc lines will be grouped under, and its title.
+: By using the same HEADING_TEXT in multiple files, everything related will
+: automatically get grouped together regardless of its source file.
+: Originally, all apidoc lines were in C files, and the =heading1 worked there
+: when placed in comment blocks, like the rest of the apidoc lines. But now,
+: the documentation can also come from pure perl files, and =head1 has meaning
+: to them, so has to be avoided there. You can use the '=for apidoc_header'
+: lines anywhere.
+:
+: Within sections functions are listed, sorted in dictionary order. What goes
+: into a section ends with the next =head1, '=for apidoc_header', or the end of
: file.
:
-: There are also lines of this form scattered around:
+: What goes into the documentation of a particular function ends with the next
+: line that begins with an '='. In particular, an '=cut' line ends that
+: documentation without introducing something new.
+:
+: It makes sense for some macros to have documentation not in embed.fnc, but
+: somewhere else. To that end, also scattered around the perl source are lines
+: like this:
:
: =for apidoc flags|return_type|name|arg1|arg2|...|argN
:
-: and with the same meanings as the lines in this file. These are for
-: documenting macros. The 'name' in any such line must not be the same as any
-: in this file (i.e., no redundant definitions), and one of the flags must be
-: 'm', indicating it is a macro. The lines following these are pod for the
-: respective macro. Since these are macros, the arguments need not be legal C
-: parameters. To indicate this to downstream software that inspects these
-: lines, there are a few conventions:
-: type should be the entire argument name if it names a type
-: cast should be the entire argument name if it is a cast
-: SP should be the entire argument name if it is the stack pointer SP
-: block should be the entire argument name if it is a C brace-enclosed block
-:
-: The letters above are exact. For example, you have to have 't', 'y', 'p',
-: and 'e' literally. Here is an example:
+: and with the same meanings as the lines in this file. The 'name' in any such
+: line must not be the same as any in this file (i.e., no redundant
+: definitions), and one of the flags must be 'm', indicating it is a macro.
+: Since these are macros, the arguments need not be legal C parameters. To
+: indicate this to downstream software that inspects these lines, there are a
+: few conventions:
+: type should be the entire argument name if it names a type
+: cast should be the entire argument name if it is a cast
+: SP should be the entire argument name if it is the stack pointer SP
+: block should be the entire argument name if it is a C brace-enclosed block
+: number should be the entire argument name if it means a C numeric constant
+: "string" should be the entire argument name if it is a literal C
+: double-quoted string
+:
+: Except for "string", the letters above are exact. For example, you have to
+: have 't', 'y', 'p', and 'e' literally. Here is an example:
+:
: =for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast
:
-: Additionally, an argument can be some word(s) enclosed in double quotes to
-: indicate that it has to be a string, instead of a const char * const, like this
-: =for apidoc Ama|SV*|newSVpvs|"string"
+: The text within double quotes can be arbitrary descriptive text.
+:
+: =for apidoc Ama|SV*|newSVpvs|"literal string"
:
: If any argument or return value is not one of the above, and isn't a legal C
: language one, the 'u' flag should be specified.
@@ -276,33 +341,45 @@
: proto.h: PERL_ARGS_ASSERT macro is not defined unless the function
: has NN arguments
:
-: h Hide any documentation. This is used when the documentation is atypical
-: of the rest of perlapi and perlintern. In other words the item is
-: documented, but just not the standard way. One reason would be if there
-: are a bunch of macros which follow a common paradigm in their naming, so
-: rather than having an entry for each slight variation, there is an
-: overarchinge one. It is also used when the documentation is in another
-: pod, such as perlguts or warnings.h. This flag is useful for downstream
-: programs, such as Devel::PPPort.
-:
-: I This flag works exactly the same as 'i' but it also adds
-: __attribute__((always_inline)) or __forceinline if either of them is
-: supported by the compiler.
-:
-: proto.h: function is declared as PERL_STATIC_FORCE_INLINE and
-: __attribute__always_inline__ is added
+: h Hide any documentation that would normally go into perlapi or
+: perlintern. This is typically used when the documentation is actually
+: in another pod. If you don't use the 'h', that documentation is
+: displayed in both places; with the flag, it stays in the pod, and a
+: link to that pod is instead placed in perlapi or perlintern. This
+: allows one to browse perlapi or perlintern and see all the potentially
+: relevant elements. A good example is perlapio. It has documentation
+: about PerlIO functions with other text giving context. There's no point
+: in writing a second entry for perlapi, but it would be good if someone
+: browsing perlapi knew about it. By adding '=for apidoc' lines in
+: perlapio, the appropriate text could be simply copied into perlapi if
+: deemed appropriate, or just a link added there when the 'h' flag is
+: specified.
+: This flag is useful for symbolic names for flags. A single =for apidoc
+: line can be added to the pod where the meaning is discussed, and perlapi
+: will list the name, with a link to the pod. Another use would be if
+: there are a bunch of macros which follow a common paradigm in their
+: naming, so rather than having an entry for each slight variation, there
+: is an overarching one. This flag is useful for downstream programs,
+: such as Devel::PPPort.
:
: i inline static. This is used for functions that the compiler is being
: requested to inline. If the function is in a header file its
: definition will be visible (unless guarded by #if..#endif) to all
: XS code. (A typical guard will be that it is being included in a
: particular C file(s) or in the perl core.) Therefore, all
-: non-guarded function should also have the 'p' flag specified to avoid
+: non-guarded functions should also have the 'p' flag specified to avoid
: polluting the XS code name space. Otherwise an error is generated if
: the 'S' flag is not also specified.
:
: proto.h: function is declared as PERL_STATIC_INLINE
:
+: I This flag works exactly the same as 'i' but it also adds
+: __attribute__((always_inline)) or __forceinline if either of them is
+: supported by the compiler.
+:
+: proto.h: function is declared as PERL_STATIC_FORCE_INLINE and
+: __attribute__always_inline__ is added
+:
: m Implemented as a macro; there is no function associated with this name,
: and hence no long Perl_ or S_ name. However, if the macro name itself
: begins with 'Perl_', autodoc.pl will show a thread context parameter
@@ -333,11 +410,16 @@
: characters, and a warning is raised otherwise. This flag suppresses
: that warning, so that weird things can be documented
:
-: n Has no arguments (used only in =for apidoc entries)
-:
+: n Has no arguments. (used only in =for apidoc entries)
: The macro (it can't be a function) is used without any parameters nor
: empty parentheses.
:
+: Perhaps a better name for this flag would have been '0'. The reason the
+: flag was not changed to that from 'n', is if D:P were to be regenerated
+: on an older perl, it still would use the new embed.fnc shipped with it,
+: but would be using the flags from the older perl source code.
+:
+:
: O Has a perl_ compatibility macro.
:
: The really OLD name for API funcs.
@@ -385,7 +467,8 @@
:
: gcc has a bug (which they claim is a feature) in which casting the
: result of one of these to (void) doesn't silence the warning that the
-: result is ignored.
+: result is ignored. (Perl has a workaround for this bug, see
+: PERL_UNUSED_RESULT docs)
:
: proto.h: add __attribute__warn_unused_result__
:
@@ -474,7 +557,7 @@ ATod |void |perl_free |NN PerlInterpreter *my_perl
ATod |int |perl_run |NN PerlInterpreter *my_perl
ATod |int |perl_parse |NN PerlInterpreter *my_perl|XSINIT_t xsinit \
|int argc|NULLOK char** argv|NULLOK char** env
-ATpR |bool |doing_taint |int argc|NULLOK char** argv|NULLOK char** env
+CTpR |bool |doing_taint |int argc|NULLOK char** argv|NULLOK char** env
#if defined(USE_ITHREADS)
ATod |PerlInterpreter*|perl_clone|NN PerlInterpreter *proto_perl|UV flags
# if defined(PERL_IMPLICIT_SYS)
@@ -541,13 +624,14 @@ Apd |void |av_push |NN AV *av|NN SV *val
EXp |void |av_reify |NN AV *av
ApdR |SV* |av_shift |NN AV *av
Apd |SV** |av_store |NN AV *av|SSize_t key|NULLOK SV *val
-AidRp |SSize_t|av_top_index |NN AV *av
+AMdRp |SSize_t|av_top_index |NN AV *av
+AidRp |Size_t |av_count |NN AV *av
AmdR |SSize_t|av_tindex |NN AV *av
Apd |void |av_undef |NN AV *av
Apdoex |SV** |av_create_and_unshift_one|NN AV **const avp|NN SV *const val
Apd |void |av_unshift |NN AV *av|SSize_t num
-Apo |SV** |av_arylen_p |NN AV *av
-Apo |IV* |av_iter_p |NN AV *av
+Cpo |SV** |av_arylen_p |NN AV *av
+Cpo |IV* |av_iter_p |NN AV *av
#if defined(PERL_IN_AV_C)
S |MAGIC* |get_aux_mg |NN AV *av
#endif
@@ -568,10 +652,10 @@ Apd |const PERL_CONTEXT * |caller_cx|I32 level \
|NULLOK const PERL_CONTEXT **dbcxp
: Used in several source files
pR |bool |cando |Mode_t mode|bool effective|NN const Stat_t* statbufp
-ApRT |U32 |cast_ulong |NV f
-ApRT |I32 |cast_i32 |NV f
-ApRT |IV |cast_iv |NV f
-ApRT |UV |cast_uv |NV f
+CdpRT |U32 |cast_ulong |NV f
+CdpRT |I32 |cast_i32 |NV f
+CdpRT |IV |cast_iv |NV f
+CdpRT |UV |cast_uv |NV f
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
ApR |I32 |my_chsize |int fd|Off_t length
#endif
@@ -596,19 +680,19 @@ fTpre |void |noperl_die|NN const char* pat|...
Tore |void |win32_croak_not_implemented|NN const char * fname
#endif
#if defined(PERL_IMPLICIT_CONTEXT)
-AfTrp |void |croak_nocontext|NULLOK const char* pat|...
-AfTrp |OP* |die_nocontext |NULLOK const char* pat|...
+AdfTrp |void |croak_nocontext|NULLOK const char* pat|...
+AdfTrp |OP* |die_nocontext |NULLOK const char* pat|...
AfTp |void |deb_nocontext |NN const char* pat|...
-AfTp |char* |form_nocontext |NN const char* pat|...
-AFTp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
-AfTp |SV* |mess_nocontext |NN const char* pat|...
-AfTp |void |warn_nocontext |NN const char* pat|...
-AfTp |void |warner_nocontext|U32 err|NN const char* pat|...
-AfTp |SV* |newSVpvf_nocontext|NN const char *const pat|...
-AfTp |void |sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|...
-AfTp |void |sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
-AfTp |void |sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
-AfTp |void |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
+AdfTp |char* |form_nocontext |NN const char* pat|...
+AdFTp |void |load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
+AdfTp |SV* |mess_nocontext |NN const char* pat|...
+AdfTp |void |warn_nocontext |NN const char* pat|...
+AdfTp |void |warner_nocontext|U32 err|NN const char* pat|...
+AdfTp |SV* |newSVpvf_nocontext|NN const char *const pat|...
+AdfTp |void |sv_catpvf_nocontext|NN SV *const sv|NN const char *const pat|...
+AdfTp |void |sv_setpvf_nocontext|NN SV *const sv|NN const char *const pat|...
+AdfTp |void |sv_catpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
+AdfTp |void |sv_setpvf_mg_nocontext|NN SV *const sv|NN const char *const pat|...
AbfTpD |int |fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
AbfTpD |int |printf_nocontext|NN const char *format|...
#endif
@@ -630,9 +714,9 @@ Apd |SV * |cv_name |NN CV *cv|NULLOK SV *sv|U32 flags
Apd |void |cv_undef |NN CV* cv
p |void |cv_undef_flags |NN CV* cv|U32 flags
pd |void |cv_forget_slab |NULLOK CV *cv
-Ap |void |cx_dump |NN PERL_CONTEXT* cx
-AiMp |GV * |CvGV |NN CV *sv
-AiMTp |I32 * |CvDEPTH |NN const CV * const sv
+Cp |void |cx_dump |NN PERL_CONTEXT* cx
+AdiMp |GV * |CvGV |NN CV *sv
+AdiMTp |I32 * |CvDEPTH |NN const CV * const sv
Aphd |SV* |filter_add |NULLOK filter_t funcp|NULLOK SV* datasv
Ap |void |filter_del |NN filter_t funcp
ApRhd |I32 |filter_read |int idx|NN SV *buf_sv|int maxlen
@@ -644,7 +728,7 @@ pPR |const char* |get_no_modify
pPR |U32* |get_opargs
ApPR |PPADDR_t*|get_ppaddr
: Used by CXINC, which appears to be in widespread use
-ApR |I32 |cxinc
+CpR |I32 |cxinc
Afp |void |deb |NN const char* pat|...
Ap |void |vdeb |NN const char* pat|NULLOK va_list* args
Ap |void |debprofdump
@@ -654,9 +738,9 @@ Ap |I32 |debop |NN const OP* o
Ap |I32 |debstack
Ap |I32 |debstackptrs
pR |SV * |defelem_target |NN SV *sv|NULLOK MAGIC *mg
-ATp |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \
+AdTp |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \
|NN const char* fromend|int delim|NN I32* retlen
-Tp |char* |delimcpy_no_escape|NN char* to|NN const char* toend \
+dTp |char* |delimcpy_no_escape|NN char* to|NN const char* toend \
|NN const char* from \
|NN const char* fromend|int delim \
|NN I32* retlen
@@ -666,7 +750,7 @@ Aprd |OP* |die_sv |NN SV *baseex
Afrpd |OP* |die |NULLOK const char* pat|...
: Used in util.c
pr |void |die_unwind |NN SV* msv
-Ap |void |dounwind |I32 cxix
+Cp |void |dounwind |I32 cxix
: FIXME
pMb |bool|do_aexec |NULLOK SV* really|NN SV** mark|NN SV** sp
: Used in pp_sys.c
@@ -683,7 +767,7 @@ pM |bool|do_exec |NN const char* cmd
p |bool|do_exec |NN const char* cmd
#endif
-#if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
+#if defined(WIN32) || defined(VMS)
Ap |int |do_aspawn |NULLOK SV* really|NN SV** mark|NN SV** sp
Ap |int |do_spawn |NN char* cmd
Ap |int |do_spawn_nowait|NN char* cmd
@@ -771,7 +855,7 @@ p |bool |do_print |NULLOK SV* sv|NN PerlIO* fp
pR |OP* |do_readline
: Defined in doio.c, used only in pp_sys.c
p |bool |do_seek |NULLOK GV* gv|Off_t pos|int whence
-Ap |void |do_sprintf |NN SV* sv|SSize_t len|NN SV** sarg
+Cp |void |do_sprintf |NN SV* sv|SSize_t len|NN SV** sarg
: Defined in doio.c, used only in pp_sys.c
p |Off_t |do_sysseek |NN GV* gv|Off_t pos|int whence
: Defined in doio.c, used only in pp_sys.c
@@ -821,8 +905,8 @@ S |OP* |fold_constants |NN OP * const o
Sd |OP* |traverse_op_tree|NN OP* top|NN OP* o
#endif
Afpd |char* |form |NN const char* pat|...
-Ap |char* |vform |NN const char* pat|NULLOK va_list* args
-Ap |void |free_tmps
+Adp |char* |vform |NN const char* pat|NULLOK va_list* args
+Cp |void |free_tmps
#if defined(PERL_IN_OP_C)
S |void |gen_constant_list|NULLOK OP* o
#endif
@@ -838,19 +922,19 @@ Ap |GV* |gv_add_by_type |NULLOK GV *gv|svtype type
ApMb |GV* |gv_AVadd |NULLOK GV *gv
ApMb |GV* |gv_HVadd |NULLOK GV *gv
ApMb |GV* |gv_IOadd |NULLOK GV* gv
-AmR |GV* |gv_autoload4 |NULLOK HV* stash|NN const char* name \
+AdmR |GV* |gv_autoload4 |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 method
-ApR |GV* |gv_autoload_sv |NULLOK HV* stash|NN SV* namesv|U32 flags
-ApR |GV* |gv_autoload_pv |NULLOK HV* stash|NN const char* namepv \
+ApRd |GV* |gv_autoload_sv |NULLOK HV* stash|NN SV* namesv|U32 flags
+ApRd |GV* |gv_autoload_pv |NULLOK HV* stash|NN const char* namepv \
|U32 flags
-ApR |GV* |gv_autoload_pvn |NULLOK HV* stash|NN const char* name \
+ApRd |GV* |gv_autoload_pvn |NULLOK HV* stash|NN const char* name \
|STRLEN len|U32 flags
-Ap |void |gv_check |NN HV* stash
+Cp |void |gv_check |NN HV* stash
AbpD |void |gv_efullname |NN SV* sv|NN const GV* gv
ApMb |void |gv_efullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
Ap |void |gv_efullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
-Ap |GV* |gv_fetchfile |NN const char* name
-Ap |GV* |gv_fetchfile_flags|NN const char *const name|const STRLEN len\
+Adp |GV* |gv_fetchfile |NN const char* name
+Adp |GV* |gv_fetchfile_flags|NN const char *const name|const STRLEN len\
|const U32 flags
Amd |GV* |gv_fetchmeth |NULLOK HV* stash|NN const char* name \
|STRLEN len|I32 level
@@ -875,7 +959,7 @@ Apx |GV* |gv_fetchmethod_pv_flags|NN HV* stash|NN const char* name \
|U32 flags
Apx |GV* |gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
|const STRLEN len|U32 flags
-Ap |GV* |gv_fetchpv |NN const char *nambeg|I32 add|const svtype sv_type
+Adp |GV* |gv_fetchpv |NN const char *nambeg|I32 flags|const svtype sv_type
AbpD |void |gv_fullname |NN SV* sv|NN const GV* gv
ApMb |void |gv_fullname3 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix
Ap |void |gv_fullname4 |NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
@@ -899,7 +983,7 @@ p |void |gv_setref |NN SV *const dstr|NN SV *const sstr
Apd |HV* |gv_stashpv |NN const char* name|I32 flags
Apd |HV* |gv_stashpvn |NN const char* name|U32 namelen|I32 flags
#if defined(PERL_IN_GV_C) || defined(PERL_IN_UNIVERSAL_C)
-EpG |HV* |gv_stashsvpvn_cached |NULLOK SV *namesv|NULLOK const char* name|U32 namelen|I32 flags
+Epd |HV* |gv_stashsvpvn_cached |NULLOK SV *namesv|NULLOK const char* name|U32 namelen|I32 flags
#endif
#if defined(PERL_IN_GV_C)
i |HV* |gv_stashpvn_internal |NN const char* name|U32 namelen|I32 flags
@@ -919,10 +1003,10 @@ AbMdRp |bool |hv_exists_ent |NULLOK HV *hv|NN SV *keysv|U32 hash
AbMdp |SV** |hv_fetch |NULLOK HV *hv|NN const char *key|I32 klen \
|I32 lval
AbMdp |HE* |hv_fetch_ent |NULLOK HV *hv|NN SV *keysv|I32 lval|U32 hash
-Ap |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
+Cp |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
|NULLOK const char* key|STRLEN klen|int flags \
|int action|NULLOK SV *val|U32 hash
-Ap |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \
+Cp |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \
|I32 klen_i32|const int action|NULLOK SV *val \
|const U32 hash
Apod |STRLEN |hv_fill |NN HV *const hv
@@ -972,7 +1056,7 @@ AdmP |I32 |ibcmp |NN const char* a|NN const char* b|I32 len
AdiTp |I32 |foldEQ |NN const char* a|NN const char* b|I32 len
AdmP |I32 |ibcmp_locale |NN const char* a|NN const char* b|I32 len
AiTpd |I32 |foldEQ_locale |NN const char* a|NN const char* b|I32 len
-Am |I32 |ibcmp_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
+Adm |I32 |ibcmp_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2
Amd |I32 |foldEQ_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
@@ -981,7 +1065,7 @@ Amd |I32 |foldEQ_utf8 |NN const char *s1|NULLOK char **pe1|UV l1 \
Cp |I32 |foldEQ_utf8_flags |NN const char *s1|NULLOK char **pe1|UV l1 \
|bool u1|NN const char *s2|NULLOK char **pe2 \
|UV l2|bool u2|U32 flags
-AiTp |I32 |foldEQ_latin1 |NN const char* a|NN const char* b|I32 len
+CiTp |I32 |foldEQ_latin1 |NN const char* a|NN const char* b|I32 len
#if defined(PERL_IN_DOIO_C)
SR |bool |ingroup |Gid_t testgid|bool effective
#endif
@@ -1150,7 +1234,7 @@ S |OP* |listkids |NULLOK OP* o
#endif
p |OP* |list |NULLOK OP* o
AFpd |void |load_module|U32 flags|NN SV* name|NULLOK SV* ver|...
-Ap |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
+Adp |void |vload_module|U32 flags|NN SV* name|NULLOK SV* ver|NULLOK va_list* args
: Used in perly.y
p |OP* |localize |NN OP *o|I32 lex
ApdR |I32 |looks_like_number|NN SV *const sv
@@ -1269,12 +1353,13 @@ EXpR |MAGIC* |mg_find_mglob |NN SV* sv
Apd |int |mg_free |NN SV* sv
Apd |void |mg_free_type |NN SV* sv|int how
Apd |void |mg_freeext |NN SV* sv|int how|NULLOK const MGVTBL *vtbl
+Aipd |void |SvGETMAGIC |NN SV *sv
Apd |int |mg_get |NN SV* sv
ApdD |U32 |mg_length |NN SV* sv
ApdT |void |mg_magical |NN SV* sv
Apd |int |mg_set |NN SV* sv
Ap |I32 |mg_size |NN SV* sv
-ApT |void |mini_mktime |NN struct tm *ptm
+AdpT |void |mini_mktime |NN struct tm *ptm
Axmd |OP* |op_lvalue |NULLOK OP* o|I32 type
poX |OP* |op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
pd |void |finalize_optree |NN OP* o
@@ -1287,8 +1372,8 @@ S |void |move_proto_attr|NN OP **proto|NN OP **attrs \
#endif
: Used in op.c and pp_sys.c
p |int |mode_from_discipline|NULLOK const char* s|STRLEN len
-Ap |const char* |moreswitches |NN const char* s
-Ap |NV |my_atof |NN const char *s
+Cp |const char* |moreswitches |NN const char* s
+Adp |NV |my_atof |NN const char *s
ATdpR |NV |my_strtod |NN const char * const s|NULLOK char ** e
Aprd |void |my_exit |U32 status
Apr |void |my_failure_exit
@@ -1296,7 +1381,7 @@ Ap |I32 |my_fflush_all
ATp |Pid_t |my_fork
ATp |void |atfork_lock
ATp |void |atfork_unlock
-ApMb |I32 |my_lstat
+m |I32 |my_lstat
pX |I32 |my_lstat_flags |NULLOK const U32 flags
#if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT))
EeiT |void * |my_memrchr |NN const char * s|const char c|const STRLEN len
@@ -1307,9 +1392,9 @@ Ap |PerlIO*|my_popen |NN const char* cmd|NN const char* mode
#endif
Ap |PerlIO*|my_popen_list |NN const char* mode|int n|NN SV ** args
Apd |void |my_setenv |NULLOK const char* nam|NULLOK const char* val
-ApMb |I32 |my_stat
+m |I32 |my_stat
pX |I32 |my_stat_flags |NULLOK const U32 flags
-Afp |char * |my_strftime |NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
+Adfp |char * |my_strftime |NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
: Used in pp_ctl.c
p |void |my_unexec
CbDTPR |UV |NATIVE_TO_NEED |const UV enc|const UV ch
@@ -1336,7 +1421,7 @@ Ap |void |newPROG |NN OP* o
ApdR |OP* |newRANGE |I32 flags|NN OP* left|NN OP* right
ApdR |OP* |newSLICEOP |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
ApdR |OP* |newSTATEOP |I32 flags|NULLOK char* label|NULLOK OP* o
-ApbM |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
+AdpbM |CV* |newSUB |I32 floor|NULLOK OP* o|NULLOK OP* proto \
|NULLOK OP* block
pd |CV * |newXS_len_flags|NULLOK const char *name|STRLEN len \
|NN XSUBADDR_t subaddr\
@@ -1387,11 +1472,11 @@ ApdR |SV* |newSVhek |NULLOK const HEK *const hek
ApdR |SV* |newSVpvn_share |NULLOK const char* s|I32 len|U32 hash
ApdR |SV* |newSVpv_share |NULLOK const char* s|U32 hash
AfpdR |SV* |newSVpvf |NN const char *const pat|...
-ApR |SV* |vnewSVpvf |NN const char *const pat|NULLOK va_list *const args
+ApRd |SV* |vnewSVpvf |NN const char *const pat|NULLOK va_list *const args
Apd |SV* |newSVrv |NN SV *const rv|NULLOK const char *const classname
ApMbdR |SV* |newSVsv |NULLOK SV *const old
AmdR |SV* |newSVsv_nomg |NULLOK SV *const old
-ApR |SV* |newSVsv_flags |NULLOK SV *const old|I32 flags
+CpR |SV* |newSVsv_flags |NULLOK SV *const old|I32 flags
ApdR |SV* |newSV_type |const svtype type
ApdR |OP* |newUNOP |I32 type|I32 flags|NULLOK OP* first
ApdR |OP* |newUNOP_AUX |I32 type|I32 flags|NULLOK OP* first \
@@ -1462,10 +1547,10 @@ p |void |rpeep |NULLOK OP* o
: Defined in doio.c, used only in pp_hot.c
dopx |PerlIO*|start_glob |NN SV *tmpglob|NN IO *io
-Ap |void |reentrant_size
-Ap |void |reentrant_init
-Ap |void |reentrant_free
-AFTp |void* |reentrant_retry|NN const char *f|...
+Cp |void |reentrant_size
+Cp |void |reentrant_init
+Cp |void |reentrant_free
+CFTp |void* |reentrant_retry|NN const char *f|...
: "Very" special - can't use the O flag for this one:
: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
@@ -1474,7 +1559,7 @@ ApdO |I32 |call_argv |NN const char* sub_name|I32 flags|NN char** argv
ApdO |I32 |call_method |NN const char* methname|I32 flags
ApdO |I32 |call_pv |NN const char* sub_name|I32 flags
ApdO |I32 |call_sv |NN SV* sv|volatile I32 flags
-Ap |void |despatch_signals
+Cp |void |despatch_signals
Ap |OP * |doref |NN OP *o|I32 type|bool set_op_ref
ApdO |SV* |eval_pv |NN const char* p|I32 croak_on_error
ApdO |I32 |eval_sv |NN SV* sv|I32 flags
@@ -1501,7 +1586,7 @@ ApdT |bool |sync_locale
ApxT |void |thread_locale_init
ApxT |void |thread_locale_term
ApdO |void |require_pv |NN const char* pv
-AbpdM |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \
+AbpdD |void |pack_cat |NN SV *cat|NN const char *pat|NN const char *patend \
|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
Apd |void |packlist |NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
#if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
@@ -1517,7 +1602,7 @@ p |void |invmap_dump |NN SV* invlist|NN UV * map
Ap |void |pop_scope
Ap |void |push_scope
#if defined(PERL_IN_PERLY_C) || defined(PERL_IN_OP_C) || defined(PERL_IN_TOKE_C)
-ApMb |OP* |ref |NULLOK OP* o|I32 type
+pMb |OP* |ref |NULLOK OP* o|I32 type
#endif
#if defined(PERL_IN_OP_C)
S |OP* |refkids |NULLOK OP* o|I32 type
@@ -1559,17 +1644,17 @@ Ap |void |save_aelem_flags|NN AV* av|SSize_t idx|NN SV **sptr \
Ap |I32 |save_alloc |I32 size|I32 pad
Apdh |void |save_aptr |NN AV** aptr
Apdh |AV* |save_ary |NN GV* gv
-Ap |void |save_bool |NN bool* boolp
-Ap |void |save_clearsv |NN SV** svp
-Ap |void |save_delete |NN HV *hv|NN char *key|I32 klen
+Cp |void |save_bool |NN bool* boolp
+Cp |void |save_clearsv |NN SV** svp
+Cp |void |save_delete |NN HV *hv|NN char *key|I32 klen
Ap |void |save_hdelete |NN HV *hv|NN SV *keysv
Ap |void |save_adelete |NN AV *av|SSize_t key
-Ap |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
-Ap |void |save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
-ApMb |void |save_freesv |NULLOK SV* sv
+Cp |void |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
+Cp |void |save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
+CpMb |void |save_freesv |NULLOK SV* sv
: Used in SAVEFREOP(), used in op.c, pp_ctl.c
-ApMb |void |save_freeop |NULLOK OP* o
-ApMb |void |save_freepv |NULLOK char* pv
+CpMb |void |save_freeop |NULLOK OP* o
+CpMb |void |save_freepv |NULLOK char* pv
Ap |void |save_generic_svref|NN SV** sptr
Ap |void |save_generic_pvref|NN char** str
Ap |void |save_shared_pvref|NN char** str
@@ -1579,24 +1664,24 @@ Ap |void |save_hints
Am |void |save_helem |NN HV *hv|NN SV *key|NN SV **sptr
Ap |void |save_helem_flags|NN HV *hv|NN SV *key|NN SV **sptr|const U32 flags
Apdh |void |save_hptr |NN HV** hptr
-Ap |void |save_I16 |NN I16* intp
-Ap |void |save_I32 |NN I32* intp
-Ap |void |save_I8 |NN I8* bytep
-Ap |void |save_int |NN int* intp
+Cp |void |save_I16 |NN I16* intp
+Cp |void |save_I32 |NN I32* intp
+Cp |void |save_I8 |NN I8* bytep
+Cp |void |save_int |NN int* intp
Apdh |void |save_item |NN SV* item
-Ap |void |save_iv |NN IV *ivp
+Cp |void |save_iv |NN IV *ivp
AbpDdh |void |save_list |NN SV** sarg|I32 maxsarg
-AbpD |void |save_long |NN long* longp
-ApMb |void |save_mortalizesv|NN SV* sv
+CbpD |void |save_long |NN long* longp
+CpMb |void |save_mortalizesv|NN SV* sv
AbpD |void |save_nogv |NN GV* gv
: Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
ApMb |void |save_op
Apdh |SV* |save_scalar |NN GV* gv
-Ap |void |save_pptr |NN char** pptr
+Cp |void |save_pptr |NN char** pptr
Ap |void |save_vptr |NN void *ptr
-Ap |void |save_re_context
+Cp |void |save_re_context
Ap |void |save_padsv_and_mortalize|PADOFFSET off
-Ap |void |save_sptr |NN SV** sptr
+Cp |void |save_sptr |NN SV** sptr
Xp |void |save_strlen |NN STRLEN* ptr
Apdh |SV* |save_svref |NN SV** sptr
Axpo |void |savetmps
@@ -1624,7 +1709,7 @@ S |OP* |scalarseq |NULLOK OP* o
p |OP* |scalarvoid |NN OP* o
Apd |NV |scan_bin |NN const char* start|STRLEN len|NN STRLEN* retlen
Apd |NV |scan_hex |NN const char* start|STRLEN len|NN STRLEN* retlen
-Ap |char* |scan_num |NN const char* s|NN YYSTYPE *lvalp
+Cp |char* |scan_num |NN const char* s|NN YYSTYPE *lvalp
Apd |NV |scan_oct |NN const char* start|STRLEN len|NN STRLEN* retlen
Axpd |OP* |op_scope |NULLOK OP* o
: Only used by perl.c/miniperl.c, but defined in caretx.c
@@ -1634,51 +1719,51 @@ Ap |HEK* |share_hek |NN const char* str|SSize_t len|U32 hash
#ifdef PERL_USE_3ARG_SIGHANDLER
: Used in perl.c
Tp |Signal_t |sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
-ATp |Signal_t |csighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
+CTp |Signal_t |csighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
#else
Tp |Signal_t |sighandler |int sig
-ATp |Signal_t |csighandler |int sig
+CTp |Signal_t |csighandler |int sig
#endif
Tp |Signal_t |sighandler1 |int sig
-ATp |Signal_t |csighandler1 |int sig
+CTp |Signal_t |csighandler1 |int sig
Tp |Signal_t |sighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
-ATp |Signal_t |csighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
-ATp |Signal_t |perly_sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap|bool safe
-Ap |SV** |stack_grow |NN SV** sp|NN SV** p|SSize_t n
+CTp |Signal_t |csighandler3 |int sig|NULLOK Siginfo_t *info|NULLOK void *uap
+CTp |Signal_t |perly_sighandler |int sig|NULLOK Siginfo_t *info|NULLOK void *uap|bool safe
+Cp |SV** |stack_grow |NN SV** sp|NN SV** p|SSize_t n
Ap |I32 |start_subparse |I32 is_format|U32 flags
Xp |void |init_named_cv |NN CV *cv|NN OP *nameop
: Used in pp_ctl.c
p |void |sub_crush_depth|NN CV* cv
-ApbMd |bool |sv_2bool |NN SV *const sv
-Apd |bool |sv_2bool_flags |NN SV *sv|I32 flags
+CpbMd |bool |sv_2bool |NN SV *const sv
+Cpd |bool |sv_2bool_flags |NN SV *sv|I32 flags
Apd |CV* |sv_2cv |NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
|const I32 lref
Apd |IO* |sv_2io |NN SV *const sv
#if defined(PERL_IN_SV_C)
S |bool |glob_2number |NN GV* const gv
#endif
-ApMb |IV |sv_2iv |NN SV *sv
+CpMb |IV |sv_2iv |NN SV *sv
Apd |IV |sv_2iv_flags |NN SV *const sv|const I32 flags
Apd |SV* |sv_2mortal |NULLOK SV *const sv
Apd |NV |sv_2nv_flags |NN SV *const sv|const I32 flags
: Used in pp.c, pp_hot.c, sv.c
pxd |SV* |sv_2num |NN SV *const sv
-ApMb |char* |sv_2pv |NN SV *sv|NULLOK STRLEN *lp
-Apd |char* |sv_2pv_flags |NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
+CpMb |char* |sv_2pv |NN SV *sv|NULLOK STRLEN *lp
+Cpd |char* |sv_2pv_flags |NN SV *const sv|NULLOK STRLEN *const lp|const U32 flags
ApdMb |char* |sv_2pvutf8 |NN SV *sv|NULLOK STRLEN *const lp
Ap |char* |sv_2pvutf8_flags |NN SV *sv|NULLOK STRLEN *const lp|const U32 flags
ApdMb |char* |sv_2pvbyte |NN SV *sv|NULLOK STRLEN *const lp
-Ap |char* |sv_2pvbyte_flags |NN SV *sv|NULLOK STRLEN *const lp|const U32 flags
+Apd |char* |sv_2pvbyte_flags |NN SV *sv|NULLOK STRLEN *const lp|const U32 flags
AbpD |char* |sv_pvn_nomg |NN SV* sv|NULLOK STRLEN* lp
-ApMb |UV |sv_2uv |NN SV *sv
+CpMb |UV |sv_2uv |NN SV *sv
Apd |UV |sv_2uv_flags |NN SV *const sv|const I32 flags
-AbpdD |IV |sv_iv |NN SV* sv
-AbpdD |UV |sv_uv |NN SV* sv
-AbpdD |NV |sv_nv |NN SV* sv
-AbpdD |char* |sv_pvn |NN SV *sv|NN STRLEN *lp
-AbpdD |char* |sv_pvutf8n |NN SV *sv|NN STRLEN *lp
-AbpdD |char* |sv_pvbyten |NN SV *sv|NN STRLEN *lp
-Apd |I32 |sv_true |NULLOK SV *const sv
+CbpdD |IV |sv_iv |NN SV* sv
+CbpdD |UV |sv_uv |NN SV* sv
+CbpdD |NV |sv_nv |NN SV* sv
+CbpdD |char* |sv_pvn |NN SV *sv|NN STRLEN *lp
+CbpdD |char* |sv_pvutf8n |NN SV *sv|NN STRLEN *lp
+CbpdD |char* |sv_pvbyten |NN SV *sv|NN STRLEN *lp
+Cpd |I32 |sv_true |NULLOK SV *const sv
#if defined(PERL_IN_SV_C)
Sd |void |sv_add_arena |NN char *const ptr|const U32 size \
|const U32 flags
@@ -1738,7 +1823,7 @@ poxX |void |sv_free2 |NN SV *const sv|const U32 refcnt
: Used only in perl.c
pd |void |sv_free_arenas
Apd |char* |sv_gets |NN SV *const sv|NN PerlIO *const fp|I32 append
-Apd |char* |sv_grow |NN SV *const sv|STRLEN newlen
+Cpd |char* |sv_grow |NN SV *const sv|STRLEN newlen
Apd |void |sv_inc |NULLOK SV *const sv
Apd |void |sv_inc_nomg |NULLOK SV *const sv
ApMdb |void |sv_insert |NN SV *const bigstr|const STRLEN offset \
@@ -1762,7 +1847,7 @@ EXp |MAGIC *|sv_magicext_mglob|NN SV *sv
ApdbMR |SV* |sv_mortalcopy |NULLOK SV *const oldsv
ApdR |SV* |sv_mortalcopy_flags|NULLOK SV *const oldsv|U32 flags
ApdR |SV* |sv_newmortal
-Apd |SV* |sv_newref |NULLOK SV *const sv
+Cpd |SV* |sv_newref |NULLOK SV *const sv
Ap |char* |sv_peek |NULLOK SV* sv
Apd |void |sv_pos_u2b |NULLOK SV *const sv|NN I32 *const offsetp|NULLOK I32 *const lenp
Apd |STRLEN |sv_pos_u2b_flags|NN SV *const sv|STRLEN uoffset \
@@ -1770,9 +1855,11 @@ Apd |STRLEN |sv_pos_u2b_flags|NN SV *const sv|STRLEN uoffset \
Apd |void |sv_pos_b2u |NULLOK SV *const sv|NN I32 *const offsetp
Apd |STRLEN |sv_pos_b2u_flags|NN SV *const sv|STRLEN const offset \
|U32 flags
-ApMdb |char* |sv_pvn_force |NN SV* sv|NULLOK STRLEN* lp
-Apd |char* |sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
-Apd |char* |sv_pvbyten_force|NN SV *const sv|NULLOK STRLEN *const lp
+CpMdb |char* |sv_pvn_force |NN SV* sv|NULLOK STRLEN* lp
+Cpd |char* |sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
+Ip |char* |sv_pvutf8n_force_wrapper|NN SV *const sv|NULLOK STRLEN *const lp|const U32 dummy
+Cpd |char* |sv_pvbyten_force|NN SV *const sv|NULLOK STRLEN *const lp
+Ip |char* |sv_pvbyten_force_wrapper|NN SV *const sv|NULLOK STRLEN *const lp|const U32 dummy
Apd |char* |sv_recode_to_utf8 |NN SV* sv|NN SV *encoding
Apd |bool |sv_cat_decode |NN SV* dsv|NN SV *encoding|NN SV *ssv|NN int *offset \
|NN char* tstr|int tlen
@@ -1801,13 +1888,13 @@ Apd |void |sv_setpvn |NN SV *const sv|NULLOK const char *const ptr|const STRLEN
Apd |char *|sv_setpv_bufsize|NN SV *const sv|const STRLEN cur|const STRLEN len
Xp |void |sv_sethek |NN SV *const sv|NULLOK const HEK *const hek
ApMdb |void |sv_setsv |NN SV *dstr|NULLOK SV *sstr
-ApMdb |void |sv_taint |NN SV* sv
-ApdR |bool |sv_tainted |NN SV *const sv
+CpMdb |void |sv_taint |NN SV* sv
+CpdR |bool |sv_tainted |NN SV *const sv
Apd |int |sv_unmagic |NN SV *const sv|const int type
Apd |int |sv_unmagicext |NN SV *const sv|const int type|NULLOK MGVTBL *vtbl
ApdMb |void |sv_unref |NN SV* sv
Apd |void |sv_unref_flags |NN SV *const ref|const U32 flags
-Apd |void |sv_untaint |NN SV *const sv
+Cpd |void |sv_untaint |NN SV *const sv
Apd |void |sv_upgrade |NN SV *const sv|svtype new_type
ApdMb |void |sv_usepvn |NN SV* sv|NULLOK char* ptr|STRLEN len
Apd |void |sv_usepvn_flags|NN SV *const sv|NULLOK char* ptr|const STRLEN len\
@@ -1821,22 +1908,22 @@ Apd |void |sv_vcatpvfn_flags|NN SV *const sv|NN const char *const pat|const STRL
Apd |void |sv_vsetpvfn |NN SV *const sv|NN const char *const pat|const STRLEN patlen \
|NULLOK va_list *const args|NULLOK SV **const svargs \
|const Size_t sv_count|NULLOK bool *const maybe_tainted
-ApR |NV |str_to_version |NN SV *sv
-Ap |void |regdump |NN const regexp* r
+CpR |NV |str_to_version |NN SV *sv
+Cp |void |regdump |NN const regexp* r
CiTop |struct regexp *|ReANY |NN const REGEXP * const re
-Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
+Adph |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
|NN char* strend|NN char* strbeg \
|SSize_t minend |NN SV* screamer|U32 nosave
Ap |void |pregfree |NULLOK REGEXP* r
-Ap |void |pregfree2 |NN REGEXP *rx
+Cp |void |pregfree2 |NN REGEXP *rx
: FIXME - is anything in re using this now?
EXp |REGEXP*|reg_temp_copy |NULLOK REGEXP* dsv|NN REGEXP* ssv
-Ap |void |regfree_internal|NN REGEXP *const rx
+Cp |void |regfree_internal|NN REGEXP *const rx
#if defined(USE_ITHREADS)
-Ap |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
+Cp |void* |regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
#endif
EXp |regexp_engine const *|current_re_engine
-Ap |REGEXP*|pregcomp |NN SV * const pattern|const U32 flags
+Adph |REGEXP*|pregcomp |NN SV * const pattern|const U32 flags
p |REGEXP*|re_op_compile |NULLOK SV ** const patternp \
|int pat_count|NULLOK OP *expr \
|NN const regexp_engine* eng \
@@ -1852,21 +1939,21 @@ Cp |char* |re_intuit_start|NN REGEXP * const rx \
|const U32 flags \
|NULLOK re_scream_pos_data *data
Cp |SV* |re_intuit_string|NN REGEXP *const r
-Ap |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
+Cp |I32 |regexec_flags |NN REGEXP *const rx|NN char *stringarg \
|NN char *strend|NN char *strbeg \
|SSize_t minend|NN SV *sv \
|NULLOK void *data|U32 flags
-ApR |regnode*|regnext |NULLOK regnode* p
+CpR |regnode*|regnext |NULLOK regnode* p
EXp |SV*|reg_named_buff |NN REGEXP * const rx|NULLOK SV * const key \
|NULLOK SV * const value|const U32 flags
EXp |SV*|reg_named_buff_iter |NN REGEXP * const rx|NULLOK const SV * const lastkey \
|const U32 flags
-Ap |SV*|reg_named_buff_fetch |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
-Ap |bool|reg_named_buff_exists |NN REGEXP * const rx|NN SV * const key|const U32 flags
-Ap |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
-Ap |SV*|reg_named_buff_nextkey |NN REGEXP * const rx|const U32 flags
-Ap |SV*|reg_named_buff_scalar |NN REGEXP * const rx|const U32 flags
-Ap |SV*|reg_named_buff_all |NN REGEXP * const rx|const U32 flags
+Cp |SV*|reg_named_buff_fetch |NN REGEXP * const rx|NN SV * const namesv|const U32 flags
+Cp |bool|reg_named_buff_exists |NN REGEXP * const rx|NN SV * const key|const U32 flags
+Cp |SV*|reg_named_buff_firstkey |NN REGEXP * const rx|const U32 flags
+Cp |SV*|reg_named_buff_nextkey |NN REGEXP * const rx|const U32 flags
+Cp |SV*|reg_named_buff_scalar |NN REGEXP * const rx|const U32 flags
+Cp |SV*|reg_named_buff_all |NN REGEXP * const rx|const U32 flags
: FIXME - is anything in re using this now?
EXp |void|reg_numbered_buff_fetch|NN REGEXP * const rx|const I32 paren|NULLOK SV * const sv
@@ -2337,8 +2424,8 @@ EFp |int |re_exec_indentf|NN const char *fmt|U32 depth|...
EXRp |bool |isFOO_lc |const U8 classnum|const U8 character
#endif
-Ap |void |taint_env
-Ap |void |taint_proper |NULLOK const char* f|NN const char *const s
+Cp |void |taint_env
+Cp |void |taint_proper |NULLOK const char* f|NN const char *const s
EXp |char * |_byte_dump_string \
|NN const U8 * const start \
|const STRLEN len \
@@ -2392,7 +2479,7 @@ pT |bool |translate_substr_offsets|STRLEN curlen|IV pos1_iv \
|NN STRLEN *lenp
#endif
#if defined(UNLINK_ALL_VERSIONS)
-Ap |I32 |unlnk |NN const char* f
+Cp |I32 |unlnk |NN const char* f
#endif
AbpdD |SSize_t|unpack_str |NN const char *pat|NN const char *patend|NN const char *s \
|NULLOK const char *strbeg|NN const char *strend|NULLOK char **new_s \
@@ -2441,7 +2528,7 @@ AdMTp |UV |utf8n_to_uvchr_error|NN const U8 *s \
|NULLOK STRLEN *retlen \
|const U32 flags \
|NULLOK U32 * errors
-AxTdip |UV |utf8n_to_uvchr_msgs|NN const U8 *s \
+ATdip |UV |utf8n_to_uvchr_msgs|NN const U8 *s \
|STRLEN curlen \
|NULLOK STRLEN *retlen \
|const U32 flags \
@@ -2460,7 +2547,7 @@ CdbDp |UV |utf8n_to_uvuni|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32
Adm |U8* |uvchr_to_utf8 |NN U8 *d|UV uv
Cp |U8* |uvuni_to_utf8 |NN U8 *d|UV uv
Adm |U8* |uvchr_to_utf8_flags |NN U8 *d|UV uv|UV flags
-Admx |U8* |uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs
+Adm |U8* |uvchr_to_utf8_flags_msgs|NN U8 *d|UV uv|UV flags|NULLOK HV ** msgs
CMpd |U8* |uvoffuni_to_utf8_flags |NN U8 *d|UV uv|const UV flags
Cp |U8* |uvoffuni_to_utf8_flags_msgs|NN U8 *d|UV uv|const UV flags|NULLOK HV** msgs
CdpbD |U8* |uvuni_to_utf8_flags |NN U8 *d|UV uv|UV flags
@@ -2496,10 +2583,10 @@ p |void |report_redefined_cv|NN const SV *name \
Apd |void |warn_sv |NN SV *baseex
Afpd |void |warn |NN const char* pat|...
Apd |void |vwarn |NN const char* pat|NULLOK va_list* args
-Afp |void |warner |U32 err|NN const char* pat|...
-Afp |void |ck_warner |U32 err|NN const char* pat|...
-Afp |void |ck_warner_d |U32 err|NN const char* pat|...
-Ap |void |vwarner |U32 err|NN const char* pat|NULLOK va_list* args
+Adfp |void |warner |U32 err|NN const char* pat|...
+Adfp |void |ck_warner |U32 err|NN const char* pat|...
+Adfp |void |ck_warner_d |U32 err|NN const char* pat|...
+Adp |void |vwarner |U32 err|NN const char* pat|NULLOK va_list* args
#ifdef USE_C_BACKTRACE
pd |Perl_c_backtrace*|get_c_backtrace|int max_depth|int skip
dm |void |free_c_backtrace|NN Perl_c_backtrace* bt
@@ -2508,10 +2595,10 @@ Apd |bool |dump_c_backtrace|NN PerlIO* fp|int max_depth|int skip
#endif
: FIXME
p |void |watch |NN char** addr
-Am |I32 |whichsig |NN const char* sig
-Ap |I32 |whichsig_sv |NN SV* sigsv
-Ap |I32 |whichsig_pv |NN const char* sig
-Ap |I32 |whichsig_pvn |NN const char* sig|STRLEN len
+Amd |I32 |whichsig |NN const char* sig
+Apd |I32 |whichsig_sv |NN SV* sigsv
+Apd |I32 |whichsig_pv |NN const char* sig
+Apd |I32 |whichsig_pvn |NN const char* sig|STRLEN len
: used to check for NULs in pathnames and other names
AiRdp |bool |is_safe_syscall|NN const char *pv|STRLEN len|NN const char *what|NN const char *op_name
#ifdef PERL_CORE
@@ -2543,18 +2630,13 @@ S |int |yywarn |NN const char *const s|U32 flags
Ap |void |dump_mstats |NN const char* s
Ap |int |get_mstats |NN perl_mstats_t *buf|int buflen|int level
#endif
-ATpa |Malloc_t|safesysmalloc |MEM_SIZE nbytes
-ATpa |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size
-ATpR |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
-ATp |Free_t |safesysfree |Malloc_t where
+ATdpa |Malloc_t|safesysmalloc |MEM_SIZE nbytes
+ATdpa |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size
+ATdpR |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
+AdTp |Free_t |safesysfree |Malloc_t where
CrTp |void |croak_memory_wrap
-#if defined(PERL_GLOBAL_STRUCT)
-Ap |struct perl_vars *|GetVars
-Ap |struct perl_vars*|init_global_struct
-Ap |void |free_global_struct|NN struct perl_vars *plvarsp
-#endif
-Ap |int |runops_standard
-Ap |int |runops_debug
+Cp |int |runops_standard
+Cp |int |runops_debug
Afpd |void |sv_catpvf_mg |NN SV *const sv|NN const char *const pat|...
Apd |void |sv_vcatpvf_mg |NN SV *const sv|NN const char *const pat \
|NULLOK va_list *const args
@@ -2584,29 +2666,29 @@ Apd |char* |pv_pretty |NN SV *dsv|NN char const * const str\
|NULLOK char const * const start_color\
|NULLOK char const * const end_color\
|const U32 flags
-Afp |void |dump_indent |I32 level|NN PerlIO *file|NN const char* pat|...
-Ap |void |dump_vindent |I32 level|NN PerlIO *file|NN const char* pat \
+Cfp |void |dump_indent |I32 level|NN PerlIO *file|NN const char* pat|...
+Cp |void |dump_vindent |I32 level|NN PerlIO *file|NN const char* pat \
|NULLOK va_list *args
-Ap |void |do_gv_dump |I32 level|NN PerlIO *file|NN const char *name\
+Cp |void |do_gv_dump |I32 level|NN PerlIO *file|NN const char *name\
|NULLOK GV *sv
-Ap |void |do_gvgv_dump |I32 level|NN PerlIO *file|NN const char *name\
+Cp |void |do_gvgv_dump |I32 level|NN PerlIO *file|NN const char *name\
|NULLOK GV *sv
-Ap |void |do_hv_dump |I32 level|NN PerlIO *file|NN const char *name\
+Cp |void |do_hv_dump |I32 level|NN PerlIO *file|NN const char *name\
|NULLOK HV *sv
-Ap |void |do_magic_dump |I32 level|NN PerlIO *file|NULLOK const MAGIC *mg|I32 nest \
+Cp |void |do_magic_dump |I32 level|NN PerlIO *file|NULLOK const MAGIC *mg|I32 nest \
|I32 maxnest|bool dumpops|STRLEN pvlim
-Ap |void |do_op_dump |I32 level|NN PerlIO *file|NULLOK const OP *o
-Ap |void |do_pmop_dump |I32 level|NN PerlIO *file|NULLOK const PMOP *pm
-Ap |void |do_sv_dump |I32 level|NN PerlIO *file|NULLOK SV *sv|I32 nest \
+Cp |void |do_op_dump |I32 level|NN PerlIO *file|NULLOK const OP *o
+Cp |void |do_pmop_dump |I32 level|NN PerlIO *file|NULLOK const PMOP *pm
+Cp |void |do_sv_dump |I32 level|NN PerlIO *file|NULLOK SV *sv|I32 nest \
|I32 maxnest|bool dumpops|STRLEN pvlim
Ap |void |magic_dump |NULLOK const MAGIC *mg
-Ap |void |reginitcolors
-ApdRMb |char* |sv_2pv_nolen |NN SV* sv
-ApdRMb |char* |sv_2pvutf8_nolen|NN SV* sv
-ApdRMb |char* |sv_2pvbyte_nolen|NN SV* sv
-ApMdbR |char* |sv_pv |NN SV *sv
-ApMdbR |char* |sv_pvutf8 |NN SV *sv
-ApMdbR |char* |sv_pvbyte |NN SV *sv
+Cp |void |reginitcolors
+CpdRMb |char* |sv_2pv_nolen |NN SV* sv
+CpdRMb |char* |sv_2pvutf8_nolen|NN SV* sv
+CpdRMb |char* |sv_2pvbyte_nolen|NN SV* sv
+CpMdbR |char* |sv_pv |NN SV *sv
+CpMdbR |char* |sv_pvutf8 |NN SV *sv
+CpMdbR |char* |sv_pvbyte |NN SV *sv
ApMdb |STRLEN |sv_utf8_upgrade|NN SV *sv
Amd |STRLEN |sv_utf8_upgrade_nomg|NN SV *sv
ApdMb |bool |sv_utf8_downgrade|NN SV *const sv|const bool fail_ok
@@ -2625,12 +2707,22 @@ AiTMdp |SV * |SvREFCNT_inc_NN|NN SV *sv
AiTMdp |void |SvREFCNT_inc_void|NULLOK SV *sv
AiMdp |void |SvREFCNT_dec |NULLOK SV *sv
AiMdp |void |SvREFCNT_dec_NN|NN SV *sv
-AiTp |void |SvAMAGIC_on |NN SV *sv
-AiTp |void |SvAMAGIC_off |NN SV *sv
+AdiTp |void |SvAMAGIC_on |NN SV *sv
+AdiTp |void |SvAMAGIC_off |NN SV *sv
+Aipd |IV |SvIV |NN SV *sv
+Aipd |UV |SvUV |NN SV *sv
+Aipd |NV |SvNV |NN SV *sv
+Aipd |IV |SvIV_nomg |NN SV *sv
+Aipd |UV |SvUV_nomg |NN SV *sv
+Aipd |NV |SvNV_nomg |NN SV *sv
+Aipd |bool |SvTRUE |NULLOK SV *sv
+Aipd |bool |SvTRUE_nomg |NULLOK SV *sv
+Aipd |bool |SvTRUE_NN |NN SV *sv
+Cip |bool |SvTRUE_common |NN SV *sv|const bool sv_2bool_is_fallback
: This is indirectly referenced by globals.c. This is somewhat annoying.
p |int |magic_killbackrefs|NN SV *sv|NN MAGIC *mg
Ap |OP* |newANONATTRSUB |I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-Am |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
+Adm |CV* |newATTRSUB |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
pdX |CV* |newATTRSUB_x |I32 floor|NULLOK OP *o|NULLOK OP *proto \
|NULLOK OP *attrs|NULLOK OP *block \
|bool o_is_gv
@@ -2640,13 +2732,13 @@ p |CV* |newSTUB |NN GV *gv|bool fake
: Used in perly.y
p |OP * |my_attrs |NN OP *o|NULLOK OP *attrs
#if defined(USE_ITHREADS)
-ApR |PERL_CONTEXT*|cx_dup |NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN CLONE_PARAMS* param
+CpR |PERL_CONTEXT*|cx_dup |NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN CLONE_PARAMS* param
ApR |PERL_SI*|si_dup |NULLOK PERL_SI* si|NN CLONE_PARAMS* param
ApR |ANY* |ss_dup |NN PerlInterpreter* proto_perl|NN CLONE_PARAMS* param
ApR |void* |any_dup |NULLOK void* v|NN const PerlInterpreter* proto_perl
ApR |HE* |he_dup |NULLOK const HE* e|bool shared|NN CLONE_PARAMS* param
ApR |HEK* |hek_dup |NULLOK HEK* e|NN CLONE_PARAMS* param
-Ap |void |re_dup_guts |NN const REGEXP *sstr|NN REGEXP *dstr \
+Adp |void |re_dup_guts |NN const REGEXP *sstr|NN REGEXP *dstr \
|NN CLONE_PARAMS* param
Ap |PerlIO*|fp_dup |NULLOK PerlIO *const fp|const char type|NN CLONE_PARAMS *const param
ApR |DIR* |dirp_dup |NULLOK DIR *const dp|NN CLONE_PARAMS *const param
@@ -3201,7 +3293,7 @@ Apd |void |sv_catpv_flags |NN SV *dstr|NN const char *sstr \
Apd |void |sv_catsv_flags |NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
Amd |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
Adp |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
-Apd |char* |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
+Apd |char* |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const U32 flags
AdpMb |void |sv_copypv |NN SV *const dsv|NN SV *const ssv
Amd |void |sv_copypv_nomg |NN SV *const dsv|NN SV *const ssv
Apd |void |sv_copypv_flags |NN SV *const dsv|NN SV *const ssv|const I32 flags
@@ -3293,8 +3385,8 @@ Sd |PADOFFSET|pad_findlex |NN const char *namepv|STRLEN namelen|U32 flags \
|NN PADNAME** out_name|NN int *out_flags
#endif
#ifdef DEBUGGING
-Apd |SV* |pad_sv |PADOFFSET po
-Apd |void |pad_setsv |PADOFFSET po|NN SV* sv
+Cpd |SV* |pad_sv |PADOFFSET po
+Cpd |void |pad_setsv |PADOFFSET po|NN SV* sv
#endif
pd |void |pad_block_start|int full
Apd |U32 |intro_my
@@ -3318,7 +3410,7 @@ Apd |CV* |cv_clone |NN CV* proto
p |CV* |cv_clone_into |NN CV* proto|NN CV *target
pd |void |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
pdX |void |pad_push |NN PADLIST *padlist|int depth
-ApbdRM |HV* |pad_compname_type|const PADOFFSET po
+ApbdDR |HV* |pad_compname_type|const PADOFFSET po
AxpdRT |PADNAME *|padnamelist_fetch|NN PADNAMELIST *pnl|SSize_t key
Xop |void |padnamelist_free|NN PADNAMELIST *pnl
Axpd |PADNAME **|padnamelist_store|NN PADNAMELIST *pnl|SSize_t key \
@@ -3345,7 +3437,7 @@ pR |int |get_debug_opts |NN const char **s|bool givehelp
#endif
Ap |void |save_set_svflags|NN SV *sv|U32 mask|U32 val
#ifdef DEBUGGING
-Apod |void |hv_assert |NN HV *hv
+Cpod |void |hv_assert |NN HV *hv
#endif
ApdR |SV* |hv_scalar |NN HV *hv
@@ -3384,8 +3476,8 @@ Sxd |SV* |find_uninit_var|NULLOK const OP *const obase \
|NN const char **desc_p
#endif
-Ap |GV* |gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
-Ap |GV* |gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
+Adp |GV* |gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
+Adp |GV* |gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
: Used in sv.c
@@ -3398,8 +3490,8 @@ ApbM |GV* |gv_SVadd |NULLOK GV *gv
#if defined(PERL_IN_UTIL_C)
S |bool |ckwarn_common |U32 w
#endif
-ApoP |bool |ckwarn |U32 w
-ApoP |bool |ckwarn_d |U32 w
+CpoP |bool |ckwarn |U32 w
+CpoP |bool |ckwarn_d |U32 w
: FIXME - exported for ByteLoader - public or private?
XEopxR |STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
|NN const char *const bits|STRLEN size
@@ -3415,13 +3507,8 @@ pTd |bool|quadmath_format_needed|NN const char* format
pe |void |my_clearenv
#ifdef PERL_IMPLICIT_CONTEXT
-#ifdef PERL_GLOBAL_STRUCT_PRIVATE
-Apo |void* |my_cxt_init |NN const char *my_cxt_key|size_t size
-Apo |int |my_cxt_index |NN const char *my_cxt_key
-#else
Apo |void* |my_cxt_init |NN int *indexp|size_t size
#endif
-#endif
#if defined(PERL_IN_UTIL_C)
So |void |xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
|STRLEN xs_len
@@ -3495,9 +3582,9 @@ Apd |void |mro_method_changed_in |NN HV* stash
pde |void |mro_package_moved |NULLOK HV * const stash|NULLOK HV * const oldstash|NN const GV * const gv|U32 flags
: Only used in perl.c
p |void |boot_core_mro
-ApoT |void |sys_init |NN int* argc|NN char*** argv
-ApoT |void |sys_init3 |NN int* argc|NN char*** argv|NN char*** env
-ApoT |void |sys_term
+CpoT |void |sys_init |NN int* argc|NN char*** argv
+CpoT |void |sys_init3 |NN int* argc|NN char*** argv|NN char*** env
+CpoT |void |sys_term
Apxd |const char *|cop_fetch_label|NN COP *const cop \
|NULLOK STRLEN *len|NULLOK U32 *flags
: Only used in op.c and the perl compiler
@@ -3531,29 +3618,29 @@ Apx |void |leave_adjust_stacks|NN SV **from_sp|NN SV **to_sp \
|U8 gimme|int filter
#ifndef PERL_NO_INLINE_FUNCTIONS
-Aixp |U8 |gimme_V |
-Aixp |PERL_CONTEXT * |cx_pushblock|U8 type|U8 gimme|NN SV** sp|I32 saveix
-Aixp |void |cx_popblock|NN PERL_CONTEXT *cx
-Aixp |void |cx_topblock|NN PERL_CONTEXT *cx
-Aixp |void |cx_pushsub |NN PERL_CONTEXT *cx|NN CV *cv \
+Cixp |U8 |gimme_V |
+Cixp |PERL_CONTEXT * |cx_pushblock|U8 type|U8 gimme|NN SV** sp|I32 saveix
+Cixp |void |cx_popblock|NN PERL_CONTEXT *cx
+Cixp |void |cx_topblock|NN PERL_CONTEXT *cx
+Cixp |void |cx_pushsub |NN PERL_CONTEXT *cx|NN CV *cv \
|NULLOK OP *retop|bool hasargs
-Aixp |void |cx_popsub_common|NN PERL_CONTEXT *cx
-Aixp |void |cx_popsub_args |NN PERL_CONTEXT *cx
-Aixp |void |cx_popsub |NN PERL_CONTEXT *cx
-Aixp |void |cx_pushformat |NN PERL_CONTEXT *cx|NN CV *cv \
+Cixp |void |cx_popsub_common|NN PERL_CONTEXT *cx
+Cixp |void |cx_popsub_args |NN PERL_CONTEXT *cx
+Cixp |void |cx_popsub |NN PERL_CONTEXT *cx
+Cixp |void |cx_pushformat |NN PERL_CONTEXT *cx|NN CV *cv \
|NULLOK OP *retop|NULLOK GV *gv
-Aixp |void |cx_popformat |NN PERL_CONTEXT *cx
-Aixp |void |cx_pusheval |NN PERL_CONTEXT *cx \
+Cixp |void |cx_popformat |NN PERL_CONTEXT *cx
+Cixp |void |cx_pusheval |NN PERL_CONTEXT *cx \
|NULLOK OP *retop|NULLOK SV *namesv
-Aixp |void |cx_popeval |NN PERL_CONTEXT *cx
-Aixp |void |cx_pushloop_plain|NN PERL_CONTEXT *cx
-Aixp |void |cx_pushloop_for |NN PERL_CONTEXT *cx \
+Cixp |void |cx_popeval |NN PERL_CONTEXT *cx
+Cixp |void |cx_pushloop_plain|NN PERL_CONTEXT *cx
+Cixp |void |cx_pushloop_for |NN PERL_CONTEXT *cx \
|NN void *itervarp|NULLOK SV *itersave
-Aixp |void |cx_poploop |NN PERL_CONTEXT *cx
-Aixp |void |cx_pushwhen |NN PERL_CONTEXT *cx
-Aixp |void |cx_popwhen |NN PERL_CONTEXT *cx
-Aixp |void |cx_pushgiven |NN PERL_CONTEXT *cx|NULLOK SV *orig_defsv
-Aixp |void |cx_popgiven |NN PERL_CONTEXT *cx
+Cixp |void |cx_poploop |NN PERL_CONTEXT *cx
+Cixp |void |cx_pushwhen |NN PERL_CONTEXT *cx
+Cixp |void |cx_popwhen |NN PERL_CONTEXT *cx
+Cixp |void |cx_pushgiven |NN PERL_CONTEXT *cx|NULLOK SV *orig_defsv
+Cixp |void |cx_popgiven |NN PERL_CONTEXT *cx
#endif
#ifdef USE_DTRACE
@@ -3565,4 +3652,8 @@ XEop |void |dtrace_probe_phase|enum perl_phase phase
XEop |STRLEN*|dup_warnings |NULLOK STRLEN* warnings
+#ifndef USE_ITHREADS
+Amd |void |CopFILEGV_set |NN COP * c|NN GV * gv
+#endif
+
: ex: set ts=8 sts=4 sw=4 noet:
diff --git a/dist/Devel-PPPort/parts/inc/call b/dist/Devel-PPPort/parts/inc/call
index 35258549f8..d1daa6fe3e 100644
--- a/dist/Devel-PPPort/parts/inc/call
+++ b/dist/Devel-PPPort/parts/inc/call
@@ -409,7 +409,7 @@ ok(!eval { $@ = 'string1'; Devel::PPPort::eval_pv('$@ = "string2"; die "string3"
ok($@ =~ /^string3 at \(eval [0-9]+\) line 1\.\n$/);
ok(!eval { Devel::PPPort::eval_pv('die False->new', 1); 1 }, 'check false value is rethrown');
-if ("$]" >= '5.007003' or ("$]" >= '5.006001' and "$]" < '5.007')) {
+if (ivers($]) >= ivers('5.007003') or (ivers($]) >= ivers('5.006001') and ivers($]) < ivers('5.007'))) {
my $hashref = { key => 'value' };
is(eval { Devel::PPPort::eval_pv('die $hashref', 1); 1 }, undef, 'check plain hashref is rethrown');
is(ref($@), 'HASH', 'check $@ is hashref') and
@@ -436,7 +436,7 @@ ok(!eval { $@ = 'string1'; Devel::PPPort::eval_sv('$@ = "string2"; die "string3"
ok($@ =~ /^string3 at \(eval [0-9]+\) line 1\.\n$/);
ok(!eval { Devel::PPPort::eval_sv('die False->new', &Devel::PPPort::G_RETHROW); 1 }, 'check false value is rethrown');
-if ("$]" >= '5.007003' or ("$]" >= '5.006001' and "$]" < '5.007')) {
+if (ivers($]) >= ivers('5.007003') or (ivers($]) >= ivers('5.006001') and ivers($]) < ivers('5.007'))) {
my $hashref = { key => 'value' };
is(eval { Devel::PPPort::eval_sv('die $hashref', &Devel::PPPort::G_RETHROW); 1 }, undef, 'check plain hashref is rethrown');
is(ref($@), 'HASH', 'check $@ is hashref') and
diff --git a/dist/Devel-PPPort/parts/inc/cop b/dist/Devel-PPPort/parts/inc/cop
index c9a92ea3f7..a05865fd11 100644
--- a/dist/Devel-PPPort/parts/inc/cop
+++ b/dist/Devel-PPPort/parts/inc/cop
@@ -182,7 +182,7 @@ print "# $file\n";
ok($file =~ /cop/i);
BEGIN {
- if ("$]" < 5.006000) {
+ if (ivers($]) < ivers('5.006000')) {
skip("Perl version too early", 8);
exit;
}
diff --git a/dist/Devel-PPPort/parts/inc/format b/dist/Devel-PPPort/parts/inc/format
index 094076febe..800e03a35f 100644
--- a/dist/Devel-PPPort/parts/inc/format
+++ b/dist/Devel-PPPort/parts/inc/format
@@ -93,7 +93,7 @@ OUTPUT:
use Config;
-if ("$]" < '5.004') {
+if (ivers($]) < ivers('5.004')) {
skip 'skip: No newSVpvf support', 5;
exit;
}
diff --git a/dist/Devel-PPPort/parts/inc/gv b/dist/Devel-PPPort/parts/inc/gv
index 6f7119a092..a0dc2ea410 100644
--- a/dist/Devel-PPPort/parts/inc/gv
+++ b/dist/Devel-PPPort/parts/inc/gv
@@ -11,13 +11,7 @@
=provides
-GV_NOADD_MASK
-gv_fetchpvn_flags
-GvSVn
-isGV_with_GP
-gv_fetchsv
-get_cvn_flags
-gv_init_pvn
+__UNDEFINED__
=implementation
@@ -25,8 +19,13 @@ gv_init_pvn
#undef gv_fetchpvn_flags
#endif
-__UNDEFINED__ GV_NOADD_MASK 0xE0
-__UNDEFINED__ gv_fetchpvn_flags(name, len, flags, sv_type) gv_fetchpv(SvPVX(sv_2mortal(newSVpvn((name), (len)))), ((flags) & GV_NOADD_MASK) ? FALSE : TRUE, (I32)(sv_type))
+#ifdef GV_NOADD_MASK
+# define D_PPP_GV_NOADD_MASK GV_NOADD_MASK
+#else
+# define D_PPP_GV_NOADD_MASK 0xE0
+#endif
+
+__UNDEFINED__ gv_fetchpvn_flags(name, len, flags, sv_type) gv_fetchpv(SvPVX(sv_2mortal(newSVpvn((name), (len)))), ((flags) & D_PPP_GV_NOADD_MASK) ? FALSE : TRUE, (I32)(sv_type))
__UNDEFINED__ GvSVn(gv) GvSV(gv)
__UNDEFINED__ isGV_with_GP(gv) isGV(gv)
diff --git a/dist/Devel-PPPort/parts/inc/locale b/dist/Devel-PPPort/parts/inc/locale
index 699adfdc39..41e73e34a7 100644
--- a/dist/Devel-PPPort/parts/inc/locale
+++ b/dist/Devel-PPPort/parts/inc/locale
@@ -4,8 +4,7 @@ __UNDEFINED__
=implementation
-
-/* If this doesn't exist, it's not needed, so noop */
+/* If this doesn't exist, it's not needed, so is void noop */
__UNDEFINED__ switch_to_global_locale()
/* Originally, this didn't return a value, but in perls like that, the value
@@ -17,7 +16,7 @@ __UNDEFINED__ switch_to_global_locale()
# if { VERSION >= 5.21.3 }
# undef sync_locale
# define sync_locale() (Perl_sync_locale(aTHX), 1)
-# elif defined(sync_locale) /* These should be the 5.20 maints*/
+# elif defined(sync_locale) /* These should only be the 5.20 maints*/
# undef sync_locale /* Just copy their defn and return 1 */
# define sync_locale() (new_ctype(setlocale(LC_CTYPE, NULL)), \
new_collate(setlocale(LC_COLLATE, NULL)), \
@@ -46,13 +45,13 @@ sync_locale()
use Config;
- # We don't know for sure that we are in the global locale for testing. But
- # if this is unthreaded, it almost certainly is. But Configure can be called
- # to force POSIX locales on unthreaded systems. If this becomes a problem
- # this check could be beefed up.
- if ($Config{usethreads}) {
- ok(1);
+# We don't know for sure that we are in the global locale for testing. But
+# if this is unthreaded, it almost certainly is. But Configure can be called
+# to force POSIX locales on unthreaded systems. If this becomes a problem
+# this check could be beefed up.
+if ($Config{usethreads}) {
+ ok(1, "ironically we have to skip testing sync_locale under threads");
}
else {
- ok(&Devel::PPPort::sync_locale());
+ ok(&Devel::PPPort::sync_locale(), "sync_locale returns TRUE");
}
diff --git a/dist/Devel-PPPort/parts/inc/magic b/dist/Devel-PPPort/parts/inc/magic
index 3d3b740fc7..34e2b1db14 100644
--- a/dist/Devel-PPPort/parts/inc/magic
+++ b/dist/Devel-PPPort/parts/inc/magic
@@ -643,8 +643,8 @@ is($h{sv}, 'Perl');
# v1 is treated as a bareword in older perls...
my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] };
-ok("$]" < 5.009 || $@ eq '');
-ok("$]" < 5.009 || Devel::PPPort::SvVSTRING_mg($ver));
+ok(ivers($]) < ivers("5.009") || $@ eq '');
+ok(ivers($]) < ivers("5.009") || Devel::PPPort::SvVSTRING_mg($ver));
ok(!Devel::PPPort::SvVSTRING_mg(4711));
my $foo = 'bar';
@@ -686,7 +686,7 @@ $fetch = $negative;
is tied($negative)->{fetch}, 1;
is tied($negative)->{store}, 0;
is Devel::PPPort::magic_SvIV_nomg($negative), -1;
-if (ivers($]) >= ivers(5.6)) {
+if (ivers($]) >= ivers("5.6")) {
ok !Devel::PPPort::SVf_IVisUV($negative);
} else {
skip 'SVf_IVisUV is unsupported', 1;
@@ -694,7 +694,7 @@ if (ivers($]) >= ivers(5.6)) {
is tied($negative)->{fetch}, 1;
is tied($negative)->{store}, 0;
Devel::PPPort::magic_SvUV_nomg($negative);
-if (ivers($]) >= ivers(5.6)) {
+if (ivers($]) >= ivers("5.6")) {
ok !Devel::PPPort::SVf_IVisUV($negative);
} else {
skip 'SVf_IVisUV is unsupported', 1;
@@ -708,7 +708,7 @@ $fetch = $big;
is tied($big)->{fetch}, 1;
is tied($big)->{store}, 0;
Devel::PPPort::magic_SvIV_nomg($big);
-if (ivers($]) >= ivers(5.6)) {
+if (ivers($]) >= ivers("5.6")) {
ok Devel::PPPort::SVf_IVisUV($big);
} else {
skip 'SVf_IVisUV is unsupported', 1;
@@ -716,7 +716,7 @@ if (ivers($]) >= ivers(5.6)) {
is tied($big)->{fetch}, 1;
is tied($big)->{store}, 0;
is Devel::PPPort::magic_SvUV_nomg($big), Devel::PPPort::above_IV_MAX();
-if (ivers($]) >= ivers(5.6)) {
+if (ivers($]) >= ivers("5.6")) {
ok Devel::PPPort::SVf_IVisUV($big);
} else {
skip 'SVf_IVisUV is unsupported', 1;
diff --git a/dist/Devel-PPPort/parts/inc/mess b/dist/Devel-PPPort/parts/inc/mess
index 14c7def17a..fccec70297 100644
--- a/dist/Devel-PPPort/parts/inc/mess
+++ b/dist/Devel-PPPort/parts/inc/mess
@@ -313,7 +313,7 @@ CODE:
=tests plan => 102
-BEGIN { if ("$]" < '5.006') { $^W = 0; } }
+BEGIN { if (ivers($]) < ivers('5.006')) { $^W = 0; } }
my $warn;
my $die;
@@ -435,17 +435,17 @@ ok Devel::PPPort::mess_sv(do {my $tmp = "\xE1"}, 1) =~ /^\xE1 at \Q$0\E line /;
ok Devel::PPPort::mess_sv("\xC3\xA1", 0) =~ /^\xC3\xA1 at \Q$0\E line /;
ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1"}, 1) =~ /^\xC3\xA1 at \Q$0\E line /;
-if ("$]" >= '5.006') {
- BEGIN { if ("$]" >= '5.006' && "$]" < '5.008') { require utf8; utf8->import(); } }
+if (ivers($]) >= ivers('5.006')) {
+ BEGIN { if (ivers($]) >= ivers('5.006') && ivers($]) < ivers('5.008')) { require utf8; utf8->import(); } }
undef $die;
ok !defined eval { Devel::PPPort::croak_sv("\x{100}\n") };
- if ("$]" < '5.007001' || "$]" > '5.007003') {
+ if (ivers($]) < ivers('5.007001') || ivers($]) > ivers('5.007003')) {
is $@, "\x{100}\n";
} else {
skip 'skip: broken utf8 support in die hook', 1;
}
- if ("$]" < '5.007001' || "$]" > '5.008') {
+ if (ivers($]) < ivers('5.007001') || ivers($]) > ivers('5.008')) {
is $die, "\x{100}\n";
} else {
skip 'skip: broken utf8 support in die hook', 1;
@@ -453,18 +453,18 @@ if ("$]" >= '5.006') {
undef $die;
ok !defined eval { Devel::PPPort::croak_sv("\x{100}") };
- if ("$]" < '5.007001' || "$]" > '5.007003') {
+ if (ivers($]) < ivers('5.007001') || ivers($]) > ivers('5.007003')) {
ok $@ =~ /^\x{100} at \Q$0\E line /;
} else {
skip 'skip: broken utf8 support in die hook', 1;
}
- if ("$]" < '5.007001' || "$]" > '5.008') {
+ if (ivers($]) < ivers('5.007001') || ivers($]) > ivers('5.008')) {
ok $die =~ /^\x{100} at \Q$0\E line /;
} else {
skip 'skip: broken utf8 support in die hook', 1;
}
- if ("$]" < '5.007001' || "$]" > '5.008') {
+ if (ivers($]) < ivers('5.007001') || ivers($]) > ivers('5.008')) {
undef $warn;
Devel::PPPort::warn_sv("\x{100}\n");
is $warn, "\x{100}\n";
@@ -487,9 +487,9 @@ if ("$]" >= '5.006') {
if (ord('A') != 65) {
skip 'skip: no ASCII support', 24;
-} elsif ( "$]" >= '5.008'
- && "$]" != '5.013000' # Broken in these ranges
- && ! ("$]" >= '5.011005' && "$]" <= '5.012000'))
+} elsif ( ivers($]) >= ivers('5.008')
+ && ivers($]) != ivers('5.013000') # Broken in these ranges
+ && ! (ivers($]) >= ivers('5.011005') && ivers($]) <= ivers('5.012000')))
{
undef $die;
ok !defined eval { Devel::PPPort::croak_sv(eval '"\N{U+E1}\n"') };
@@ -533,7 +533,7 @@ if (ord('A') != 65) {
Devel::PPPort::warn_sv("\xC3\xA1");
ok $warn =~ eval 'qr/^\N{U+C3}\N{U+A1} at \Q$0\E line /';
- if ("$]" < '5.004') {
+ if (ivers($]) < ivers('5.004')) {
skip 'skip: no support for mess_sv', 8;
}
else {
@@ -553,7 +553,7 @@ if (ord('A') != 65) {
skip 'skip: no support for \N{U+..} syntax', 24;
}
-if ("$]" >= '5.007003' or ("$]" >= '5.006001' and "$]" < '5.007')) {
+if (ivers($]) >= ivers('5.007003') or (ivers($]) >= ivers('5.006001') and ivers($]) < ivers('5.007'))) {
undef $die;
ok !defined eval { Devel::PPPort::croak_sv($scalar_ref) };
ok $@ == $scalar_ref;
diff --git a/dist/Devel-PPPort/parts/inc/misc b/dist/Devel-PPPort/parts/inc/misc
index dce0b906f6..78f55edeb0 100644
--- a/dist/Devel-PPPort/parts/inc/misc
+++ b/dist/Devel-PPPort/parts/inc/misc
@@ -67,7 +67,6 @@ __UNDEF_NOT_PROVIDED__ withinCOUNT(c, l, n) \
(((WIDEST_UTYPE) (((c)) - ((l) | 0))) <= (((WIDEST_UTYPE) ((n) | 0))))
__UNDEF_NOT_PROVIDED__ inRANGE(c, l, u) \
( (sizeof(c) == sizeof(U8)) ? withinCOUNT(((U8) (c)), (l), ((u) - (l))) \
- : (sizeof(c) == sizeof(U16)) ? withinCOUNT(((U16) (c)), (l), ((u) - (l))) \
: (sizeof(c) == sizeof(U32)) ? withinCOUNT(((U32) (c)), (l), ((u) - (l))) \
: (withinCOUNT(((WIDEST_UTYPE) (c)), (l), ((u) - (l)))))
@@ -274,6 +273,7 @@ __UNDEFINED__ AvFILLp AvFILL
__UNDEFINED__ av_tindex AvFILL
__UNDEFINED__ av_top_index AvFILL
+__UNDEFINED__ av_count(av) (AvFILL(av)+1)
__UNDEFINED__ ERRSV get_sv("@",FALSE)
@@ -2527,7 +2527,15 @@ av_top_index(av)
OUTPUT:
RETVAL
-=tests plan => 26826
+STRLEN
+av_count(av)
+ SV *av
+ CODE:
+ RETVAL = av_count((AV*)SvRV(av));
+ OUTPUT:
+ RETVAL
+
+=tests plan => 26827
use vars qw($my_sv @my_av %my_hv);
@@ -2973,3 +2981,4 @@ for $name (keys %case_changing) {
is(&Devel::PPPort::av_top_index([1,2,3]), 2);
is(&Devel::PPPort::av_tindex([1,2,3,4]), 3);
+is(&Devel::PPPort::av_count([1,2,3,4]), 4);
diff --git a/dist/Devel-PPPort/parts/inc/newSVpv b/dist/Devel-PPPort/parts/inc/newSVpv
index 22e2fb6daa..c17b6c9f35 100644
--- a/dist/Devel-PPPort/parts/inc/newSVpv
+++ b/dist/Devel-PPPort/parts/inc/newSVpv
@@ -88,7 +88,7 @@ ok(!defined($s[4]));
ok(@s == 1);
is($s[0], "test");
-if ("$]" >= 5.008001) {
+if (ivers($]) >= ivers("5.008001")) {
require utf8;
ok(utf8::is_utf8($s[0]));
}
diff --git a/dist/Devel-PPPort/parts/inc/ppphbin b/dist/Devel-PPPort/parts/inc/ppphbin
index a9f6ff661d..5ac6ee8eae 100644
--- a/dist/Devel-PPPort/parts/inc/ppphbin
+++ b/dist/Devel-PPPort/parts/inc/ppphbin
@@ -18,7 +18,7 @@ use strict;
BEGIN { require warnings if "$]" > '5.006' }
# Disable broken TRIE-optimization
-BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if "$]" >= 5.009004 && "$]" <= 5.009005 }
+BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if "$]" >= "5.009004" && "$]" <= "5.009005"}
my $VERSION = __VERSION__;
@@ -92,7 +92,7 @@ my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
(index($4, 'V') >= 0 ? ( unverified => 1 ) : ()),
} )
: die "invalid spec: $_" } qw(
-__PERL_API__
+__ALL_ELEMENTS__
);
if (exists $opt{'list-unsupported'}) {
@@ -104,7 +104,9 @@ if (exists $opt{'list-unsupported'}) {
next if $API{$f}{experimental};
next unless $API{$f}{todo};
next if int_parse_version($API{$f}{todo}) <= $int_min_perl;
- print "$f ", '.'x(40-length($f)), " ", format_version($API{$f}{todo}), "\n";
+ my $repeat = 40 - length($f);
+ $repeat = 0 if $repeat < 0;
+ print "$f ", '.'x $repeat, " ", format_version($API{$f}{todo}), "\n";
}
exit 0;
}
@@ -117,7 +119,7 @@ my($hint, $define, $function);
sub find_api
{
- BEGIN { 'warnings'->unimport('uninitialized') if "$]" > 5.006 }
+ BEGIN { 'warnings'->unimport('uninitialized') if "$]" > '5.006' }
my $code = shift;
$code =~ s{
/ (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
@@ -216,7 +218,6 @@ while (<DATA>) {
# Set $replace to the number given for lines that look like
# / * Replace: \d+ * /
- # (blanks added to keep real C comments from appearing in this file)
# Thus setting it to 1 starts a region where replacements are automatically
# done, and setting it to 0 ends that region.
$replace = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$};
@@ -226,17 +227,14 @@ while (<DATA>) {
$replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)};
# Add bar => foo to %replace for lines like '#define foo bar / * Replace * /
- # (blanks added to keep real C comments from appearing in this file)
$replace{$2} = $1 if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+).*$rccs\s+Replace\s+$rcce};
# Add foo => bar to %replace for lines like / * Replace foo with bar * /
- # (blanks added to keep real C comments from appearing in this file)
- $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+)\s+$rcce\s*$};
+ $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+.*?)\s+$rcce\s*$};
# For lines like / * foo, bar depends on baz, bat * /
# create a list of the elements on the rhs, and make that list apply to each
# element in the lhs, which becomes a key in \%depends.
- # (blanks added to keep real C comments from appearing in this file)
if (m{^\s*$rccs\s+(\w+(\s*,\s*\w+)*)\s+depends\s+on\s+(\w+(\s*,\s*\w+)*)\s+$rcce\s*$}) {
my @deps = map { s/\s+//g; $_ } split /,/, $3;
my $d;
@@ -257,8 +255,29 @@ if (exists $opt{'api-info'}) {
my $f;
my $count = 0;
my $match = $opt{'api-info'} =~ m!^/(.*)/$! ? $1 : "^\Q$opt{'api-info'}\E\$";
+
+ # Sort the names, and split into two classes; one for things that are part of
+ # the API; a second for things that aren't.
+ my @ok_to_use;
+ my @shouldnt_use;
for $f (sort dictionary_order keys %API) {
next unless $f =~ /$match/;
+ my $base = int_parse_version($API{$f}{base}) if $API{$f}{base};
+ if ($base && ! $API{$f}{inaccessible} && ! $API{$f}{core_only}) {
+ push @ok_to_use, $f;
+ }
+ else {
+ push @shouldnt_use, $f;
+ }
+ }
+
+ # We normally suppress non-API items. But if the search matched no API
+ # items, output the non-ones. This allows someone to get the info for an
+ # item if they ask for it specifically enough, but doesn't normally clutter
+ # the output with irrelevant results.
+ @ok_to_use = @shouldnt_use unless @ok_to_use;
+
+ for $f (@ok_to_use) {
print "\n=== $f ===\n";
my $info = 0;
my $base;
@@ -266,8 +285,8 @@ if (exists $opt{'api-info'}) {
my $todo;
$todo = int_parse_version($API{$f}{todo}) if $API{$f}{todo};
- # Output information if it is generally publicly usable
- if ($base && ! $API{$f}{inaccessible} && ! $API{$f}{core_only}) {
+ # Output information
+ if ($base) {
my $with_or= "";
if ( $base <= $int_min_perl
|| ( (! $API{$f}{provided} && ! $todo)
@@ -275,7 +294,9 @@ if (exists $opt{'api-info'}) {
{
$with_or= " with or";
}
- print "\nSupported at least since perl-",
+
+ my $Supported = ($API{$f}{undocumented}) ? 'Available' : 'Supported';
+ print "\n$Supported at least since perl-",
format_version($base), ",$with_or without $ppport.";
if ($API{$f}{unverified}) {
print "\nThis information is based on inspection of the source code",
diff --git a/dist/Devel-PPPort/parts/inc/ppphdoc b/dist/Devel-PPPort/parts/inc/ppphdoc
index 57aa6ad594..eae4afc7d6 100644
--- a/dist/Devel-PPPort/parts/inc/ppphdoc
+++ b/dist/Devel-PPPort/parts/inc/ppphdoc
@@ -54,7 +54,8 @@ ppport.h - Perl/Pollution/Portability version __VERSION__
from ppport.h
--list-provided list provided API
- --list-unsupported list unsupported API
+ --list-unsupported list API that isn't supported all the way
+ back
--api-info=name show Perl API portability information
=head1 COMPATIBILITY
@@ -155,16 +156,23 @@ if it has dependencies, and if there are hints or warnings for it.
=head2 --list-unsupported
-Lists the API elements that are known not to be supported by
-F<ppport.h> and below which version of Perl they probably
-won't be available or work.
+Lists the API elements that are known not to be FULLY supported by F<ppport.h>,
+and below which version of Perl they probably won't be available or work.
+By FULLY, we mean that support isn't provided all the way back to the first
+version of Perl that F<ppport.h> supports at all.
=head2 --api-info=I<name>
-Show portability information for API elements matching I<name>.
+Show portability information for elements matching I<name>.
If I<name> is surrounded by slashes, it is interpreted as a regular
expression.
+Normally, only API elements are shown, but if there are no matching API
+elements but there are some other matching elements, those are shown. This
+allows you to conveniently find when functions internal to the core
+implementation were added; only people working on the core are likely to find
+this last part useful.
+
=head1 DESCRIPTION
In order for a Perl extension (XS) module to be as portable as possible
@@ -192,6 +200,50 @@ will provide wrappers for older Perl versions.
=item *
+Although the purpose of F<ppport.h> is to keep you from having to concern
+yourself with what version you are running under, there may arise instances
+where you have to do so. These macros, the same ones as in base Perl, are
+available to you in all versions, and are what you should use:
+
+=over 4
+
+=item C<PERL_VERSION_I<xx>(major, minor, patch)>
+
+Returns whether or not the perl currently being compiled has the specified
+relationship I<xx> to the perl given by the parameters. I<xx> is one of
+C<EQ>, C<NE>, C<LT>, C<LE>, C<GT>, C<GE>.
+
+For example,
+
+ #if PERL_VERSION_GT(5,24,2)
+ code that will only be compiled on perls after v5.24.2
+ #else
+ fallback code
+ #endif
+
+Note that this is usable in making compile-time decisions
+
+You may use the special value '*' for the final number to mean ALL possible
+values for it. Thus,
+
+ #if PERL_VERSION_EQ(5,31,'*')
+
+means all perls in the 5.31 series. And
+
+ #if PERL_VERSION_NE(5,24,'*')
+
+means all perls EXCEPT 5.24 ones. And
+
+ #if PERL_VERSION_LE(5,9,'*')
+
+is effectively
+
+ #if PERL_VERSION_LT(5,10,0)
+
+=back
+
+=item *
+
If you use one of a few functions or variables that were not present in
earlier versions of Perl, and that can't be provided using a macro, you
have to explicitly request support for these functions by adding one or
@@ -301,7 +353,7 @@ before sending a bug report.
If F<ppport.h> was generated using the latest version of
C<Devel::PPPort> and is causing failure of this module, please
-send a bug report to L<perlbug@perl.org|mailto:perlbug@perl.org>.
+file a bug report at L<https://github.com/Dual-Life/Devel-PPPort/issues>
Please include the following information:
diff --git a/dist/Devel-PPPort/parts/inc/ppphtest b/dist/Devel-PPPort/parts/inc/ppphtest
index 849eb16109..cf64ab0071 100644
--- a/dist/Devel-PPPort/parts/inc/ppphtest
+++ b/dist/Devel-PPPort/parts/inc/ppphtest
@@ -680,7 +680,10 @@ my %p;
my $fail = 0;
for (@o) {
my($name, $flags) = /^(\w+)(?:\s+\[(\w+(?:,\s+\w+)*)\])?$/ or $fail++;
- { exists $p{$name} and $fail++; }
+ {
+ 'warnings'->unimport('uninitialized') if ivers($]) > ivers('5.006');
+ exists $p{$name} and $fail++;
+ }
$p{$name} = defined $flags ? { map { ($_ => 1) } $flags =~ /(\w+)/g } : '';
}
ok(@o > 100);
@@ -720,7 +723,7 @@ my @o = ppport(qw(--list-unsupported));
my %p;
my $fail = 0;
for (@o) {
- my($name, $ver) = /^(\w+)\s*\.+\s*([\d._]+)$/ or $fail++;
+ my($name, $ver) = /^(\w+)\s*\.*\s*([\d._]+)$/ or $fail++;
{ exists $p{$name} and $fail++; }
$p{$name} = $ver;
}
diff --git a/dist/Devel-PPPort/parts/inc/pv_tools b/dist/Devel-PPPort/parts/inc/pv_tools
index c523d1c59a..baa3732b8b 100644
--- a/dist/Devel-PPPort/parts/inc/pv_tools
+++ b/dist/Devel-PPPort/parts/inc/pv_tools
@@ -252,7 +252,7 @@ pv_display()
my $uni = &Devel::PPPort::pv_escape_can_unicode();
# sanity check
-ok($uni ? "$]" >= 5.006 : "$]" < 5.008);
+ok($uni ? ivers($]) >= ivers("5.006") : ivers($]) < ivers("5.008"));
my @r;
diff --git a/dist/Devel-PPPort/parts/inc/sv_xpvf b/dist/Devel-PPPort/parts/inc/sv_xpvf
index c71e805004..23b0da32c9 100644
--- a/dist/Devel-PPPort/parts/inc/sv_xpvf
+++ b/dist/Devel-PPPort/parts/inc/sv_xpvf
@@ -283,24 +283,24 @@ tie %h, 'Tie::StdHash';
$h{foo} = 'foo-';
$h{bar} = '';
-is(&Devel::PPPort::vnewSVpvf(), "$]" >= 5.004 ? 'Perl-42' : '%s-%d');
-is(&Devel::PPPort::sv_vcatpvf('1-2-3-'), "$]" >= 5.004 ? '1-2-3-Perl-42' : '1-2-3-%s-%d');
-is(&Devel::PPPort::sv_vsetpvf('1-2-3-'), "$]" >= 5.004 ? 'Perl-42' : '%s-%d');
+is(&Devel::PPPort::vnewSVpvf(), ivers($]) >= ivers("5.004") ? 'Perl-42' : '%s-%d');
+is(&Devel::PPPort::sv_vcatpvf('1-2-3-'), ivers($]) >= ivers("5.004") ? '1-2-3-Perl-42' : '1-2-3-%s-%d');
+is(&Devel::PPPort::sv_vsetpvf('1-2-3-'), ivers($]) >= ivers("5.004") ? 'Perl-42' : '%s-%d');
&Devel::PPPort::sv_catpvf_mg($h{foo});
-is($h{foo}, "$]" >= 5.004 ? 'foo-Perl-42' : 'foo-');
+is($h{foo}, ivers($]) >= ivers("5.004") ? 'foo-Perl-42' : 'foo-');
&Devel::PPPort::Perl_sv_catpvf_mg($h{foo});
-is($h{foo}, "$]" >= 5.004 ? 'foo-Perl-42-Perl-43' : 'foo-');
+is($h{foo}, ivers($]) >= ivers("5.004") ? 'foo-Perl-42-Perl-43' : 'foo-');
&Devel::PPPort::sv_catpvf_mg_nocontext($h{foo});
-is($h{foo}, "$]" >= 5.004 ? 'foo-Perl-42-Perl-43-Perl-44' : 'foo-');
+is($h{foo}, ivers($]) >= ivers("5.004") ? 'foo-Perl-42-Perl-43-Perl-44' : 'foo-');
&Devel::PPPort::sv_setpvf_mg($h{bar});
-is($h{bar}, "$]" >= 5.004 ? 'mhx-42' : '');
+is($h{bar}, ivers($]) >= ivers("5.004") ? 'mhx-42' : '');
&Devel::PPPort::Perl_sv_setpvf_mg($h{bar});
-is($h{bar}, "$]" >= 5.004 ? 'foo-43' : '');
+is($h{bar}, ivers($]) >= ivers("5.004") ? 'foo-43' : '');
&Devel::PPPort::sv_setpvf_mg_nocontext($h{bar});
-is($h{bar}, "$]" >= 5.004 ? 'bar-44' : '');
+is($h{bar}, ivers($]) >= ivers("5.004") ? 'bar-44' : '');
diff --git a/dist/Devel-PPPort/parts/inc/uv b/dist/Devel-PPPort/parts/inc/uv
index 96145e6833..9332c21255 100644
--- a/dist/Devel-PPPort/parts/inc/uv
+++ b/dist/Devel-PPPort/parts/inc/uv
@@ -152,7 +152,7 @@ my_strnlen(s, max)
=tests plan => 11
-BEGIN { require warnings if "$]" > '5.006' }
+BEGIN { require warnings if ivers($]) > ivers('5.006') }
is(&Devel::PPPort::sv_setuv(42), 42);
is(&Devel::PPPort::newSVuv(123), 123);
diff --git a/dist/Devel-PPPort/parts/inc/variables b/dist/Devel-PPPort/parts/inc/variables
index cc984c852b..08c26e56ec 100644
--- a/dist/Devel-PPPort/parts/inc/variables
+++ b/dist/Devel-PPPort/parts/inc/variables
@@ -445,7 +445,7 @@ ok(!&Devel::PPPort::PL_sv_no());
is(&Devel::PPPort::PL_na("abcd"), 4);
is(&Devel::PPPort::PL_Sv(), "mhx");
ok(defined &Devel::PPPort::PL_tokenbuf());
-ok("$]" >= 5.009005 || &Devel::PPPort::PL_parser());
+ok(ivers($]) >= ivers("5.009005") || &Devel::PPPort::PL_parser());
ok(&Devel::PPPort::PL_hexdigit() =~ /^[0-9a-zA-Z]+$/);
ok(defined &Devel::PPPort::PL_hints());
is(&Devel::PPPort::PL_ppaddr("mhx"), "MHX");
@@ -461,7 +461,7 @@ for (&Devel::PPPort::other_variables()) {
local $SIG{'__WARN__'} = sub { push @w, @_ };
ok(&Devel::PPPort::dummy_parser_warning());
}
- if ("$]" >= 5.009005) {
+ if (ivers($]) >= ivers("5.009005")) {
ok(@w >= 0);
for (@w) {
print "# $_";
@@ -477,11 +477,11 @@ for (&Devel::PPPort::other_variables()) {
is($fail, 0);
}
-ok(&Devel::PPPort::no_dummy_parser_vars(1) >= ("$]" < 5.009005 ? 1 : 0));
+ok(&Devel::PPPort::no_dummy_parser_vars(1) >= (ivers($]) < ivers("5.009005") ? 1 : 0));
eval { &Devel::PPPort::no_dummy_parser_vars(0) };
-if ("$]" < 5.009005) {
+if (ivers($]) < ivers("5.009005")) {
is($@, '');
}
else {
diff --git a/dist/Devel-PPPort/parts/inc/version b/dist/Devel-PPPort/parts/inc/version
index 053a082a6b..421a3aa541 100644
--- a/dist/Devel-PPPort/parts/inc/version
+++ b/dist/Devel-PPPort/parts/inc/version
@@ -11,43 +11,136 @@
=provides
-PERL_REVISION
-PERL_VERSION
-PERL_SUBVERSION
-PERL_BCDVERSION
__UNDEFINED__
=dontwarn
+## We don't want people to be using these symbols so even though we provide
+## them, we don't publicly mention them
+
+PERL_REVISION
+PERL_VERSION
+PERL_SUBVERSION
PERL_PATCHLEVEL_H_IMPLICIT
=implementation
-#ifndef PERL_REVISION
-# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))
+#define D_PPP_RELEASE_DATE 1597017600 /* 2020-08-10 */
+
+#if ! defined(PERL_REVISION) && ! defined(PERL_VERSION_MAJOR)
+# if ! defined(__PATCHLEVEL_H_INCLUDED__) \
+ && ! ( defined(PATCHLEVEL) && defined(SUBVERSION))
# define PERL_PATCHLEVEL_H_IMPLICIT
# include <patchlevel.h>
# endif
-# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))
+# if ! defined(PERL_VERSION) \
+ && ! defined(PERL_VERSION_MAJOR) \
+ && ( ! defined(SUBVERSION) || ! defined(PATCHLEVEL) )
# include <could_not_find_Perl_patchlevel.h>
# endif
-# ifndef PERL_REVISION
-# define PERL_REVISION (5)
- /* Replace: 1 */
-# define PERL_VERSION PATCHLEVEL
-# define PERL_SUBVERSION SUBVERSION
- /* Replace PERL_PATCHLEVEL with PERL_VERSION */
- /* Replace: 0 */
+#endif
+
+#ifdef PERL_VERSION_MAJOR
+# define D_PPP_MAJOR PERL_VERSION_MAJOR
+#elif defined(PERL_REVISION)
+# define D_PPP_MAJOR PERL_REVISION
+#else
+# define D_PPP_MAJOR 5
+#endif
+
+#ifdef PERL_VERSION_MINOR
+# define D_PPP_MINOR PERL_VERSION_MINOR
+#elif defined(PERL_VERSION)
+# define D_PPP_MINOR PERL_VERSION
+#elif defined(PATCHLEVEL)
+# define D_PPP_MINOR PATCHLEVEL
+# define PERL_VERSION PATCHLEVEL /* back-compat */
+#else
+# error Could not find a source for PERL_VERSION_MINOR
+#endif
+
+#ifdef PERL_VERSION_PATCH
+# define D_PPP_PATCH PERL_VERSION_PATCH
+#elif defined(PERL_SUBVERSION)
+# define D_PPP_PATCH PERL_SUBVERSION
+#elif defined(SUBVERSION)
+# define D_PPP_PATCH SUBVERSION
+# define PERL_SUBVERSION SUBVERSION /* back-compat */
+#else
+# error Could not find a source for PERL_VERSION_PATCH
+#endif
+
+#if D_PPP_MAJOR < 5 || D_PPP_MAJOR == 6
+# error Devel::PPPort works only on Perl 5, Perl 7, ...
+#elif D_PPP_MAJOR != 5
+ /* Perl 7 and above: the old forms are deprecated, set up so that they
+ * assume Perl 5, and will make this look like 5.201.201.
+ *
+ * 201 is used so will be well above anything that would come from a 5
+ * series if we unexpectedly have to continue it, but still gives plenty of
+ * room, up to 255, of numbers that will fit into a byte in case there is
+ * something else unforeseen */
+# undef PERL_REVISION
+# undef PERL_VERSION
+# undef PERL_SUBVERSION
+# define D_PPP_REVISION 5
+# define D_PPP_VERSION 201
+# define D_PPP_SUBVERSION 201
+# if (defined(__clang__) /* _Pragma here doesn't work with gcc */ \
+ && ( (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
+ || defined(_STDC_C99) \
+ || defined(__c99)))
+# define D_PPP_STRINGIFY(x) #x
+# define D_PPP_deprecate(xyz) _Pragma(D_PPP_STRINGIFY(GCC warning(D_PPP_STRINGIFY(xyz) " is deprecated")))
+# define PERL_REVISION (D_PPP_REVISION D_PPP_deprecate(PERL_REVISION))
+# define PERL_VERSION (D_PPP_REVISION D_PPP_deprecate(PERL_VERSION))
+# define PERL_SUBVERSION (D_PPP_SUBVERSION D_PPP_deprecate(PERL_SUBVERSION))
+# else
+# define PERL_REVISION D_PPP_REVISION
+# define PERL_VERSION D_PPP_REVISION
+# define PERL_SUBVERSION D_PPP_SUBVERSION
# endif
#endif
+/* Replace PERL_PATCHLEVEL with PERL_VERSION_xy(5,a,b) (where xy is EQ,LT,GT...) */
+/* Replace PATCHLEVEL with PERL_VERSION_xy(5,a,b) (where xy is EQ,LT,GT...) */
+/* Replace SUBVERSION with PERL_VERSION_xy(5,a,b) (where xy is EQ,LT,GT...) */
+/* Replace PERL_REVISION with PERL_VERSION_xy(a,b,c) (where xy is EQ,LT,GT...) */
+/* Replace PERL_VERSION with PERL_VERSION_xy(5,a,b) (where xy is EQ,LT,GT...) */
+/* Replace PERL_SUBVERSION with PERL_VERSION_xy(5,a,b) (where xy is EQ,LT,GT...) */
+
#define D_PPP_DEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10))
-#define D_PPP_RVS_TO_BCD(r,v,s) ((D_PPP_DEC2BCD(r)<<24)|(D_PPP_DEC2BCD(v)<<12)|D_PPP_DEC2BCD(s))
-#define PERL_BCDVERSION D_PPP_RVS_TO_BCD(PERL_REVISION, PERL_VERSION, PERL_SUBVERSION)
-
-__UNDEFINED__ PERL_VERSION_EQ(r,v,s) (PERL_BCDVERSION == D_PPP_RVS_TO_BCD(r,v,s))
-__UNDEFINED__ PERL_VERSION_NE(r,v,s) (! PERL_VERSION_EQ(r,v,s))
-__UNDEFINED__ PERL_VERSION_LT(r,v,s) (PERL_BCDVERSION < D_PPP_RVS_TO_BCD(r,v,s))
-__UNDEFINED__ PERL_VERSION_LE(r,v,s) (PERL_BCDVERSION <= D_PPP_RVS_TO_BCD(r,v,s))
-__UNDEFINED__ PERL_VERSION_GT(r,v,s) (! PERL_VERSION_LE(r,v,s))
-__UNDEFINED__ PERL_VERSION_GE(r,v,s) (! PERL_VERSION_LT(r,v,s))
+#define D_PPP_JNP_TO_BCD(j,n,p) ((D_PPP_DEC2BCD(j)<<24)|(D_PPP_DEC2BCD(n)<<12)|D_PPP_DEC2BCD(p))
+#define D_PPP_BCDVERSION D_PPP_JNP_TO_BCD(D_PPP_MAJOR, \
+ D_PPP_MINOR, \
+ D_PPP_PATCH)
+
+/* These differ from the versions outside D:P in using D_PPP_BCDVERSION instead
+ * of PERL_DECIMAL_VERSION. The formats printing in this module assume BCD, so
+ * always use it */
+#undef PERL_VERSION_EQ
+#undef PERL_VERSION_NE
+#undef PERL_VERSION_LT
+#undef PERL_VERSION_GE
+#undef PERL_VERSION_LE
+#undef PERL_VERSION_GT
+
+/* N.B. These don't work if the patch number is 42 or 92, as those are what '*'
+ * is in ASCII and EBCDIC respectively */
+__UNDEFINED__ PERL_VERSION_EQ(j,n,p) \
+ (((p) == '*') ? ( (j) == D_PPP_VERSION_MAJOR \
+ && (n) == D_PPP_VERSION_MINOR) \
+ : (D_PPP_BCDVERSION == D_PPP_JNP_TO_BCD(j,n,p)))
+__UNDEFINED__ PERL_VERSION_NE(j,n,p) (! PERL_VERSION_EQ(j,n,p))
+
+__UNDEFINED__ PERL_VERSION_LT(j,n,p) /* p=='*' means _LT(j,n,0) */ \
+ (D_PPP_BCDVERSION < D_PPP_JNP_TO_BCD( (j), \
+ (n), \
+ (((p) == '*') ? 0 : (p))))
+__UNDEFINED__ PERL_VERSION_GE(j,n,p) (! PERL_VERSION_LT(j,n,p))
+
+__UNDEFINED__ PERL_VERSION_LE(j,n,p) /* p=='*' means _LT(j,n+1,0) */ \
+ (D_PPP_BCDVERSION < D_PPP_JNP_TO_BCD( (j), \
+ (((p) == '*') ? ((n)+1) : (n)), \
+ (((p) == '*') ? 0 : (p))))
+__UNDEFINED__ PERL_VERSION_GT(j,n,p) (! PERL_VERSION_LE(j,n,p))
diff --git a/dist/Devel-PPPort/parts/inc/warn b/dist/Devel-PPPort/parts/inc/warn
index 32c772ea2a..d3c0d054f6 100644
--- a/dist/Devel-PPPort/parts/inc/warn
+++ b/dist/Devel-PPPort/parts/inc/warn
@@ -147,15 +147,15 @@ $SIG{'__WARN__'} = sub { $warning = $_[0] };
$warning = '';
Devel::PPPort::warner();
-ok("$]" >= 5.004 ? $warning =~ /^warner bar:42/ : $warning eq '');
+ok(ivers($]) >= ivers("5.004") ? $warning =~ /^warner bar:42/ : $warning eq '');
$warning = '';
Devel::PPPort::Perl_warner();
-ok("$]" >= 5.004 ? $warning =~ /^Perl_warner bar:42/ : $warning eq '');
+ok(ivers($]) >= ivers("5.004") ? $warning =~ /^Perl_warner bar:42/ : $warning eq '');
$warning = '';
Devel::PPPort::Perl_warner_nocontext();
-ok("$]" >= 5.004 ? $warning =~ /^Perl_warner_nocontext bar:42/ : $warning eq '');
+ok(ivers($]) >= ivers("5.004") ? $warning =~ /^Perl_warner_nocontext bar:42/ : $warning eq '');
$warning = '';
Devel::PPPort::ckWARN();
@@ -165,4 +165,4 @@ $^W = 1;
$warning = '';
Devel::PPPort::ckWARN();
-ok("$]" >= 5.004 ? $warning =~ /^ckWARN bar:42/ : $warning eq '');
+ok(ivers($]) >= ivers("5.004") ? $warning =~ /^ckWARN bar:42/ : $warning eq '');
diff --git a/dist/Devel-PPPort/parts/ppport.fnc b/dist/Devel-PPPort/parts/ppport.fnc
index 4d34f77499..dcd6829d47 100644
--- a/dist/Devel-PPPort/parts/ppport.fnc
+++ b/dist/Devel-PPPort/parts/ppport.fnc
@@ -15,56 +15,49 @@
:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:
-: This file lists all API functions/macros that are provided purely
-: by Devel::PPPort, or that are not public. It is in the same format as the
-: F<embed.fnc> that ships with the Perl source code.
+: This file lists all functions/macros that are provided by Devel::PPPort that
+: would not be tested otherwise; because either they are not public, or they
+: exist only in D:P. It is in the same format as the F<embed.fnc> that ships
+: with the Perl source code.
:
: Since these are used only to provide the argument types, it's ok to have the
-: return value be void for some where it's an issues
+: return value be void for some where it's a potential issue.
Amn|void|aTHXR
Amn|void|aTHXR_
-md|int|AvFILLp|AV* av
-Amn|void|DEFSV
-Amn|void|dMY_CXT_SV
-Amn|void|dNOOP
+dm|int|AvFILLp|AV * av
+CprT|void|croak_memory_wrap|
Amn|void|dTHXR
Amn|void|dXSTARG
-Amn|void|END_EXTERN_C
-Amn|void|EXTERN_C
-Amn|void|GV_NOADD_MASK
-Amn|void|IN_PERL_COMPILETIME
-Amn|void|NOOP
-Amn|void|PERL_BCDVERSION
+Cdhm|char *|HvNAME_get|HV * stash
+Amn|void|IVSIZE
+CpR|SV *|newSVsv_flags|SV * const old|I32 flags
+Cdhm|void *|NUM2PTR|type|int value
+Amn|void|NVTYPE
Amn|void|Perl_eval_pv
Amn|void|Perl_eval_sv
Amn|void|PERL_MAGIC_glob
Amn|void|PERL_MAGIC_mutex
Amn|void|PERL_MAGIC_overload
Amn|void|PERL_MAGIC_overload_elem
-Amn|void|PERL_PV_PRETTY_DUMP
-Amn|void|PERL_PV_PRETTY_NOCLEAR
-Amn|void|PERL_PV_PRETTY_REGPROP
-Amn|void|PERL_SIGNALS_UNSAFE_FLAG
-Amn|void|PERL_UINT_MIN
-Amn|void|PERL_UNUSED_CONTEXT
-Amn|void|PERL_UNUSED_DECL
-Amn|void|PERL_USE_GCC_BRACE_GROUPS
+Cdhmn||PERL_PV_PRETTY_DUMP
+Cdhmn||PERL_PV_PRETTY_NOCLEAR
+Cdhmn||PERL_PV_PRETTY_REGPROP
+Amn|void|Perl_warner_nocontext
Amn|void|PL_bufend
Amn|void|PL_bufptr
Amn|void|PL_compiling
Amn|void|PL_copline
Amn|void|PL_DBsignal
-mnd|SV *|PL_DBsingle
-mnd|GV *|PL_DBsub
-mnd|SV *|PL_DBtrace
+dmn|SV *|PL_DBsingle
+dmn|GV *|PL_DBsub
+dmn|SV *|PL_DBtrace
Amn|void|PL_debstash
Amn|void|PL_diehook
Amn|void|PL_dirty
-mnd|U8|PL_dowarn
+dmn|U8|PL_dowarn
Amn|void|PL_error_count
Amn|void|PL_expect
-Amn|void|PL_hexdigit
Amn|void|PL_hints
Amn|void|PL_in_my
Amn|void|PL_in_my_stash
@@ -78,23 +71,28 @@ Amn|void|PL_perldb
Amn|void|PL_ppaddr
Amn|void|PL_rsfp
Amn|void|PL_rsfp_filters
+Amn|void|PL_signals
Amn|void|PL_stack_base
Amn|void|PL_stack_sp
Amn|void|PL_statcache
Amn|void|PL_stdingv
-Amn|void|PL_Sv
Amn|void|PL_sv_arenaroot
Amn|void|PL_tainted
Amn|void|PL_tainting
Amn|void|PL_tokenbuf
Amn|void|PL_Xpv
-Amn|void|PTRV
-Amn|void|SAVE_DEFSV
-Amn|void|START_EXTERN_C
+bCdMmpR|char *|sv_2pvbyte_nolen|SV * sv
+Cdp|char *|sv_2pv_flags|SV * const sv|STRLEN * const lp|const U32 flags
+bCdMmpR|char *|sv_2pv_nolen|SV * sv
+bCMmp|UV|sv_2uv|SV * sv
Amn|void|SV_CONST_RETURN
Amn|void|SV_COW_SHARED_HASH_KEYS
+p|STRLEN|sv_len_utf8_nomg|SV * const sv
Am|void|sv_magic_portable|NN SV* sv|NULLOK SV* obj|int how|NULLOK const char* name|I32 namlen
Amn|void|SV_MUTABLE_RETURN
-Amn|void|SV_UTF8_NO_ENCODING
+bCDdp|UV|sv_uv|SV * sv
+Amn|void|UVSIZE
+Amn|void|UVTYPE
+Amn|void|UVXf
Amn|void|WARN_ASSERTIONS
Amn|void|XSprePUSH
diff --git a/dist/Devel-PPPort/parts/ppptools.pl b/dist/Devel-PPPort/parts/ppptools.pl
index 868e50541c..ab4d111bb7 100644
--- a/dist/Devel-PPPort/parts/ppptools.pl
+++ b/dist/Devel-PPPort/parts/ppptools.pl
@@ -65,8 +65,8 @@ sub parse_todo
my $code = $1;
s/^\s+//; s/\s+$//;
/^\s*$/ and next;
- /^\w+$/ or die "invalid identifier: $_\n";
- exists $todo{$_} and die "duplicate identifier: $_ ($todo{$_} <=> $version)\n";
+ /^\w+$/ or die "parse_todo: invalid identifier in $todo: $_\n";
+ exists $todo{$_} and die "parse_todo: duplicate identifier in $todo: $_ ($todo{$_} <=> $version)\n";
$todo{$_}{'version'} = $version;
$todo{$_}{'code'} = $code if $code;
}
@@ -82,7 +82,7 @@ sub expand_version
my($r, $v, $s) = parse_version($ver);
$r =~ / ^ [57] $ /x or die "only Perl revisions [57] are supported\n";
my $bcdver = sprintf "0x%d%03d%03d", $r, $v, $s;
- return "(PERL_BCDVERSION $op $bcdver)";
+ return "(D_PPP_BCDVERSION $op $bcdver)";
}
sub parse_partspec
@@ -299,7 +299,8 @@ sub trim_arg # Splits the argument into type and name, returning the
s/^\s+//; s/\s+$//; # No leading, trailing spacd
s/\s+/ /g; # Collapse multiple space into one
- return ($_, $name);
+ return ($_, $name) if defined $name;
+ return $_;
}
sub parse_embed
@@ -362,6 +363,12 @@ sub parse_embed
}
if ($name =~ /^[^\W\d]\w*$/) {
+ my $cond = ppcond(\@pps);
+ if ($cond =~ /defined\(PERL_IN_[A-Z0-9_]+_[CH]/ && $flags =~ /A/)
+ {
+ warn "$name marked as API, but restricted scope: $cond\n";
+ }
+ #warn "$name: $cond" if length $cond && $flags =~ /A/;
for (@args) {
$_ = [trim_arg($_)];
}
@@ -371,7 +378,7 @@ sub parse_embed
flags => { map { $_, 1 } $flags =~ /./g },
ret => $ret,
args => \@args,
- cond => ppcond(\@pps),
+ cond => $cond,
};
$func[-1]{'ppport_fnc'} = 1 if $file =~ /ppport\.fnc/;
}
@@ -433,13 +440,15 @@ sub known_but_hard_to_test_for
#
# The values for the keys are each the version that ppport.h makes them
# work on, and were gleaned by manually looking at the code parts/inc/*.
- # For non-ppport.h, scanprov will automatically figure out the version
+ # For functions, scanprov will automatically figure out the version
# they were introduced in.
my %return;
for (qw(CLASS dXSI32 items ix pTHX_ RETVAL StructCopy svtype
- STMT_START STMT_END STR_WITH_LEN THIS XS))
+ STMT_START STMT_END STR_WITH_LEN THIS XS PTRV
+ PERL_USE_GCC_BRACE_GROUPS CPERLscope XSPROTO
+ EXTERN_C START_EXTERN_C END_EXTERN_C PL_hexdigit))
{
# __MIN_PERL__ is this at the time of this commit. This is the
# earliest these have been tested to at the time of the commit, but
@@ -449,6 +458,9 @@ sub known_but_hard_to_test_for
for (qw(_pMY_CXT pMY_CXT_)) {
$return{$_} = '5.9.0';
}
+ for (qw(PERLIO_FUNCS_DECL)) {
+ $return{$_} = '5.9.3';
+ }
for (qw(XopDISABLE XopENABLE XopENTRY XopENTRYCUSTOM XopENTRY_set)) {
$return{$_} = '5.13.7';
}
diff --git a/dist/Devel-PPPort/parts/todo/5003007 b/dist/Devel-PPPort/parts/todo/5003007
index 2f50b422a1..ba1c7b6ca8 100644
--- a/dist/Devel-PPPort/parts/todo/5003007
+++ b/dist/Devel-PPPort/parts/todo/5003007
@@ -5,6 +5,7 @@ aTHX_ # T
aTHXR # T
aTHXR_ # T
av_clear # T
+av_count # T
av_extend # T
av_fetch # T
av_fill # T
@@ -21,24 +22,33 @@ av_top_index # T
av_undef # T
av_unshift # T
ax # T
-BIN # T
BOM_UTF8 # T
boolSV # T
-BYTEORDER # T
call_argv # T
call_method # T
call_pv # T
call_sv # T
C_ARRAY_END # T
C_ARRAY_LENGTH # T
-CASTFLAGS # T
cBOOL # T
ckWARN # T
+CLASS # X added by devel/scanprov
+CopFILE # T
+CopFILEAV # T
+CopFILEGV # T
+CopFILEGV_set # T
+CopFILE_set # T
+CopFILESV # T
+CopSTASH # T
+CopSTASH_eq # T
+CopSTASHPV # T
+CopSTASH_set # T
Copy # T
CopyD # T
-CPPMINUS # T
-CPPSTDIN # T
+CPERLscope # X added by devel/scanprov
croak # T
+croak_memory_wrap # T
+croak_nocontext # T
croak_no_modify # T
croak_sv # T
croak_xs_usage # T
@@ -48,10 +58,10 @@ CvDEPTH # T
CvGV # T
CvSTASH # T
cv_undef # T
-cxinc # T
dAX # T
dAXMARK # T
DEFSV # T
+DEFSV_set # T
die # T
die_sv # T
dITEMS # T
@@ -61,39 +71,42 @@ do_close # T
do_join # T
do_open # T
dORIGMARK # T
-do_sprintf # T
-dounwind # T
dowantarray # T
dSP # T
+dTARGET # T
dTHR # T
dTHX # T
+dTHXa # T
+dTHXoa # T
dTHXR # T
dUNDERBAR # T
dVAR # T
dXCPT # T
dXSARGS # T
+dXSI32 # X added by devel/scanprov
dXSTARG # T
-END_EXTERN_C # T
+END_EXTERN_C # X added by devel/scanprov
ENTER # T
ERRSV # T
eval_pv # T
eval_sv # T
EXTEND # T
-EXTERN_C # T
+EXTERN_C # X added by devel/scanprov
filter_add # T
filter_del # T
filter_read # T
-free_tmps # T
FREETMPS # T
G_ARRAY # T
G_DISCARD # T
get_av # T
get_cv # T
get_cvn_flags # T
+get_cvs # T
get_hv # T
get_sv # T
G_EVAL # T
GIMME # T
+G_KEEPERR # T
G_METHOD # T
G_NOARGS # T
gp_free # T
@@ -108,9 +121,9 @@ grok_oct # T
G_SCALAR # T
GV_ADD # T
GV_ADDMULTI # T
+GV_ADDWARN # T
GvAV # T
gv_AVadd # T
-gv_check # T
GvCV # T
gv_efullname # T
gv_efullname3 # T
@@ -119,6 +132,7 @@ gv_fetchmeth # T
gv_fetchmethod # T
gv_fetchpv # T
gv_fetchpvn_flags # T
+gv_fetchpvs # T
gv_fetchsv # T
gv_fullname # T
gv_fullname3 # T
@@ -127,12 +141,12 @@ gv_HVadd # T
gv_init # T
gv_init_pvn # T
gv_IOadd # T
-GV_NOADD_MASK # T
gv_stashpv # T
gv_stashpvn # T
gv_stashpvs # T
gv_stashsv # T
GvSV # T
+GvSVn # T
HEf_SVKEY # T
HeHASH # T
HeKEY # T
@@ -158,6 +172,8 @@ hv_iterval # T
hv_ksplit # T
hv_magic # T
HvNAME # T
+HvNAME_get # T
+HvNAMELEN_get # T
hv_store # T
hv_store_ent # T
hv_stores # T
@@ -166,7 +182,7 @@ ibcmp # T
IN_PERL_COMPILETIME # T
instr # T
INT2PTR # T
-INTSIZE # T
+INTMAX_C # T
isALNUM # T
isALNUM_A # T
isALNUMC # T
@@ -197,6 +213,7 @@ isDIGIT_L1 # T
isGRAPH # T
isGRAPH_A # T
isGRAPH_L1 # T
+isGV_with_GP # T
isIDCONT # T
isIDCONT_A # T
isIDCONT_L1 # T
@@ -237,15 +254,15 @@ isXDIGIT # T
isXDIGIT_A # T
isXDIGIT_L1 # T
isXDIGIT_LC # T
+items # X added by devel/scanprov
IVdf # T
IVSIZE # T
-IVTYPE # T
+ix # X added by devel/scanprov
LATIN1_TO_NATIVE # T
LEAVE # T
leave_scope # T
LIKELY # T
load_module # T
-LONGSIZE # T
looks_like_number # T
MARK # T
memCHRs # T
@@ -261,7 +278,6 @@ mg_free # T
mg_get # T
mg_magical # T
mg_set # T
-moreswitches # T
Move # T
MoveD # T
mPUSHi # T
@@ -269,6 +285,8 @@ mPUSHn # T
mPUSHp # T
mPUSHs # T
mPUSHu # T
+MUTABLE_PTR # T
+MUTABLE_SV # T
mXPUSHi # T
mXPUSHn # T
mXPUSHp # T
@@ -348,6 +366,7 @@ Nullch # T
Nullcv # T
Nullhv # T
Nullsv # T
+NUM2PTR # T
NVef # T
NVff # T
NVgf # T
@@ -361,11 +380,10 @@ OpMORESIB_set # T
OPpENTERSUB_AMPER # T
OpSIBLING # T
ORIGMARK # T
-OSNAME # T
+packWARN # T
pad_alloc # T
PERL_ABS # T
perl_alloc # T
-PERL_BCDVERSION # T
perl_construct # T
Perl_eval_pv # T
Perl_eval_sv # T
@@ -454,7 +472,6 @@ PERL_PV_PRETTY_QUOTE # T
PERL_PV_PRETTY_REGPROP # T
PERL_QUAD_MAX # T
PERL_QUAD_MIN # T
-PERL_REVISION # T
perl_run # T
PERL_SCAN_ALLOW_UNDERSCORES # T
PERL_SCAN_DISALLOW_PREFIX # T
@@ -472,19 +489,21 @@ PERL_UINT_MAX # T
PERL_UINT_MIN # T
PERL_ULONG_MAX # T
PERL_ULONG_MIN # T
+PERL_UNUSED_ARG # T
PERL_UNUSED_CONTEXT # T
PERL_UNUSED_DECL # T
+PERL_UNUSED_RESULT # T
+PERL_UNUSED_VAR # T
PERL_UQUAD_MAX # T
PERL_UQUAD_MIN # T
+PERL_USE_GCC_BRACE_GROUPS # X added by devel/scanprov
PERL_USHORT_MAX # T
PERL_USHORT_MIN # T
PERL_VERSION # T
-PERL_VERSION_EQ # T
PERL_VERSION_GE # T
PERL_VERSION_GT # T
PERL_VERSION_LE # T
PERL_VERSION_LT # T
-PERL_VERSION_NE # T
PL_bufend # T
PL_bufptr # T
PL_compiling # T
@@ -503,7 +522,7 @@ PL_dowarn # T
PL_errgv # T
PL_error_count # T
PL_expect # T
-PL_hexdigit # T
+PL_hexdigit # X added by devel/scanprov
PL_hints # T
PL_in_my # T
PL_laststatval # T
@@ -518,6 +537,7 @@ PL_perl_destruct_level # T
PL_ppaddr # T
PL_rsfp # T
PL_rsfp_filters # T
+PL_signals # T
PL_stack_base # T
PL_stack_sp # T
PL_statcache # T
@@ -543,12 +563,14 @@ POPs # T
pop_scope # T
pregexec # T
pregfree # T
-PRIVLIB # T
pTHX # T
+pTHX_ # X added by devel/scanprov
PTR2IV # T
+PTR2nat # T
PTR2NV # T
+PTR2ul # T
PTR2UV # T
-PTRV # T
+PTRV # X added by devel/scanprov
PUSHi # T
PUSHMARK # T
PUSHmortal # T
@@ -561,48 +583,46 @@ PUTBACK # T
pv_display # T
pv_escape # T
pv_pretty # T
-RANDBITS # T
Renew # T
Renewc # T
repeatcpy # T
REPLACEMENT_CHARACTER_UTF8 # T
+RETVAL # X added by devel/scanprov
rninstr # T
Safefree # T
save_aptr # T
save_ary # T
-save_clearsv # T
SAVE_DEFSV # T
-save_delete # T
-save_freepv # T
-save_freesv # T
+SAVEDELETE # T
+SAVEFREEPV # T
+SAVEFREESV # T
save_hash # T
save_hptr # T
-save_I32 # T
-save_int # T
+SAVEI32 # T
+SAVEINT # T
save_item # T
+SAVEIV # T
save_list # T
-save_long # T
+SAVELONG # T
save_nogv # T
-save_pptr # T
+SAVEPPTR # T
savepv # T
savepvn # T
save_scalar # T
-save_sptr # T
+SAVESPTR # T
savestack_grow # T
save_svref # T
SAVETMPS # T
scan_hex # T
scan_oct # T
setdefout # T
-SITELIB # T
SP # T
SPAGAIN # T
ST # T
-stack_grow # T
-START_EXTERN_C # T
-STARTPERL # T
+START_EXTERN_C # X added by devel/scanprov
start_subparse # T
-STDCHAR # T
+STMT_END # X added by devel/scanprov
+STMT_START # X added by devel/scanprov
strEQ # T
strGE # T
strGT # T
@@ -611,12 +631,11 @@ strLT # T
strNE # T
strnEQ # T
strnNE # T
-sv_2bool # T
+StructCopy # X added by devel/scanprov
+STR_WITH_LEN # X added by devel/scanprov
sv_2cv # T
sv_2io # T
-sv_2iv # T
sv_2mortal # T
-sv_2pv # T
sv_2pvbyte # T
sv_2pvbyte_nolen # T
sv_2pv_flags # T
@@ -652,7 +671,6 @@ SVf_UTF8 # T
SvGETMAGIC # T
sv_gets # T
SV_GMAGIC # T
-sv_grow # T
SvGROW # T
SV_HAS_TRAILING_NUL # T
SV_IMMEDIATE_UNREF # T
@@ -679,7 +697,6 @@ sv_mortalcopy # T
sv_mortalcopy_flags # T
SV_MUTABLE_RETURN # T
sv_newmortal # T
-sv_newref # T
SvNIOK # T
SvNIOK_off # T
SvNIOKp # T
@@ -696,6 +713,7 @@ SvNVX # T
SvNVx # T
SvOK # T
SvOOK # T
+SvOOK_off # T
SvPOK # T
SvPOK_off # T
SvPOK_on # T
@@ -703,16 +721,33 @@ SvPOK_only # T
SvPOKp # T
SvPV # T
SvPVbyte # T
+SvPV_const # T
+SvPV_flags # T
+SvPV_flags_const # T
+SvPV_flags_const_nolen # T
+SvPV_flags_mutable # T
SvPV_force # T
+SvPV_force_flags # T
+SvPV_force_flags_mutable # T
+SvPV_force_flags_nolen # T
+SvPV_force_mutable # T
+SvPV_force_nolen # T
SvPV_force_nomg # T
-sv_pvn_force # T
+SvPV_force_nomg_nolen # T
+SvPV_mutable # T
sv_pvn_force_flags # T
SvPV_nolen # T
+SvPV_nolen_const # T
SvPV_nomg # T
+SvPV_nomg_const # T
+SvPV_nomg_const_nolen # T
SvPV_nomg_nolen # T
+SvPV_renew # T
SvPV_set # T
SvPVX # T
SvPVx # T
+SvPVX_const # T
+SvPVX_mutable # T
SvREADONLY # T
SvREADONLY_off # T
SvREADONLY_on # T
@@ -758,6 +793,7 @@ sv_setsv_mg # T
sv_setsv_nomg # T
sv_setuv # T
sv_setuv_mg # T
+SvSHARED_HASH # T
SV_SMAGIC # T
SvSTASH # T
SvSTASH_set # T
@@ -781,6 +817,7 @@ SvTRUE # T
SvTRUE_nomg # T
SvTRUEx # T
SvTYPE # T
+svtype # X added by devel/scanprov
sv_unmagic # T
sv_unmagicext # T
sv_unref # T
@@ -797,12 +834,14 @@ SvUV_set # T
SvUVX # T
SvUVx # T
SvUVXx # T
+SvVSTRING_mg # T
switch_to_global_locale # T
sync_locale # T
-taint_env # T
-taint_proper # T
+TARG # T
+THIS # X added by devel/scanprov
toLOWER # T
toUPPER # T
+UINTMAX_C # T
UNDERBAR # T
UNICODE_REPLACEMENT # T
UNI_TO_NATIVE # T
@@ -881,7 +920,9 @@ XPUSHn # T
XPUSHp # T
XPUSHs # T
XPUSHu # T
+XS # X added by devel/scanprov
XSprePUSH # T
+XSPROTO # X added by devel/scanprov
XSRETURN # T
XSRETURN_EMPTY # T
XSRETURN_IV # T
@@ -902,16 +943,3 @@ XS_VERSION # T
XS_VERSION_BOOTCHECK # T
Zero # T
ZeroD # T
-CLASS # X added by devel/scanprov
-dXSI32 # X added by devel/scanprov
-items # X added by devel/scanprov
-ix # X added by devel/scanprov
-pTHX_ # X added by devel/scanprov
-RETVAL # X added by devel/scanprov
-STMT_END # X added by devel/scanprov
-STMT_START # X added by devel/scanprov
-StructCopy # X added by devel/scanprov
-STR_WITH_LEN # X added by devel/scanprov
-svtype # X added by devel/scanprov
-THIS # X added by devel/scanprov
-XS # X added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/todo/5004000 b/dist/Devel-PPPort/parts/todo/5004000
index ec1618841b..c65e972c8c 100644
--- a/dist/Devel-PPPort/parts/todo/5004000
+++ b/dist/Devel-PPPort/parts/todo/5004000
@@ -1,5 +1,4 @@
5.004000
-ARCHNAME # E
block_end # E (Perl_block_end)
block_gimme # U
block_start # E (Perl_block_start)
@@ -31,18 +30,19 @@ isSPACE_LC # U
isUPPER_LC # U
isWORDCHAR_LC # U
mess # E (Perl_mess)
+mess_nocontext # U
mess_sv # U
my_failure_exit # U
newSVpvf # U
-PERL_USE_GCC_BRACE_GROUPS # E
+Perl_warner_nocontext # E
PL_mess_sv # E
POPu # E
rsignal # E
rsignal_state # E
save_gp # U
-save_I16 # U
+SAVEI16 # U
+SAVESTACK_POS # U
share_hek # E
-SHORTSIZE # E
sv_catpvf # U
sv_catpvf_mg # U
sv_cmp_locale # U
@@ -53,12 +53,9 @@ SvSetMagicSV_nosteal # U
sv_setpvf # U
sv_setpvf_mg # U
SvSetSV_nosteal # U
-sv_taint # U
-sv_tainted # U
SvTAINTED # U
SvTAINTED_off # U
SvTAINTED_on # U
-sv_untaint # U
sv_vcatpvf # U
sv_vcatpvf_mg # U
sv_vcatpvfn # U
@@ -69,3 +66,4 @@ toLOWER_LC # U
vmess # U
vnewSVpvf # U
warner # U
+warner_nocontext # U
diff --git a/dist/Devel-PPPort/parts/todo/5005000 b/dist/Devel-PPPort/parts/todo/5005000
index 216f5817f6..7e58395700 100644
--- a/dist/Devel-PPPort/parts/todo/5005000
+++ b/dist/Devel-PPPort/parts/todo/5005000
@@ -1,8 +1,6 @@
5.005000
-cx_dump # U
debop # U
debprofdump # U
-DOUBLESIZE # E
fbm_compile # E (Perl_fbm_compile)
fbm_instr # E (Perl_fbm_instr)
get_op_descs # U
@@ -15,16 +13,5 @@ new_stackinfo # E
PL_curpad # E
PL_in_my_stash # E
PL_modglobal # E
-PTRSIZE # E
-regdump # U
-regexec_flags # U
-regnext # E (Perl_regnext)
-runops_debug # U
-runops_standard # U
-save_iv # U (save_iv)
-sv_iv # U
-sv_nv # U
sv_peek # U
-sv_pvn # U
sv_pvn_nomg # U
-sv_true # U
diff --git a/dist/Devel-PPPort/parts/todo/5006000 b/dist/Devel-PPPort/parts/todo/5006000
index 7785939ec2..e114120b94 100644
--- a/dist/Devel-PPPort/parts/todo/5006000
+++ b/dist/Devel-PPPort/parts/todo/5006000
@@ -3,40 +3,23 @@ av_delete # U
av_exists # U
call_atexit # E
caller_cx # U
-cast_i32 # U (cast_i32)
-cast_iv # U (cast_iv)
-cast_ulong # U
-cast_uv # U (cast_uv)
ckWARN2 # U
ckWARN2_d # U
ckWARN_d # U
-CPPLAST # E
-CPPRUN # E
-do_gv_dump # U
-do_gvgv_dump # U
-do_hv_dump # U
-do_magic_dump # U
-do_op_dump # U
+CopLINE # U
+die_nocontext # U
do_open9 # U
-do_pmop_dump # U
-do_sv_dump # U
DO_UTF8 # U
dump_all # U
dump_eval # U
dump_form # U
-dump_indent # U
dump_packsubs # U
dump_sub # U
-dump_vindent # U
+form_nocontext # U
+fprintf_nocontext # U
get_context # U
get_ppaddr # E
gv_dump # U
-I16SIZE # E
-I16TYPE # E
-I32SIZE # E
-I32TYPE # E
-I8SIZE # E
-I8TYPE # E
isALNUMC_LC # U
isALPHA_LC_utf8_safe # U
isALPHANUMERIC_LC_utf8_safe # U
@@ -90,67 +73,62 @@ isWORDCHAR_uvchr # U
isXDIGIT_LC_utf8_safe # U
isXDIGIT_utf8_safe # U
isXDIGIT_uvchr # U
-LSEEKSIZE # E
+load_module_nocontext # U
magic_dump # U
my_atof # U
my_fflush_all # U
newANONATTRSUB # U
newATTRSUB # U
+newSVpvf_nocontext # U
newXS # E (Perl_newXS)
newXSproto # E
op_dump # U
OPpEARLY_CV # E
PERL_EXIT_EXPECTED # E
perl_parse # E (perl_parse)
+PERL_REVISION # E
PERL_SYS_INIT3 # U
PL_check # E
PL_exit_flags # E
PL_runops # E
pmop_dump # U
POPul # E
-reginitcolors # U
require_pv # U (perl_require_pv)
safesyscalloc # U
safesysfree # U
safesysmalloc # U
safesysrealloc # U
save_alloc # U
-save_destructor # E (Perl_save_destructor)
-save_destructor_x # E
-save_I8 # U
-save_re_context # U
+SAVEDESTRUCTOR # E
+SAVEI8 # U
save_vptr # U
scan_bin # U
set_context # U
Strtol # U
Strtoul # U
-str_to_version # U
sv_2pvutf8 # U
-sv_2pvutf8_nolen # U
+sv_catpvf_mg_nocontext # U
+sv_catpvf_nocontext # U
sv_force_normal # U
SvIOK_notUV # U
SvIOK_only_UV # U
SvIOK_UV # U
sv_len_utf8 # U
+sv_len_utf8_nomg # U
SvPOK_only_UTF8 # U
sv_pos_b2u # U
sv_pos_u2b # U
-sv_pv # U
-sv_pvbyte # U
-sv_pvbyten # U
-sv_pvbyten_force # U
SvPVbyte_nolen # U
SvPVbytex # U
SvPVbytex_force # U
-sv_pvutf8 # U
SvPVutf8 # U
SvPVutf8_force # U
-sv_pvutf8n # U
-sv_pvutf8n_force # U
SvPVutf8_nolen # U
SvPVutf8x # U
SvPVutf8x_force # U
sv_rvweaken # U
+sv_setpvf_mg_nocontext # U
+sv_setpvf_nocontext # U
SvUOK # U
sv_utf8_decode # U
sv_utf8_downgrade # U
@@ -165,12 +143,6 @@ toTITLE_utf8_safe # U
toTITLE_uvchr # U
toUPPER_utf8_safe # U
toUPPER_uvchr # U
-U16SIZE # E
-U16TYPE # E
-U32SIZE # E
-U32TYPE # E
-U8SIZE # E
-U8TYPE # E
UTF8_CHK_SKIP # U
utf8_distance # U
utf8_hop # U
@@ -182,3 +154,4 @@ vcroak # U
vform # U
vwarn # U
vwarner # U
+warn_nocontext # U
diff --git a/dist/Devel-PPPort/parts/todo/5006001 b/dist/Devel-PPPort/parts/todo/5006001
index bb08876cc7..f589b8c900 100644
--- a/dist/Devel-PPPort/parts/todo/5006001
+++ b/dist/Devel-PPPort/parts/todo/5006001
@@ -6,7 +6,6 @@ gv_fullname4 # U
isPSXSPC_LC # U
isUTF8_CHAR # U
is_utf8_string # U
-NVSIZE # E
save_generic_pvref # U
SvGAMAGIC # U
utf8_to_bytes # U
diff --git a/dist/Devel-PPPort/parts/todo/5007001 b/dist/Devel-PPPort/parts/todo/5007001
index de1e84e7b5..d2ceb0fa11 100644
--- a/dist/Devel-PPPort/parts/todo/5007001
+++ b/dist/Devel-PPPort/parts/todo/5007001
@@ -1,6 +1,5 @@
5.007001
bytes_from_utf8 # U
-despatch_signals # U
do_openn # U
gv_handler # U
isALNUM_LC_uvchr # U
@@ -19,10 +18,10 @@ my_popen_list # U
PerlIO_apply_layers # U
PerlIO_binmode # U
PerlIO_debug # U
+PERLIO_FUNCS_CAST # E
POPpbytex # E
printf_nocontext # U
-save_mortalizesv # U
-scan_num # A
+SAVEMORTALIZESV # U
sv_force_normal_flags # U
sv_setref_uv # U
sv_unref_flags # U
diff --git a/dist/Devel-PPPort/parts/todo/5007002 b/dist/Devel-PPPort/parts/todo/5007002
index e763ce3c1c..0b101c57da 100644
--- a/dist/Devel-PPPort/parts/todo/5007002
+++ b/dist/Devel-PPPort/parts/todo/5007002
@@ -9,7 +9,6 @@ mfree # U
mini_mktime # U
my_strftime # U
op_null # U
-OSVERS # E
realloc # U
sv_catpvn_flags # U
sv_catsv_flags # U
diff --git a/dist/Devel-PPPort/parts/todo/5007003 b/dist/Devel-PPPort/parts/todo/5007003
index 164ecfd1bb..b706edf025 100644
--- a/dist/Devel-PPPort/parts/todo/5007003
+++ b/dist/Devel-PPPort/parts/todo/5007003
@@ -5,7 +5,6 @@ ckWARN4 # U
ckWARN4_d # U
custom_op_desc # U
custom_op_name # U
-cx_dup # E (Perl_cx_dup)
deb # U
deb_nocontext # U
debstack # U
@@ -21,6 +20,10 @@ my_fork # U
my_socketpair # U
OP_DESC # U
OP_NAME # U
+pack_cat # U
+packWARN2 # U
+packWARN3 # U
+packWARN4 # U
perl_destruct # E (perl_destruct)
PERL_EXIT_DESTRUCT_END # E
PerlIO_clearerr # U (PerlIO_clearerr)
diff --git a/dist/Devel-PPPort/parts/todo/5008001 b/dist/Devel-PPPort/parts/todo/5008001
index 97164b791e..464a8e7421 100644
--- a/dist/Devel-PPPort/parts/todo/5008001
+++ b/dist/Devel-PPPort/parts/todo/5008001
@@ -1,15 +1,14 @@
5.008001
CvPADLIST # E
-doing_taint # U
find_runcv # U
+IN_PERL_RUNTIME # E
is_utf8_string_loc # U
packlist # U
pad_add_anon # U
pad_new # E
-pad_setsv # U
pad_tidy # E
PL_comppad # E
-save_bool # U
+SAVEBOOL # U
savestack_grow_cnt # U
seed # U
sv_cat_decode # U
diff --git a/dist/Devel-PPPort/parts/todo/5008009 b/dist/Devel-PPPort/parts/todo/5008009
index 65bf569c15..129e018f45 100644
--- a/dist/Devel-PPPort/parts/todo/5008009
+++ b/dist/Devel-PPPort/parts/todo/5008009
@@ -1,2 +1 @@
5.008009
-hv_assert # U
diff --git a/dist/Devel-PPPort/parts/todo/5009000 b/dist/Devel-PPPort/parts/todo/5009000
index ecbaf1d3d5..fa33a679a8 100644
--- a/dist/Devel-PPPort/parts/todo/5009000
+++ b/dist/Devel-PPPort/parts/todo/5009000
@@ -7,15 +7,13 @@ hek_dup # U
MY_CXT # E
MY_CXT_CLONE # E
MY_CXT_INIT # E
-my_cxt_init # U
new_version # U
parser_dup # U
+_pMY_CXT # X added by devel/scanprov
pMY_CXT # E
-regdupe_internal # U
+pMY_CXT_ # X added by devel/scanprov
save_set_svflags # U
SVs_PADSTALE # E
vcmp # U
vnumify # U
vstringify # U
-_pMY_CXT # X added by devel/scanprov
-pMY_CXT_ # X added by devel/scanprov
diff --git a/dist/Devel-PPPort/parts/todo/5009003 b/dist/Devel-PPPort/parts/todo/5009003
index 529dc08bee..c59b7a269c 100644
--- a/dist/Devel-PPPort/parts/todo/5009003
+++ b/dist/Devel-PPPort/parts/todo/5009003
@@ -1,7 +1,4 @@
5.009003
-av_arylen_p # U
-ckwarn # U
-ckwarn_d # U
dMULTICALL # E
doref # U
gv_const_sv # U
@@ -18,10 +15,13 @@ is_utf8_string_loclen # U
MULTICALL # E
newGIVENOP # U
newSVhek # U
+pad_compname_type # U
+PERLIO_FUNCS_DECL # X added by devel/scanprov
PERL_MAGIC_arylen_p # E
PERL_MAGIC_rhash # E
PERL_MAGIC_symtab # E
POP_MULTICALL # E
savepvs # U
sortsv_flags # U
+SvPV_shrink_to_cur # U
vverify # U
diff --git a/dist/Devel-PPPort/parts/todo/5009004 b/dist/Devel-PPPort/parts/todo/5009004
index d100ab9849..a4868318d5 100644
--- a/dist/Devel-PPPort/parts/todo/5009004
+++ b/dist/Devel-PPPort/parts/todo/5009004
@@ -1,5 +1,6 @@
5.009004
gv_name_set # U
+GV_NOTQUAL # E
hv_copy_hints_hv # U
my_vsnprintf # U
newXS_flags # U
diff --git a/dist/Devel-PPPort/parts/todo/5009005 b/dist/Devel-PPPort/parts/todo/5009005
index 38949ef8c8..cf1469987d 100644
--- a/dist/Devel-PPPort/parts/todo/5009005
+++ b/dist/Devel-PPPort/parts/todo/5009005
@@ -16,13 +16,6 @@ ptr_table_new # U
ptr_table_split # U
ptr_table_store # U
re_compile # U
-regfree_internal # U
-reg_named_buff_all # U
-reg_named_buff_exists # U
-reg_named_buff_fetch # U
-reg_named_buff_firstkey # U
-reg_named_buff_nextkey # U
-reg_named_buff_scalar # U
savesharedpvn # U
scan_vstring # E (Perl_scan_vstring)
upg_version # E (Perl_upg_version)
diff --git a/dist/Devel-PPPort/parts/todo/5010000 b/dist/Devel-PPPort/parts/todo/5010000
index 0778e3e5be..9dc400c424 100644
--- a/dist/Devel-PPPort/parts/todo/5010000
+++ b/dist/Devel-PPPort/parts/todo/5010000
@@ -1,12 +1,4 @@
5.010000
-hv_common # U
-hv_common_key_len # U
-reentrant_free # U
-reentrant_init # U
-reentrant_retry # U
-reentrant_size # U
+my_cxt_init # U
START_MY_CXT # E
sv_destroyable # U
-sys_init # U
-sys_init3 # U
-sys_term # U
diff --git a/dist/Devel-PPPort/parts/todo/5010001 b/dist/Devel-PPPort/parts/todo/5010001
index 2c80afcf52..72b2419de2 100644
--- a/dist/Devel-PPPort/parts/todo/5010001
+++ b/dist/Devel-PPPort/parts/todo/5010001
@@ -4,7 +4,12 @@ mro_get_private_data # U
mro_register # U
mro_set_mro # U
mro_set_private_data # U
-save_freeop # U (Perl_save_freeop)
+MUTABLE_AV # U
+MUTABLE_CV # U
+MUTABLE_GV # U
+MUTABLE_HV # U
+MUTABLE_IO # U
+SAVEFREEOP # U
save_hints # U
save_op # U (Perl_save_op)
save_padsv_and_mortalize # U
diff --git a/dist/Devel-PPPort/parts/todo/5011000 b/dist/Devel-PPPort/parts/todo/5011000
index cbeace07b1..72eafe139e 100644
--- a/dist/Devel-PPPort/parts/todo/5011000
+++ b/dist/Devel-PPPort/parts/todo/5011000
@@ -1,12 +1,10 @@
5.011000
-av_iter_p # U
gv_add_by_type # U
Gv_AMupdate # A
is_ascii_string # U
is_invariant_string # U
is_utf8_invariant_string # U
PL_opfreehook # E
-pregfree2 # U
PUSH_MULTICALL # U
re_dup_guts # U
save_adelete # U
diff --git a/dist/Devel-PPPort/parts/todo/5011002 b/dist/Devel-PPPort/parts/todo/5011002
index 906e256dce..4600effab8 100644
--- a/dist/Devel-PPPort/parts/todo/5011002
+++ b/dist/Devel-PPPort/parts/todo/5011002
@@ -1,5 +1,4 @@
5.011002
-CHARBITS # E
ENTER_with_name # U
LEAVE_with_name # U
lex_bufutf8 # U
diff --git a/dist/Devel-PPPort/parts/todo/5013006 b/dist/Devel-PPPort/parts/todo/5013006
index 49dbd4354b..5e4aa77bad 100644
--- a/dist/Devel-PPPort/parts/todo/5013006
+++ b/dist/Devel-PPPort/parts/todo/5013006
@@ -4,6 +4,7 @@ ck_entersub_args_proto # U
ck_entersub_args_proto_or_list # U
cv_get_call_checker # E
cv_set_call_checker # E
+gv_fetchpvn # U
lex_stuff_pv # U
LINKLIST # U
mg_free_type # U
@@ -20,7 +21,6 @@ RV2CVOPCV_MARK_EARLY # E
RV2CVOPCV_RETURN_NAME_GV # E
savesharedpvs # U
savesharedsvpv # U
-sv_2bool_flags # U
sv_catpv_flags # U
sv_catpv_nomg # U
sv_catpvs_flags # U
diff --git a/dist/Devel-PPPort/parts/todo/5013007 b/dist/Devel-PPPort/parts/todo/5013007
index 8b9162e06e..5bbabe1291 100644
--- a/dist/Devel-PPPort/parts/todo/5013007
+++ b/dist/Devel-PPPort/parts/todo/5013007
@@ -36,9 +36,9 @@ parse_block # U
parse_label # U
PARSE_OPTIONAL # E
PL_phase # E
-XopFLAGS # E
XopDISABLE # X added by devel/scanprov
XopENABLE # X added by devel/scanprov
XopENTRY # X added by devel/scanprov
XopENTRYCUSTOM # X added by devel/scanprov
XopENTRY_set # X added by devel/scanprov
+XopFLAGS # E
diff --git a/dist/Devel-PPPort/parts/todo/5013008 b/dist/Devel-PPPort/parts/todo/5013008
index 8e95c5d313..71d593bbf4 100644
--- a/dist/Devel-PPPort/parts/todo/5013008
+++ b/dist/Devel-PPPort/parts/todo/5013008
@@ -1,5 +1,4 @@
5.013008
-foldEQ_latin1 # U
parse_arithexpr # U
parse_fullexpr # U
parse_listexpr # U
diff --git a/dist/Devel-PPPort/parts/todo/5015003 b/dist/Devel-PPPort/parts/todo/5015003
index 20e036eee5..13e40fab76 100644
--- a/dist/Devel-PPPort/parts/todo/5015003
+++ b/dist/Devel-PPPort/parts/todo/5015003
@@ -1,2 +1,4 @@
5.015003
GV_ADDMG # E
+gv_fetchsv_nomg # U
+GV_NO_SVGMAGIC # E
diff --git a/dist/Devel-PPPort/parts/todo/5017001 b/dist/Devel-PPPort/parts/todo/5017001
index a58995e744..7350b4a0dc 100644
--- a/dist/Devel-PPPort/parts/todo/5017001
+++ b/dist/Devel-PPPort/parts/todo/5017001
@@ -1,2 +1,3 @@
5.017001
alloccopstash # U
+CopSTASHPV_set # A
diff --git a/dist/Devel-PPPort/parts/todo/5017007 b/dist/Devel-PPPort/parts/todo/5017007
index ecfffd79ec..4d2165ce1c 100644
--- a/dist/Devel-PPPort/parts/todo/5017007
+++ b/dist/Devel-PPPort/parts/todo/5017007
@@ -6,3 +6,5 @@ isPSXSPC_LC_uvchr # U
isWORDCHAR_LC_uvchr # U
isXDIGIT_LC_uvchr # U
SvREFCNT_dec_NN # U
+SvTRUE_NN # U
+SvTRUE_nomg_NN # U
diff --git a/dist/Devel-PPPort/parts/todo/5021006 b/dist/Devel-PPPort/parts/todo/5021006
index d3f7e99f05..6fe629a4f4 100644
--- a/dist/Devel-PPPort/parts/todo/5021006
+++ b/dist/Devel-PPPort/parts/todo/5021006
@@ -1,5 +1,4 @@
5.021006
-DOUBLEKIND # E
newDEFSVOP # U
op_convert_list # U
WARN_LOCALE # E
diff --git a/dist/Devel-PPPort/parts/todo/5023000 b/dist/Devel-PPPort/parts/todo/5023000
index 50ed05a7db..e461a32669 100644
--- a/dist/Devel-PPPort/parts/todo/5023000
+++ b/dist/Devel-PPPort/parts/todo/5023000
@@ -1,8 +1 @@
5.023000
-DOUBLEINFBYTES # E
-DOUBLEMANTBITS # E
-DOUBLENANBYTES # E
-LONGDBLINFBYTES # E
-LONGDBLMANTBITS # E
-LONGDBLNANBYTES # E
-NVMANTBITS # E
diff --git a/dist/Devel-PPPort/parts/todo/5023008 b/dist/Devel-PPPort/parts/todo/5023008
index 938c65b7e6..b3bb4a7806 100644
--- a/dist/Devel-PPPort/parts/todo/5023008
+++ b/dist/Devel-PPPort/parts/todo/5023008
@@ -1,18 +1,4 @@
5.023008
clear_defarray # U
-cx_popblock # U
-cx_popeval # U
-cx_popformat # U
-cx_poploop # U
-cx_popsub # U
-cx_popsub_args # U
-cx_popsub_common # U
-cx_pushblock # U
-cx_pusheval # U
-cx_pushformat # U
-cx_pushloop_for # U
-cx_pushloop_plain # U
-cx_pushsub # U
-cx_topblock # U
leave_adjust_stacks # U
savetmps # U
diff --git a/dist/Devel-PPPort/parts/todo/5027008 b/dist/Devel-PPPort/parts/todo/5027008
index d8981f7818..8a325abd8e 100644
--- a/dist/Devel-PPPort/parts/todo/5027008
+++ b/dist/Devel-PPPort/parts/todo/5027008
@@ -1,7 +1,3 @@
5.027008
-cx_popgiven # U
-cx_popwhen # U
-cx_pushgiven # U
-cx_pushwhen # U
newWHENOP # U
WARN_EXPERIMENTAL__SCRIPT_RUN # E
diff --git a/dist/Devel-PPPort/parts/todo/5028002 b/dist/Devel-PPPort/parts/todo/5028002
new file mode 100644
index 0000000000..9d2f06d68e
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5028002
@@ -0,0 +1 @@
+5.028002
diff --git a/dist/Devel-PPPort/parts/todo/5028003 b/dist/Devel-PPPort/parts/todo/5028003
new file mode 100644
index 0000000000..f4b5772d85
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5028003
@@ -0,0 +1 @@
+5.028003
diff --git a/dist/Devel-PPPort/parts/todo/5030001 b/dist/Devel-PPPort/parts/todo/5030001
new file mode 100644
index 0000000000..1aa762f223
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5030001
@@ -0,0 +1 @@
+5.030001
diff --git a/dist/Devel-PPPort/parts/todo/5030002 b/dist/Devel-PPPort/parts/todo/5030002
new file mode 100644
index 0000000000..2db920eed3
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5030002
@@ -0,0 +1 @@
+5.030002
diff --git a/dist/Devel-PPPort/parts/todo/5030003 b/dist/Devel-PPPort/parts/todo/5030003
new file mode 100644
index 0000000000..33b044f89f
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5030003
@@ -0,0 +1 @@
+5.030003
diff --git a/dist/Devel-PPPort/parts/todo/5031000 b/dist/Devel-PPPort/parts/todo/5031000
new file mode 100644
index 0000000000..02126a5661
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5031000
@@ -0,0 +1 @@
+5.031000
diff --git a/dist/Devel-PPPort/parts/todo/5031005 b/dist/Devel-PPPort/parts/todo/5031005
index fc93346e68..e6f25bf3ea 100644
--- a/dist/Devel-PPPort/parts/todo/5031005
+++ b/dist/Devel-PPPort/parts/todo/5031005
@@ -1,5 +1,4 @@
5.031005
-gimme_V # U
isALPHANUMERIC_utf8 # A
isALPHA_utf8 # A
isASCII_utf8 # A
diff --git a/dist/Devel-PPPort/parts/todo/5031007 b/dist/Devel-PPPort/parts/todo/5031007
index 0cd061b015..9a62d89da2 100644
--- a/dist/Devel-PPPort/parts/todo/5031007
+++ b/dist/Devel-PPPort/parts/todo/5031007
@@ -1,7 +1,3 @@
5.031007
-csighandler # E (Perl_csighandler)
-csighandler1 # U
-csighandler3 # E
-perly_sighandler # E
sv_isa_sv # U
WARN_EXPERIMENTAL__ISA # E
diff --git a/dist/Devel-PPPort/parts/todo/5031009 b/dist/Devel-PPPort/parts/todo/5031009
new file mode 100644
index 0000000000..7928b44d16
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5031009
@@ -0,0 +1 @@
+5.031009
diff --git a/dist/Devel-PPPort/parts/todo/5031010 b/dist/Devel-PPPort/parts/todo/5031010
new file mode 100644
index 0000000000..fbca57c6e2
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5031010
@@ -0,0 +1 @@
+5.031010
diff --git a/dist/Devel-PPPort/parts/todo/5031011 b/dist/Devel-PPPort/parts/todo/5031011
new file mode 100644
index 0000000000..3493c29ef9
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5031011
@@ -0,0 +1 @@
+5.031011
diff --git a/dist/Devel-PPPort/parts/todo/5032000 b/dist/Devel-PPPort/parts/todo/5032000
new file mode 100644
index 0000000000..b84852abde
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5032000
@@ -0,0 +1 @@
+5.032000
diff --git a/dist/Devel-PPPort/parts/todo/5033000 b/dist/Devel-PPPort/parts/todo/5033000
new file mode 100644
index 0000000000..f2d593f679
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5033000
@@ -0,0 +1 @@
+5.033000
diff --git a/dist/Devel-PPPort/parts/todo/5033001 b/dist/Devel-PPPort/parts/todo/5033001
new file mode 100644
index 0000000000..7dcaa755cc
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5033001
@@ -0,0 +1,2 @@
+5.033001
+dMY_CXT_SV # E
diff --git a/dist/Devel-PPPort/parts/todo/5033002 b/dist/Devel-PPPort/parts/todo/5033002
new file mode 100644
index 0000000000..3e0fcf0ae4
--- /dev/null
+++ b/dist/Devel-PPPort/parts/todo/5033002
@@ -0,0 +1,3 @@
+5.033002
+PERL_VERSION_EQ # E
+PERL_VERSION_NE # E
diff --git a/dist/Devel-PPPort/t/01_test.t b/dist/Devel-PPPort/t/01_test.t
deleted file mode 100644
index cbf56df128..0000000000
--- a/dist/Devel-PPPort/t/01_test.t
+++ /dev/null
@@ -1,57 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/01_test instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (1) {
- load();
- plan(tests => 1);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-# This test file is used as target dependency for Makefile
-ok 1;
-
diff --git a/dist/Devel-PPPort/t/HvNAME.t b/dist/Devel-PPPort/t/HvNAME.t
deleted file mode 100644
index e7ba851751..0000000000
--- a/dist/Devel-PPPort/t/HvNAME.t
+++ /dev/null
@@ -1,60 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/HvNAME instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (4) {
- load();
- plan(tests => 4);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(Devel::PPPort::HvNAME_get(\%Devel::PPPort::), 'Devel::PPPort');
-ok(!defined Devel::PPPort::HvNAME_get({}));
-
-is(Devel::PPPort::HvNAMELEN_get(\%Devel::PPPort::), length('Devel::PPPort'));
-is(Devel::PPPort::HvNAMELEN_get({}), 0);
-
diff --git a/dist/Devel-PPPort/t/MY_CXT.t b/dist/Devel-PPPort/t/MY_CXT.t
deleted file mode 100644
index 5555ee9d42..0000000000
--- a/dist/Devel-PPPort/t/MY_CXT.t
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/MY_CXT instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (3) {
- load();
- plan(tests => 3);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-ok(&Devel::PPPort::MY_CXT_1());
-ok(&Devel::PPPort::MY_CXT_2());
-ok(&Devel::PPPort::MY_CXT_CLONE());
-
diff --git a/dist/Devel-PPPort/t/SvPV.t b/dist/Devel-PPPort/t/SvPV.t
deleted file mode 100644
index 8a55c7e0ca..0000000000
--- a/dist/Devel-PPPort/t/SvPV.t
+++ /dev/null
@@ -1,124 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/SvPV instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (49) {
- load();
- plan(tests => 49);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my $mhx = "mhx";
-
-is(&Devel::PPPort::SvPVbyte($mhx), 3);
-
-my $i = 42;
-
-is(&Devel::PPPort::SvPV_nolen($mhx), $i++);
-is(&Devel::PPPort::SvPV_const($mhx), $i++);
-is(&Devel::PPPort::SvPV_mutable($mhx), $i++);
-is(&Devel::PPPort::SvPV_flags($mhx), $i++);
-is(&Devel::PPPort::SvPV_flags_const($mhx), $i++);
-
-is(&Devel::PPPort::SvPV_flags_const_nolen($mhx), $i++);
-is(&Devel::PPPort::SvPV_flags_mutable($mhx), $i++);
-is(&Devel::PPPort::SvPV_force($mhx), $i++);
-is(&Devel::PPPort::SvPV_force_nolen($mhx), $i++);
-is(&Devel::PPPort::SvPV_force_mutable($mhx), $i++);
-
-is(&Devel::PPPort::SvPV_force_nomg($mhx), $i++);
-is(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), $i++);
-is(&Devel::PPPort::SvPV_force_flags($mhx), $i++);
-is(&Devel::PPPort::SvPV_force_flags_nolen($mhx), $i++);
-is(&Devel::PPPort::SvPV_force_flags_mutable($mhx), $i++);
-
-is(&Devel::PPPort::SvPV_nolen_const($mhx), $i++);
-is(&Devel::PPPort::SvPV_nomg($mhx), $i++);
-is(&Devel::PPPort::SvPV_nomg_const($mhx), $i++);
-is(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), $i++);
-is(&Devel::PPPort::SvPV_nomg_nolen($mhx), $i++);
-
-$mhx = 42; is(&Devel::PPPort::SvPV_nolen($mhx), 0);
-$mhx = 42; is(&Devel::PPPort::SvPV_const($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_mutable($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_flags($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_flags_const($mhx), 2);
-
-$mhx = 42; is(&Devel::PPPort::SvPV_flags_const_nolen($mhx), 0);
-$mhx = 42; is(&Devel::PPPort::SvPV_flags_mutable($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_force($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_force_nolen($mhx), 0);
-$mhx = 42; is(&Devel::PPPort::SvPV_force_mutable($mhx), 2);
-
-$mhx = 42; is(&Devel::PPPort::SvPV_force_nomg($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_force_nomg_nolen($mhx), 0);
-$mhx = 42; is(&Devel::PPPort::SvPV_force_flags($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_force_flags_nolen($mhx), 0);
-$mhx = 42; is(&Devel::PPPort::SvPV_force_flags_mutable($mhx), 2);
-
-$mhx = 42; is(&Devel::PPPort::SvPV_nolen_const($mhx), 0);
-$mhx = 42; is(&Devel::PPPort::SvPV_nomg($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_nomg_const($mhx), 2);
-$mhx = 42; is(&Devel::PPPort::SvPV_nomg_const_nolen($mhx), 0);
-$mhx = 42; is(&Devel::PPPort::SvPV_nomg_nolen($mhx), 0);
-
-my $str = "";
-&Devel::PPPort::SvPV_force($str);
-my($s2, $before, $after) = &Devel::PPPort::SvPV_renew($str, 81, "x"x80);
-is($str, "x"x80);
-is($s2, "x"x80);
-ok($before < 81);
-is($after, 81);
-
-$str = "x"x400;
-&Devel::PPPort::SvPV_force($str);
-($s2, $before, $after) = &Devel::PPPort::SvPV_renew($str, 41, "x"x40);
-is($str, "x"x40);
-is($s2, "x"x40);
-ok($before > 41);
-is($after, 41);
-
diff --git a/dist/Devel-PPPort/t/SvREFCNT.t b/dist/Devel-PPPort/t/SvREFCNT.t
deleted file mode 100644
index 44be76ae8b..0000000000
--- a/dist/Devel-PPPort/t/SvREFCNT.t
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/SvREFCNT instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (14) {
- load();
- plan(tests => 14);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-for (Devel::PPPort::SvREFCNT()) {
- ok(defined $_ and $_);
-}
-
diff --git a/dist/Devel-PPPort/t/Sv_set.t b/dist/Devel-PPPort/t/Sv_set.t
deleted file mode 100644
index 770f654a0f..0000000000
--- a/dist/Devel-PPPort/t/Sv_set.t
+++ /dev/null
@@ -1,117 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/Sv_set instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (15) {
- load();
- plan(tests => 15);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my $foo = 5;
-is(&Devel::PPPort::TestSvUV_set($foo, 12345), 42);
-is(&Devel::PPPort::TestSvPVX_const("mhx"), 43);
-is(&Devel::PPPort::TestSvPVX_mutable("mhx"), 44);
-
-my $bar = [];
-
-bless $bar, 'foo';
-is($bar->x(), 'foobar');
-
-Devel::PPPort::TestSvSTASH_set($bar, 'bar');
-is($bar->x(), 'hacker');
-
- if (ivers($]) != ivers(5.7.2)) {
- ok(Devel::PPPort::Test_sv_setsv_SV_NOSTEAL());
- }
- else {
- skip("7.2 broken for NOSTEAL", 1);
- }
-
- tie my $scalar, 'TieScalarCounter', 'string';
-
- is tied($scalar)->{fetch}, 0;
- is tied($scalar)->{store}, 0;
- my $copy = Devel::PPPort::newSVsv_nomg($scalar);
- is tied($scalar)->{fetch}, 0;
- is tied($scalar)->{store}, 0;
-
- my $fetch = $scalar;
- is tied($scalar)->{fetch}, 1;
- is tied($scalar)->{store}, 0;
- my $copy2 = Devel::PPPort::newSVsv_nomg($scalar);
- is tied($scalar)->{fetch}, 1;
- is tied($scalar)->{store}, 0;
- is $copy2, 'string';
-
-package TieScalarCounter;
-
-sub TIESCALAR {
- my ($class, $value) = @_;
- return bless { fetch => 0, store => 0, value => $value }, $class;
-}
-
-sub FETCH {
- my ($self) = @_;
- $self->{fetch}++;
- return $self->{value};
-}
-
-sub STORE {
- my ($self, $value) = @_;
- $self->{store}++;
- $self->{value} = $value;
-}
-
-package foo;
-
-sub x { 'foobar' }
-
-package bar;
-
-sub x { 'hacker' }
-
diff --git a/dist/Devel-PPPort/t/call.t b/dist/Devel-PPPort/t/call.t
deleted file mode 100644
index c09ce82e2d..0000000000
--- a/dist/Devel-PPPort/t/call.t
+++ /dev/null
@@ -1,165 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/call instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (88) {
- load();
- plan(tests => 88);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-sub f
-{
- shift;
- unshift @_, 'b';
- pop @_;
- @_, defined wantarray ? wantarray ? 'x' : 'y' : 'z';
-}
-
-my $obj = bless [], 'Foo';
-
-sub Foo::meth
-{
- return 'bad_self' unless @_ && ref $_[0] && ref($_[0]) eq 'Foo';
- shift;
- shift;
- unshift @_, 'b';
- pop @_;
- @_, defined wantarray ? wantarray ? 'x' : 'y' : 'z';
-}
-
-my $test;
-
-for $test (
- # flags args expected description
- [ &Devel::PPPort::G_SCALAR, [ ], [ qw(y 1) ], '0 args, G_SCALAR' ],
- [ &Devel::PPPort::G_SCALAR, [ qw(a p q) ], [ qw(y 1) ], '3 args, G_SCALAR' ],
- [ &Devel::PPPort::G_ARRAY, [ ], [ qw(x 1) ], '0 args, G_ARRAY' ],
- [ &Devel::PPPort::G_ARRAY, [ qw(a p q) ], [ qw(b p x 3) ], '3 args, G_ARRAY' ],
- [ &Devel::PPPort::G_DISCARD, [ ], [ qw(0) ], '0 args, G_DISCARD' ],
- [ &Devel::PPPort::G_DISCARD, [ qw(a p q) ], [ qw(0) ], '3 args, G_DISCARD' ],
-)
-{
- my ($flags, $args, $expected, $description) = @$test;
- print "# --- $description ---\n";
- ok(eq_array( [ &Devel::PPPort::call_sv(\&f, $flags, @$args) ], $expected));
- ok(eq_array( [ &Devel::PPPort::call_sv(*f, $flags, @$args) ], $expected));
- ok(eq_array( [ &Devel::PPPort::call_sv('f', $flags, @$args) ], $expected));
- ok(eq_array( [ &Devel::PPPort::call_pv('f', $flags, @$args) ], $expected));
- ok(eq_array( [ &Devel::PPPort::call_argv('f', $flags, @$args) ], $expected));
- ok(eq_array( [ &Devel::PPPort::eval_sv("f(qw(@$args))", $flags) ], $expected));
- ok(eq_array( [ &Devel::PPPort::call_method('meth', $flags, $obj, @$args) ], $expected));
- ok(eq_array( [ &Devel::PPPort::call_sv_G_METHOD('meth', $flags, $obj, @$args) ], $expected));
-};
-
-is(&Devel::PPPort::eval_pv('f()', 0), 'y');
-is(&Devel::PPPort::eval_pv('f(qw(a b c))', 0), 'y');
-
-is(!defined $::{'less::'}, 1, "Hadn't loaded less yet");
-Devel::PPPort::load_module(0, "less", undef);
-is(defined $::{'less::'}, 1, "Have now loaded less");
-
-ok(eval { Devel::PPPort::eval_pv('die', 0); 1 });
-ok(!eval { Devel::PPPort::eval_pv('die', 1); 1 });
-ok($@ =~ /^Died at \(eval [0-9]+\) line 1\.\n$/);
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_pv('', 0); 1 });
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_pv('', 1); 1 });
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_pv('$@ = "string2"', 0); 1 });
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_pv('$@ = "string2"', 1); 1 });
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_pv('$@ = "string2"; die "string3"', 0); 1 });
-ok(!eval { $@ = 'string1'; Devel::PPPort::eval_pv('$@ = "string2"; die "string3"', 1); 1 });
-ok($@ =~ /^string3 at \(eval [0-9]+\) line 1\.\n$/);
-ok(!eval { Devel::PPPort::eval_pv('die False->new', 1); 1 }, 'check false value is rethrown');
-
-if ("$]" >= '5.007003' or ("$]" >= '5.006001' and "$]" < '5.007')) {
- my $hashref = { key => 'value' };
- is(eval { Devel::PPPort::eval_pv('die $hashref', 1); 1 }, undef, 'check plain hashref is rethrown');
- is(ref($@), 'HASH', 'check $@ is hashref') and
- is($@->{key}, 'value', 'check $@ hashref has correct value');
-
- my $false = False->new;
- ok(!$false);
- is(eval { Devel::PPPort::eval_pv('die $false', 1); 1 }, undef, 'check false objects are rethrown');
- is(ref($@), 'False', 'check that $@ contains False object');
- is("$@", "$false", 'check we got the expected object');
-} else {
- skip 'skip: no support for references in $@', 7;
-}
-
-ok(eval { Devel::PPPort::eval_sv('die', 0); 1 });
-ok(!eval { Devel::PPPort::eval_sv('die', &Devel::PPPort::G_RETHROW); 1 });
-ok($@ =~ /^Died at \(eval [0-9]+\) line 1\.\n$/);
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_sv('', 0); 1 });
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_sv('', &Devel::PPPort::G_RETHROW); 1 });
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_sv('$@ = "string2"', 0); 1 });
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_sv('$@ = "string2"', &Devel::PPPort::G_RETHROW); 1 });
-ok(eval { $@ = 'string1'; Devel::PPPort::eval_sv('$@ = "string2"; die "string3"', 0); 1 });
-ok(!eval { $@ = 'string1'; Devel::PPPort::eval_sv('$@ = "string2"; die "string3"', &Devel::PPPort::G_RETHROW); 1 });
-ok($@ =~ /^string3 at \(eval [0-9]+\) line 1\.\n$/);
-ok(!eval { Devel::PPPort::eval_sv('die False->new', &Devel::PPPort::G_RETHROW); 1 }, 'check false value is rethrown');
-
-if ("$]" >= '5.007003' or ("$]" >= '5.006001' and "$]" < '5.007')) {
- my $hashref = { key => 'value' };
- is(eval { Devel::PPPort::eval_sv('die $hashref', &Devel::PPPort::G_RETHROW); 1 }, undef, 'check plain hashref is rethrown');
- is(ref($@), 'HASH', 'check $@ is hashref') and
- is($@->{key}, 'value', 'check $@ hashref has correct value');
-
- my $false = False->new;
- ok(!$false);
- is(eval { Devel::PPPort::eval_sv('die $false', &Devel::PPPort::G_RETHROW); 1 }, undef, 'check false objects are rethrown');
- is(ref($@), 'False', 'check that $@ contains False object');
- is("$@", "$false", 'check we got the expected object');
-} else {
- skip 'skip: no support for references in $@', 7;
-}
-
-{
- package False;
- use overload bool => sub { 0 }, '""' => sub { 'Foo' };
- sub new { bless {}, shift }
-}
-
diff --git a/dist/Devel-PPPort/t/cop.t b/dist/Devel-PPPort/t/cop.t
deleted file mode 100644
index e90411c64e..0000000000
--- a/dist/Devel-PPPort/t/cop.t
+++ /dev/null
@@ -1,108 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/cop instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (8) {
- load();
- plan(tests => 8);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my $package;
-{
- package MyPackage;
- $package = &Devel::PPPort::CopSTASHPV();
-}
-print "# $package\n";
-is($package, "MyPackage");
-
-my $file = &Devel::PPPort::CopFILE();
-print "# $file\n";
-ok($file =~ /cop/i);
-
-BEGIN {
- if ("$]" < 5.006000) {
- skip("Perl version too early", 8);
- exit;
- }
-}
-
-BEGIN {
- package DB;
- no strict "refs";
- local $^P = 1;
- sub sub { &$DB::sub }
-}
-
-{ package One; sub one { Devel::PPPort::caller_cx($_[0]) } }
-{
- package Two;
- sub two { One::one(@_) }
- sub dbtwo {
- BEGIN { $^P = 1 }
- One::one(@_);
- BEGIN { $^P = 0 }
- }
-}
-
-for (
- # This is rather confusing. The package is the package the call is
- # made *from*, the sub name is the sub the call is made *to*. When
- # DB::sub is involved the first call is to DB::sub from the calling
- # package, the second is to the real sub from package DB.
- [\&One::one, 0, qw/main one main one/],
- [\&One::one, 2, ],
- [\&Two::two, 0, qw/Two one Two one/],
- [\&Two::two, 1, qw/main two main two/],
- [\&Two::dbtwo, 0, qw/Two sub DB one/],
- [\&Two::dbtwo, 1, qw/main dbtwo main dbtwo/],
-) {
- my ($sub, $arg, @want) = @$_;
- my @got = $sub->($arg);
- ok(eq_array(\@got, \@want));
-}
-
diff --git a/dist/Devel-PPPort/t/exception.t b/dist/Devel-PPPort/t/exception.t
deleted file mode 100644
index 6e7434c863..0000000000
--- a/dist/Devel-PPPort/t/exception.t
+++ /dev/null
@@ -1,71 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/exception instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (7) {
- load();
- plan(tests => 7);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my $rv;
-
-$Devel::PPPort::exception_caught = undef;
-
-$rv = eval { &Devel::PPPort::exception(0) };
-is($@, '');
-ok(defined $rv);
-is($rv, 42);
-is($Devel::PPPort::exception_caught, 0);
-
-$Devel::PPPort::exception_caught = undef;
-
-$rv = eval { &Devel::PPPort::exception(1) };
-is($@, "boo\n");
-ok(not defined $rv);
-is($Devel::PPPort::exception_caught, 1);
-
diff --git a/dist/Devel-PPPort/t/format.t b/dist/Devel-PPPort/t/format.t
deleted file mode 100644
index 8767611a36..0000000000
--- a/dist/Devel-PPPort/t/format.t
+++ /dev/null
@@ -1,80 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/format instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (5) {
- load();
- plan(tests => 5);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-use Config;
-
-if ("$]" < '5.004') {
- skip 'skip: No newSVpvf support', 5;
- exit;
-}
-
-my $num = 1.12345678901234567890;
-
-eval { Devel::PPPort::croak_NVgf($num) };
-ok($@ =~ /^1.1234567890/);
-
-is(Devel::PPPort::sprintf_iv(-8), 'XX_-8_XX');
-is(Devel::PPPort::sprintf_uv(15), 'XX_15_XX');
-
-my $ivsize = $Config::Config{ivsize};
-if ($ivsize && ($ivsize == 4 || $ivsize == 8)) {
- my $ivmax = ($ivsize == 4) ? '2147483647' : '9223372036854775807';
- my $uvmax = ($ivsize == 4) ? '4294967295' : '18446744073709551615';
- is(Devel::PPPort::sprintf_ivmax(), $ivmax);
- is(Devel::PPPort::sprintf_uvmax(), $uvmax);
-}
-else {
- skip 'skip: unknown ivsize', 2;
-}
-
diff --git a/dist/Devel-PPPort/t/grok.t b/dist/Devel-PPPort/t/grok.t
deleted file mode 100644
index 0755a42c2a..0000000000
--- a/dist/Devel-PPPort/t/grok.t
+++ /dev/null
@@ -1,66 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/grok instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (10) {
- load();
- plan(tests => 10);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(&Devel::PPPort::grok_number("42"), 42);
-ok(!defined(&Devel::PPPort::grok_number("A")));
-is(&Devel::PPPort::grok_bin("10000001"), 129);
-is(&Devel::PPPort::grok_hex("deadbeef"), 0xdeadbeef);
-is(&Devel::PPPort::grok_oct("377"), 255);
-
-is(&Devel::PPPort::Perl_grok_number("42"), 42);
-ok(!defined(&Devel::PPPort::Perl_grok_number("A")));
-is(&Devel::PPPort::Perl_grok_bin("10000001"), 129);
-is(&Devel::PPPort::Perl_grok_hex("deadbeef"), 0xdeadbeef);
-is(&Devel::PPPort::Perl_grok_oct("377"), 255);
-
diff --git a/dist/Devel-PPPort/t/gv.t b/dist/Devel-PPPort/t/gv.t
deleted file mode 100644
index f892fd19f4..0000000000
--- a/dist/Devel-PPPort/t/gv.t
+++ /dev/null
@@ -1,67 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/gv instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (7) {
- load();
- plan(tests => 7);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(Devel::PPPort::GvSVn(), 1);
-
-is(Devel::PPPort::isGV_with_GP(), 2);
-
-is(Devel::PPPort::get_cvn_flags(), 3);
-
-is(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
-
-is(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);
-
-is(Devel::PPPort::gv_init_type("sanity_check", 0, 0), "*main::sanity_check");
-ok($::{sanity_check});
-
diff --git a/dist/Devel-PPPort/t/limits.t b/dist/Devel-PPPort/t/limits.t
deleted file mode 100644
index f29400a242..0000000000
--- a/dist/Devel-PPPort/t/limits.t
+++ /dev/null
@@ -1,59 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/limits instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (4) {
- load();
- plan(tests => 4);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-ok(&Devel::PPPort::iv_size());
-ok(&Devel::PPPort::uv_size());
-ok(&Devel::PPPort::iv_type());
-ok(&Devel::PPPort::uv_type());
-
diff --git a/dist/Devel-PPPort/t/locale.t b/dist/Devel-PPPort/t/locale.t
deleted file mode 100644
index 8bc9d5033c..0000000000
--- a/dist/Devel-PPPort/t/locale.t
+++ /dev/null
@@ -1,67 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/locale instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (1) {
- load();
- plan(tests => 1);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-use Config;
-
- # We don't know for sure that we are in the global locale for testing. But
- # if this is unthreaded, it almost certainly is. But Configure can be called
- # to force POSIX locales on unthreaded systems. If this becomes a problem
- # this check could be beefed up.
- if ($Config{usethreads}) {
- ok(1);
-}
-else {
- ok(&Devel::PPPort::sync_locale());
-}
-
diff --git a/dist/Devel-PPPort/t/mPUSH.t b/dist/Devel-PPPort/t/mPUSH.t
deleted file mode 100644
index 00c6bba022..0000000000
--- a/dist/Devel-PPPort/t/mPUSH.t
+++ /dev/null
@@ -1,66 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/mPUSH instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (10) {
- load();
- plan(tests => 10);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(join(':', &Devel::PPPort::mPUSHs()), "foo:bar:42");
-is(join(':', &Devel::PPPort::mPUSHp()), "one:two:three");
-is(join(':', &Devel::PPPort::mPUSHn()), "0.5:-0.25:0.125");
-is(join(':', &Devel::PPPort::mPUSHi()), "-1:2:-3");
-is(join(':', &Devel::PPPort::mPUSHu()), "1:2:3");
-
-is(join(':', &Devel::PPPort::mXPUSHs()), "foo:bar:42");
-is(join(':', &Devel::PPPort::mXPUSHp()), "one:two:three");
-is(join(':', &Devel::PPPort::mXPUSHn()), "0.5:-0.25:0.125");
-is(join(':', &Devel::PPPort::mXPUSHi()), "-1:2:-3");
-is(join(':', &Devel::PPPort::mXPUSHu()), "1:2:3");
-
diff --git a/dist/Devel-PPPort/t/magic.t b/dist/Devel-PPPort/t/magic.t
deleted file mode 100644
index 3afa997035..0000000000
--- a/dist/Devel-PPPort/t/magic.t
+++ /dev/null
@@ -1,229 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/magic instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (63) {
- load();
- plan(tests => 63);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-# Find proper magic
-ok(my $obj1 = Devel::PPPort->new_with_mg());
-is(Devel::PPPort::as_string($obj1), 'hello');
-
-# Find with no magic
-my $obj = bless {}, 'Fake::Class';
-is(Devel::PPPort::as_string($obj), "Sorry, your princess is in another castle.");
-
-# Find with other magic (not the magic we are looking for)
-ok($obj = Devel::PPPort->new_with_other_mg());
-is(Devel::PPPort::as_string($obj), "Sorry, your princess is in another castle.");
-
-# Okay, attempt to remove magic that isn't there
-Devel::PPPort::remove_other_magic($obj1);
-is(Devel::PPPort::as_string($obj1), 'hello');
-
-# Remove magic that IS there
-Devel::PPPort::remove_null_magic($obj1);
-is(Devel::PPPort::as_string($obj1), "Sorry, your princess is in another castle.");
-
-# Removing when no magic present
-Devel::PPPort::remove_null_magic($obj1);
-is(Devel::PPPort::as_string($obj1), "Sorry, your princess is in another castle.");
-
-use Tie::Hash;
-my %h;
-tie %h, 'Tie::StdHash';
-$h{foo} = 'foo';
-$h{bar} = '';
-
-&Devel::PPPort::sv_catpv_mg($h{foo}, 'bar');
-is($h{foo}, 'foobar');
-
-&Devel::PPPort::sv_catpvn_mg($h{bar}, 'baz');
-is($h{bar}, 'baz');
-
-&Devel::PPPort::sv_catsv_mg($h{foo}, '42');
-is($h{foo}, 'foobar42');
-
-&Devel::PPPort::sv_setiv_mg($h{bar}, 42);
-is($h{bar}, 42);
-
-&Devel::PPPort::sv_setnv_mg($h{PI}, 3.14159);
-ok(abs($h{PI} - 3.14159) < 0.01);
-
-&Devel::PPPort::sv_setpv_mg($h{mhx}, 'mhx');
-is($h{mhx}, 'mhx');
-
-&Devel::PPPort::sv_setpvn_mg($h{mhx}, 'Marcus');
-is($h{mhx}, 'Marcus');
-
-&Devel::PPPort::sv_setsv_mg($h{sv}, 'SV');
-is($h{sv}, 'SV');
-
-&Devel::PPPort::sv_setuv_mg($h{sv}, 4711);
-is($h{sv}, 4711);
-
-&Devel::PPPort::sv_usepvn_mg($h{sv}, 'Perl');
-is($h{sv}, 'Perl');
-
-# v1 is treated as a bareword in older perls...
-my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] };
-ok("$]" < 5.009 || $@ eq '');
-ok("$]" < 5.009 || Devel::PPPort::SvVSTRING_mg($ver));
-ok(!Devel::PPPort::SvVSTRING_mg(4711));
-
-my $foo = 'bar';
-ok(Devel::PPPort::sv_magic_portable($foo));
-ok($foo eq 'bar');
-
- tie my $scalar, 'TieScalarCounter', 10;
- my $fetch = $scalar;
-
- is tied($scalar)->{fetch}, 1;
- is tied($scalar)->{store}, 0;
- is Devel::PPPort::magic_SvIV_nomg($scalar), 10;
- is tied($scalar)->{fetch}, 1;
- is tied($scalar)->{store}, 0;
- is Devel::PPPort::magic_SvUV_nomg($scalar), 10;
- is tied($scalar)->{fetch}, 1;
- is tied($scalar)->{store}, 0;
- is Devel::PPPort::magic_SvNV_nomg($scalar), 10;
- is tied($scalar)->{fetch}, 1;
- is tied($scalar)->{store}, 0;
- is Devel::PPPort::magic_SvPV_nomg_nolen($scalar), 10;
- is tied($scalar)->{fetch}, 1;
- is tied($scalar)->{store}, 0;
- ok Devel::PPPort::magic_SvTRUE_nomg($scalar);
- is tied($scalar)->{fetch}, 1;
- is tied($scalar)->{store}, 0;
-
- my $object = OverloadedObject->new('string', 5.5, 0);
-
- is Devel::PPPort::magic_SvIV_nomg($object), 5;
- is Devel::PPPort::magic_SvUV_nomg($object), 5;
- is Devel::PPPort::magic_SvNV_nomg($object), 5.5;
- is Devel::PPPort::magic_SvPV_nomg_nolen($object), 'string';
- ok !Devel::PPPort::magic_SvTRUE_nomg($object);
-
-tie my $negative, 'TieScalarCounter', -1;
-$fetch = $negative;
-
-is tied($negative)->{fetch}, 1;
-is tied($negative)->{store}, 0;
-is Devel::PPPort::magic_SvIV_nomg($negative), -1;
-if (ivers($]) >= ivers(5.6)) {
- ok !Devel::PPPort::SVf_IVisUV($negative);
-} else {
- skip 'SVf_IVisUV is unsupported', 1;
-}
-is tied($negative)->{fetch}, 1;
-is tied($negative)->{store}, 0;
-Devel::PPPort::magic_SvUV_nomg($negative);
-if (ivers($]) >= ivers(5.6)) {
- ok !Devel::PPPort::SVf_IVisUV($negative);
-} else {
- skip 'SVf_IVisUV is unsupported', 1;
-}
-is tied($negative)->{fetch}, 1;
-is tied($negative)->{store}, 0;
-
-tie my $big, 'TieScalarCounter', Devel::PPPort::above_IV_MAX();
-$fetch = $big;
-
-is tied($big)->{fetch}, 1;
-is tied($big)->{store}, 0;
-Devel::PPPort::magic_SvIV_nomg($big);
-if (ivers($]) >= ivers(5.6)) {
- ok Devel::PPPort::SVf_IVisUV($big);
-} else {
- skip 'SVf_IVisUV is unsupported', 1;
-}
-is tied($big)->{fetch}, 1;
-is tied($big)->{store}, 0;
-is Devel::PPPort::magic_SvUV_nomg($big), Devel::PPPort::above_IV_MAX();
-if (ivers($]) >= ivers(5.6)) {
- ok Devel::PPPort::SVf_IVisUV($big);
-} else {
- skip 'SVf_IVisUV is unsupported', 1;
-}
-is tied($big)->{fetch}, 1;
-is tied($big)->{store}, 0;
-
-package TieScalarCounter;
-
-sub TIESCALAR {
- my ($class, $value) = @_;
- return bless { fetch => 0, store => 0, value => $value }, $class;
-}
-
-sub FETCH {
- my ($self) = @_;
- $self->{fetch}++;
- return $self->{value};
-}
-
-sub STORE {
- my ($self, $value) = @_;
- $self->{store}++;
- $self->{value} = $value;
-}
-
-package OverloadedObject;
-
-sub new {
- my ($class, $str, $num, $bool) = @_;
- return bless { str => $str, num => $num, bool => $bool }, $class;
-}
-
-use overload
- '""' => sub { $_[0]->{str} },
- '0+' => sub { $_[0]->{num} },
- 'bool' => sub { $_[0]->{bool} },
- ;
-
diff --git a/dist/Devel-PPPort/t/memory.t b/dist/Devel-PPPort/t/memory.t
deleted file mode 100644
index fb42b21727..0000000000
--- a/dist/Devel-PPPort/t/memory.t
+++ /dev/null
@@ -1,56 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/memory instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (1) {
- load();
- plan(tests => 1);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(Devel::PPPort::checkmem(), 6);
-
diff --git a/dist/Devel-PPPort/t/mess.t b/dist/Devel-PPPort/t/mess.t
deleted file mode 100644
index eed8aeaa8e..0000000000
--- a/dist/Devel-PPPort/t/mess.t
+++ /dev/null
@@ -1,327 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/mess instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (102) {
- load();
- plan(tests => 102);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-BEGIN { if ("$]" < '5.006') { $^W = 0; } }
-
-my $warn;
-my $die;
-local $SIG{__WARN__} = sub { $warn = $_[0] };
-local $SIG{__DIE__} = sub { $die = $_[0] };
-
-my $scalar_ref = \do {my $tmp = 10};
-my $array_ref = [];
-my $hash_ref = {};
-my $obj = bless {}, 'Package';
-
-undef $die;
-ok !defined eval { Devel::PPPort::croak_sv("\xE1\n") };
-is $@, "\xE1\n";
-is $die, "\xE1\n";
-
-undef $die;
-ok !defined eval { Devel::PPPort::croak_sv(10) };
-ok $@ =~ /^10 at \Q$0\E line /;
-ok $die =~ /^10 at \Q$0\E line /;
-
-undef $die;
-$@ = 'should not be visible (1)';
-ok !defined eval {
- $@ = 'should not be visible (2)';
- Devel::PPPort::croak_sv('');
-};
-ok $@ =~ /^ at \Q$0\E line /;
-ok $die =~ /^ at \Q$0\E line /;
-
-undef $die;
-$@ = 'should not be visible';
-ok !defined eval {
- $@ = 'this must be visible';
- Devel::PPPort::croak_sv($@)
-};
-ok $@ =~ /^this must be visible at \Q$0\E line /;
-ok $die =~ /^this must be visible at \Q$0\E line /;
-
-undef $die;
-$@ = 'should not be visible';
-ok !defined eval {
- $@ = "this must be visible\n";
- Devel::PPPort::croak_sv($@)
-};
-is $@, "this must be visible\n";
-is $die, "this must be visible\n";
-
-undef $die;
-$@ = 'should not be visible';
-ok !defined eval {
- $@ = 'this must be visible';
- Devel::PPPort::croak_sv_errsv()
-};
-ok $@ =~ /^this must be visible at \Q$0\E line /;
-ok $die =~ /^this must be visible at \Q$0\E line /;
-
-undef $die;
-$@ = 'should not be visible';
-ok !defined eval {
- $@ = "this must be visible\n";
- Devel::PPPort::croak_sv_errsv()
-};
-is $@, "this must be visible\n";
-is $die, "this must be visible\n";
-
-undef $die;
-ok !defined eval { Devel::PPPort::croak_sv_with_counter("message\n") };
-is $@, "message\n";
-is Devel::PPPort::get_counter(), 1;
-
-undef $die;
-ok !defined eval { Devel::PPPort::croak_sv('') };
-ok $@ =~ /^ at \Q$0\E line /;
-ok $die =~ /^ at \Q$0\E line /;
-
-undef $die;
-ok !defined eval { Devel::PPPort::croak_sv("\xE1") };
-ok $@ =~ /^\xE1 at \Q$0\E line /;
-ok $die =~ /^\xE1 at \Q$0\E line /;
-
-undef $die;
-ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1") };
-ok $@ =~ /^\xC3\xA1 at \Q$0\E line /;
-ok $die =~ /^\xC3\xA1 at \Q$0\E line /;
-
-undef $warn;
-Devel::PPPort::warn_sv("\xE1\n");
-is $warn, "\xE1\n";
-
-undef $warn;
-Devel::PPPort::warn_sv(10);
-ok $warn =~ /^10 at \Q$0\E line /;
-
-undef $warn;
-Devel::PPPort::warn_sv('');
-ok $warn =~ /^ at \Q$0\E line /;
-
-undef $warn;
-Devel::PPPort::warn_sv("\xE1");
-ok $warn =~ /^\xE1 at \Q$0\E line /;
-
-undef $warn;
-Devel::PPPort::warn_sv("\xC3\xA1");
-ok $warn =~ /^\xC3\xA1 at \Q$0\E line /;
-
-is Devel::PPPort::mess_sv("\xE1\n", 0), "\xE1\n";
-is Devel::PPPort::mess_sv(do {my $tmp = "\xE1\n"}, 1), "\xE1\n";
-
-ok Devel::PPPort::mess_sv(10, 0) =~ /^10 at \Q$0\E line /;
-ok Devel::PPPort::mess_sv(do {my $tmp = 10}, 1) =~ /^10 at \Q$0\E line /;
-
-ok Devel::PPPort::mess_sv('', 0) =~ /^ at \Q$0\E line /;
-ok Devel::PPPort::mess_sv(do {my $tmp = ''}, 1) =~ /^ at \Q$0\E line /;
-
-ok Devel::PPPort::mess_sv("\xE1", 0) =~ /^\xE1 at \Q$0\E line /;
-ok Devel::PPPort::mess_sv(do {my $tmp = "\xE1"}, 1) =~ /^\xE1 at \Q$0\E line /;
-
-ok Devel::PPPort::mess_sv("\xC3\xA1", 0) =~ /^\xC3\xA1 at \Q$0\E line /;
-ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1"}, 1) =~ /^\xC3\xA1 at \Q$0\E line /;
-
-if ("$]" >= '5.006') {
- BEGIN { if ("$]" >= '5.006' && "$]" < '5.008') { require utf8; utf8->import(); } }
-
- undef $die;
- ok !defined eval { Devel::PPPort::croak_sv("\x{100}\n") };
- if ("$]" < '5.007001' || "$]" > '5.007003') {
- is $@, "\x{100}\n";
- } else {
- skip 'skip: broken utf8 support in die hook', 1;
- }
- if ("$]" < '5.007001' || "$]" > '5.008') {
- is $die, "\x{100}\n";
- } else {
- skip 'skip: broken utf8 support in die hook', 1;
- }
-
- undef $die;
- ok !defined eval { Devel::PPPort::croak_sv("\x{100}") };
- if ("$]" < '5.007001' || "$]" > '5.007003') {
- ok $@ =~ /^\x{100} at \Q$0\E line /;
- } else {
- skip 'skip: broken utf8 support in die hook', 1;
- }
- if ("$]" < '5.007001' || "$]" > '5.008') {
- ok $die =~ /^\x{100} at \Q$0\E line /;
- } else {
- skip 'skip: broken utf8 support in die hook', 1;
- }
-
- if ("$]" < '5.007001' || "$]" > '5.008') {
- undef $warn;
- Devel::PPPort::warn_sv("\x{100}\n");
- is $warn, "\x{100}\n";
-
- undef $warn;
- Devel::PPPort::warn_sv("\x{100}");
- ok (my $tmp = $warn) =~ /^\x{100} at \Q$0\E line /;
- } else {
- skip 'skip: broken utf8 support in warn hook', 2;
- }
-
- is Devel::PPPort::mess_sv("\x{100}\n", 0), "\x{100}\n";
- is Devel::PPPort::mess_sv(do {my $tmp = "\x{100}\n"}, 1), "\x{100}\n";
-
- ok Devel::PPPort::mess_sv("\x{100}", 0) =~ /^\x{100} at \Q$0\E line /;
- ok Devel::PPPort::mess_sv(do {my $tmp = "\x{100}"}, 1) =~ /^\x{100} at \Q$0\E line /;
-} else {
- skip 'skip: no utf8 support', 12;
-}
-
-if (ord('A') != 65) {
- skip 'skip: no ASCII support', 24;
-} elsif ( "$]" >= '5.008'
- && "$]" != '5.013000' # Broken in these ranges
- && ! ("$]" >= '5.011005' && "$]" <= '5.012000'))
-{
- undef $die;
- ok !defined eval { Devel::PPPort::croak_sv(eval '"\N{U+E1}\n"') };
- is $@, "\xE1\n";
- is $die, "\xE1\n";
-
- undef $die;
- ok !defined eval { Devel::PPPort::croak_sv(eval '"\N{U+E1}"') };
- ok $@ =~ /^\xE1 at \Q$0\E line /;
- ok $die =~ /^\xE1 at \Q$0\E line /;
-
- {
- undef $die;
- my $expect = eval '"\N{U+C3}\N{U+A1}\n"';
- ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1\n") };
- is $@, $expect;
- is $die, $expect;
- }
-
- {
- undef $die;
- my $expect = eval 'qr/^\N{U+C3}\N{U+A1} at \Q$0\E line /';
- ok !defined eval { Devel::PPPort::croak_sv("\xC3\xA1") };
- ok $@ =~ $expect;
- ok $die =~ $expect;
- }
-
- undef $warn;
- Devel::PPPort::warn_sv(eval '"\N{U+E1}\n"');
- is $warn, "\xE1\n";
-
- undef $warn;
- Devel::PPPort::warn_sv(eval '"\N{U+E1}"');
- ok $warn =~ /^\xE1 at \Q$0\E line /;
-
- undef $warn;
- Devel::PPPort::warn_sv("\xC3\xA1\n");
- is $warn, eval '"\N{U+C3}\N{U+A1}\n"';
-
- undef $warn;
- Devel::PPPort::warn_sv("\xC3\xA1");
- ok $warn =~ eval 'qr/^\N{U+C3}\N{U+A1} at \Q$0\E line /';
-
- if ("$]" < '5.004') {
- skip 'skip: no support for mess_sv', 8;
- }
- else {
- is Devel::PPPort::mess_sv(eval('"\N{U+E1}\n"'), 0), eval '"\N{U+E1}\n"';
- is Devel::PPPort::mess_sv(do {my $tmp = eval '"\N{U+E1}\n"'}, 1), eval '"\N{U+E1}\n"';
-
- ok Devel::PPPort::mess_sv(eval('"\N{U+E1}"'), 0) =~ eval 'qr/^\N{U+E1} at \Q$0\E line /';
- ok Devel::PPPort::mess_sv(do {my $tmp = eval '"\N{U+E1}"'}, 1) =~ eval 'qr/^\N{U+E1} at \Q$0\E line /';
-
- is Devel::PPPort::mess_sv("\xC3\xA1\n", 0), eval '"\N{U+C3}\N{U+A1}\n"';
- is Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1\n"}, 1), eval '"\N{U+C3}\N{U+A1}\n"';
-
- ok Devel::PPPort::mess_sv("\xC3\xA1", 0) =~ eval 'qr/^\N{U+C3}\N{U+A1} at \Q$0\E line /';
- ok Devel::PPPort::mess_sv(do {my $tmp = "\xC3\xA1"}, 1) =~ eval 'qr/^\N{U+C3}\N{U+A1} at \Q$0\E line /';
- }
-} else {
- skip 'skip: no support for \N{U+..} syntax', 24;
-}
-
-if ("$]" >= '5.007003' or ("$]" >= '5.006001' and "$]" < '5.007')) {
- undef $die;
- ok !defined eval { Devel::PPPort::croak_sv($scalar_ref) };
- ok $@ == $scalar_ref;
- ok $die == $scalar_ref;
-
- undef $die;
- ok !defined eval { Devel::PPPort::croak_sv($array_ref) };
- ok $@ == $array_ref;
- ok $die == $array_ref;
-
- undef $die;
- ok !defined eval { Devel::PPPort::croak_sv($hash_ref) };
- ok $@ == $hash_ref;
- ok $die == $hash_ref;
-
- undef $die;
- ok !defined eval { Devel::PPPort::croak_sv($obj) };
- ok $@ == $obj;
- ok $die == $obj;
-} else {
- skip 'skip: no support for exceptions', 12;
-}
-
-ok !defined eval { Devel::PPPort::croak_no_modify() };
-ok $@ =~ /^Modification of a read-only value attempted at \Q$0\E line /;
-
-ok !defined eval { Devel::PPPort::croak_memory_wrap() };
-ok $@ =~ /^panic: memory wrap at \Q$0\E line /;
-
-ok !defined eval { Devel::PPPort::croak_xs_usage("params") };
-ok $@ =~ /^Usage: Devel::PPPort::croak_xs_usage\(params\) at \Q$0\E line /;
-
diff --git a/dist/Devel-PPPort/t/misc.t b/dist/Devel-PPPort/t/misc.t
deleted file mode 100644
index 2502aa4931..0000000000
--- a/dist/Devel-PPPort/t/misc.t
+++ /dev/null
@@ -1,499 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/misc instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (26826) {
- load();
- plan(tests => 26826);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-use vars qw($my_sv @my_av %my_hv);
-
-ok(&Devel::PPPort::boolSV(1), "Verify boolSV(1) is true");
-ok(!&Devel::PPPort::boolSV(0), "Verify boolSV(0) is false");
-
-$_ = "Fred";
-is(&Devel::PPPort::DEFSV(), "Fred", '$_ is FRED; Verify DEFSV is FRED');
-is(&Devel::PPPort::UNDERBAR(), "Fred", 'And verify UNDERBAR is FRED');
-
-if (ivers($]) >= ivers(5.9.2) && ivers($]) < ivers(5.23)) {
- eval q{
- no warnings "deprecated";
- no if $^V >= v5.17.9, warnings => "experimental::lexical_topic";
- my $_ = "Tony";
- is(&Devel::PPPort::DEFSV(), "Fred", 'lexical_topic eval: $_ is Tony; Verify DEFSV is Fred');
- is(&Devel::PPPort::UNDERBAR(), "Tony", 'And verify UNDERBAR is Tony');
- };
- die __FILE__ . __LINE__ . ": $@" if $@;
-}
-else {
- skip("perl version outside testing range of lexical_topic", 2);
-}
-
-my @r = &Devel::PPPort::DEFSV_modify();
-
-ok(@r == 3, "Verify got 3 elements");
-is($r[0], 'Fred');
-is($r[1], 'DEFSV');
-is($r[2], 'Fred');
-
-is(&Devel::PPPort::DEFSV(), "Fred");
-
-eval { 1 };
-ok(!&Devel::PPPort::ERRSV(), "Verify ERRSV on true is false");
-eval { cannot_call_this_one() };
-ok(&Devel::PPPort::ERRSV(), "Verify ERRSV on false is true");
-
-ok(&Devel::PPPort::gv_stashpvn('Devel::PPPort', 0));
-ok(!&Devel::PPPort::gv_stashpvn('does::not::exist', 0));
-ok(&Devel::PPPort::gv_stashpvn('does::not::exist', 1));
-
-$my_sv = 1;
-ok(&Devel::PPPort::get_sv('my_sv', 0));
-ok(!&Devel::PPPort::get_sv('not_my_sv', 0));
-ok(&Devel::PPPort::get_sv('not_my_sv', 1));
-
-@my_av = (1);
-ok(&Devel::PPPort::get_av('my_av', 0));
-ok(!&Devel::PPPort::get_av('not_my_av', 0));
-ok(&Devel::PPPort::get_av('not_my_av', 1));
-
-%my_hv = (a=>1);
-ok(&Devel::PPPort::get_hv('my_hv', 0));
-ok(!&Devel::PPPort::get_hv('not_my_hv', 0));
-ok(&Devel::PPPort::get_hv('not_my_hv', 1));
-
-sub my_cv { 1 };
-ok(&Devel::PPPort::get_cv('my_cv', 0));
-ok(!&Devel::PPPort::get_cv('not_my_cv', 0));
-ok(&Devel::PPPort::get_cv('not_my_cv', 1));
-
-is(Devel::PPPort::dXSTARG(42), 43);
-is(Devel::PPPort::dAXMARK(4711), 4710);
-
-is(Devel::PPPort::prepush(), 42);
-
-is(join(':', Devel::PPPort::xsreturn(0)), 'test1');
-is(join(':', Devel::PPPort::xsreturn(1)), 'test1:test2');
-
-is(Devel::PPPort::PERL_ABS(42), 42, "Verify PERL_ABS(42) is 42");
-is(Devel::PPPort::PERL_ABS(-13), 13, "Verify PERL_ABS(-13) is 13");
-
-is(Devel::PPPort::SVf(42), ivers($]) >= ivers(5.4) ? '[42]' : '42');
-is(Devel::PPPort::SVf('abc'), ivers($]) >= ivers(5.4) ? '[abc]' : 'abc');
-
-is(&Devel::PPPort::Perl_ppaddr_t("FOO"), "foo");
-
-is(&Devel::PPPort::ptrtests(), 63);
-
-is(&Devel::PPPort::OpSIBLING_tests(), 0);
-
-if (ivers($]) >= ivers(5.9)) {
- eval q{
- is(&Devel::PPPort::check_HeUTF8("hello"), "norm");
- is(&Devel::PPPort::check_HeUTF8("\N{U+263a}"), "utf8");
- };
-} else {
- skip("Too early perl version", 2);
-}
-
-@r = &Devel::PPPort::check_c_array();
-is($r[0], 4);
-is($r[1], "13");
-
-ok(!Devel::PPPort::SvRXOK(""));
-ok(!Devel::PPPort::SvRXOK(bless [], "Regexp"));
-
-if (ivers($]) < ivers(5.5)) {
- skip 'no qr// objects in this perl', 2;
-} else {
- my $qr = eval 'qr/./';
- ok(Devel::PPPort::SvRXOK($qr), "SVRXOK(qr) is true");
- ok(Devel::PPPort::SvRXOK(bless $qr, "Surprise"));
-}
-
-ok( Devel::PPPort::NATIVE_TO_LATIN1(0xB6) == 0xB6);
-ok( Devel::PPPort::NATIVE_TO_LATIN1(0x1) == 0x1);
-ok( Devel::PPPort::NATIVE_TO_LATIN1(ord("A")) == 0x41);
-ok( Devel::PPPort::NATIVE_TO_LATIN1(ord("0")) == 0x30);
-
-ok( Devel::PPPort::LATIN1_TO_NATIVE(0xB6) == 0xB6, "Verify LATIN1_TO_NATIVE(0xB6) is 0xB6");
-if (ord("A") == 65) {
- ok( Devel::PPPort::LATIN1_TO_NATIVE(0x41) == 0x41);
- ok( Devel::PPPort::LATIN1_TO_NATIVE(0x30) == 0x30);
-}
-else {
- ok( Devel::PPPort::LATIN1_TO_NATIVE(0x41) == 0xC1);
- ok( Devel::PPPort::LATIN1_TO_NATIVE(0x30) == 0xF0);
-}
-
-ok( Devel::PPPort::isALNUMC_L1(ord("5")));
-ok( Devel::PPPort::isALNUMC_L1(0xFC));
-ok(! Devel::PPPort::isALNUMC_L1(0xB6));
-
-ok( Devel::PPPort::isOCTAL(ord("7")), "Verify '7' is OCTAL");
-ok(! Devel::PPPort::isOCTAL(ord("8")), "Verify '8' isn't OCTAL");
-
-ok( Devel::PPPort::isOCTAL_A(ord("0")), "Verify '0' is OCTAL_A");
-ok(! Devel::PPPort::isOCTAL_A(ord("9")), "Verify '9' isn't OCTAL_A");
-
-ok( Devel::PPPort::isOCTAL_L1(ord("2")), "Verify '2' is OCTAL_L1");
-ok(! Devel::PPPort::isOCTAL_L1(ord("8")), "Verify '8' isn't OCTAL_L1");
-
-my $way_too_early_msg = 'UTF-8 not implemented on this perl';
-
-# For the other properties, we test every code point from 0.255, and a
-# smattering of higher ones. First populate a hash with keys like '65:ALPHA'
-# to indicate that the code point there is alphabetic
-my $i;
-my %types;
-for $i (0x41..0x5A, 0x61..0x7A, 0xAA, 0xB5, 0xBA, 0xC0..0xD6, 0xD8..0xF6,
- 0xF8..0x101)
-{
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:ALPHA"} = 1;
- $types{"$native:ALPHANUMERIC"} = 1;
- $types{"$native:IDFIRST"} = 1;
- $types{"$native:IDCONT"} = 1;
- $types{"$native:PRINT"} = 1;
- $types{"$native:WORDCHAR"} = 1;
-}
-for $i (0x30..0x39, 0x660, 0xFF19) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:ALPHANUMERIC"} = 1;
- $types{"$native:DIGIT"} = 1;
- $types{"$native:IDCONT"} = 1;
- $types{"$native:WORDCHAR"} = 1;
- $types{"$native:GRAPH"} = 1;
- $types{"$native:PRINT"} = 1;
- $types{"$native:XDIGIT"} = 1 if $i < 255 || ($i >= 0xFF10 && $i <= 0xFF19);
-}
-
-for $i (0..0x7F) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:ASCII"} = 1;
-}
-for $i (0..0x1f, 0x7F..0x9F) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:CNTRL"} = 1;
-}
-for $i (0x21..0x7E, 0xA1..0x101, 0x660) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:GRAPH"} = 1;
- $types{"$native:PRINT"} = 1;
-}
-for $i (0x09, 0x20, 0xA0) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:BLANK"} = 1;
- $types{"$native:SPACE"} = 1;
- $types{"$native:PSXSPC"} = 1;
- $types{"$native:PRINT"} = 1 if $i > 0x09;
-}
-for $i (0x09..0x0D, 0x85, 0x2029) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:SPACE"} = 1;
- $types{"$native:PSXSPC"} = 1;
-}
-for $i (0x41..0x5A, 0xC0..0xD6, 0xD8..0xDE, 0x100) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:UPPER"} = 1;
- $types{"$native:XDIGIT"} = 1 if $i < 0x47;
-}
-for $i (0x61..0x7A, 0xAA, 0xB5, 0xBA, 0xDF..0xF6, 0xF8..0xFF, 0x101) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:LOWER"} = 1;
- $types{"$native:XDIGIT"} = 1 if $i < 0x67;
-}
-for $i (0x21..0x2F, 0x3A..0x40, 0x5B..0x60, 0x7B..0x7E, 0xB6, 0xA1, 0xA7, 0xAB,
- 0xB7, 0xBB, 0xBF, 0x5BE)
-{
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- $types{"$native:PUNCT"} = 1;
- $types{"$native:GRAPH"} = 1;
- $types{"$native:PRINT"} = 1;
-}
-
-$i = ord('_');
-$types{"$i:WORDCHAR"} = 1;
-$types{"$i:IDFIRST"} = 1;
-$types{"$i:IDCONT"} = 1;
-
-# Now find all the unique code points included above.
-my %code_points_to_test;
-my $key;
-for $key (keys %types) {
- $key =~ s/:.*//;
- $code_points_to_test{$key} = 1;
-}
-
-# And test each one
-for $i (sort { $a <=> $b } keys %code_points_to_test) {
- my $native = Devel::PPPort::LATIN1_TO_NATIVE($i);
- my $hex = sprintf("0x%02X", $native);
-
- # And for each code point test each of the classes
- my $class;
- for $class (qw(ALPHA ALPHANUMERIC ASCII BLANK CNTRL DIGIT GRAPH IDCONT
- IDFIRST LOWER PRINT PSXSPC PUNCT SPACE UPPER WORDCHAR
- XDIGIT))
- {
- if ($i < 256) { # For the ones that can fit in a byte, test each of
- # three macros.
- my $suffix;
- for $suffix ("", "_A", "_L1", "_uvchr") {
- my $should_be = ($i > 0x7F && $suffix !~ /_(uvchr|L1)/)
- ? 0 # Fail on non-ASCII unless unicode
- : ($types{"$native:$class"} || 0);
- if (ivers($]) < ivers(5.6) && $suffix eq '_uvchr') {
- skip("No UTF-8 on this perl", 1);
- next;
- }
-
- my $eval_string = "Devel::PPPort::is${class}$suffix($hex)";
- local $SIG{__WARN__} = sub {};
- my $is = eval $eval_string || 0;
- die "eval 'For $i: $eval_string' gave $@" if $@;
- is($is, $should_be, "'$eval_string'");
- }
- }
-
- # For all code points, test the '_utf8' macros
- my $sub_fcn;
- for $sub_fcn ("", "_LC") {
- my $skip = "";
- if (ivers($]) < ivers(5.6)) {
- $skip = $way_too_early_msg;
- }
- elsif (ivers($]) < ivers(5.7) && $native > 255) {
- $skip = "Perls earlier than 5.7 give wrong answers for above Latin1 code points";
- }
- elsif (ivers($]) <= ivers(5.11.3) && $native == 0x2029 && ($class eq 'PRINT' || $class eq 'GRAPH')) {
- $skip = "Perls earlier than 5.11.3 considered high space characters as isPRINT and isGRAPH";
- }
- elsif ($sub_fcn eq '_LC' && $i < 256) {
- $skip = "Testing of code points whose results depend on locale is skipped ";
- }
- my $fcn = "Devel::PPPort::is${class}${sub_fcn}_utf8_safe";
- my $utf8;
-
- if ($skip) {
- skip $skip, 1;
- }
- else {
- $utf8 = quotemeta Devel::PPPort::uvchr_to_utf8($native);
- my $should_be = $types{"$native:$class"} || 0;
- my $eval_string = "$fcn(\"$utf8\", 0)";
- local $SIG{__WARN__} = sub {};
- my $is = eval $eval_string || 0;
- die "eval 'For $i, $eval_string' gave $@" if $@;
- is($is, $should_be, sprintf("For U+%04X '%s'", $native, $eval_string));
- }
-
- # And for the high code points, test that a too short malformation (the
- # -1) causes it to fail
- if ($i > 255) {
- if ($skip) {
- skip $skip, 1;
- }
- elsif (ivers($]) >= ivers(5.25.9)) {
- skip("Prints an annoying error message that khw doesn't know how to easily suppress", 1);
- }
- else {
- my $eval_string = "$fcn(\"$utf8\", -1)";
- local $SIG{__WARN__} = sub {};
- my $is = eval "$eval_string" || 0;
- die "eval '$eval_string' gave $@" if $@;
- is($is, 0, sprintf("For U+%04X '%s'", $native, $eval_string));
- }
- }
- }
- }
-}
-
-my %case_changing = ( 'LOWER' => [ [ ord('A'), ord('a') ],
- [ Devel::PPPort::LATIN1_TO_NATIVE(0xC0),
- Devel::PPPort::LATIN1_TO_NATIVE(0xE0) ],
- [ 0x100, 0x101 ],
- ],
- 'FOLD' => [ [ ord('C'), ord('c') ],
- [ Devel::PPPort::LATIN1_TO_NATIVE(0xC0),
- Devel::PPPort::LATIN1_TO_NATIVE(0xE0) ],
- [ 0x104, 0x105 ],
- [ Devel::PPPort::LATIN1_TO_NATIVE(0xDF),
- 'ss' ],
- ],
- 'UPPER' => [ [ ord('a'), ord('A'), ],
- [ Devel::PPPort::LATIN1_TO_NATIVE(0xE0),
- Devel::PPPort::LATIN1_TO_NATIVE(0xC0) ],
- [ 0x101, 0x100 ],
- [ Devel::PPPort::LATIN1_TO_NATIVE(0xDF),
- 'SS' ],
- ],
- 'TITLE' => [ [ ord('c'), ord('C'), ],
- [ Devel::PPPort::LATIN1_TO_NATIVE(0xE2),
- Devel::PPPort::LATIN1_TO_NATIVE(0xC2) ],
- [ 0x103, 0x102 ],
- [ Devel::PPPort::LATIN1_TO_NATIVE(0xDF),
- 'Ss' ],
- ],
- );
-
-my $name;
-for $name (keys %case_changing) {
- my @code_points_to_test = @{$case_changing{$name}};
- my $unchanged;
- for $unchanged (@code_points_to_test) {
- my @pair = @$unchanged;
- my $original = $pair[0];
- my $changed = $pair[1];
- my $utf8_changed = $changed;
- my $is_cp = $utf8_changed =~ /^\d+$/;
- my $should_be_bytes;
- if (ivers($]) >= ivers(5.6)) {
- if ($is_cp) {
- $utf8_changed = Devel::PPPort::uvchr_to_utf8($changed);
- $should_be_bytes = Devel::PPPort::UTF8_SAFE_SKIP($utf8_changed, 0);
- }
- else {
- die("Test currently doesn't work for non-ASCII multi-char case changes") if eval '$utf8_changed =~ /[[:^ascii:]]/';
- $should_be_bytes = length $utf8_changed;
- }
- }
-
- my $fcn = "to${name}_uvchr";
- my $skip = "";
-
- if (ivers($]) < ivers(5.6)) {
- $skip = $way_too_early_msg;
- }
- elsif (! $is_cp) {
- $skip = "Can't do uvchr on a multi-char string";
- }
- if ($skip) {
- skip $skip, 4;
- }
- else {
- if ($is_cp) {
- $utf8_changed = Devel::PPPort::uvchr_to_utf8($changed);
- $should_be_bytes = Devel::PPPort::UTF8_SAFE_SKIP($utf8_changed, 0);
- }
- else {
- my $non_ascii_re = (ivers($]) >= ivers(5.6)) ? '[[:^ascii:]]' : '[^\x00-\x7F]';
- die("Test currently doesn't work for non-ASCII multi-char case changes") if eval '$utf8_changed =~ /$non_ascii_re/';
- $should_be_bytes = length $utf8_changed;
- }
-
- my $ret = eval "Devel::PPPort::$fcn($original)";
- my $fail = $@; # Have to save $@, as it gets destroyed
- is ($fail, "", "$fcn($original) didn't fail");
- my $first = (ivers($]) != ivers(5.6))
- ? substr($utf8_changed, 0, 1)
- : $utf8_changed, 0, 1;
- is($ret->[0], ord $first,
- "ord of $fcn($original) is $changed");
- is($ret->[1], $utf8_changed,
- "UTF-8 of of $fcn($original) is correct");
- is($ret->[2], $should_be_bytes,
- "Length of $fcn($original) is $should_be_bytes");
- }
-
- my $truncate;
- for $truncate (0..2) {
- my $skip;
- if (ivers($]) < ivers(5.6)) {
- $skip = $way_too_early_msg;
- }
- elsif (! $is_cp && ivers($]) < ivers(5.7.3)) {
- $skip = "Multi-character case change not implemented until 5.7.3";
- }
- elsif ($truncate == 2 && ivers($]) > ivers(5.25.8)) {
- $skip = "Zero length inputs cause assertion failure; test dies in modern perls";
- }
- elsif ($truncate > 0 && length $changed > 1) {
- $skip = "Don't test shortened multi-char case changes";
- }
- elsif ($truncate > 0 && Devel::PPPort::UVCHR_IS_INVARIANT($original)) {
- $skip = "Don't try to test shortened single bytes";
- }
- if ($skip) {
- skip $skip, 4;
- }
- else {
- my $fcn = "to${name}_utf8_safe";
- my $utf8 = quotemeta Devel::PPPort::uvchr_to_utf8($original);
- my $real_truncate = ($truncate < 2)
- ? $truncate : $should_be_bytes;
- my $eval_string = "Devel::PPPort::$fcn(\"$utf8\", $real_truncate)";
- my $ret = eval "no warnings; $eval_string" || 0;
- my $fail = $@; # Have to save $@, as it gets destroyed
- if ($truncate == 0) {
- is ($fail, "", "Didn't fail on full length input");
- my $first = (ivers($]) != ivers(5.6))
- ? substr($utf8_changed, 0, 1)
- : $utf8_changed, 0, 1;
- is($ret->[0], ord $first,
- "ord of $fcn($original) is $changed");
- is($ret->[1], $utf8_changed,
- "UTF-8 of of $fcn($original) is correct");
- is($ret->[2], $should_be_bytes,
- "Length of $fcn($original) is $should_be_bytes");
- }
- else {
- is ($fail, eval 'qr/Malformed UTF-8 character/',
- "Gave appropriate error for short char: $original");
- skip("Expected failure means remaining tests for"
- . " this aren't relevant", 3);
- }
- }
- }
- }
-}
-
-is(&Devel::PPPort::av_top_index([1,2,3]), 2);
-is(&Devel::PPPort::av_tindex([1,2,3,4]), 3);
-
diff --git a/dist/Devel-PPPort/t/newCONSTSUB.t b/dist/Devel-PPPort/t/newCONSTSUB.t
deleted file mode 100644
index 663dd01c5c..0000000000
--- a/dist/Devel-PPPort/t/newCONSTSUB.t
+++ /dev/null
@@ -1,63 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/newCONSTSUB instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (3) {
- load();
- plan(tests => 3);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-&Devel::PPPort::call_newCONSTSUB_1();
-is(&Devel::PPPort::test_value_1(), 1);
-
-&Devel::PPPort::call_newCONSTSUB_2();
-is(&Devel::PPPort::test_value_2(), 2);
-
-&Devel::PPPort::call_newCONSTSUB_3();
-is(&Devel::PPPort::test_value_3(), 3);
-
diff --git a/dist/Devel-PPPort/t/newRV.t b/dist/Devel-PPPort/t/newRV.t
deleted file mode 100644
index 9a2091b508..0000000000
--- a/dist/Devel-PPPort/t/newRV.t
+++ /dev/null
@@ -1,57 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/newRV instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (2) {
- load();
- plan(tests => 2);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(&Devel::PPPort::newRV_inc_REFCNT, 1);
-is(&Devel::PPPort::newRV_noinc_REFCNT, 1);
-
diff --git a/dist/Devel-PPPort/t/newSV_type.t b/dist/Devel-PPPort/t/newSV_type.t
deleted file mode 100644
index 10044f1de2..0000000000
--- a/dist/Devel-PPPort/t/newSV_type.t
+++ /dev/null
@@ -1,56 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/newSV_type instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (1) {
- load();
- plan(tests => 1);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(Devel::PPPort::newSV_type(), 4);
-
diff --git a/dist/Devel-PPPort/t/newSVpv.t b/dist/Devel-PPPort/t/newSVpv.t
deleted file mode 100644
index fb1ec787ff..0000000000
--- a/dist/Devel-PPPort/t/newSVpv.t
+++ /dev/null
@@ -1,82 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/newSVpv instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (15) {
- load();
- plan(tests => 15);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my @s = &Devel::PPPort::newSVpvn();
-ok(@s == 5);
-is($s[0], "test");
-is($s[1], "te");
-is($s[2], "");
-ok(!defined($s[3]));
-ok(!defined($s[4]));
-
-@s = &Devel::PPPort::newSVpvn_flags();
-ok(@s == 5);
-is($s[0], "test");
-is($s[1], "te");
-is($s[2], "");
-ok(!defined($s[3]));
-ok(!defined($s[4]));
-
-@s = &Devel::PPPort::newSVpvn_utf8();
-ok(@s == 1);
-is($s[0], "test");
-
-if ("$]" >= 5.008001) {
- require utf8;
- ok(utf8::is_utf8($s[0]));
-}
-else {
- skip("skip: no is_utf8()", 1);
-}
-
diff --git a/dist/Devel-PPPort/t/podtest.t b/dist/Devel-PPPort/t/podtest.t
deleted file mode 100644
index f02fba3edf..0000000000
--- a/dist/Devel-PPPort/t/podtest.t
+++ /dev/null
@@ -1,87 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/podtest instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (0) {
- load();
- plan(tests => 0);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my @pods = qw( HACKERS PPPort.pm ppport.h soak devel/regenerate devel/buildperl.pl );
-
-my $reason = '';
-
-if ($ENV{'SKIP_SLOW_TESTS'}) {
- $reason = 'SKIP_SLOW_TESTS';
-}
-else {
- # Try loading Test::Pod
- eval q{
- use Test::Pod;
- $Test::Pod::VERSION >= 1.41
- or die "Test::Pod version only $Test::Pod::VERSION";
- import Test::Pod tests => scalar @pods;
- };
- $reason = 'Test::Pod >= 1.41 required' if $@;
-}
-
-if ($reason) {
- load();
- plan(tests => scalar @pods);
-}
-
-for (@pods) {
- print "# checking $_\n";
- if ($reason) {
- skip("skip: $reason", 1);
- }
- else {
- pod_file_ok($_);
- }
-}
-
diff --git a/dist/Devel-PPPort/t/ppphtest.t b/dist/Devel-PPPort/t/ppphtest.t
deleted file mode 100644
index 26d683082a..0000000000
--- a/dist/Devel-PPPort/t/ppphtest.t
+++ /dev/null
@@ -1,942 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/ppphtest instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (238) {
- load();
- plan(tests => 238);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-BEGIN {
- if ($ENV{'SKIP_SLOW_TESTS'}) {
- skip("skip: SKIP_SLOW_TESTS", 238);
- exit 0;
- }
-}
-
-use File::Path qw/rmtree mkpath/;
-use Config;
-
-my $tmp = 'ppptmp';
-my $inc = '';
-my $isVMS = $^O eq 'VMS';
-my $isMAC = $^O eq 'MacOS';
-my $perl = find_perl();
-
-rmtree($tmp) if -d $tmp;
-mkpath($tmp) or die "mkpath $tmp: $!\n";
-chdir($tmp) or die "chdir $tmp: $!\n";
-
-if ($ENV{'PERL_CORE'}) {
- if (-d '../../lib') {
- if ($isVMS) {
- $inc = '"-I../../lib"';
- }
- elsif ($isMAC) {
- $inc = '-I:::lib';
- }
- else {
- $inc = '-I../../lib';
- }
- unshift @INC, '../../lib';
- }
-}
-if ($perl =~ m!^\./!) {
- $perl = ".$perl";
-}
-
-END {
- chdir('..') if !-d $tmp && -d "../$tmp";
- rmtree($tmp) if -d $tmp;
-}
-
-ok(&Devel::PPPort::WriteFile("ppport.h"));
-
-# Check GetFileContents()
-is(-e "ppport.h", 1);
-
-my $data;
-
-open(F, "<ppport.h") or die "Failed to open ppport.h: $!";
-while(<F>) {
- $data .= $_;
-}
-close(F);
-
-is(Devel::PPPort::GetFileContents("ppport.h"), $data);
-is(Devel::PPPort::GetFileContents(), $data);
-
-sub comment
-{
- my $c = shift;
- my $x = 0;
- $c =~ s/^/sprintf("# %2d| ", ++$x)/meg;
- $c .= "\n" unless $c =~ /[\r\n]$/;
- print $c;
-}
-
-sub ppport
-{
- my @args = ('ppport.h', @_);
- unshift @args, $inc if $inc;
- my $run = $perl =~ m/\s/ ? qq("$perl") : $perl;
- $run .= ' -MMac::err=unix' if $isMAC;
- for (@args) {
- $_ = qq("$_") if $isVMS && /^[^"]/;
- $run .= " $_";
- }
- print "# *** running $run ***\n";
- $run .= ' 2>&1' unless $isMAC;
- my @out = `$run`;
- my $out = join '', @out;
- comment($out);
- return wantarray ? @out : $out;
-}
-
-sub matches
-{
- my($str, $re, $mod) = @_;
- my @n;
- eval "\@n = \$str =~ /$re/g$mod;";
- if ($@) {
- my $err = $@;
- $err =~ s/^/# *** /mg;
- print "# *** ERROR ***\n$err\n";
- }
- return $@ ? -42 : scalar @n;
-}
-
-sub eq_files
-{
- my($f1, $f2) = @_;
- return 0 unless -e $f1 && -e $f2;
- local *F;
- for ($f1, $f2) {
- print "# File: $_\n";
- unless (open F, $_) {
- print "# couldn't open $_: $!\n";
- return 0;
- }
- $_ = do { local $/; <F> };
- close F;
- comment($_);
- }
- return $f1 eq $f2;
-}
-
-my @tests;
-
-for (split /\s*={70,}\s*/, do { local $/; <DATA> }) {
- s/^\s+//; s/\s+$//;
- my($c, %f);
- ($c, @f{m/-{20,}\s+(\S+)\s+-{20,}/g}) = split /\s*-{20,}\s+\S+\s+-{20,}\s*/;
- push @tests, { code => $c, files => \%f };
-}
-
-my $t;
-for $t (@tests) {
- print "#\n", ('# ', '-'x70, "\n")x3, "#\n";
- my $f;
- for $f (keys %{$t->{files}}) {
- my @f = split /\//, $f;
- if (@f > 1) {
- pop @f;
- my $path = join '/', @f;
- mkpath($path) or die "mkpath('$path'): $!\n";
- }
- my $txt = $t->{files}{$f};
- local *F;
- open F, ">$f" or die "open $f: $!\n";
- print F "$txt\n";
- close F;
- print "# *** writing $f ***\n";
- comment($txt);
- }
-
- print "# *** evaluating test code ***\n";
- comment($t->{code});
-
- eval $t->{code};
- if ($@) {
- my $err = $@;
- $err =~ s/^/# *** /mg;
- print "# *** ERROR ***\n$err\n";
- }
- is($@, '');
-
- for (keys %{$t->{files}}) {
- unlink $_ or die "unlink('$_'): $!\n";
- }
-}
-
-sub find_perl
-{
- my $perl = $^X;
-
- return $perl if $isVMS;
-
- my $exe = $Config{'_exe'} || '';
-
- if ($perl =~ /^perl\Q$exe\E$/i) {
- $perl = "perl$exe";
- eval "require File::Spec";
- if ($@) {
- $perl = "./$perl";
- } else {
- $perl = File::Spec->catfile(File::Spec->curdir(), $perl);
- }
- }
-
- if ($perl !~ /\Q$exe\E$/i) {
- $perl .= $exe;
- }
-
- warn "find_perl: cannot find $perl from $^X" unless -f $perl;
-
- return $perl;
-}
-
-__DATA__
-
-my $o = ppport(qw(--help));
-ok($o =~ /^Usage:.*ppport\.h/m);
-ok($o =~ /--help/m);
-
-$o = ppport(qw(--version));
-ok($o =~ /^This is.*ppport.*\d+\.\d+(?:_?\d+)?\.$/);
-
-$o = ppport(qw(--nochanges));
-ok($o =~ /^Scanning.*test\.xs/mi);
-ok($o =~ /Analyzing.*test\.xs/mi);
-is(matches($o, '^Scanning', 'm'), 1);
-is(matches($o, 'Analyzing', 'm'), 1);
-ok($o =~ /Uses Perl_newSViv instead of newSViv/);
-
-$o = ppport(qw(--quiet --nochanges));
-ok($o =~ /^\s*$/);
-
----------------------------- test.xs ------------------------------------------
-
-Perl_newSViv();
-
-===============================================================================
-
-# check if C and C++ comments are filtered correctly
-
-my $o = ppport(qw(--copy=a));
-ok($o =~ /^Scanning.*MyExt\.xs/mi);
-ok($o =~ /Analyzing.*MyExt\.xs/mi);
-is(matches($o, '^Scanning', 'm'), 1);
-ok($o =~ /^Needs to include.*ppport\.h/m);
-ok($o !~ /^Uses grok_bin/m);
-ok($o !~ /^Uses newSVpv/m);
-ok($o =~ /Uses 1 C\+\+ style comment/m);
-ok(eq_files('MyExt.xsa', 'MyExt.ra'));
-
-# check if C++ are left untouched with --cplusplus
-
-$o = ppport(qw(--copy=b --cplusplus));
-ok($o =~ /^Scanning.*MyExt\.xs/mi);
-ok($o =~ /Analyzing.*MyExt\.xs/mi);
-is(matches($o, '^Scanning', 'm'), 1);
-ok($o =~ /^Needs to include.*ppport\.h/m);
-ok($o !~ /^Uses grok_bin/m);
-ok($o !~ /^Uses newSVpv/m);
-ok($o !~ /Uses \d+ C\+\+ style comment/m);
-ok(eq_files('MyExt.xsb', 'MyExt.rb'));
-
-unlink qw(MyExt.xsa MyExt.xsb);
-
----------------------------- MyExt.xs -----------------------------------------
-
-newSVuv();
- // newSVpv();
- XPUSHs(foo);
-/* grok_bin(); */
-
----------------------------- MyExt.ra -----------------------------------------
-
-#include "ppport.h"
-newSVuv();
- /* newSVpv(); */
- XPUSHs(foo);
-/* grok_bin(); */
-
----------------------------- MyExt.rb -----------------------------------------
-
-#include "ppport.h"
-newSVuv();
- // newSVpv();
- XPUSHs(foo);
-/* grok_bin(); */
-
-===============================================================================
-
-my $o = ppport(qw(--nochanges file1.xs));
-ok($o =~ /^Scanning.*file1\.xs/mi);
-ok($o =~ /Analyzing.*file1\.xs/mi);
-ok($o !~ /^Scanning.*file2\.xs/mi);
-ok($o =~ /^Uses newCONSTSUB/m);
-ok($o =~ /^Uses PL_expect/m);
-ok($o =~ /^Uses SvPV_nolen.*depends.*sv_2pv_flags/m);
-ok($o =~ /WARNING: PL_expect/m);
-ok($o =~ /hint for newCONSTSUB/m);
-ok($o =~ /^Analysis completed \(1 warning\)/m);
-ok($o =~ /^Looks good/m);
-
-$o = ppport(qw(--nochanges --nohints file1.xs));
-ok($o =~ /^Scanning.*file1\.xs/mi);
-ok($o =~ /Analyzing.*file1\.xs/mi);
-ok($o !~ /^Scanning.*file2\.xs/mi);
-ok($o =~ /^Uses newCONSTSUB/m);
-ok($o =~ /^Uses PL_expect/m);
-ok($o =~ /^Uses SvPV_nolen.*depends.*sv_2pv_flags/m);
-ok($o =~ /WARNING: PL_expect/m);
-ok($o !~ /hint for newCONSTSUB/m);
-ok($o =~ /^Analysis completed \(1 warning\)/m);
-ok($o =~ /^Looks good/m);
-
-$o = ppport(qw(--nochanges --nohints --nodiag file1.xs));
-ok($o =~ /^Scanning.*file1\.xs/mi);
-ok($o =~ /Analyzing.*file1\.xs/mi);
-ok($o !~ /^Scanning.*file2\.xs/mi);
-ok($o !~ /^Uses newCONSTSUB/m);
-ok($o !~ /^Uses PL_expect/m);
-ok($o !~ /^Uses SvPV_nolen/m);
-ok($o =~ /WARNING: PL_expect/m);
-ok($o !~ /hint for newCONSTSUB/m);
-ok($o =~ /^Analysis completed \(1 warning\)/m);
-ok($o =~ /^Looks good/m);
-
-$o = ppport(qw(--nochanges --quiet file1.xs));
-ok($o =~ /^\s*$/);
-
-$o = ppport(qw(--nochanges file2.xs));
-ok($o =~ /^Scanning.*file2\.xs/mi);
-ok($o =~ /Analyzing.*file2\.xs/mi);
-ok($o !~ /^Scanning.*file1\.xs/mi);
-ok($o =~ /^Uses mXPUSHp/m);
-ok($o =~ /^Needs to include.*ppport\.h/m);
-ok($o !~ /^Looks good/m);
-ok($o =~ /^1 potentially required change detected/m);
-
-$o = ppport(qw(--nochanges --nohints file2.xs));
-ok($o =~ /^Scanning.*file2\.xs/mi);
-ok($o =~ /Analyzing.*file2\.xs/mi);
-ok($o !~ /^Scanning.*file1\.xs/mi);
-ok($o =~ /^Uses mXPUSHp/m);
-ok($o =~ /^Needs to include.*ppport\.h/m);
-ok($o !~ /^Looks good/m);
-ok($o =~ /^1 potentially required change detected/m);
-
-$o = ppport(qw(--nochanges --nohints --nodiag file2.xs));
-ok($o =~ /^Scanning.*file2\.xs/mi);
-ok($o =~ /Analyzing.*file2\.xs/mi);
-ok($o !~ /^Scanning.*file1\.xs/mi);
-ok($o !~ /^Uses mXPUSHp/m);
-ok($o !~ /^Needs to include.*ppport\.h/m);
-ok($o !~ /^Looks good/m);
-ok($o =~ /^1 potentially required change detected/m);
-
-$o = ppport(qw(--nochanges --quiet file2.xs));
-ok($o =~ /^\s*$/);
-
----------------------------- file1.xs -----------------------------------------
-
-#define NEED_newCONSTSUB
-#define NEED_PL_parser
-#include "ppport.h"
-
-newCONSTSUB();
-SvPV_nolen();
-PL_expect = 0;
-
----------------------------- file2.xs -----------------------------------------
-
-mXPUSHp(foo);
-
-===============================================================================
-
-my $o = ppport(qw(--nochanges));
-ok($o =~ /^Scanning.*FooBar\.xs/mi);
-ok($o =~ /Analyzing.*FooBar\.xs/mi);
-is(matches($o, '^Scanning', 'm'), 1);
-ok($o !~ /^Looks good/m);
-ok($o =~ /^Uses grok_bin/m);
-
----------------------------- FooBar.xs ----------------------------------------
-
-newSViv();
-XPUSHs(foo);
-grok_bin();
-
-===============================================================================
-
-my $o = ppport(qw(--nochanges));
-ok($o =~ /^Scanning.*First\.xs/mi);
-ok($o =~ /Analyzing.*First\.xs/mi);
-ok($o =~ /^Scanning.*second\.h/mi);
-ok($o =~ /Analyzing.*second\.h/mi);
-ok($o =~ /^Scanning.*sub.*third\.c/mi);
-ok($o =~ /Analyzing.*sub.*third\.c/mi);
-ok($o !~ /^Scanning.*foobar/mi);
-is(matches($o, '^Scanning', 'm'), 3);
-
----------------------------- First.xs -----------------------------------------
-
-one
-
----------------------------- foobar.xyz ---------------------------------------
-
-two
-
----------------------------- second.h -----------------------------------------
-
-three
-
----------------------------- sub/third.c --------------------------------------
-
-four
-
-===============================================================================
-
-my $o = ppport(qw(--nochanges));
-ok($o =~ /Possibly wrong #define NEED_foobar in.*test.xs/i);
-
----------------------------- test.xs ------------------------------------------
-
-#define NEED_foobar
-
-===============================================================================
-
-# And now some complex "real-world" example
-
-my $o = ppport(qw(--copy=f));
-for (qw(main.xs mod1.c mod2.c mod3.c mod4.c mod5.c)) {
- ok($o =~ /^Scanning.*\Q$_\E/mi);
- ok($o =~ /Analyzing.*\Q$_\E/i);
-}
-is(matches($o, '^Scanning', 'm'), 6);
-
-is(matches($o, '^Writing copy of', 'm'), 5);
-ok(!-e "mod5.cf");
-
-for (qw(main.xs mod1.c mod2.c mod3.c mod4.c)) {
- ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
- ok(-e "${_}f");
- ok(eq_files("${_}f", "${_}r"));
- unlink "${_}f";
-}
-
----------------------------- main.xs ------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#define NEED_newCONSTSUB
-#define NEED_grok_hex_GLOBAL
-#include "ppport.h"
-
-newCONSTSUB();
-grok_hex();
-Perl_grok_bin(aTHX_ foo, bar);
-
-/* some comment */
-
-perl_eval_pv();
-grok_bin();
-Perl_grok_bin(bar, sv_no);
-
----------------------------- mod1.c -------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#define NEED_grok_bin_GLOBAL
-#define NEED_newCONSTSUB
-#include "ppport.h"
-
-newCONSTSUB();
-grok_bin();
-{
- Perl_croak ("foo");
- Perl_sv_catpvf(); /* I know it's wrong ;-) */
-}
-
----------------------------- mod2.c -------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#define NEED_eval_pv
-#include "ppport.h"
-
-newSViv();
-
-/*
- eval_pv();
-*/
-
----------------------------- mod3.c -------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-grok_oct();
-eval_pv();
-
----------------------------- mod4.c -------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-START_MY_CXT;
-
----------------------------- mod5.c -------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#include "ppport.h"
-call_pv();
-
----------------------------- main.xsr -----------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#define NEED_eval_pv_GLOBAL
-#define NEED_grok_hex
-#define NEED_newCONSTSUB_GLOBAL
-#include "ppport.h"
-
-newCONSTSUB();
-grok_hex();
-grok_bin(foo, bar);
-
-/* some comment */
-
-eval_pv();
-grok_bin();
-grok_bin(bar, PL_sv_no);
-
----------------------------- mod1.cr ------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#define NEED_grok_bin_GLOBAL
-#include "ppport.h"
-
-newCONSTSUB();
-grok_bin();
-{
- Perl_croak (aTHX_ "foo");
- Perl_sv_catpvf(aTHX); /* I know it's wrong ;-) */
-}
-
----------------------------- mod2.cr ------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-
-newSViv();
-
-/*
- eval_pv();
-*/
-
----------------------------- mod3.cr ------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-#define NEED_grok_oct
-#include "ppport.h"
-
-grok_oct();
-eval_pv();
-
----------------------------- mod4.cr ------------------------------------------
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-#include "ppport.h"
-
-START_MY_CXT;
-
-===============================================================================
-
-my $o = ppport(qw(--nochanges));
-ok($o =~ /Uses grok_hex/m);
-ok($o !~ /Looks good/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.8.0));
-ok($o !~ /Uses grok_hex/m);
-ok($o =~ /Looks good/m);
-
----------------------------- FooBar.xs ----------------------------------------
-
-grok_hex();
-
-===============================================================================
-
-my $o = ppport(qw(--nochanges));
-ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.5.3));
-ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.005_03));
-ok($o =~ /Uses SvPVutf8_force, which may not be portable/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.6.0));
-ok($o !~ /Uses SvPVutf8_force/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.006));
-ok($o !~ /Uses SvPVutf8_force/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.999.999));
-ok($o !~ /Uses SvPVutf8_force/m);
-
-$o = ppport(qw(--nochanges --compat-version=8.0.0));
-ok($o =~ /Only Perl \[57\] are supported/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.1000.999));
-ok($o =~ /Invalid version number: 5.1000.999/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.999.1000));
-ok($o =~ /Invalid version number: 5.999.1000/m);
-
----------------------------- FooBar.xs ----------------------------------------
-
-SvPVutf8_force();
-
-===============================================================================
-
-my $o = ppport(qw(--nochanges));
-ok($o !~ /potentially required change/);
-is(matches($o, '^Looks good', 'm'), 2);
-
----------------------------- FooBar.xs ----------------------------------------
-
-#define NEED_grok_numeric_radix
-#define NEED_grok_number
-#include "ppport.h"
-
-GROK_NUMERIC_RADIX();
-grok_number();
-
----------------------------- foo.c --------------------------------------------
-
-#include "ppport.h"
-
-call_pv();
-
-===============================================================================
-
-# check --api-info option
-
-my $o = ppport(qw(--api-info=INT2PTR));
-my %found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
-is(scalar keys %found, 1, "found 1 key");
-ok(exists $found{INT2PTR});
-is(matches($o, '^Supported at least since perl-5\.6\.0', 'm'), 1, "INT2PTR supported without ppport.h to 5.6.0");
-is(matches($o, '^ppport.h additionally provides support at least back to perl-5\.003', 'm'), 1, "INT2PTR supported with ppport.h to 5.003");
-
-$o = ppport(qw(--api-info=Zero));
-%found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
-is(scalar keys %found, 1, "found 1 key");
-ok(exists $found{Zero});
-is(matches($o, '^Supported at least since perl-5.003', 'm'), 1, "Zero supported to 5.003");
-
-$o = ppport(qw(--api-info=/Zero/));
-%found = map {($_ => 1)} $o =~ /^===\s+(\w+)\s+===/mg;
-is(scalar keys %found, 2, "found 2 keys");
-ok(exists $found{Zero});
-ok(exists $found{ZeroD});
-
-===============================================================================
-
-# check --list-provided option
-
-my @o = ppport(qw(--list-provided));
-my %p;
-my $fail = 0;
-for (@o) {
- my($name, $flags) = /^(\w+)(?:\s+\[(\w+(?:,\s+\w+)*)\])?$/ or $fail++;
- { exists $p{$name} and $fail++; }
- $p{$name} = defined $flags ? { map { ($_ => 1) } $flags =~ /(\w+)/g } : '';
-}
-ok(@o > 100);
-is($fail, 0);
-
-ok(exists $p{call_pv});
-ok(not ref $p{call_pv});
-
-ok(exists $p{grok_bin});
-is(ref $p{grok_bin}, 'HASH');
-is(scalar keys %{$p{grok_bin}}, 2);
-ok($p{grok_bin}{explicit});
-ok($p{grok_bin}{depend});
-
-ok(exists $p{gv_stashpvn});
-is(ref $p{gv_stashpvn}, 'HASH');
-is(scalar keys %{$p{gv_stashpvn}}, 2);
-ok($p{gv_stashpvn}{depend});
-ok($p{gv_stashpvn}{hint});
-
-ok(exists $p{sv_catpvf_mg});
-is(ref $p{sv_catpvf_mg}, 'HASH');
-is(scalar keys %{$p{sv_catpvf_mg}}, 2);
-ok($p{sv_catpvf_mg}{explicit});
-ok($p{sv_catpvf_mg}{depend});
-
-ok(exists $p{PL_signals});
-is(ref $p{PL_signals}, 'HASH');
-is(scalar keys %{$p{PL_signals}}, 1);
-ok($p{PL_signals}{explicit});
-
-===============================================================================
-
-# check --list-unsupported option
-
-my @o = ppport(qw(--list-unsupported));
-my %p;
-my $fail = 0;
-for (@o) {
- my($name, $ver) = /^(\w+)\s*\.+\s*([\d._]+)$/ or $fail++;
- { exists $p{$name} and $fail++; }
- $p{$name} = $ver;
-}
-ok(@o > 100);
-is($fail, 0);
-
-ok(exists $p{utf8_distance});
-is($p{utf8_distance}, '5.6.0');
-
-ok(exists $p{save_generic_svref});
-is($p{save_generic_svref}, '5.005_03');
-
-===============================================================================
-
-# check --nofilter option
-
-my $o = ppport(qw(--nochanges));
-ok($o =~ /^Scanning.*foo\.cpp/mi);
-ok($o =~ /Analyzing.*foo\.cpp/mi);
-is(matches($o, '^Scanning', 'm'), 1);
-is(matches($o, 'Analyzing', 'm'), 1);
-
-$o = ppport(qw(--nochanges foo.cpp foo.o Makefile.PL));
-ok($o =~ /Skipping the following files \(use --nofilter to avoid this\):/m);
-is(matches($o, '^\|\s+foo\.o', 'mi'), 1);
-is(matches($o, '^\|\s+Makefile\.PL', 'mi'), 1);
-ok($o =~ /^Scanning.*foo\.cpp/mi);
-ok($o =~ /Analyzing.*foo\.cpp/mi);
-is(matches($o, '^Scanning', 'm'), 1);
-is(matches($o, 'Analyzing', 'm'), 1);
-
-$o = ppport(qw(--nochanges --nofilter foo.cpp foo.o Makefile.PL));
-ok($o =~ /^Scanning.*foo\.cpp/mi);
-ok($o =~ /Analyzing.*foo\.cpp/mi);
-ok($o =~ /^Scanning.*foo\.o/mi);
-ok($o =~ /Analyzing.*foo\.o/mi);
-ok($o =~ /^Scanning.*Makefile/mi);
-ok($o =~ /Analyzing.*Makefile/mi);
-is(matches($o, '^Scanning', 'm'), 3);
-is(matches($o, 'Analyzing', 'm'), 3);
-
----------------------------- foo.cpp ------------------------------------------
-
-newSViv();
-
----------------------------- foo.o --------------------------------------------
-
-newSViv();
-
----------------------------- Makefile.PL --------------------------------------
-
-newSViv();
-
-===============================================================================
-
-# check if explicit variables are handled propery
-
-my $o = ppport(qw(--copy=a));
-ok($o =~ /^Needs to include.*ppport\.h/m);
-ok($o =~ /^Uses PL_signals/m);
-ok($o =~ /^File needs PL_signals, adding static request/m);
-ok(eq_files('MyExt.xsa', 'MyExt.ra'));
-
-unlink qw(MyExt.xsa);
-
----------------------------- MyExt.xs -----------------------------------------
-
-PL_signals = 123;
-if (PL_signals == 42)
- foo();
-
----------------------------- MyExt.ra -----------------------------------------
-
-#define NEED_PL_signals
-#include "ppport.h"
-PL_signals = 123;
-if (PL_signals == 42)
- foo();
-
-===============================================================================
-
-my $o = ppport(qw(--nochanges file.xs));
-ok($o =~ /^Uses PL_copline/m);
-ok($o =~ /WARNING: PL_copline/m);
-ok($o =~ /^Uses SvUOK/m);
-ok($o =~ /WARNING: Uses SvUOK, which may not be portable/m);
-ok($o =~ /^Analysis completed \(2 warnings\)/m);
-ok($o =~ /^Looks good/m);
-
-$o = ppport(qw(--nochanges --compat-version=5.8.0 file.xs));
-ok($o =~ /^Uses PL_copline/m);
-ok($o =~ /WARNING: PL_copline/m);
-ok($o !~ /WARNING: Uses SvUOK, which may not be portable/m);
-ok($o =~ /^Analysis completed \(1 warning\)/m);
-ok($o =~ /^Looks good/m);
-
----------------------------- file.xs -----------------------------------------
-
-#define NEED_PL_parser
-#include "ppport.h"
-SvUOK
-PL_copline
-
-===============================================================================
-
-my $o = ppport(qw(--copy=f));
-
-for (qw(file.xs)) {
- ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
- ok(-e "${_}f");
- ok(eq_files("${_}f", "${_}r"));
- unlink "${_}f";
-}
-
----------------------------- file.xs -----------------------------------------
-
-a_string = "sv_undef"
-a_char = 'sv_yes'
-#define SOMETHING defgv
-/* C-comment: sv_tainted */
-#
-# This is just a big XS comment using sv_no
-#
-/* The following, is NOT an XS comment! */
-# define SOMETHING_ELSE defgv + \
- sv_undef
-
----------------------------- file.xsr -----------------------------------------
-
-#include "ppport.h"
-a_string = "sv_undef"
-a_char = 'sv_yes'
-#define SOMETHING PL_defgv
-/* C-comment: sv_tainted */
-#
-# This is just a big XS comment using sv_no
-#
-/* The following, is NOT an XS comment! */
-# define SOMETHING_ELSE PL_defgv + \
- PL_sv_undef
-
-===============================================================================
-
-my $o = ppport(qw(--copy=f));
-
-for (qw(file.xs)) {
- ok($o =~ /^Writing copy of.*\Q$_\E.*with changes/mi);
- ok(-e "${_}f");
- ok(eq_files("${_}f", "${_}r"));
- unlink "${_}f";
-}
-
----------------------------- file.xs -----------------------------------------
-
-#define NEED_warner
-#include "ppport.h"
-Perl_croak_nocontext("foo");
-Perl_croak("bar");
-croak("foo");
-croak_nocontext("foo");
-Perl_warner_nocontext("foo");
-Perl_warner("foo");
-warner_nocontext("foo");
-warner("foo");
-
----------------------------- file.xsr -----------------------------------------
-
-#define NEED_warner
-#include "ppport.h"
-Perl_croak_nocontext("foo");
-Perl_croak(aTHX_ "bar");
-croak("foo");
-croak_nocontext("foo");
-Perl_warner_nocontext("foo");
-Perl_warner(aTHX_ "foo");
-warner_nocontext("foo");
-warner("foo");
-
diff --git a/dist/Devel-PPPort/t/pv_tools.t b/dist/Devel-PPPort/t/pv_tools.t
deleted file mode 100644
index dfd0c95e5b..0000000000
--- a/dist/Devel-PPPort/t/pv_tools.t
+++ /dev/null
@@ -1,88 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/pv_tools instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (13) {
- load();
- plan(tests => 13);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my $uni = &Devel::PPPort::pv_escape_can_unicode();
-
-# sanity check
-ok($uni ? "$]" >= 5.006 : "$]" < 5.008);
-
-my @r;
-
-@r = &Devel::PPPort::pv_pretty();
-is($r[0], $r[1]);
-is($r[0], "foobarbaz");
-is($r[2], $r[3]);
-is($r[2], '<leftpv_p\retty\nright>');
-is($r[4], $r[5]);
-if(ord("A") == 65) {
- is($r[4], $uni ? 'N\375 Batter\355' : 'N\303\275 Batter\303');
-}
-else {
- skip("Skip for non-ASCII platform");
-}
-is($r[6], $r[7]);
-if(ord("A") == 65) {
- is($r[6], $uni ? '\301g\346tis Byrju...' : '\303\201g\303\246t...');
-}
-else {
- skip("Skip for non-ASCII platform");
-}
-
-@r = &Devel::PPPort::pv_display();
-is($r[0], $r[1]);
-is($r[0], '"foob\0rbaz"\0');
-is($r[2], $r[3]);
-ok($r[2] eq '"pv_di"...\0' ||
- $r[2] eq '"pv_d"...\0'); # some perl implementations are broken... :(
-
diff --git a/dist/Devel-PPPort/t/pvs.t b/dist/Devel-PPPort/t/pvs.t
deleted file mode 100644
index eacbc09f07..0000000000
--- a/dist/Devel-PPPort/t/pvs.t
+++ /dev/null
@@ -1,77 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/pvs instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (12) {
- load();
- plan(tests => 12);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my $x = 'foo';
-
-is(Devel::PPPort::newSVpvs(), "newSVpvs");
-is(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
-is(Devel::PPPort::newSVpvs_share(), 3);
-
-Devel::PPPort::sv_catpvs($x);
-is($x, "foosv_catpvs");
-
-Devel::PPPort::sv_setpvs($x);
-is($x, "sv_setpvs");
-
-my %h = ('hv_fetchs' => 42);
-Devel::PPPort::hv_stores(\%h, 4711);
-is(scalar keys %h, 2);
-ok(exists $h{'hv_stores'});
-is($h{'hv_stores'}, 4711);
-is(Devel::PPPort::hv_fetchs(\%h), 42);
-is(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
-is(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
-
-is(Devel::PPPort::get_cvs(), 3);
-
diff --git a/dist/Devel-PPPort/t/shared_pv.t b/dist/Devel-PPPort/t/shared_pv.t
deleted file mode 100644
index 38b55e10b0..0000000000
--- a/dist/Devel-PPPort/t/shared_pv.t
+++ /dev/null
@@ -1,56 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/shared_pv instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (1) {
- load();
- plan(tests => 1);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(&Devel::PPPort::newSVpvn_share(), 6);
-
diff --git a/dist/Devel-PPPort/t/snprintf.t b/dist/Devel-PPPort/t/snprintf.t
deleted file mode 100644
index 513fc6b486..0000000000
--- a/dist/Devel-PPPort/t/snprintf.t
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/snprintf instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (2) {
- load();
- plan(tests => 2);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my($l, $s) = Devel::PPPort::my_snprintf();
-is($l, 8);
-is($s, "foobar42");
-
diff --git a/dist/Devel-PPPort/t/sprintf.t b/dist/Devel-PPPort/t/sprintf.t
deleted file mode 100644
index 50062d4e23..0000000000
--- a/dist/Devel-PPPort/t/sprintf.t
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/sprintf instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (2) {
- load();
- plan(tests => 2);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my($l, $s) = Devel::PPPort::my_sprintf();
-is($l, 8);
-is($s, "foobar42");
-
diff --git a/dist/Devel-PPPort/t/strlfuncs.t b/dist/Devel-PPPort/t/strlfuncs.t
deleted file mode 100644
index 103c18f73a..0000000000
--- a/dist/Devel-PPPort/t/strlfuncs.t
+++ /dev/null
@@ -1,69 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/strlfuncs instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (13) {
- load();
- plan(tests => 13);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-my @e = (3, 'foo',
- 6, 'foobar',
- 9, 'foobarb',
- 10, '1234567',
- 4, '1234',
- 16, '1234567',
- );
-my @r = Devel::PPPort::my_strlfunc();
-
-ok(@e == @r);
-
-for (0 .. $#e) {
- is($r[$_], $e[$_]);
-}
-
diff --git a/dist/Devel-PPPort/t/sv_xpvf.t b/dist/Devel-PPPort/t/sv_xpvf.t
deleted file mode 100644
index e71ea3bd96..0000000000
--- a/dist/Devel-PPPort/t/sv_xpvf.t
+++ /dev/null
@@ -1,82 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/sv_xpvf instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (9) {
- load();
- plan(tests => 9);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-use Tie::Hash;
-my %h;
-tie %h, 'Tie::StdHash';
-$h{foo} = 'foo-';
-$h{bar} = '';
-
-is(&Devel::PPPort::vnewSVpvf(), "$]" >= 5.004 ? 'Perl-42' : '%s-%d');
-is(&Devel::PPPort::sv_vcatpvf('1-2-3-'), "$]" >= 5.004 ? '1-2-3-Perl-42' : '1-2-3-%s-%d');
-is(&Devel::PPPort::sv_vsetpvf('1-2-3-'), "$]" >= 5.004 ? 'Perl-42' : '%s-%d');
-
-&Devel::PPPort::sv_catpvf_mg($h{foo});
-is($h{foo}, "$]" >= 5.004 ? 'foo-Perl-42' : 'foo-');
-
-&Devel::PPPort::Perl_sv_catpvf_mg($h{foo});
-is($h{foo}, "$]" >= 5.004 ? 'foo-Perl-42-Perl-43' : 'foo-');
-
-&Devel::PPPort::sv_catpvf_mg_nocontext($h{foo});
-is($h{foo}, "$]" >= 5.004 ? 'foo-Perl-42-Perl-43-Perl-44' : 'foo-');
-
-&Devel::PPPort::sv_setpvf_mg($h{bar});
-is($h{bar}, "$]" >= 5.004 ? 'mhx-42' : '');
-
-&Devel::PPPort::Perl_sv_setpvf_mg($h{bar});
-is($h{bar}, "$]" >= 5.004 ? 'foo-43' : '');
-
-&Devel::PPPort::sv_setpvf_mg_nocontext($h{bar});
-is($h{bar}, "$]" >= 5.004 ? 'bar-44' : '');
-
diff --git a/dist/Devel-PPPort/t/threads.t b/dist/Devel-PPPort/t/threads.t
deleted file mode 100644
index e0dce1775d..0000000000
--- a/dist/Devel-PPPort/t/threads.t
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/threads instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (2) {
- load();
- plan(tests => 2);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-is(&Devel::PPPort::no_THX_arg("42"), 43);
-eval { &Devel::PPPort::with_THX_arg("yes\n"); };
-ok($@ =~ /^yes/);
-
diff --git a/dist/Devel-PPPort/t/utf8.t b/dist/Devel-PPPort/t/utf8.t
deleted file mode 100644
index 957a089d9d..0000000000
--- a/dist/Devel-PPPort/t/utf8.t
+++ /dev/null
@@ -1,300 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/utf8 instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (98) {
- load();
- plan(tests => 98);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-BEGIN {
- # skip tests on 5.6.0 and earlier, plus 5.7.0
- if (ivers($]) <= ivers(5.6) || ivers($]) == ivers(5.7) ) {
- skip 'skip: broken utf8 support', 98;
- exit;
- }
- require warnings;
-}
-
-is(Devel::PPPort::UTF8f(42), '[42]');
-is(Devel::PPPort::UTF8f('abc'), '[abc]');
-is(Devel::PPPort::UTF8f("\x{263a}"), "[\x{263a}]");
-
-my $str = "\x{A8}";
-if (ivers($]) >= ivers(5.8)) { eval q{utf8::upgrade($str)} }
-is(Devel::PPPort::UTF8f($str), "[\x{A8}]");
-if (ivers($]) >= ivers(5.8)) { eval q{utf8::downgrade($str)} }
-is(Devel::PPPort::UTF8f($str), "[\x{A8}]");
-
-is(&Devel::PPPort::UTF8_SAFE_SKIP("A", 0), 1);
-is(&Devel::PPPort::UTF8_SAFE_SKIP("A", -1), 0);
-
-is(&Devel::PPPort::isUTF8_CHAR("A", -1), 0);
-is(&Devel::PPPort::isUTF8_CHAR("A", 0), 1);
-is(&Devel::PPPort::isUTF8_CHAR("\x{100}", -1), 0);
-is(&Devel::PPPort::isUTF8_CHAR("\x{100}", 0), 2);
-
-is(&Devel::PPPort::UVCHR_IS_INVARIANT(ord("A")), 1);
-ok(! &Devel::PPPort::UVCHR_IS_INVARIANT(0xb6));
-ok(! &Devel::PPPort::UVCHR_IS_INVARIANT(0x100));
-
-is(&Devel::PPPort::UVCHR_SKIP(ord("A")), 1);
-is(&Devel::PPPort::UVCHR_SKIP(0xb6), 2, "This is a test");
-is(&Devel::PPPort::UVCHR_SKIP(0x3FF), 2);
-is(&Devel::PPPort::UVCHR_SKIP(0x3FFF), 3);
-is(&Devel::PPPort::UVCHR_SKIP(0x3FFFF), 4);
-is(&Devel::PPPort::UVCHR_SKIP(0x3FFFFF), 5);
-is(&Devel::PPPort::UVCHR_SKIP(0x3FFFFFF), ord("A") == 65 ? 5 : 6);
-is(&Devel::PPPort::UVCHR_SKIP(0x4000000), ord("A") == 65 ? 6 : 7);
-if (ord("A") != 65) {
- skip("Test not valid on EBCDIC", 1)
-}
-else {
- is(&Devel::PPPort::UVCHR_SKIP(0xFFFFFFFF), 7);
-}
-
-if (ivers($]) < ivers(5.8)) {
- skip("Perl version too early", 3);
-}
-else {
- is(&Devel::PPPort::foldEQ_utf8("A\x{100}", 3, 1, "a\x{101}", 3, 1), 1);
- is(&Devel::PPPort::foldEQ_utf8("A\x{100}", 3, 1, "a\x{102}", 3, 1), 0);
- is(&Devel::PPPort::foldEQ_utf8("A\x{100}", 3, 1, "b\x{101}", 3, 1), 0);
-}
-
-my $ret = &Devel::PPPort::utf8_to_uvchr("A");
-is($ret->[0], ord("A"));
-is($ret->[1], 1);
-
-$ret = &Devel::PPPort::utf8_to_uvchr("\0");
-is($ret->[0], 0);
-is($ret->[1], 1);
-
-$ret = &Devel::PPPort::utf8_to_uvchr_buf("A", 0);
-is($ret->[0], ord("A"));
-is($ret->[1], 1);
-
-$ret = &Devel::PPPort::utf8_to_uvchr_buf("\0", 0);
-is($ret->[0], 0);
-is($ret->[1], 1);
-
-my @buf_tests = (
- {
- input => "A",
- adjustment => -1,
- warning => eval "qr/empty/",
- no_warnings_returned_length => 0,
- },
- {
- input => "\xc4\xc5",
- adjustment => 0,
- warning => eval "qr/non-continuation/",
- no_warnings_returned_length => 1,
- },
- {
- input => "\xc4\x80",
- adjustment => -1,
- warning => eval "qr/short|1 byte, need 2/",
- no_warnings_returned_length => 1,
- },
- {
- input => "\xc0\x81",
- adjustment => 0,
- warning => eval "qr/overlong|2 bytes, need 1/",
- no_warnings_returned_length => 2,
- },
- {
- input => "\xe0\x80\x81",
- adjustment => 0,
- warning => eval "qr/overlong|3 bytes, need 1/",
- no_warnings_returned_length => 3,
- },
- {
- input => "\xf0\x80\x80\x81",
- adjustment => 0,
- warning => eval "qr/overlong|4 bytes, need 1/",
- no_warnings_returned_length => 4,
- },
- { # Old algorithm failed to detect this
- input => "\xff\x80\x90\x90\x90\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf",
- adjustment => 0,
- warning => eval "qr/overflow/",
- no_warnings_returned_length => 13,
- },
-);
-
-if (ord("A") != 65) { # tests not valid for EBCDIC
- skip("Perl version too early", 2 + 4 + (scalar @buf_tests * 5));
-}
-else {
- $ret = &Devel::PPPort::utf8_to_uvchr_buf("\xc4\x80", 0);
- is($ret->[0], 0x100);
- is($ret->[1], 2);
-
- my @warnings;
- local $SIG{__WARN__} = sub { push @warnings, @_; };
-
- {
- use warnings 'utf8';
- $ret = &Devel::PPPort::utf8_to_uvchr("\xe0\0\x80");
- is($ret->[0], 0);
- is($ret->[1], -1);
-
- no warnings 'utf8';
- $ret = &Devel::PPPort::utf8_to_uvchr("\xe0\0\x80");
- is($ret->[0], 0xFFFD);
- is($ret->[1], 1);
- }
-
-
- # An empty input is an assertion failure on debugging builds. It is
- # deliberately the first test.
- require Config; Config->import;
- use vars '%Config';
-
- # VMS doesn't put DEBUGGING in ccflags, and Windows doesn't have
- # $Config{config_args}. When 5.14 or later can be assumed, use
- # Config::non_bincompat_options(), but for now we're stuck with this.
- if ( $Config{ccflags} =~ /-DDEBUGGING/
- || $^O eq 'VMS' && $Config{config_args} =~ /\bDDEBUGGING\b/)
- {
- shift @buf_tests;
- skip("Test not valid on DEBUGGING builds", 5);
- }
-
- my $test;
- for $test (@buf_tests) {
- my $input = $test->{'input'};
- my $adjustment = $test->{'adjustment'};
- my $display = 'utf8_to_uvchr_buf("';
- my $i;
- for ($i = 0; $i < length($input) + $adjustment; $i++) {
- $display .= sprintf "\\x%02x", ord substr($input, $i, 1);
- }
-
- $display .= '")';
- my $warning = $test->{'warning'};
-
- undef @warnings;
- use warnings 'utf8';
- $ret = &Devel::PPPort::utf8_to_uvchr_buf($input, $adjustment);
- is($ret->[0], 0, "returned value $display; warnings enabled");
- is($ret->[1], -1, "returned length $display; warnings enabled");
- my $all_warnings = join "; ", @warnings;
- my $contains = grep { $_ =~ $warning } $all_warnings;
- is($contains, 1, $display
- . "; Got: '$all_warnings', which should contain '$warning'");
-
- undef @warnings;
- no warnings 'utf8';
- $ret = &Devel::PPPort::utf8_to_uvchr_buf($input, $adjustment);
- is($ret->[0], 0xFFFD, "returned value $display; warnings disabled");
- is($ret->[1], $test->{'no_warnings_returned_length'},
- "returned length $display; warnings disabled");
- }
-}
-
-if (ivers($]) ge ivers(5.008)) {
- BEGIN { if (ivers($]) ge ivers(5.008)) { require utf8; "utf8"->import() } }
-
- is(Devel::PPPort::sv_len_utf8("aščť"), 4);
- is(Devel::PPPort::sv_len_utf8_nomg("aščť"), 4);
-
- my $str = "áíé";
- utf8::downgrade($str);
- is(Devel::PPPort::sv_len_utf8($str), 3);
- utf8::downgrade($str);
- is(Devel::PPPort::sv_len_utf8_nomg($str), 3);
- utf8::upgrade($str);
- is(Devel::PPPort::sv_len_utf8($str), 3);
- utf8::upgrade($str);
- is(Devel::PPPort::sv_len_utf8_nomg($str), 3);
-
- tie my $scalar, 'TieScalarCounter', "é";
-
- is(tied($scalar)->{fetch}, 0);
- is(tied($scalar)->{store}, 0);
- is(Devel::PPPort::sv_len_utf8($scalar), 2);
- is(tied($scalar)->{fetch}, 1);
- is(tied($scalar)->{store}, 0);
- is(Devel::PPPort::sv_len_utf8($scalar), 3);
- is(tied($scalar)->{fetch}, 2);
- is(tied($scalar)->{store}, 0);
- is(Devel::PPPort::sv_len_utf8($scalar), 4);
- is(tied($scalar)->{fetch}, 3);
- is(tied($scalar)->{store}, 0);
- is(Devel::PPPort::sv_len_utf8_nomg($scalar), 4);
- is(tied($scalar)->{fetch}, 3);
- is(tied($scalar)->{store}, 0);
- is(Devel::PPPort::sv_len_utf8_nomg($scalar), 4);
- is(tied($scalar)->{fetch}, 3);
- is(tied($scalar)->{store}, 0);
-} else {
- skip 'skip: no utf8::downgrade/utf8::upgrade support', 23;
-}
-
-package TieScalarCounter;
-
-sub TIESCALAR {
- my ($class, $value) = @_;
- return bless { fetch => 0, store => 0, value => $value }, $class;
-}
-
-sub FETCH {
- BEGIN { if (main::ivers($]) ge main::ivers(5.008)) { require utf8; "utf8"->import() } }
- my ($self) = @_;
- $self->{fetch}++;
- return $self->{value} .= "é";
-}
-
-sub STORE {
- my ($self, $value) = @_;
- $self->{store}++;
- $self->{value} = $value;
-}
-
diff --git a/dist/Devel-PPPort/t/uv.t b/dist/Devel-PPPort/t/uv.t
deleted file mode 100644
index 78b2a54957..0000000000
--- a/dist/Devel-PPPort/t/uv.t
+++ /dev/null
@@ -1,68 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/uv instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (11) {
- load();
- plan(tests => 11);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-BEGIN { require warnings if "$]" > '5.006' }
-
-is(&Devel::PPPort::sv_setuv(42), 42);
-is(&Devel::PPPort::newSVuv(123), 123);
-is(&Devel::PPPort::sv_2uv("4711"), 4711);
-is(&Devel::PPPort::sv_2uv("1735928559"), 1735928559);
-is(&Devel::PPPort::SvUVx("1735928559"), 1735928559);
-is(&Devel::PPPort::SvUVx(1735928559), 1735928559);
-is(&Devel::PPPort::SvUVx(0xdeadbeef), 0xdeadbeef);
-is(&Devel::PPPort::XSRETURN_UV(), 42);
-is(&Devel::PPPort::PUSHu(), 42);
-is(&Devel::PPPort::XPUSHu(), 43);
-is(&Devel::PPPort::my_strnlen("abc\0def", 7), 3);
-
diff --git a/dist/Devel-PPPort/t/variables.t b/dist/Devel-PPPort/t/variables.t
deleted file mode 100644
index b23079171a..0000000000
--- a/dist/Devel-PPPort/t/variables.t
+++ /dev/null
@@ -1,111 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/variables instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (52) {
- load();
- plan(tests => 52);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-ok(Devel::PPPort::compare_PL_signals());
-
-ok(!defined(&Devel::PPPort::PL_sv_undef()));
-ok(&Devel::PPPort::PL_sv_yes());
-ok(!&Devel::PPPort::PL_sv_no());
-is(&Devel::PPPort::PL_na("abcd"), 4);
-is(&Devel::PPPort::PL_Sv(), "mhx");
-ok(defined &Devel::PPPort::PL_tokenbuf());
-ok("$]" >= 5.009005 || &Devel::PPPort::PL_parser());
-ok(&Devel::PPPort::PL_hexdigit() =~ /^[0-9a-zA-Z]+$/);
-ok(defined &Devel::PPPort::PL_hints());
-is(&Devel::PPPort::PL_ppaddr("mhx"), "MHX");
-
-for (&Devel::PPPort::other_variables()) {
- ok($_ != 0);
-}
-
-{
- my @w;
- my $fail = 0;
- {
- local $SIG{'__WARN__'} = sub { push @w, @_ };
- ok(&Devel::PPPort::dummy_parser_warning());
- }
- if ("$]" >= 5.009005) {
- ok(@w >= 0);
- for (@w) {
- print "# $_";
- unless (/^warning: dummy PL_bufptr used in.*module3.*:\d+/i) {
- warn $_;
- $fail++;
- }
- }
- }
- else {
- ok(@w == 0);
- }
- is($fail, 0);
-}
-
-ok(&Devel::PPPort::no_dummy_parser_vars(1) >= ("$]" < 5.009005 ? 1 : 0));
-
-eval { &Devel::PPPort::no_dummy_parser_vars(0) };
-
-if ("$]" < 5.009005) {
- is($@, '');
-}
-else {
- if ($@) {
- print "# $@";
- ok($@ =~ /^panic: PL_parser == NULL in.*module2.*:\d+/i);
- }
- else {
- ok(1);
- }
-}
-
diff --git a/dist/Devel-PPPort/t/warn.t b/dist/Devel-PPPort/t/warn.t
deleted file mode 100644
index 86d6677acd..0000000000
--- a/dist/Devel-PPPort/t/warn.t
+++ /dev/null
@@ -1,82 +0,0 @@
-################################################################################
-#
-# !!!!! Do NOT edit this file directly! !!!!!
-#
-# Edit mktests.PL and/or parts/inc/warn instead.
-#
-# This file was automatically generated from the definition files in the
-# parts/inc/ subdirectory by mktests.PL. To learn more about how all this
-# works, please read the F<HACKERS> file that came with this distribution.
-#
-################################################################################
-
-use FindBin ();
-
-BEGIN {
- if ($ENV{'PERL_CORE'}) {
- chdir 't' if -d 't';
- unshift @INC, '../lib' if -d '../lib' && -d '../ext';
- require Config; Config->import;
- use vars '%Config';
- if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {
- print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
- exit 0;
- }
- }
-
- use lib "$FindBin::Bin";
- use lib "$FindBin::Bin/../parts/inc";
-
- die qq[Cannot find "$FindBin::Bin/../parts/inc"] unless -d "$FindBin::Bin/../parts/inc";
-
- sub load {
- require 'testutil.pl';
- require 'inctools';
- }
-
- if (5) {
- load();
- plan(tests => 5);
- }
-}
-
-use Devel::PPPort;
-use strict;
-BEGIN { $^W = 1; }
-
-package Devel::PPPort;
-use vars '@ISA';
-require DynaLoader;
-@ISA = qw(DynaLoader);
-Devel::PPPort->bootstrap;
-
-package main;
-
-$^W = 0;
-
-my $warning;
-
-$SIG{'__WARN__'} = sub { $warning = $_[0] };
-
-$warning = '';
-Devel::PPPort::warner();
-ok("$]" >= 5.004 ? $warning =~ /^warner bar:42/ : $warning eq '');
-
-$warning = '';
-Devel::PPPort::Perl_warner();
-ok("$]" >= 5.004 ? $warning =~ /^Perl_warner bar:42/ : $warning eq '');
-
-$warning = '';
-Devel::PPPort::Perl_warner_nocontext();
-ok("$]" >= 5.004 ? $warning =~ /^Perl_warner_nocontext bar:42/ : $warning eq '');
-
-$warning = '';
-Devel::PPPort::ckWARN();
-is($warning, '');
-
-$^W = 1;
-
-$warning = '';
-Devel::PPPort::ckWARN();
-ok("$]" >= 5.004 ? $warning =~ /^ckWARN bar:42/ : $warning eq '');
-