(perl #132876) only define croak_xs_usage()'s assert macro if cxu requested
authorTony Cook <tony@develop-help.com>
Wed, 21 Feb 2018 00:24:00 +0000 (11:24 +1100)
committerTony Cook <tony@develop-help.com>
Mon, 2 Apr 2018 05:20:36 +0000 (15:20 +1000)
This avoids an interaction with the code ExtUtils::ParseXS generates to
define a fallback croak_xs_usage().

That code checks whether the assert macro is defined rather than checking
if croak_xs_usage() is defined, and since ppport.h was always defining
the assert macro, the EU::PXS code would fail to define its own
croak_xs_usage() fallback.

dist/Devel-PPPort/parts/inc/mess

index 59a6d68..49755ec 100644 (file)
@@ -198,12 +198,13 @@ mess_sv(pTHX_ SV *basemsg, bool consume)
 #endif
 #endif
 
+#ifndef croak_xs_usage
+#if { NEED croak_xs_usage }
+
 #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
 #define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
 #endif
 
-#ifndef croak_xs_usage
-#if { NEED croak_xs_usage }
 void
 croak_xs_usage(const CV *const cv, const char *const params)
 {