#define SAVEt_SAVESWITCHSTACK 40
#define SAVEt_COP_ARYBASE 41
#define SAVEt_RE_STATE 42
+#define SAVEt_COMPILE_WARNINGS 43
#ifndef SCOPE_SAVES_SIGNAL_MASK
#define SCOPE_SAVES_SIGNAL_MASK 0
SSPUSHINT(SAVEt_COP_ARYBASE); \
} STMT_END
+/* Need to do the cop warnings like this, rather than a "SAVEFREESHAREDPV",
+ because realloc() means that the value can actually change. Possibly
+ 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 SAVECOMPILEWARNINGS() \
+ STMT_START { \
+ SSCHECK(2); \
+ SSPUSHPTR(PL_compiling.cop_warnings); \
+ SSPUSHINT(SAVEt_COMPILE_WARNINGS); \
+ } STMT_END
#ifdef USE_ITHREADS
# define SAVECOPSTASH(c) SAVEPPTR(CopSTASHPV(c))