Ressurect change 27824, which plugs a resource leak in uncalled code.
[p5sagit/p5-mst-13.2.git] / scope.h
diff --git a/scope.h b/scope.h
index 580d109..b18b84e 100644 (file)
--- a/scope.h
+++ b/scope.h
 #define SAVEt_SAVESWITCHSTACK  40
 #define SAVEt_COP_ARYBASE      41
 #define SAVEt_RE_STATE         42
-#define SAVEt_COP_WARNINGS     43
+#define SAVEt_COMPILE_WARNINGS 43
 
 #ifndef SCOPE_SAVES_SIGNAL_MASK
 #define SCOPE_SAVES_SIGNAL_MASK 0
 #endif
 
-#define SSCHECK(need) if (PL_savestack_ix + (need) > PL_savestack_max) savestack_grow()
-#define SSGROW(need) if (PL_savestack_ix + (need) > PL_savestack_max) savestack_grow_cnt(need)
+#define SSCHECK(need) if (PL_savestack_ix + (I32)(need) > PL_savestack_max) savestack_grow()
+#define SSGROW(need) if (PL_savestack_ix + (I32)(need) > PL_savestack_max) savestack_grow_cnt(need)
 #define SSPUSHINT(i) (PL_savestack[PL_savestack_ix++].any_i32 = (I32)(i))
 #define SSPUSHLONG(i) (PL_savestack[PL_savestack_ix++].any_long = (long)(i))
 #define SSPUSHBOOL(p) (PL_savestack[PL_savestack_ix++].any_bool = (p))
@@ -198,12 +198,11 @@ Closing bracket on a callback.  See C<ENTER> and L<perlcall>.
    could have done savefreesharedpvREF, but this way actually seems cleaner,
    as it simplifies the code that does the saves, and reduces the load on the
    save stack.  */
-#define SAVECOPWARNINGS(c) \
+#define SAVECOMPILEWARNINGS() \
     STMT_START {                                       \
-       SSCHECK(3);                                     \
-       SSPUSHPTR((c)->cop_warnings);                   \
-       SSPUSHPTR(c);                                   \
-       SSPUSHINT(SAVEt_COP_WARNINGS);                  \
+       SSCHECK(2);                                     \
+       SSPUSHPTR(PL_compiling.cop_warnings);           \
+       SSPUSHINT(SAVEt_COMPILE_WARNINGS);              \
     } STMT_END
 
 #ifdef USE_ITHREADS