X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/abec5bedacd77b2152e61ec3216ab47bd7272fc9..facc1dc2646135cef09100080f18ecafbf1df900:/XSUB.h diff --git a/XSUB.h b/XSUB.h index 49c15f7..e64bc83 100644 --- a/XSUB.h +++ b/XSUB.h @@ -18,7 +18,8 @@ =for apidoc Amn|char*|CLASS Variable which is setup by C to indicate the -class name for a C++ XS constructor. This is always a C. See C. +class name for a C++ XS constructor. This is always a C. See +C>. =for apidoc Amn|(whatever)|RETVAL Variable which is setup by C to hold the return value for an @@ -27,7 +28,7 @@ L. =for apidoc Amn|(whatever)|THIS Variable which is setup by C to designate the object in a C++ -XSUB. This is always the proper type for the C++ object. See C and +XSUB. This is always the proper type for the C++ object. See C> and L. =for apidoc Amn|I32|ax @@ -48,7 +49,7 @@ Used to access elements on the XSUB's stack. =for apidoc AmU||XS Macro to declare an XSUB and its C parameter list. This is handled by -C. It is the same as using the more explicit XS_EXTERNAL macro. +C. It is the same as using the more explicit C macro. =for apidoc AmU||XS_INTERNAL Macro to declare an XSUB and its C parameter list without exporting the symbols. @@ -71,7 +72,7 @@ Sets up the C variable. This is usually handled automatically by C by calling C. =for apidoc Ams||dXSARGS -Sets up stack and mark pointers for an XSUB, calling dSP and dMARK. +Sets up stack and mark pointers for an XSUB, calling C and C. Sets up the C and C variables by calling C and C. This is usually handled automatically by C. @@ -85,8 +86,8 @@ C, 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 -The SV* corresponding to the $_ variable. Works even if there -is a lexical $_ in scope. +The SV* corresponding to the C<$_> variable. Works even if there +is a lexical C<$_> in scope. =cut */ @@ -281,10 +282,11 @@ the subs. =for apidoc AmU||XS_VERSION The version identifier for an XS module. This is usually -handled automatically by C. See C. +handled automatically by C. See +C>. =for apidoc Ams||XS_VERSION_BOOTCHECK -Macro to verify that a PM module's $VERSION variable matches the XS +Macro to verify that a PM module's C<$VERSION> variable matches the XS module's C variable. This is usually handled automatically by C. See L. @@ -325,6 +327,7 @@ Rethrows a previously caught exception. See L. #define XSRETURN(off) \ STMT_START { \ const IV tmpXSoff = (off); \ + assert(tmpXSoff >= 0);\ PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); \ return; \ } STMT_END