Bug Summary

File:obj/gnu/usr.bin/perl/ext/XS-Typemap/Typemap.c
Warning:line 1662, column 3
Value stored to 'dummy' is never read

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple amd64-unknown-openbsd7.0 -analyze -disable-free -disable-llvm-verifier -discard-value-names -main-file-name Typemap.c -analyzer-store=region -analyzer-opt-analyze-nested-blocks -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -mrelocation-model pic -pic-level 1 -fhalf-no-semantic-interposition -fno-delete-null-pointer-checks -mframe-pointer=all -relaxed-aliasing -fno-rounding-math -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-feature +retpoline-indirect-calls -target-feature +retpoline-indirect-branches -tune-cpu generic -debugger-tuning=gdb -fcoverage-compilation-dir=/usr/obj/gnu/usr.bin/perl/ext/XS-Typemap -resource-dir /usr/local/lib/clang/13.0.0 -D NO_LOCALE_NUMERIC -D NO_LOCALE_COLLATE -D VERSION="0.17" -D XS_VERSION="0.17" -D PIC -I ../.. -internal-isystem /usr/local/lib/clang/13.0.0/include -internal-externc-isystem /usr/include -O2 -Wwrite-strings -fconst-strings -fdebug-compilation-dir=/usr/obj/gnu/usr.bin/perl/ext/XS-Typemap -ferror-limit 19 -fwrapv -D_RET_PROTECTOR -ret-protector -fgnuc-version=4.2.1 -vectorize-loops -vectorize-slp -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-valloc -fno-builtin-free -fno-builtin-strdup -fno-builtin-strndup -analyzer-output=html -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /home/ben/Projects/vmm/scan-build/2022-01-12-194120-40624-1 -x c Typemap.c
1/*
2 * This file was generated automatically by ExtUtils::ParseXS version 3.40 from the
3 * contents of Typemap.xs. Do not edit this file, edit Typemap.xs instead.
4 *
5 * ANY CHANGES MADE HERE WILL BE LOST!
6 *
7 */
8
9#line 1 "Typemap.xs"
10/*
11 XS code to test the typemap entries
12
13 Copyright (C) 2001 Tim Jenness.
14 All Rights Reserved
15
16*/
17
18#define PERL_NO_GET_CONTEXT
19
20#include "EXTERN.h" /* std perl include */
21#include "perl.h" /* std perl include */
22#include "XSUB.h" /* XSUB include */
23
24/* Prototypes for external functions */
25FILE * xsfopen( const char * );
26int xsfclose( FILE * );
27int xsfprintf( FILE *, const char *);
28
29/* Type definitions required for the XS typemaps */
30typedef SV * SVREF; /* T_SVREF */
31typedef int SysRet; /* T_SYSRET */
32typedef int Int; /* T_INT */
33typedef int intRef; /* T_PTRREF */
34typedef int intObj; /* T_PTROBJ */
35typedef int intRefIv; /* T_REF_IV_PTR */
36typedef int intArray; /* T_ARRAY */
37typedef int intTINT; /* T_INT */
38typedef int intTLONG; /* T_LONG */
39typedef short shortOPQ; /* T_OPAQUE */
40typedef int intOpq; /* T_OPAQUEPTR */
41typedef unsigned intUnsigned; /* T_U_INT */
42typedef PerlIOPerlIO * inputfh; /* T_IN */
43typedef PerlIOPerlIO * outputfh; /* T_OUT */
44
45/* A structure to test T_OPAQUEPTR and T_PACKED */
46struct t_opaqueptr {
47 int a;
48 int b;
49 double c;
50};
51
52typedef struct t_opaqueptr astruct;
53typedef struct t_opaqueptr anotherstruct;
54
55/* Some static memory for the tests */
56static I32 xst_anint;
57static intRef xst_anintref;
58static intObj xst_anintobj;
59static intRefIv xst_anintrefiv;
60static intOpq xst_anintopq;
61
62/* A different type to refer to for testing the different
63 * AV*, HV*, etc typemaps */
64typedef AV AV_FIXED;
65typedef HV HV_FIXED;
66typedef CV CV_FIXED;
67typedef SVREF SVREF_FIXED;
68
69/* Helper functions */
70
71/* T_ARRAY - allocate some memory */
72intArray * intArrayPtr( int nelem ) {
73 intArray * array;
74 Newx(array, nelem, intArray)(array = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof
(nelem) || sizeof(intArray) > ((size_t)1 << 8*(sizeof
(size_t) - sizeof(nelem)))) ? (size_t)(nelem) : ((size_t)-1)/
sizeof(intArray)) > ((size_t)-1)/sizeof(intArray))) ? (_Bool
)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)),
(intArray*)(Perl_safesysmalloc((size_t)((nelem)*sizeof(intArray
))))))
;
75 return array;
76}
77
78/* test T_PACKED */
79STATICstatic void
80XS_pack_anotherstructPtr(SV *out, anotherstruct *in)
81{
82 dTHXstruct Perl___notused_struct;
83 HV *hash = newHV()((HV *)({ void *_p = (Perl_newSV_type( SVt_PVHV)); _p; }));
84 if (NULL((void*)0) == hv_stores(hash, "a", newSViv(in->a))((SV**) Perl_hv_common_key_len( ((hash)),(("" "a" "")),((sizeof
("a")-1)),(0x04|0x20),((Perl_newSViv( in->a))),(0)))
)
85 croakPerl_croak("Failed to store data in hash");
86 if (NULL((void*)0) == hv_stores(hash, "b", newSViv(in->b))((SV**) Perl_hv_common_key_len( ((hash)),(("" "b" "")),((sizeof
("b")-1)),(0x04|0x20),((Perl_newSViv( in->b))),(0)))
)
87 croakPerl_croak("Failed to store data in hash");
88 if (NULL((void*)0) == hv_stores(hash, "c", newSVnv(in->c))((SV**) Perl_hv_common_key_len( ((hash)),(("" "c" "")),((sizeof
("c")-1)),(0x04|0x20),((Perl_newSVnv( in->c))),(0)))
)
89 croakPerl_croak("Failed to store data in hash");
90 sv_setsv(out, sv_2mortal(newRV_noinc((SV*)hash)))Perl_sv_setsv_flags( out,Perl_sv_2mortal( Perl_newRV_noinc( (
SV*)hash)),2|0)
;
91}
92
93STATICstatic anotherstruct *
94XS_unpack_anotherstructPtr(SV *in)
95{
96 dTHXstruct Perl___notused_struct; /* rats, this is expensive */
97 /* this is similar to T_HVREF since we chose to use a hash */
98 HV *inhash;
99 SV **elem;
100 anotherstruct *out;
101 SV *const tmp = in;
102 SvGETMAGIC(tmp)((void)(__builtin_expect(((((tmp)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( tmp)))
;
103 if (SvROK(tmp)((tmp)->sv_flags & 0x00000800) && SvTYPE(SvRV(tmp))((svtype)((((tmp)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVHV)
104 inhash = (HV*)SvRV(tmp)((tmp)->sv_u.svu_rv);
105 else
106 Perl_croak(aTHX_ "Argument is not a HASH reference");
107
108 /* FIXME dunno if supposed to use perl mallocs here */
109 Newxz(out, 1, anotherstruct)(out = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof
(1) || sizeof(anotherstruct) > ((size_t)1 << 8*(sizeof
(size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(anotherstruct
)) > ((size_t)-1)/sizeof(anotherstruct))) ? (_Bool)1 : (_Bool
)0),(0)) && (Perl_croak_memory_wrap(),0)), (anotherstruct
*)(Perl_safesyscalloc((1),sizeof(anotherstruct)))))
;
110
111 elem = hv_fetchs(inhash, "a", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "a" "")),((sizeof
("a")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0))
;
112 if (elem == NULL((void*)0))
113 Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
114 out->a = SvIV(*elem)((((*elem)->sv_flags & (0x00000100|0x00200000)) == 0x00000100
) ? ((XPVIV*) (*elem)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags
( *elem,2))
;
115
116 elem = hv_fetchs(inhash, "b", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "b" "")),((sizeof
("b")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0))
;
117 if (elem == NULL((void*)0))
118 Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
119 out->b = SvIV(*elem)((((*elem)->sv_flags & (0x00000100|0x00200000)) == 0x00000100
) ? ((XPVIV*) (*elem)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags
( *elem,2))
;
120
121 elem = hv_fetchs(inhash, "c", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "c" "")),((sizeof
("c")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0))
;
122 if (elem == NULL((void*)0))
123 Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
124 out->c = SvNV(*elem)((((*elem)->sv_flags & (0x00000200|0x00200000)) == 0x00000200
) ? ((XPVNV*) (*elem)->sv_any)->xnv_u.xnv_nv : Perl_sv_2nv_flags
( *elem,2))
;
125
126 return out;
127}
128
129/* test T_PACKEDARRAY */
130STATICstatic void
131XS_pack_anotherstructPtrPtr(SV *out, anotherstruct **in, UV cnt)
132{
133 dTHXstruct Perl___notused_struct;
134 UV i;
135 AV *ary = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; }));
136 for (i = 0; i < cnt; ++i) {
137 HV *hash = newHV()((HV *)({ void *_p = (Perl_newSV_type( SVt_PVHV)); _p; }));
138 if (NULL((void*)0) == hv_stores(hash, "a", newSViv(in[i]->a))((SV**) Perl_hv_common_key_len( ((hash)),(("" "a" "")),((sizeof
("a")-1)),(0x04|0x20),((Perl_newSViv( in[i]->a))),(0)))
)
139 croakPerl_croak("Failed to store data in hash");
140 if (NULL((void*)0) == hv_stores(hash, "b", newSViv(in[i]->b))((SV**) Perl_hv_common_key_len( ((hash)),(("" "b" "")),((sizeof
("b")-1)),(0x04|0x20),((Perl_newSViv( in[i]->b))),(0)))
)
141 croakPerl_croak("Failed to store data in hash");
142 if (NULL((void*)0) == hv_stores(hash, "c", newSVnv(in[i]->c))((SV**) Perl_hv_common_key_len( ((hash)),(("" "c" "")),((sizeof
("c")-1)),(0x04|0x20),((Perl_newSVnv( in[i]->c))),(0)))
)
143 croakPerl_croak("Failed to store data in hash");
144 av_push(ary, newRV_noinc((SV*)hash))Perl_av_push( ary,Perl_newRV_noinc( (SV*)hash));
145 }
146 sv_setsv(out, sv_2mortal(newRV_noinc((SV*)ary)))Perl_sv_setsv_flags( out,Perl_sv_2mortal( Perl_newRV_noinc( (
SV*)ary)),2|0)
;
147}
148
149STATICstatic anotherstruct **
150XS_unpack_anotherstructPtrPtr(SV *in)
151{
152 dTHXstruct Perl___notused_struct; /* rats, this is expensive */
153 /* this is similar to T_HVREF since we chose to use a hash */
154 HV *inhash;
155 AV *inary;
156 SV **elem;
157 anotherstruct **out;
158 UV nitems, i;
159 SV *tmp;
160
161 /* safely deref the input array ref */
162 tmp = in;
163 SvGETMAGIC(tmp)((void)(__builtin_expect(((((tmp)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( tmp)))
;
164 if (SvROK(tmp)((tmp)->sv_flags & 0x00000800) && SvTYPE(SvRV(tmp))((svtype)((((tmp)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVAV)
165 inary = (AV*)SvRV(tmp)((tmp)->sv_u.svu_rv);
166 else
167 Perl_croak(aTHX_ "Argument is not an ARRAY reference");
168
169 nitems = av_tindex(inary)Perl_av_top_index( inary) + 1;
170
171 /* FIXME dunno if supposed to use perl mallocs here */
172 /* N+1 elements so we know the last one is NULL */
173 Newxz(out, nitems+1, anotherstruct*)(out = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof
(nitems+1) || sizeof(anotherstruct*) > ((size_t)1 <<
8*(sizeof(size_t) - sizeof(nitems+1)))) ? (size_t)(nitems+1)
: ((size_t)-1)/sizeof(anotherstruct*)) > ((size_t)-1)/sizeof
(anotherstruct*))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap
(),0)), (anotherstruct**)(Perl_safesyscalloc((nitems+1),sizeof
(anotherstruct*)))))
;
174
175 /* WARNING: in real code, we'd have to Safefree() on exception, but
176 * since we're testing perl, if we croak() here, stuff is
177 * rotten anyway! */
178 for (i = 0; i < nitems; ++i) {
179 Newxz(out[i], 1, anotherstruct)(out[i] = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof
(1) || sizeof(anotherstruct) > ((size_t)1 << 8*(sizeof
(size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(anotherstruct
)) > ((size_t)-1)/sizeof(anotherstruct))) ? (_Bool)1 : (_Bool
)0),(0)) && (Perl_croak_memory_wrap(),0)), (anotherstruct
*)(Perl_safesyscalloc((1),sizeof(anotherstruct)))))
;
180 elem = av_fetch(inary, i, 0)Perl_av_fetch( inary,i,0);
181 if (elem == NULL((void*)0))
182 Perl_croak(aTHX_ "Shouldn't happen: av_fetch returns NULL");
183 tmp = *elem;
184 SvGETMAGIC(tmp)((void)(__builtin_expect(((((tmp)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( tmp)))
;
185 if (SvROK(tmp)((tmp)->sv_flags & 0x00000800) && SvTYPE(SvRV(tmp))((svtype)((((tmp)->sv_u.svu_rv))->sv_flags & 0xff)) == SVt_PVHV)
186 inhash = (HV*)SvRV(tmp)((tmp)->sv_u.svu_rv);
187 else
188 Perl_croak(aTHX_ "Array element %" UVuf"lu"
189 " is not a HASH reference", i);
190
191 elem = hv_fetchs(inhash, "a", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "a" "")),((sizeof
("a")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0))
;
192 if (elem == NULL((void*)0))
193 Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
194 out[i]->a = SvIV(*elem)((((*elem)->sv_flags & (0x00000100|0x00200000)) == 0x00000100
) ? ((XPVIV*) (*elem)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags
( *elem,2))
;
195
196 elem = hv_fetchs(inhash, "b", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "b" "")),((sizeof
("b")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0))
;
197 if (elem == NULL((void*)0))
198 Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
199 out[i]->b = SvIV(*elem)((((*elem)->sv_flags & (0x00000100|0x00200000)) == 0x00000100
) ? ((XPVIV*) (*elem)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags
( *elem,2))
;
200
201 elem = hv_fetchs(inhash, "c", 0)((SV**) Perl_hv_common_key_len( ((inhash)),(("" "c" "")),((sizeof
("c")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0))
;
202 if (elem == NULL((void*)0))
203 Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
204 out[i]->c = SvNV(*elem)((((*elem)->sv_flags & (0x00000200|0x00200000)) == 0x00000200
) ? ((XPVNV*) (*elem)->sv_any)->xnv_u.xnv_nv : Perl_sv_2nv_flags
( *elem,2))
;
205 }
206
207 return out;
208}
209
210/* no special meaning as far as typemaps are concerned,
211 * just for convenience */
212void
213XS_release_anotherstructPtrPtr(anotherstruct **in)
214{
215 unsigned int i;
216 for (i = 0; in[i] != NULL((void*)0); i++)
217 Safefree(in[i])Perl_safesysfree(((void *)(in[i])));
218 Safefree(in)Perl_safesysfree(((void *)(in)));
219}
220
221
222#line 223 "Typemap.c"
223#ifndef PERL_UNUSED_VAR
224# define PERL_UNUSED_VAR(var)((void)sizeof(var)) if (0) var = var
225#endif
226
227#ifndef dVARstruct Perl___notused_struct
228# define dVARstruct Perl___notused_struct dNOOPstruct Perl___notused_struct
229#endif
230
231
232/* This stuff is not part of the API! You have been warned. */
233#ifndef PERL_VERSION_DECIMAL
234# define PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s) (r*1000000 + v*1000 + s)
235#endif
236#ifndef PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1)
237# define PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) \
238 PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)(5*1000000 + 32*1000 + 1)
239#endif
240#ifndef PERL_VERSION_GE
241# define PERL_VERSION_GE(r,v,s)((5*1000000 + 32*1000 + 1) >= (r*1000000 + v*1000 + s)) \
242 (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) >= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s))
243#endif
244#ifndef PERL_VERSION_LE
245# define PERL_VERSION_LE(r,v,s)((5*1000000 + 32*1000 + 1) <= (r*1000000 + v*1000 + s)) \
246 (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) <= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s))
247#endif
248
249/* XS_INTERNAL is the explicit static-linkage variant of the default
250 * XS macro.
251 *
252 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
253 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
254 * for anything but the BOOT XSUB.
255 *
256 * See XSUB.h in core!
257 */
258
259
260/* TODO: This might be compatible further back than 5.10.0. */
261#if PERL_VERSION_GE(5, 10, 0)((5*1000000 + 32*1000 + 1) >= (5*1000000 + 10*1000 + 0)) && PERL_VERSION_LE(5, 15, 1)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 15*1000 + 1))
262# undef XS_EXTERNAL
263# undef XS_INTERNAL
264# if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
265# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) __declspec(dllexport) XSPROTO(name)void name( CV* cv __attribute__((unused)))
266# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused)))
267# endif
268# if defined(__SYMBIAN32__)
269# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) EXPORT_C XSPROTO(name)void name( CV* cv __attribute__((unused)))
270# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) EXPORT_C STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused)))
271# endif
272# ifndef XS_EXTERNAL
273# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
274# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) void name(pTHX_ CV* cv __attribute__unused____attribute__((unused)))
275# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic void name(pTHX_ CV* cv __attribute__unused____attribute__((unused)))
276# else
277# ifdef __cplusplus
278# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) extern "C" XSPROTO(name)void name( CV* cv __attribute__((unused)))
279# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) static XSPROTO(name)void name( CV* cv __attribute__((unused)))
280# else
281# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XSPROTO(name)void name( CV* cv __attribute__((unused)))
282# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused)))
283# endif
284# endif
285# endif
286#endif
287
288/* perl >= 5.10.0 && perl <= 5.15.1 */
289
290
291/* The XS_EXTERNAL macro is used for functions that must not be static
292 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
293 * macro defined, the best we can do is assume XS is the same.
294 * Dito for XS_INTERNAL.
295 */
296#ifndef XS_EXTERNAL
297# define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused)))
298#endif
299#ifndef XS_INTERNAL
300# define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused)))
301#endif
302
303/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
304 * internal macro that we're free to redefine for varying linkage due
305 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
306 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
307 */
308
309#undef XS_EUPXS
310#if defined(PERL_EUPXS_ALWAYS_EXPORT)
311# define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_EXTERNAL(name)void name( CV* cv __attribute__((unused)))
312#else
313 /* default to internal */
314# define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_INTERNAL(name)static void name( CV* cv __attribute__((unused)))
315#endif
316
317#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0)
318#define PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) assert(cv)((void)0); assert(params)((void)0)
319
320/* prototype to pass -Wmissing-prototypes */
321STATICstatic void
322S_croak_xs_usage(const CV *const cv, const char *const params);
323
324STATICstatic void
325S_croak_xs_usage(const CV *const cv, const char *const params)
326{
327 const GV *const gv = CvGV(cv)Perl_CvGV( (CV *)(cv));
328
329 PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0);
330
331 if (gv) {
332 const char *const gvname = GvNAME(gv)((((XPVGV*)(gv)->sv_any)->xiv_u.xivu_namehek))->hek_key;
333 const HV *const stash = GvSTASH(gv)(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash);
334 const char *const hvname = stash ? HvNAME(stash)((((stash)->sv_flags & 0x02000000) && ((struct
xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV*) (stash
)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name &&
( ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_count ? *
((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names
: ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
)) ? (( ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash
)[((XPVHV*) (stash)->sv_any)->xhv_max+1]))->xhv_name_count
? *((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names
: ((struct xpvhv_aux*)&(((stash)->sv_u.svu_hash)[((XPVHV
*) (stash)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name
))->hek_key : ((void*)0))
: NULL((void*)0);
335
336 if (hvname)
337 Perl_croak_nocontextPerl_croak("Usage: %s::%s(%s)", hvname, gvname, params);
338 else
339 Perl_croak_nocontextPerl_croak("Usage: %s(%s)", gvname, params);
340 } else {
341 /* Pants. I don't think that it should be possible to get here. */
342 Perl_croak_nocontextPerl_croak("Usage: CODE(0x%" UVxf"lx" ")(%s)", PTR2UV(cv)(UV)(cv), params);
343 }
344}
345#undef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0)
346
347#define croak_xs_usagePerl_croak_xs_usage S_croak_xs_usage
348
349#endif
350
351/* NOTE: the prototype of newXSproto() is different in versions of perls,
352 * so we define a portable version of newXSproto()
353 */
354#ifdef newXS_flags
355#define newXSproto_portable(name, c_impl, file, proto)Perl_newXS_flags( name,c_impl,file,proto,0) newXS_flags(name, c_impl, file, proto, 0)Perl_newXS_flags( name,c_impl,file,proto,0)
356#else
357#define newXSproto_portable(name, c_impl, file, proto)Perl_newXS_flags( name,c_impl,file,proto,0) (PL_Sv=(SV*)newXS(name, c_impl, file)Perl_newXS( name,c_impl,file), sv_setpv(PL_Sv, proto)Perl_sv_setpv( PL_Sv,proto), (CV*)PL_Sv)
358#endif /* !defined(newXS_flags) */
359
360#if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5))
361# define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS(aTHX_ a,b,file)
362#else
363# define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS_deffile(aTHX_ a,b)
364#endif
365
366#line 367 "Typemap.c"
367
368XS_EUPXS(XS_XS__Typemap_T_SV)static void XS_XS__Typemap_T_SV( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
369XS_EUPXS(XS_XS__Typemap_T_SV)static void XS_XS__Typemap_T_SV( CV* cv __attribute__((unused
)))
370{
371 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
372 if (items != 1)
373 croak_xs_usagePerl_croak_xs_usage(cv, "sv");
374 {
375 SV * sv = ST(0)PL_stack_base[ax + (0)]
376;
377 SV * RETVAL;
378#line 259 "Typemap.xs"
379 /* create a new sv for return that is a copy of the input
380 do not simply copy the pointer since the SV will be marked
381 mortal by the INPUT typemap when it is pushed back onto the stack */
382 RETVAL = sv_mortalcopy( sv )Perl_sv_mortalcopy_flags( sv, 2|0);
383 /* increment the refcount since the default INPUT typemap mortalizes
384 by default and we don't want to decrement the ref count twice
385 by mistake */
386 SvREFCNT_inc(RETVAL)Perl_SvREFCNT_inc(((SV *)({ void *_p = (RETVAL); _p; })));
387#line 388 "Typemap.c"
388 RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL);
389 ST(0)PL_stack_base[ax + (0)] = RETVAL;
390 }
391 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
392}
393
394
395XS_EUPXS(XS_XS__Typemap_T_SVREF)static void XS_XS__Typemap_T_SVREF( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
396XS_EUPXS(XS_XS__Typemap_T_SVREF)static void XS_XS__Typemap_T_SVREF( CV* cv __attribute__((unused
)))
397{
398 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
399 if (items != 1)
400 croak_xs_usagePerl_croak_xs_usage(cv, "svref");
401 {
402 SVREF svref;
403 SVREF RETVAL;
404
405 STMT_STARTdo {
406 SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)];
407 SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv
)))
;
408 if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){
409 svref = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv);
410 }
411 else{
412 Perl_croak_nocontextPerl_croak("%s: %s is not a reference",
413 "XS::Typemap::T_SVREF",
414 "svref");
415 }
416 } STMT_ENDwhile (0)
417;
418#line 277 "Typemap.xs"
419 RETVAL = svref;
420#line 421 "Typemap.c"
421 {
422 SV * RETVALSV;
423 RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL);
424 RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV);
425 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
426 }
427 }
428 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
429}
430
431
432XS_EUPXS(XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
433XS_EUPXS(XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED( CV* cv __attribute__
((unused)))
434{
435 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
436 if (items != 1)
437 croak_xs_usagePerl_croak_xs_usage(cv, "svref");
438 {
439 SVREF_FIXED svref;
440 SVREF_FIXED RETVAL;
441
442 STMT_STARTdo {
443 SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)];
444 SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv
)))
;
445 if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){
446 svref = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv);
447 }
448 else{
449 Perl_croak_nocontextPerl_croak("%s: %s is not a reference",
450 "XS::Typemap::T_SVREF_REFCOUNT_FIXED",
451 "svref");
452 }
453 } STMT_ENDwhile (0)
454;
455#line 288 "Typemap.xs"
456 SvREFCNT_inc(svref)Perl_SvREFCNT_inc(((SV *)({ void *_p = (svref); _p; })));
457 RETVAL = svref;
458#line 459 "Typemap.c"
459 {
460 SV * RETVALSV;
461 RETVALSV = newRV_noinc((SV*)RETVAL)Perl_newRV_noinc( (SV*)RETVAL);
462 RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV);
463 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
464 }
465 }
466 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
467}
468
469
470XS_EUPXS(XS_XS__Typemap_T_AVREF)static void XS_XS__Typemap_T_AVREF( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
471XS_EUPXS(XS_XS__Typemap_T_AVREF)static void XS_XS__Typemap_T_AVREF( CV* cv __attribute__((unused
)))
472{
473 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
474 if (items != 1)
475 croak_xs_usagePerl_croak_xs_usage(cv, "av");
476 {
477 AV * av;
478 AV * RETVAL;
479
480 STMT_STARTdo {
481 SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)];
482 SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv
)))
;
483 if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800) && SvTYPE(SvRV(xsub_tmp_sv))((svtype)((((xsub_tmp_sv)->sv_u.svu_rv))->sv_flags &
0xff))
== SVt_PVAV){
484 av = (AV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv);
485 }
486 else{
487 Perl_croak_nocontextPerl_croak("%s: %s is not an ARRAY reference",
488 "XS::Typemap::T_AVREF",
489 "av");
490 }
491 } STMT_ENDwhile (0)
492;
493#line 300 "Typemap.xs"
494 RETVAL = av;
495#line 496 "Typemap.c"
496 {
497 SV * RETVALSV;
498 RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL);
499 RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV);
500 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
501 }
502 }
503 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
504}
505
506
507XS_EUPXS(XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
508XS_EUPXS(XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED( CV* cv __attribute__
((unused)))
509{
510 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
511 if (items != 1)
512 croak_xs_usagePerl_croak_xs_usage(cv, "av");
513 {
514 AV_FIXED * av;
515 AV_FIXED * RETVAL;
516
517 STMT_STARTdo {
518 SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)];
519 SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv
)))
;
520 if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800) && SvTYPE(SvRV(xsub_tmp_sv))((svtype)((((xsub_tmp_sv)->sv_u.svu_rv))->sv_flags &
0xff))
== SVt_PVAV){
521 av = (AV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv);
522 }
523 else{
524 Perl_croak_nocontextPerl_croak("%s: %s is not an ARRAY reference",
525 "XS::Typemap::T_AVREF_REFCOUNT_FIXED",
526 "av");
527 }
528 } STMT_ENDwhile (0)
529;
530#line 311 "Typemap.xs"
531 SvREFCNT_inc(av)Perl_SvREFCNT_inc(((SV *)({ void *_p = (av); _p; })));
532 RETVAL = av;
533#line 534 "Typemap.c"
534 {
535 SV * RETVALSV;
536 RETVALSV = newRV_noinc((SV*)RETVAL)Perl_newRV_noinc( (SV*)RETVAL);
537 RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV);
538 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
539 }
540 }
541 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
542}
543
544
545XS_EUPXS(XS_XS__Typemap_T_HVREF)static void XS_XS__Typemap_T_HVREF( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
546XS_EUPXS(XS_XS__Typemap_T_HVREF)static void XS_XS__Typemap_T_HVREF( CV* cv __attribute__((unused
)))
547{
548 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
549 if (items != 1)
550 croak_xs_usagePerl_croak_xs_usage(cv, "hv");
551 {
552 HV * hv;
553 HV * RETVAL;
554
555 STMT_STARTdo {
556 SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)];
557 SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv
)))
;
558 if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800) && SvTYPE(SvRV(xsub_tmp_sv))((svtype)((((xsub_tmp_sv)->sv_u.svu_rv))->sv_flags &
0xff))
== SVt_PVHV){
559 hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv);
560 }
561 else{
562 Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference",
563 "XS::Typemap::T_HVREF",
564 "hv");
565 }
566 } STMT_ENDwhile (0)
567;
568#line 323 "Typemap.xs"
569 RETVAL = hv;
570#line 571 "Typemap.c"
571 {
572 SV * RETVALSV;
573 RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL);
574 RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV);
575 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
576 }
577 }
578 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
579}
580
581
582XS_EUPXS(XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
583XS_EUPXS(XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED( CV* cv __attribute__
((unused)))
584{
585 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
586 if (items != 1)
587 croak_xs_usagePerl_croak_xs_usage(cv, "hv");
588 {
589 HV_FIXED * hv;
590 HV_FIXED * RETVAL;
591
592 STMT_STARTdo {
593 SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)];
594 SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv
)))
;
595 if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800) && SvTYPE(SvRV(xsub_tmp_sv))((svtype)((((xsub_tmp_sv)->sv_u.svu_rv))->sv_flags &
0xff))
== SVt_PVHV){
596 hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv);
597 }
598 else{
599 Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference",
600 "XS::Typemap::T_HVREF_REFCOUNT_FIXED",
601 "hv");
602 }
603 } STMT_ENDwhile (0)
604;
605#line 334 "Typemap.xs"
606 SvREFCNT_inc(hv)Perl_SvREFCNT_inc(((SV *)({ void *_p = (hv); _p; })));
607 RETVAL = hv;
608#line 609 "Typemap.c"
609 {
610 SV * RETVALSV;
611 RETVALSV = newRV_noinc((SV*)RETVAL)Perl_newRV_noinc( (SV*)RETVAL);
612 RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV);
613 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
614 }
615 }
616 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
617}
618
619
620XS_EUPXS(XS_XS__Typemap_T_CVREF)static void XS_XS__Typemap_T_CVREF( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
621XS_EUPXS(XS_XS__Typemap_T_CVREF)static void XS_XS__Typemap_T_CVREF( CV* cv __attribute__((unused
)))
622{
623 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
624 if (items != 1)
625 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
626 {
627 CV * cv;
628 CV * RETVAL;
629
630 STMT_STARTdo {
631 HV *st;
632 GV *gvp;
633 SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)];
634 SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv
)))
;
635 cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0);
636 if (!cv) {
637 Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference",
638 "XS::Typemap::T_CVREF",
639 "cv");
640 }
641 } STMT_ENDwhile (0)
642;
643#line 346 "Typemap.xs"
644 RETVAL = cv;
645#line 646 "Typemap.c"
646 {
647 SV * RETVALSV;
648 RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL);
649 RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV);
650 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
651 }
652 }
653 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
654}
655
656
657XS_EUPXS(XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
658XS_EUPXS(XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED)static void XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED( CV* cv __attribute__
((unused)))
659{
660 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
661 if (items != 1)
662 croak_xs_usagePerl_croak_xs_usage(cv, "cv");
663 {
664 CV_FIXED * cv;
665 CV_FIXED * RETVAL;
666
667 STMT_STARTdo {
668 HV *st;
669 GV *gvp;
670 SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)];
671 SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000
)) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv
)))
;
672 cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0);
673 if (!cv) {
674 Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference",
675 "XS::Typemap::T_CVREF_REFCOUNT_FIXED",
676 "cv");
677 }
678 } STMT_ENDwhile (0)
679;
680#line 357 "Typemap.xs"
681 SvREFCNT_inc(cv)Perl_SvREFCNT_inc(((SV *)({ void *_p = (cv); _p; })));
682 RETVAL = cv;
683#line 684 "Typemap.c"
684 {
685 SV * RETVALSV;
686 RETVALSV = newRV_noinc((SV*)RETVAL)Perl_newRV_noinc( (SV*)RETVAL);
687 RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV);
688 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
689 }
690 }
691 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
692}
693
694
695XS_EUPXS(XS_XS__Typemap_T_SYSRET_pass)static void XS_XS__Typemap_T_SYSRET_pass( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
696XS_EUPXS(XS_XS__Typemap_T_SYSRET_pass)static void XS_XS__Typemap_T_SYSRET_pass( CV* cv __attribute__
((unused)))
697{
698 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
699 if (items != 0)
700 croak_xs_usagePerl_croak_xs_usage(cv, "");
701 {
702 SysRet RETVAL;
703#line 370 "Typemap.xs"
704 RETVAL = 0;
705#line 706 "Typemap.c"
706 {
707 SV * RETVALSV;
708 RETVALSV = sv_newmortal()Perl_sv_newmortal();
709 if (RETVAL != -1) {
710 if (RETVAL == 0)
711 sv_setpvn(RETVALSV, "0 but true", 10)Perl_sv_setpvn( RETVALSV,"0 but true",10);
712 else
713 sv_setiv(RETVALSV, (IV)RETVAL)Perl_sv_setiv( RETVALSV,(IV)RETVAL);
714 }
715 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
716 }
717 }
718 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
719}
720
721
722XS_EUPXS(XS_XS__Typemap_T_SYSRET_fail)static void XS_XS__Typemap_T_SYSRET_fail( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
723XS_EUPXS(XS_XS__Typemap_T_SYSRET_fail)static void XS_XS__Typemap_T_SYSRET_fail( CV* cv __attribute__
((unused)))
724{
725 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
726 if (items != 0)
727 croak_xs_usagePerl_croak_xs_usage(cv, "");
728 {
729 SysRet RETVAL;
730#line 379 "Typemap.xs"
731 RETVAL = -1;
732#line 733 "Typemap.c"
733 {
734 SV * RETVALSV;
735 RETVALSV = sv_newmortal()Perl_sv_newmortal();
736 if (RETVAL != -1) {
737 if (RETVAL == 0)
738 sv_setpvn(RETVALSV, "0 but true", 10)Perl_sv_setpvn( RETVALSV,"0 but true",10);
739 else
740 sv_setiv(RETVALSV, (IV)RETVAL)Perl_sv_setiv( RETVALSV,(IV)RETVAL);
741 }
742 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
743 }
744 }
745 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
746}
747
748
749XS_EUPXS(XS_XS__Typemap_T_UV)static void XS_XS__Typemap_T_UV( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
750XS_EUPXS(XS_XS__Typemap_T_UV)static void XS_XS__Typemap_T_UV( CV* cv __attribute__((unused
)))
751{
752 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
753 if (items != 1)
754 croak_xs_usagePerl_croak_xs_usage(cv, "uv");
755 {
756 unsigned int uv = (unsigned int)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000
|0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base
[ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags
( PL_stack_base[ax + (0)],2))
757;
758 unsigned int RETVAL;
759 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
760#line 389 "Typemap.xs"
761 RETVAL = uv;
762#line 763 "Typemap.c"
763 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
764 }
765 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
766}
767
768
769XS_EUPXS(XS_XS__Typemap_T_IV)static void XS_XS__Typemap_T_IV( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
770XS_EUPXS(XS_XS__Typemap_T_IV)static void XS_XS__Typemap_T_IV( CV* cv __attribute__((unused
)))
771{
772 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
773 if (items != 1)
774 croak_xs_usagePerl_croak_xs_usage(cv, "iv");
775 {
776 long iv = (long)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
777;
778 long RETVAL;
779 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
780#line 400 "Typemap.xs"
781 RETVAL = iv;
782#line 783 "Typemap.c"
783 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
784 }
785 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
786}
787
788
789XS_EUPXS(XS_XS__Typemap_T_INT)static void XS_XS__Typemap_T_INT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
790XS_EUPXS(XS_XS__Typemap_T_INT)static void XS_XS__Typemap_T_INT( CV* cv __attribute__((unused
)))
791{
792 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
793 if (items != 1)
794 croak_xs_usagePerl_croak_xs_usage(cv, "i");
795 {
796 intTINT i = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
797;
798 intTINT RETVAL;
799 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
800#line 411 "Typemap.xs"
801 RETVAL = i;
802#line 803 "Typemap.c"
803 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
804 }
805 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
806}
807
808
809XS_EUPXS(XS_XS__Typemap_T_ENUM)static void XS_XS__Typemap_T_ENUM( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
810XS_EUPXS(XS_XS__Typemap_T_ENUM)static void XS_XS__Typemap_T_ENUM( CV* cv __attribute__((unused
)))
811{
812 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
813 if (items != 0)
814 croak_xs_usagePerl_croak_xs_usage(cv, "");
815 {
816 svtype RETVAL;
817 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
818#line 425 "Typemap.xs"
819 RETVAL = SVt_PVHV;
820#line 821 "Typemap.c"
821 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
822 }
823 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
824}
825
826
827XS_EUPXS(XS_XS__Typemap_T_BOOL)static void XS_XS__Typemap_T_BOOL( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
828XS_EUPXS(XS_XS__Typemap_T_BOOL)static void XS_XS__Typemap_T_BOOL( CV* cv __attribute__((unused
)))
829{
830 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
831 if (items != 1)
832 croak_xs_usagePerl_croak_xs_usage(cv, "in");
833 {
834 bool_Bool in = (bool_Bool)SvTRUE(ST(0))Perl_SvTRUE( PL_stack_base[ax + (0)])
835;
836 bool_Bool RETVAL;
837#line 436 "Typemap.xs"
838 RETVAL = in;
839#line 840 "Typemap.c"
840 ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals
[2]))
;
841 }
842 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
843}
844
845
846XS_EUPXS(XS_XS__Typemap_T_BOOL_2)static void XS_XS__Typemap_T_BOOL_2( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
847XS_EUPXS(XS_XS__Typemap_T_BOOL_2)static void XS_XS__Typemap_T_BOOL_2( CV* cv __attribute__((unused
)))
848{
849 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
850 if (items != 1)
851 croak_xs_usagePerl_croak_xs_usage(cv, "in");
852 {
853 bool_Bool in = (bool_Bool)SvTRUE(ST(0))Perl_SvTRUE( PL_stack_base[ax + (0)])
854;
855 bool_Bool RETVAL;
856#line 444 "Typemap.xs"
857 PERL_UNUSED_VAR(RETVAL)((void)sizeof(RETVAL));
858#line 859 "Typemap.c"
859 sv_setsv(ST(0), boolSV(in))Perl_sv_setsv_flags( PL_stack_base[ax + (0)],((in) ? &(PL_sv_immortals
[0]) : &(PL_sv_immortals[2])),2|0)
;
860 SvSETMAGIC(ST(0))do { if (__builtin_expect(((((PL_stack_base[ax + (0)])->sv_flags
& 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set(
PL_stack_base[ax + (0)]); } while (0)
;
861 }
862 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
863}
864
865
866XS_EUPXS(XS_XS__Typemap_T_BOOL_OUT)static void XS_XS__Typemap_T_BOOL_OUT( CV* cv __attribute__((
unused)))
; /* prototype to pass -Wmissing-prototypes */
867XS_EUPXS(XS_XS__Typemap_T_BOOL_OUT)static void XS_XS__Typemap_T_BOOL_OUT( CV* cv __attribute__((
unused)))
868{
869 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
870 if (items != 2)
871 croak_xs_usagePerl_croak_xs_usage(cv, "out, in");
872 {
873 bool_Bool out = (bool_Bool)SvTRUE(ST(0))Perl_SvTRUE( PL_stack_base[ax + (0)])
874;
875 bool_Bool in = (bool_Bool)SvTRUE(ST(1))Perl_SvTRUE( PL_stack_base[ax + (1)])
876;
877#line 453 "Typemap.xs"
878 out = in;
879#line 880 "Typemap.c"
880 sv_setsv(ST(0), boolSV(out))Perl_sv_setsv_flags( PL_stack_base[ax + (0)],((out) ? &(PL_sv_immortals
[0]) : &(PL_sv_immortals[2])),2|0)
;
881 SvSETMAGIC(ST(0))do { if (__builtin_expect(((((PL_stack_base[ax + (0)])->sv_flags
& 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set(
PL_stack_base[ax + (0)]); } while (0)
;
882 }
883 XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0); } while (0)
;
884}
885
886
887XS_EUPXS(XS_XS__Typemap_T_U_INT)static void XS_XS__Typemap_T_U_INT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
888XS_EUPXS(XS_XS__Typemap_T_U_INT)static void XS_XS__Typemap_T_U_INT( CV* cv __attribute__((unused
)))
889{
890 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
891 if (items != 1)
892 croak_xs_usagePerl_croak_xs_usage(cv, "uint");
893 {
894 intUnsigned uint = (unsigned int)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000
|0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base
[ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags
( PL_stack_base[ax + (0)],2))
895;
896 intUnsigned RETVAL;
897 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
898#line 463 "Typemap.xs"
899 RETVAL = uint;
900#line 901 "Typemap.c"
901 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
902 }
903 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
904}
905
906
907XS_EUPXS(XS_XS__Typemap_T_SHORT)static void XS_XS__Typemap_T_SHORT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
908XS_EUPXS(XS_XS__Typemap_T_SHORT)static void XS_XS__Typemap_T_SHORT( CV* cv __attribute__((unused
)))
909{
910 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
911 if (items != 1)
912 croak_xs_usagePerl_croak_xs_usage(cv, "s");
913 {
914 short s = (short)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
915;
916 short RETVAL;
917 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
918#line 474 "Typemap.xs"
919 RETVAL = s;
920#line 921 "Typemap.c"
921 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
922 }
923 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
924}
925
926
927XS_EUPXS(XS_XS__Typemap_T_U_SHORT)static void XS_XS__Typemap_T_U_SHORT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
928XS_EUPXS(XS_XS__Typemap_T_U_SHORT)static void XS_XS__Typemap_T_U_SHORT( CV* cv __attribute__((unused
)))
929{
930 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
931 if (items != 1)
932 croak_xs_usagePerl_croak_xs_usage(cv, "in");
933 {
934 U16 in = (unsigned short)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000
|0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base
[ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags
( PL_stack_base[ax + (0)],2))
935;
936 U16 RETVAL;
937 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
938#line 485 "Typemap.xs"
939 RETVAL = in;
940#line 941 "Typemap.c"
941 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
942 }
943 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
944}
945
946
947XS_EUPXS(XS_XS__Typemap_T_LONG)static void XS_XS__Typemap_T_LONG( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
948XS_EUPXS(XS_XS__Typemap_T_LONG)static void XS_XS__Typemap_T_LONG( CV* cv __attribute__((unused
)))
949{
950 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
951 if (items != 1)
952 croak_xs_usagePerl_croak_xs_usage(cv, "in");
953 {
954 intTLONG in = (long)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
955;
956 intTLONG RETVAL;
957 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
958#line 496 "Typemap.xs"
959 RETVAL = in;
960#line 961 "Typemap.c"
961 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
962 }
963 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
964}
965
966
967XS_EUPXS(XS_XS__Typemap_T_U_LONG)static void XS_XS__Typemap_T_U_LONG( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
968XS_EUPXS(XS_XS__Typemap_T_U_LONG)static void XS_XS__Typemap_T_U_LONG( CV* cv __attribute__((unused
)))
969{
970 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
971 if (items != 1)
972 croak_xs_usagePerl_croak_xs_usage(cv, "in");
973 {
974 U32 in = (unsigned long)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000
|0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base
[ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags
( PL_stack_base[ax + (0)],2))
975;
976 U32 RETVAL;
977 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
978#line 506 "Typemap.xs"
979 RETVAL = in;
980#line 981 "Typemap.c"
981 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
982 }
983 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
984}
985
986
987XS_EUPXS(XS_XS__Typemap_T_CHAR)static void XS_XS__Typemap_T_CHAR( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
988XS_EUPXS(XS_XS__Typemap_T_CHAR)static void XS_XS__Typemap_T_CHAR( CV* cv __attribute__((unused
)))
989{
990 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
991 if (items != 1)
992 croak_xs_usagePerl_croak_xs_usage(cv, "in");
993 {
994 char in = (char)*SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
995;
996 char RETVAL;
997 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
998#line 517 "Typemap.xs"
999 RETVAL = in;
1000#line 1001 "Typemap.c"
1001 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((char *)&RETVAL, 1)do { Perl_sv_setpvn( targ,((char *)&RETVAL),(1)); do { do
{ if (__builtin_expect(((((targ)->sv_flags & 0x00400000
)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ); } while (
0); (*++sp = (targ)); } while (0); } while (0)
;
1002 }
1003 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1004}
1005
1006
1007XS_EUPXS(XS_XS__Typemap_T_U_CHAR)static void XS_XS__Typemap_T_U_CHAR( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1008XS_EUPXS(XS_XS__Typemap_T_U_CHAR)static void XS_XS__Typemap_T_U_CHAR( CV* cv __attribute__((unused
)))
1009{
1010 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1011 if (items != 1)
1012 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1013 {
1014 unsigned char in = (unsigned char)SvUV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x80000000
|0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base
[ax + (0)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags
( PL_stack_base[ax + (0)],2))
1015;
1016 unsigned char RETVAL;
1017 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1018#line 528 "Typemap.xs"
1019 RETVAL = in;
1020#line 1021 "Typemap.c"
1021 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHu((UV)RETVAL)do { do { UV TARGu_uv = (UV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1) & (TARGu_uv <= (
UV)((IV) ((~(UV)0) >> 1)))) ? (_Bool)1 : (_Bool)0),(1))
) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000)
; targ->sv_u.svu_iv = TARGu_uv; } else Perl_sv_setuv_mg( targ
,TARGu_uv); } while (0); (*++sp = (targ)); } while (0)
;
1022 }
1023 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1024}
1025
1026
1027XS_EUPXS(XS_XS__Typemap_T_FLOAT)static void XS_XS__Typemap_T_FLOAT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1028XS_EUPXS(XS_XS__Typemap_T_FLOAT)static void XS_XS__Typemap_T_FLOAT( CV* cv __attribute__((unused
)))
1029{
1030 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1031 if (items != 1)
1032 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1033 {
1034 float in = (float)SvNV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000200|0x00200000
)) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (0)])->sv_any
)->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (0
)],2))
1035;
1036 float RETVAL;
1037 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1038#line 539 "Typemap.xs"
1039 RETVAL = in;
1040#line 1041 "Typemap.c"
1041 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHn((double)RETVAL)do { do { NV TARGn_nv = (double)RETVAL; if (__builtin_expect(
(((((targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000))) == SVt_NV) & (1 ? !
(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)0),(0))
) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0),(1))) {
((void)0); (targ)->sv_flags |= (0x00000200|0x00002000); do
{ ((void)0); ((void)0); (((XPVNV*)(targ)->sv_any)->xnv_u
.xnv_nv = (TARGn_nv)); } while (0); } else Perl_sv_setnv_mg( targ
,TARGn_nv); } while (0); (*++sp = (targ)); } while (0)
;
1042 }
1043 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1044}
1045
1046
1047XS_EUPXS(XS_XS__Typemap_T_NV)static void XS_XS__Typemap_T_NV( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1048XS_EUPXS(XS_XS__Typemap_T_NV)static void XS_XS__Typemap_T_NV( CV* cv __attribute__((unused
)))
1049{
1050 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1051 if (items != 1)
1052 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1053 {
1054 NV in = (NV)SvNV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000200|0x00200000
)) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (0)])->sv_any
)->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (0
)],2))
1055;
1056 NV RETVAL;
1057 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1058#line 550 "Typemap.xs"
1059 RETVAL = in;
1060#line 1061 "Typemap.c"
1061 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHn((NV)RETVAL)do { do { NV TARGn_nv = (NV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000))) == SVt_NV) & (1 ? !
(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)0),(0))
) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0),(1))) {
((void)0); (targ)->sv_flags |= (0x00000200|0x00002000); do
{ ((void)0); ((void)0); (((XPVNV*)(targ)->sv_any)->xnv_u
.xnv_nv = (TARGn_nv)); } while (0); } else Perl_sv_setnv_mg( targ
,TARGn_nv); } while (0); (*++sp = (targ)); } while (0)
;
1062 }
1063 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1064}
1065
1066
1067XS_EUPXS(XS_XS__Typemap_T_DOUBLE)static void XS_XS__Typemap_T_DOUBLE( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1068XS_EUPXS(XS_XS__Typemap_T_DOUBLE)static void XS_XS__Typemap_T_DOUBLE( CV* cv __attribute__((unused
)))
1069{
1070 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1071 if (items != 1)
1072 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1073 {
1074 double in = (double)SvNV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000200|0x00200000
)) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (0)])->sv_any
)->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (0
)],2))
1075;
1076 double RETVAL;
1077 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1078#line 561 "Typemap.xs"
1079 RETVAL = in;
1080#line 1081 "Typemap.c"
1081 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHn((double)RETVAL)do { do { NV TARGn_nv = (double)RETVAL; if (__builtin_expect(
(((((targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000))) == SVt_NV) & (1 ? !
(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)0),(0))
) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0),(1))) {
((void)0); (targ)->sv_flags |= (0x00000200|0x00002000); do
{ ((void)0); ((void)0); (((XPVNV*)(targ)->sv_any)->xnv_u
.xnv_nv = (TARGn_nv)); } while (0); } else Perl_sv_setnv_mg( targ
,TARGn_nv); } while (0); (*++sp = (targ)); } while (0)
;
1082 }
1083 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1084}
1085
1086
1087XS_EUPXS(XS_XS__Typemap_T_PV)static void XS_XS__Typemap_T_PV( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1088XS_EUPXS(XS_XS__Typemap_T_PV)static void XS_XS__Typemap_T_PV( CV* cv __attribute__((unused
)))
1089{
1090 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1091 if (items != 1)
1092 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1093 {
1094 char * in = (char *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
1095;
1096 char * RETVAL;
1097 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1098#line 572 "Typemap.xs"
1099 RETVAL = in;
1100#line 1101 "Typemap.c"
1101 sv_setpv(TARG, RETVAL)Perl_sv_setpv( targ,RETVAL); XSprePUSH(sp = PL_stack_base + ax - 1); PUSHTARGdo { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000
)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ); } while (
0); (*++sp = (targ)); } while (0)
;
1102 }
1103 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1104}
1105
1106
1107XS_EUPXS(XS_XS__Typemap_T_PV_null)static void XS_XS__Typemap_T_PV_null( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1108XS_EUPXS(XS_XS__Typemap_T_PV_null)static void XS_XS__Typemap_T_PV_null( CV* cv __attribute__((unused
)))
1109{
1110 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1111 if (items != 0)
1112 croak_xs_usagePerl_croak_xs_usage(cv, "");
1113 {
1114 char * RETVAL;
1115 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1116#line 579 "Typemap.xs"
1117 RETVAL = NULL((void*)0);
1118#line 1119 "Typemap.c"
1119 sv_setpv(TARG, RETVAL)Perl_sv_setpv( targ,RETVAL); XSprePUSH(sp = PL_stack_base + ax - 1); PUSHTARGdo { do { if (__builtin_expect(((((targ)->sv_flags & 0x00400000
)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ); } while (
0); (*++sp = (targ)); } while (0)
;
1120 }
1121 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1122}
1123
1124
1125XS_EUPXS(XS_XS__Typemap_T_PTR_OUT)static void XS_XS__Typemap_T_PTR_OUT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1126XS_EUPXS(XS_XS__Typemap_T_PTR_OUT)static void XS_XS__Typemap_T_PTR_OUT( CV* cv __attribute__((unused
)))
1127{
1128 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1129 if (items != 1)
1130 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1131 {
1132 int in = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1133;
1134 void * RETVAL;
1135 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1136#line 593 "Typemap.xs"
1137 xst_anint = in;
1138 RETVAL = &xst_anint;
1139#line 1140 "Typemap.c"
1140 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi(PTR2IV(RETVAL))do { do { IV TARGi_iv = (IV)(RETVAL); if (__builtin_expect(((
(((targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1141 }
1142 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1143}
1144
1145
1146XS_EUPXS(XS_XS__Typemap_T_PTR_IN)static void XS_XS__Typemap_T_PTR_IN( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1147XS_EUPXS(XS_XS__Typemap_T_PTR_IN)static void XS_XS__Typemap_T_PTR_IN( CV* cv __attribute__((unused
)))
1148{
1149 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1150 if (items != 1)
1151 croak_xs_usagePerl_croak_xs_usage(cv, "ptr");
1152 {
1153 void * ptr = INT2PTR(void *,SvIV(ST(0)))(void *)(((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100
|0x00200000)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (
0)])->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base
[ax + (0)],2)))
1154;
1155 int RETVAL;
1156 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1157#line 604 "Typemap.xs"
1158 RETVAL = *(int *)ptr;
1159#line 1160 "Typemap.c"
1160 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1161 }
1162 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1163}
1164
1165
1166XS_EUPXS(XS_XS__Typemap_T_PTRREF_OUT)static void XS_XS__Typemap_T_PTRREF_OUT( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1167XS_EUPXS(XS_XS__Typemap_T_PTRREF_OUT)static void XS_XS__Typemap_T_PTRREF_OUT( CV* cv __attribute__
((unused)))
1168{
1169 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1170 if (items != 1)
1171 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1172 {
1173 intRef in = (intRef)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1174;
1175 intRef * RETVAL;
1176#line 619 "Typemap.xs"
1177 xst_anintref = in;
1178 RETVAL = &xst_anintref;
1179#line 1180 "Typemap.c"
1180 {
1181 SV * RETVALSV;
1182 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1183 sv_setref_pv(RETVALSV, Nullch, (void*)RETVAL)Perl_sv_setref_pv( RETVALSV,((char*)((void*)0)),(void*)RETVAL
)
;
1184 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1185 }
1186 }
1187 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1188}
1189
1190
1191XS_EUPXS(XS_XS__Typemap_T_PTRREF_IN)static void XS_XS__Typemap_T_PTRREF_IN( CV* cv __attribute__(
(unused)))
; /* prototype to pass -Wmissing-prototypes */
1192XS_EUPXS(XS_XS__Typemap_T_PTRREF_IN)static void XS_XS__Typemap_T_PTRREF_IN( CV* cv __attribute__(
(unused)))
1193{
1194 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1195 if (items != 1)
1196 croak_xs_usagePerl_croak_xs_usage(cv, "ptr");
1197 {
1198 intRef * ptr;
1199 intRef RETVAL;
1200 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1201
1202 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) {
1203 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1204 ptr = INT2PTR(intRef *,tmp)(intRef *)(tmp);
1205 }
1206 else
1207 Perl_croak_nocontextPerl_croak("%s: %s is not a reference",
1208 "XS::Typemap::T_PTRREF_IN",
1209 "ptr")
1210;
1211#line 630 "Typemap.xs"
1212 RETVAL = *ptr;
1213#line 1214 "Typemap.c"
1214 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1215 }
1216 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1217}
1218
1219
1220XS_EUPXS(XS_XS__Typemap_T_PTROBJ_OUT)static void XS_XS__Typemap_T_PTROBJ_OUT( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1221XS_EUPXS(XS_XS__Typemap_T_PTROBJ_OUT)static void XS_XS__Typemap_T_PTROBJ_OUT( CV* cv __attribute__
((unused)))
1222{
1223 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1224 if (items != 1)
1225 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1226 {
1227 intObj in = (intObj)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1228;
1229 intObj * RETVAL;
1230#line 645 "Typemap.xs"
1231 xst_anintobj = in;
1232 RETVAL = &xst_anintobj;
1233#line 1234 "Typemap.c"
1234 {
1235 SV * RETVALSV;
1236 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1237 sv_setref_pv(RETVALSV, "intObjPtr", (void*)RETVAL)Perl_sv_setref_pv( RETVALSV,"intObjPtr",(void*)RETVAL);
1238 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1239 }
1240 }
1241 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1242}
1243
1244
1245XS_EUPXS(XS_intObjPtr_T_PTROBJ_IN)static void XS_intObjPtr_T_PTROBJ_IN( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1246XS_EUPXS(XS_intObjPtr_T_PTROBJ_IN)static void XS_intObjPtr_T_PTROBJ_IN( CV* cv __attribute__((unused
)))
1247{
1248 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1249 if (items != 1)
1250 croak_xs_usagePerl_croak_xs_usage(cv, "ptr");
1251 {
1252 intObj * ptr;
1253 intObj RETVAL;
1254 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1255
1256 if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "intObjPtr")Perl_sv_derived_from( PL_stack_base[ax + (0)],"intObjPtr")) {
1257 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1258 ptr = INT2PTR(intObj *,tmp)(intObj *)(tmp);
1259 }
1260 else
1261 Perl_croak_nocontextPerl_croak("%s: %s is not of type %s",
1262 "intObjPtr::T_PTROBJ_IN",
1263 "ptr", "intObjPtr")
1264;
1265#line 658 "Typemap.xs"
1266 RETVAL = *ptr;
1267#line 1268 "Typemap.c"
1268 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1269 }
1270 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1271}
1272
1273
1274XS_EUPXS(XS_XS__Typemap_T_REF_IV_PTR_OUT)static void XS_XS__Typemap_T_REF_IV_PTR_OUT( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1275XS_EUPXS(XS_XS__Typemap_T_REF_IV_PTR_OUT)static void XS_XS__Typemap_T_REF_IV_PTR_OUT( CV* cv __attribute__
((unused)))
1276{
1277 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1278 if (items != 1)
1279 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1280 {
1281 intRefIv in = (intRefIv)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1282;
1283 intRefIv * RETVAL;
1284#line 679 "Typemap.xs"
1285 xst_anintrefiv = in;
1286 RETVAL = &xst_anintrefiv;
1287#line 1288 "Typemap.c"
1288 {
1289 SV * RETVALSV;
1290 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1291 sv_setref_pv(RETVALSV, "intRefIvPtr", (void*)RETVAL)Perl_sv_setref_pv( RETVALSV,"intRefIvPtr",(void*)RETVAL);
1292 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1293 }
1294 }
1295 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1296}
1297
1298
1299XS_EUPXS(XS_intRefIvPtr_T_REF_IV_PTR_IN)static void XS_intRefIvPtr_T_REF_IV_PTR_IN( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1300XS_EUPXS(XS_intRefIvPtr_T_REF_IV_PTR_IN)static void XS_intRefIvPtr_T_REF_IV_PTR_IN( CV* cv __attribute__
((unused)))
1301{
1302 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1303 if (items != 1)
1304 croak_xs_usagePerl_croak_xs_usage(cv, "ptr");
1305 {
1306 intRefIv * ptr;
1307 intRefIv RETVAL;
1308 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1309
1310 if (sv_isa(ST(0), "intRefIvPtr")Perl_sv_isa( PL_stack_base[ax + (0)],"intRefIvPtr")) {
1311 IV tmp = SvIV((SV*)SvRV(ST(0)))(((((SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_flags
& (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) ((
SV*)((PL_stack_base[ax + (0)])->sv_u.svu_rv))->sv_any)->
xiv_u.xivu_iv : Perl_sv_2iv_flags( (SV*)((PL_stack_base[ax + (
0)])->sv_u.svu_rv),2))
;
1312 ptr = INT2PTR(intRefIv *, tmp)(intRefIv *)(tmp);
1313 }
1314 else
1315 Perl_croak_nocontextPerl_croak("%s: %s is not of type %s",
1316 "intRefIvPtr::T_REF_IV_PTR_IN",
1317 "ptr", "intRefIvPtr")
1318;
1319#line 692 "Typemap.xs"
1320 RETVAL = *ptr;
1321#line 1322 "Typemap.c"
1322 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1323 }
1324 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1325}
1326
1327
1328XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_IN)static void XS_XS__Typemap_T_OPAQUEPTR_IN( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1329XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_IN)static void XS_XS__Typemap_T_OPAQUEPTR_IN( CV* cv __attribute__
((unused)))
1330{
1331 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1332 if (items != 1)
1333 croak_xs_usagePerl_croak_xs_usage(cv, "val");
1334 {
1335 intOpq val = (intOpq)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1336;
1337 intOpq * RETVAL;
1338 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1339#line 717 "Typemap.xs"
1340 xst_anintopq = val;
1341 RETVAL = &xst_anintopq;
1342#line 1343 "Typemap.c"
1343 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((char *)RETVAL, sizeof(*RETVAL))do { Perl_sv_setpvn( targ,((char *)RETVAL),(sizeof(*RETVAL)))
; do { do { if (__builtin_expect(((((targ)->sv_flags &
0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ)
; } while (0); (*++sp = (targ)); } while (0); } while (0)
;
1344 }
1345 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1346}
1347
1348
1349XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT)static void XS_XS__Typemap_T_OPAQUEPTR_OUT( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1350XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT)static void XS_XS__Typemap_T_OPAQUEPTR_OUT( CV* cv __attribute__
((unused)))
1351{
1352 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1353 if (items != 1)
1354 croak_xs_usagePerl_croak_xs_usage(cv, "ptr");
1355 {
1356 intOpq * ptr = (intOpq *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
1357;
1358 intOpq RETVAL;
1359 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1360#line 726 "Typemap.xs"
1361 RETVAL = *ptr;
1362#line 1363 "Typemap.c"
1363 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1364 }
1365 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1366}
1367
1368
1369XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT_short)static void XS_XS__Typemap_T_OPAQUEPTR_OUT_short( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1370XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT_short)static void XS_XS__Typemap_T_OPAQUEPTR_OUT_short( CV* cv __attribute__
((unused)))
1371{
1372 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1373 if (items != 1)
1374 croak_xs_usagePerl_croak_xs_usage(cv, "ptr");
1375 {
1376 shortOPQ * ptr = (shortOPQ *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
1377;
1378 short RETVAL;
1379 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1380#line 734 "Typemap.xs"
1381 RETVAL = *ptr;
1382#line 1383 "Typemap.c"
1383 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1384 }
1385 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1386}
1387
1388
1389XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_IN_struct)static void XS_XS__Typemap_T_OPAQUEPTR_IN_struct( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1390XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_IN_struct)static void XS_XS__Typemap_T_OPAQUEPTR_IN_struct( CV* cv __attribute__
((unused)))
1391{
1392 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1393 if (items != 3)
1394 croak_xs_usagePerl_croak_xs_usage(cv, "a, b, c");
1395 {
1396 int a = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1397;
1398 int b = (int)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
1)],2))
1399;
1400 double c = (double)SvNV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000200|0x00200000
)) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (2)])->sv_any
)->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (2
)],2))
1401;
1402#line 745 "Typemap.xs"
1403 struct t_opaqueptr test;
1404#line 1405 "Typemap.c"
1405 astruct * RETVAL;
1406 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1407#line 747 "Typemap.xs"
1408 test.a = a;
1409 test.b = b;
1410 test.c = c;
1411 RETVAL = &test;
1412#line 1413 "Typemap.c"
1413 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((char *)RETVAL, sizeof(*RETVAL))do { Perl_sv_setpvn( targ,((char *)RETVAL),(sizeof(*RETVAL)))
; do { do { if (__builtin_expect(((((targ)->sv_flags &
0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ)
; } while (0); (*++sp = (targ)); } while (0); } while (0)
;
1414 }
1415 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1416}
1417
1418
1419XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT_struct)static void XS_XS__Typemap_T_OPAQUEPTR_OUT_struct( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1420XS_EUPXS(XS_XS__Typemap_T_OPAQUEPTR_OUT_struct)static void XS_XS__Typemap_T_OPAQUEPTR_OUT_struct( CV* cv __attribute__
((unused)))
1421{
1422 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1423 if (items != 1)
1424 croak_xs_usagePerl_croak_xs_usage(cv, "test");
1425 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1426 SPsp -= items;
1427 {
1428 astruct * test = (astruct *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
1429;
1430#line 758 "Typemap.xs"
1431 XPUSHs(sv_2mortal(newSViv(test->a)))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (Perl_sv_2mortal( Perl_newSViv( test->a))); } while
(0)
;
1432 XPUSHs(sv_2mortal(newSViv(test->b)))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (Perl_sv_2mortal( Perl_newSViv( test->b))); } while
(0)
;
1433 XPUSHs(sv_2mortal(newSVnv(test->c)))do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); *
++sp = (Perl_sv_2mortal( Perl_newSVnv( test->c))); } while
(0)
;
1434#line 1435 "Typemap.c"
1435 PUTBACKPL_stack_sp = sp;
1436 return;
1437 }
1438}
1439
1440
1441XS_EUPXS(XS_XS__Typemap_T_OPAQUE_IN)static void XS_XS__Typemap_T_OPAQUE_IN( CV* cv __attribute__(
(unused)))
; /* prototype to pass -Wmissing-prototypes */
1442XS_EUPXS(XS_XS__Typemap_T_OPAQUE_IN)static void XS_XS__Typemap_T_OPAQUE_IN( CV* cv __attribute__(
(unused)))
1443{
1444 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1445 if (items != 1)
1446 croak_xs_usagePerl_croak_xs_usage(cv, "val");
1447 {
1448 int val = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1449;
1450 shortOPQ RETVAL;
1451 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1452#line 769 "Typemap.xs"
1453 RETVAL = (shortOPQ)val;
1454#line 1455 "Typemap.c"
1455 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((char *)&RETVAL, sizeof(RETVAL))do { Perl_sv_setpvn( targ,((char *)&RETVAL),(sizeof(RETVAL
))); do { do { if (__builtin_expect(((((targ)->sv_flags &
0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( targ)
; } while (0); (*++sp = (targ)); } while (0); } while (0)
;
1456 }
1457 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1458}
1459
1460
1461XS_EUPXS(XS_XS__Typemap_T_OPAQUE_OUT)static void XS_XS__Typemap_T_OPAQUE_OUT( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1462XS_EUPXS(XS_XS__Typemap_T_OPAQUE_OUT)static void XS_XS__Typemap_T_OPAQUE_OUT( CV* cv __attribute__
((unused)))
1463{
1464 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1465 if (items != 1)
1466 croak_xs_usagePerl_croak_xs_usage(cv, "val");
1467 {
1468 shortOPQ val = *(shortOPQ *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
1469;
1470 IV RETVAL;
1471 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1472#line 777 "Typemap.xs"
1473 RETVAL = (IV)val;
1474#line 1475 "Typemap.c"
1475 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1476 }
1477 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1478}
1479
1480
1481XS_EUPXS(XS_XS__Typemap_T_OPAQUE_array)static void XS_XS__Typemap_T_OPAQUE_array( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1482XS_EUPXS(XS_XS__Typemap_T_OPAQUE_array)static void XS_XS__Typemap_T_OPAQUE_array( CV* cv __attribute__
((unused)))
1483{
1484 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1485 if (items != 3)
1486 croak_xs_usagePerl_croak_xs_usage(cv, "a, b, c");
1487 {
1488 int a = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1489;
1490 int b = (int)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
1)],2))
1491;
1492 int c = (int)SvIV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (2)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
2)],2))
1493;
1494#line 787 "Typemap.xs"
1495 int array[3];
1496#line 1497 "Typemap.c"
1497 int * RETVAL;
1498#line 789 "Typemap.xs"
1499 array[0] = a;
1500 array[1] = b;
1501 array[2] = c;
1502 RETVAL = array;
1503#line 1504 "Typemap.c"
1504 ST(0)PL_stack_base[ax + (0)] = sv_newmortal()Perl_sv_newmortal();
1505 sv_setpvn(ST(0), (char *)RETVAL, 3 * sizeof(int))Perl_sv_setpvn( PL_stack_base[ax + (0)],(char *)RETVAL,3 * sizeof
(int))
;
1506 }
1507 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1508}
1509
1510
1511XS_EUPXS(XS_XS__Typemap_T_PACKED_in)static void XS_XS__Typemap_T_PACKED_in( CV* cv __attribute__(
(unused)))
; /* prototype to pass -Wmissing-prototypes */
1512XS_EUPXS(XS_XS__Typemap_T_PACKED_in)static void XS_XS__Typemap_T_PACKED_in( CV* cv __attribute__(
(unused)))
1513{
1514 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1515 if (items != 1)
1516 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1517 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1518 SPsp -= items;
1519 {
1520 anotherstruct * in = XS_unpack_anotherstructPtr(ST(0)PL_stack_base[ax + (0)])
1521;
1522#line 803 "Typemap.xs"
1523 mXPUSHi(in->a)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setiv
( (*++sp = (Perl_sv_newmortal())),(IV)(in->a)); } while (0
)
;
1524 mXPUSHi(in->b)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setiv
( (*++sp = (Perl_sv_newmortal())),(IV)(in->b)); } while (0
)
;
1525 mXPUSHn(in->c)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setnv
( (*++sp = (Perl_sv_newmortal())),(NV)(in->c)); } while (0
)
;
1526 Safefree(in)Perl_safesysfree(((void *)(in)));
1527 XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1528#line 1529 "Typemap.c"
1529 PUTBACKPL_stack_sp = sp;
1530 return;
1531 }
1532}
1533
1534
1535XS_EUPXS(XS_XS__Typemap_T_PACKED_out)static void XS_XS__Typemap_T_PACKED_out( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1536XS_EUPXS(XS_XS__Typemap_T_PACKED_out)static void XS_XS__Typemap_T_PACKED_out( CV* cv __attribute__
((unused)))
1537{
1538 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1539 if (items != 3)
1540 croak_xs_usagePerl_croak_xs_usage(cv, "a, b, c");
1541 {
1542 int a = (int)SvIV(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (0)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
0)],2))
1543;
1544 int b = (int)SvIV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x00200000
)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (1)])->sv_any
)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + (
1)],2))
1545;
1546 double c = (double)SvNV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000200|0x00200000
)) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (2)])->sv_any
)->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base[ax + (2
)],2))
1547;
1548 anotherstruct * RETVAL;
1549#line 815 "Typemap.xs"
1550 Newxz(RETVAL, 1, anotherstruct)(RETVAL = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof
(1) || sizeof(anotherstruct) > ((size_t)1 << 8*(sizeof
(size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(anotherstruct
)) > ((size_t)-1)/sizeof(anotherstruct))) ? (_Bool)1 : (_Bool
)0),(0)) && (Perl_croak_memory_wrap(),0)), (anotherstruct
*)(Perl_safesyscalloc((1),sizeof(anotherstruct)))))
;
1551 RETVAL->a = a;
1552 RETVAL->b = b;
1553 RETVAL->c = c;
1554#line 1555 "Typemap.c"
1555 {
1556 SV * RETVALSV;
1557 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1558 XS_pack_anotherstructPtr(RETVALSV, RETVAL);
1559 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1560 }
1561#line 821 "Typemap.xs"
1562 Safefree(RETVAL)Perl_safesysfree(((void *)(RETVAL)));
1563#line 1564 "Typemap.c"
1564 }
1565 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1566}
1567
1568
1569XS_EUPXS(XS_XS__Typemap_T_PACKEDARRAY_in)static void XS_XS__Typemap_T_PACKEDARRAY_in( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1570XS_EUPXS(XS_XS__Typemap_T_PACKEDARRAY_in)static void XS_XS__Typemap_T_PACKEDARRAY_in( CV* cv __attribute__
((unused)))
1571{
1572 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1573 if (items != 1)
1574 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1575 PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */
1576 SPsp -= items;
1577 {
1578 anotherstruct ** in = XS_unpack_anotherstructPtrPtr(ST(0)PL_stack_base[ax + (0)])
1579;
1580#line 829 "Typemap.xs"
1581 unsigned int i = 0;
1582#line 1583 "Typemap.c"
1583#line 831 "Typemap.xs"
1584 while (in[i] != NULL((void*)0)) {
1585 mXPUSHi(in[i]->a)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setiv
( (*++sp = (Perl_sv_newmortal())),(IV)(in[i]->a)); } while
(0)
;
1586 mXPUSHi(in[i]->b)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setiv
( (*++sp = (Perl_sv_newmortal())),(IV)(in[i]->b)); } while
(0)
;
1587 mXPUSHn(in[i]->c)do { do { (void)0; if (__builtin_expect(((((1) < 0 || PL_stack_max
- (sp) < (1))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow
( sp,sp,(sizeof(1) > sizeof(ssize_t) && ((ssize_t)
(1) != (1)) ? -1 : (1))); ((void)sizeof(sp)); } } while (0); Perl_sv_setnv
( (*++sp = (Perl_sv_newmortal())),(NV)(in[i]->c)); } while
(0)
;
1588 ++i;
1589 }
1590 XS_release_anotherstructPtrPtr(in);
1591 XSRETURN(3*i)do { const IV tmpXSoff = (3*i); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1592#line 1593 "Typemap.c"
1593 PUTBACKPL_stack_sp = sp;
1594 return;
1595 }
1596}
1597
1598
1599XS_EUPXS(XS_XS__Typemap_T_PACKEDARRAY_out)static void XS_XS__Typemap_T_PACKEDARRAY_out( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1600XS_EUPXS(XS_XS__Typemap_T_PACKEDARRAY_out)static void XS_XS__Typemap_T_PACKEDARRAY_out( CV* cv __attribute__
((unused)))
1601{
1602 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1603 PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */
1604 PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */
1605 {
1606#line 843 "Typemap.xs"
1607 unsigned int i, nstructs, count_anotherstructPtrPtr;
1608#line 1609 "Typemap.c"
1609 anotherstruct ** RETVAL;
1610#line 845 "Typemap.xs"
1611 if ((items % 3) != 0)
1612 croakPerl_croak("Need nitems divisible by 3");
1613 nstructs = (unsigned int)(items / 3);
1614 count_anotherstructPtrPtr = nstructs;
1615 Newxz(RETVAL, nstructs+1, anotherstruct *)(RETVAL = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof
(nstructs+1) || sizeof(anotherstruct *) > ((size_t)1 <<
8*(sizeof(size_t) - sizeof(nstructs+1)))) ? (size_t)(nstructs
+1) : ((size_t)-1)/sizeof(anotherstruct *)) > ((size_t)-1)
/sizeof(anotherstruct *))) ? (_Bool)1 : (_Bool)0),(0)) &&
(Perl_croak_memory_wrap(),0)), (anotherstruct **)(Perl_safesyscalloc
((nstructs+1),sizeof(anotherstruct *)))))
;
1616 for (i = 0; i < nstructs; ++i) {
1617 Newxz(RETVAL[i], 1, anotherstruct)(RETVAL[i] = ((void)(__builtin_expect(((((( sizeof(size_t) <
sizeof(1) || sizeof(anotherstruct) > ((size_t)1 << 8
*(sizeof(size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/
sizeof(anotherstruct)) > ((size_t)-1)/sizeof(anotherstruct
))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap
(),0)), (anotherstruct*)(Perl_safesyscalloc((1),sizeof(anotherstruct
)))))
;
1618 RETVAL[i]->a = SvIV(ST(3*i))((((PL_stack_base[ax + (3*i)])->sv_flags & (0x00000100
|0x00200000)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (
3*i)])->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base
[ax + (3*i)],2))
;
1619 RETVAL[i]->b = SvIV(ST(3*i+1))((((PL_stack_base[ax + (3*i+1)])->sv_flags & (0x00000100
|0x00200000)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (
3*i+1)])->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base
[ax + (3*i+1)],2))
;
1620 RETVAL[i]->c = SvNV(ST(3*i+2))((((PL_stack_base[ax + (3*i+2)])->sv_flags & (0x00000200
|0x00200000)) == 0x00000200) ? ((XPVNV*) (PL_stack_base[ax + (
3*i+2)])->sv_any)->xnv_u.xnv_nv : Perl_sv_2nv_flags( PL_stack_base
[ax + (3*i+2)],2))
;
1621 }
1622#line 1623 "Typemap.c"
1623 {
1624 SV * RETVALSV;
1625 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1626 XS_pack_anotherstructPtrPtr(RETVALSV, RETVAL, count_anotherstructPtrPtr);
1627 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1628 }
1629#line 858 "Typemap.xs"
1630 XS_release_anotherstructPtrPtr(RETVAL);
1631#line 1632 "Typemap.c"
1632 }
1633 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1634}
1635
1636
1637XS_EUPXS(XS_XS__Typemap_T_ARRAY)static void XS_XS__Typemap_T_ARRAY( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1638XS_EUPXS(XS_XS__Typemap_T_ARRAY)static void XS_XS__Typemap_T_ARRAY( CV* cv __attribute__((unused
)))
1639{
1640 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1641 if (items < 2)
1642 croak_xs_usagePerl_croak_xs_usage(cv, "dummy, array, ...");
1643 {
1644 int dummy = 0;
1645 intArray * array;
1646#line 888 "Typemap.xs"
1647 U32 size_RETVAL;
1648#line 1649 "Typemap.c"
1649 intArray * RETVAL;
1650
1651 U32 ix_array = 1;
1652 array = intArrayPtr(items -= 1);
1653 while (items--) {
1654 array[ix_array - 1] = (int)SvIV(ST(ix_array))((((PL_stack_base[ax + (ix_array)])->sv_flags & (0x00000100
|0x00200000)) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (
ix_array)])->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags
( PL_stack_base[ax + (ix_array)],2))
1655;
1656 ix_array++;
1657 }
1658 /* this is the number of elements in the array */
1659 ix_array -= 1
1660;
1661#line 890 "Typemap.xs"
1662 dummy += 0; /* Fix -Wall */
Value stored to 'dummy' is never read
1663 size_RETVAL = ix_array;
1664 RETVAL = array;
1665#line 1666 "Typemap.c"
1666 {
1667 U32 ix_RETVAL;
1668 SSize_tssize_t extend_size =
1669 /* The weird way this is written is because g++ is dumb
1670 * enough to warn "comparison is always false" on something
1671 * like:
1672 *
1673 * sizeof(a) > sizeof(b) && a > B_t_MAX
1674 *
1675 * (where the LH condition is false)
1676 */
1677 (size_RETVAL > (sizeof(size_RETVAL) > sizeof(SSize_tssize_t)
1678 ? SSize_t_MAX(ssize_t)(~(size_t)0 >> 1) : size_RETVAL))
1679 ? -1 : (SSize_tssize_t)size_RETVAL;
1680 EXTEND(SP, extend_size)do { (void)0; if (__builtin_expect(((((extend_size) < 0 ||
PL_stack_max - (sp) < (extend_size))) ? (_Bool)1 : (_Bool
)0),(0))) { sp = Perl_stack_grow( sp,sp,(sizeof(extend_size) >
sizeof(ssize_t) && ((ssize_t)(extend_size) != (extend_size
)) ? -1 : (extend_size))); ((void)sizeof(sp)); } } while (0)
;
1681 for (ix_RETVAL = 0; ix_RETVAL < size_RETVAL; ix_RETVAL++) {
1682 ST(ix_RETVAL)PL_stack_base[ax + (ix_RETVAL)] = sv_newmortal()Perl_sv_newmortal();
1683 sv_setiv(ST(ix_RETVAL), (IV)RETVAL[ix_RETVAL])Perl_sv_setiv( PL_stack_base[ax + (ix_RETVAL)],(IV)RETVAL[ix_RETVAL
])
;
1684 }
1685 }
1686#line 896 "Typemap.xs"
1687 Safefree(array)Perl_safesysfree(((void *)(array)));
1688 XSRETURN(size_RETVAL)do { const IV tmpXSoff = (size_RETVAL); ((void)0); PL_stack_sp
= PL_stack_base + ax + (tmpXSoff - 1); return; } while (0)
;
1689#line 1690 "Typemap.c"
1690 }
1691 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1692}
1693
1694
1695XS_EUPXS(XS_XS__Typemap_T_STDIO_open)static void XS_XS__Typemap_T_STDIO_open( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1696XS_EUPXS(XS_XS__Typemap_T_STDIO_open)static void XS_XS__Typemap_T_STDIO_open( CV* cv __attribute__
((unused)))
1697{
1698 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1699 if (items != 1)
1700 croak_xs_usagePerl_croak_xs_usage(cv, "file");
1701 {
1702 const char * file = (const char *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
1703;
1704 FILE * RETVAL;
1705#line 906 "Typemap.xs"
1706 RETVAL = xsfopen( file );
1707#line 1708 "Typemap.c"
1708 {
1709 SV * RETVALSV;
1710 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1711 {
1712 GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal();
1713 PerlIOPerlIO *fp = PerlIO_importFILE(RETVAL,0);
1714 gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""),
(sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0)
;
1715 if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp)Perl_do_openn( gv,"+<&",3,(0),0,0,fp,(SV **) ((void*)0
),0)
) {
1716 SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv);
1717 rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash
))
;
1718 RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv);
1719 }
1720 }
1721 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1722 }
1723 }
1724 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1725}
1726
1727
1728XS_EUPXS(XS_XS__Typemap_T_STDIO_open_ret_in_arg)static void XS_XS__Typemap_T_STDIO_open_ret_in_arg( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1729XS_EUPXS(XS_XS__Typemap_T_STDIO_open_ret_in_arg)static void XS_XS__Typemap_T_STDIO_open_ret_in_arg( CV* cv __attribute__
((unused)))
1730{
1731 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1732 if (items != 2)
1733 croak_xs_usagePerl_croak_xs_usage(cv, "file, io");
1734 {
1735 const char * file = (const char *)SvPV_nolen(ST(0))((((PL_stack_base[ax + (0)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (0)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (0)],0,2))
1736;
1737 FILE * io;
1738#line 915 "Typemap.xs"
1739 io = xsfopen( file );
1740#line 1741 "Typemap.c"
1741 {
1742 GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal();
1743 PerlIOPerlIO *fp = PerlIO_importFILE(io,0);
1744 gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""),
(sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0)
;
1745 if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp)Perl_do_openn( gv,"+<&",3,(0),0,0,fp,(SV **) ((void*)0
),0)
) {
1746 SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv);
1747 rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash
))
;
1748 sv_setsv(ST(1), rv)Perl_sv_setsv_flags( PL_stack_base[ax + (1)],rv,2|0);
1749 SvREFCNT_dec_NN(rv)Perl_SvREFCNT_dec_NN( ((SV *)({ void *_p = (rv); _p; })));
1750 }
1751 else
1752 sv_setsv(ST(1), &PL_sv_undef)Perl_sv_setsv_flags( PL_stack_base[ax + (1)],&(PL_sv_immortals
[1]),2|0)
;
1753
1754 }
1755 SvSETMAGIC(ST(1))do { if (__builtin_expect(((((PL_stack_base[ax + (1)])->sv_flags
& 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set(
PL_stack_base[ax + (1)]); } while (0)
;
1756 }
1757 XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0); } while (0)
;
1758}
1759
1760
1761XS_EUPXS(XS_XS__Typemap_T_STDIO_close)static void XS_XS__Typemap_T_STDIO_close( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1762XS_EUPXS(XS_XS__Typemap_T_STDIO_close)static void XS_XS__Typemap_T_STDIO_close( CV* cv __attribute__
((unused)))
1763{
1764 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1765 if (items != 1)
1766 croak_xs_usagePerl_croak_xs_usage(cv, "f");
1767 {
1768 PerlIOPerlIO * f = IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp
1769;
1770#line 923 "Typemap.xs"
1771 FILE * stream;
1772#line 1773 "Typemap.c"
1773 SysRet RETVAL;
1774#line 925 "Typemap.xs"
1775 /* Get the FILE* */
1776 stream = PerlIO_findFILE( f );
1777 /* Release the FILE* from the PerlIO system so that we do
1778 not close the file twice */
1779 PerlIO_releaseFILE(f,stream);
1780 /* Must release the file before closing it */
1781 RETVAL = xsfclose( stream );
1782#line 1783 "Typemap.c"
1783 {
1784 SV * RETVALSV;
1785 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1786 if (RETVAL != -1) {
1787 if (RETVAL == 0)
1788 sv_setpvn(RETVALSV, "0 but true", 10)Perl_sv_setpvn( RETVALSV,"0 but true",10);
1789 else
1790 sv_setiv(RETVALSV, (IV)RETVAL)Perl_sv_setiv( RETVALSV,(IV)RETVAL);
1791 }
1792 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1793 }
1794 }
1795 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1796}
1797
1798
1799XS_EUPXS(XS_XS__Typemap_T_STDIO_print)static void XS_XS__Typemap_T_STDIO_print( CV* cv __attribute__
((unused)))
; /* prototype to pass -Wmissing-prototypes */
1800XS_EUPXS(XS_XS__Typemap_T_STDIO_print)static void XS_XS__Typemap_T_STDIO_print( CV* cv __attribute__
((unused)))
1801{
1802 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1803 if (items != 2)
1804 croak_xs_usagePerl_croak_xs_usage(cv, "stream, string");
1805 {
1806 FILE * stream = PerlIO_findFILE(IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp)
1807;
1808 const char * string = (const char *)SvPV_nolen(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000400|0x00200000
)) == 0x00000400) ? ((PL_stack_base[ax + (1)])->sv_u.svu_pv
) : Perl_sv_2pv_flags( PL_stack_base[ax + (1)],0,2))
1809;
1810 int RETVAL;
1811 dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad
[PL_op->op_targ]) : Perl_sv_newmortal())
;
1812#line 940 "Typemap.xs"
1813 RETVAL = xsfprintf( stream, string );
1814#line 1815 "Typemap.c"
1815 XSprePUSH(sp = PL_stack_base + ax - 1); PUSHi((IV)RETVAL)do { do { IV TARGi_iv = (IV)RETVAL; if (__builtin_expect(((((
(targ)->sv_flags & (0xff|(0x08000000|0x00010000|0x00000800
|0x01000000 |0x00800000|0x10000000)|0x80000000)) == SVt_IV) &
(1 ? !(((__builtin_expect(((PL_tainted) ? (_Bool)1 : (_Bool)
0),(0))) ? (_Bool)1 : (_Bool)0)) : 1)) ? (_Bool)1 : (_Bool)0)
,(1))) { ((void)0); (targ)->sv_flags |= (0x00000100|0x00001000
); targ->sv_u.svu_iv = TARGi_iv; } else Perl_sv_setiv_mg( targ
,TARGi_iv); } while (0); (*++sp = (targ)); } while (0)
;
1816 }
1817 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1818}
1819
1820
1821XS_EUPXS(XS_XS__Typemap_T_INOUT)static void XS_XS__Typemap_T_INOUT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1822XS_EUPXS(XS_XS__Typemap_T_INOUT)static void XS_XS__Typemap_T_INOUT( CV* cv __attribute__((unused
)))
1823{
1824 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1825 if (items != 1)
1826 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1827 {
1828 PerlIOPerlIO * in = IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp
1829;
1830 PerlIOPerlIO * RETVAL;
1831#line 951 "Typemap.xs"
1832 RETVAL = in; /* silly test but better than nothing */
1833#line 1834 "Typemap.c"
1834 {
1835 SV * RETVALSV;
1836 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1837 {
1838 GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal();
1839 gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""),
(sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0)
;
1840 if ( do_open(gv, "+<&", 3, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"+<&",3,(0),0,0,RETVAL,(SV **) ((void
*)0),0)
) {
1841 SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv);
1842 rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash
))
;
1843 RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv);
1844 }
1845 }
1846 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1847 }
1848 }
1849 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1850}
1851
1852
1853XS_EUPXS(XS_XS__Typemap_T_IN)static void XS_XS__Typemap_T_IN( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1854XS_EUPXS(XS_XS__Typemap_T_IN)static void XS_XS__Typemap_T_IN( CV* cv __attribute__((unused
)))
1855{
1856 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1857 if (items != 1)
1858 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1859 {
1860 inputfh in = IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp
1861;
1862 inputfh RETVAL;
1863#line 961 "Typemap.xs"
1864 RETVAL = in; /* silly test but better than nothing */
1865#line 1866 "Typemap.c"
1866 {
1867 SV * RETVALSV;
1868 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1869 {
1870 GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal();
1871 gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""),
(sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0)
;
1872 if ( do_open(gv, "<&", 2, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"<&",2,(0),0,0,RETVAL,(SV **) ((void
*)0),0)
) {
1873 SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv);
1874 rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash
))
;
1875 RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv);
1876 }
1877 }
1878 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1879 }
1880 }
1881 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1882}
1883
1884
1885XS_EUPXS(XS_XS__Typemap_T_OUT)static void XS_XS__Typemap_T_OUT( CV* cv __attribute__((unused
)))
; /* prototype to pass -Wmissing-prototypes */
1886XS_EUPXS(XS_XS__Typemap_T_OUT)static void XS_XS__Typemap_T_OUT( CV* cv __attribute__((unused
)))
1887{
1888 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1889 if (items != 1)
1890 croak_xs_usagePerl_croak_xs_usage(cv, "in");
1891 {
1892 outputfh in = IoOFP(sv_2io(ST(0)))((XPVIO*) (Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_any)
->xio_ofp
1893;
1894 outputfh RETVAL;
1895#line 971 "Typemap.xs"
1896 RETVAL = in; /* silly test but better than nothing */
1897#line 1898 "Typemap.c"
1898 {
1899 SV * RETVALSV;
1900 RETVALSV = sv_newmortal()Perl_sv_newmortal();
1901 {
1902 GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal();
1903 gv_init_pvn(gv, gv_stashpvs("XS::Typemap",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::Typemap" ""),
(sizeof("XS::Typemap")-1), 1),"__ANONIO__",10,0)
;
1904 if ( do_open(gv, "+>&", 3, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"+>&",3,(0),0,0,RETVAL,(SV **) ((void
*)0),0)
) {
1905 SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv);
1906 rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash
))
;
1907 RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv);
1908 }
1909 }
1910 ST(0)PL_stack_base[ax + (0)] = RETVALSV;
1911 }
1912 }
1913 XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0)
;
1914}
1915
1916#ifdef __cplusplus
1917extern "C"
1918#endif
1919XS_EXTERNAL(boot_XS__Typemap)void boot_XS__Typemap( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */
1920XS_EXTERNAL(boot_XS__Typemap)void boot_XS__Typemap( CV* cv __attribute__((unused)))
1921{
1922#if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5))
1923 dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base
+ ax++; I32 items = (I32)(sp - mark)
;
1924#else
1925 dVARstruct Perl___notused_struct; dXSBOOTARGSXSAPIVERCHKI32 ax = Perl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter
)) << 16) | ((sizeof("" "0.17" "")-1) > 0xFF ? (Perl_croak
("panic: handshake overflow"), 0xFF) : (sizeof("" "0.17" "")-
1) << 8) | ((((1)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 :
0) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((
1)) ? (_Bool)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v"
"5" "." "32" "." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow"
), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1)))
, cv, "Typemap.c", "v" "5" "." "32" "." "0", "0.17"); SV **mark
= PL_stack_base + ax; SV **sp = PL_stack_sp; I32 items = (I32
)(sp - mark)
;
1926#endif
1927#if (PERL_REVISION5 == 5 && PERL_VERSION32 < 9)
1928 char* file = __FILE__"Typemap.c";
1929#else
1930 const char* file = __FILE__"Typemap.c";
1931#endif
1932
1933 PERL_UNUSED_VAR(file)((void)sizeof(file));
1934
1935 PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */
1936 PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */
1937#if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5))
1938 XS_VERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter))
<< 16) | ((sizeof("" "0.17" "")-1) > 0xFF ? (Perl_croak
("panic: handshake overflow"), 0xFF) : (sizeof("" "0.17" "")-
1) << 8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 :
0) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((
0)) ? (_Bool)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" ""
"")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow"
), 0x0000001F) : (sizeof("" "" "")-1))), cv, "Typemap.c", items
, ax, "0.17")
;
1939# ifdef XS_APIVERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter))
<< 16) | ((sizeof("" "" "")-1) > 0xFF ? (Perl_croak
("panic: handshake overflow"), 0xFF) : (sizeof("" "" "")-1) <<
8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 : 0) | ((((
0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((0)) ? (_Bool
)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v" "5" "." "32"
"." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow"
), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1)))
, cv, "Typemap.c", items, ax, "v" "5" "." "32" "." "0")
1940 XS_APIVERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter))
<< 16) | ((sizeof("" "" "")-1) > 0xFF ? (Perl_croak
("panic: handshake overflow"), 0xFF) : (sizeof("" "" "")-1) <<
8) | ((((0)) ? (_Bool)1 : (_Bool)0) ? 0x00000020 : 0) | ((((
0)) ? (_Bool)1 : (_Bool)0) ? 0x00000080 : 0) | ((((0)) ? (_Bool
)1 : (_Bool)0) ? 0x00000040 : 0) | ((sizeof("" "v" "5" "." "32"
"." "0" "")-1) > 0x0000001F ? (Perl_croak("panic: handshake overflow"
), 0x0000001F) : (sizeof("" "v" "5" "." "32" "." "0" "")-1)))
, cv, "Typemap.c", items, ax, "v" "5" "." "32" "." "0")
;
1941# endif
1942#endif
1943
1944 newXS_deffile("XS::Typemap::T_SV", XS_XS__Typemap_T_SV)Perl_newXS_deffile( "XS::Typemap::T_SV",XS_XS__Typemap_T_SV);
1945 newXS_deffile("XS::Typemap::T_SVREF", XS_XS__Typemap_T_SVREF)Perl_newXS_deffile( "XS::Typemap::T_SVREF",XS_XS__Typemap_T_SVREF
)
;
1946 newXS_deffile("XS::Typemap::T_SVREF_REFCOUNT_FIXED", XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED)Perl_newXS_deffile( "XS::Typemap::T_SVREF_REFCOUNT_FIXED",XS_XS__Typemap_T_SVREF_REFCOUNT_FIXED
)
;
1947 newXS_deffile("XS::Typemap::T_AVREF", XS_XS__Typemap_T_AVREF)Perl_newXS_deffile( "XS::Typemap::T_AVREF",XS_XS__Typemap_T_AVREF
)
;
1948 newXS_deffile("XS::Typemap::T_AVREF_REFCOUNT_FIXED", XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED)Perl_newXS_deffile( "XS::Typemap::T_AVREF_REFCOUNT_FIXED",XS_XS__Typemap_T_AVREF_REFCOUNT_FIXED
)
;
1949 newXS_deffile("XS::Typemap::T_HVREF", XS_XS__Typemap_T_HVREF)Perl_newXS_deffile( "XS::Typemap::T_HVREF",XS_XS__Typemap_T_HVREF
)
;
1950 newXS_deffile("XS::Typemap::T_HVREF_REFCOUNT_FIXED", XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED)Perl_newXS_deffile( "XS::Typemap::T_HVREF_REFCOUNT_FIXED",XS_XS__Typemap_T_HVREF_REFCOUNT_FIXED
)
;
1951 newXS_deffile("XS::Typemap::T_CVREF", XS_XS__Typemap_T_CVREF)Perl_newXS_deffile( "XS::Typemap::T_CVREF",XS_XS__Typemap_T_CVREF
)
;
1952 newXS_deffile("XS::Typemap::T_CVREF_REFCOUNT_FIXED", XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED)Perl_newXS_deffile( "XS::Typemap::T_CVREF_REFCOUNT_FIXED",XS_XS__Typemap_T_CVREF_REFCOUNT_FIXED
)
;
1953 newXS_deffile("XS::Typemap::T_SYSRET_pass", XS_XS__Typemap_T_SYSRET_pass)Perl_newXS_deffile( "XS::Typemap::T_SYSRET_pass",XS_XS__Typemap_T_SYSRET_pass
)
;
1954 newXS_deffile("XS::Typemap::T_SYSRET_fail", XS_XS__Typemap_T_SYSRET_fail)Perl_newXS_deffile( "XS::Typemap::T_SYSRET_fail",XS_XS__Typemap_T_SYSRET_fail
)
;
1955 newXS_deffile("XS::Typemap::T_UV", XS_XS__Typemap_T_UV)Perl_newXS_deffile( "XS::Typemap::T_UV",XS_XS__Typemap_T_UV);
1956 newXS_deffile("XS::Typemap::T_IV", XS_XS__Typemap_T_IV)Perl_newXS_deffile( "XS::Typemap::T_IV",XS_XS__Typemap_T_IV);
1957 newXS_deffile("XS::Typemap::T_INT", XS_XS__Typemap_T_INT)Perl_newXS_deffile( "XS::Typemap::T_INT",XS_XS__Typemap_T_INT
)
;
1958 newXS_deffile("XS::Typemap::T_ENUM", XS_XS__Typemap_T_ENUM)Perl_newXS_deffile( "XS::Typemap::T_ENUM",XS_XS__Typemap_T_ENUM
)
;
1959 newXS_deffile("XS::Typemap::T_BOOL", XS_XS__Typemap_T_BOOL)Perl_newXS_deffile( "XS::Typemap::T_BOOL",XS_XS__Typemap_T_BOOL
)
;
1960 newXS_deffile("XS::Typemap::T_BOOL_2", XS_XS__Typemap_T_BOOL_2)Perl_newXS_deffile( "XS::Typemap::T_BOOL_2",XS_XS__Typemap_T_BOOL_2
)
;
1961 newXS_deffile("XS::Typemap::T_BOOL_OUT", XS_XS__Typemap_T_BOOL_OUT)Perl_newXS_deffile( "XS::Typemap::T_BOOL_OUT",XS_XS__Typemap_T_BOOL_OUT
)
;
1962 newXS_deffile("XS::Typemap::T_U_INT", XS_XS__Typemap_T_U_INT)Perl_newXS_deffile( "XS::Typemap::T_U_INT",XS_XS__Typemap_T_U_INT
)
;
1963 newXS_deffile("XS::Typemap::T_SHORT", XS_XS__Typemap_T_SHORT)Perl_newXS_deffile( "XS::Typemap::T_SHORT",XS_XS__Typemap_T_SHORT
)
;
1964 newXS_deffile("XS::Typemap::T_U_SHORT", XS_XS__Typemap_T_U_SHORT)Perl_newXS_deffile( "XS::Typemap::T_U_SHORT",XS_XS__Typemap_T_U_SHORT
)
;
1965 newXS_deffile("XS::Typemap::T_LONG", XS_XS__Typemap_T_LONG)Perl_newXS_deffile( "XS::Typemap::T_LONG",XS_XS__Typemap_T_LONG
)
;
1966 newXS_deffile("XS::Typemap::T_U_LONG", XS_XS__Typemap_T_U_LONG)Perl_newXS_deffile( "XS::Typemap::T_U_LONG",XS_XS__Typemap_T_U_LONG
)
;
1967 newXS_deffile("XS::Typemap::T_CHAR", XS_XS__Typemap_T_CHAR)Perl_newXS_deffile( "XS::Typemap::T_CHAR",XS_XS__Typemap_T_CHAR
)
;
1968 newXS_deffile("XS::Typemap::T_U_CHAR", XS_XS__Typemap_T_U_CHAR)Perl_newXS_deffile( "XS::Typemap::T_U_CHAR",XS_XS__Typemap_T_U_CHAR
)
;
1969 newXS_deffile("XS::Typemap::T_FLOAT", XS_XS__Typemap_T_FLOAT)Perl_newXS_deffile( "XS::Typemap::T_FLOAT",XS_XS__Typemap_T_FLOAT
)
;
1970 newXS_deffile("XS::Typemap::T_NV", XS_XS__Typemap_T_NV)Perl_newXS_deffile( "XS::Typemap::T_NV",XS_XS__Typemap_T_NV);
1971 newXS_deffile("XS::Typemap::T_DOUBLE", XS_XS__Typemap_T_DOUBLE)Perl_newXS_deffile( "XS::Typemap::T_DOUBLE",XS_XS__Typemap_T_DOUBLE
)
;
1972 newXS_deffile("XS::Typemap::T_PV", XS_XS__Typemap_T_PV)Perl_newXS_deffile( "XS::Typemap::T_PV",XS_XS__Typemap_T_PV);
1973 newXS_deffile("XS::Typemap::T_PV_null", XS_XS__Typemap_T_PV_null)Perl_newXS_deffile( "XS::Typemap::T_PV_null",XS_XS__Typemap_T_PV_null
)
;
1974 newXS_deffile("XS::Typemap::T_PTR_OUT", XS_XS__Typemap_T_PTR_OUT)Perl_newXS_deffile( "XS::Typemap::T_PTR_OUT",XS_XS__Typemap_T_PTR_OUT
)
;
1975 newXS_deffile("XS::Typemap::T_PTR_IN", XS_XS__Typemap_T_PTR_IN)Perl_newXS_deffile( "XS::Typemap::T_PTR_IN",XS_XS__Typemap_T_PTR_IN
)
;
1976 newXS_deffile("XS::Typemap::T_PTRREF_OUT", XS_XS__Typemap_T_PTRREF_OUT)Perl_newXS_deffile( "XS::Typemap::T_PTRREF_OUT",XS_XS__Typemap_T_PTRREF_OUT
)
;
1977 newXS_deffile("XS::Typemap::T_PTRREF_IN", XS_XS__Typemap_T_PTRREF_IN)Perl_newXS_deffile( "XS::Typemap::T_PTRREF_IN",XS_XS__Typemap_T_PTRREF_IN
)
;
1978 newXS_deffile("XS::Typemap::T_PTROBJ_OUT", XS_XS__Typemap_T_PTROBJ_OUT)Perl_newXS_deffile( "XS::Typemap::T_PTROBJ_OUT",XS_XS__Typemap_T_PTROBJ_OUT
)
;
1979 newXS_deffile("intObjPtr::T_PTROBJ_IN", XS_intObjPtr_T_PTROBJ_IN)Perl_newXS_deffile( "intObjPtr::T_PTROBJ_IN",XS_intObjPtr_T_PTROBJ_IN
)
;
1980 newXS_deffile("XS::Typemap::T_REF_IV_PTR_OUT", XS_XS__Typemap_T_REF_IV_PTR_OUT)Perl_newXS_deffile( "XS::Typemap::T_REF_IV_PTR_OUT",XS_XS__Typemap_T_REF_IV_PTR_OUT
)
;
1981 newXS_deffile("intRefIvPtr::T_REF_IV_PTR_IN", XS_intRefIvPtr_T_REF_IV_PTR_IN)Perl_newXS_deffile( "intRefIvPtr::T_REF_IV_PTR_IN",XS_intRefIvPtr_T_REF_IV_PTR_IN
)
;
1982 newXS_deffile("XS::Typemap::T_OPAQUEPTR_IN", XS_XS__Typemap_T_OPAQUEPTR_IN)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_IN",XS_XS__Typemap_T_OPAQUEPTR_IN
)
;
1983 newXS_deffile("XS::Typemap::T_OPAQUEPTR_OUT", XS_XS__Typemap_T_OPAQUEPTR_OUT)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_OUT",XS_XS__Typemap_T_OPAQUEPTR_OUT
)
;
1984 newXS_deffile("XS::Typemap::T_OPAQUEPTR_OUT_short", XS_XS__Typemap_T_OPAQUEPTR_OUT_short)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_OUT_short",XS_XS__Typemap_T_OPAQUEPTR_OUT_short
)
;
1985 newXS_deffile("XS::Typemap::T_OPAQUEPTR_IN_struct", XS_XS__Typemap_T_OPAQUEPTR_IN_struct)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_IN_struct",XS_XS__Typemap_T_OPAQUEPTR_IN_struct
)
;
1986 newXS_deffile("XS::Typemap::T_OPAQUEPTR_OUT_struct", XS_XS__Typemap_T_OPAQUEPTR_OUT_struct)Perl_newXS_deffile( "XS::Typemap::T_OPAQUEPTR_OUT_struct",XS_XS__Typemap_T_OPAQUEPTR_OUT_struct
)
;
1987 newXS_deffile("XS::Typemap::T_OPAQUE_IN", XS_XS__Typemap_T_OPAQUE_IN)Perl_newXS_deffile( "XS::Typemap::T_OPAQUE_IN",XS_XS__Typemap_T_OPAQUE_IN
)
;
1988 newXS_deffile("XS::Typemap::T_OPAQUE_OUT", XS_XS__Typemap_T_OPAQUE_OUT)Perl_newXS_deffile( "XS::Typemap::T_OPAQUE_OUT",XS_XS__Typemap_T_OPAQUE_OUT
)
;
1989 newXS_deffile("XS::Typemap::T_OPAQUE_array", XS_XS__Typemap_T_OPAQUE_array)Perl_newXS_deffile( "XS::Typemap::T_OPAQUE_array",XS_XS__Typemap_T_OPAQUE_array
)
;
1990 newXS_deffile("XS::Typemap::T_PACKED_in", XS_XS__Typemap_T_PACKED_in)Perl_newXS_deffile( "XS::Typemap::T_PACKED_in",XS_XS__Typemap_T_PACKED_in
)
;
1991 newXS_deffile("XS::Typemap::T_PACKED_out", XS_XS__Typemap_T_PACKED_out)Perl_newXS_deffile( "XS::Typemap::T_PACKED_out",XS_XS__Typemap_T_PACKED_out
)
;
1992 newXS_deffile("XS::Typemap::T_PACKEDARRAY_in", XS_XS__Typemap_T_PACKEDARRAY_in)Perl_newXS_deffile( "XS::Typemap::T_PACKEDARRAY_in",XS_XS__Typemap_T_PACKEDARRAY_in
)
;
1993 newXS_deffile("XS::Typemap::T_PACKEDARRAY_out", XS_XS__Typemap_T_PACKEDARRAY_out)Perl_newXS_deffile( "XS::Typemap::T_PACKEDARRAY_out",XS_XS__Typemap_T_PACKEDARRAY_out
)
;
1994 newXS_deffile("XS::Typemap::T_ARRAY", XS_XS__Typemap_T_ARRAY)Perl_newXS_deffile( "XS::Typemap::T_ARRAY",XS_XS__Typemap_T_ARRAY
)
;
1995 newXS_deffile("XS::Typemap::T_STDIO_open", XS_XS__Typemap_T_STDIO_open)Perl_newXS_deffile( "XS::Typemap::T_STDIO_open",XS_XS__Typemap_T_STDIO_open
)
;
1996 newXS_deffile("XS::Typemap::T_STDIO_open_ret_in_arg", XS_XS__Typemap_T_STDIO_open_ret_in_arg)Perl_newXS_deffile( "XS::Typemap::T_STDIO_open_ret_in_arg",XS_XS__Typemap_T_STDIO_open_ret_in_arg
)
;
1997 newXS_deffile("XS::Typemap::T_STDIO_close", XS_XS__Typemap_T_STDIO_close)Perl_newXS_deffile( "XS::Typemap::T_STDIO_close",XS_XS__Typemap_T_STDIO_close
)
;
1998 newXS_deffile("XS::Typemap::T_STDIO_print", XS_XS__Typemap_T_STDIO_print)Perl_newXS_deffile( "XS::Typemap::T_STDIO_print",XS_XS__Typemap_T_STDIO_print
)
;
1999 newXS_deffile("XS::Typemap::T_INOUT", XS_XS__Typemap_T_INOUT)Perl_newXS_deffile( "XS::Typemap::T_INOUT",XS_XS__Typemap_T_INOUT
)
;
2000 newXS_deffile("XS::Typemap::T_IN", XS_XS__Typemap_T_IN)Perl_newXS_deffile( "XS::Typemap::T_IN",XS_XS__Typemap_T_IN);
2001 newXS_deffile("XS::Typemap::T_OUT", XS_XS__Typemap_T_OUT)Perl_newXS_deffile( "XS::Typemap::T_OUT",XS_XS__Typemap_T_OUT
)
;
2002#if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5))
2003# if PERL_VERSION_GE(5, 9, 0)((5*1000000 + 32*1000 + 1) >= (5*1000000 + 9*1000 + 0))
2004 if (PL_unitcheckav)
2005 call_list(PL_scopestack_ix, PL_unitcheckav)Perl_call_list( PL_scopestack_ix,PL_unitcheckav);
2006# endif
2007 XSRETURN_YESdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[0]) ); do
{ const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base
+ ax + (tmpXSoff - 1); return; } while (0); } while (0)
;
2008#else
2009 Perl_xs_boot_epilog(aTHX_ ax);
2010#endif
2011}
2012