UV total_size = 0;
total_size += sizeof(REGEXP);
- /* Note hte size of the paren offset thing */
+#if (PERL_VERSION < 11)
+ /* Note the size of the paren offset thing */
total_size += sizeof(I32) * baseregex->nparens * 2;
total_size += strlen(baseregex->precomp);
-
+#else
+ total_size += sizeof(struct regexp);
+ total_size += sizeof(I32) * SvANY(baseregex)->nparens * 2;
+ /*total_size += strlen(SvANY(baseregex)->subbeg);*/
+#endif
if (go_yell && !regex_whine) {
- carp("Devel::Size: Calculated sizes for compiled regexes are incomple, and probably always will be");
+ carp("Devel::Size: Calculated sizes for compiled regexes are incompatible, and probably always will be");
regex_whine = 1;
}
if (check_new(tracking_hash, cPMOPx(baseop)->op_last)) {
total_size += op_size(cPMOPx(baseop)->op_last, tracking_hash);
}
+#if PERL_VERSION < 9 || (PERL_VERSION == 9 && PERL_SUBVERSION < 5)
if (check_new(tracking_hash, cPMOPx(baseop)->op_pmreplroot)) {
total_size += op_size(cPMOPx(baseop)->op_pmreplroot, tracking_hash);
}
if (check_new(tracking_hash, cPMOPx(baseop)->op_pmnext)) {
total_size += op_size((OP *)cPMOPx(baseop)->op_pmnext, tracking_hash);
}
+#endif
/* This is defined away in perl 5.8.x, but it is in there for
5.6.x */
#ifdef PM_GETRE
total_size += sizeof(NV);
#endif
break;
+#if (PERL_VERSION < 11)
/* Is it a reference? */
case SVt_RV:
#ifndef NEW_HEAD_LAYOUT
total_size += sizeof(XRV);
#endif
break;
+#endif
/* How about a plain string? In which case we need to add in how
much has been allocated */
case SVt_PV: