=cut
*/
-#ifndef LINT_UNUSED_ARG
+#ifndef PERL_UNUSED_ARG
# ifdef lint
# include <note.h>
-# define LINT_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
+# define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
# else
-# define LINT_UNUSED_ARG(x)
+# define PERL_UNUSED_ARG(x) ((void)x)
# endif
#endif
+#ifndef PERL_UNUSED_VAR
+# define PERL_UNUSED_VAR(x) ((void)x)
+#endif
#define ST(off) PL_stack_base[ax + (off)]
#if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
# define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv)
#endif
-#if defined(SYMBIAN)
+#if defined(__SYMBIAN32__)
# define XS(name) EXPORT_C void name(pTHX_ CV* cv)
#endif
#ifndef XS
#define dAXMARK \
I32 ax = POPMARK; \
- register SV ** const mark = PL_stack_base + ax++
+ register SV **mark = PL_stack_base + ax++
#define dITEMS I32 items = SP - MARK
-#define dXSARGS \
- LINT_UNUSED_ARG(cv) \
+#ifdef lint
+# define dXSARGS \
+ NOTE(ARGUNUSED(cv)) \
+ dSP; dAXMARK; dITEMS
+#else
+# define dXSARGS \
dSP; dAXMARK; dITEMS
+#endif
#define dXSTARG SV * const targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \
? PAD_SV(PL_op->op_targ) : sv_newmortal())
=head1 Simple Exception Handling Macros
=for apidoc Ams||dXCPT
-Set up neccessary local variables for exception handling.
+Set up necessary local variables for exception handling.
See L<perlguts/"Exception Handling">.
=for apidoc AmU||XCPT_TRY_START
*/
#define DBM_setFilter(db_type,code) \
- { \
+ STMT_START { \
if (db_type) \
RETVAL = sv_mortalcopy(db_type) ; \
ST(0) = RETVAL ; \
else \
db_type = newSVsv(code) ; \
} \
- }
+ } STMT_END
#define DBM_ckFilter(arg,type,name) \
+ STMT_START { \
if (db->type) { \
if (db->filtering) { \
croak("recursion detected in %s", name) ; \
arg = sv_2mortal(arg); \
} \
SvOKp(arg); \
- }
+ } } STMT_END
#if 1 /* for compatibility */
# define VTBL_sv &PL_vtbl_sv