summaryrefslogtreecommitdiff
path: root/XSUB.h
diff options
context:
space:
mode:
Diffstat (limited to 'XSUB.h')
-rw-r--r--XSUB.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/XSUB.h b/XSUB.h
index cfcad5d595..13c5ea9f37 100644
--- a/XSUB.h
+++ b/XSUB.h
@@ -53,9 +53,12 @@ handled automatically by C<xsubpp>.
# define XS(name) void name(pTHXo_ CV* cv)
#endif
+/* gcc -Wall: if an xsub has no arguments and PPCODE is used
+ * and none of ST, XSRETURN or XSprePUSH macros are used
+ * then `ax' (setup by dXSARGS) is unused. */
#define dXSARGS \
dSP; dMARK; \
- I32 ax = mark - PL_stack_base + 1; \
+ I32 ax __attribute__((unused)) = mark - PL_stack_base + 1; \
I32 items = sp - mark
#define dXSTARG SV * targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \