#!/usr/bin/perl -w
-BEGIN {
- unshift @INC, "./lib";
-}
-
require 5.003; # keep this compatible, an old perl is all we may have before
# we build the new one
$F = $filename;
}
else {
+ unlink $filename;
open F, ">$filename" or die "Can't open $filename: $!";
$F = \*F;
}
else {
@args = split /\s*\|\s*/, $_;
}
- print $F $function->(@args);
+ my @outs = &{$function}(@args);
+ print $F @outs; # $function->(@args) is not 5.003
}
print $F $trailer if $trailer;
close $F unless ref $filename;
readvars %thread, 'thrdvar.h','T';
readvars %globvar, 'perlvars.h','G';
-foreach my $sym (sort keys %thread) {
+my $sym;
+foreach $sym (sort keys %thread) {
warn "$sym in intrpvar.h as well as thrdvar.h\n" if exists $intrp{$sym};
}
EOT
-foreach my $sym (sort keys %intrp) {
+foreach $sym (sort keys %intrp) {
print CAPIH bincompat_var('I',$sym);
}
-foreach my $sym (sort keys %thread) {
+foreach $sym (sort keys %thread) {
print CAPIH bincompat_var('T',$sym);
}
-foreach my $sym (sort keys %globvar) {
+foreach $sym (sort keys %globvar) {
print CAPIH bincompat_var('G',$sym);
}
if (length $return) {
$decl .= " $rettype retval;\n";
$retarg .= "retval = ";
- $return = "\n ${return}retval;\n";
+ $return = "\n " . $return . "retval;\n";
}
$emitval .= <<EOT
$rettype
}
# XXXX temporary hack
-my $sym;
for $sym (qw(
perl_construct
perl_destruct
return (*PL_StdIO->pVprintf)(PL_StdIO, stream, format, arglist);
}
+#undef Perl_printf_nocontext
+int
+Perl_printf_nocontext(const char *format, ...)
+{
+ dTHXo;
+ va_list(arglist);
+ va_start(arglist, format);
+ return (*PL_StdIO->pVprintf)(PL_StdIO, PerlIO_stdout(), format, arglist);
+}
+
END_EXTERN_C
#endif /* PERL_OBJECT */
redo FUNC;
}
} else {
- warn "$file:$line:$in";
+ warn "$file:$line:$in (=cut missing?)";
}
}
}
close(DOC);
+unlink "pod/perlintern.pod";
+
open(GUTS, ">pod/perlintern.pod") or
die "Unable to create pod/perlintern.pod: $!\n";
print GUTS <<'END';
Ajnod |int |perl_parse |PerlInterpreter* interp|XSINIT_t xsinit \
|int argc|char** argv|char** env
#if defined(USE_ITHREADS)
-: XXX: perl_clone needs docs
-Ajno |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags
+Ajnod |PerlInterpreter*|perl_clone|PerlInterpreter* interp, UV flags
# if defined(PERL_IMPLICIT_SYS)
Ajno |PerlInterpreter*|perl_clone_using|PerlInterpreter *interp|UV flags \
|struct IPerlMem* m|struct IPerlMem* ms \
# endif
#endif
-#if defined(MYMALLOC)
Ajnop |Malloc_t|malloc |MEM_SIZE nbytes
Ajnop |Malloc_t|calloc |MEM_SIZE elements|MEM_SIZE size
Ajnop |Malloc_t|realloc |Malloc_t where|MEM_SIZE nbytes
Ajnop |Free_t |mfree |Malloc_t where
+#if defined(MYMALLOC)
jnp |MEM_SIZE|malloced_size |void *p
#endif
Ap |I32 |block_gimme
p |int |block_start |int full
p |void |boot_core_UNIVERSAL
+p |void |boot_core_PerlIO
Ap |void |call_list |I32 oldscope|AV* av_list
p |bool |cando |Mode_t mode|Uid_t effective|Stat_t* statbufp
Ap |U32 |cast_ulong |NV f
Afnp |void |sv_catpvf_mg_nocontext|SV* sv|const char* pat|...
Afnp |void |sv_setpvf_mg_nocontext|SV* sv|const char* pat|...
Afnp |int |fprintf_nocontext|PerlIO* stream|const char* fmt|...
+Afnp |int |printf_nocontext|const char* fmt|...
#endif
p |void |cv_ckproto |CV* cv|GV* gv|char* p
p |CV* |cv_clone |CV* proto
p |bool |ingroup |Gid_t testgid|Uid_t effective
p |void |init_debugger
Ap |void |init_stacks
+Ap |void |init_tm |struct tm *ptm
p |U32 |intro_my
Ap |char* |instr |const char* big|const char* little
p |bool |io_close |IO* io|bool not_implicit
Ap |void |leave_scope |I32 base
p |void |lex_end
p |void |lex_start |SV* line
+Ap |void |op_null |OP* o
+p |void |op_clear |OP* o
p |OP* |linklist |OP* o
p |OP* |list |OP* o
p |OP* |listkids |OP* o
-Ap |void |load_module|U32 flags|SV* name|SV* ver|...
+Apd |void |load_module|U32 flags|SV* name|SV* ver|...
Ap |void |vload_module|U32 flags|SV* name|SV* ver|va_list* args
p |OP* |localize |OP* arg|I32 lexical
Apd |I32 |looks_like_number|SV* sv
+Apd |int |grok_number |const char *pv|STRLEN len|UV *valuep
+Apd |bool |grok_numeric_radix|const char **sp|const char *send
p |int |magic_clearenv |SV* sv|MAGIC* mg
p |int |magic_clear_all_env|SV* sv|MAGIC* mg
p |int |magic_clearpack|SV* sv|MAGIC* mg
Apd |void |mg_magical |SV* sv
Apd |int |mg_set |SV* sv
Ap |I32 |mg_size |SV* sv
+Ap |void |mini_mktime |struct tm *pm
p |OP* |mod |OP* o|I32 type
p |int |mode_from_discipline|SV* discp
Ap |char* |moreswitches |char* s
p |OP* |my |OP* o
Ap |NV |my_atof |const char *s
-#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
+#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
Anp |char* |my_bcopy |const char* from|char* to|I32 len
#endif
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
Apr |void |my_exit |U32 status
Apr |void |my_failure_exit
Ap |I32 |my_fflush_all
+Anp |Pid_t |my_fork
+Anp |void |atfork_lock
+Anp |void |atfork_unlock
Ap |I32 |my_lstat
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
Anp |I32 |my_memcmp |const char* s1|const char* s2|I32 len
#if !defined(PERL_OBJECT)
Ap |I32 |my_pclose |PerlIO* ptr
Ap |PerlIO*|my_popen |char* cmd|char* mode
+Ap |PerlIO*|my_popen_list |char* mode|int n|SV ** args
#endif
Ap |void |my_setenv |char* nam|char* val
Ap |I32 |my_stat
+Ap |char * |my_strftime |char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
#if defined(MYSWAP)
Ap |short |my_swap |short s
Ap |long |my_htonl |long l
Ap |OP* |newPVOP |I32 type|I32 flags|char* pv
Ap |SV* |newRV |SV* pref
Apd |SV* |newRV_noinc |SV *sv
-Ap |SV* |newSV |STRLEN len
+Apd |SV* |newSV |STRLEN len
Ap |OP* |newSVREF |OP* o
Ap |OP* |newSVOP |I32 type|I32 flags|SV* sv
Apd |SV* |newSViv |IV i
Ap |Sighandler_t|rsignal |int i|Sighandler_t t
p |int |rsignal_restore|int i|Sigsave_t* t
p |int |rsignal_save |int i|Sighandler_t t1|Sigsave_t* t2
-p |Sighandler_t|rsignal_state|int i
+Ap |Sighandler_t|rsignal_state|int i
p |void |rxres_free |void** rsp
p |void |rxres_restore |void** rsp|REGEXP* prx
p |void |rxres_save |void** rsp|REGEXP* prx
Ap |void |save_iv |IV* iv
Ap |void |save_list |SV** sarg|I32 maxsarg
Ap |void |save_long |long* longp
+Ap |void |save_mortalizesv|SV* sv
Ap |void |save_nogv |GV* gv
p |void |save_op
Ap |SV* |save_scalar |GV* gv
Ap |SV** |stack_grow |SV** sp|SV**p|int n
Ap |I32 |start_subparse |I32 is_format|U32 flags
p |void |sub_crush_depth|CV* cv
-Ap |bool |sv_2bool |SV* sv
-Ap |CV* |sv_2cv |SV* sv|HV** st|GV** gvp|I32 lref
-Ap |IO* |sv_2io |SV* sv
-Ap |IV |sv_2iv |SV* sv
+Apd |bool |sv_2bool |SV* sv
+Apd |CV* |sv_2cv |SV* sv|HV** st|GV** gvp|I32 lref
+Apd |IO* |sv_2io |SV* sv
+Apd |IV |sv_2iv |SV* sv
Apd |SV* |sv_2mortal |SV* sv
-Ap |NV |sv_2nv |SV* sv
-Ap |char* |sv_2pv |SV* sv|STRLEN* lp
-Ap |char* |sv_2pvutf8 |SV* sv|STRLEN* lp
-Ap |char* |sv_2pvbyte |SV* sv|STRLEN* lp
-Ap |UV |sv_2uv |SV* sv
-Ap |IV |sv_iv |SV* sv
-Ap |UV |sv_uv |SV* sv
-Ap |NV |sv_nv |SV* sv
-Ap |char* |sv_pvn |SV *sv|STRLEN *len
-Ap |char* |sv_pvutf8n |SV *sv|STRLEN *len
-Ap |char* |sv_pvbyten |SV *sv|STRLEN *len
+Apd |NV |sv_2nv |SV* sv
+Aop |char* |sv_2pv |SV* sv|STRLEN* lp
+Apd |char* |sv_2pvutf8 |SV* sv|STRLEN* lp
+Apd |char* |sv_2pvbyte |SV* sv|STRLEN* lp
+Apd |UV |sv_2uv |SV* sv
+Apd |IV |sv_iv |SV* sv
+Apd |UV |sv_uv |SV* sv
+Apd |NV |sv_nv |SV* sv
+Apd |char* |sv_pvn |SV *sv|STRLEN *len
+Apd |char* |sv_pvutf8n |SV *sv|STRLEN *len
+Apd |char* |sv_pvbyten |SV *sv|STRLEN *len
Apd |I32 |sv_true |SV *sv
-p |void |sv_add_arena |char* ptr|U32 size|U32 flags
-Ap |int |sv_backoff |SV* sv
+pd |void |sv_add_arena |char* ptr|U32 size|U32 flags
+Apd |int |sv_backoff |SV* sv
Apd |SV* |sv_bless |SV* sv|HV* stash
Afpd |void |sv_catpvf |SV* sv|const char* pat|...
Ap |void |sv_vcatpvf |SV* sv|const char* pat|va_list* args
Apd |void |sv_catpv |SV* sv|const char* ptr
-Apd |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len
-Apd |void |sv_catsv |SV* dsv|SV* ssv
+Aopd |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len
+Aopd |void |sv_catsv |SV* dsv|SV* ssv
Apd |void |sv_chop |SV* sv|char* ptr
-p |void |sv_clean_all
-p |void |sv_clean_objs
+pd |I32 |sv_clean_all
+pd |void |sv_clean_objs
Apd |void |sv_clear |SV* sv
Apd |I32 |sv_cmp |SV* sv1|SV* sv2
Apd |I32 |sv_cmp_locale |SV* sv1|SV* sv2
#if defined(USE_LOCALE_COLLATE)
-Ap |char* |sv_collxfrm |SV* sv|STRLEN* nxp
+Apd |char* |sv_collxfrm |SV* sv|STRLEN* nxp
#endif
Ap |OP* |sv_compile_2op |SV* sv|OP** startp|char* code|AV** avp
+Apd |int |getcwd_sv |SV* sv
Apd |void |sv_dec |SV* sv
Ap |void |sv_dump |SV* sv
Apd |bool |sv_derived_from|SV* sv|const char* name
Apd |I32 |sv_eq |SV* sv1|SV* sv2
Apd |void |sv_free |SV* sv
-p |void |sv_free_arenas
+pd |void |sv_free_arenas
Apd |char* |sv_gets |SV* sv|PerlIO* fp|I32 append
Apd |char* |sv_grow |SV* sv|STRLEN newlen
Apd |void |sv_inc |SV* sv
|I32 namlen
Apd |SV* |sv_mortalcopy |SV* oldsv
Apd |SV* |sv_newmortal
-Ap |SV* |sv_newref |SV* sv
+Apd |SV* |sv_newref |SV* sv
Ap |char* |sv_peek |SV* sv
-Ap |void |sv_pos_u2b |SV* sv|I32* offsetp|I32* lenp
-Ap |void |sv_pos_b2u |SV* sv|I32* offsetp
-Apd |char* |sv_pvn_force |SV* sv|STRLEN* lp
+Apd |void |sv_pos_u2b |SV* sv|I32* offsetp|I32* lenp
+Apd |void |sv_pos_b2u |SV* sv|I32* offsetp
+Aopd |char* |sv_pvn_force |SV* sv|STRLEN* lp
Apd |char* |sv_pvutf8n_force|SV* sv|STRLEN* lp
-Ap |char* |sv_pvbyten_force|SV* sv|STRLEN* lp
+Apd |char* |sv_pvbyten_force|SV* sv|STRLEN* lp
Apd |char* |sv_reftype |SV* sv|int ob
Apd |void |sv_replace |SV* sv|SV* nsv
-Ap |void |sv_report_used
-Ap |void |sv_reset |char* s|HV* stash
+Apd |void |sv_report_used
+Apd |void |sv_reset |char* s|HV* stash
Afpd |void |sv_setpvf |SV* sv|const char* pat|...
Ap |void |sv_vsetpvf |SV* sv|const char* pat|va_list* args
Apd |void |sv_setiv |SV* sv|IV num
Apd |void |sv_setuv |SV* sv|UV num
Apd |void |sv_setnv |SV* sv|NV num
Apd |SV* |sv_setref_iv |SV* rv|const char* classname|IV iv
+Apd |SV* |sv_setref_uv |SV* rv|const char* classname|UV uv
Apd |SV* |sv_setref_nv |SV* rv|const char* classname|NV nv
Apd |SV* |sv_setref_pv |SV* rv|const char* classname|void* pv
Apd |SV* |sv_setref_pvn |SV* rv|const char* classname|char* pv \
|STRLEN n
Apd |void |sv_setpv |SV* sv|const char* ptr
Apd |void |sv_setpvn |SV* sv|const char* ptr|STRLEN len
-Apd |void |sv_setsv |SV* dsv|SV* ssv
-Ap |void |sv_taint |SV* sv
-Ap |bool |sv_tainted |SV* sv
+Aopd |void |sv_setsv |SV* dsv|SV* ssv
+Apd |void |sv_taint |SV* sv
+Apd |bool |sv_tainted |SV* sv
Apd |int |sv_unmagic |SV* sv|int type
Apd |void |sv_unref |SV* sv
Apd |void |sv_unref_flags |SV* sv|U32 flags
-Ap |void |sv_untaint |SV* sv
+Apd |void |sv_untaint |SV* sv
Apd |bool |sv_upgrade |SV* sv|U32 mt
Apd |void |sv_usepvn |SV* sv|char* ptr|STRLEN len
Apd |void |sv_vcatpvfn |SV* sv|const char* pat|STRLEN patlen \
Ap |NV |str_to_version |SV *sv
Ap |SV* |swash_init |char* pkg|char* name|SV* listsv \
|I32 minbits|I32 none
-Ap |UV |swash_fetch |SV *sv|U8 *ptr
+Ap |UV |swash_fetch |SV *sv|U8 *ptr|bool do_utf8
Ap |void |taint_env
Ap |void |taint_proper |const char* f|const char* s
Ap |UV |to_utf8_lower |U8 *p
ApMd |U8* |utf8_to_bytes |U8 *s|STRLEN *len
ApMd |U8* |bytes_from_utf8|U8 *s|STRLEN *len|bool *is_utf8
ApMd |U8* |bytes_to_utf8 |U8 *s|STRLEN *len
-Apd |UV |utf8_to_uv_simple|U8 *s|STRLEN* retlen
-Adp |UV |utf8_to_uv |U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags
-Apd |U8* |uv_to_utf8 |U8 *d|UV uv
+Apd |UV |utf8_to_uvchr |U8 *s|STRLEN* retlen
+Apd |UV |utf8_to_uvuni |U8 *s|STRLEN* retlen
+Adp |UV |utf8n_to_uvchr |U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags
+Adp |UV |utf8n_to_uvuni |U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags
+Apd |U8* |uvchr_to_utf8 |U8 *d|UV uv
+Apd |U8* |uvuni_to_utf8 |U8 *d|UV uv
p |void |vivify_defelem |SV* sv
p |void |vivify_ref |SV* sv|U32 to_what
p |I32 |wait4pid |Pid_t pid|int* statusp|int flags
p |void |report_evil_fh |GV *gv|IO *io|I32 op
-p |void |report_uninit
+pd |void |report_uninit
Afpd |void |warn |const char* pat|...
Ap |void |vwarn |const char* pat|va_list* args
Afp |void |warner |U32 err|const char* pat|...
|protect_body_t body|va_list *args
#endif
Ap |void |reginitcolors
-Ap |char* |sv_2pv_nolen |SV* sv
-Ap |char* |sv_2pvutf8_nolen|SV* sv
-Ap |char* |sv_2pvbyte_nolen|SV* sv
-Ap |char* |sv_pv |SV *sv
-Ap |char* |sv_pvutf8 |SV *sv
-Ap |char* |sv_pvbyte |SV *sv
-Apd |void |sv_utf8_upgrade|SV *sv
-ApdM |bool |sv_utf8_downgrade|SV *sv|bool fail_ok
-ApdM |void |sv_utf8_encode |SV *sv
-Ap |bool |sv_utf8_decode |SV *sv
-Ap |void |sv_force_normal|SV *sv
-Ap |void |sv_force_normal_flags|SV *sv|U32 flags
+Apd |char* |sv_2pv_nolen |SV* sv
+Apd |char* |sv_2pvutf8_nolen|SV* sv
+Apd |char* |sv_2pvbyte_nolen|SV* sv
+Apd |char* |sv_pv |SV *sv
+Apd |char* |sv_pvutf8 |SV *sv
+Apd |char* |sv_pvbyte |SV *sv
+Aopd |STRLEN |sv_utf8_upgrade|SV *sv
+ApdM |bool |sv_utf8_downgrade|SV *sv|bool fail_ok
+Apd |void |sv_utf8_encode |SV *sv
+ApdM |bool |sv_utf8_decode |SV *sv
+Apd |void |sv_force_normal|SV *sv
+Apd |void |sv_force_normal_flags|SV *sv|U32 flags
Ap |void |tmps_grow |I32 n
Apd |SV* |sv_rvweaken |SV *sv
p |int |magic_killbackrefs|SV *sv|MAGIC *mg
p |OP * |my_attrs |OP *o|OP *attrs
p |void |boot_core_xsutils
#if defined(USE_ITHREADS)
-Ap |PERL_CONTEXT*|cx_dup |PERL_CONTEXT* cx|I32 ix|I32 max
-Ap |PERL_SI*|si_dup |PERL_SI* si
-Ap |ANY* |ss_dup |PerlInterpreter* proto_perl
+Ap |PERL_CONTEXT*|cx_dup |PERL_CONTEXT* cx|I32 ix|I32 max|clone_params* param
+Ap |PERL_SI*|si_dup |PERL_SI* si|clone_params* param
+Ap |ANY* |ss_dup |PerlInterpreter* proto_perl|clone_params* param
Ap |void* |any_dup |void* v|PerlInterpreter* proto_perl
-Ap |HE* |he_dup |HE* e|bool shared
-Ap |REGEXP*|re_dup |REGEXP* r
+Ap |HE* |he_dup |HE* e|bool shared|clone_params* param
+Ap |REGEXP*|re_dup |REGEXP* r|clone_params* param
Ap |PerlIO*|fp_dup |PerlIO* fp|char type
Ap |DIR* |dirp_dup |DIR* dp
-Ap |GP* |gp_dup |GP* gp
-Ap |MAGIC* |mg_dup |MAGIC* mg
-Ap |SV* |sv_dup |SV* sstr
-s |SV* |gv_share |SV *sv
+Ap |GP* |gp_dup |GP* gp|clone_params* param
+Ap |MAGIC* |mg_dup |MAGIC* mg|clone_params* param
+Ap |SV* |sv_dup |SV* sstr|clone_params* param
#if defined(HAVE_INTERP_INTERN)
Ap |void |sys_intern_dup |struct interp_intern* src \
|struct interp_intern* dst
#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
s |void |gv_init_sv |GV *gv|I32 sv_type
+s |void |require_errno |GV *gv
#endif
#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
s |OP* |scalarboolean |OP *o
s |OP* |too_few_arguments|OP *o|char* name
s |OP* |too_many_arguments|OP *o|char* name
-s |U8* |trlist_upgrade |U8** sp|U8** ep
-s |void |op_clear |OP* o
-s |void |null |OP* o
s |PADOFFSET|pad_addlex |SV* name
s |PADOFFSET|pad_findlex |char* name|PADOFFSET newoff|U32 seq \
|CV* startcv|I32 cx_ix|I32 saweval|U32 flags
s |void |simplify_sort |OP *o
s |bool |is_handle_constructor |OP *o|I32 argnum
s |char* |gv_ename |GV *gv
+# if defined(DEBUG_CLOSURES)
s |void |cv_dump |CV *cv
+# endif
s |CV* |cv_clone2 |CV *proto|CV *outside
s |bool |scalar_mod_type|OP *o|I32 type
s |OP * |my_kid |OP *o|OP *attrs
#endif
#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-s |void |doencodes |SV* sv|char* s|I32 len
s |SV* |refto |SV* sv
s |U32 |seed
+#endif
+
+#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
+s |void |doencodes |SV* sv|char* s|I32 len
s |SV* |mul128 |SV *sv|U8 m
s |SV* |is_an_int |char *s|STRLEN l
s |int |div128 |SV *pnum|bool *done
s |I32 |dopoptoloop |I32 startingblock
s |I32 |dopoptosub |I32 startingblock
s |I32 |dopoptosub_at |PERL_CONTEXT* cxstk|I32 startingblock
-s |void |free_closures
s |void |save_lines |AV *array|SV *sv
s |OP* |doeval |int gimme|OP** startop
s |PerlIO *|doopen_pmc |const char *name|const char *mode
s |void |regtail |struct RExC_state_t*|regnode *|regnode *
s |char*|regwhite |char *|char *
s |char*|nextchar |struct RExC_state_t*
+# ifdef DEBUGGING
s |regnode*|dumpuntil |regnode *start|regnode *node \
|regnode *last|SV* sv|I32 l
s |void |put_byte |SV* sv|int c
+# endif
s |void |scan_commit |struct RExC_state_t*|struct scan_data_t *data
s |void |cl_anything |struct RExC_state_t*|struct regnode_charclass_class *cl
s |int |cl_is_anything |struct regnode_charclass_class *cl
#endif
#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
+# ifdef DEBUGGING
+s |CV* |deb_curcv |I32 ix
s |void |debprof |OP *o
+# endif
#endif
#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
s |void |del_xrv |XRV* p
s |void |sv_unglob |SV* sv
s |void |not_a_number |SV *sv
-s |void |visit |SVFUNC_t f
+s |I32 |visit |SVFUNC_t f
s |void |sv_add_backref |SV *tsv|SV *sv
s |void |sv_del_backref |SV *sv
-# if defined(DEBUGGING)
+# ifdef DEBUGGING
s |void |del_sv |SV *p
# endif
# if !defined(NV_PRESERVES_UV)
-s |int |sv_2inuv_non_preserve |SV *sv|I32 numtype
s |int |sv_2iuv_non_preserve |SV *sv|I32 numtype
# endif
s |I32 |expect_number |char** pattern
+#
+# if defined(USE_ITHREADS)
+s |SV* |gv_share |SV *sv
+# endif
#endif
#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
s |char* |force_word |char *start|int token|int check_keyword \
|int allow_pack|int allow_tick
s |SV* |tokeq |SV *sv
+s |int |pending_ident
s |char* |scan_const |char *start
s |char* |scan_formline |char *s
s |char* |scan_heredoc |char *s
s |HV * |find_in_my_stash|char *pkgname|I32 len
s |SV* |new_constant |char *s|STRLEN len|const char *key|SV *sv \
|SV *pv|const char *type
+# if defined(DEBUGGING)
s |void |tokereport |char *thing|char *s|I32 rv
+# endif
s |int |ao |int toketype
s |void |depcom
s |char* |incl_perldb
s |SV*|isa_lookup |HV *stash|const char *name|int len|int level
#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
s |char* |stdize_locale |char* locs
+#endif
+
+#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+s |COP* |closest_cop |COP *cop|OP *o
s |SV* |mess_alloc
# if defined(LEAKTEST)
s |void |xstat |int
# endif
-# if defined(EBCDIC)
-p |int |ebcdic_control |int ch
-# endif
#endif
#if defined(PERL_OBJECT)
};
#endif
+
+START_EXTERN_C
+
+Apd |void |sv_setsv_flags |SV* dsv|SV* ssv|I32 flags
+Apd |void |sv_catpvn_flags|SV* sv|const char* ptr|STRLEN len|I32 flags
+Apd |void |sv_catsv_flags |SV* dsv|SV* ssv|I32 flags
+Apd |STRLEN |sv_utf8_upgrade_flags|SV *sv|I32 flags
+Apd |char* |sv_pvn_force_flags|SV* sv|STRLEN* lp|I32 flags
+Apd |char* |sv_2pv_flags |SV* sv|STRLEN* lp|I32 flags
+Ap |char* |my_atof2 |const char *s|NV* value
+
+END_EXTERN_C
+