"B::PVNV",
"B::PVMG",
"B::BM",
+#if PERL_VERSION >= 9
"B::GV",
+#endif
"B::PVLV",
"B::AV",
"B::HV",
"B::CV",
+#if PERL_VERSION <= 8
+ "B::GV",
+#endif
"B::FM",
"B::IO",
};
{
for(; o; o = o->op_next) {
SV *opsv;
- if (o->op_opt == 0)
+#if PERL_VERSION >= 9
+ if (o->op_opt == 0)
break;
o->op_opt = 0;
+#else
+ if (o->op_seq == 0)
+ break;
+ o->op_seq = 0;
+#endif
opsv = sv_newmortal();
sv_setiv(newSVrv(opsv, cc_opclassname(aTHX_ (OP*)o)), PTR2IV(o));
XPUSHs(opsv);
specialsv_list[4] = pWARN_ALL;
specialsv_list[5] = pWARN_NONE;
specialsv_list[6] = pWARN_STD;
+#if PERL_VERSION <= 8
+# define CVf_ASSERTION 0
+#endif
#include "defsubs.h"
}
void
threadsv_names()
PPCODE:
+#if PERL_VERSION <= 8
+# ifdef USE_5005THREADS
+ int i;
+ STRLEN len = strlen(PL_threadsv_names);
+ EXTEND(sp, len);
+ for (i = 0; i < len; i++)
+ PUSHs(sv_2mortal(newSVpvn(&PL_threadsv_names[i], 1)));
+# endif
+#endif
#define OP_next(o) o->op_next
#define OP_sibling(o) o->op_sibling
#define OP_desc(o) PL_op_desc[o->op_type]
#define OP_targ(o) o->op_targ
#define OP_type(o) o->op_type
-#define OP_opt(o) o->op_opt
-#define OP_static(o) o->op_static
+#if PERL_VERSION >= 9
+# define OP_opt(o) o->op_opt
+# define OP_static(o) o->op_static
+#else
+# define OP_seq(o) o->op_seq
+#endif
#define OP_flags(o) o->op_flags
#define OP_private(o) o->op_private
#define OP_spare(o) o->op_spare
OP_type(o)
B::OP o
+#if PERL_VERSION >= 9
+
U8
OP_opt(o)
B::OP o
OP_static(o)
B::OP o
+#else
+
+U16
+OP_seq(o)
+ B::OP o
+
+#endif
+
U8
OP_flags(o)
B::OP o
OP_private(o)
B::OP o
+#if PERL_VERSION >= 9
+
U8
OP_spare(o)
B::OP o
+#endif
+
void
OP_oplist(o)
B::OP o