X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/6a5bc5acd0f35a93138716f5c3681baa1e139c65..bf848a12528ab1e63a2f20da532eda498adbdca6:/XSUB.h?ds=sidebyside diff --git a/XSUB.h b/XSUB.h index cff8204..796a13a 100644 --- a/XSUB.h +++ b/XSUB.h @@ -127,24 +127,18 @@ is a lexical C<$_> in scope. #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) # define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name) # define XS_INTERNAL(name) STATIC XSPROTO(name) -#endif -#if defined(__SYMBIAN32__) +#elif defined(__SYMBIAN32__) # define XS_EXTERNAL(name) EXPORT_C XSPROTO(name) # define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name) -#endif -#ifndef XS_EXTERNAL -# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) -# define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__) -# define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__) -# else -# ifdef __cplusplus -# define XS_EXTERNAL(name) extern "C" XSPROTO(name) -# define XS_INTERNAL(name) static XSPROTO(name) -# else -# define XS_EXTERNAL(name) XSPROTO(name) -# define XS_INTERNAL(name) STATIC XSPROTO(name) -# endif -# endif +#elif defined(__cplusplus) +# define XS_EXTERNAL(name) extern "C" XSPROTO(name) +# define XS_INTERNAL(name) static XSPROTO(name) +#elif defined(HASATTRIBUTE_UNUSED) +# define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__) +# define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__) +#else +# define XS_EXTERNAL(name) XSPROTO(name) +# define XS_INTERNAL(name) STATIC XSPROTO(name) #endif /* We do export xsub symbols by default for the public XS macro. @@ -615,6 +609,7 @@ Rethrows a previously caught exception. See L. # define utime PerlLIO_utime # define write PerlLIO_write # define malloc PerlMem_malloc +# define calloc PerlMem_calloc # define realloc PerlMem_realloc # define free PerlMem_free # define abort PerlProc_abort