Changeset 14691 for dan

Show
Ignore:
Timestamp:
06/27/08 14:43:31 (5 months ago)
Author:
yappo
Message:

autoboxからコピーした

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • dan/perl/Object-with/branches/yappo/ppport.h

    r14553 r14691  
    1  
    2 /* ppport.h -- Perl/Pollution/Portability Version 2.011  
    3  * 
    4  * Automatically Created by Devel::PPPort on Mon Jun 23 18:02:46 2008  
    5  * 
    6  * Do NOT edit this file directly! -- Edit PPPort.pm instead. 
    7  * 
    8  * Version 2.x, Copyright (C) 2001, Paul Marquess. 
    9  * Version 1.x, Copyright (C) 1999, Kenneth Albanowski. 
    10  * This code may be used and distributed under the same license as any 
    11  * version of Perl. 
    12  *  
    13  * This version of ppport.h is designed to support operation with Perl 
    14  * installations back to 5.004, and has been tested up to 5.8.1. 
    15  * 
    16  * If this version of ppport.h is failing during the compilation of this 
    17  * module, please check if a newer version of Devel::PPPort is available 
    18  * on CPAN before sending a bug report. 
    19  * 
    20  * If you are using the latest version of Devel::PPPort and it is failing 
    21  * during compilation of this module, please send a report to perlbug@perl.com 
    22  * 
    23  * Include all following information: 
    24  * 
    25  *  1. The complete output from running "perl -V" 
    26  * 
    27  *  2. This file. 
    28  * 
    29  *  3. The name & version of the module you were trying to build. 
    30  * 
    31  *  4. A full log of the build that failed. 
    32  * 
    33  *  5. Any other information that you think could be relevant. 
    34  * 
    35  * 
    36  * For the latest version of this code, please retreive the Devel::PPPort 
    37  * module from CPAN. 
    38  *  
    39  */ 
    40  
     1#if 0 
     2<<'SKIP'; 
     3#endif 
    414/* 
    42  * In order for a Perl extension module to be as portable as possible 
    43  * across differing versions of Perl itself, certain steps need to be taken. 
    44  * Including this header is the first major one, then using dTHR is all the 
    45  * appropriate places and using a PL_ prefix to refer to global Perl 
    46  * variables is the second. 
    47  * 
    48  */ 
    49  
    50  
    51 /* If you use one of a few functions that were not present in earlier 
    52  * versions of Perl, please add a define before the inclusion of ppport.h 
    53  * for a static include, or use the GLOBAL request in a single module to 
    54  * produce a global definition that can be referenced from the other 
    55  * modules. 
    56  *  
    57  * Function:            Static define:           Extern define: 
    58  * newCONSTSUB()        NEED_newCONSTSUB         NEED_newCONSTSUB_GLOBAL 
    59  * 
    60  */ 
    61   
    62  
    63 /* To verify whether ppport.h is needed for your module, and whether any 
    64  * special defines should be used, ppport.h can be run through Perl to check 
    65  * your source code. Simply say: 
    66  *  
    67  *      perl -x ppport.h *.c *.h *.xs foo/bar*.c [etc] 
    68  *  
    69  * The result will be a list of patches suggesting changes that should at 
    70  * least be acceptable, if not necessarily the most efficient solution, or a 
    71  * fix for all possible problems. It won't catch where dTHR is needed, and 
    72  * doesn't attempt to account for global macro or function definitions, 
    73  * nested includes, typemaps, etc. 
    74  *  
    75  * In order to test for the need of dTHR, please try your module under a 
    76  * recent version of Perl that has threading compiled-in. 
    77  * 
    78  */  
    79  
    80  
    81 /* 
    82 #!/usr/bin/perl 
    83 @ARGV = ("*.xs") if !@ARGV; 
    84 %badmacros = %funcs = %macros = (); $replace = 0; 
    85 foreach (<DATA>) { 
    86         $funcs{$1} = 1 if /Provide:\s+(\S+)/; 
    87         $macros{$1} = 1 if /^#\s*define\s+([a-zA-Z0-9_]+)/; 
    88         $replace = $1 if /Replace:\s+(\d+)/; 
    89         $badmacros{$2}=$1 if $replace and /^#\s*define\s+([a-zA-Z0-9_]+).*?\s+([a-zA-Z0-9_]+)/; 
    90         $badmacros{$1}=$2 if /Replace (\S+) with (\S+)/; 
     5---------------------------------------------------------------------- 
     6 
     7    ppport.h -- Perl/Pollution/Portability Version 3.13_03 
     8 
     9    Automatically created by Devel::PPPort running under perl 5.008008. 
     10 
     11    Do NOT edit this file directly! -- Edit PPPort_pm.PL and the 
     12    includes in parts/inc/ instead. 
     13 
     14    Use 'perldoc ppport.h' to view the documentation below. 
     15 
     16---------------------------------------------------------------------- 
     17 
     18SKIP 
     19 
     20=pod 
     21 
     22=head1 NAME 
     23 
     24ppport.h - Perl/Pollution/Portability version 3.13_03 
     25 
     26=head1 SYNOPSIS 
     27 
     28  perl ppport.h [options] [source files] 
     29 
     30  Searches current directory for files if no [source files] are given 
     31 
     32  --help                      show short help 
     33 
     34  --version                   show version 
     35 
     36  --patch=file                write one patch file with changes 
     37  --copy=suffix               write changed copies with suffix 
     38  --diff=program              use diff program and options 
     39 
     40  --compat-version=version    provide compatibility with Perl version 
     41  --cplusplus                 accept C++ comments 
     42 
     43  --quiet                     don't output anything except fatal errors 
     44  --nodiag                    don't show diagnostics 
     45  --nohints                   don't show hints 
     46  --nochanges                 don't suggest changes 
     47  --nofilter                  don't filter input files 
     48 
     49  --strip                     strip all script and doc functionality from 
     50                              ppport.h 
     51 
     52  --list-provided             list provided API 
     53  --list-unsupported          list unsupported API 
     54  --api-info=name             show Perl API portability information 
     55 
     56=head1 COMPATIBILITY 
     57 
     58This version of F<ppport.h> is designed to support operation with Perl 
     59installations back to 5.003, and has been tested up to 5.10.0. 
     60 
     61=head1 OPTIONS 
     62 
     63=head2 --help 
     64 
     65Display a brief usage summary. 
     66 
     67=head2 --version 
     68 
     69Display the version of F<ppport.h>. 
     70 
     71=head2 --patch=I<file> 
     72 
     73If this option is given, a single patch file will be created if 
     74any changes are suggested. This requires a working diff program 
     75to be installed on your system. 
     76 
     77=head2 --copy=I<suffix> 
     78 
     79If this option is given, a copy of each file will be saved with 
     80the given suffix that contains the suggested changes. This does 
     81not require any external programs. Note that this does not 
     82automagially add a dot between the original filename and the 
     83suffix. If you want the dot, you have to include it in the option 
     84argument. 
     85 
     86If neither C<--patch> or C<--copy> are given, the default is to 
     87simply print the diffs for each file. This requires either 
     88C<Text::Diff> or a C<diff> program to be installed. 
     89 
     90=head2 --diff=I<program> 
     91 
     92Manually set the diff program and options to use. The default 
     93is to use C<Text::Diff>, when installed, and output unified 
     94context diffs. 
     95 
     96=head2 --compat-version=I<version> 
     97 
     98Tell F<ppport.h> to check for compatibility with the given 
     99Perl version. The default is to check for compatibility with Perl 
     100version 5.003. You can use this option to reduce the output 
     101of F<ppport.h> if you intend to be backward compatible only 
     102down to a certain Perl version. 
     103 
     104=head2 --cplusplus 
     105 
     106Usually, F<ppport.h> will detect C++ style comments and 
     107replace them with C style comments for portability reasons. 
     108Using this option instructs F<ppport.h> to leave C++ 
     109comments untouched. 
     110 
     111=head2 --quiet 
     112 
     113Be quiet. Don't print anything except fatal errors. 
     114 
     115=head2 --nodiag 
     116 
     117Don't output any diagnostic messages. Only portability 
     118alerts will be printed. 
     119 
     120=head2 --nohints 
     121 
     122Don't output any hints. Hints often contain useful portability 
     123notes. Warnings will still be displayed. 
     124 
     125=head2 --nochanges 
     126 
     127Don't suggest any changes. Only give diagnostic output and hints 
     128unless these are also deactivated. 
     129 
     130=head2 --nofilter 
     131 
     132Don't filter the list of input files. By default, files not looking 
     133like source code (i.e. not *.xs, *.c, *.cc, *.cpp or *.h) are skipped. 
     134 
     135=head2 --strip 
     136 
     137Strip all script and documentation functionality from F<ppport.h>. 
     138This reduces the size of F<ppport.h> dramatically and may be useful 
     139if you want to include F<ppport.h> in smaller modules without 
     140increasing their distribution size too much. 
     141 
     142The stripped F<ppport.h> will have a C<--unstrip> option that allows 
     143you to undo the stripping, but only if an appropriate C<Devel::PPPort> 
     144module is installed. 
     145 
     146=head2 --list-provided 
     147 
     148Lists the API elements for which compatibility is provided by 
     149F<ppport.h>. Also lists if it must be explicitly requested, 
     150if it has dependencies, and if there are hints or warnings for it. 
     151 
     152=head2 --list-unsupported 
     153 
     154Lists the API elements that are known not to be supported by 
     155F<ppport.h> and below which version of Perl they probably 
     156won't be available or work. 
     157 
     158=head2 --api-info=I<name> 
     159 
     160Show portability information for API elements matching I<name>. 
     161If I<name> is surrounded by slashes, it is interpreted as a regular 
     162expression. 
     163 
     164=head1 DESCRIPTION 
     165 
     166In order for a Perl extension (XS) module to be as portable as possible 
     167across differing versions of Perl itself, certain steps need to be taken. 
     168 
     169=over 4 
     170 
     171=item * 
     172 
     173Including this header is the first major one. This alone will give you 
     174access to a large part of the Perl API that hasn't been available in 
     175earlier Perl releases. Use 
     176 
     177    perl ppport.h --list-provided 
     178 
     179to see which API elements are provided by ppport.h. 
     180 
     181=item * 
     182 
     183You should avoid using deprecated parts of the API. For example, using 
     184global Perl variables without the C<PL_> prefix is deprecated. Also, 
     185some API functions used to have a C<perl_> prefix. Using this form is 
     186also deprecated. You can safely use the supported API, as F<ppport.h> 
     187will provide wrappers for older Perl versions. 
     188 
     189=item * 
     190 
     191If you use one of a few functions or variables that were not present in 
     192earlier versions of Perl, and that can't be provided using a macro, you 
     193have to explicitly request support for these functions by adding one or 
     194more C<#define>s in your source code before the inclusion of F<ppport.h>. 
     195 
     196These functions or variables will be marked C<explicit> in the list shown 
     197by C<--list-provided>. 
     198 
     199Depending on whether you module has a single or multiple files that 
     200use such functions or variables, you want either C<static> or global 
     201variants. 
     202 
     203For a C<static> function or variable (used only in a single source 
     204file), use: 
     205 
     206    #define NEED_function 
     207    #define NEED_variable 
     208 
     209For a global function or variable (used in multiple source files), 
     210use: 
     211 
     212    #define NEED_function_GLOBAL 
     213    #define NEED_variable_GLOBAL 
     214 
     215Note that you mustn't have more than one global request for the 
     216same function or variable in your project. 
     217 
     218    Function / Variable       Static Request               Global Request 
     219    ----------------------------------------------------------------------------------------- 
     220    PL_signals                NEED_PL_signals              NEED_PL_signals_GLOBAL 
     221    eval_pv()                 NEED_eval_pv                 NEED_eval_pv_GLOBAL 
     222    grok_bin()                NEED_grok_bin                NEED_grok_bin_GLOBAL 
     223    grok_hex()                NEED_grok_hex                NEED_grok_hex_GLOBAL 
     224    grok_number()             NEED_grok_number             NEED_grok_number_GLOBAL 
     225    grok_numeric_radix()      NEED_grok_numeric_radix      NEED_grok_numeric_radix_GLOBAL 
     226    grok_oct()                NEED_grok_oct                NEED_grok_oct_GLOBAL 
     227    load_module()             NEED_load_module             NEED_load_module_GLOBAL 
     228    my_snprintf()             NEED_my_snprintf             NEED_my_snprintf_GLOBAL 
     229    my_strlcat()              NEED_my_strlcat              NEED_my_strlcat_GLOBAL 
     230    my_strlcpy()              NEED_my_strlcpy              NEED_my_strlcpy_GLOBAL 
     231    newCONSTSUB()             NEED_newCONSTSUB             NEED_newCONSTSUB_GLOBAL 
     232    newRV_noinc()             NEED_newRV_noinc             NEED_newRV_noinc_GLOBAL 
     233    newSVpvn_flags()          NEED_newSVpvn_flags          NEED_newSVpvn_flags_GLOBAL 
     234    newSVpvn_share()          NEED_newSVpvn_share          NEED_newSVpvn_share_GLOBAL 
     235    sv_2pv_flags()            NEED_sv_2pv_flags            NEED_sv_2pv_flags_GLOBAL 
     236    sv_2pvbyte()              NEED_sv_2pvbyte              NEED_sv_2pvbyte_GLOBAL 
     237    sv_catpvf_mg()            NEED_sv_catpvf_mg            NEED_sv_catpvf_mg_GLOBAL 
     238    sv_catpvf_mg_nocontext()  NEED_sv_catpvf_mg_nocontext  NEED_sv_catpvf_mg_nocontext_GLOBAL 
     239    sv_pvn_force_flags()      NEED_sv_pvn_force_flags      NEED_sv_pvn_force_flags_GLOBAL 
     240    sv_setpvf_mg()            NEED_sv_setpvf_mg            NEED_sv_setpvf_mg_GLOBAL 
     241    sv_setpvf_mg_nocontext()  NEED_sv_setpvf_mg_nocontext  NEED_sv_setpvf_mg_nocontext_GLOBAL 
     242    vload_module()            NEED_vload_module            NEED_vload_module_GLOBAL 
     243    vnewSVpvf()               NEED_vnewSVpvf               NEED_vnewSVpvf_GLOBAL 
     244    warner()                  NEED_warner                  NEED_warner_GLOBAL 
     245 
     246To avoid namespace conflicts, you can change the namespace of the 
     247explicitly exported functions / variables using the C<DPPP_NAMESPACE> 
     248macro. Just C<#define> the macro before including C<ppport.h>: 
     249 
     250    #define DPPP_NAMESPACE MyOwnNamespace_ 
     251    #include "ppport.h" 
     252 
     253The default namespace is C<DPPP_>. 
     254 
     255=back 
     256 
     257The good thing is that most of the above can be checked by running 
     258F<ppport.h> on your source code. See the next section for 
     259details. 
     260 
     261=head1 EXAMPLES 
     262 
     263To verify whether F<ppport.h> is needed for your module, whether you 
     264should make any changes to your code, and whether any special defines 
     265should be used, F<ppport.h> can be run as a Perl script to check your 
     266source code. Simply say: 
     267 
     268    perl ppport.h 
     269 
     270The result will usually be a list of patches suggesting changes 
     271that should at least be acceptable, if not necessarily the most 
     272efficient solution, or a fix for all possible problems. 
     273 
     274If you know that your XS module uses features only available in 
     275newer Perl releases, if you're aware that it uses C++ comments, 
     276and if you want all suggestions as a single patch file, you could 
     277use something like this: 
     278 
     279    perl ppport.h --compat-version=5.6.0 --cplusplus --patch=test.diff 
     280 
     281If you only want your code to be scanned without any suggestions 
     282for changes, use: 
     283 
     284    perl ppport.h --nochanges 
     285 
     286You can specify a different C<diff> program or options, using 
     287the C<--diff> option: 
     288 
     289    perl ppport.h --diff='diff -C 10' 
     290 
     291This would output context diffs with 10 lines of context. 
     292 
     293If you want to create patched copies of your files instead, use: 
     294 
     295    perl ppport.h --copy=.new 
     296 
     297To display portability information for the C<newSVpvn> function, 
     298use: 
     299 
     300    perl ppport.h --api-info=newSVpvn 
     301 
     302Since the argument to C<--api-info> can be a regular expression, 
     303you can use 
     304 
     305    perl ppport.h --api-info=/_nomg$/ 
     306 
     307to display portability information for all C<_nomg> functions or 
     308 
     309    perl ppport.h --api-info=/./ 
     310 
     311to display information for all known API elements. 
     312 
     313=head1 BUGS 
     314 
     315If this version of F<ppport.h> is causing failure during 
     316the compilation of this module, please check if newer versions 
     317of either this module or C<Devel::PPPort> are available on CPAN 
     318before sending a bug report. 
     319 
     320If F<ppport.h> was generated using the latest version of 
     321C<Devel::PPPort> and is causing failure of this module, please 
     322file a bug report using the CPAN Request Tracker at L<http://rt.cpan.org/>. 
     323 
     324Please include the following information: 
     325 
     326=over 4 
     327 
     328=item 1. 
     329 
     330The complete output from running "perl -V" 
     331 
     332=item 2. 
     333 
     334This file. 
     335 
     336=item 3. 
     337 
     338The name and version of the module you were trying to build. 
     339 
     340=item 4. 
     341 
     342A full log of the build that failed. 
     343 
     344=item 5. 
     345 
     346Any other information that you think could be relevant. 
     347 
     348=back 
     349 
     350For the latest version of this code, please get the C<Devel::PPPort> 
     351module from CPAN. 
     352 
     353=head1 COPYRIGHT 
     354 
     355Version 3.x, Copyright (c) 2004-2008, Marcus Holland-Moritz. 
     356 
     357Version 2.x, Copyright (C) 2001, Paul Marquess. 
     358 
     359Version 1.x, Copyright (C) 1999, Kenneth Albanowski. 
     360 
     361This program is free software; you can redistribute it and/or 
     362modify it under the same terms as Perl itself. 
     363 
     364=head1 SEE ALSO 
     365 
     366See L<Devel::PPPort>. 
     367 
     368=cut 
     369 
     370use strict; 
     371 
     372# Disable broken TRIE-optimization 
     373BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 } 
     374 
     375my $VERSION = 3.13_03; 
     376 
     377my %opt = ( 
     378  quiet     => 0, 
     379  diag      => 1, 
     380  hints     => 1, 
     381  changes   => 1, 
     382  cplusplus => 0, 
     383  filter    => 1, 
     384  strip     => 0, 
     385  version   => 0, 
     386); 
     387 
     388my($ppport) = $0 =~ /([\w.]+)$/; 
     389my $LF = '(?:\r\n|[\r\n])';   # line feed 
     390my $HS = "[ \t]";             # horizontal whitespace 
     391 
     392# Never use C comments in this file! 
     393my $ccs  = '/'.'*'; 
     394my $cce  = '*'.'/'; 
     395my $rccs = quotemeta $ccs; 
     396my $rcce = quotemeta $cce; 
     397 
     398eval { 
     399  require Getopt::Long; 
     400  Getopt::Long::GetOptions(\%opt, qw( 
     401    help quiet diag! filter! hints! changes! cplusplus strip version 
     402    patch=s copy=s diff=s compat-version=s 
     403    list-provided list-unsupported api-info=s 
     404  )) or usage(); 
     405}; 
     406 
     407if ($@ and grep /^-/, @ARGV) { 
     408  usage() if "@ARGV" =~ /^--?h(?:elp)?$/; 
     409  die "Getopt::Long not found. Please don't use any options.\n"; 
    91410} 
    92 foreach $filename (map(glob($_),@ARGV)) { 
    93         unless (open(IN, "<$filename")) { 
    94                 warn "Unable to read from $file: $!\n"; 
    95                 next; 
    96         } 
    97         print "Scanning $filename...\n"; 
    98         $c = ""; while (<IN>) { $c .= $_; } close(IN); 
    99         $need_include = 0; %add_func = (); $changes = 0; 
    100         $has_include = ($c =~ /#.*include.*ppport/m); 
    101  
    102         foreach $func (keys %funcs) { 
    103                 if ($c =~ /#.*define.*\bNEED_$func(_GLOBAL)?\b/m) { 
    104                         if ($c !~ /\b$func\b/m) { 
    105                                 print "If $func isn't needed, you don't need to request it.\n" if 
    106                                 $changes += ($c =~ s/^.*#.*define.*\bNEED_$func\b.*\n//m); 
    107                         } else { 
    108                                 print "Uses $func\n"; 
    109                                 $need_include = 1; 
    110                         } 
    111                 } else { 
    112                         if ($c =~ /\b$func\b/m) { 
    113                                 $add_func{$func} =1 ; 
    114                                 print "Uses $func\n"; 
    115                                 $need_include = 1; 
    116                         } 
    117                 } 
    118         } 
    119  
    120         if (not $need_include) { 
    121                 foreach $macro (keys %macros) { 
    122                         if ($c =~ /\b$macro\b/m) { 
    123                                 print "Uses $macro\n"; 
    124                                 $need_include = 1; 
    125                         } 
    126                 } 
    127         } 
    128  
    129         foreach $badmacro (keys %badmacros) { 
    130                 if ($c =~ /\b$badmacro\b/m) { 
    131                         $changes += ($c =~ s/\b$badmacro\b/$badmacros{$badmacro}/gm); 
    132                         print "Uses $badmacros{$badmacro} (instead of $badmacro)\n"; 
    133                         $need_include = 1; 
    134                 } 
    135         } 
    136          
    137         if (scalar(keys %add_func) or $need_include != $has_include) { 
    138                 if (!$has_include) { 
    139                         $inc = join('',map("#define NEED_$_\n", sort keys %add_func)). 
    140                                "#include \"ppport.h\"\n"; 
    141                         $c = "$inc$c" unless $c =~ s/#.*include.*XSUB.*\n/$&$inc/m; 
    142                 } elsif (keys %add_func) { 
    143                         $inc = join('',map("#define NEED_$_\n", sort keys %add_func)); 
    144                         $c = "$inc$c" unless $c =~ s/^.*#.*include.*ppport.*$/$inc$&/m; 
    145                 } 
    146                 if (!$need_include) { 
    147                         print "Doesn't seem to need ppport.h.\n"; 
    148                         $c =~ s/^.*#.*include.*ppport.*\n//m; 
    149                 } 
    150                 $changes++; 
    151         } 
    152          
    153         if ($changes) { 
    154                 open(OUT,">/tmp/ppport.h.$$"); 
    155                 print OUT $c; 
    156                 close(OUT); 
    157                 open(DIFF, "diff -u $filename /tmp/ppport.h.$$|"); 
    158                 while (<DIFF>) { s!/tmp/ppport\.h\.$$!$filename.patched!; print STDOUT; } 
    159                 close(DIFF); 
    160                 unlink("/tmp/ppport.h.$$"); 
    161         } else { 
    162                 print "Looks OK\n"; 
    163         } 
     411 
     412if ($opt{version}) { 
     413  print "This is $0 $VERSION.\n"; 
     414  exit 0; 
    164415} 
     416 
     417usage() if $opt{help}; 
     418strip() if $opt{strip}; 
     419 
     420if (exists $opt{'compat-version'}) { 
     421  my($r,$v,$s) = eval { parse_version($opt{'compat-version'}) }; 
     422  if ($@) { 
     423    die "Invalid version number format: '$opt{'compat-version'}'\n"; 
     424  } 
     425  die "Only Perl 5 is supported\n" if $r != 5; 
     426  die "Invalid version number: $opt{'compat-version'}\n" if $v >= 1000 || $s >= 1000; 
     427  $opt{'compat-version'} = sprintf "%d.%03d%03d", $r, $v, $s; 
     428} 
     429else { 
     430  $opt{'compat-version'} = 5; 
     431} 
     432 
     433my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/ 
     434                ? ( $1 => { 
     435                      ($2                  ? ( base     => $2 ) : ()), 
     436                      ($3                  ? ( todo     => $3 ) : ()), 
     437                      (index($4, 'v') >= 0 ? ( varargs  => 1  ) : ()), 
     438                      (index($4, 'p') >= 0 ? ( provided => 1  ) : ()), 
     439                      (index($4, 'n') >= 0 ? ( nothxarg => 1  ) : ()), 
     440                    } ) 
     441                : die "invalid spec: $_" } qw( 
     442AvFILLp|5.004050||p 
     443AvFILL||| 
     444CLASS|||n 
     445CX_CURPAD_SAVE||| 
     446CX_CURPAD_SV||| 
     447CopFILEAV|5.006000||p 
     448CopFILEGV_set|5.006000||p 
     449CopFILEGV|5.006000||p 
     450CopFILESV|5.006000||p 
     451CopFILE_set|5.006000||p 
     452CopFILE|5.006000||p 
     453CopSTASHPV_set|5.006000||p 
     454CopSTASHPV|5.006000||p 
     455CopSTASH_eq|5.006000||p 
     456CopSTASH_set|5.006000||p 
     457CopSTASH|5.006000||p 
     458CopyD|5.009002||p 
     459Copy||| 
     460CvPADLIST||| 
     461CvSTASH||| 
     462CvWEAKOUTSIDE||| 
     463DEFSV|5.004050||p 
     464END_EXTERN_C|5.005000||p 
     465ENTER||| 
     466ERRSV|5.004050||p 
     467EXTEND||| 
     468EXTERN_C|5.005000||p 
     469F0convert|||n 
     470FREETMPS||| 
     471GIMME_V||5.004000|n 
     472GIMME|||n 
     473GROK_NUMERIC_RADIX|5.007002||p 
     474G_ARRAY||| 
     475G_DISCARD||| 
     476G_EVAL||| 
     477G_NOARGS||| 
     478G_SCALAR||| 
     479G_VOID||5.004000| 
     480GetVars||| 
     481GvSV||| 
     482Gv_AMupdate||| 
     483HEf_SVKEY||5.004000| 
     484HeHASH||5.004000| 
     485HeKEY||5.004000| 
     486HeKLEN||5.004000| 
     487HePV||5.004000| 
     488HeSVKEY_force||5.004000| 
     489HeSVKEY_set||5.004000| 
     490HeSVKEY||5.004000| 
     491HeUTF8||5.011000| 
     492HeVAL||5.004000| 
     493HvNAME||| 
     494INT2PTR|5.006000||p 
     495IN_LOCALE_COMPILETIME|5.007002||p 
     496IN_LOCALE_RUNTIME|5.007002||p 
     497IN_LOCALE|5.007002||p 
     498IN_PERL_COMPILETIME|5.008001||p 
     499IS_NUMBER_GREATER_THAN_UV_MAX|5.007002||p 
     500IS_NUMBER_INFINITY|5.007002||p 
     501IS_NUMBER_IN_UV|5.007002||p 
     502IS_NUMBER_NAN|5.007003||p 
     503IS_NUMBER_NEG|5.007002||p 
     504IS_NUMBER_NOT_INT|5.007002||p 
     505IVSIZE|5.006000||p 
     506IVTYPE|5.006000||p 
     507IVdf|5.006000||p 
     508LEAVE||| 
     509LVRET||| 
     510MARK||| 
     511MULTICALL||5.011000| 
     512MY_CXT_CLONE|5.009002||p 
     513MY_CXT_INIT|5.007003||p 
     514MY_CXT|5.007003||p 
     515MoveD|5.009002||p 
     516Move||| 
     517NOOP|5.005000||p 
     518NUM2PTR|5.006000||p 
     519NVTYPE|5.006000||p 
     520NVef|5.006001||p 
     521NVff|5.006001||p 
     522NVgf|5.006001||p 
     523Newxc|5.009003||p 
     524Newxz|5.009003||p 
     525Newx|5.009003||p 
     526Nullav||| 
     527Nullch||| 
     528Nullcv||| 
     529Nullhv||| 
     530Nullsv||| 
     531ORIGMARK||| 
     532PAD_BASE_SV||| 
     533PAD_CLONE_VARS||| 
     534PAD_COMPNAME_FLAGS||| 
     535PAD_COMPNAME_GEN_set||| 
     536PAD_COMPNAME_GEN||| 
     537PAD_COMPNAME_OURSTASH||| 
     538PAD_COMPNAME_PV||| 
     539PAD_COMPNAME_TYPE||| 
     540PAD_RESTORE_LOCAL||| 
     541PAD_SAVE_LOCAL||| 
     542PAD_SAVE_SETNULLPAD||| 
     543PAD_SETSV||| 
     544PAD_SET_CUR_NOSAVE||| 
     545PAD_SET_CUR||| 
     546PAD_SVl||| 
     547PAD_SV||| 
     548PERL_ABS|5.008001||p 
     549PERL_BCDVERSION|5.011000||p 
     550PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p 
     551PERL_HASH|5.004000||p 
     552PERL_INT_MAX|5.004000||p 
     553PERL_INT_MIN|5.004000||p 
     554PERL_LONG_MAX|5.004000||p 
     555PERL_LONG_MIN|5.004000||p 
     556PERL_MAGIC_arylen|5.007002||p 
     557PERL_MAGIC_backref|5.007002||p 
     558PERL_MAGIC_bm|5.007002||p 
     559PERL_MAGIC_collxfrm|5.007002||p 
     560PERL_MAGIC_dbfile|5.007002||p 
     561PERL_MAGIC_dbline|5.007002||p 
     562PERL_MAGIC_defelem|5.007002||p 
     563PERL_MAGIC_envelem|5.007002||p 
     564PERL_MAGIC_env|5.007002||p 
     565PERL_MAGIC_ext|5.007002||p 
     566PERL_MAGIC_fm|5.007002||p 
     567PERL_MAGIC_glob|5.011000||p 
     568PERL_MAGIC_isaelem|5.007002||p 
     569PERL_MAGIC_isa|5.007002||p 
     570PERL_MAGIC_mutex|5.011000||p 
     571PERL_MAGIC_nkeys|5.007002||p 
     572PERL_MAGIC_overload_elem|5.007002||p 
     573PERL_MAGIC_overload_table|5.007002||p 
     574PERL_MAGIC_overload|5.007002||p 
     575PERL_MAGIC_pos|5.007002||p 
     576PERL_MAGIC_qr|5.007002||p 
     577PERL_MAGIC_regdata|5.007002||p 
     578PERL_MAGIC_regdatum|5.007002||p 
     579PERL_MAGIC_regex_global|5.007002||p 
     580PERL_MAGIC_shared_scalar|5.007003||p 
     581PERL_MAGIC_shared|5.007003||p 
     582PERL_MAGIC_sigelem|5.007002||p 
     583PERL_MAGIC_sig|5.007002||p 
     584PERL_MAGIC_substr|5.007002||p 
     585PERL_MAGIC_sv|5.007002||p 
     586PERL_MAGIC_taint|5.007002||p 
     587PERL_MAGIC_tiedelem|5.007002||p 
     588PERL_MAGIC_tiedscalar|5.007002||p 
     589PERL_MAGIC_tied|5.007002||p 
     590PERL_MAGIC_utf8|5.008001||p 
     591PERL_MAGIC_uvar_elem|5.007003||p 
     592PERL_MAGIC_uvar|5.007002||p 
     593PERL_MAGIC_vec|5.007002||p 
     594PERL_MAGIC_vstring|5.008001||p 
     595PERL_QUAD_MAX|5.004000||p 
     596PERL_QUAD_MIN|5.004000||p 
     597PERL_REVISION|5.006000||p 
     598PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p 
     599PERL_SCAN_DISALLOW_PREFIX|5.007003||p 
     600PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p 
     601PERL_SCAN_SILENT_ILLDIGIT|5.008001||p 
     602PERL_SHORT_MAX|5.004000||p 
     603PERL_SHORT_MIN|5.004000||p 
     604PERL_SIGNALS_UNSAFE_FLAG|5.008001||p 
     605PERL_SUBVERSION|5.006000||p 
     606PERL_UCHAR_MAX|5.004000||p 
     607PERL_UCHAR_MIN|5.004000||p 
     608PERL_UINT_MAX|5.004000||p 
     609PERL_UINT_MIN|5.004000||p 
     610PERL_ULONG_MAX|5.004000||p 
     611PERL_ULONG_MIN|5.004000||p 
     612PERL_UNUSED_ARG|5.009003||p 
     613PERL_UNUSED_CONTEXT|5.009004||p 
     614PERL_UNUSED_DECL|5.007002||p 
     615PERL_UNUSED_VAR|5.007002||p 
     616PERL_UQUAD_MAX|5.004000||p 
     617PERL_UQUAD_MIN|5.004000||p 
     618PERL_USE_GCC_BRACE_GROUPS|5.009004||p 
     619PERL_USHORT_MAX|5.004000||p 
     620PERL_USHORT_MIN|5.004000||p 
     621PERL_VERSION|5.006000||p 
     622PL_DBsignal|5.005000||p 
     623PL_DBsingle|||pn 
     624PL_DBsub|||pn 
     625PL_DBtrace|||pn 
     626PL_Sv|5.005000||p 
     627PL_compiling|5.004050||p 
     628PL_copl