Add tests for all the other types that %^H serialisation is supposed
[p5sagit/p5-mst-13.2.git] / scope.c
diff --git a/scope.c b/scope.c
index be926c8..ebea9e1 100644 (file)
--- a/scope.c
+++ b/scope.c
@@ -764,6 +764,10 @@ Perl_leave_scope(pTHX_ I32 base)
            ptr = SSPOPPTR;
            Safefree(ptr);
            break;
+       case SAVEt_FREESHAREDPV:
+           ptr = SSPOPPTR;
+           PerlMemShared_free(ptr);
+           break;
        case SAVEt_CLEARSV:
            ptr = (void*)&PL_curpad[SSPOPLONG];
            sv = *(SV**)ptr;
@@ -984,6 +988,17 @@ Perl_leave_scope(pTHX_ I32 base)
            i = SSPOPINT;
            CopARYBASE_set((COP *)ptr, i);
            break;
+       case SAVEt_COP_WARNINGS:
+           {
+               COP *const cop = SSPOPPTR;
+               ptr = SSPOPPTR;
+
+               if (!specialWARN(cop->cop_warnings))
+                   PerlMemShared_free(cop->cop_warnings);
+
+               cop->cop_warnings = ptr;
+           }
+           break;
        case SAVEt_RE_STATE:
            {
                const struct re_save_state *const state