p4raw-id: //depot/perl@10549
# 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) \
* boo, hiss. */
#undef dNOOP
#define dNOOP extern int Perl___notused
+/* Ditto for dXSARGS. */
+#undef dXSARGS
+#define dXSARGS \
+ dSP; dMARK; \
+ I32 ax = mark - PL_stack_base + 1; \
+ I32 items = sp - mark
#endif
# Perl_croak(aTHX_ "Usage: $pname($report_args)");
EOF
- #-Wall: if an xsub has no arguments and PPCODE is used
- #none of ST, XSRETURN or XSprePUSH macros are used
- #hence `ax' (setup by dXSARGS) is unused
- print Q<<"EOF" if $PPCODE and $num_args == 0;
-# if (0) ax = ax; /* -Wall */
-EOF
-
print Q<<"EOF" if $PPCODE;
# SP -= items;
EOF