# No compat3.sym here since and including the 5.004_50.
# No interp.sym since 5.005_03.
- SYM = global.sym perlio.sym thread.sym
+ SYM = global.sym globvar.sym perlio.sym pp.sym
- SYMH = perlvars.h thrdvar.h
+ SYMH = perlvars.h intrpvar.h thrdvar.h
# The following files are generated automatically
# keywords.h: keywords.pl
# opcode.h: opcode.pl
- # embed.h: embed.pl global.sym interp.sym
+ # pp_proto.h: opcode.pl
+ # pp.sym: opcode.pl
+ # embed.h: embed.pl [* needs pp.sym generated by opcode.pl! *]
+ # embedvar.h: embed.pl [* needs pp.sym generated by opcode.pl! *]
# byterun.h: bytecode.pl
# byterun.c: bytecode.pl
# lib/B/Asmdata.pm: bytecode.pl
case "$osname" in
os390|posix-bc)
rm -f y.tab.c y.tab.h
+ # yacc must be a reentrant ("pure") Bison in BS2000 Posix!
yacc -d perly.y >/dev/null 2>&1
if cmp -s y.tab.c perly.c; then
rm -f y.tab.c
mv -f y.tab.h perly.h
xxx="$xxx perly.h"
fi
- cd x2p
- rm -f y.tab.c
- case "$osname" in
- os390)
- yacc -d a2p.y >/dev/null 2>&1
- ;;
- *) # e.g. posix-bc
- yacc a2p.y >/dev/null 2>&1
- ;;
- esac
- if cmp -s y.tab.c a2p.c
+ if cd x2p
then
- rm -f y.tab.c
- else
- echo "a2p.y -> a2p.c" >&2
- mv -f y.tab.c a2p.c
- chmod u+w a2p.c
- sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
- -e 's/y\.tab/a2p/g' a2p.c >a2p.tmp && mv a2p.tmp a2p.c
- xxx="$xxx a2p.c"
- fi
- if cmp -s y.tab.h a2p.h
- then
- rm -f y.tab.h
- else
- echo "a2p.h -> a2p.h" >&2
- mv -f y.tab.h a2p.h
- xxx="$xxx a2p.h"
+ rm -f y.tab.c y.tab.h
+ case "$osname" in
+ posix-bc)
+ # we are using two different yaccs in BS2000 Posix!
+ byacc a2p.y >/dev/null 2>&1
+ ;;
+ *) # e.g. os390
+ yacc a2p.y >/dev/null 2>&1
+ ;;
+ esac
+ if cmp -s y.tab.c a2p.c
+ then
+ rm -f y.tab.c
+ else
+ echo "a2p.y -> a2p.c" >&2
+ mv -f y.tab.c a2p.c
+ chmod u+w a2p.c
+ sed -e 's/fprintf *( *stderr *,/PerlIO_printf(Perl_debug_log,/g' \
+ -e 's/y\.tab/a2p/g' a2p.c >a2p.tmp && mv a2p.tmp a2p.c
+ xxx="$xxx a2p.c"
+ fi
+ # In case somebody yacc -d:ed the a2p.y.
+ if test -f y.tab.h
+ then
+ if cmp -s y.tab.h a2p.h
+ then
+ rm -f y.tab.h
+ else
+ echo "a2p.h -> a2p.h" >&2
+ mv -f y.tab.h a2p.h
+ xxx="$xxx a2p.h"
+ fi
+ fi
+ cd ..
fi
- cd ..
;;
vmesa)
# Do nothing in VM/ESA.
;;
*)
- echo "'$osname' is an EBCDIC system I don't know well." >&4
+ echo "'$osname' is an EBCDIC system I don't know that well." >&4
;;
esac
case "$xxx" in
VIRTUAL void boot_core_UNIVERSAL _((void));
VIRTUAL void call_list _((I32 oldscope, AV* av_list));
VIRTUAL I32 cando _((I32 bit, I32 effective, Stat_t* statbufp));
- #ifndef CASTNEGFLOAT
VIRTUAL U32 cast_ulong _((double f));
- #endif
+ VIRTUAL I32 cast_i32 _((double f));
+ VIRTUAL IV cast_iv _((double f));
+ VIRTUAL UV cast_uv _((double f));
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
VIRTUAL I32 my_chsize _((int fd, Off_t length));
#endif
- VIRTUAL OP* ck_gvconst _((OP* o));
- VIRTUAL OP* ck_retarget _((OP* o));
+
#ifdef USE_THREADS
VIRTUAL MAGIC * condpair_magic _((SV *sv));
#endif
VIRTUAL void sv_free _((SV* sv));
VIRTUAL void sv_free_arenas _((void));
VIRTUAL char* sv_gets _((SV* sv, PerlIO* fp, I32 append));
- #ifndef DOSISH
- VIRTUAL char* sv_grow _((SV* sv, I32 newlen));
- #else
- VIRTUAL char* sv_grow _((SV* sv, unsigned long newlen));
- #endif
+ VIRTUAL char* sv_grow _((SV* sv, STRLEN newlen));
VIRTUAL void sv_inc _((SV* sv));
VIRTUAL void sv_insert _((SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen));
VIRTUAL int sv_isa _((SV* sv, char* name));
VIRTUAL I32 whichsig _((char* sig));
VIRTUAL int yyerror _((char* s));
#ifdef USE_PURE_BISON
-# define PERL_YYLEX_PARAM_DECL YYSTYPE *, int *
+# define PERL_YYLEX_PARAM_DECL YYSTYPE *lvalp, int *lcharp
#else
- # define PERL_YYLEX_PARAM_DECL
+ # define PERL_YYLEX_PARAM_DECL void
#endif
VIRTUAL int yylex _((PERL_YYLEX_PARAM_DECL));
VIRTUAL int yyparse _((void));
I32 do_trans_UC_trivial _((SV *sv));
I32 do_trans_CU_trivial _((SV *sv));
- #define PPDEF(s) OP* CPerlObj::s _((ARGSproto));
+ #undef PERL_CKDEF
+ #undef PERL_PPDEF
+ #define PERL_CKDEF(s) OP* s _((OP *o));
+ #define PERL_PPDEF(s) OP* s _((ARGSproto));
public:
#include "pp_proto.h"
- OP * ck_ftst _((OP *o));
- OP *ck_anoncode _((OP *o));
- OP *ck_bitop _((OP *o));
- OP *ck_concat _((OP *o));
- OP *ck_spair _((OP *o));
- OP *ck_delete _((OP *o));
- OP *ck_eof _((OP *o));
- OP *ck_eval _((OP *o));
- OP *ck_exec _((OP *o));
- OP *ck_exists _((OP *o));
- OP *ck_rvconst _((OP *o));
- OP *ck_fun _((OP *o));
- OP *ck_glob _((OP *o));
- OP *ck_grep _((OP *o));
- OP *ck_index _((OP *o));
- OP *ck_lengthconst _((OP *o));
- OP *ck_lfun _((OP *o));
- OP *ck_rfun _((OP *o));
- OP *ck_listiob _((OP *o));
- OP *ck_fun_locale _((OP *o));
- OP *ck_scmp _((OP *o));
- OP *ck_match _((OP *o));
- OP *ck_null _((OP *o));
- OP *ck_repeat _((OP *o));
- OP *ck_require _((OP *o));
- OP *ck_select _((OP *o));
- OP *ck_shift _((OP *o));
- OP *ck_sort _((OP *o));
- OP *ck_split _((OP *o));
- OP *ck_subr _((OP *o));
- OP *ck_svconst _((OP *o));
- OP *ck_trunc _((OP *o));
void unwind_handler_stack _((void *p));
void restore_magic _((void *p));
void restore_rsfp _((void *f));