This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Devel-PPPort to release 3.59
authorNicolas R <nicolas@atoomic.org>
Mon, 10 Aug 2020 17:43:51 +0000 (11:43 -0600)
committerNicolas R <nicolas@atoomic.org>
Mon, 10 Aug 2020 23:26:40 +0000 (17:26 -0600)
Note that test files are not under file version
control anymore as they are generated files.

271 files changed:
MANIFEST
Porting/exec-bit.txt
dist/Devel-PPPort/.gitignore
dist/Devel-PPPort/Changes
dist/Devel-PPPort/HACKERS
dist/Devel-PPPort/Makefile.PL
dist/Devel-PPPort/PPPort_pm.PL
dist/Devel-PPPort/devel/devtools.pl
dist/Devel-PPPort/devel/mkapidoc.pl [changed mode: 0644->0755]
dist/Devel-PPPort/devel/mkppport_fnc.pl
dist/Devel-PPPort/devel/regenerate
dist/Devel-PPPort/devel/scanprov
dist/Devel-PPPort/devel/update_release_date.pl [new file with mode: 0755]
dist/Devel-PPPort/parts/apicheck.pl
dist/Devel-PPPort/parts/apidoc.fnc
dist/Devel-PPPort/parts/base/5003007
dist/Devel-PPPort/parts/base/5004000
dist/Devel-PPPort/parts/base/5004001
dist/Devel-PPPort/parts/base/5004002
dist/Devel-PPPort/parts/base/5004004
dist/Devel-PPPort/parts/base/5004005
dist/Devel-PPPort/parts/base/5005000
dist/Devel-PPPort/parts/base/5005002
dist/Devel-PPPort/parts/base/5005003
dist/Devel-PPPort/parts/base/5005004
dist/Devel-PPPort/parts/base/5006000
dist/Devel-PPPort/parts/base/5006001
dist/Devel-PPPort/parts/base/5007000
dist/Devel-PPPort/parts/base/5007001
dist/Devel-PPPort/parts/base/5007002
dist/Devel-PPPort/parts/base/5007003
dist/Devel-PPPort/parts/base/5008000
dist/Devel-PPPort/parts/base/5008001
dist/Devel-PPPort/parts/base/5008002
dist/Devel-PPPort/parts/base/5008009
dist/Devel-PPPort/parts/base/5009000
dist/Devel-PPPort/parts/base/5009001
dist/Devel-PPPort/parts/base/5009002
dist/Devel-PPPort/parts/base/5009003
dist/Devel-PPPort/parts/base/5009004
dist/Devel-PPPort/parts/base/5009005
dist/Devel-PPPort/parts/base/5010000
dist/Devel-PPPort/parts/base/5010001
dist/Devel-PPPort/parts/base/5011000
dist/Devel-PPPort/parts/base/5011001
dist/Devel-PPPort/parts/base/5011002
dist/Devel-PPPort/parts/base/5011004
dist/Devel-PPPort/parts/base/5011005
dist/Devel-PPPort/parts/base/5013000
dist/Devel-PPPort/parts/base/5013001
dist/Devel-PPPort/parts/base/5013002
dist/Devel-PPPort/parts/base/5013003
dist/Devel-PPPort/parts/base/5013004
dist/Devel-PPPort/parts/base/5013005
dist/Devel-PPPort/parts/base/5013006
dist/Devel-PPPort/parts/base/5013007
dist/Devel-PPPort/parts/base/5013008
dist/Devel-PPPort/parts/base/5013009
dist/Devel-PPPort/parts/base/5013010
dist/Devel-PPPort/parts/base/5013011
dist/Devel-PPPort/parts/base/5014000
dist/Devel-PPPort/parts/base/5015000
dist/Devel-PPPort/parts/base/5015001
dist/Devel-PPPort/parts/base/5015002
dist/Devel-PPPort/parts/base/5015003
dist/Devel-PPPort/parts/base/5015004
dist/Devel-PPPort/parts/base/5015005
dist/Devel-PPPort/parts/base/5015006
dist/Devel-PPPort/parts/base/5015007
dist/Devel-PPPort/parts/base/5015008
dist/Devel-PPPort/parts/base/5015009
dist/Devel-PPPort/parts/base/5016000
dist/Devel-PPPort/parts/base/5017000
dist/Devel-PPPort/parts/base/5017001
dist/Devel-PPPort/parts/base/5017002
dist/Devel-PPPort/parts/base/5017003
dist/Devel-PPPort/parts/base/5017004
dist/Devel-PPPort/parts/base/5017005
dist/Devel-PPPort/parts/base/5017006
dist/Devel-PPPort/parts/base/5017007
dist/Devel-PPPort/parts/base/5017008
dist/Devel-PPPort/parts/base/5017009
dist/Devel-PPPort/parts/base/5017010
dist/Devel-PPPort/parts/base/5017011
dist/Devel-PPPort/parts/base/5018000
dist/Devel-PPPort/parts/base/5019001
dist/Devel-PPPort/parts/base/5019002
dist/Devel-PPPort/parts/base/5019003
dist/Devel-PPPort/parts/base/5019004
dist/Devel-PPPort/parts/base/5019005
dist/Devel-PPPort/parts/base/5019006
dist/Devel-PPPort/parts/base/5019007
dist/Devel-PPPort/parts/base/5019008
dist/Devel-PPPort/parts/base/5019009
dist/Devel-PPPort/parts/base/5019010
dist/Devel-PPPort/parts/base/5020000
dist/Devel-PPPort/parts/base/5021001
dist/Devel-PPPort/parts/base/5021002
dist/Devel-PPPort/parts/base/5021003
dist/Devel-PPPort/parts/base/5021004
dist/Devel-PPPort/parts/base/5021005
dist/Devel-PPPort/parts/base/5021006
dist/Devel-PPPort/parts/base/5021007
dist/Devel-PPPort/parts/base/5021008
dist/Devel-PPPort/parts/base/5021009
dist/Devel-PPPort/parts/base/5021010
dist/Devel-PPPort/parts/base/5023000
dist/Devel-PPPort/parts/base/5023001
dist/Devel-PPPort/parts/base/5023002
dist/Devel-PPPort/parts/base/5023003
dist/Devel-PPPort/parts/base/5023005
dist/Devel-PPPort/parts/base/5023006
dist/Devel-PPPort/parts/base/5023007
dist/Devel-PPPort/parts/base/5023008
dist/Devel-PPPort/parts/base/5023009
dist/Devel-PPPort/parts/base/5024000
dist/Devel-PPPort/parts/base/5025001
dist/Devel-PPPort/parts/base/5025002
dist/Devel-PPPort/parts/base/5025003
dist/Devel-PPPort/parts/base/5025004
dist/Devel-PPPort/parts/base/5025005
dist/Devel-PPPort/parts/base/5025006
dist/Devel-PPPort/parts/base/5025007
dist/Devel-PPPort/parts/base/5025008
dist/Devel-PPPort/parts/base/5025009
dist/Devel-PPPort/parts/base/5025010
dist/Devel-PPPort/parts/base/5025011
dist/Devel-PPPort/parts/base/5025012
dist/Devel-PPPort/parts/base/5027001
dist/Devel-PPPort/parts/base/5027002
dist/Devel-PPPort/parts/base/5027003
dist/Devel-PPPort/parts/base/5027004
dist/Devel-PPPort/parts/base/5027005
dist/Devel-PPPort/parts/base/5027006
dist/Devel-PPPort/parts/base/5027007
dist/Devel-PPPort/parts/base/5027008
dist/Devel-PPPort/parts/base/5027009
dist/Devel-PPPort/parts/base/5027010
dist/Devel-PPPort/parts/base/5027011
dist/Devel-PPPort/parts/base/5028002 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5028003 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5029000
dist/Devel-PPPort/parts/base/5029001
dist/Devel-PPPort/parts/base/5029002
dist/Devel-PPPort/parts/base/5029003
dist/Devel-PPPort/parts/base/5029004
dist/Devel-PPPort/parts/base/5029005
dist/Devel-PPPort/parts/base/5029006
dist/Devel-PPPort/parts/base/5029007
dist/Devel-PPPort/parts/base/5029008
dist/Devel-PPPort/parts/base/5029009
dist/Devel-PPPort/parts/base/5029010
dist/Devel-PPPort/parts/base/5030001 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5030002 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5030003 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5031000 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5031001
dist/Devel-PPPort/parts/base/5031002
dist/Devel-PPPort/parts/base/5031004
dist/Devel-PPPort/parts/base/5031005
dist/Devel-PPPort/parts/base/5031006
dist/Devel-PPPort/parts/base/5031007
dist/Devel-PPPort/parts/base/5031008
dist/Devel-PPPort/parts/base/5031009 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5031010 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5031011 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5032000 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5033000 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5033001 [new file with mode: 0644]
dist/Devel-PPPort/parts/base/5033002 [new file with mode: 0644]
dist/Devel-PPPort/parts/embed.fnc
dist/Devel-PPPort/parts/inc/call
dist/Devel-PPPort/parts/inc/cop
dist/Devel-PPPort/parts/inc/format
dist/Devel-PPPort/parts/inc/gv
dist/Devel-PPPort/parts/inc/locale
dist/Devel-PPPort/parts/inc/magic
dist/Devel-PPPort/parts/inc/mess
dist/Devel-PPPort/parts/inc/misc
dist/Devel-PPPort/parts/inc/newSVpv
dist/Devel-PPPort/parts/inc/ppphbin
dist/Devel-PPPort/parts/inc/ppphdoc
dist/Devel-PPPort/parts/inc/ppphtest
dist/Devel-PPPort/parts/inc/pv_tools
dist/Devel-PPPort/parts/inc/sv_xpvf
dist/Devel-PPPort/parts/inc/uv
dist/Devel-PPPort/parts/inc/variables
dist/Devel-PPPort/parts/inc/version
dist/Devel-PPPort/parts/inc/warn
dist/Devel-PPPort/parts/ppport.fnc
dist/Devel-PPPort/parts/ppptools.pl
dist/Devel-PPPort/parts/todo/5003007
dist/Devel-PPPort/parts/todo/5004000
dist/Devel-PPPort/parts/todo/5005000
dist/Devel-PPPort/parts/todo/5006000
dist/Devel-PPPort/parts/todo/5006001
dist/Devel-PPPort/parts/todo/5007001
dist/Devel-PPPort/parts/todo/5007002
dist/Devel-PPPort/parts/todo/5007003
dist/Devel-PPPort/parts/todo/5008001
dist/Devel-PPPort/parts/todo/5008009
dist/Devel-PPPort/parts/todo/5009000
dist/Devel-PPPort/parts/todo/5009003
dist/Devel-PPPort/parts/todo/5009004
dist/Devel-PPPort/parts/todo/5009005
dist/Devel-PPPort/parts/todo/5010000
dist/Devel-PPPort/parts/todo/5010001
dist/Devel-PPPort/parts/todo/5011000
dist/Devel-PPPort/parts/todo/5011002
dist/Devel-PPPort/parts/todo/5013006
dist/Devel-PPPort/parts/todo/5013007
dist/Devel-PPPort/parts/todo/5013008
dist/Devel-PPPort/parts/todo/5015003
dist/Devel-PPPort/parts/todo/5017001
dist/Devel-PPPort/parts/todo/5017007
dist/Devel-PPPort/parts/todo/5021006
dist/Devel-PPPort/parts/todo/5023000
dist/Devel-PPPort/parts/todo/5023008
dist/Devel-PPPort/parts/todo/5027008
dist/Devel-PPPort/parts/todo/5028002 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5028003 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5030001 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5030002 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5030003 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5031000 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5031005
dist/Devel-PPPort/parts/todo/5031007
dist/Devel-PPPort/parts/todo/5031009 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5031010 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5031011 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5032000 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5033000 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5033001 [new file with mode: 0644]
dist/Devel-PPPort/parts/todo/5033002 [new file with mode: 0644]
dist/Devel-PPPort/t/01_test.t [deleted file]
dist/Devel-PPPort/t/HvNAME.t [deleted file]
dist/Devel-PPPort/t/MY_CXT.t [deleted file]
dist/Devel-PPPort/t/SvPV.t [deleted file]
dist/Devel-PPPort/t/SvREFCNT.t [deleted file]
dist/Devel-PPPort/t/Sv_set.t [deleted file]
dist/Devel-PPPort/t/call.t [deleted file]
dist/Devel-PPPort/t/cop.t [deleted file]
dist/Devel-PPPort/t/exception.t [deleted file]
dist/Devel-PPPort/t/format.t [deleted file]
dist/Devel-PPPort/t/grok.t [deleted file]
dist/Devel-PPPort/t/gv.t [deleted file]
dist/Devel-PPPort/t/limits.t [deleted file]
dist/Devel-PPPort/t/locale.t [deleted file]
dist/Devel-PPPort/t/mPUSH.t [deleted file]
dist/Devel-PPPort/t/magic.t [deleted file]
dist/Devel-PPPort/t/memory.t [deleted file]
dist/Devel-PPPort/t/mess.t [deleted file]
dist/Devel-PPPort/t/misc.t [deleted file]
dist/Devel-PPPort/t/newCONSTSUB.t [deleted file]
dist/Devel-PPPort/t/newRV.t [deleted file]
dist/Devel-PPPort/t/newSV_type.t [deleted file]
dist/Devel-PPPort/t/newSVpv.t [deleted file]
dist/Devel-PPPort/t/podtest.t [deleted file]
dist/Devel-PPPort/t/ppphtest.t [deleted file]
dist/Devel-PPPort/t/pv_tools.t [deleted file]
dist/Devel-PPPort/t/pvs.t [deleted file]
dist/Devel-PPPort/t/shared_pv.t [deleted file]
dist/Devel-PPPort/t/snprintf.t [deleted file]
dist/Devel-PPPort/t/sprintf.t [deleted file]
dist/Devel-PPPort/t/strlfuncs.t [deleted file]
dist/Devel-PPPort/t/sv_xpvf.t [deleted file]
dist/Devel-PPPort/t/threads.t [deleted file]
dist/Devel-PPPort/t/utf8.t [deleted file]
dist/Devel-PPPort/t/uv.t [deleted file]
dist/Devel-PPPort/t/variables.t [deleted file]
dist/Devel-PPPort/t/warn.t [deleted file]

index b54455e..1893a3c 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -3026,6 +3026,7 @@ dist/Devel-PPPort/devel/mktodo            Devel::PPPort baseline/todo generator
 dist/Devel-PPPort/devel/mktodo.pl      Devel::PPPort baseline/todo generator
 dist/Devel-PPPort/devel/regenerate     Devel::PPPort API re-generator
 dist/Devel-PPPort/devel/scanprov       Devel::PPPort provided API scanner
+dist/Devel-PPPort/devel/update_release_date.pl Devel::PPPort timestamp builder
 dist/Devel-PPPort/HACKERS              Devel::PPPort hackers documentation
 dist/Devel-PPPort/Makefile.PL          Devel::PPPort makefile writer
 dist/Devel-PPPort/MANIFEST.SKIP                Devel::PPPort manifest skip file
@@ -3210,6 +3211,8 @@ dist/Devel-PPPort/parts/base/5027010      Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5027011   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5028000   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5028001   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5028002   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5028003   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5029000   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5029001   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5029002   Devel::PPPort baseline todo file
@@ -3222,6 +3225,10 @@ dist/Devel-PPPort/parts/base/5029008     Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5029009   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5029010   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5030000   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5030001   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5030002   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5030003   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5031000   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5031001   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5031002   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5031003   Devel::PPPort baseline todo file
@@ -3230,6 +3237,13 @@ dist/Devel-PPPort/parts/base/5031005     Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5031006   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5031007   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/base/5031008
+dist/Devel-PPPort/parts/base/5031009   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5031010   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5031011   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5032000   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5033000   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5033001   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/base/5033002   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/embed.fnc      Devel::PPPort Perl API listing
 dist/Devel-PPPort/parts/inc/01_test    Devel::PPPort include
 dist/Devel-PPPort/parts/inc/call       Devel::PPPort include
@@ -3452,6 +3466,8 @@ dist/Devel-PPPort/parts/todo/5027010      Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5027011   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5028000   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5028001   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/todo/5028002   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5028003   Devel::PPPort todo file
 dist/Devel-PPPort/parts/todo/5029000   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5029001   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5029002   Devel::PPPort baseline todo file
@@ -3464,6 +3480,10 @@ dist/Devel-PPPort/parts/todo/5029008     Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5029009   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5029010   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5030000   Devel::PPPort baseline todo file
+dist/Devel-PPPort/parts/todo/5030001   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5030002   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5030003   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5031000   Devel::PPPort todo file
 dist/Devel-PPPort/parts/todo/5031001   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5031002   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5031003   Devel::PPPort baseline todo file
@@ -3472,49 +3492,19 @@ dist/Devel-PPPort/parts/todo/5031005    Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5031006   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5031007   Devel::PPPort baseline todo file
 dist/Devel-PPPort/parts/todo/5031008
+dist/Devel-PPPort/parts/todo/5031009   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5031010   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5031011   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5032000   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5033000   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5033001   Devel::PPPort todo file
+dist/Devel-PPPort/parts/todo/5033002   Devel::PPPort todo file
 dist/Devel-PPPort/PPPort.xs            Devel::PPPort dummy PPPort.xs
 dist/Devel-PPPort/ppport_h.PL          Devel::PPPort ppport.h writer
 dist/Devel-PPPort/PPPort_pm.PL         Devel::PPPort PPPort.pm writer
 dist/Devel-PPPort/RealPPPort_xs.PL             Devel::PPPort RealPPPort.xs writer
 dist/Devel-PPPort/soak                 Devel::PPPort Test Harness to run under various Perls
-dist/Devel-PPPort/t/01_test.t          Devel::PPPort test file
-dist/Devel-PPPort/t/call.t             Devel::PPPort test file
-dist/Devel-PPPort/t/cop.t              Devel::PPPort test file
-dist/Devel-PPPort/t/exception.t                Devel::PPPort test file
-dist/Devel-PPPort/t/format.t           Devel::PPPort test file
-dist/Devel-PPPort/t/grok.t             Devel::PPPort test file
-dist/Devel-PPPort/t/gv.t               Devel::PPPort test file
-dist/Devel-PPPort/t/HvNAME.t           Devel::PPPort test file
-dist/Devel-PPPort/t/limits.t           Devel::PPPort test file
-dist/Devel-PPPort/t/locale.t
-dist/Devel-PPPort/t/magic.t            Devel::PPPort test file
-dist/Devel-PPPort/t/memory.t           Devel::PPPort test file
-dist/Devel-PPPort/t/mess.t             Devel::PPPort test file
-dist/Devel-PPPort/t/misc.t             Devel::PPPort test file
-dist/Devel-PPPort/t/mPUSH.t            Devel::PPPort test file
-dist/Devel-PPPort/t/MY_CXT.t           Devel::PPPort test file
-dist/Devel-PPPort/t/newCONSTSUB.t      Devel::PPPort test file
-dist/Devel-PPPort/t/newRV.t            Devel::PPPort test file
-dist/Devel-PPPort/t/newSV_type.t       Devel::PPPort test file
-dist/Devel-PPPort/t/newSVpv.t          Devel::PPPort test file
-dist/Devel-PPPort/t/podtest.t          Devel::PPPort test file
-dist/Devel-PPPort/t/ppphtest.t         Devel::PPPort test file
-dist/Devel-PPPort/t/pv_tools.t         Devel::PPPort test file
-dist/Devel-PPPort/t/pvs.t              Devel::PPPort test file
-dist/Devel-PPPort/t/shared_pv.t                Devel::PPPort test file
-dist/Devel-PPPort/t/snprintf.t         Devel::PPPort test file
-dist/Devel-PPPort/t/sprintf.t          Devel::PPPort test file
-dist/Devel-PPPort/t/strlfuncs.t                Devel::PPPort test file
-dist/Devel-PPPort/t/Sv_set.t           Devel::PPPort test file
-dist/Devel-PPPort/t/sv_xpvf.t          Devel::PPPort test file
-dist/Devel-PPPort/t/SvPV.t             Devel::PPPort test file
-dist/Devel-PPPort/t/SvREFCNT.t         Devel::PPPort test file
-dist/Devel-PPPort/t/testutil.pl                Devel::PPPort test utilities
-dist/Devel-PPPort/t/threads.t          Devel::PPPort test file
-dist/Devel-PPPort/t/utf8.t
-dist/Devel-PPPort/t/uv.t               Devel::PPPort test file
-dist/Devel-PPPort/t/variables.t                Devel::PPPort test file
-dist/Devel-PPPort/t/warn.t             Devel::PPPort test file
+dist/Devel-PPPort/t/testutil.pl                        Devel::PPPort test utilities
 dist/Devel-PPPort/TODO                 Devel::PPPort developer notes
 dist/Devel-PPPort/typemap              Devel::PPPort Typemap
 dist/Devel-SelfStubber/lib/Devel/SelfStubber.pm        Generate stubs for SelfLoader.pm
index c172e8a..ac6fc54 100644 (file)
@@ -14,9 +14,11 @@ cpan/autodie/t/chmod.t
 cpan/CPAN-Meta-YAML/t/tml
 cpan/Test-Harness/t/source_tests/source.sh
 cpan/Test-Harness/t/source_tests/source_args.sh
+dist/Devel-PPPort/devel/mkapidoc.pl
 dist/Devel-PPPort/devel/mktodo
 dist/Devel-PPPort/devel/regenerate
 dist/Devel-PPPort/devel/scanprov
+dist/Devel-PPPort/devel/update_release_date.pl
 dist/Devel-PPPort/soak
 installperl
 installman
index ea16eb4..0fa82e0 100644 (file)
@@ -16,3 +16,6 @@ PPPort.bs
 /README
 /README.md
 /.travis.yml
+/Devel-PPPort-*.tar.gz
+/Devel-PPPort-*/
+/t/*.t
index b2ec2d3..49228c8 100644 (file)
@@ -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
index 5cf783a..98abad2 100644 (file)
@@ -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.
index 9cc4328..a74a57d 100644 (file)
 #  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];
index 3c51fbe..ba35aca 100644 (file)
@@ -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
 {
index e2437a5..49964ce 100644 (file)
@@ -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';
old mode 100644 (file)
new mode 100755 (executable)
index 6acbc41..fa49459
@@ -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";
index 26adfea..e514b5e 100644 (file)
@@ -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;
index 97b7cbe..999354e 100755 (executable)
@@ -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();
     }
index b8f184d..5194e69 100755 (executable)
@@ -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 (executable)
index 0000000..153f9b3
--- /dev/null
@@ -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;
index 1def248..bb73d69 100644 (file)
@@ -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
   }
 
index 5b65d5e..9ebb27f 100644 (file)
@@ -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
index 11fdae8..a399578 100644 (file)
@@ -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
index 7d77ab1..0ad9a0a 100644 (file)
@@ -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
index 1a7f0b7..bcbea89 100644 (file)
@@ -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
index 88ea401..53e055a 100644 (file)
@@ -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
index 6437c3e..bb93a90 100644 (file)
@@ -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
index 5abbf16..bfb9643 100644 (file)
@@ -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
index a9d989f..e51abe6 100644 (file)
@@ -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
index 35d08b2..a15a670 100644 (file)
@@ -1 +1,2 @@
 5.005002
+PERL_CALLCONV                  # Z added by devel/scanprov
index 354427d..740c4f6 100644 (file)
@@ -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
index a63720a..4b2da7f 100644 (file)
@@ -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
index 268579a..20ce093 100644 (file)
 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