#undef __attribute__
#endif
#define __attribute__(attr)
-#endif
+#endif
#endif
#ifdef OVERLOAD
SV* amagic_call _((SV* left,SV* right,int method,int dir));
HE* avhv_iternext _((AV *ar));
SV * avhv_iternextsv _((AV *ar, char** key, I32* retlen));
SV* avhv_iterval _((AV *ar, HE* entry));
+HV* avhv_keys _((AV *ar));
SV** avhv_store _((AV *ar, char* key, U32 klen, SV* val, U32 hash));
void av_clear _((AV* ar));
void av_extend _((AV* ar, I32 key));
SV* cv_const_sv _((CV* cv));
void cv_undef _((CV* cv));
#ifdef DEBUGGING
-void cx_dump _((CONTEXT* cs));
+void cx_dump _((PERL_CONTEXT* cs));
#endif
SV* filter_add _((filter_t funcp, SV* datasv));
void filter_del _((filter_t funcp));
void fbm_compile _((SV* sv));
char* fbm_instr _((unsigned char* big, unsigned char* bigend, SV* littlesv));
#ifdef USE_THREADS
-PADOFFSET find_thread_magical _((char *name));
+PADOFFSET find_threadsv _((char *name));
#endif
OP* force_list _((OP* arg));
OP* fold_constants _((OP* arg));
HV* gv_stashpv _((char* name, I32 create));
HV* gv_stashpvn _((char* name, U32 namelen, I32 create));
HV* gv_stashsv _((SV* sv, I32 create));
-void hoistmust _((PMOP* pm));
void hv_clear _((HV* tb));
void hv_delayfree_ent _((HV* hv, HE* entry));
SV* hv_delete _((HV* tb, char* key, U32 klen, I32 flags));
int magic_clearsig _((SV* sv, MAGIC* mg));
int magic_existspack _((SV* sv, MAGIC* mg));
int magic_freedefelem _((SV* sv, MAGIC* mg));
+int magic_freeregexp _((SV* sv, MAGIC* mg));
int magic_get _((SV* sv, MAGIC* mg));
int magic_getarylen _((SV* sv, MAGIC* mg));
int magic_getdefelem _((SV* sv, MAGIC* mg));
OP* newWHILEOP _((I32 flags, I32 debuggable, LOOP* loop,
I32 whileline, OP* expr, OP* block, OP* cont));
#ifdef USE_THREADS
-struct thread * new_struct_thread _((struct thread *t));
+struct perl_thread * new_struct_thread _((struct perl_thread *t));
#endif
PerlIO* nextargv _((GV* gv));
char* ninstr _((char* big, char* bigend, char* little, char* lend));
OP* ref _((OP* o, I32 type));
OP* refkids _((OP* o, I32 type));
void regdump _((regexp* r));
-I32 pregexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, I32 safebase));
-void pregfree _((struct regexp* r));
-char* regnext _((char* p));
-void regprop _((SV* sv, char* o));
+I32 pregexec _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave));
+I32 regexec_flags _((regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags));
+ void pregfree _((struct regexp* r));
+regnode*regnext _((regnode* p));
+void regprop _((SV* sv, regnode* o));
void repeatcpy _((char* to, char* from, I32 len, I32 count));
char* rninstr _((char* big, char* bigend, char* little, char* lend));
Sighandler_t rsignal _((int, Sighandler_t));
void save_pptr _((char** pptr));
void save_sptr _((SV** sptr));
SV* save_svref _((SV** sptr));
+SV** save_threadsv _((PADOFFSET i));
OP* sawparens _((OP* o));
OP* scalar _((OP* o));
OP* scalarkids _((OP* o));
char* scan_num _((char* s));
UV scan_oct _((char* start, I32 len, I32* retlen));
OP* scope _((OP* o));
-char* screaminstr _((SV* bigsv, SV* littlesv));
+char* screaminstr _((SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last));
#ifndef VMS
I32 setenv_getix _((char* nam));
#endif
#ifdef USE_LOCALE_COLLATE
char* sv_collxfrm _((SV* sv, STRLEN* nxp));
#endif
+OP* sv_compile_2op _((SV* sv, OP** startp, char* code, AV** avp));
void sv_dec _((SV* sv));
void sv_dump _((SV* sv));
bool sv_derived_from _((SV* sv, char* name));