#endif
#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
-# define PUSHSTACK_INIT_HWM(si) si->si_stack_hwm = 0
+# define PUSHSTACK_INIT_HWM(si) ((si)->si_stack_hwm = 0)
#else
# define PUSHSTACK_INIT_HWM(si) NOOP
#endif
* this just gives a safe false positive
*/
-# define _EXTEND_NEEDS_GROW(p,n) ((n) < 0 || PL_stack_max - p < (n))
+# define _EXTEND_NEEDS_GROW(p,n) ((n) < 0 || PL_stack_max - (p) < (n))
/* EXTEND_SKIP(): used for where you would normally call EXTEND(), but