=for apidoc Ams||dUNDERBAR
Sets up any variable needed by the C<UNDERBAR> macro. It used to define
-C<padoff_du>, but it is currently a noop. However, it is strongly adviced
+C<padoff_du>, but it is currently a noop. However, it is strongly advised
to still use it for ensuring past and future compatibility.
=for apidoc AmU||UNDERBAR
#endif
#define XS_APIVERSION_BOOTCHECK \
- STMT_START { \
- SV *_xpt = NULL; \
- SV *_compver = Perl_newSVpv(aTHX_ "v" PERL_API_VERSION_STRING, 0); \
- SV *_runver = new_version(PL_apiversion); \
- _compver = upg_version(_compver, 0); \
- if (vcmp(_compver, _runver)) { \
- _xpt = Perl_newSVpvf(aTHX_ "Perl API version %"SVf \
- " of %s does not match %"SVf, \
- SVfARG(Perl_sv_2mortal(aTHX_ vstringify(_compver))), \
- SvPV_nolen_const(ST(0)), \
- SVfARG(Perl_sv_2mortal(aTHX_ vstringify(_runver)))); \
- Perl_sv_2mortal(aTHX_ _xpt); \
- } \
- SvREFCNT_dec(_compver); \
- SvREFCNT_dec(_runver); \
- if (_xpt) \
- Perl_croak_sv(aTHX_ _xpt); \
- } STMT_END
+ Perl_xs_apiversion_bootcheck(aTHX_ ST(0), STR_WITH_LEN("v" PERL_API_VERSION_STRING))
#ifdef NO_XSLOCKS
# define dXCPT dJMPENV; int rEtV = 0