summaryrefslogtreecommitdiff
path: root/scope.h
diff options
context:
space:
mode:
Diffstat (limited to 'scope.h')
-rw-r--r--scope.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/scope.h b/scope.h
index cace24689d..debae280db 100644
--- a/scope.h
+++ b/scope.h
@@ -150,11 +150,15 @@ Closing bracket on a callback. See C<ENTER> and L<perlcall>.
#define SAVEHINTS() \
STMT_START { \
- SSCHECK(3); \
+ SSCHECK(4); \
if (PL_hints & HINT_LOCALIZE_HH) { \
SSPUSHPTR(GvHV(PL_hintgv)); \
GvHV(PL_hintgv) = newHVhv(GvHV(PL_hintgv)); \
} \
+ if (PL_compiling.cop_hints) { \
+ PL_compiling.cop_hints->refcounted_he_refcnt++; \
+ } \
+ SSPUSHPTR(PL_compiling.cop_hints); \
SSPUSHINT(PL_hints); \
SSPUSHINT(SAVEt_HINTS); \
} STMT_END