File: | obj/gnu/usr.bin/perl/ext/XS-APItest/APItest.c |
Warning: | line 6812, column 10 Access to field 'hek_len' results in a dereference of a null pointer |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
1 | /* | |||
2 | * This file was generated automatically by ExtUtils::ParseXS version 3.40 from the | |||
3 | * contents of APItest.xs. Do not edit this file, edit APItest.xs instead. | |||
4 | * | |||
5 | * ANY CHANGES MADE HERE WILL BE LOST! | |||
6 | * | |||
7 | */ | |||
8 | ||||
9 | #line 1 "APItest.xs" | |||
10 | #define PERL_IN_XS_APITEST | |||
11 | ||||
12 | /* We want to be able to test things that aren't API yet. */ | |||
13 | #define PERL_EXT | |||
14 | ||||
15 | /* Do *not* define PERL_NO_GET_CONTEXT. This is the one place where we get | |||
16 | to test implicit Perl_get_context(). */ | |||
17 | ||||
18 | #include "EXTERN.h" | |||
19 | #include "perl.h" | |||
20 | #include "XSUB.h" | |||
21 | ||||
22 | typedef FILENativeFile NativeFile; | |||
23 | ||||
24 | #include "fakesdio.h" /* Causes us to use PerlIO below */ | |||
25 | ||||
26 | typedef SV *SVREF; | |||
27 | typedef PTR_TBL_t *XS__APItest__PtrTable; | |||
28 | typedef PerlIOPerlIO * InputStream; | |||
29 | typedef PerlIOPerlIO * OutputStream; | |||
30 | ||||
31 | #define croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 22) croakPerl_croak("fail at " __FILE__"APItest.xs" " line %d", __LINE__22) | |||
32 | #define croak_fail_nep(h, w)Perl_croak("fail %p!=%p at " "APItest.xs" " line %d", (h), (w ), 23) croakPerl_croak("fail %p!=%p at " __FILE__"APItest.xs" " line %d", (h), (w), __LINE__23) | |||
33 | #define croak_fail_nei(h, w)Perl_croak("fail %d!=%d at " "APItest.xs" " line %d", (int)(h ), (int)(w), 24) croakPerl_croak("fail %d!=%d at " __FILE__"APItest.xs" " line %d", (int)(h), (int)(w), __LINE__24) | |||
34 | ||||
35 | #if IVSIZE8 == 8 | |||
36 | # define TEST_64BIT1 1 | |||
37 | #else | |||
38 | # define TEST_64BIT1 0 | |||
39 | #endif | |||
40 | ||||
41 | #ifdef EBCDIC | |||
42 | ||||
43 | void | |||
44 | cat_utf8a2n(SV* sv, const char * const ascii_utf8, STRLEN len) | |||
45 | { | |||
46 | /* Converts variant UTF-8 text pointed to by 'ascii_utf8' of length 'len', | |||
47 | * to UTF-EBCDIC, appending that text to the text already in 'sv'. | |||
48 | * Currently doesn't work on invariants, as that is unneeded here, and we | |||
49 | * could get double translations if we did. | |||
50 | * | |||
51 | * It has the algorithm for strict UTF-8 hard-coded in to find the code | |||
52 | * point it represents, then calls uvchr_to_utf8() to convert to | |||
53 | * UTF-EBCDIC). | |||
54 | * | |||
55 | * Note that this uses code points, not characters. Thus if the input is | |||
56 | * the UTF-8 for the code point 0xFF, the output will be the UTF-EBCDIC for | |||
57 | * 0xFF, even though that code point represents different characters on | |||
58 | * ASCII vs EBCDIC platforms. */ | |||
59 | ||||
60 | dTHXstruct Perl___notused_struct; | |||
61 | char * p = (char *) ascii_utf8; | |||
62 | const char * const e = p + len; | |||
63 | ||||
64 | while (p < e) { | |||
65 | UV code_point; | |||
66 | U8 native_utf8[UTF8_MAXBYTES13 + 1]; | |||
67 | U8 * char_end; | |||
68 | U8 start = (U8) *p; | |||
69 | ||||
70 | /* Start bytes are the same in both UTF-8 and I8, therefore we can | |||
71 | * treat this ASCII UTF-8 byte as an I8 byte. But PL_utf8skip[] is | |||
72 | * indexed by NATIVE_UTF8 bytes, so transform to that */ | |||
73 | STRLEN char_bytes_len = PL_utf8skip[I8_TO_NATIVE_UTF8(start)( ((U8) ((start) | 0)))]; | |||
74 | ||||
75 | if (start < 0xc2) { | |||
76 | croakPerl_croak("fail: Expecting start byte, instead got 0x%X at %s line %d", | |||
77 | (U8) *p, __FILE__"APItest.xs", __LINE__68); | |||
78 | } | |||
79 | code_point = (start & (((char_bytes_len) >= 7) | |||
80 | ? 0x00 | |||
81 | : (0x1F >> ((char_bytes_len)-2)))); | |||
82 | p++; | |||
83 | while (p < e && ((( (U8) *p) & 0xC0) == 0x80)) { | |||
84 | ||||
85 | code_point = (code_point << 6) | (( (U8) *p) & 0x3F); | |||
86 | p++; | |||
87 | } | |||
88 | ||||
89 | char_end = uvchr_to_utf8(native_utf8, code_point)Perl_uvoffuni_to_utf8_flags_msgs( native_utf8,((UV) ((code_point ) | 0)),0,0); | |||
90 | sv_catpvn(sv, (char *) native_utf8, char_end - native_utf8)Perl_sv_catpvn_flags( sv,(char *) native_utf8,char_end - native_utf8 ,2); | |||
91 | } | |||
92 | } | |||
93 | ||||
94 | #endif | |||
95 | ||||
96 | /* for my_cxt tests */ | |||
97 | ||||
98 | #define MY_CXT_KEY"XS::APItest::_guts" "1.09" "XS::APItest::_guts" XS_VERSION"1.09" | |||
99 | ||||
100 | typedef struct { | |||
101 | int i; | |||
102 | SV *sv; | |||
103 | GV *cscgv; | |||
104 | AV *cscav; | |||
105 | AV *bhkav; | |||
106 | bool_Bool bhk_record; | |||
107 | peep_t orig_peep; | |||
108 | peep_t orig_rpeep; | |||
109 | int peep_recording; | |||
110 | AV *peep_recorder; | |||
111 | AV *rpeep_recorder; | |||
112 | AV *xop_record; | |||
113 | } my_cxt_t; | |||
114 | ||||
115 | START_MY_CXTstatic my_cxt_t my_cxt; | |||
116 | ||||
117 | int | |||
118 | S_myset_set(pTHX_ SV* sv, MAGIC* mg) | |||
119 | { | |||
120 | SV *isv = (SV*)mg->mg_ptr; | |||
121 | ||||
122 | PERL_UNUSED_ARG(sv)((void)sizeof(sv)); | |||
123 | SvIVX(isv)((XPVIV*) (isv)->sv_any)->xiv_u.xivu_iv++; | |||
124 | return 0; | |||
125 | } | |||
126 | ||||
127 | MGVTBL vtbl_foo, vtbl_bar; | |||
128 | MGVTBL vtbl_myset = { 0, S_myset_set, 0, 0, 0, 0, 0, 0 }; | |||
129 | ||||
130 | ||||
131 | /* indirect functions to test the [pa]MY_CXT macros */ | |||
132 | ||||
133 | int | |||
134 | my_cxt_getint_p(pMY_CXTvoid) | |||
135 | { | |||
136 | return MY_CXTmy_cxt.i; | |||
137 | } | |||
138 | ||||
139 | void | |||
140 | my_cxt_setint_p(pMY_CXT_ int i) | |||
141 | { | |||
142 | MY_CXTmy_cxt.i = i; | |||
143 | } | |||
144 | ||||
145 | SV* | |||
146 | my_cxt_getsv_interp_context(void) | |||
147 | { | |||
148 | dTHXstruct Perl___notused_struct; | |||
149 | dMY_CXT_INTERP(my_perl)struct Perl___notused_struct; | |||
150 | return MY_CXTmy_cxt.sv; | |||
151 | } | |||
152 | ||||
153 | SV* | |||
154 | my_cxt_getsv_interp(void) | |||
155 | { | |||
156 | dMY_CXTstruct Perl___notused_struct; | |||
157 | return MY_CXTmy_cxt.sv; | |||
158 | } | |||
159 | ||||
160 | void | |||
161 | my_cxt_setsv_p(SV* sv _pMY_CXT) | |||
162 | { | |||
163 | MY_CXTmy_cxt.sv = sv; | |||
164 | } | |||
165 | ||||
166 | ||||
167 | /* from exception.c */ | |||
168 | int apitest_exception(int); | |||
169 | ||||
170 | /* from core_or_not.inc */ | |||
171 | bool_Bool sv_setsv_cow_hashkey_core(void); | |||
172 | bool_Bool sv_setsv_cow_hashkey_notcore(void); | |||
173 | ||||
174 | /* A routine to test hv_delayfree_ent | |||
175 | (which itself is tested by testing on hv_free_ent */ | |||
176 | ||||
177 | typedef void (freeent_function)(pTHX_ HV *, HE *); | |||
178 | ||||
179 | void | |||
180 | test_freeent(freeent_function *f) { | |||
181 | dSPSV **sp = PL_stack_sp; | |||
182 | HV *test_hash = newHV()((HV *)({ void *_p = (Perl_newSV_type( SVt_PVHV)); _p; })); | |||
183 | HE *victim; | |||
184 | SV *test_scalar; | |||
185 | U32 results[4]; | |||
186 | int i; | |||
187 | ||||
188 | #ifdef PURIFY | |||
189 | victim = (HE*)safemallocPerl_safesysmalloc(sizeof(HE)); | |||
190 | #else | |||
191 | /* Storing then deleting something should ensure that a hash entry is | |||
192 | available. */ | |||
193 | (void) hv_stores(test_hash, "", &PL_sv_yes)((SV**) Perl_hv_common_key_len( ((test_hash)),(("" "" "")),(( sizeof("")-1)),(0x04|0x20),((&(PL_sv_immortals[0]))),(0)) ); | |||
194 | (void) hv_deletes(test_hash, "", 0)(((SV *)({ void *_p = (Perl_hv_common_key_len( ((test_hash)), (("" "" "")),((sizeof("")-1)),((0)) | 0x40,((void*)0),0)); _p ; }))); | |||
195 | ||||
196 | /* We need to "inline" new_he here as it's static, and the functions we | |||
197 | test expect to be able to call del_HE on the HE */ | |||
198 | if (!PL_body_roots[HE_SVSLOTSVt_NULL]) | |||
199 | croakPerl_croak("PL_he_root is 0"); | |||
200 | victim = (HE*) PL_body_roots[HE_SVSLOTSVt_NULL]; | |||
201 | PL_body_roots[HE_SVSLOTSVt_NULL] = HeNEXT(victim)(victim)->hent_next; | |||
202 | #endif | |||
203 | ||||
204 | victim->hent_hek = Perl_share_hek(aTHX_ "", 0, 0); | |||
205 | ||||
206 | test_scalar = newSV(0)Perl_newSV( 0); | |||
207 | SvREFCNT_inc(test_scalar)Perl_SvREFCNT_inc(((SV *)({ void *_p = (test_scalar); _p; })) ); | |||
208 | HeVAL(victim)(victim)->he_valu.hent_val = test_scalar; | |||
209 | ||||
210 | /* Need this little game else we free the temps on the return stack. */ | |||
211 | results[0] = SvREFCNT(test_scalar)(test_scalar)->sv_refcnt; | |||
212 | SAVETMPSPerl_savetmps(); | |||
213 | results[1] = SvREFCNT(test_scalar)(test_scalar)->sv_refcnt; | |||
214 | f(aTHX_ test_hash, victim); | |||
215 | results[2] = SvREFCNT(test_scalar)(test_scalar)->sv_refcnt; | |||
216 | FREETMPSif (PL_tmps_ix > PL_tmps_floor) Perl_free_tmps(); | |||
217 | results[3] = SvREFCNT(test_scalar)(test_scalar)->sv_refcnt; | |||
218 | ||||
219 | i = 0; | |||
220 | do { | |||
221 | mXPUSHu(results[i])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_setuv ( (*++sp = (Perl_sv_newmortal())),(UV)(results[i])); } while ( 0); | |||
222 | } while (++i < (int)(sizeof(results)/sizeof(results[0]))); | |||
223 | ||||
224 | /* Goodbye to our extra reference. */ | |||
225 | SvREFCNT_dec(test_scalar)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (test_scalar); _p; }) )); | |||
226 | } | |||
227 | ||||
228 | /* Not that it matters much, but it's handy for the flipped character to just | |||
229 | * be the opposite case (at least for ASCII-range and most Latin1 as well). */ | |||
230 | #define FLIP_BIT('A' ^ 'a') ('A' ^ 'a') | |||
231 | ||||
232 | static I32 | |||
233 | bitflip_key(pTHX_ IV action, SV *field) { | |||
234 | MAGIC *mg = mg_findPerl_mg_find(field, PERL_MAGIC_uvar'U'); | |||
235 | SV *keysv; | |||
236 | PERL_UNUSED_ARG(action)((void)sizeof(action)); | |||
237 | if (mg && (keysv = mg->mg_obj)) { | |||
238 | STRLEN len; | |||
239 | const char *p = SvPV(keysv, len)((((keysv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (keysv)->sv_any)->xpv_cur), ((keysv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( keysv,&len,2)); | |||
240 | ||||
241 | if (len) { | |||
242 | /* Allow for the flipped val to be longer than the original. This | |||
243 | * is just for testing, so can afford to have some slop */ | |||
244 | const STRLEN newlen = len * 2; | |||
245 | ||||
246 | SV *newkey = newSV(newlen)Perl_newSV( newlen); | |||
247 | const char * const new_p_orig = SvPVX(newkey)((newkey)->sv_u.svu_pv); | |||
248 | char *new_p = (char *) new_p_orig; | |||
249 | ||||
250 | if (SvUTF8(keysv)((keysv)->sv_flags & 0x20000000)) { | |||
251 | const char *const end = p + len; | |||
252 | while (p < end) { | |||
253 | STRLEN curlen; | |||
254 | UV chr = utf8_to_uvchr_buf((U8 *)p, (U8 *) end, &curlen)Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *)p),(const U8 *) (U8 *) end,&curlen); | |||
255 | ||||
256 | /* Make sure don't exceed bounds */ | |||
257 | assert(new_p - new_p_orig + curlen < newlen)((void)0); | |||
258 | ||||
259 | new_p = (char *)uvchr_to_utf8((U8 *)new_p, chr ^ FLIP_BIT)Perl_uvoffuni_to_utf8_flags_msgs( (U8 *)new_p,((UV) ((chr ^ ( 'A' ^ 'a')) | 0)),0,0); | |||
260 | p += curlen; | |||
261 | } | |||
262 | SvUTF8_on(newkey)((newkey)->sv_flags |= (0x20000000)); | |||
263 | } else { | |||
264 | while (len--) | |||
265 | *new_p++ = *p++ ^ FLIP_BIT('A' ^ 'a'); | |||
266 | } | |||
267 | *new_p = '\0'; | |||
268 | SvCUR_set(newkey, new_p - new_p_orig)do { ((void)0); ((void)0); ((void)0); (((XPV*) (newkey)->sv_any )->xpv_cur = (new_p - new_p_orig)); } while (0); | |||
269 | SvPOK_on(newkey)( (newkey)->sv_flags |= (0x00000400|0x00004000)); | |||
270 | ||||
271 | mg->mg_obj = newkey; | |||
272 | } | |||
273 | } | |||
274 | return 0; | |||
275 | } | |||
276 | ||||
277 | static I32 | |||
278 | rot13_key(pTHX_ IV action, SV *field) { | |||
279 | MAGIC *mg = mg_findPerl_mg_find(field, PERL_MAGIC_uvar'U'); | |||
280 | SV *keysv; | |||
281 | PERL_UNUSED_ARG(action)((void)sizeof(action)); | |||
282 | if (mg && (keysv = mg->mg_obj)) { | |||
283 | STRLEN len; | |||
284 | const char *p = SvPV(keysv, len)((((keysv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (keysv)->sv_any)->xpv_cur), ((keysv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( keysv,&len,2)); | |||
285 | ||||
286 | if (len) { | |||
287 | SV *newkey = newSV(len)Perl_newSV( len); | |||
288 | char *new_p = SvPVX(newkey)((newkey)->sv_u.svu_pv); | |||
289 | ||||
290 | /* There's a deliberate fencepost error here to loop len + 1 times | |||
291 | to copy the trailing \0 */ | |||
292 | do { | |||
293 | char new_c = *p++; | |||
294 | /* Try doing this cleanly and clearly in EBCDIC another way: */ | |||
295 | switch (new_c) { | |||
296 | case 'A': new_c = 'N'; break; | |||
297 | case 'B': new_c = 'O'; break; | |||
298 | case 'C': new_c = 'P'; break; | |||
299 | case 'D': new_c = 'Q'; break; | |||
300 | case 'E': new_c = 'R'; break; | |||
301 | case 'F': new_c = 'S'; break; | |||
302 | case 'G': new_c = 'T'; break; | |||
303 | case 'H': new_c = 'U'; break; | |||
304 | case 'I': new_c = 'V'; break; | |||
305 | case 'J': new_c = 'W'; break; | |||
306 | case 'K': new_c = 'X'; break; | |||
307 | case 'L': new_c = 'Y'; break; | |||
308 | case 'M': new_c = 'Z'; break; | |||
309 | case 'N': new_c = 'A'; break; | |||
310 | case 'O': new_c = 'B'; break; | |||
311 | case 'P': new_c = 'C'; break; | |||
312 | case 'Q': new_c = 'D'; break; | |||
313 | case 'R': new_c = 'E'; break; | |||
314 | case 'S': new_c = 'F'; break; | |||
315 | case 'T': new_c = 'G'; break; | |||
316 | case 'U': new_c = 'H'; break; | |||
317 | case 'V': new_c = 'I'; break; | |||
318 | case 'W': new_c = 'J'; break; | |||
319 | case 'X': new_c = 'K'; break; | |||
320 | case 'Y': new_c = 'L'; break; | |||
321 | case 'Z': new_c = 'M'; break; | |||
322 | case 'a': new_c = 'n'; break; | |||
323 | case 'b': new_c = 'o'; break; | |||
324 | case 'c': new_c = 'p'; break; | |||
325 | case 'd': new_c = 'q'; break; | |||
326 | case 'e': new_c = 'r'; break; | |||
327 | case 'f': new_c = 's'; break; | |||
328 | case 'g': new_c = 't'; break; | |||
329 | case 'h': new_c = 'u'; break; | |||
330 | case 'i': new_c = 'v'; break; | |||
331 | case 'j': new_c = 'w'; break; | |||
332 | case 'k': new_c = 'x'; break; | |||
333 | case 'l': new_c = 'y'; break; | |||
334 | case 'm': new_c = 'z'; break; | |||
335 | case 'n': new_c = 'a'; break; | |||
336 | case 'o': new_c = 'b'; break; | |||
337 | case 'p': new_c = 'c'; break; | |||
338 | case 'q': new_c = 'd'; break; | |||
339 | case 'r': new_c = 'e'; break; | |||
340 | case 's': new_c = 'f'; break; | |||
341 | case 't': new_c = 'g'; break; | |||
342 | case 'u': new_c = 'h'; break; | |||
343 | case 'v': new_c = 'i'; break; | |||
344 | case 'w': new_c = 'j'; break; | |||
345 | case 'x': new_c = 'k'; break; | |||
346 | case 'y': new_c = 'l'; break; | |||
347 | case 'z': new_c = 'm'; break; | |||
348 | } | |||
349 | *new_p++ = new_c; | |||
350 | } while (len--); | |||
351 | SvCUR_set(newkey, SvCUR(keysv))do { ((void)0); ((void)0); ((void)0); (((XPV*) (newkey)->sv_any )->xpv_cur = (((XPV*) (keysv)->sv_any)->xpv_cur)); } while (0); | |||
352 | SvPOK_on(newkey)( (newkey)->sv_flags |= (0x00000400|0x00004000)); | |||
353 | if (SvUTF8(keysv)((keysv)->sv_flags & 0x20000000)) | |||
354 | SvUTF8_on(newkey)((newkey)->sv_flags |= (0x20000000)); | |||
355 | ||||
356 | mg->mg_obj = newkey; | |||
357 | } | |||
358 | } | |||
359 | return 0; | |||
360 | } | |||
361 | ||||
362 | STATICstatic I32 | |||
363 | rmagical_a_dummy(pTHX_ IV idx, SV *sv) { | |||
364 | PERL_UNUSED_ARG(idx)((void)sizeof(idx)); | |||
365 | PERL_UNUSED_ARG(sv)((void)sizeof(sv)); | |||
366 | return 0; | |||
367 | } | |||
368 | ||||
369 | /* We could do "= { 0 };" but some versions of gcc do warn | |||
370 | * (with -Wextra) about missing initializer, this is probably gcc | |||
371 | * being a bit too paranoid. But since this is file-static, we can | |||
372 | * just have it without initializer, since it should get | |||
373 | * zero-initialized. */ | |||
374 | STATICstatic MGVTBL rmagical_b; | |||
375 | ||||
376 | STATICstatic void | |||
377 | blockhook_csc_start(pTHX_ int full) | |||
378 | { | |||
379 | dMY_CXTstruct Perl___notused_struct; | |||
380 | AV *const cur = GvAV(MY_CXT.cscgv)((0+(my_cxt.cscgv)->sv_u.svu_gp)->gp_av); | |||
381 | ||||
382 | PERL_UNUSED_ARG(full)((void)sizeof(full)); | |||
383 | SAVEGENERICSV(GvAV(MY_CXT.cscgv))Perl_save_generic_svref( (SV**)&(((0+(my_cxt.cscgv)->sv_u .svu_gp)->gp_av))); | |||
384 | ||||
385 | if (cur) { | |||
386 | I32 i; | |||
387 | AV *const new_av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
388 | ||||
389 | for (i = 0; i <= av_tindex(cur)Perl_av_top_index( cur); i++) { | |||
390 | av_store(new_av, i, newSVsv(*av_fetch(cur, i, 0)))Perl_av_store( new_av,i,Perl_newSVsv_flags( (*Perl_av_fetch( cur ,i,0)),2|16)); | |||
391 | } | |||
392 | ||||
393 | GvAV(MY_CXT.cscgv)((0+(my_cxt.cscgv)->sv_u.svu_gp)->gp_av) = new_av; | |||
394 | } | |||
395 | } | |||
396 | ||||
397 | STATICstatic void | |||
398 | blockhook_csc_pre_end(pTHX_ OP **o) | |||
399 | { | |||
400 | dMY_CXTstruct Perl___notused_struct; | |||
401 | ||||
402 | PERL_UNUSED_ARG(o)((void)sizeof(o)); | |||
403 | /* if we hit the end of a scope we missed the start of, we need to | |||
404 | * unconditionally clear @CSC */ | |||
405 | if (GvAV(MY_CXT.cscgv)((0+(my_cxt.cscgv)->sv_u.svu_gp)->gp_av) == MY_CXTmy_cxt.cscav && MY_CXTmy_cxt.cscav) { | |||
406 | av_clear(MY_CXT.cscav)Perl_av_clear( my_cxt.cscav); | |||
407 | } | |||
408 | ||||
409 | } | |||
410 | ||||
411 | STATICstatic void | |||
412 | blockhook_test_start(pTHX_ int full) | |||
413 | { | |||
414 | dMY_CXTstruct Perl___notused_struct; | |||
415 | AV *av; | |||
416 | ||||
417 | if (MY_CXTmy_cxt.bhk_record) { | |||
418 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
419 | av_push(av, newSVpvs("start"))Perl_av_push( av,Perl_newSVpvn( ("" "start" ""), (sizeof("start" )-1))); | |||
420 | av_push(av, newSViv(full))Perl_av_push( av,Perl_newSViv( full)); | |||
421 | av_push(MY_CXT.bhkav, newRV_noinc(MUTABLE_SV(av)))Perl_av_push( my_cxt.bhkav,Perl_newRV_noinc( ((SV *)({ void * _p = (av); _p; })))); | |||
422 | } | |||
423 | } | |||
424 | ||||
425 | STATICstatic void | |||
426 | blockhook_test_pre_end(pTHX_ OP **o) | |||
427 | { | |||
428 | dMY_CXTstruct Perl___notused_struct; | |||
429 | ||||
430 | PERL_UNUSED_ARG(o)((void)sizeof(o)); | |||
431 | if (MY_CXTmy_cxt.bhk_record) | |||
432 | av_push(MY_CXT.bhkav, newSVpvs("pre_end"))Perl_av_push( my_cxt.bhkav,Perl_newSVpvn( ("" "pre_end" ""), ( sizeof("pre_end")-1))); | |||
433 | } | |||
434 | ||||
435 | STATICstatic void | |||
436 | blockhook_test_post_end(pTHX_ OP **o) | |||
437 | { | |||
438 | dMY_CXTstruct Perl___notused_struct; | |||
439 | ||||
440 | PERL_UNUSED_ARG(o)((void)sizeof(o)); | |||
441 | if (MY_CXTmy_cxt.bhk_record) | |||
442 | av_push(MY_CXT.bhkav, newSVpvs("post_end"))Perl_av_push( my_cxt.bhkav,Perl_newSVpvn( ("" "post_end" ""), (sizeof("post_end")-1))); | |||
443 | } | |||
444 | ||||
445 | STATICstatic void | |||
446 | blockhook_test_eval(pTHX_ OP *const o) | |||
447 | { | |||
448 | dMY_CXTstruct Perl___notused_struct; | |||
449 | AV *av; | |||
450 | ||||
451 | if (MY_CXTmy_cxt.bhk_record) { | |||
452 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
453 | av_push(av, newSVpvs("eval"))Perl_av_push( av,Perl_newSVpvn( ("" "eval" ""), (sizeof("eval" )-1))); | |||
454 | av_push(av, newSVpv(OP_NAME(o), 0))Perl_av_push( av,Perl_newSVpv( ((o)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field( o, XOPe_xop_name).xop_name) : PL_op_name [(o)->op_type]),0)); | |||
455 | av_push(MY_CXT.bhkav, newRV_noinc(MUTABLE_SV(av)))Perl_av_push( my_cxt.bhkav,Perl_newRV_noinc( ((SV *)({ void * _p = (av); _p; })))); | |||
456 | } | |||
457 | } | |||
458 | ||||
459 | STATICstatic BHK bhk_csc, bhk_test; | |||
460 | ||||
461 | STATICstatic void | |||
462 | my_peep (pTHX_ OP *o) | |||
463 | { | |||
464 | dMY_CXTstruct Perl___notused_struct; | |||
465 | ||||
466 | if (!o) | |||
467 | return; | |||
468 | ||||
469 | MY_CXTmy_cxt.orig_peep(aTHX_ o); | |||
470 | ||||
471 | if (!MY_CXTmy_cxt.peep_recording) | |||
472 | return; | |||
473 | ||||
474 | for (; o; o = o->op_next) { | |||
475 | if (o->op_type == OP_CONST && cSVOPx_sv(o)(((SVOP*)(o))->op_sv) && SvPOK(cSVOPx_sv(o))(((((SVOP*)(o))->op_sv))->sv_flags & 0x00000400)) { | |||
476 | av_push(MY_CXT.peep_recorder, newSVsv(cSVOPx_sv(o)))Perl_av_push( my_cxt.peep_recorder,Perl_newSVsv_flags( ((((SVOP *)(o))->op_sv)),2|16)); | |||
477 | } | |||
478 | } | |||
479 | } | |||
480 | ||||
481 | STATICstatic void | |||
482 | my_rpeep (pTHX_ OP *o) | |||
483 | { | |||
484 | dMY_CXTstruct Perl___notused_struct; | |||
485 | ||||
486 | if (!o) | |||
487 | return; | |||
488 | ||||
489 | MY_CXTmy_cxt.orig_rpeep(aTHX_ o); | |||
490 | ||||
491 | if (!MY_CXTmy_cxt.peep_recording) | |||
492 | return; | |||
493 | ||||
494 | for (; o; o = o->op_next) { | |||
495 | if (o->op_type == OP_CONST && cSVOPx_sv(o)(((SVOP*)(o))->op_sv) && SvPOK(cSVOPx_sv(o))(((((SVOP*)(o))->op_sv))->sv_flags & 0x00000400)) { | |||
496 | av_push(MY_CXT.rpeep_recorder, newSVsv(cSVOPx_sv(o)))Perl_av_push( my_cxt.rpeep_recorder,Perl_newSVsv_flags( ((((SVOP *)(o))->op_sv)),2|16)); | |||
497 | } | |||
498 | } | |||
499 | } | |||
500 | ||||
501 | STATICstatic OP * | |||
502 | THX_ck_entersub_args_lists(pTHX_ OP *entersubop, GV *namegv, SV *ckobj) | |||
503 | { | |||
504 | PERL_UNUSED_ARG(namegv)((void)sizeof(namegv)); | |||
505 | PERL_UNUSED_ARG(ckobj)((void)sizeof(ckobj)); | |||
506 | return ck_entersub_args_list(entersubop)Perl_ck_entersub_args_list( entersubop); | |||
507 | } | |||
508 | ||||
509 | STATICstatic OP * | |||
510 | THX_ck_entersub_args_scalars(pTHX_ OP *entersubop, GV *namegv, SV *ckobj) | |||
511 | { | |||
512 | OP *aop = cUNOPx(entersubop)((UNOP*)(entersubop))->op_first; | |||
513 | PERL_UNUSED_ARG(namegv)((void)sizeof(namegv)); | |||
514 | PERL_UNUSED_ARG(ckobj)((void)sizeof(ckobj)); | |||
515 | if (!OpHAS_SIBLING(aop)((((aop)->op_moresib) ? (_Bool)1 : (_Bool)0))) | |||
516 | aop = cUNOPx(aop)((UNOP*)(aop))->op_first; | |||
517 | for (aop = OpSIBLING(aop)(0 + (aop)->op_moresib ? (aop)->op_sibparent : ((void*) 0)); OpHAS_SIBLING(aop)((((aop)->op_moresib) ? (_Bool)1 : (_Bool)0)); aop = OpSIBLING(aop)(0 + (aop)->op_moresib ? (aop)->op_sibparent : ((void*) 0))) { | |||
518 | op_contextualize(aop, G_SCALAR)Perl_op_contextualize( aop,2); | |||
519 | } | |||
520 | return entersubop; | |||
521 | } | |||
522 | ||||
523 | STATICstatic OP * | |||
524 | THX_ck_entersub_multi_sum(pTHX_ OP *entersubop, GV *namegv, SV *ckobj) | |||
525 | { | |||
526 | OP *sumop = NULL((void*)0); | |||
527 | OP *parent = entersubop; | |||
528 | OP *pushop = cUNOPx(entersubop)((UNOP*)(entersubop))->op_first; | |||
529 | PERL_UNUSED_ARG(namegv)((void)sizeof(namegv)); | |||
530 | PERL_UNUSED_ARG(ckobj)((void)sizeof(ckobj)); | |||
531 | if (!OpHAS_SIBLING(pushop)((((pushop)->op_moresib) ? (_Bool)1 : (_Bool)0))) { | |||
532 | parent = pushop; | |||
533 | pushop = cUNOPx(pushop)((UNOP*)(pushop))->op_first; | |||
534 | } | |||
535 | while (1) { | |||
536 | OP *aop = OpSIBLING(pushop)(0 + (pushop)->op_moresib ? (pushop)->op_sibparent : (( void*)0)); | |||
537 | if (!OpHAS_SIBLING(aop)((((aop)->op_moresib) ? (_Bool)1 : (_Bool)0))) | |||
538 | break; | |||
539 | /* cut out first arg */ | |||
540 | op_sibling_splicePerl_op_sibling_splice(parent, pushop, 1, NULL((void*)0)); | |||
541 | op_contextualize(aop, G_SCALAR)Perl_op_contextualize( aop,2); | |||
542 | if (sumop) { | |||
543 | sumop = newBINOP(OP_ADD, 0, sumop, aop)Perl_newBINOP( OP_ADD,0,sumop,aop); | |||
544 | } else { | |||
545 | sumop = aop; | |||
546 | } | |||
547 | } | |||
548 | if (!sumop) | |||
549 | sumop = newSVOP(OP_CONST, 0, newSViv(0))Perl_newSVOP( OP_CONST,0,Perl_newSViv( 0)); | |||
550 | op_free(entersubop)Perl_op_free( entersubop); | |||
551 | return sumop; | |||
552 | } | |||
553 | ||||
554 | STATICstatic void test_op_list_describe_part(SV *res, OP *o); | |||
555 | STATICstatic void | |||
556 | test_op_list_describe_part(SV *res, OP *o) | |||
557 | { | |||
558 | sv_catpv(res, PL_op_name[o->op_type])Perl_sv_catpv( res,PL_op_name[o->op_type]); | |||
559 | switch (o->op_type) { | |||
560 | case OP_CONST: { | |||
561 | sv_catpvfPerl_sv_catpvf(res, "(%d)", (int)SvIV(cSVOPx(o)->op_sv)((((((SVOP*)(o))->op_sv)->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (((SVOP*)(o))->op_sv)->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( ((SVOP*)(o))->op_sv ,2))); | |||
562 | } break; | |||
563 | } | |||
564 | if (o->op_flags & OPf_KIDS4) { | |||
565 | OP *k; | |||
566 | sv_catpvs(res, "[")Perl_sv_catpvn_flags( res, ("" "[" ""), (sizeof("[")-1), 2); | |||
567 | for (k = cUNOPx(o)((UNOP*)(o))->op_first; k; k = OpSIBLING(k)(0 + (k)->op_moresib ? (k)->op_sibparent : ((void*)0))) | |||
568 | test_op_list_describe_part(res, k); | |||
569 | sv_catpvs(res, "]")Perl_sv_catpvn_flags( res, ("" "]" ""), (sizeof("]")-1), 2); | |||
570 | } else { | |||
571 | sv_catpvs(res, ".")Perl_sv_catpvn_flags( res, ("" "." ""), (sizeof(".")-1), 2); | |||
572 | } | |||
573 | } | |||
574 | ||||
575 | STATICstatic char * | |||
576 | test_op_list_describe(OP *o) | |||
577 | { | |||
578 | SV *res = sv_2mortal(newSVpvs(""))Perl_sv_2mortal( Perl_newSVpvn( ("" "" ""), (sizeof("")-1))); | |||
579 | if (o) | |||
580 | test_op_list_describe_part(res, o); | |||
581 | return SvPVX(res)((res)->sv_u.svu_pv); | |||
582 | } | |||
583 | ||||
584 | /* the real new*OP functions have a tendency to call fold_constants, and | |||
585 | * other such unhelpful things, so we need our own versions for testing */ | |||
586 | ||||
587 | #define mkUNOP(t, f)THX_mkUNOP( (t), (f)) THX_mkUNOP(aTHX_ (t), (f)) | |||
588 | static OP * | |||
589 | THX_mkUNOP(pTHX_ U32 type, OP *first) | |||
590 | { | |||
591 | UNOP *unop; | |||
592 | NewOp(1103, unop, 1, UNOP)(unop = (UNOP *) Perl_Slab_Alloc( 1*sizeof(UNOP))); | |||
593 | unop->op_type = (OPCODEU16)type; | |||
594 | op_sibling_splicePerl_op_sibling_splice((OP*)unop, NULL((void*)0), 0, first); | |||
595 | return (OP *)unop; | |||
596 | } | |||
597 | ||||
598 | #define mkBINOP(t, f, l)THX_mkBINOP( (t), (f), (l)) THX_mkBINOP(aTHX_ (t), (f), (l)) | |||
599 | static OP * | |||
600 | THX_mkBINOP(pTHX_ U32 type, OP *first, OP *last) | |||
601 | { | |||
602 | BINOP *binop; | |||
603 | NewOp(1103, binop, 1, BINOP)(binop = (BINOP *) Perl_Slab_Alloc( 1*sizeof(BINOP))); | |||
604 | binop->op_type = (OPCODEU16)type; | |||
605 | op_sibling_splicePerl_op_sibling_splice((OP*)binop, NULL((void*)0), 0, last); | |||
606 | op_sibling_splicePerl_op_sibling_splice((OP*)binop, NULL((void*)0), 0, first); | |||
607 | return (OP *)binop; | |||
608 | } | |||
609 | ||||
610 | #define mkLISTOP(t, f, s, l)THX_mkLISTOP( (t), (f), (s), (l)) THX_mkLISTOP(aTHX_ (t), (f), (s), (l)) | |||
611 | static OP * | |||
612 | THX_mkLISTOP(pTHX_ U32 type, OP *first, OP *sib, OP *last) | |||
613 | { | |||
614 | LISTOP *listop; | |||
615 | NewOp(1103, listop, 1, LISTOP)(listop = (LISTOP *) Perl_Slab_Alloc( 1*sizeof(LISTOP))); | |||
616 | listop->op_type = (OPCODEU16)type; | |||
617 | op_sibling_splicePerl_op_sibling_splice((OP*)listop, NULL((void*)0), 0, last); | |||
618 | op_sibling_splicePerl_op_sibling_splice((OP*)listop, NULL((void*)0), 0, sib); | |||
619 | op_sibling_splicePerl_op_sibling_splice((OP*)listop, NULL((void*)0), 0, first); | |||
620 | return (OP *)listop; | |||
621 | } | |||
622 | ||||
623 | static char * | |||
624 | test_op_linklist_describe(OP *start) | |||
625 | { | |||
626 | SV *rv = sv_2mortal(newSVpvs(""))Perl_sv_2mortal( Perl_newSVpvn( ("" "" ""), (sizeof("")-1))); | |||
627 | OP *o; | |||
628 | o = start = LINKLIST(start)((start)->op_next ? (start)->op_next : Perl_op_linklist ( (OP*)start)); | |||
629 | do { | |||
630 | sv_catpvs(rv, ".")Perl_sv_catpvn_flags( rv, ("" "." ""), (sizeof(".")-1), 2); | |||
631 | sv_catpv(rv, OP_NAME(o))Perl_sv_catpv( rv,((o)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( o, XOPe_xop_name).xop_name) : PL_op_name[(o)->op_type])); | |||
632 | if (o->op_type == OP_CONST) | |||
633 | sv_catsv(rv, cSVOPo->op_sv)Perl_sv_catsv_flags( rv,((SVOP*)(o))->op_sv,2); | |||
634 | o = o->op_next; | |||
635 | } while (o && o != start); | |||
636 | return SvPVX(rv)((rv)->sv_u.svu_pv); | |||
637 | } | |||
638 | ||||
639 | /** establish_cleanup operator, ripped off from Scope::Cleanup **/ | |||
640 | ||||
641 | STATICstatic void | |||
642 | THX_run_cleanup(pTHX_ void *cleanup_code_ref) | |||
643 | { | |||
644 | dSPSV **sp = PL_stack_sp; | |||
645 | PUSHSTACKdo { PERL_SI *next = PL_curstackinfo->si_next; if (!next) { next = Perl_new_stackinfo( 32,2048/sizeof(PERL_CONTEXT) - 1) ; next->si_prev = PL_curstackinfo; PL_curstackinfo->si_next = next; } next->si_type = -1; next->si_cxix = -1; next ->si_cxsubix = -1; (void)0; ((XPVAV*) (next->si_stack)-> sv_any)->xav_fill = 0; do { ((XPVAV*) (PL_curstack)->sv_any )->xav_fill = sp - PL_stack_base; PL_stack_base = ((next-> si_stack)->sv_u.svu_array); PL_stack_max = PL_stack_base + ((XPVAV*) (next->si_stack)->sv_any)->xav_max; sp = PL_stack_sp = PL_stack_base + ((XPVAV*) (next->si_stack)->sv_any)-> xav_fill; PL_curstack = next->si_stack; } while (0); PL_curstackinfo = next; (void)0; } while (0); | |||
646 | ENTERPerl_push_scope(); | |||
647 | SAVETMPSPerl_savetmps(); | |||
648 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
649 | call_sv((SV*)cleanup_code_ref, G_VOID|G_DISCARD)Perl_call_sv( (SV*)cleanup_code_ref,1|0x4); | |||
650 | FREETMPSif (PL_tmps_ix > PL_tmps_floor) Perl_free_tmps(); | |||
651 | LEAVEPerl_pop_scope(); | |||
652 | POPSTACKdo { SV **sp = PL_stack_sp; PERL_SI * const prev = PL_curstackinfo ->si_prev; if (!prev) { Perl_croak_popstack(); } do { ((XPVAV *) (PL_curstack)->sv_any)->xav_fill = sp - PL_stack_base ; PL_stack_base = ((prev->si_stack)->sv_u.svu_array); PL_stack_max = PL_stack_base + ((XPVAV*) (prev->si_stack)->sv_any)-> xav_max; sp = PL_stack_sp = PL_stack_base + ((XPVAV*) (prev-> si_stack)->sv_any)->xav_fill; PL_curstack = prev->si_stack ; } while (0); PL_curstackinfo = prev; } while (0); | |||
653 | } | |||
654 | ||||
655 | STATICstatic OP * | |||
656 | THX_pp_establish_cleanup(pTHXvoid) | |||
657 | { | |||
658 | dSPSV **sp = PL_stack_sp; | |||
659 | SV *cleanup_code_ref; | |||
660 | cleanup_code_ref = newSVsv(POPs)Perl_newSVsv_flags( ((*sp--)),2|16); | |||
661 | SAVEFREESV(cleanup_code_ref)Perl_save_pushptr( (void *)(((SV *)({ void *_p = (cleanup_code_ref ); _p; }))),11); | |||
662 | SAVEDESTRUCTOR_X(THX_run_cleanup, cleanup_code_ref)Perl_save_destructor_x( (DESTRUCTORFUNC_t)(THX_run_cleanup),( void*)(cleanup_code_ref)); | |||
663 | if(GIMME_VPerl_gimme_V() != G_VOID1) PUSHs(&PL_sv_undef)(*++sp = (&(PL_sv_immortals[1]))); | |||
664 | RETURNreturn (PL_stack_sp = sp, PL_op->op_next); | |||
665 | } | |||
666 | ||||
667 | STATICstatic OP * | |||
668 | THX_ck_entersub_establish_cleanup(pTHX_ OP *entersubop, GV *namegv, SV *ckobj) | |||
669 | { | |||
670 | OP *parent, *pushop, *argop, *estop; | |||
671 | ck_entersub_args_proto(entersubop, namegv, ckobj)Perl_ck_entersub_args_proto( entersubop,namegv,ckobj); | |||
672 | parent = entersubop; | |||
673 | pushop = cUNOPx(entersubop)((UNOP*)(entersubop))->op_first; | |||
674 | if(!OpHAS_SIBLING(pushop)((((pushop)->op_moresib) ? (_Bool)1 : (_Bool)0))) { | |||
675 | parent = pushop; | |||
676 | pushop = cUNOPx(pushop)((UNOP*)(pushop))->op_first; | |||
677 | } | |||
678 | /* extract out first arg, then delete the rest of the tree */ | |||
679 | argop = OpSIBLING(pushop)(0 + (pushop)->op_moresib ? (pushop)->op_sibparent : (( void*)0)); | |||
680 | op_sibling_splicePerl_op_sibling_splice(parent, pushop, 1, NULL((void*)0)); | |||
681 | op_free(entersubop)Perl_op_free( entersubop); | |||
682 | ||||
683 | estop = mkUNOP(OP_RAND, argop)THX_mkUNOP( (OP_RAND), (argop)); | |||
684 | estop->op_ppaddr = THX_pp_establish_cleanup; | |||
685 | PL_hintsPL_compiling.cop_hints |= HINT_BLOCK_SCOPE0x00000100; | |||
686 | return estop; | |||
687 | } | |||
688 | ||||
689 | STATICstatic OP * | |||
690 | THX_ck_entersub_postinc(pTHX_ OP *entersubop, GV *namegv, SV *ckobj) | |||
691 | { | |||
692 | OP *parent, *pushop, *argop; | |||
693 | ck_entersub_args_proto(entersubop, namegv, ckobj)Perl_ck_entersub_args_proto( entersubop,namegv,ckobj); | |||
694 | parent = entersubop; | |||
695 | pushop = cUNOPx(entersubop)((UNOP*)(entersubop))->op_first; | |||
696 | if(!OpHAS_SIBLING(pushop)((((pushop)->op_moresib) ? (_Bool)1 : (_Bool)0))) { | |||
697 | parent = pushop; | |||
698 | pushop = cUNOPx(pushop)((UNOP*)(pushop))->op_first; | |||
699 | } | |||
700 | argop = OpSIBLING(pushop)(0 + (pushop)->op_moresib ? (pushop)->op_sibparent : (( void*)0)); | |||
701 | op_sibling_splicePerl_op_sibling_splice(parent, pushop, 1, NULL((void*)0)); | |||
702 | op_free(entersubop)Perl_op_free( entersubop); | |||
703 | return newUNOP(OP_POSTINC, 0,Perl_newUNOP( OP_POSTINC,0,Perl_op_lvalue_flags( Perl_op_contextualize ( argop,2),OP_POSTINC,0)) | |||
704 | op_lvalue(op_contextualize(argop, G_SCALAR), OP_POSTINC))Perl_newUNOP( OP_POSTINC,0,Perl_op_lvalue_flags( Perl_op_contextualize ( argop,2),OP_POSTINC,0)); | |||
705 | } | |||
706 | ||||
707 | STATICstatic OP * | |||
708 | THX_ck_entersub_pad_scalar(pTHX_ OP *entersubop, GV *namegv, SV *ckobj) | |||
709 | { | |||
710 | OP *pushop, *argop; | |||
711 | PADOFFSET padoff = NOT_IN_PAD((PADOFFSET) -1); | |||
712 | SV *a0, *a1; | |||
713 | ck_entersub_args_proto(entersubop, namegv, ckobj)Perl_ck_entersub_args_proto( entersubop,namegv,ckobj); | |||
714 | pushop = cUNOPx(entersubop)((UNOP*)(entersubop))->op_first; | |||
715 | if(!OpHAS_SIBLING(pushop)((((pushop)->op_moresib) ? (_Bool)1 : (_Bool)0))) | |||
716 | pushop = cUNOPx(pushop)((UNOP*)(pushop))->op_first; | |||
717 | argop = OpSIBLING(pushop)(0 + (pushop)->op_moresib ? (pushop)->op_sibparent : (( void*)0)); | |||
718 | if(argop->op_type != OP_CONST || OpSIBLING(argop)(0 + (argop)->op_moresib ? (argop)->op_sibparent : ((void *)0))->op_type != OP_CONST) | |||
719 | croakPerl_croak("bad argument expression type for pad_scalar()"); | |||
720 | a0 = cSVOPx_sv(argop)(((SVOP*)(argop))->op_sv); | |||
721 | a1 = cSVOPx_sv(OpSIBLING(argop))(((SVOP*)((0 + (argop)->op_moresib ? (argop)->op_sibparent : ((void*)0))))->op_sv); | |||
722 | switch(SvIV(a0)((((a0)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (a0)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( a0,2))) { | |||
723 | case 1: { | |||
724 | SV *namesv = sv_2mortal(newSVpvs("$"))Perl_sv_2mortal( Perl_newSVpvn( ("" "$" ""), (sizeof("$")-1)) ); | |||
725 | sv_catsv(namesv, a1)Perl_sv_catsv_flags( namesv,a1,2); | |||
726 | padoff = pad_findmy_sv(namesv, 0)Perl_pad_findmy_sv( namesv,0); | |||
727 | } break; | |||
728 | case 2: { | |||
729 | char *namepv; | |||
730 | STRLEN namelen; | |||
731 | SV *namesv = sv_2mortal(newSVpvs("$"))Perl_sv_2mortal( Perl_newSVpvn( ("" "$" ""), (sizeof("$")-1)) ); | |||
732 | sv_catsv(namesv, a1)Perl_sv_catsv_flags( namesv,a1,2); | |||
733 | namepv = SvPV(namesv, namelen)((((namesv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((namelen = ((XPV*) (namesv)->sv_any)->xpv_cur), (( namesv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( namesv,&namelen ,2)); | |||
734 | padoff = pad_findmy_pvn(namepv, namelen, SvUTF8(namesv))Perl_pad_findmy_pvn( namepv,namelen,((namesv)->sv_flags & 0x20000000)); | |||
735 | } break; | |||
736 | case 3: { | |||
737 | char *namepv; | |||
738 | SV *namesv = sv_2mortal(newSVpvs("$"))Perl_sv_2mortal( Perl_newSVpvn( ("" "$" ""), (sizeof("$")-1)) ); | |||
739 | sv_catsv(namesv, a1)Perl_sv_catsv_flags( namesv,a1,2); | |||
740 | namepv = SvPV_nolen(namesv)((((namesv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((namesv)->sv_u.svu_pv) : Perl_sv_2pv_flags( namesv,0, 2)); | |||
741 | padoff = pad_findmy_pv(namepv, SvUTF8(namesv))Perl_pad_findmy_pv( namepv,((namesv)->sv_flags & 0x20000000 )); | |||
742 | } break; | |||
743 | case 4: { | |||
744 | padoff = pad_findmy_pvs("$foo", 0)Perl_pad_findmy_pvn( ("" "$foo" ""), (sizeof("$foo")-1), 0); | |||
745 | } break; | |||
746 | default: croakPerl_croak("bad type value for pad_scalar()"); | |||
747 | } | |||
748 | op_free(entersubop)Perl_op_free( entersubop); | |||
749 | if(padoff == NOT_IN_PAD((PADOFFSET) -1)) { | |||
750 | return newSVOP(OP_CONST, 0, newSVpvs("NOT_IN_PAD"))Perl_newSVOP( OP_CONST,0,Perl_newSVpvn( ("" "NOT_IN_PAD" ""), (sizeof("NOT_IN_PAD")-1))); | |||
751 | } else if(PAD_COMPNAME_FLAGS_isOUR(padoff)(!!(((PL_comppad_name)->xpadnl_alloc[(padoff)]))->xpadn_ourstash )) { | |||
752 | return newSVOP(OP_CONST, 0, newSVpvs("NOT_MY"))Perl_newSVOP( OP_CONST,0,Perl_newSVpvn( ("" "NOT_MY" ""), (sizeof ("NOT_MY")-1))); | |||
753 | } else { | |||
754 | OP *padop = newOP(OP_PADSV, 0)Perl_newOP( OP_PADSV,0); | |||
755 | padop->op_targ = padoff; | |||
756 | return padop; | |||
757 | } | |||
758 | } | |||
759 | ||||
760 | /** RPN keyword parser **/ | |||
761 | ||||
762 | #define sv_is_glob(sv)(((svtype)((sv)->sv_flags & 0xff)) == SVt_PVGV) (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) == SVt_PVGV) | |||
763 | #define sv_is_regexp(sv)(((svtype)((sv)->sv_flags & 0xff)) == SVt_REGEXP) (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) == SVt_REGEXP) | |||
764 | #define sv_is_string(sv)(!(((svtype)((sv)->sv_flags & 0xff)) == SVt_PVGV) && !(((svtype)((sv)->sv_flags & 0xff)) == SVt_REGEXP) && ((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00001000 |0x00002000|0x00004000))) \ | |||
765 | (!sv_is_glob(sv)(((svtype)((sv)->sv_flags & 0xff)) == SVt_PVGV) && !sv_is_regexp(sv)(((svtype)((sv)->sv_flags & 0xff)) == SVt_REGEXP) && \ | |||
766 | (SvFLAGS(sv)(sv)->sv_flags & (SVf_IOK0x00000100|SVf_NOK0x00000200|SVf_POK0x00000400|SVp_IOK0x00001000|SVp_NOK0x00002000|SVp_POK0x00004000))) | |||
767 | ||||
768 | static SV *hintkey_rpn_sv, *hintkey_calcrpn_sv, *hintkey_stufftest_sv; | |||
769 | static SV *hintkey_swaptwostmts_sv, *hintkey_looprest_sv; | |||
770 | static SV *hintkey_scopelessblock_sv; | |||
771 | static SV *hintkey_stmtasexpr_sv, *hintkey_stmtsasexpr_sv; | |||
772 | static SV *hintkey_loopblock_sv, *hintkey_blockasexpr_sv; | |||
773 | static SV *hintkey_swaplabel_sv, *hintkey_labelconst_sv; | |||
774 | static SV *hintkey_arrayfullexpr_sv, *hintkey_arraylistexpr_sv; | |||
775 | static SV *hintkey_arraytermexpr_sv, *hintkey_arrayarithexpr_sv; | |||
776 | static SV *hintkey_arrayexprflags_sv; | |||
777 | static SV *hintkey_subsignature_sv; | |||
778 | static SV *hintkey_DEFSV_sv; | |||
779 | static SV *hintkey_with_vars_sv; | |||
780 | static SV *hintkey_join_with_space_sv; | |||
781 | static int (*next_keyword_plugin)(pTHX_ char *, STRLEN, OP **); | |||
782 | ||||
783 | /* low-level parser helpers */ | |||
784 | ||||
785 | #define PL_bufptr(PL_parser->bufptr) (PL_parser->bufptr) | |||
786 | #define PL_bufend(PL_parser->bufend) (PL_parser->bufend) | |||
787 | ||||
788 | /* RPN parser */ | |||
789 | ||||
790 | #define parse_var()THX_parse_var() THX_parse_var(aTHX) | |||
791 | static OP *THX_parse_var(pTHXvoid) | |||
792 | { | |||
793 | char *s = PL_bufptr(PL_parser->bufptr); | |||
794 | char *start = s; | |||
795 | PADOFFSET varpos; | |||
796 | OP *padop; | |||
797 | if(*s != '$') croakPerl_croak("RPN syntax error"); | |||
798 | while(1) { | |||
799 | char c = *++s; | |||
800 | if(!isALNUM(c)(( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (c)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) break; | |||
801 | } | |||
802 | if(s-start < 2) croakPerl_croak("RPN syntax error"); | |||
803 | lex_read_to(s)Perl_lex_read_to( s); | |||
804 | varpos = pad_findmy_pvn(start, s-start, 0)Perl_pad_findmy_pvn( start,s-start,0); | |||
805 | if(varpos == NOT_IN_PAD((PADOFFSET) -1) || PAD_COMPNAME_FLAGS_isOUR(varpos)(!!(((PL_comppad_name)->xpadnl_alloc[(varpos)]))->xpadn_ourstash )) | |||
806 | croakPerl_croak("RPN only supports \"my\" variables"); | |||
807 | padop = newOP(OP_PADSV, 0)Perl_newOP( OP_PADSV,0); | |||
808 | padop->op_targ = varpos; | |||
809 | return padop; | |||
810 | } | |||
811 | ||||
812 | #define push_rpn_item(o)Perl_op_sibling_splice(parent, ((void*)0), 0, o); \ | |||
813 | op_sibling_splicePerl_op_sibling_splice(parent, NULL((void*)0), 0, o); | |||
814 | #define pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))) ( \ | |||
815 | (tmpop = op_sibling_splicePerl_op_sibling_splice(parent, NULL((void*)0), 1, NULL((void*)0))) \ | |||
816 | ? tmpop : (croakPerl_croak("RPN stack underflow"), (OP*)NULL((void*)0))) | |||
817 | ||||
818 | #define parse_rpn_expr()THX_parse_rpn_expr() THX_parse_rpn_expr(aTHX) | |||
819 | static OP *THX_parse_rpn_expr(pTHXvoid) | |||
820 | { | |||
821 | OP *tmpop; | |||
822 | /* fake parent for splice to mess with */ | |||
823 | OP *parent = mkBINOP(OP_NULL, NULL, NULL)THX_mkBINOP( (OP_NULL), (((void*)0)), (((void*)0))); | |||
824 | ||||
825 | while(1) { | |||
826 | I32 c; | |||
827 | lex_read_space(0)Perl_lex_read_space( 0); | |||
828 | c = lex_peek_unichar(0)Perl_lex_peek_unichar( 0); | |||
829 | switch(c) { | |||
830 | case /*(*/')': case /*{*/'}': { | |||
831 | OP *result = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
832 | if(cLISTOPx(parent)((LISTOP*)(parent))->op_first) | |||
833 | croakPerl_croak("RPN expression must return a single value"); | |||
834 | op_free(parent)Perl_op_free( parent); | |||
835 | return result; | |||
836 | } break; | |||
837 | case '0': case '1': case '2': case '3': case '4': | |||
838 | case '5': case '6': case '7': case '8': case '9': { | |||
839 | UV val = 0; | |||
840 | do { | |||
841 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
842 | val = 10*val + (c - '0'); | |||
843 | c = lex_peek_unichar(0)Perl_lex_peek_unichar( 0); | |||
844 | } while(c >= '0' && c <= '9'); | |||
845 | push_rpn_item(newSVOP(OP_CONST, 0, newSVuv(val)))Perl_op_sibling_splice(parent, ((void*)0), 0, Perl_newSVOP( OP_CONST ,0,Perl_newSVuv( val)));; | |||
846 | } break; | |||
847 | case '$': { | |||
848 | push_rpn_item(parse_var())Perl_op_sibling_splice(parent, ((void*)0), 0, THX_parse_var() );; | |||
849 | } break; | |||
850 | case '+': { | |||
851 | OP *b = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
852 | OP *a = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
853 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
854 | push_rpn_item(newBINOP(OP_I_ADD, 0, a, b))Perl_op_sibling_splice(parent, ((void*)0), 0, Perl_newBINOP( OP_I_ADD ,0,a,b));; | |||
855 | } break; | |||
856 | case '-': { | |||
857 | OP *b = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
858 | OP *a = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
859 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
860 | push_rpn_item(newBINOP(OP_I_SUBTRACT, 0, a, b))Perl_op_sibling_splice(parent, ((void*)0), 0, Perl_newBINOP( OP_I_SUBTRACT ,0,a,b));; | |||
861 | } break; | |||
862 | case '*': { | |||
863 | OP *b = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
864 | OP *a = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
865 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
866 | push_rpn_item(newBINOP(OP_I_MULTIPLY, 0, a, b))Perl_op_sibling_splice(parent, ((void*)0), 0, Perl_newBINOP( OP_I_MULTIPLY ,0,a,b));; | |||
867 | } break; | |||
868 | case '/': { | |||
869 | OP *b = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
870 | OP *a = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
871 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
872 | push_rpn_item(newBINOP(OP_I_DIVIDE, 0, a, b))Perl_op_sibling_splice(parent, ((void*)0), 0, Perl_newBINOP( OP_I_DIVIDE ,0,a,b));; | |||
873 | } break; | |||
874 | case '%': { | |||
875 | OP *b = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
876 | OP *a = pop_rpn_item()( (tmpop = Perl_op_sibling_splice(parent, ((void*)0), 1, ((void *)0))) ? tmpop : (Perl_croak("RPN stack underflow"), (OP*)((void *)0))); | |||
877 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
878 | push_rpn_item(newBINOP(OP_I_MODULO, 0, a, b))Perl_op_sibling_splice(parent, ((void*)0), 0, Perl_newBINOP( OP_I_MODULO ,0,a,b));; | |||
879 | } break; | |||
880 | default: { | |||
881 | croakPerl_croak("RPN syntax error"); | |||
882 | } break; | |||
883 | } | |||
884 | } | |||
885 | } | |||
886 | ||||
887 | #define parse_keyword_rpn()THX_parse_keyword_rpn() THX_parse_keyword_rpn(aTHX) | |||
888 | static OP *THX_parse_keyword_rpn(pTHXvoid) | |||
889 | { | |||
890 | OP *op; | |||
891 | lex_read_space(0)Perl_lex_read_space( 0); | |||
892 | if(lex_peek_unichar(0)Perl_lex_peek_unichar( 0) != '('/*)*/) | |||
893 | croakPerl_croak("RPN expression must be parenthesised"); | |||
894 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
895 | op = parse_rpn_expr()THX_parse_rpn_expr(); | |||
896 | if(lex_peek_unichar(0)Perl_lex_peek_unichar( 0) != /*(*/')') | |||
897 | croakPerl_croak("RPN expression must be parenthesised"); | |||
898 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
899 | return op; | |||
900 | } | |||
901 | ||||
902 | #define parse_keyword_calcrpn()THX_parse_keyword_calcrpn() THX_parse_keyword_calcrpn(aTHX) | |||
903 | static OP *THX_parse_keyword_calcrpn(pTHXvoid) | |||
904 | { | |||
905 | OP *varop, *exprop; | |||
906 | lex_read_space(0)Perl_lex_read_space( 0); | |||
907 | varop = parse_var()THX_parse_var(); | |||
908 | lex_read_space(0)Perl_lex_read_space( 0); | |||
909 | if(lex_peek_unichar(0)Perl_lex_peek_unichar( 0) != '{'/*}*/) | |||
910 | croakPerl_croak("RPN expression must be braced"); | |||
911 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
912 | exprop = parse_rpn_expr()THX_parse_rpn_expr(); | |||
913 | if(lex_peek_unichar(0)Perl_lex_peek_unichar( 0) != /*{*/'}') | |||
914 | croakPerl_croak("RPN expression must be braced"); | |||
915 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
916 | return newASSIGNOP(OPf_STACKED, varop, 0, exprop)Perl_newASSIGNOP( 64,varop,0,exprop); | |||
917 | } | |||
918 | ||||
919 | #define parse_keyword_stufftest()THX_parse_keyword_stufftest() THX_parse_keyword_stufftest(aTHX) | |||
920 | static OP *THX_parse_keyword_stufftest(pTHXvoid) | |||
921 | { | |||
922 | I32 c; | |||
923 | bool_Bool do_stuff; | |||
924 | lex_read_space(0)Perl_lex_read_space( 0); | |||
925 | do_stuff = lex_peek_unichar(0)Perl_lex_peek_unichar( 0) == '+'; | |||
926 | if(do_stuff) { | |||
927 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
928 | lex_read_space(0)Perl_lex_read_space( 0); | |||
929 | } | |||
930 | c = lex_peek_unichar(0)Perl_lex_peek_unichar( 0); | |||
931 | if(c == ';') { | |||
932 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
933 | } else if(c != /*{*/'}') { | |||
934 | croakPerl_croak("syntax error"); | |||
935 | } | |||
936 | if(do_stuff) lex_stuff_pvs(" ", 0)Perl_lex_stuff_pvn( ("" " " ""), (sizeof(" ")-1), 0); | |||
937 | return newOP(OP_NULL, 0)Perl_newOP( OP_NULL,0); | |||
938 | } | |||
939 | ||||
940 | #define parse_keyword_swaptwostmts()THX_parse_keyword_swaptwostmts() THX_parse_keyword_swaptwostmts(aTHX) | |||
941 | static OP *THX_parse_keyword_swaptwostmts(pTHXvoid) | |||
942 | { | |||
943 | OP *a, *b; | |||
944 | a = parse_fullstmt(0)Perl_parse_fullstmt( 0); | |||
945 | b = parse_fullstmt(0)Perl_parse_fullstmt( 0); | |||
946 | if(a && b) | |||
947 | PL_hintsPL_compiling.cop_hints |= HINT_BLOCK_SCOPE0x00000100; | |||
948 | return op_append_list(OP_LINESEQ, b, a)Perl_op_append_list( OP_LINESEQ,b,a); | |||
949 | } | |||
950 | ||||
951 | #define parse_keyword_looprest()THX_parse_keyword_looprest() THX_parse_keyword_looprest(aTHX) | |||
952 | static OP *THX_parse_keyword_looprest(pTHXvoid) | |||
953 | { | |||
954 | return newWHILEOP(0, 1, NULL, newSVOP(OP_CONST, 0, &PL_sv_yes),Perl_newWHILEOP( 0,1,((void*)0),Perl_newSVOP( OP_CONST,0,& (PL_sv_immortals[0])),Perl_parse_stmtseq( 0),((void*)0),1) | |||
955 | parse_stmtseq(0), NULL, 1)Perl_newWHILEOP( 0,1,((void*)0),Perl_newSVOP( OP_CONST,0,& (PL_sv_immortals[0])),Perl_parse_stmtseq( 0),((void*)0),1); | |||
956 | } | |||
957 | ||||
958 | #define parse_keyword_scopelessblock()THX_parse_keyword_scopelessblock() THX_parse_keyword_scopelessblock(aTHX) | |||
959 | static OP *THX_parse_keyword_scopelessblock(pTHXvoid) | |||
960 | { | |||
961 | I32 c; | |||
962 | OP *body; | |||
963 | lex_read_space(0)Perl_lex_read_space( 0); | |||
964 | if(lex_peek_unichar(0)Perl_lex_peek_unichar( 0) != '{'/*}*/) croakPerl_croak("syntax error"); | |||
965 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
966 | body = parse_stmtseq(0)Perl_parse_stmtseq( 0); | |||
967 | c = lex_peek_unichar(0)Perl_lex_peek_unichar( 0); | |||
968 | if(c != /*{*/'}' && c != /*[*/']' && c != /*(*/')') croakPerl_croak("syntax error"); | |||
969 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
970 | return body; | |||
971 | } | |||
972 | ||||
973 | #define parse_keyword_stmtasexpr()THX_parse_keyword_stmtasexpr() THX_parse_keyword_stmtasexpr(aTHX) | |||
974 | static OP *THX_parse_keyword_stmtasexpr(pTHXvoid) | |||
975 | { | |||
976 | OP *o = parse_barestmt(0)Perl_parse_barestmt( 0); | |||
977 | if (!o) o = newOP(OP_STUB, 0)Perl_newOP( OP_STUB,0); | |||
978 | if (PL_hintsPL_compiling.cop_hints & HINT_BLOCK_SCOPE0x00000100) o->op_flags |= OPf_PARENS8; | |||
979 | return op_scope(o)Perl_op_scope( o); | |||
980 | } | |||
981 | ||||
982 | #define parse_keyword_stmtsasexpr()THX_parse_keyword_stmtsasexpr() THX_parse_keyword_stmtsasexpr(aTHX) | |||
983 | static OP *THX_parse_keyword_stmtsasexpr(pTHXvoid) | |||
984 | { | |||
985 | OP *o; | |||
986 | lex_read_space(0)Perl_lex_read_space( 0); | |||
987 | if(lex_peek_unichar(0)Perl_lex_peek_unichar( 0) != '{'/*}*/) croakPerl_croak("syntax error"); | |||
988 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
989 | o = parse_stmtseq(0)Perl_parse_stmtseq( 0); | |||
990 | lex_read_space(0)Perl_lex_read_space( 0); | |||
991 | if(lex_peek_unichar(0)Perl_lex_peek_unichar( 0) != /*{*/'}') croakPerl_croak("syntax error"); | |||
992 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
993 | if (!o) o = newOP(OP_STUB, 0)Perl_newOP( OP_STUB,0); | |||
994 | if (PL_hintsPL_compiling.cop_hints & HINT_BLOCK_SCOPE0x00000100) o->op_flags |= OPf_PARENS8; | |||
995 | return op_scope(o)Perl_op_scope( o); | |||
996 | } | |||
997 | ||||
998 | #define parse_keyword_loopblock()THX_parse_keyword_loopblock() THX_parse_keyword_loopblock(aTHX) | |||
999 | static OP *THX_parse_keyword_loopblock(pTHXvoid) | |||
1000 | { | |||
1001 | return newWHILEOP(0, 1, NULL, newSVOP(OP_CONST, 0, &PL_sv_yes),Perl_newWHILEOP( 0,1,((void*)0),Perl_newSVOP( OP_CONST,0,& (PL_sv_immortals[0])),Perl_parse_block( 0),((void*)0),1) | |||
1002 | parse_block(0), NULL, 1)Perl_newWHILEOP( 0,1,((void*)0),Perl_newSVOP( OP_CONST,0,& (PL_sv_immortals[0])),Perl_parse_block( 0),((void*)0),1); | |||
1003 | } | |||
1004 | ||||
1005 | #define parse_keyword_blockasexpr()THX_parse_keyword_blockasexpr() THX_parse_keyword_blockasexpr(aTHX) | |||
1006 | static OP *THX_parse_keyword_blockasexpr(pTHXvoid) | |||
1007 | { | |||
1008 | OP *o = parse_block(0)Perl_parse_block( 0); | |||
1009 | if (!o) o = newOP(OP_STUB, 0)Perl_newOP( OP_STUB,0); | |||
1010 | if (PL_hintsPL_compiling.cop_hints & HINT_BLOCK_SCOPE0x00000100) o->op_flags |= OPf_PARENS8; | |||
1011 | return op_scope(o)Perl_op_scope( o); | |||
1012 | } | |||
1013 | ||||
1014 | #define parse_keyword_swaplabel()THX_parse_keyword_swaplabel() THX_parse_keyword_swaplabel(aTHX) | |||
1015 | static OP *THX_parse_keyword_swaplabel(pTHXvoid) | |||
1016 | { | |||
1017 | OP *sop = parse_barestmt(0)Perl_parse_barestmt( 0); | |||
1018 | SV *label = parse_label(PARSE_OPTIONAL)Perl_parse_label( 0x00000001); | |||
1019 | if (label) sv_2mortal(label)Perl_sv_2mortal( label); | |||
1020 | return newSTATEOP(label ? SvUTF8(label) : 0,Perl_newSTATEOP( label ? ((label)->sv_flags & 0x20000000 ) : 0,label ? Perl_savepv( ((label)->sv_u.svu_pv)) : ((void *)0),sop) | |||
1021 | label ? savepv(SvPVX(label)) : NULL,Perl_newSTATEOP( label ? ((label)->sv_flags & 0x20000000 ) : 0,label ? Perl_savepv( ((label)->sv_u.svu_pv)) : ((void *)0),sop) | |||
1022 | sop)Perl_newSTATEOP( label ? ((label)->sv_flags & 0x20000000 ) : 0,label ? Perl_savepv( ((label)->sv_u.svu_pv)) : ((void *)0),sop); | |||
1023 | } | |||
1024 | ||||
1025 | #define parse_keyword_labelconst()THX_parse_keyword_labelconst() THX_parse_keyword_labelconst(aTHX) | |||
1026 | static OP *THX_parse_keyword_labelconst(pTHXvoid) | |||
1027 | { | |||
1028 | return newSVOP(OP_CONST, 0, parse_label(0))Perl_newSVOP( OP_CONST,0,Perl_parse_label( 0)); | |||
1029 | } | |||
1030 | ||||
1031 | #define parse_keyword_arrayfullexpr()THX_parse_keyword_arrayfullexpr() THX_parse_keyword_arrayfullexpr(aTHX) | |||
1032 | static OP *THX_parse_keyword_arrayfullexpr(pTHXvoid) | |||
1033 | { | |||
1034 | return newANONLIST(parse_fullexpr(0))Perl_newANONLIST( Perl_parse_fullexpr( 0)); | |||
1035 | } | |||
1036 | ||||
1037 | #define parse_keyword_arraylistexpr()THX_parse_keyword_arraylistexpr() THX_parse_keyword_arraylistexpr(aTHX) | |||
1038 | static OP *THX_parse_keyword_arraylistexpr(pTHXvoid) | |||
1039 | { | |||
1040 | return newANONLIST(parse_listexpr(0))Perl_newANONLIST( Perl_parse_listexpr( 0)); | |||
1041 | } | |||
1042 | ||||
1043 | #define parse_keyword_arraytermexpr()THX_parse_keyword_arraytermexpr() THX_parse_keyword_arraytermexpr(aTHX) | |||
1044 | static OP *THX_parse_keyword_arraytermexpr(pTHXvoid) | |||
1045 | { | |||
1046 | return newANONLIST(parse_termexpr(0))Perl_newANONLIST( Perl_parse_termexpr( 0)); | |||
1047 | } | |||
1048 | ||||
1049 | #define parse_keyword_arrayarithexpr()THX_parse_keyword_arrayarithexpr() THX_parse_keyword_arrayarithexpr(aTHX) | |||
1050 | static OP *THX_parse_keyword_arrayarithexpr(pTHXvoid) | |||
1051 | { | |||
1052 | return newANONLIST(parse_arithexpr(0))Perl_newANONLIST( Perl_parse_arithexpr( 0)); | |||
1053 | } | |||
1054 | ||||
1055 | #define parse_keyword_arrayexprflags()THX_parse_keyword_arrayexprflags() THX_parse_keyword_arrayexprflags(aTHX) | |||
1056 | static OP *THX_parse_keyword_arrayexprflags(pTHXvoid) | |||
1057 | { | |||
1058 | U32 flags = 0; | |||
1059 | I32 c; | |||
1060 | OP *o; | |||
1061 | lex_read_space(0)Perl_lex_read_space( 0); | |||
1062 | c = lex_peek_unichar(0)Perl_lex_peek_unichar( 0); | |||
1063 | if (c != '!' && c != '?') croakPerl_croak("syntax error"); | |||
1064 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
1065 | if (c == '?') flags |= PARSE_OPTIONAL0x00000001; | |||
1066 | o = parse_listexpr(flags)Perl_parse_listexpr( flags); | |||
1067 | return o ? newANONLIST(o)Perl_newANONLIST( o) : newANONHASH(newOP(OP_STUB, 0))Perl_newANONHASH( Perl_newOP( OP_STUB,0)); | |||
1068 | } | |||
1069 | ||||
1070 | #define parse_keyword_subsignature()THX_parse_keyword_subsignature() THX_parse_keyword_subsignature(aTHX) | |||
1071 | static OP *THX_parse_keyword_subsignature(pTHXvoid) | |||
1072 | { | |||
1073 | OP *retop = NULL((void*)0), *listop, *sigop = parse_subsignature(0)Perl_parse_subsignature( 0); | |||
1074 | OP *kid; | |||
1075 | int seen_nextstate = 0; | |||
1076 | ||||
1077 | /* We can't yield the optree as is to the caller because it won't be | |||
1078 | * executable outside of a called sub. We'll have to convert it into | |||
1079 | * something safe for them to invoke. | |||
1080 | * sigop should be an OP_NULL above a OP_LINESEQ containing | |||
1081 | * OP_NEXTSTATE-separated OP_ARGCHECK and OP_ARGELEMs | |||
1082 | */ | |||
1083 | if(sigop->op_type != OP_NULL) | |||
1084 | croakPerl_croak("Expected parse_subsignature() to yield an OP_NULL"); | |||
1085 | ||||
1086 | if(!(sigop->op_flags & OPf_KIDS4)) | |||
1087 | croakPerl_croak("Expected parse_subsignature() to yield an OP_NULL with kids"); | |||
1088 | listop = cUNOPx(sigop)((UNOP*)(sigop))->op_first; | |||
1089 | ||||
1090 | if(listop->op_type != OP_LINESEQ) | |||
1091 | croakPerl_croak("Expected parse_subsignature() to yield an OP_LINESEQ"); | |||
1092 | ||||
1093 | for(kid = cLISTOPx(listop)((LISTOP*)(listop))->op_first; kid; kid = OpSIBLING(kid)(0 + (kid)->op_moresib ? (kid)->op_sibparent : ((void*) 0))) { | |||
1094 | switch(kid->op_type) { | |||
1095 | case OP_NEXTSTATE: | |||
1096 | /* Only emit the first one otherwise they get boring */ | |||
1097 | if(seen_nextstate) | |||
1098 | break; | |||
1099 | seen_nextstate++; | |||
1100 | retop = op_append_list(OP_LIST, retop, newSVOP(OP_CONST, 0,Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf ("nextstate:%u", (unsigned int)((COP*)(kid))->cop_line))) | |||
1101 | /* newSVpvf("nextstate:%s:%d", CopFILE(cCOPx(kid)), cCOPx(kid)->cop_line))); */Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf ("nextstate:%u", (unsigned int)((COP*)(kid))->cop_line))) | |||
1102 | newSVpvf("nextstate:%u", (unsigned int)cCOPx(kid)->cop_line)))Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf ("nextstate:%u", (unsigned int)((COP*)(kid))->cop_line))); | |||
1103 | break; | |||
1104 | case OP_ARGCHECK: { | |||
1105 | struct op_argcheck_aux *p = | |||
1106 | (struct op_argcheck_aux*)(cUNOP_AUXx(kid)((UNOP_AUX*)(kid))->op_aux); | |||
1107 | retop = op_append_list(OP_LIST, retop, newSVOP(OP_CONST, 0,Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf ("argcheck:%" "lu" ":%" "lu" ":%c", p->params, p->opt_params , p->slurpy ? p->slurpy : '-'))) | |||
1108 | newSVpvf("argcheck:%" UVuf ":%" UVuf ":%c",Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf ("argcheck:%" "lu" ":%" "lu" ":%c", p->params, p->opt_params , p->slurpy ? p->slurpy : '-'))) | |||
1109 | p->params, p->opt_params,Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf ("argcheck:%" "lu" ":%" "lu" ":%c", p->params, p->opt_params , p->slurpy ? p->slurpy : '-'))) | |||
1110 | p->slurpy ? p->slurpy : '-')))Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf ("argcheck:%" "lu" ":%" "lu" ":%c", p->params, p->opt_params , p->slurpy ? p->slurpy : '-'))); | |||
1111 | break; | |||
1112 | } | |||
1113 | case OP_ARGELEM: { | |||
1114 | PADOFFSET padix = kid->op_targ; | |||
1115 | PADNAMELIST *names = PadlistNAMES(CvPADLIST(find_runcv(0)))*((PADNAMELIST **)((*( &(((XPVCV*)({ void *_p = ((Perl_find_runcv ( 0))->sv_any); _p; }))->xcv_padlist_u.xcv_padlist))))-> xpadl_arr.xpadlarr_alloc); | |||
1116 | char *namepv = PadnamePV(padnamelist_fetch(names, padix))(Perl_padnamelist_fetch(names, padix))->xpadn_pv; | |||
1117 | retop = op_append_list(OP_LIST, retop, newSVOP(OP_CONST, 0,Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf (kid->op_flags & 4 ? "argelem:%s:d" : "argelem:%s", namepv ))) | |||
1118 | newSVpvf(kid->op_flags & OPf_KIDS ? "argelem:%s:d" : "argelem:%s", namepv)))Perl_op_append_list( OP_LIST,retop,Perl_newSVOP( OP_CONST,0,Perl_newSVpvf (kid->op_flags & 4 ? "argelem:%s:d" : "argelem:%s", namepv ))); | |||
1119 | break; | |||
1120 | } | |||
1121 | default: | |||
1122 | fprintfPerlIO_printf(stderrPerl_PerlIO_stderr(), "TODO: examine kid %p (optype=%s)\n", kid, PL_op_name[kid->op_type]); | |||
1123 | break; | |||
1124 | } | |||
1125 | } | |||
1126 | ||||
1127 | op_free(sigop)Perl_op_free( sigop); | |||
1128 | return newANONLIST(retop)Perl_newANONLIST( retop); | |||
1129 | } | |||
1130 | ||||
1131 | #define parse_keyword_DEFSV()THX_parse_keyword_DEFSV() THX_parse_keyword_DEFSV(aTHX) | |||
1132 | static OP *THX_parse_keyword_DEFSV(pTHXvoid) | |||
1133 | { | |||
1134 | return newDEFSVOP()Perl_newDEFSVOP(); | |||
1135 | } | |||
1136 | ||||
1137 | #define sv_cat_c(a,b)THX_sv_cat_c( a, b) THX_sv_cat_c(aTHX_ a, b) | |||
1138 | static void THX_sv_cat_c(pTHX_ SV *sv, U32 c) { | |||
1139 | char ds[UTF8_MAXBYTES13 + 1], *d; | |||
1140 | d = (char *)uvchr_to_utf8((U8 *)ds, c)Perl_uvoffuni_to_utf8_flags_msgs( (U8 *)ds,((UV) ((c) | 0)),0 ,0); | |||
1141 | if (d - ds > 1) { | |||
1142 | sv_utf8_upgrade(sv)Perl_sv_utf8_upgrade_flags_grow( sv,2,0); | |||
1143 | } | |||
1144 | sv_catpvn(sv, ds, d - ds)Perl_sv_catpvn_flags( sv,ds,d - ds,2); | |||
1145 | } | |||
1146 | ||||
1147 | #define parse_keyword_with_vars()THX_parse_keyword_with_vars() THX_parse_keyword_with_vars(aTHX) | |||
1148 | static OP *THX_parse_keyword_with_vars(pTHXvoid) | |||
1149 | { | |||
1150 | I32 c; | |||
1151 | IV count; | |||
1152 | int save_ix; | |||
1153 | OP *vardeclseq, *body; | |||
1154 | ||||
1155 | save_ix = block_start(TRUE)Perl_block_start( (1)); | |||
1156 | vardeclseq = NULL((void*)0); | |||
1157 | ||||
1158 | count = 0; | |||
1159 | ||||
1160 | lex_read_space(0)Perl_lex_read_space( 0); | |||
1161 | c = lex_peek_unichar(0)Perl_lex_peek_unichar( 0); | |||
1162 | while (c != '{') { | |||
1163 | SV *varname; | |||
1164 | PADOFFSET padoff; | |||
1165 | ||||
1166 | if (c == -1) { | |||
1167 | croakPerl_croak("unexpected EOF; expecting '{'"); | |||
1168 | } | |||
1169 | ||||
1170 | if (!isIDFIRST_uni(c)((c) < 256 ? ((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF)) && (PL_charclass[(U8) (c)] & (1U << (16)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_perl_idstart( c ))) { | |||
1171 | croakPerl_croak("unexpected '%c'; expecting an identifier", (int)c); | |||
1172 | } | |||
1173 | ||||
1174 | varname = newSVpvs("$")Perl_newSVpvn( ("" "$" ""), (sizeof("$")-1)); | |||
1175 | if (lex_bufutf8()Perl_lex_bufutf8()) { | |||
1176 | SvUTF8_on(varname)((varname)->sv_flags |= (0x20000000)); | |||
1177 | } | |||
1178 | ||||
1179 | sv_cat_c(varname, c)THX_sv_cat_c( varname, c); | |||
1180 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
1181 | ||||
1182 | while (c = lex_peek_unichar(0)Perl_lex_peek_unichar( 0), c != -1 && isIDCONT_uni(c)((c) < 256 ? ((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF)) && (PL_charclass[(U8) (c)] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_perl_idcont( c) )) { | |||
1183 | sv_cat_c(varname, c)THX_sv_cat_c( varname, c); | |||
1184 | lex_read_unichar(0)Perl_lex_read_unichar( 0); | |||
1185 | } | |||
1186 | ||||
1187 | padoff = pad_add_name_sv(varname, padadd_NO_DUP_CHECK, NULL, NULL)Perl_pad_add_name_sv( varname,0x04,((void*)0),((void*)0)); | |||
1188 | ||||
1189 | { | |||
1190 | OP *my_var = newOP(OP_PADSV, OPf_MOD | (OPpLVAL_INTRO << 8))Perl_newOP( OP_PADSV,32 | (0x80 << 8)); | |||
1191 | my_var->op_targ = padoff; | |||
1192 | ||||
1193 | vardeclseq = op_append_list(Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1194 | OP_LINESEQ,Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1195 | vardeclseq,Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1196 | newSTATEOP(Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1197 | 0, NULL,Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1198 | newASSIGNOP(Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1199 | OPf_STACKED,Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1200 | my_var, 0,Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1201 | newSVOP(Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1202 | OP_CONST, 0,Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1203 | newSViv(++count)Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1204 | )Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1205 | )Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1206 | )Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))) | |||
1207 | )Perl_op_append_list( OP_LINESEQ,vardeclseq,Perl_newSTATEOP( 0 ,((void*)0),Perl_newASSIGNOP( 64,my_var,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( ++count))))); | |||
1208 | } | |||
1209 | ||||
1210 | lex_read_space(0)Perl_lex_read_space( 0); | |||
1211 | c = lex_peek_unichar(0)Perl_lex_peek_unichar( 0); | |||
1212 | } | |||
1213 | ||||
1214 | intro_my()Perl_intro_my(); | |||
1215 | ||||
1216 | body = parse_block(0)Perl_parse_block( 0); | |||
1217 | ||||
1218 | return block_end(save_ix, op_append_list(OP_LINESEQ, vardeclseq, body))Perl_block_end( save_ix,Perl_op_append_list( OP_LINESEQ,vardeclseq ,body)); | |||
1219 | } | |||
1220 | ||||
1221 | #define parse_join_with_space()THX_parse_join_with_space() THX_parse_join_with_space(aTHX) | |||
1222 | static OP *THX_parse_join_with_space(pTHXvoid) | |||
1223 | { | |||
1224 | OP *delim, *args; | |||
1225 | ||||
1226 | args = parse_listexpr(0)Perl_parse_listexpr( 0); | |||
1227 | delim = newSVOP(OP_CONST, 0, newSVpvs(" "))Perl_newSVOP( OP_CONST,0,Perl_newSVpvn( ("" " " ""), (sizeof( " ")-1))); | |||
1228 | return op_convert_list(OP_JOIN, 0, op_prepend_elem(OP_LIST, delim, args))Perl_op_convert_list( OP_JOIN,0,Perl_op_prepend_elem( OP_LIST ,delim,args)); | |||
1229 | } | |||
1230 | ||||
1231 | /* plugin glue */ | |||
1232 | ||||
1233 | #define keyword_active(hintkey_sv)THX_keyword_active( hintkey_sv) THX_keyword_active(aTHX_ hintkey_sv) | |||
1234 | static int THX_keyword_active(pTHX_ SV *hintkey_sv) | |||
1235 | { | |||
1236 | HE *he; | |||
1237 | if(!GvHV(PL_hintgv)(((0+(PL_hintgv)->sv_u.svu_gp))->gp_hv)) return 0; | |||
1238 | he = hv_fetch_ent(GvHV(PL_hintgv), hintkey_sv, 0,((HE *) Perl_hv_common( ((((0+(PL_hintgv)->sv_u.svu_gp))-> gp_hv)),(hintkey_sv),((void*)0),0,0,((0) ? 0x10 : 0),((void*) 0),((0 + ((struct hek*)(((const char*)(0 + (hintkey_sv)->sv_u .svu_pv)) - __builtin_offsetof(struct hek, hek_key)))->hek_hash )))) | |||
1239 | SvSHARED_HASH(hintkey_sv))((HE *) Perl_hv_common( ((((0+(PL_hintgv)->sv_u.svu_gp))-> gp_hv)),(hintkey_sv),((void*)0),0,0,((0) ? 0x10 : 0),((void*) 0),((0 + ((struct hek*)(((const char*)(0 + (hintkey_sv)->sv_u .svu_pv)) - __builtin_offsetof(struct hek, hek_key)))->hek_hash )))); | |||
1240 | return he && SvTRUE(HeVAL(he))Perl_SvTRUE( (he)->he_valu.hent_val); | |||
1241 | } | |||
1242 | ||||
1243 | static int my_keyword_plugin(pTHX_ | |||
1244 | char *keyword_ptr, STRLEN keyword_len, OP **op_ptr) | |||
1245 | { | |||
1246 | if (memEQs(keyword_ptr, keyword_len, "rpn")(((sizeof("rpn")-1) == (keyword_len)) && (memcmp(((const void *) ((keyword_ptr))), ((const void *) (("" "rpn" ""))), ( sizeof("rpn")-1)) == 0)) && | |||
1247 | keyword_active(hintkey_rpn_sv)THX_keyword_active( hintkey_rpn_sv)) { | |||
1248 | *op_ptr = parse_keyword_rpn()THX_parse_keyword_rpn(); | |||
1249 | return KEYWORD_PLUGIN_EXPR2; | |||
1250 | } else if (memEQs(keyword_ptr, keyword_len, "calcrpn")(((sizeof("calcrpn")-1) == (keyword_len)) && (memcmp( ((const void *) ((keyword_ptr))), ((const void *) (("" "calcrpn" ""))), (sizeof("calcrpn")-1)) == 0)) && | |||
1251 | keyword_active(hintkey_calcrpn_sv)THX_keyword_active( hintkey_calcrpn_sv)) { | |||
1252 | *op_ptr = parse_keyword_calcrpn()THX_parse_keyword_calcrpn(); | |||
1253 | return KEYWORD_PLUGIN_STMT1; | |||
1254 | } else if (memEQs(keyword_ptr, keyword_len, "stufftest")(((sizeof("stufftest")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "stufftest" ""))), (sizeof("stufftest")-1)) == 0)) && | |||
1255 | keyword_active(hintkey_stufftest_sv)THX_keyword_active( hintkey_stufftest_sv)) { | |||
1256 | *op_ptr = parse_keyword_stufftest()THX_parse_keyword_stufftest(); | |||
1257 | return KEYWORD_PLUGIN_STMT1; | |||
1258 | } else if (memEQs(keyword_ptr, keyword_len, "swaptwostmts")(((sizeof("swaptwostmts")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "swaptwostmts" ""))), (sizeof("swaptwostmts")-1)) == 0)) && | |||
1259 | keyword_active(hintkey_swaptwostmts_sv)THX_keyword_active( hintkey_swaptwostmts_sv)) { | |||
1260 | *op_ptr = parse_keyword_swaptwostmts()THX_parse_keyword_swaptwostmts(); | |||
1261 | return KEYWORD_PLUGIN_STMT1; | |||
1262 | } else if (memEQs(keyword_ptr, keyword_len, "looprest")(((sizeof("looprest")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "looprest" ""))), (sizeof("looprest")-1)) == 0)) && | |||
1263 | keyword_active(hintkey_looprest_sv)THX_keyword_active( hintkey_looprest_sv)) { | |||
1264 | *op_ptr = parse_keyword_looprest()THX_parse_keyword_looprest(); | |||
1265 | return KEYWORD_PLUGIN_STMT1; | |||
1266 | } else if (memEQs(keyword_ptr, keyword_len, "scopelessblock")(((sizeof("scopelessblock")-1) == (keyword_len)) && ( memcmp(((const void *) ((keyword_ptr))), ((const void *) (("" "scopelessblock" ""))), (sizeof("scopelessblock")-1)) == 0)) && | |||
1267 | keyword_active(hintkey_scopelessblock_sv)THX_keyword_active( hintkey_scopelessblock_sv)) { | |||
1268 | *op_ptr = parse_keyword_scopelessblock()THX_parse_keyword_scopelessblock(); | |||
1269 | return KEYWORD_PLUGIN_STMT1; | |||
1270 | } else if (memEQs(keyword_ptr, keyword_len, "stmtasexpr")(((sizeof("stmtasexpr")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "stmtasexpr" ""))), (sizeof("stmtasexpr")-1)) == 0)) && | |||
1271 | keyword_active(hintkey_stmtasexpr_sv)THX_keyword_active( hintkey_stmtasexpr_sv)) { | |||
1272 | *op_ptr = parse_keyword_stmtasexpr()THX_parse_keyword_stmtasexpr(); | |||
1273 | return KEYWORD_PLUGIN_EXPR2; | |||
1274 | } else if (memEQs(keyword_ptr, keyword_len, "stmtsasexpr")(((sizeof("stmtsasexpr")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "stmtsasexpr" ""))), (sizeof("stmtsasexpr")-1)) == 0)) && | |||
1275 | keyword_active(hintkey_stmtsasexpr_sv)THX_keyword_active( hintkey_stmtsasexpr_sv)) { | |||
1276 | *op_ptr = parse_keyword_stmtsasexpr()THX_parse_keyword_stmtsasexpr(); | |||
1277 | return KEYWORD_PLUGIN_EXPR2; | |||
1278 | } else if (memEQs(keyword_ptr, keyword_len, "loopblock")(((sizeof("loopblock")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "loopblock" ""))), (sizeof("loopblock")-1)) == 0)) && | |||
1279 | keyword_active(hintkey_loopblock_sv)THX_keyword_active( hintkey_loopblock_sv)) { | |||
1280 | *op_ptr = parse_keyword_loopblock()THX_parse_keyword_loopblock(); | |||
1281 | return KEYWORD_PLUGIN_STMT1; | |||
1282 | } else if (memEQs(keyword_ptr, keyword_len, "blockasexpr")(((sizeof("blockasexpr")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "blockasexpr" ""))), (sizeof("blockasexpr")-1)) == 0)) && | |||
1283 | keyword_active(hintkey_blockasexpr_sv)THX_keyword_active( hintkey_blockasexpr_sv)) { | |||
1284 | *op_ptr = parse_keyword_blockasexpr()THX_parse_keyword_blockasexpr(); | |||
1285 | return KEYWORD_PLUGIN_EXPR2; | |||
1286 | } else if (memEQs(keyword_ptr, keyword_len, "swaplabel")(((sizeof("swaplabel")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "swaplabel" ""))), (sizeof("swaplabel")-1)) == 0)) && | |||
1287 | keyword_active(hintkey_swaplabel_sv)THX_keyword_active( hintkey_swaplabel_sv)) { | |||
1288 | *op_ptr = parse_keyword_swaplabel()THX_parse_keyword_swaplabel(); | |||
1289 | return KEYWORD_PLUGIN_STMT1; | |||
1290 | } else if (memEQs(keyword_ptr, keyword_len, "labelconst")(((sizeof("labelconst")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "labelconst" ""))), (sizeof("labelconst")-1)) == 0)) && | |||
1291 | keyword_active(hintkey_labelconst_sv)THX_keyword_active( hintkey_labelconst_sv)) { | |||
1292 | *op_ptr = parse_keyword_labelconst()THX_parse_keyword_labelconst(); | |||
1293 | return KEYWORD_PLUGIN_EXPR2; | |||
1294 | } else if (memEQs(keyword_ptr, keyword_len, "arrayfullexpr")(((sizeof("arrayfullexpr")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "arrayfullexpr" ""))), (sizeof("arrayfullexpr")-1)) == 0)) && | |||
1295 | keyword_active(hintkey_arrayfullexpr_sv)THX_keyword_active( hintkey_arrayfullexpr_sv)) { | |||
1296 | *op_ptr = parse_keyword_arrayfullexpr()THX_parse_keyword_arrayfullexpr(); | |||
1297 | return KEYWORD_PLUGIN_EXPR2; | |||
1298 | } else if (memEQs(keyword_ptr, keyword_len, "arraylistexpr")(((sizeof("arraylistexpr")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "arraylistexpr" ""))), (sizeof("arraylistexpr")-1)) == 0)) && | |||
1299 | keyword_active(hintkey_arraylistexpr_sv)THX_keyword_active( hintkey_arraylistexpr_sv)) { | |||
1300 | *op_ptr = parse_keyword_arraylistexpr()THX_parse_keyword_arraylistexpr(); | |||
1301 | return KEYWORD_PLUGIN_EXPR2; | |||
1302 | } else if (memEQs(keyword_ptr, keyword_len, "arraytermexpr")(((sizeof("arraytermexpr")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "arraytermexpr" ""))), (sizeof("arraytermexpr")-1)) == 0)) && | |||
1303 | keyword_active(hintkey_arraytermexpr_sv)THX_keyword_active( hintkey_arraytermexpr_sv)) { | |||
1304 | *op_ptr = parse_keyword_arraytermexpr()THX_parse_keyword_arraytermexpr(); | |||
1305 | return KEYWORD_PLUGIN_EXPR2; | |||
1306 | } else if (memEQs(keyword_ptr, keyword_len, "arrayarithexpr")(((sizeof("arrayarithexpr")-1) == (keyword_len)) && ( memcmp(((const void *) ((keyword_ptr))), ((const void *) (("" "arrayarithexpr" ""))), (sizeof("arrayarithexpr")-1)) == 0)) && | |||
1307 | keyword_active(hintkey_arrayarithexpr_sv)THX_keyword_active( hintkey_arrayarithexpr_sv)) { | |||
1308 | *op_ptr = parse_keyword_arrayarithexpr()THX_parse_keyword_arrayarithexpr(); | |||
1309 | return KEYWORD_PLUGIN_EXPR2; | |||
1310 | } else if (memEQs(keyword_ptr, keyword_len, "arrayexprflags")(((sizeof("arrayexprflags")-1) == (keyword_len)) && ( memcmp(((const void *) ((keyword_ptr))), ((const void *) (("" "arrayexprflags" ""))), (sizeof("arrayexprflags")-1)) == 0)) && | |||
1311 | keyword_active(hintkey_arrayexprflags_sv)THX_keyword_active( hintkey_arrayexprflags_sv)) { | |||
1312 | *op_ptr = parse_keyword_arrayexprflags()THX_parse_keyword_arrayexprflags(); | |||
1313 | return KEYWORD_PLUGIN_EXPR2; | |||
1314 | } else if (memEQs(keyword_ptr, keyword_len, "DEFSV")(((sizeof("DEFSV")-1) == (keyword_len)) && (memcmp((( const void *) ((keyword_ptr))), ((const void *) (("" "DEFSV" "" ))), (sizeof("DEFSV")-1)) == 0)) && | |||
1315 | keyword_active(hintkey_DEFSV_sv)THX_keyword_active( hintkey_DEFSV_sv)) { | |||
1316 | *op_ptr = parse_keyword_DEFSV()THX_parse_keyword_DEFSV(); | |||
1317 | return KEYWORD_PLUGIN_EXPR2; | |||
1318 | } else if (memEQs(keyword_ptr, keyword_len, "with_vars")(((sizeof("with_vars")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "with_vars" ""))), (sizeof("with_vars")-1)) == 0)) && | |||
1319 | keyword_active(hintkey_with_vars_sv)THX_keyword_active( hintkey_with_vars_sv)) { | |||
1320 | *op_ptr = parse_keyword_with_vars()THX_parse_keyword_with_vars(); | |||
1321 | return KEYWORD_PLUGIN_STMT1; | |||
1322 | } else if (memEQs(keyword_ptr, keyword_len, "join_with_space")(((sizeof("join_with_space")-1) == (keyword_len)) && ( memcmp(((const void *) ((keyword_ptr))), ((const void *) (("" "join_with_space" ""))), (sizeof("join_with_space")-1)) == 0 )) && | |||
1323 | keyword_active(hintkey_join_with_space_sv)THX_keyword_active( hintkey_join_with_space_sv)) { | |||
1324 | *op_ptr = parse_join_with_space()THX_parse_join_with_space(); | |||
1325 | return KEYWORD_PLUGIN_EXPR2; | |||
1326 | } else if (memEQs(keyword_ptr, keyword_len, "subsignature")(((sizeof("subsignature")-1) == (keyword_len)) && (memcmp (((const void *) ((keyword_ptr))), ((const void *) (("" "subsignature" ""))), (sizeof("subsignature")-1)) == 0)) && | |||
1327 | keyword_active(hintkey_subsignature_sv)THX_keyword_active( hintkey_subsignature_sv)) { | |||
1328 | *op_ptr = parse_keyword_subsignature()THX_parse_keyword_subsignature(); | |||
1329 | return KEYWORD_PLUGIN_EXPR2; | |||
1330 | } else { | |||
1331 | assert(next_keyword_plugin != my_keyword_plugin)((void)0); | |||
1332 | return next_keyword_plugin(aTHX_ keyword_ptr, keyword_len, op_ptr); | |||
1333 | } | |||
1334 | } | |||
1335 | ||||
1336 | static XOP my_xop; | |||
1337 | ||||
1338 | static OP * | |||
1339 | pp_xop(pTHXvoid) | |||
1340 | { | |||
1341 | return PL_op->op_next; | |||
1342 | } | |||
1343 | ||||
1344 | static void | |||
1345 | peep_xop(pTHX_ OP *o, OP *oldop) | |||
1346 | { | |||
1347 | dMY_CXTstruct Perl___notused_struct; | |||
1348 | av_push(MY_CXT.xop_record, newSVpvf("peep:%" UVxf, PTR2UV(o)))Perl_av_push( my_cxt.xop_record,Perl_newSVpvf("peep:%" "lx", ( UV)(o))); | |||
1349 | av_push(MY_CXT.xop_record, newSVpvf("oldop:%" UVxf, PTR2UV(oldop)))Perl_av_push( my_cxt.xop_record,Perl_newSVpvf("oldop:%" "lx", (UV)(oldop))); | |||
1350 | } | |||
1351 | ||||
1352 | static I32 | |||
1353 | filter_call(pTHX_ int idx, SV *buf_sv, int maxlen) | |||
1354 | { | |||
1355 | char *p; | |||
1356 | char *end; | |||
1357 | int n = FILTER_READ(idx + 1, buf_sv, maxlen)Perl_filter_read( idx + 1,buf_sv,maxlen); | |||
1358 | ||||
1359 | if (n<=0) return n; | |||
1360 | ||||
1361 | p = SvPV_force_nolen(buf_sv)((((buf_sv)->sv_flags & (0x00000400|0x00000100|0x00000200 |0x00000800|0x00008000|(0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000|0x10000000)|0x00200000)) == 0x00000400) ? ((buf_sv )->sv_u.svu_pv) : Perl_sv_pvn_force_flags( buf_sv,0,2)); | |||
1362 | end = p + SvCUR(buf_sv)((XPV*) (buf_sv)->sv_any)->xpv_cur; | |||
1363 | while (p < end) { | |||
1364 | if (*p == 'o') *p = 'e'; | |||
1365 | p++; | |||
1366 | } | |||
1367 | return SvCUR(buf_sv)((XPV*) (buf_sv)->sv_any)->xpv_cur; | |||
1368 | } | |||
1369 | ||||
1370 | static AV * | |||
1371 | myget_linear_isa(pTHX_ HV *stash, U32 level) { | |||
1372 | GV **gvp = (GV **)hv_fetchs(stash, "ISA", 0)((SV**) Perl_hv_common_key_len( ((stash)),(("" "ISA" "")),((sizeof ("ISA")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); | |||
1373 | PERL_UNUSED_ARG(level)((void)sizeof(level)); | |||
1374 | return gvp && *gvp && GvAV(*gvp)((0+(*gvp)->sv_u.svu_gp)->gp_av) | |||
1375 | ? GvAV(*gvp)((0+(*gvp)->sv_u.svu_gp)->gp_av) | |||
1376 | : (AV *)sv_2mortal((SV *)newAV())Perl_sv_2mortal( (SV *)((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; }))); | |||
1377 | } | |||
1378 | ||||
1379 | ||||
1380 | XS_EXTERNAL(XS_XS__APItest__XSUB_XS_VERSION_undef)void XS_XS__APItest__XSUB_XS_VERSION_undef( CV* cv __attribute__ ((unused))); | |||
1381 | XS_EXTERNAL(XS_XS__APItest__XSUB_XS_VERSION_empty)void XS_XS__APItest__XSUB_XS_VERSION_empty( CV* cv __attribute__ ((unused))); | |||
1382 | XS_EXTERNAL(XS_XS__APItest__XSUB_XS_APIVERSION_invalid)void XS_XS__APItest__XSUB_XS_APIVERSION_invalid( CV* cv __attribute__ ((unused))); | |||
1383 | ||||
1384 | static struct mro_alg mymro; | |||
1385 | ||||
1386 | static Perl_check_t addissub_nxck_add; | |||
1387 | ||||
1388 | static OP * | |||
1389 | addissub_myck_add(pTHX_ OP *op) | |||
1390 | { | |||
1391 | SV **flag_svp = hv_fetchs(GvHV(PL_hintgv), "XS::APItest/addissub", 0)((SV**) Perl_hv_common_key_len( (((((0+(PL_hintgv)->sv_u.svu_gp ))->gp_hv))),(("" "XS::APItest/addissub" "")),((sizeof("XS::APItest/addissub" )-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); | |||
1392 | OP *aop, *bop; | |||
1393 | U8 flags; | |||
1394 | if (!(flag_svp && SvTRUE(*flag_svp)Perl_SvTRUE( *flag_svp) && (op->op_flags & OPf_KIDS4) && | |||
1395 | (aop = cBINOPx(op)((BINOP*)(op))->op_first) && (bop = OpSIBLING(aop)(0 + (aop)->op_moresib ? (aop)->op_sibparent : ((void*) 0))) && | |||
1396 | !OpHAS_SIBLING(bop)((((bop)->op_moresib) ? (_Bool)1 : (_Bool)0)))) | |||
1397 | return addissub_nxck_add(aTHX_ op); | |||
1398 | flags = op->op_flags; | |||
1399 | op_sibling_splicePerl_op_sibling_splice(op, NULL((void*)0), 1, NULL((void*)0)); /* excise aop */ | |||
1400 | op_sibling_splicePerl_op_sibling_splice(op, NULL((void*)0), 1, NULL((void*)0)); /* excise bop */ | |||
1401 | op_free(op)Perl_op_free( op); /* free the empty husk */ | |||
1402 | flags &= ~OPf_KIDS4; | |||
1403 | return newBINOP(OP_SUBTRACT, flags, aop, bop)Perl_newBINOP( OP_SUBTRACT,flags,aop,bop); | |||
1404 | } | |||
1405 | ||||
1406 | static Perl_check_t old_ck_rv2cv; | |||
1407 | ||||
1408 | static OP * | |||
1409 | my_ck_rv2cv(pTHX_ OP *o) | |||
1410 | { | |||
1411 | SV *ref; | |||
1412 | SV **flag_svp = hv_fetchs(GvHV(PL_hintgv), "XS::APItest/addunder", 0)((SV**) Perl_hv_common_key_len( (((((0+(PL_hintgv)->sv_u.svu_gp ))->gp_hv))),(("" "XS::APItest/addunder" "")),((sizeof("XS::APItest/addunder" )-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); | |||
1413 | OP *aop; | |||
1414 | ||||
1415 | if (flag_svp && SvTRUE(*flag_svp)Perl_SvTRUE( *flag_svp) && (o->op_flags & OPf_KIDS4) | |||
1416 | && (aop = cUNOPx(o)((UNOP*)(o))->op_first) && aop->op_type == OP_CONST | |||
1417 | && aop->op_private & (OPpCONST_ENTERED0x10|OPpCONST_BARE0x40) | |||
1418 | && (ref = cSVOPx(aop)((SVOP*)(aop))->op_sv) && SvPOK(ref)((ref)->sv_flags & 0x00000400) && SvCUR(ref)((XPV*) (ref)->sv_any)->xpv_cur | |||
1419 | && *(SvEND(ref)((ref)->sv_u.svu_pv + ((XPV*)(ref)->sv_any)->xpv_cur )-1) == 'o') | |||
1420 | { | |||
1421 | SvGROW(ref, SvCUR(ref)+2)(((ref)->sv_flags & 0x10000000) || ((XPV*) (ref)->sv_any )->xpv_len_u.xpvlenu_len < (((XPV*) (ref)->sv_any)-> xpv_cur+2) ? Perl_sv_grow( ref,((XPV*) (ref)->sv_any)-> xpv_cur+2) : ((ref)->sv_u.svu_pv)); | |||
1422 | *SvEND(ref)((ref)->sv_u.svu_pv + ((XPV*)(ref)->sv_any)->xpv_cur ) = '_'; | |||
1423 | SvCUR(ref)((XPV*) (ref)->sv_any)->xpv_cur++; /* Not _set, so we don't accidentally break non-PERL_CORE */ | |||
1424 | *SvEND(ref)((ref)->sv_u.svu_pv + ((XPV*)(ref)->sv_any)->xpv_cur ) = '\0'; | |||
1425 | } | |||
1426 | return old_ck_rv2cv(aTHX_ o); | |||
1427 | } | |||
1428 | ||||
1429 | #include "const-c.inc" | |||
1430 | ||||
1431 | #line 1432 "APItest.c" | |||
1432 | #ifndef PERL_UNUSED_VAR | |||
1433 | # define PERL_UNUSED_VAR(var)((void)sizeof(var)) if (0) var = var | |||
1434 | #endif | |||
1435 | ||||
1436 | #ifndef dVARstruct Perl___notused_struct | |||
1437 | # define dVARstruct Perl___notused_struct dNOOPstruct Perl___notused_struct | |||
1438 | #endif | |||
1439 | ||||
1440 | ||||
1441 | /* This stuff is not part of the API! You have been warned. */ | |||
1442 | #ifndef PERL_VERSION_DECIMAL | |||
1443 | # define PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s) (r*1000000 + v*1000 + s) | |||
1444 | #endif | |||
1445 | #ifndef PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) | |||
1446 | # define PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) \ | |||
1447 | PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)(5*1000000 + 32*1000 + 1) | |||
1448 | #endif | |||
1449 | #ifndef PERL_VERSION_GE | |||
1450 | # define PERL_VERSION_GE(r,v,s)((5*1000000 + 32*1000 + 1) >= (r*1000000 + v*1000 + s)) \ | |||
1451 | (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) >= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s)) | |||
1452 | #endif | |||
1453 | #ifndef PERL_VERSION_LE | |||
1454 | # define PERL_VERSION_LE(r,v,s)((5*1000000 + 32*1000 + 1) <= (r*1000000 + v*1000 + s)) \ | |||
1455 | (PERL_DECIMAL_VERSION(5*1000000 + 32*1000 + 1) <= PERL_VERSION_DECIMAL(r,v,s)(r*1000000 + v*1000 + s)) | |||
1456 | #endif | |||
1457 | ||||
1458 | /* XS_INTERNAL is the explicit static-linkage variant of the default | |||
1459 | * XS macro. | |||
1460 | * | |||
1461 | * XS_EXTERNAL is the same as XS_INTERNAL except it does not include | |||
1462 | * "STATIC", ie. it exports XSUB symbols. You probably don't want that | |||
1463 | * for anything but the BOOT XSUB. | |||
1464 | * | |||
1465 | * See XSUB.h in core! | |||
1466 | */ | |||
1467 | ||||
1468 | ||||
1469 | /* TODO: This might be compatible further back than 5.10.0. */ | |||
1470 | #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)) | |||
1471 | # undef XS_EXTERNAL | |||
1472 | # undef XS_INTERNAL | |||
1473 | # if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING) | |||
1474 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) __declspec(dllexport) XSPROTO(name)void name( CV* cv __attribute__((unused))) | |||
1475 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) | |||
1476 | # endif | |||
1477 | # if defined(__SYMBIAN32__) | |||
1478 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) EXPORT_C XSPROTO(name)void name( CV* cv __attribute__((unused))) | |||
1479 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) EXPORT_C STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) | |||
1480 | # endif | |||
1481 | # ifndef XS_EXTERNAL | |||
1482 | # if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus) | |||
1483 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) void name(pTHX_ CV* cv __attribute__unused____attribute__((unused))) | |||
1484 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic void name(pTHX_ CV* cv __attribute__unused____attribute__((unused))) | |||
1485 | # else | |||
1486 | # ifdef __cplusplus | |||
1487 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) extern "C" XSPROTO(name)void name( CV* cv __attribute__((unused))) | |||
1488 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) static XSPROTO(name)void name( CV* cv __attribute__((unused))) | |||
1489 | # else | |||
1490 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XSPROTO(name)void name( CV* cv __attribute__((unused))) | |||
1491 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) STATICstatic XSPROTO(name)void name( CV* cv __attribute__((unused))) | |||
1492 | # endif | |||
1493 | # endif | |||
1494 | # endif | |||
1495 | #endif | |||
1496 | ||||
1497 | /* perl >= 5.10.0 && perl <= 5.15.1 */ | |||
1498 | ||||
1499 | ||||
1500 | /* The XS_EXTERNAL macro is used for functions that must not be static | |||
1501 | * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL | |||
1502 | * macro defined, the best we can do is assume XS is the same. | |||
1503 | * Dito for XS_INTERNAL. | |||
1504 | */ | |||
1505 | #ifndef XS_EXTERNAL | |||
1506 | # define XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused))) | |||
1507 | #endif | |||
1508 | #ifndef XS_INTERNAL | |||
1509 | # define XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) XS(name)void name( CV* cv __attribute__((unused))) | |||
1510 | #endif | |||
1511 | ||||
1512 | /* Now, finally, after all this mess, we want an ExtUtils::ParseXS | |||
1513 | * internal macro that we're free to redefine for varying linkage due | |||
1514 | * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use | |||
1515 | * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to! | |||
1516 | */ | |||
1517 | ||||
1518 | #undef XS_EUPXS | |||
1519 | #if defined(PERL_EUPXS_ALWAYS_EXPORT) | |||
1520 | # define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_EXTERNAL(name)void name( CV* cv __attribute__((unused))) | |||
1521 | #else | |||
1522 | /* default to internal */ | |||
1523 | # define XS_EUPXS(name)static void name( CV* cv __attribute__((unused))) XS_INTERNAL(name)static void name( CV* cv __attribute__((unused))) | |||
1524 | #endif | |||
1525 | ||||
1526 | #ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) | |||
1527 | #define PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) assert(cv)((void)0); assert(params)((void)0) | |||
1528 | ||||
1529 | /* prototype to pass -Wmissing-prototypes */ | |||
1530 | STATICstatic void | |||
1531 | S_croak_xs_usage(const CV *const cv, const char *const params); | |||
1532 | ||||
1533 | STATICstatic void | |||
1534 | S_croak_xs_usage(const CV *const cv, const char *const params) | |||
1535 | { | |||
1536 | const GV *const gv = CvGV(cv)Perl_CvGV( (CV *)(cv)); | |||
1537 | ||||
1538 | PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0); | |||
1539 | ||||
1540 | if (gv) { | |||
1541 | const char *const gvname = GvNAME(gv)((((XPVGV*)(gv)->sv_any)->xiv_u.xivu_namehek))->hek_key; | |||
1542 | const HV *const stash = GvSTASH(gv)(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash); | |||
1543 | 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); | |||
1544 | ||||
1545 | if (hvname) | |||
1546 | Perl_croak_nocontextPerl_croak("Usage: %s::%s(%s)", hvname, gvname, params); | |||
1547 | else | |||
1548 | Perl_croak_nocontextPerl_croak("Usage: %s(%s)", gvname, params); | |||
1549 | } else { | |||
1550 | /* Pants. I don't think that it should be possible to get here. */ | |||
1551 | Perl_croak_nocontextPerl_croak("Usage: CODE(0x%" UVxf"lx" ")(%s)", PTR2UV(cv)(UV)(cv), params); | |||
1552 | } | |||
1553 | } | |||
1554 | #undef PERL_ARGS_ASSERT_CROAK_XS_USAGE((void)0); ((void)0) | |||
1555 | ||||
1556 | #define croak_xs_usagePerl_croak_xs_usage S_croak_xs_usage | |||
1557 | ||||
1558 | #endif | |||
1559 | ||||
1560 | /* NOTE: the prototype of newXSproto() is different in versions of perls, | |||
1561 | * so we define a portable version of newXSproto() | |||
1562 | */ | |||
1563 | #ifdef newXS_flags | |||
1564 | #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) | |||
1565 | #else | |||
1566 | #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) | |||
1567 | #endif /* !defined(newXS_flags) */ | |||
1568 | ||||
1569 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) | |||
1570 | # define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS(aTHX_ a,b,file) | |||
1571 | #else | |||
1572 | # define newXS_deffile(a,b)Perl_newXS_deffile( a,b) Perl_newXS_deffile(aTHX_ a,b) | |||
1573 | #endif | |||
1574 | ||||
1575 | #line 1576 "APItest.c" | |||
1576 | ||||
1577 | /* INCLUDE: Including 'const-xs.inc' from 'APItest.xs' */ | |||
1578 | ||||
1579 | ||||
1580 | XS_EUPXS(XS_XS__APItest_constant)static void XS_XS__APItest_constant( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
1581 | XS_EUPXS(XS_XS__APItest_constant)static void XS_XS__APItest_constant( CV* cv __attribute__((unused ))) | |||
1582 | { | |||
1583 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1584 | if (items != 1) | |||
1585 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
1586 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
1587 | SPsp -= items; | |||
1588 | { | |||
1589 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
1590 | ; | |||
1591 | #line 247 "./const-xs.inc" | |||
1592 | #ifndef SYMBIAN | |||
1593 | /* It's not obvious how to calculate this at C pre-processor time. | |||
1594 | However, any compiler optimiser worth its salt should be able to | |||
1595 | remove the dead code, and hopefully the now-obviously-unused static | |||
1596 | function too. */ | |||
1597 | HV *constant_missing = (C_ARRAY_LENGTH(values_for_notfound)(sizeof(values_for_notfound)/sizeof((values_for_notfound)[0]) ) > 1) | |||
1598 | ? get_missing_hash(aTHX) : NULL((void*)0); | |||
1599 | if ((C_ARRAY_LENGTH(values_for_notfound)(sizeof(values_for_notfound)/sizeof((values_for_notfound)[0]) ) > 1) | |||
1600 | ? hv_exists_ent(constant_missing, sv, 0)((Perl_hv_common( (constant_missing),(sv),((void*)0),0,0,0x08 ,0,(0))) ? (_Bool)1 : (_Bool)0) : 0) { | |||
1601 | sv = newSVpvfPerl_newSVpvf("Your vendor has not defined XS::APItest macro %" SVf"-p" | |||
1602 | ", used", sv); | |||
1603 | } else | |||
1604 | #endif | |||
1605 | { | |||
1606 | sv = newSVpvfPerl_newSVpvf("%" SVf"-p" " is not a valid XS::APItest macro", | |||
1607 | sv); | |||
1608 | } | |||
1609 | PUSHs(sv_2mortal(sv))(*++sp = (Perl_sv_2mortal( sv))); | |||
1610 | #line 1611 "APItest.c" | |||
1611 | PUTBACKPL_stack_sp = sp; | |||
1612 | return; | |||
1613 | } | |||
1614 | } | |||
1615 | ||||
1616 | ||||
1617 | /* INCLUDE: Returning to 'APItest.xs' from 'const-xs.inc' */ | |||
1618 | ||||
1619 | ||||
1620 | /* INCLUDE: Including 'numeric.xs' from 'APItest.xs' */ | |||
1621 | ||||
1622 | ||||
1623 | XS_EUPXS(XS_XS__APItest__numeric_grok_number)static void XS_XS__APItest__numeric_grok_number( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1624 | XS_EUPXS(XS_XS__APItest__numeric_grok_number)static void XS_XS__APItest__numeric_grok_number( CV* cv __attribute__ ((unused))) | |||
1625 | { | |||
1626 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1627 | if (items != 1) | |||
1628 | croak_xs_usagePerl_croak_xs_usage(cv, "number"); | |||
1629 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
1630 | SPsp -= items; | |||
1631 | { | |||
1632 | SV * number = ST(0)PL_stack_base[ax + (0)] | |||
1633 | ; | |||
1634 | #line 7 "./numeric.xs" | |||
1635 | STRLEN len; | |||
1636 | const char *pv = SvPV(number, len)((((number)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (number)->sv_any)->xpv_cur), ((number )->sv_u.svu_pv)) : Perl_sv_2pv_flags( number,&len,2)); | |||
1637 | UV value; | |||
1638 | int result; | |||
1639 | #line 1640 "APItest.c" | |||
1640 | #line 12 "./numeric.xs" | |||
1641 | EXTEND(SP,2)do { (void)0; if (__builtin_expect(((((2) < 0 || PL_stack_max - (sp) < (2))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(2) > sizeof(ssize_t) && ((ssize_t) (2) != (2)) ? -1 : (2))); ((void)sizeof(sp)); } } while (0); | |||
1642 | result = grok_number(pv, len, &value)Perl_grok_number( pv,len,&value); | |||
1643 | PUSHs(sv_2mortal(newSViv(result)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( result)))); | |||
1644 | if (result & IS_NUMBER_IN_UV0x01) | |||
1645 | PUSHs(sv_2mortal(newSVuv(value)))(*++sp = (Perl_sv_2mortal( Perl_newSVuv( value)))); | |||
1646 | #line 1647 "APItest.c" | |||
1647 | PUTBACKPL_stack_sp = sp; | |||
1648 | return; | |||
1649 | } | |||
1650 | } | |||
1651 | ||||
1652 | ||||
1653 | XS_EUPXS(XS_XS__APItest__numeric_grok_number_flags)static void XS_XS__APItest__numeric_grok_number_flags( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1654 | XS_EUPXS(XS_XS__APItest__numeric_grok_number_flags)static void XS_XS__APItest__numeric_grok_number_flags( CV* cv __attribute__((unused))) | |||
1655 | { | |||
1656 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1657 | if (items != 2) | |||
1658 | croak_xs_usagePerl_croak_xs_usage(cv, "number, flags"); | |||
1659 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
1660 | SPsp -= items; | |||
1661 | { | |||
1662 | SV * number = ST(0)PL_stack_base[ax + (0)] | |||
1663 | ; | |||
1664 | U32 flags = (unsigned long)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
1665 | ; | |||
1666 | #line 23 "./numeric.xs" | |||
1667 | STRLEN len; | |||
1668 | const char *pv = SvPV(number, len)((((number)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (number)->sv_any)->xpv_cur), ((number )->sv_u.svu_pv)) : Perl_sv_2pv_flags( number,&len,2)); | |||
1669 | UV value; | |||
1670 | int result; | |||
1671 | #line 1672 "APItest.c" | |||
1672 | #line 28 "./numeric.xs" | |||
1673 | EXTEND(SP,2)do { (void)0; if (__builtin_expect(((((2) < 0 || PL_stack_max - (sp) < (2))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(2) > sizeof(ssize_t) && ((ssize_t) (2) != (2)) ? -1 : (2))); ((void)sizeof(sp)); } } while (0); | |||
1674 | result = grok_number_flags(pv, len, &value, flags)Perl_grok_number_flags( pv,len,&value,flags); | |||
1675 | PUSHs(sv_2mortal(newSViv(result)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( result)))); | |||
1676 | if (result & IS_NUMBER_IN_UV0x01) | |||
1677 | PUSHs(sv_2mortal(newSVuv(value)))(*++sp = (Perl_sv_2mortal( Perl_newSVuv( value)))); | |||
1678 | #line 1679 "APItest.c" | |||
1679 | PUTBACKPL_stack_sp = sp; | |||
1680 | return; | |||
1681 | } | |||
1682 | } | |||
1683 | ||||
1684 | ||||
1685 | XS_EUPXS(XS_XS__APItest__numeric_grok_atoUV)static void XS_XS__APItest__numeric_grok_atoUV( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1686 | XS_EUPXS(XS_XS__APItest__numeric_grok_atoUV)static void XS_XS__APItest__numeric_grok_atoUV( CV* cv __attribute__ ((unused))) | |||
1687 | { | |||
1688 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1689 | if (items != 2) | |||
1690 | croak_xs_usagePerl_croak_xs_usage(cv, "number, endsv"); | |||
1691 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
1692 | SPsp -= items; | |||
1693 | { | |||
1694 | SV * number = ST(0)PL_stack_base[ax + (0)] | |||
1695 | ; | |||
1696 | SV * endsv = ST(1)PL_stack_base[ax + (1)] | |||
1697 | ; | |||
1698 | #line 39 "./numeric.xs" | |||
1699 | STRLEN len; | |||
1700 | const char *pv = SvPV(number, len)((((number)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (number)->sv_any)->xpv_cur), ((number )->sv_u.svu_pv)) : Perl_sv_2pv_flags( number,&len,2)); | |||
1701 | UV value = 0xdeadbeef; | |||
1702 | bool_Bool result; | |||
1703 | const char* endptr = pv + len; | |||
1704 | #line 1705 "APItest.c" | |||
1705 | #line 45 "./numeric.xs" | |||
1706 | EXTEND(SP,2)do { (void)0; if (__builtin_expect(((((2) < 0 || PL_stack_max - (sp) < (2))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(2) > sizeof(ssize_t) && ((ssize_t) (2) != (2)) ? -1 : (2))); ((void)sizeof(sp)); } } while (0); | |||
1707 | if (endsv == &PL_sv_undef(PL_sv_immortals[1])) { | |||
1708 | result = grok_atoUVPerl_grok_atoUV(pv, &value, NULL((void*)0)); | |||
1709 | } else { | |||
1710 | result = grok_atoUVPerl_grok_atoUV(pv, &value, &endptr); | |||
1711 | } | |||
1712 | PUSHs(result ? &PL_sv_yes : &PL_sv_no)(*++sp = (result ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2]))); | |||
1713 | PUSHs(sv_2mortal(newSVuv(value)))(*++sp = (Perl_sv_2mortal( Perl_newSVuv( value)))); | |||
1714 | if (endsv == &PL_sv_undef(PL_sv_immortals[1])) { | |||
1715 | PUSHs(sv_2mortal(newSVpvn(NULL, 0)))(*++sp = (Perl_sv_2mortal( Perl_newSVpvn( ((void*)0),0)))); | |||
1716 | } else { | |||
1717 | if (endptr) { | |||
1718 | PUSHs(sv_2mortal(newSViv(endptr - pv)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( endptr - pv)))); | |||
1719 | } else { | |||
1720 | PUSHs(sv_2mortal(newSViv(0)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( 0)))); | |||
1721 | } | |||
1722 | } | |||
1723 | #line 1724 "APItest.c" | |||
1724 | PUTBACKPL_stack_sp = sp; | |||
1725 | return; | |||
1726 | } | |||
1727 | } | |||
1728 | ||||
1729 | ||||
1730 | /* INCLUDE: Returning to 'APItest.xs' from 'numeric.xs' */ | |||
1731 | ||||
1732 | ||||
1733 | XS_EUPXS(XS_XS__APItest__numeric_assertx)static void XS_XS__APItest__numeric_assertx( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1734 | XS_EUPXS(XS_XS__APItest__numeric_assertx)static void XS_XS__APItest__numeric_assertx( CV* cv __attribute__ ((unused))) | |||
1735 | { | |||
1736 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1737 | if (items != 1) | |||
1738 | croak_xs_usagePerl_croak_xs_usage(cv, "x"); | |||
1739 | { | |||
1740 | int x = (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)) | |||
1741 | ; | |||
1742 | #line 1431 "APItest.xs" | |||
1743 | /* this only needs to compile and checks that assert() can be | |||
1744 | used this way syntactically */ | |||
1745 | (void)(assert(x)((void)0), 1); | |||
1746 | (void)(x); | |||
1747 | #line 1748 "APItest.c" | |||
1748 | } | |||
1749 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
1750 | } | |||
1751 | ||||
1752 | ||||
1753 | XS_EUPXS(XS_XS__APItest__utf8_bytes_cmp_utf8)static void XS_XS__APItest__utf8_bytes_cmp_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1754 | XS_EUPXS(XS_XS__APItest__utf8_bytes_cmp_utf8)static void XS_XS__APItest__utf8_bytes_cmp_utf8( CV* cv __attribute__ ((unused))) | |||
1755 | { | |||
1756 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1757 | if (items != 2) | |||
1758 | croak_xs_usagePerl_croak_xs_usage(cv, "bytes, utf8"); | |||
1759 | { | |||
1760 | SV * bytes = ST(0)PL_stack_base[ax + (0)] | |||
1761 | ; | |||
1762 | SV * utf8 = ST(1)PL_stack_base[ax + (1)] | |||
1763 | ; | |||
1764 | #line 1443 "APItest.xs" | |||
1765 | const U8 *b; | |||
1766 | STRLEN blen; | |||
1767 | const U8 *u; | |||
1768 | STRLEN ulen; | |||
1769 | #line 1770 "APItest.c" | |||
1770 | int RETVAL; | |||
1771 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
1772 | #line 1448 "APItest.xs" | |||
1773 | b = (const U8 *)SvPVbyte(bytes, blen)((((bytes)->sv_flags & (0x00000400|0x20000000|0x00200000 )) == 0x00000400) ? ((blen = ((XPV*) (bytes)->sv_any)-> xpv_cur), ((bytes)->sv_u.svu_pv)) : Perl_sv_2pvbyte_flags( bytes,&blen,2)); | |||
1774 | u = (const U8 *)SvPVbyte(utf8, ulen)((((utf8)->sv_flags & (0x00000400|0x20000000|0x00200000 )) == 0x00000400) ? ((ulen = ((XPV*) (utf8)->sv_any)->xpv_cur ), ((utf8)->sv_u.svu_pv)) : Perl_sv_2pvbyte_flags( utf8,& ulen,2)); | |||
1775 | RETVAL = bytes_cmp_utf8(b, blen, u, ulen)Perl_bytes_cmp_utf8( b,blen,u,ulen); | |||
1776 | #line 1777 "APItest.c" | |||
1777 | 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); | |||
1778 | } | |||
1779 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
1780 | } | |||
1781 | ||||
1782 | ||||
1783 | XS_EUPXS(XS_XS__APItest__utf8_test_utf8_to_bytes)static void XS_XS__APItest__utf8_test_utf8_to_bytes( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1784 | XS_EUPXS(XS_XS__APItest__utf8_test_utf8_to_bytes)static void XS_XS__APItest__utf8_test_utf8_to_bytes( CV* cv __attribute__ ((unused))) | |||
1785 | { | |||
1786 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1787 | if (items != 2) | |||
1788 | croak_xs_usagePerl_croak_xs_usage(cv, "bytes, len"); | |||
1789 | { | |||
1790 | U8 * bytes = (U8 *)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)) | |||
1791 | ; | |||
1792 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
1793 | ; | |||
1794 | #line 1459 "APItest.xs" | |||
1795 | char * ret; | |||
1796 | #line 1797 "APItest.c" | |||
1797 | AV * RETVAL; | |||
1798 | #line 1461 "APItest.xs" | |||
1799 | RETVAL = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
1800 | sv_2mortal((SV*)RETVAL)Perl_sv_2mortal( (SV*)RETVAL); | |||
1801 | ||||
1802 | ret = (char *) utf8_to_bytes(bytes, &len)Perl_utf8_to_bytes( bytes,&len); | |||
1803 | av_push(RETVAL, newSVpv(ret, 0))Perl_av_push( RETVAL,Perl_newSVpv( ret,0)); | |||
1804 | ||||
1805 | /* utf8_to_bytes uses (STRLEN)-1 to signal errors, and we want to | |||
1806 | * return that as -1 to perl, so cast to SSize_t in case | |||
1807 | * sizeof(IV) > sizeof(STRLEN) */ | |||
1808 | av_push(RETVAL, newSViv((SSize_t)len))Perl_av_push( RETVAL,Perl_newSViv( (ssize_t)len)); | |||
1809 | av_push(RETVAL, newSVpv((const char *) bytes, 0))Perl_av_push( RETVAL,Perl_newSVpv( (const char *) bytes,0)); | |||
1810 | ||||
1811 | #line 1812 "APItest.c" | |||
1812 | { | |||
1813 | SV * RETVALSV; | |||
1814 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
1815 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
1816 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
1817 | } | |||
1818 | } | |||
1819 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
1820 | } | |||
1821 | ||||
1822 | ||||
1823 | XS_EUPXS(XS_XS__APItest__utf8_test_utf8n_to_uvchr_msgs)static void XS_XS__APItest__utf8_test_utf8n_to_uvchr_msgs( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1824 | XS_EUPXS(XS_XS__APItest__utf8_test_utf8n_to_uvchr_msgs)static void XS_XS__APItest__utf8_test_utf8n_to_uvchr_msgs( CV * cv __attribute__((unused))) | |||
1825 | { | |||
1826 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1827 | if (items != 3) | |||
1828 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
1829 | { | |||
1830 | char * s = (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)) | |||
1831 | ; | |||
1832 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
1833 | ; | |||
1834 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
1835 | ; | |||
1836 | #line 1482 "APItest.xs" | |||
1837 | STRLEN retlen; | |||
1838 | UV ret; | |||
1839 | U32 errors; | |||
1840 | AV *msgs = NULL((void*)0); | |||
1841 | ||||
1842 | #line 1843 "APItest.c" | |||
1843 | AV * RETVAL; | |||
1844 | #line 1488 "APItest.xs" | |||
1845 | RETVAL = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
1846 | sv_2mortal((SV*)RETVAL)Perl_sv_2mortal( (SV*)RETVAL); | |||
1847 | ||||
1848 | ret = utf8n_to_uvchr_msgsPerl_utf8n_to_uvchr_msgs((U8*) s, | |||
1849 | len, | |||
1850 | &retlen, | |||
1851 | flags, | |||
1852 | &errors, | |||
1853 | &msgs); | |||
1854 | ||||
1855 | /* Returns the return value in [0]; <retlen> in [1], <errors> in [2] */ | |||
1856 | av_push(RETVAL, newSVuv(ret))Perl_av_push( RETVAL,Perl_newSVuv( ret)); | |||
1857 | if (retlen == (STRLEN) -1) { | |||
1858 | av_push(RETVAL, newSViv(-1))Perl_av_push( RETVAL,Perl_newSViv( -1)); | |||
1859 | } | |||
1860 | else { | |||
1861 | av_push(RETVAL, newSVuv(retlen))Perl_av_push( RETVAL,Perl_newSVuv( retlen)); | |||
1862 | } | |||
1863 | av_push(RETVAL, newSVuv(errors))Perl_av_push( RETVAL,Perl_newSVuv( errors)); | |||
1864 | ||||
1865 | /* And any messages in [3] */ | |||
1866 | if (msgs) { | |||
1867 | av_push(RETVAL, newRV_noinc((SV*)msgs))Perl_av_push( RETVAL,Perl_newRV_noinc( (SV*)msgs)); | |||
1868 | } | |||
1869 | ||||
1870 | #line 1871 "APItest.c" | |||
1871 | { | |||
1872 | SV * RETVALSV; | |||
1873 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
1874 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
1875 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
1876 | } | |||
1877 | } | |||
1878 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
1879 | } | |||
1880 | ||||
1881 | ||||
1882 | XS_EUPXS(XS_XS__APItest__utf8_test_utf8n_to_uvchr_error)static void XS_XS__APItest__utf8_test_utf8n_to_uvchr_error( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1883 | XS_EUPXS(XS_XS__APItest__utf8_test_utf8n_to_uvchr_error)static void XS_XS__APItest__utf8_test_utf8n_to_uvchr_error( CV * cv __attribute__((unused))) | |||
1884 | { | |||
1885 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1886 | if (items != 3) | |||
1887 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
1888 | { | |||
1889 | char * s = (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)) | |||
1890 | ; | |||
1891 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
1892 | ; | |||
1893 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
1894 | ; | |||
1895 | #line 1523 "APItest.xs" | |||
1896 | STRLEN retlen; | |||
1897 | UV ret; | |||
1898 | U32 errors; | |||
1899 | ||||
1900 | #line 1901 "APItest.c" | |||
1901 | AV * RETVAL; | |||
1902 | #line 1528 "APItest.xs" | |||
1903 | /* Now that utf8n_to_uvchr() is a trivial wrapper for | |||
1904 | * utf8n_to_uvchr_error(), call the latter with the inputs. It always | |||
1905 | * asks for the actual length to be returned and errors to be returned | |||
1906 | * | |||
1907 | * Length to assume <s> is; not checked, so could have buffer overflow | |||
1908 | */ | |||
1909 | RETVAL = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
1910 | sv_2mortal((SV*)RETVAL)Perl_sv_2mortal( (SV*)RETVAL); | |||
1911 | ||||
1912 | ret = utf8n_to_uvchr_error((U8*) s,Perl_utf8n_to_uvchr_msgs((U8*) s, len, &retlen, flags, & errors, 0) | |||
1913 | len,Perl_utf8n_to_uvchr_msgs((U8*) s, len, &retlen, flags, & errors, 0) | |||
1914 | &retlen,Perl_utf8n_to_uvchr_msgs((U8*) s, len, &retlen, flags, & errors, 0) | |||
1915 | flags,Perl_utf8n_to_uvchr_msgs((U8*) s, len, &retlen, flags, & errors, 0) | |||
1916 | &errors)Perl_utf8n_to_uvchr_msgs((U8*) s, len, &retlen, flags, & errors, 0); | |||
1917 | ||||
1918 | /* Returns the return value in [0]; <retlen> in [1], <errors> in [2] */ | |||
1919 | av_push(RETVAL, newSVuv(ret))Perl_av_push( RETVAL,Perl_newSVuv( ret)); | |||
1920 | if (retlen == (STRLEN) -1) { | |||
1921 | av_push(RETVAL, newSViv(-1))Perl_av_push( RETVAL,Perl_newSViv( -1)); | |||
1922 | } | |||
1923 | else { | |||
1924 | av_push(RETVAL, newSVuv(retlen))Perl_av_push( RETVAL,Perl_newSVuv( retlen)); | |||
1925 | } | |||
1926 | av_push(RETVAL, newSVuv(errors))Perl_av_push( RETVAL,Perl_newSVuv( errors)); | |||
1927 | ||||
1928 | #line 1929 "APItest.c" | |||
1929 | { | |||
1930 | SV * RETVALSV; | |||
1931 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
1932 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
1933 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
1934 | } | |||
1935 | } | |||
1936 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
1937 | } | |||
1938 | ||||
1939 | ||||
1940 | XS_EUPXS(XS_XS__APItest__utf8_test_valid_utf8_to_uvchr)static void XS_XS__APItest__utf8_test_valid_utf8_to_uvchr( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1941 | XS_EUPXS(XS_XS__APItest__utf8_test_valid_utf8_to_uvchr)static void XS_XS__APItest__utf8_test_valid_utf8_to_uvchr( CV * cv __attribute__((unused))) | |||
1942 | { | |||
1943 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1944 | if (items != 1) | |||
1945 | croak_xs_usagePerl_croak_xs_usage(cv, "s"); | |||
1946 | { | |||
1947 | SV * s = ST(0)PL_stack_base[ax + (0)] | |||
1948 | ; | |||
1949 | #line 1561 "APItest.xs" | |||
1950 | STRLEN retlen; | |||
1951 | UV ret; | |||
1952 | ||||
1953 | #line 1954 "APItest.c" | |||
1954 | AV * RETVAL; | |||
1955 | #line 1565 "APItest.xs" | |||
1956 | /* Call utf8n_to_uvchr() with the inputs. It always asks for the | |||
1957 | * actual length to be returned | |||
1958 | * | |||
1959 | * Length to assume <s> is; not checked, so could have buffer overflow | |||
1960 | */ | |||
1961 | RETVAL = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
1962 | sv_2mortal((SV*)RETVAL)Perl_sv_2mortal( (SV*)RETVAL); | |||
1963 | ||||
1964 | ret = valid_utf8_to_uvchrPerl_valid_utf8_to_uvchr((U8*) SvPV_nolen(s)((((s)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((s)->sv_u.svu_pv) : Perl_sv_2pv_flags( s,0,2)), &retlen); | |||
1965 | ||||
1966 | /* Returns the return value in [0]; <retlen> in [1] */ | |||
1967 | av_push(RETVAL, newSVuv(ret))Perl_av_push( RETVAL,Perl_newSVuv( ret)); | |||
1968 | av_push(RETVAL, newSVuv(retlen))Perl_av_push( RETVAL,Perl_newSVuv( retlen)); | |||
1969 | ||||
1970 | #line 1971 "APItest.c" | |||
1971 | { | |||
1972 | SV * RETVALSV; | |||
1973 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
1974 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
1975 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
1976 | } | |||
1977 | } | |||
1978 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
1979 | } | |||
1980 | ||||
1981 | ||||
1982 | XS_EUPXS(XS_XS__APItest__utf8_test_uvchr_to_utf8_flags)static void XS_XS__APItest__utf8_test_uvchr_to_utf8_flags( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
1983 | XS_EUPXS(XS_XS__APItest__utf8_test_uvchr_to_utf8_flags)static void XS_XS__APItest__utf8_test_uvchr_to_utf8_flags( CV * cv __attribute__((unused))) | |||
1984 | { | |||
1985 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
1986 | if (items != 2) | |||
1987 | croak_xs_usagePerl_croak_xs_usage(cv, "uv, flags"); | |||
1988 | { | |||
1989 | SV * uv = ST(0)PL_stack_base[ax + (0)] | |||
1990 | ; | |||
1991 | SV * flags = ST(1)PL_stack_base[ax + (1)] | |||
1992 | ; | |||
1993 | #line 1588 "APItest.xs" | |||
1994 | U8 dest[UTF8_MAXBYTES13 + 1]; | |||
1995 | U8 *ret; | |||
1996 | ||||
1997 | #line 1998 "APItest.c" | |||
1998 | SV * RETVAL; | |||
1999 | #line 1592 "APItest.xs" | |||
2000 | /* Call uvchr_to_utf8_flags() with the inputs. */ | |||
2001 | ret = uvchr_to_utf8_flags(dest, SvUV(uv), SvUV(flags))Perl_uvoffuni_to_utf8_flags_msgs( dest,((UV) ((((((uv)->sv_flags & (0x00000100|0x80000000|0x00200000)) == (0x00000100|0x80000000 )) ? ((XPVUV*) (uv)->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( uv,2))) | 0)),((((flags)->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (flags) ->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags( flags,2)) ,0); | |||
2002 | if (! ret) { | |||
2003 | XSRETURN_UNDEFdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[1])); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2004 | } | |||
2005 | RETVAL = newSVpvn((char *) dest, ret - dest)Perl_newSVpvn( (char *) dest,ret - dest); | |||
2006 | ||||
2007 | #line 2008 "APItest.c" | |||
2008 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2009 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2010 | } | |||
2011 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2012 | } | |||
2013 | ||||
2014 | ||||
2015 | XS_EUPXS(XS_XS__APItest__utf8_test_uvchr_to_utf8_flags_msgs)static void XS_XS__APItest__utf8_test_uvchr_to_utf8_flags_msgs ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2016 | XS_EUPXS(XS_XS__APItest__utf8_test_uvchr_to_utf8_flags_msgs)static void XS_XS__APItest__utf8_test_uvchr_to_utf8_flags_msgs ( CV* cv __attribute__((unused))) | |||
2017 | { | |||
2018 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2019 | if (items != 2) | |||
2020 | croak_xs_usagePerl_croak_xs_usage(cv, "uv, flags"); | |||
2021 | { | |||
2022 | SV * uv = ST(0)PL_stack_base[ax + (0)] | |||
2023 | ; | |||
2024 | SV * flags = ST(1)PL_stack_base[ax + (1)] | |||
2025 | ; | |||
2026 | #line 1608 "APItest.xs" | |||
2027 | U8 dest[UTF8_MAXBYTES13 + 1]; | |||
2028 | U8 *ret; | |||
2029 | ||||
2030 | #line 2031 "APItest.c" | |||
2031 | AV * RETVAL; | |||
2032 | #line 1612 "APItest.xs" | |||
2033 | HV *msgs = NULL((void*)0); | |||
2034 | RETVAL = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
2035 | sv_2mortal((SV*)RETVAL)Perl_sv_2mortal( (SV*)RETVAL); | |||
2036 | ||||
2037 | ret = uvchr_to_utf8_flags_msgs(dest, SvUV(uv), SvUV(flags), &msgs)Perl_uvoffuni_to_utf8_flags_msgs( dest,((UV) ((((((uv)->sv_flags & (0x00000100|0x80000000|0x00200000)) == (0x00000100|0x80000000 )) ? ((XPVUV*) (uv)->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( uv,2))) | 0)),((((flags)->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (flags) ->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags( flags,2)) ,&msgs); | |||
2038 | ||||
2039 | if (ret) { | |||
2040 | av_push(RETVAL, newSVpvn((char *) dest, ret - dest))Perl_av_push( RETVAL,Perl_newSVpvn( (char *) dest,ret - dest) ); | |||
2041 | } | |||
2042 | else { | |||
2043 | av_push(RETVAL, &PL_sv_undef)Perl_av_push( RETVAL,&(PL_sv_immortals[1])); | |||
2044 | } | |||
2045 | ||||
2046 | if (msgs) { | |||
2047 | av_push(RETVAL, newRV_noinc((SV*)msgs))Perl_av_push( RETVAL,Perl_newRV_noinc( (SV*)msgs)); | |||
2048 | } | |||
2049 | ||||
2050 | #line 2051 "APItest.c" | |||
2051 | { | |||
2052 | SV * RETVALSV; | |||
2053 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
2054 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
2055 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
2056 | } | |||
2057 | } | |||
2058 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2059 | } | |||
2060 | ||||
2061 | ||||
2062 | XS_EUPXS(XS_XS__APItest__Overload_amagic_deref_call)static void XS_XS__APItest__Overload_amagic_deref_call( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2063 | XS_EUPXS(XS_XS__APItest__Overload_amagic_deref_call)static void XS_XS__APItest__Overload_amagic_deref_call( CV* cv __attribute__((unused))) | |||
2064 | { | |||
2065 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2066 | if (items != 2) | |||
2067 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, what"); | |||
2068 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2069 | SPsp -= items; | |||
2070 | { | |||
2071 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
2072 | ; | |||
2073 | int what = (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)) | |||
2074 | ; | |||
2075 | #line 1639 "APItest.xs" | |||
2076 | /* The reference is owned by something else. */ | |||
2077 | PUSHs(amagic_deref_call(sv, what))(*++sp = (Perl_amagic_deref_call( sv,what))); | |||
2078 | #line 2079 "APItest.c" | |||
2079 | PUTBACKPL_stack_sp = sp; | |||
2080 | return; | |||
2081 | } | |||
2082 | } | |||
2083 | ||||
2084 | ||||
2085 | XS_EUPXS(XS_XS__APItest__Overload_tryAMAGICunDEREF_var)static void XS_XS__APItest__Overload_tryAMAGICunDEREF_var( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2086 | XS_EUPXS(XS_XS__APItest__Overload_tryAMAGICunDEREF_var)static void XS_XS__APItest__Overload_tryAMAGICunDEREF_var( CV * cv __attribute__((unused))) | |||
2087 | { | |||
2088 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2089 | if (items != 2) | |||
2090 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, what"); | |||
2091 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2092 | SPsp -= items; | |||
2093 | { | |||
2094 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
2095 | ; | |||
2096 | int what = (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)) | |||
2097 | ; | |||
2098 | #line 1650 "APItest.xs" | |||
2099 | { | |||
2100 | SV **sp = &sv; | |||
2101 | switch(what) { | |||
2102 | case to_av_amg: | |||
2103 | tryAMAGICunDEREF(to_av)do { sv = Perl_amagic_deref_call( *sp,to_av_amg); sp = PL_stack_sp ; } while (0); | |||
2104 | break; | |||
2105 | case to_cv_amg: | |||
2106 | tryAMAGICunDEREF(to_cv)do { sv = Perl_amagic_deref_call( *sp,to_cv_amg); sp = PL_stack_sp ; } while (0); | |||
2107 | break; | |||
2108 | case to_gv_amg: | |||
2109 | tryAMAGICunDEREF(to_gv)do { sv = Perl_amagic_deref_call( *sp,to_gv_amg); sp = PL_stack_sp ; } while (0); | |||
2110 | break; | |||
2111 | case to_hv_amg: | |||
2112 | tryAMAGICunDEREF(to_hv)do { sv = Perl_amagic_deref_call( *sp,to_hv_amg); sp = PL_stack_sp ; } while (0); | |||
2113 | break; | |||
2114 | case to_sv_amg: | |||
2115 | tryAMAGICunDEREF(to_sv)do { sv = Perl_amagic_deref_call( *sp,to_sv_amg); sp = PL_stack_sp ; } while (0); | |||
2116 | break; | |||
2117 | default: | |||
2118 | croakPerl_croak("Invalid value %d passed to tryAMAGICunDEREF_var", what); | |||
2119 | } | |||
2120 | } | |||
2121 | /* The reference is owned by something else. */ | |||
2122 | PUSHs(sv)(*++sp = (sv)); | |||
2123 | #line 2124 "APItest.c" | |||
2124 | PUTBACKPL_stack_sp = sp; | |||
2125 | return; | |||
2126 | } | |||
2127 | } | |||
2128 | ||||
2129 | ||||
2130 | XS_EUPXS(XS_XS__APItest__XSUB_XS_VERSION_defined)static void XS_XS__APItest__XSUB_XS_VERSION_defined( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2131 | XS_EUPXS(XS_XS__APItest__XSUB_XS_VERSION_defined)static void XS_XS__APItest__XSUB_XS_VERSION_defined( CV* cv __attribute__ ((unused))) | |||
2132 | { | |||
2133 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2134 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
2135 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
2136 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2137 | SPsp -= items; | |||
2138 | { | |||
2139 | #line 1685 "APItest.xs" | |||
2140 | XS_VERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter)) << 16) | ((sizeof("" "1.09" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "1.09" "")- 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, "APItest.xs", items , ax, "1.09"); | |||
2141 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2142 | #line 2143 "APItest.c" | |||
2143 | PUTBACKPL_stack_sp = sp; | |||
2144 | return; | |||
2145 | } | |||
2146 | } | |||
2147 | ||||
2148 | ||||
2149 | XS_EUPXS(XS_XS__APItest__XSUB_XS_APIVERSION_valid)static void XS_XS__APItest__XSUB_XS_APIVERSION_valid( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2150 | XS_EUPXS(XS_XS__APItest__XSUB_XS_APIVERSION_valid)static void XS_XS__APItest__XSUB_XS_APIVERSION_valid( CV* cv __attribute__ ((unused))) | |||
2151 | { | |||
2152 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2153 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
2154 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
2155 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2156 | SPsp -= items; | |||
2157 | { | |||
2158 | #line 1691 "APItest.xs" | |||
2159 | 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, "APItest.xs", items, ax, "v" "5" "." "32" "." "0"); | |||
2160 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2161 | #line 2162 "APItest.c" | |||
2162 | PUTBACKPL_stack_sp = sp; | |||
2163 | return; | |||
2164 | } | |||
2165 | } | |||
2166 | ||||
2167 | ||||
2168 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn)static void XS_XS__APItest__XSUB_xsreturn( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2169 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn)static void XS_XS__APItest__XSUB_xsreturn( CV* cv __attribute__ ((unused))) | |||
2170 | { | |||
2171 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2172 | if (items != 1) | |||
2173 | croak_xs_usagePerl_croak_xs_usage(cv, "len"); | |||
2174 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2175 | SPsp -= items; | |||
2176 | { | |||
2177 | int len = (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)) | |||
2178 | ; | |||
2179 | #line 1697 "APItest.xs" | |||
2180 | int i = 0; | |||
2181 | EXTEND( SP, len )do { (void)0; if (__builtin_expect(((((len) < 0 || PL_stack_max - (sp) < (len))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(len) > sizeof(ssize_t) && ((ssize_t )(len) != (len)) ? -1 : (len))); ((void)sizeof(sp)); } } while (0); | |||
2182 | for ( ; i < len; i++ ) { | |||
2183 | ST(i)PL_stack_base[ax + (i)] = sv_2mortal( newSViv(i) )Perl_sv_2mortal( Perl_newSViv( i)); | |||
2184 | } | |||
2185 | XSRETURN( len )do { const IV tmpXSoff = (len); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2186 | #line 2187 "APItest.c" | |||
2187 | PUTBACKPL_stack_sp = sp; | |||
2188 | return; | |||
2189 | } | |||
2190 | } | |||
2191 | ||||
2192 | ||||
2193 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_iv)static void XS_XS__APItest__XSUB_xsreturn_iv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2194 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_iv)static void XS_XS__APItest__XSUB_xsreturn_iv( CV* cv __attribute__ ((unused))) | |||
2195 | { | |||
2196 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2197 | if (items != 0) | |||
2198 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2199 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2200 | SPsp -= items; | |||
2201 | { | |||
2202 | #line 1707 "APItest.xs" | |||
2203 | XSRETURN_IV(I32_MIN + 1)do { (PL_stack_base[ax + (0)] = Perl_sv_2mortal( Perl_newSViv ( (-0x7fffffff - 1) + 1)) ); do { const IV tmpXSoff = (1); (( void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return ; } while (0); } while (0); | |||
2204 | #line 2205 "APItest.c" | |||
2205 | PUTBACKPL_stack_sp = sp; | |||
2206 | return; | |||
2207 | } | |||
2208 | } | |||
2209 | ||||
2210 | ||||
2211 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_uv)static void XS_XS__APItest__XSUB_xsreturn_uv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2212 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_uv)static void XS_XS__APItest__XSUB_xsreturn_uv( CV* cv __attribute__ ((unused))) | |||
2213 | { | |||
2214 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2215 | if (items != 0) | |||
2216 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2217 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2218 | SPsp -= items; | |||
2219 | { | |||
2220 | #line 1712 "APItest.xs" | |||
2221 | XSRETURN_UV( (U32)((1U<<31) + 1) )do { (PL_stack_base[ax + (0)] = Perl_sv_2mortal( Perl_newSVuv ( (U32)((1U<<31) + 1))) ); do { const IV tmpXSoff = (1) ; ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1 ); return; } while (0); } while (0); | |||
2222 | #line 2223 "APItest.c" | |||
2223 | PUTBACKPL_stack_sp = sp; | |||
2224 | return; | |||
2225 | } | |||
2226 | } | |||
2227 | ||||
2228 | ||||
2229 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_nv)static void XS_XS__APItest__XSUB_xsreturn_nv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2230 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_nv)static void XS_XS__APItest__XSUB_xsreturn_nv( CV* cv __attribute__ ((unused))) | |||
2231 | { | |||
2232 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2233 | if (items != 0) | |||
2234 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2235 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2236 | SPsp -= items; | |||
2237 | { | |||
2238 | #line 1717 "APItest.xs" | |||
2239 | XSRETURN_NV(0.25)do { (PL_stack_base[ax + (0)] = Perl_sv_2mortal( Perl_newSVnv ( 0.25)) ); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2240 | #line 2241 "APItest.c" | |||
2241 | PUTBACKPL_stack_sp = sp; | |||
2242 | return; | |||
2243 | } | |||
2244 | } | |||
2245 | ||||
2246 | ||||
2247 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_pv)static void XS_XS__APItest__XSUB_xsreturn_pv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2248 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_pv)static void XS_XS__APItest__XSUB_xsreturn_pv( CV* cv __attribute__ ((unused))) | |||
2249 | { | |||
2250 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2251 | if (items != 0) | |||
2252 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2253 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2254 | SPsp -= items; | |||
2255 | { | |||
2256 | #line 1722 "APItest.xs" | |||
2257 | XSRETURN_PV("returned")do { (PL_stack_base[ax + (0)] = Perl_sv_2mortal( Perl_newSVpv ( "returned",0))); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2258 | #line 2259 "APItest.c" | |||
2259 | PUTBACKPL_stack_sp = sp; | |||
2260 | return; | |||
2261 | } | |||
2262 | } | |||
2263 | ||||
2264 | ||||
2265 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_pvn)static void XS_XS__APItest__XSUB_xsreturn_pvn( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2266 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_pvn)static void XS_XS__APItest__XSUB_xsreturn_pvn( CV* cv __attribute__ ((unused))) | |||
2267 | { | |||
2268 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2269 | if (items != 0) | |||
2270 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2271 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2272 | SPsp -= items; | |||
2273 | { | |||
2274 | #line 1727 "APItest.xs" | |||
2275 | XSRETURN_PVN("returned too much",8)do { (PL_stack_base[ax + (0)] = Perl_newSVpvn_flags( "returned too much" ,8,0x00080000)); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2276 | #line 2277 "APItest.c" | |||
2277 | PUTBACKPL_stack_sp = sp; | |||
2278 | return; | |||
2279 | } | |||
2280 | } | |||
2281 | ||||
2282 | ||||
2283 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_no)static void XS_XS__APItest__XSUB_xsreturn_no( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2284 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_no)static void XS_XS__APItest__XSUB_xsreturn_no( CV* cv __attribute__ ((unused))) | |||
2285 | { | |||
2286 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2287 | if (items != 0) | |||
2288 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2289 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2290 | SPsp -= items; | |||
2291 | { | |||
2292 | #line 1732 "APItest.xs" | |||
2293 | XSRETURN_NOdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[2]) ); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2294 | #line 2295 "APItest.c" | |||
2295 | PUTBACKPL_stack_sp = sp; | |||
2296 | return; | |||
2297 | } | |||
2298 | } | |||
2299 | ||||
2300 | ||||
2301 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_yes)static void XS_XS__APItest__XSUB_xsreturn_yes( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2302 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_yes)static void XS_XS__APItest__XSUB_xsreturn_yes( CV* cv __attribute__ ((unused))) | |||
2303 | { | |||
2304 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2305 | if (items != 0) | |||
2306 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2307 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2308 | SPsp -= items; | |||
2309 | { | |||
2310 | #line 1737 "APItest.xs" | |||
2311 | 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); | |||
2312 | #line 2313 "APItest.c" | |||
2313 | PUTBACKPL_stack_sp = sp; | |||
2314 | return; | |||
2315 | } | |||
2316 | } | |||
2317 | ||||
2318 | ||||
2319 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_undef)static void XS_XS__APItest__XSUB_xsreturn_undef( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2320 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_undef)static void XS_XS__APItest__XSUB_xsreturn_undef( CV* cv __attribute__ ((unused))) | |||
2321 | { | |||
2322 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2323 | if (items != 0) | |||
2324 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2325 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2326 | SPsp -= items; | |||
2327 | { | |||
2328 | #line 1742 "APItest.xs" | |||
2329 | XSRETURN_UNDEFdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[1])); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2330 | #line 2331 "APItest.c" | |||
2331 | PUTBACKPL_stack_sp = sp; | |||
2332 | return; | |||
2333 | } | |||
2334 | } | |||
2335 | ||||
2336 | ||||
2337 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_empty)static void XS_XS__APItest__XSUB_xsreturn_empty( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2338 | XS_EUPXS(XS_XS__APItest__XSUB_xsreturn_empty)static void XS_XS__APItest__XSUB_xsreturn_empty( CV* cv __attribute__ ((unused))) | |||
2339 | { | |||
2340 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2341 | if (items != 0) | |||
2342 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2343 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2344 | SPsp -= items; | |||
2345 | { | |||
2346 | #line 1747 "APItest.xs" | |||
2347 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2348 | #line 2349 "APItest.c" | |||
2349 | PUTBACKPL_stack_sp = sp; | |||
2350 | return; | |||
2351 | } | |||
2352 | } | |||
2353 | ||||
2354 | ||||
2355 | XS_EUPXS(XS_XS__APItest__Hash_rot13_hash)static void XS_XS__APItest__Hash_rot13_hash( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2356 | XS_EUPXS(XS_XS__APItest__Hash_rot13_hash)static void XS_XS__APItest__Hash_rot13_hash( CV* cv __attribute__ ((unused))) | |||
2357 | { | |||
2358 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2359 | if (items != 1) | |||
2360 | croak_xs_usagePerl_croak_xs_usage(cv, "hash"); | |||
2361 | { | |||
2362 | HV * hash; | |||
2363 | ||||
2364 | STMT_STARTdo { | |||
2365 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2366 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2367 | 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){ | |||
2368 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2369 | } | |||
2370 | else{ | |||
2371 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2372 | "XS::APItest::Hash::rot13_hash", | |||
2373 | "hash"); | |||
2374 | } | |||
2375 | } STMT_ENDwhile (0) | |||
2376 | ; | |||
2377 | #line 1755 "APItest.xs" | |||
2378 | { | |||
2379 | struct ufuncs uf; | |||
2380 | uf.uf_val = rot13_key; | |||
2381 | uf.uf_set = 0; | |||
2382 | uf.uf_index = 0; | |||
2383 | ||||
2384 | sv_magic((SV*)hash, NULL, PERL_MAGIC_uvar, (char*)&uf, sizeof(uf))Perl_sv_magic( (SV*)hash,((void*)0),'U',(char*)&uf,sizeof (uf)); | |||
2385 | } | |||
2386 | #line 2387 "APItest.c" | |||
2387 | } | |||
2388 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2389 | } | |||
2390 | ||||
2391 | ||||
2392 | XS_EUPXS(XS_XS__APItest__Hash_bitflip_hash)static void XS_XS__APItest__Hash_bitflip_hash( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2393 | XS_EUPXS(XS_XS__APItest__Hash_bitflip_hash)static void XS_XS__APItest__Hash_bitflip_hash( CV* cv __attribute__ ((unused))) | |||
2394 | { | |||
2395 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2396 | if (items != 1) | |||
2397 | croak_xs_usagePerl_croak_xs_usage(cv, "hash"); | |||
2398 | { | |||
2399 | HV * hash; | |||
2400 | ||||
2401 | STMT_STARTdo { | |||
2402 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2403 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2404 | 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){ | |||
2405 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2406 | } | |||
2407 | else{ | |||
2408 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2409 | "XS::APItest::Hash::bitflip_hash", | |||
2410 | "hash"); | |||
2411 | } | |||
2412 | } STMT_ENDwhile (0) | |||
2413 | ; | |||
2414 | #line 1768 "APItest.xs" | |||
2415 | { | |||
2416 | struct ufuncs uf; | |||
2417 | uf.uf_val = bitflip_key; | |||
2418 | uf.uf_set = 0; | |||
2419 | uf.uf_index = 0; | |||
2420 | ||||
2421 | sv_magic((SV*)hash, NULL, PERL_MAGIC_uvar, (char*)&uf, sizeof(uf))Perl_sv_magic( (SV*)hash,((void*)0),'U',(char*)&uf,sizeof (uf)); | |||
2422 | } | |||
2423 | #line 2424 "APItest.c" | |||
2424 | } | |||
2425 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2426 | } | |||
2427 | ||||
2428 | #define UTF8KLEN(sv, len)(((sv)->sv_flags & 0x20000000) ? -(I32)len : (I32)len) (SvUTF8(sv)((sv)->sv_flags & 0x20000000) ? -(I32)len : (I32)len) | |||
2429 | ||||
2430 | XS_EUPXS(XS_XS__APItest__Hash_exists)static void XS_XS__APItest__Hash_exists( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2431 | XS_EUPXS(XS_XS__APItest__Hash_exists)static void XS_XS__APItest__Hash_exists( CV* cv __attribute__ ((unused))) | |||
2432 | { | |||
2433 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2434 | if (items != 2) | |||
2435 | croak_xs_usagePerl_croak_xs_usage(cv, "hash, key_sv"); | |||
2436 | { | |||
2437 | #line 1782 "APItest.xs" | |||
2438 | STRLEN len; | |||
2439 | const char *key; | |||
2440 | #line 2441 "APItest.c" | |||
2441 | HV * hash; | |||
2442 | SV * key_sv = ST(1)PL_stack_base[ax + (1)] | |||
2443 | ; | |||
2444 | bool_Bool RETVAL; | |||
2445 | ||||
2446 | STMT_STARTdo { | |||
2447 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2448 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2449 | 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){ | |||
2450 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2451 | } | |||
2452 | else{ | |||
2453 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2454 | "XS::APItest::Hash::exists", | |||
2455 | "hash"); | |||
2456 | } | |||
2457 | } STMT_ENDwhile (0) | |||
2458 | ; | |||
2459 | #line 1788 "APItest.xs" | |||
2460 | key = SvPV(key_sv, len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (key_sv)->sv_any)->xpv_cur), ((key_sv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&len,2)); | |||
2461 | RETVAL = hv_exists(hash, key, UTF8KLEN(key_sv, len))((Perl_hv_common_key_len( (hash),(key),((((key_sv)->sv_flags & 0x20000000) ? -(I32)len : (I32)len)),0x08,((void*)0),0 )) ? (_Bool)1 : (_Bool)0); | |||
2462 | #line 2463 "APItest.c" | |||
2463 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
2464 | } | |||
2465 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2466 | } | |||
2467 | ||||
2468 | ||||
2469 | XS_EUPXS(XS_XS__APItest__Hash_exists_ent)static void XS_XS__APItest__Hash_exists_ent( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2470 | XS_EUPXS(XS_XS__APItest__Hash_exists_ent)static void XS_XS__APItest__Hash_exists_ent( CV* cv __attribute__ ((unused))) | |||
2471 | { | |||
2472 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2473 | if (items != 2) | |||
2474 | croak_xs_usagePerl_croak_xs_usage(cv, "hash, key_sv"); | |||
2475 | { | |||
2476 | #line 1796 "APItest.xs" | |||
2477 | #line 2478 "APItest.c" | |||
2478 | HV * hash; | |||
2479 | SV * key_sv = ST(1)PL_stack_base[ax + (1)] | |||
2480 | ; | |||
2481 | bool_Bool RETVAL; | |||
2482 | ||||
2483 | STMT_STARTdo { | |||
2484 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2485 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2486 | 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){ | |||
2487 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2488 | } | |||
2489 | else{ | |||
2490 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2491 | "XS::APItest::Hash::exists_ent", | |||
2492 | "hash"); | |||
2493 | } | |||
2494 | } STMT_ENDwhile (0) | |||
2495 | ; | |||
2496 | #line 1800 "APItest.xs" | |||
2497 | RETVAL = hv_exists_ent(hash, key_sv, 0)((Perl_hv_common( (hash),(key_sv),((void*)0),0,0,0x08,0,(0))) ? (_Bool)1 : (_Bool)0); | |||
2498 | #line 2499 "APItest.c" | |||
2499 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
2500 | } | |||
2501 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2502 | } | |||
2503 | ||||
2504 | ||||
2505 | XS_EUPXS(XS_XS__APItest__Hash_delete)static void XS_XS__APItest__Hash_delete( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2506 | XS_EUPXS(XS_XS__APItest__Hash_delete)static void XS_XS__APItest__Hash_delete( CV* cv __attribute__ ((unused))) | |||
2507 | { | |||
2508 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2509 | if (items < 2 || items > 3) | |||
2510 | croak_xs_usagePerl_croak_xs_usage(cv, "hash, key_sv, flags = 0"); | |||
2511 | { | |||
2512 | #line 1807 "APItest.xs" | |||
2513 | STRLEN len; | |||
2514 | const char *key; | |||
2515 | #line 2516 "APItest.c" | |||
2516 | HV * hash; | |||
2517 | SV * key_sv = ST(1)PL_stack_base[ax + (1)] | |||
2518 | ; | |||
2519 | I32 flags; | |||
2520 | SV * RETVAL; | |||
2521 | ||||
2522 | STMT_STARTdo { | |||
2523 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2524 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2525 | 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){ | |||
2526 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2527 | } | |||
2528 | else{ | |||
2529 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2530 | "XS::APItest::Hash::delete", | |||
2531 | "hash"); | |||
2532 | } | |||
2533 | } STMT_ENDwhile (0) | |||
2534 | ; | |||
2535 | ||||
2536 | if (items < 3) | |||
2537 | flags = 0; | |||
2538 | else { | |||
2539 | flags = (I32)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)) | |||
2540 | ; | |||
2541 | } | |||
2542 | #line 1814 "APItest.xs" | |||
2543 | key = SvPV(key_sv, len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (key_sv)->sv_any)->xpv_cur), ((key_sv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&len,2)); | |||
2544 | /* It's already mortal, so need to increase reference count. */ | |||
2545 | RETVAL | |||
2546 | = SvREFCNT_inc(hv_delete(hash, key, UTF8KLEN(key_sv, len), flags))Perl_SvREFCNT_inc(((SV *)({ void *_p = ((((SV *)({ void *_p = (Perl_hv_common_key_len( (hash),(key),((((key_sv)->sv_flags & 0x20000000) ? -(I32)len : (I32)len)),(flags) | 0x40,(( void*)0),0)); _p; })))); _p; }))); | |||
2547 | #line 2548 "APItest.c" | |||
2548 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2549 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2550 | } | |||
2551 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2552 | } | |||
2553 | ||||
2554 | ||||
2555 | XS_EUPXS(XS_XS__APItest__Hash_delete_ent)static void XS_XS__APItest__Hash_delete_ent( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2556 | XS_EUPXS(XS_XS__APItest__Hash_delete_ent)static void XS_XS__APItest__Hash_delete_ent( CV* cv __attribute__ ((unused))) | |||
2557 | { | |||
2558 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2559 | if (items < 2 || items > 3) | |||
2560 | croak_xs_usagePerl_croak_xs_usage(cv, "hash, key_sv, flags = 0"); | |||
2561 | { | |||
2562 | HV * hash; | |||
2563 | SV * key_sv = ST(1)PL_stack_base[ax + (1)] | |||
2564 | ; | |||
2565 | I32 flags; | |||
2566 | SV * RETVAL; | |||
2567 | ||||
2568 | STMT_STARTdo { | |||
2569 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2570 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2571 | 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){ | |||
2572 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2573 | } | |||
2574 | else{ | |||
2575 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2576 | "XS::APItest::Hash::delete_ent", | |||
2577 | "hash"); | |||
2578 | } | |||
2579 | } STMT_ENDwhile (0) | |||
2580 | ; | |||
2581 | ||||
2582 | if (items < 3) | |||
2583 | flags = 0; | |||
2584 | else { | |||
2585 | flags = (I32)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)) | |||
2586 | ; | |||
2587 | } | |||
2588 | #line 1828 "APItest.xs" | |||
2589 | /* It's already mortal, so need to increase reference count. */ | |||
2590 | RETVAL = SvREFCNT_inc(hv_delete_ent(hash, key_sv, flags, 0))Perl_SvREFCNT_inc(((SV *)({ void *_p = ((((SV *)({ void *_p = (Perl_hv_common( (hash),(key_sv),((void*)0),0,0,(flags) | 0x40 ,((void*)0),(0))); _p; })))); _p; }))); | |||
2591 | #line 2592 "APItest.c" | |||
2592 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2593 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2594 | } | |||
2595 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2596 | } | |||
2597 | ||||
2598 | ||||
2599 | XS_EUPXS(XS_XS__APItest__Hash_store_ent)static void XS_XS__APItest__Hash_store_ent( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2600 | XS_EUPXS(XS_XS__APItest__Hash_store_ent)static void XS_XS__APItest__Hash_store_ent( CV* cv __attribute__ ((unused))) | |||
2601 | { | |||
2602 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2603 | if (items != 3) | |||
2604 | croak_xs_usagePerl_croak_xs_usage(cv, "hash, key, value"); | |||
2605 | { | |||
2606 | #line 1836 "APItest.xs" | |||
2607 | SV *copy; | |||
2608 | HE *result; | |||
2609 | #line 2610 "APItest.c" | |||
2610 | HV * hash; | |||
2611 | SV * key = ST(1)PL_stack_base[ax + (1)] | |||
2612 | ; | |||
2613 | SV * value = ST(2)PL_stack_base[ax + (2)] | |||
2614 | ; | |||
2615 | SV * RETVAL; | |||
2616 | ||||
2617 | STMT_STARTdo { | |||
2618 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2619 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2620 | 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){ | |||
2621 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2622 | } | |||
2623 | else{ | |||
2624 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2625 | "XS::APItest::Hash::store_ent", | |||
2626 | "hash"); | |||
2627 | } | |||
2628 | } STMT_ENDwhile (0) | |||
2629 | ; | |||
2630 | #line 1843 "APItest.xs" | |||
2631 | copy = newSV(0)Perl_newSV( 0); | |||
2632 | result = hv_store_ent(hash, key, copy, 0)((HE *) Perl_hv_common( (hash),(key),((void*)0),0,0,0x04,(copy ),(0))); | |||
2633 | SvSetMagicSV(copy, value)do { if (__builtin_expect((((copy) != (value)) ? (_Bool)1 : ( _Bool)0),(1))) { Perl_sv_setsv_flags( copy,value,2|0); do { if (__builtin_expect(((((copy)->sv_flags & 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( copy); } while (0); } } while (0); | |||
2634 | if (!result) { | |||
2635 | SvREFCNT_dec(copy)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (copy); _p; }))); | |||
2636 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2637 | } | |||
2638 | /* It's about to become mortal, so need to increase reference count. | |||
2639 | */ | |||
2640 | RETVAL = SvREFCNT_inc(HeVAL(result))Perl_SvREFCNT_inc(((SV *)({ void *_p = ((result)->he_valu. hent_val); _p; }))); | |||
2641 | #line 2642 "APItest.c" | |||
2642 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2643 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2644 | } | |||
2645 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2646 | } | |||
2647 | ||||
2648 | ||||
2649 | XS_EUPXS(XS_XS__APItest__Hash_store)static void XS_XS__APItest__Hash_store( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2650 | XS_EUPXS(XS_XS__APItest__Hash_store)static void XS_XS__APItest__Hash_store( CV* cv __attribute__( (unused))) | |||
2651 | { | |||
2652 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2653 | if (items != 3) | |||
2654 | croak_xs_usagePerl_croak_xs_usage(cv, "hash, key_sv, value"); | |||
2655 | { | |||
2656 | #line 1859 "APItest.xs" | |||
2657 | STRLEN len; | |||
2658 | const char *key; | |||
2659 | SV *copy; | |||
2660 | SV **result; | |||
2661 | #line 2662 "APItest.c" | |||
2662 | HV * hash; | |||
2663 | SV * key_sv = ST(1)PL_stack_base[ax + (1)] | |||
2664 | ; | |||
2665 | SV * value = ST(2)PL_stack_base[ax + (2)] | |||
2666 | ; | |||
2667 | SV * RETVAL; | |||
2668 | ||||
2669 | STMT_STARTdo { | |||
2670 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2671 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2672 | 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){ | |||
2673 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2674 | } | |||
2675 | else{ | |||
2676 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2677 | "XS::APItest::Hash::store", | |||
2678 | "hash"); | |||
2679 | } | |||
2680 | } STMT_ENDwhile (0) | |||
2681 | ; | |||
2682 | #line 1868 "APItest.xs" | |||
2683 | key = SvPV(key_sv, len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (key_sv)->sv_any)->xpv_cur), ((key_sv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&len,2)); | |||
2684 | copy = newSV(0)Perl_newSV( 0); | |||
2685 | result = hv_store(hash, key, UTF8KLEN(key_sv, len), copy, 0)((SV**) Perl_hv_common_key_len( (hash),(key),((((key_sv)-> sv_flags & 0x20000000) ? -(I32)len : (I32)len)),(0x04|0x20 ),(copy),(0))); | |||
2686 | SvSetMagicSV(copy, value)do { if (__builtin_expect((((copy) != (value)) ? (_Bool)1 : ( _Bool)0),(1))) { Perl_sv_setsv_flags( copy,value,2|0); do { if (__builtin_expect(((((copy)->sv_flags & 0x00400000)) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( copy); } while (0); } } while (0); | |||
2687 | if (!result) { | |||
2688 | SvREFCNT_dec(copy)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (copy); _p; }))); | |||
2689 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2690 | } | |||
2691 | /* It's about to become mortal, so need to increase reference count. | |||
2692 | */ | |||
2693 | RETVAL = SvREFCNT_inc(*result)Perl_SvREFCNT_inc(((SV *)({ void *_p = (*result); _p; }))); | |||
2694 | #line 2695 "APItest.c" | |||
2695 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2696 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2697 | } | |||
2698 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2699 | } | |||
2700 | ||||
2701 | ||||
2702 | XS_EUPXS(XS_XS__APItest__Hash_fetch_ent)static void XS_XS__APItest__Hash_fetch_ent( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2703 | XS_EUPXS(XS_XS__APItest__Hash_fetch_ent)static void XS_XS__APItest__Hash_fetch_ent( CV* cv __attribute__ ((unused))) | |||
2704 | { | |||
2705 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2706 | if (items != 2) | |||
2707 | croak_xs_usagePerl_croak_xs_usage(cv, "hash, key_sv"); | |||
2708 | { | |||
2709 | #line 1885 "APItest.xs" | |||
2710 | HE *result; | |||
2711 | #line 2712 "APItest.c" | |||
2712 | HV * hash; | |||
2713 | SV * key_sv = ST(1)PL_stack_base[ax + (1)] | |||
2714 | ; | |||
2715 | SV * RETVAL; | |||
2716 | ||||
2717 | STMT_STARTdo { | |||
2718 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2719 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2720 | 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){ | |||
2721 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2722 | } | |||
2723 | else{ | |||
2724 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2725 | "XS::APItest::Hash::fetch_ent", | |||
2726 | "hash"); | |||
2727 | } | |||
2728 | } STMT_ENDwhile (0) | |||
2729 | ; | |||
2730 | #line 1890 "APItest.xs" | |||
2731 | result = hv_fetch_ent(hash, key_sv, 0, 0)((HE *) Perl_hv_common( (hash),(key_sv),((void*)0),0,0,((0) ? 0x10 : 0),((void*)0),(0))); | |||
2732 | if (!result) { | |||
2733 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2734 | } | |||
2735 | /* Force mg_get */ | |||
2736 | RETVAL = newSVsv(HeVAL(result))Perl_newSVsv_flags( ((result)->he_valu.hent_val),2|16); | |||
2737 | #line 2738 "APItest.c" | |||
2738 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2739 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2740 | } | |||
2741 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2742 | } | |||
2743 | ||||
2744 | ||||
2745 | XS_EUPXS(XS_XS__APItest__Hash_fetch)static void XS_XS__APItest__Hash_fetch( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2746 | XS_EUPXS(XS_XS__APItest__Hash_fetch)static void XS_XS__APItest__Hash_fetch( CV* cv __attribute__( (unused))) | |||
2747 | { | |||
2748 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2749 | if (items != 2) | |||
2750 | croak_xs_usagePerl_croak_xs_usage(cv, "hash, key_sv"); | |||
2751 | { | |||
2752 | #line 1902 "APItest.xs" | |||
2753 | STRLEN len; | |||
2754 | const char *key; | |||
2755 | SV **result; | |||
2756 | #line 2757 "APItest.c" | |||
2757 | HV * hash; | |||
2758 | SV * key_sv = ST(1)PL_stack_base[ax + (1)] | |||
2759 | ; | |||
2760 | SV * RETVAL; | |||
2761 | ||||
2762 | STMT_STARTdo { | |||
2763 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2764 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2765 | 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){ | |||
2766 | hash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2767 | } | |||
2768 | else{ | |||
2769 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2770 | "XS::APItest::Hash::fetch", | |||
2771 | "hash"); | |||
2772 | } | |||
2773 | } STMT_ENDwhile (0) | |||
2774 | ; | |||
2775 | #line 1909 "APItest.xs" | |||
2776 | key = SvPV(key_sv, len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (key_sv)->sv_any)->xpv_cur), ((key_sv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&len,2)); | |||
2777 | result = hv_fetch(hash, key, UTF8KLEN(key_sv, len), 0)((SV**) Perl_hv_common_key_len( (hash),(key),((((key_sv)-> sv_flags & 0x20000000) ? -(I32)len : (I32)len)),(0) ? (0x20 | 0x10) : 0x20,((void*)0),0)); | |||
2778 | if (!result) { | |||
2779 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2780 | } | |||
2781 | /* Force mg_get */ | |||
2782 | RETVAL = newSVsv(*result)Perl_newSVsv_flags( (*result),2|16); | |||
2783 | #line 2784 "APItest.c" | |||
2784 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2785 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2786 | } | |||
2787 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2788 | } | |||
2789 | ||||
2790 | #if defined (hv_common) | |||
2791 | #define XSubPPtmpAAAA1 1 | |||
2792 | ||||
2793 | ||||
2794 | XS_EUPXS(XS_XS__APItest__Hash_common)static void XS_XS__APItest__Hash_common( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2795 | XS_EUPXS(XS_XS__APItest__Hash_common)static void XS_XS__APItest__Hash_common( CV* cv __attribute__ ((unused))) | |||
2796 | { | |||
2797 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2798 | if (items != 1) | |||
2799 | croak_xs_usagePerl_croak_xs_usage(cv, "params"); | |||
2800 | { | |||
2801 | HV * params; | |||
2802 | #line 1926 "APItest.xs" | |||
2803 | HE *result; | |||
2804 | HV *hv = NULL((void*)0); | |||
2805 | SV *keysv = NULL((void*)0); | |||
2806 | const char *key = NULL((void*)0); | |||
2807 | STRLEN klen = 0; | |||
2808 | int flags = 0; | |||
2809 | int action = 0; | |||
2810 | SV *val = NULL((void*)0); | |||
2811 | U32 hash = 0; | |||
2812 | SV **svp; | |||
2813 | #line 2814 "APItest.c" | |||
2814 | SV * RETVAL; | |||
2815 | ||||
2816 | STMT_STARTdo { | |||
2817 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
2818 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
2819 | 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){ | |||
2820 | params = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
2821 | } | |||
2822 | else{ | |||
2823 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
2824 | "XS::APItest::Hash::common", | |||
2825 | "params"); | |||
2826 | } | |||
2827 | } STMT_ENDwhile (0) | |||
2828 | ; | |||
2829 | #line 1937 "APItest.xs" | |||
2830 | if ((svp = hv_fetchs(params, "hv", 0)((SV**) Perl_hv_common_key_len( ((params)),(("" "hv" "")),((sizeof ("hv")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)))) { | |||
2831 | SV *const rv = *svp; | |||
2832 | if (!SvROK(rv)((rv)->sv_flags & 0x00000800)) | |||
2833 | croakPerl_croak("common passed a non-reference for parameter hv"); | |||
2834 | hv = (HV *)SvRV(rv)((rv)->sv_u.svu_rv); | |||
2835 | } | |||
2836 | if ((svp = hv_fetchs(params, "keysv", 0)((SV**) Perl_hv_common_key_len( ((params)),(("" "keysv" "")), ((sizeof("keysv")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0) ,0)))) | |||
2837 | keysv = *svp; | |||
2838 | if ((svp = hv_fetchs(params, "keypv", 0)((SV**) Perl_hv_common_key_len( ((params)),(("" "keypv" "")), ((sizeof("keypv")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0) ,0)))) { | |||
2839 | key = SvPV_const(*svp, klen)((((*svp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((klen = ((XPV*) (*svp)->sv_any)->xpv_cur), ((const char*)(0 + (*svp)->sv_u.svu_pv))) : (const char*) Perl_sv_2pv_flags ( *svp,&klen,(2|32))); | |||
2840 | if (SvUTF8(*svp)((*svp)->sv_flags & 0x20000000)) | |||
2841 | flags = HVhek_UTF80x01; | |||
2842 | } | |||
2843 | if ((svp = hv_fetchs(params, "action", 0)((SV**) Perl_hv_common_key_len( ((params)),(("" "action" "")) ,((sizeof("action")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*) 0),0)))) | |||
2844 | action = SvIV(*svp)((((*svp)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (*svp)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( *svp,2)); | |||
2845 | if ((svp = hv_fetchs(params, "val", 0)((SV**) Perl_hv_common_key_len( ((params)),(("" "val" "")),(( sizeof("val")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)))) | |||
2846 | val = newSVsv(*svp)Perl_newSVsv_flags( (*svp),2|16); | |||
2847 | if ((svp = hv_fetchs(params, "hash", 0)((SV**) Perl_hv_common_key_len( ((params)),(("" "hash" "")),( (sizeof("hash")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0 )))) | |||
2848 | hash = SvUV(*svp)((((*svp)->sv_flags & (0x00000100|0x80000000|0x00200000 )) == (0x00000100|0x80000000)) ? ((XPVUV*) (*svp)->sv_any) ->xuv_u.xivu_uv : Perl_sv_2uv_flags( *svp,2)); | |||
2849 | ||||
2850 | if (hv_fetchs(params, "hash_pv", 0)((SV**) Perl_hv_common_key_len( ((params)),(("" "hash_pv" "") ),((sizeof("hash_pv")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void *)0),0))) { | |||
2851 | assert(key)((void)0); | |||
2852 | PERL_HASH(hash, key, klen)(hash) = (__builtin_expect(((((klen)) <= 24) ? (_Bool)1 : ( _Bool)0),(1)) ? sbox32_hash_with_state(((((U8 *)PL_hash_state_w )) + (sizeof(U64) * 4)),(U8*)((U8*)((U8*)(key))),(((klen)))) : (U32)stadtx_hash_with_state((((((U8 *)PL_hash_state_w)))),(U8 *)(((U8*)((U8*)(key)))),((((klen)))))); | |||
2853 | } | |||
2854 | if (hv_fetchs(params, "hash_sv", 0)((SV**) Perl_hv_common_key_len( ((params)),(("" "hash_sv" "") ),((sizeof("hash_sv")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void *)0),0))) { | |||
2855 | assert(keysv)((void)0); | |||
2856 | { | |||
2857 | STRLEN len; | |||
2858 | const char *const p = SvPV(keysv, len)((((keysv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (keysv)->sv_any)->xpv_cur), ((keysv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( keysv,&len,2)); | |||
2859 | PERL_HASH(hash, p, len)(hash) = (__builtin_expect(((((len)) <= 24) ? (_Bool)1 : ( _Bool)0),(1)) ? sbox32_hash_with_state(((((U8 *)PL_hash_state_w )) + (sizeof(U64) * 4)),(U8*)((U8*)((U8*)(p))),(((len)))) : ( U32)stadtx_hash_with_state((((((U8 *)PL_hash_state_w)))),(U8* )(((U8*)((U8*)(p)))),((((len)))))); | |||
2860 | } | |||
2861 | } | |||
2862 | ||||
2863 | result = (HE *)hv_common(hv, keysv, key, klen, flags, action, val, hash)Perl_hv_common( hv,keysv,key,klen,flags,action,val,hash); | |||
2864 | if (!result) { | |||
2865 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
2866 | } | |||
2867 | /* Force mg_get */ | |||
2868 | RETVAL = newSVsv(HeVAL(result))Perl_newSVsv_flags( ((result)->he_valu.hent_val),2|16); | |||
2869 | #line 2870 "APItest.c" | |||
2870 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2871 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2872 | } | |||
2873 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2874 | } | |||
2875 | ||||
2876 | #endif | |||
2877 | ||||
2878 | XS_EUPXS(XS_XS__APItest__Hash_test_hv_free_ent)static void XS_XS__APItest__Hash_test_hv_free_ent( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2879 | XS_EUPXS(XS_XS__APItest__Hash_test_hv_free_ent)static void XS_XS__APItest__Hash_test_hv_free_ent( CV* cv __attribute__ ((unused))) | |||
2880 | { | |||
2881 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2882 | if (items != 0) | |||
2883 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2884 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2885 | SPsp -= items; | |||
2886 | { | |||
2887 | #line 1984 "APItest.xs" | |||
2888 | test_freeent(&Perl_hv_free_ent); | |||
2889 | XSRETURN(4)do { const IV tmpXSoff = (4); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2890 | #line 2891 "APItest.c" | |||
2891 | PUTBACKPL_stack_sp = sp; | |||
2892 | return; | |||
2893 | } | |||
2894 | } | |||
2895 | ||||
2896 | ||||
2897 | XS_EUPXS(XS_XS__APItest__Hash_test_hv_delayfree_ent)static void XS_XS__APItest__Hash_test_hv_delayfree_ent( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2898 | XS_EUPXS(XS_XS__APItest__Hash_test_hv_delayfree_ent)static void XS_XS__APItest__Hash_test_hv_delayfree_ent( CV* cv __attribute__((unused))) | |||
2899 | { | |||
2900 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2901 | if (items != 0) | |||
2902 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
2903 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
2904 | SPsp -= items; | |||
2905 | { | |||
2906 | #line 1990 "APItest.xs" | |||
2907 | test_freeent(&Perl_hv_delayfree_ent); | |||
2908 | XSRETURN(4)do { const IV tmpXSoff = (4); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2909 | #line 2910 "APItest.c" | |||
2910 | PUTBACKPL_stack_sp = sp; | |||
2911 | return; | |||
2912 | } | |||
2913 | } | |||
2914 | ||||
2915 | ||||
2916 | XS_EUPXS(XS_XS__APItest__Hash_test_share_unshare_pvn)static void XS_XS__APItest__Hash_test_share_unshare_pvn( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2917 | XS_EUPXS(XS_XS__APItest__Hash_test_share_unshare_pvn)static void XS_XS__APItest__Hash_test_share_unshare_pvn( CV* cv __attribute__((unused))) | |||
2918 | { | |||
2919 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2920 | if (items != 1) | |||
2921 | croak_xs_usagePerl_croak_xs_usage(cv, "input"); | |||
2922 | { | |||
2923 | #line 1996 "APItest.xs" | |||
2924 | STRLEN len; | |||
2925 | U32 hash; | |||
2926 | char *pvx; | |||
2927 | char *p; | |||
2928 | #line 2929 "APItest.c" | |||
2929 | SV * input = ST(0)PL_stack_base[ax + (0)] | |||
2930 | ; | |||
2931 | SV * RETVAL; | |||
2932 | #line 2003 "APItest.xs" | |||
2933 | pvx = SvPV(input, len)((((input)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (input)->sv_any)->xpv_cur), ((input )->sv_u.svu_pv)) : Perl_sv_2pv_flags( input,&len,2)); | |||
2934 | PERL_HASH(hash, pvx, len)(hash) = (__builtin_expect(((((len)) <= 24) ? (_Bool)1 : ( _Bool)0),(1)) ? sbox32_hash_with_state(((((U8 *)PL_hash_state_w )) + (sizeof(U64) * 4)),(U8*)((U8*)((U8*)(pvx))),(((len)))) : (U32)stadtx_hash_with_state((((((U8 *)PL_hash_state_w)))),(U8 *)(((U8*)((U8*)(pvx)))),((((len)))))); | |||
2935 | p = sharepvn(pvx, len, hash)(Perl_share_hek( pvx,len,hash))->hek_key; | |||
2936 | RETVAL = newSVpvn(p, len)Perl_newSVpvn( p,len); | |||
2937 | unsharepvn(p, len, hash)Perl_unsharepvn( p,len,hash); | |||
2938 | #line 2939 "APItest.c" | |||
2939 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
2940 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
2941 | } | |||
2942 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2943 | } | |||
2944 | ||||
2945 | #if PERL_VERSION32 >= 9 | |||
2946 | #define XSubPPtmpAAAB1 1 | |||
2947 | ||||
2948 | ||||
2949 | XS_EUPXS(XS_XS__APItest__Hash_refcounted_he_exists)static void XS_XS__APItest__Hash_refcounted_he_exists( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2950 | XS_EUPXS(XS_XS__APItest__Hash_refcounted_he_exists)static void XS_XS__APItest__Hash_refcounted_he_exists( CV* cv __attribute__((unused))) | |||
2951 | { | |||
2952 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2953 | if (items < 1 || items > 2) | |||
2954 | croak_xs_usagePerl_croak_xs_usage(cv, "key, level=0"); | |||
2955 | { | |||
2956 | SV * key = ST(0)PL_stack_base[ax + (0)] | |||
2957 | ; | |||
2958 | IV level; | |||
2959 | bool_Bool RETVAL; | |||
2960 | ||||
2961 | if (items < 2) | |||
2962 | level = 0; | |||
2963 | else { | |||
2964 | level = (IV)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)) | |||
2965 | ; | |||
2966 | } | |||
2967 | #line 2018 "APItest.xs" | |||
2968 | if (level) { | |||
2969 | croakPerl_croak("level must be zero, not %" IVdf"ld", level); | |||
2970 | } | |||
2971 | RETVAL = (cop_hints_fetch_sv(PL_curcop, key, 0, 0)Perl_refcounted_he_fetch_sv( ((COPHH*)((PL_curcop)->cop_hints_hash )), key, 0, 0) != &PL_sv_placeholder); | |||
2972 | #line 2973 "APItest.c" | |||
2973 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
2974 | } | |||
2975 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
2976 | } | |||
2977 | ||||
2978 | ||||
2979 | XS_EUPXS(XS_XS__APItest__Hash_refcounted_he_fetch)static void XS_XS__APItest__Hash_refcounted_he_fetch( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
2980 | XS_EUPXS(XS_XS__APItest__Hash_refcounted_he_fetch)static void XS_XS__APItest__Hash_refcounted_he_fetch( CV* cv __attribute__ ((unused))) | |||
2981 | { | |||
2982 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
2983 | if (items < 1 || items > 2) | |||
2984 | croak_xs_usagePerl_croak_xs_usage(cv, "key, level=0"); | |||
2985 | { | |||
2986 | SV * key = ST(0)PL_stack_base[ax + (0)] | |||
2987 | ; | |||
2988 | IV level; | |||
2989 | SV * RETVAL; | |||
2990 | ||||
2991 | if (items < 2) | |||
2992 | level = 0; | |||
2993 | else { | |||
2994 | level = (IV)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)) | |||
2995 | ; | |||
2996 | } | |||
2997 | #line 2030 "APItest.xs" | |||
2998 | if (level) { | |||
2999 | croakPerl_croak("level must be zero, not %" IVdf"ld", level); | |||
3000 | } | |||
3001 | RETVAL = cop_hints_fetch_sv(PL_curcop, key, 0, 0)Perl_refcounted_he_fetch_sv( ((COPHH*)((PL_curcop)->cop_hints_hash )), key, 0, 0); | |||
3002 | SvREFCNT_inc(RETVAL)Perl_SvREFCNT_inc(((SV *)({ void *_p = (RETVAL); _p; }))); | |||
3003 | #line 3004 "APItest.c" | |||
3004 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
3005 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
3006 | } | |||
3007 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3008 | } | |||
3009 | ||||
3010 | #endif | |||
3011 | ||||
3012 | XS_EUPXS(XS_XS__APItest__Hash_test_force_keys)static void XS_XS__APItest__Hash_test_force_keys( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3013 | XS_EUPXS(XS_XS__APItest__Hash_test_force_keys)static void XS_XS__APItest__Hash_test_force_keys( CV* cv __attribute__ ((unused))) | |||
3014 | { | |||
3015 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3016 | if (items != 1) | |||
3017 | croak_xs_usagePerl_croak_xs_usage(cv, "hv"); | |||
3018 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3019 | SPsp -= items; | |||
3020 | { | |||
3021 | #line 2043 "APItest.xs" | |||
3022 | HE *he; | |||
3023 | SSize_tssize_t count = 0; | |||
3024 | #line 3025 "APItest.c" | |||
3025 | HV * hv; | |||
3026 | ||||
3027 | STMT_STARTdo { | |||
3028 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
3029 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
3030 | 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){ | |||
3031 | hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
3032 | } | |||
3033 | else{ | |||
3034 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
3035 | "XS::APItest::Hash::test_force_keys", | |||
3036 | "hv"); | |||
3037 | } | |||
3038 | } STMT_ENDwhile (0) | |||
3039 | ; | |||
3040 | #line 2046 "APItest.xs" | |||
3041 | hv_iterinit(hv)Perl_hv_iterinit( hv); | |||
3042 | he = hv_iternext(hv)Perl_hv_iternext_flags( hv,0); | |||
3043 | while (he) { | |||
3044 | SV *sv = HeSVKEY_force(he)(((he)->hent_hek)->hek_key ? ((((he)->hent_hek)-> hek_len == -2) ? (*(SV**)((he)->hent_hek)->hek_key) : Perl_newSVpvn_flags ( ((he)->hent_hek)->hek_key,((he)->hent_hek)->hek_len ,0x00080000 | ( ((*((unsigned char *)(((he)->hent_hek)-> hek_key)+((he)->hent_hek)->hek_len+1)) & 0x01) ? 0x20000000 : 0 ))) : &(PL_sv_immortals[1])); | |||
3045 | ++count; | |||
3046 | EXTEND(SP, count)do { (void)0; if (__builtin_expect(((((count) < 0 || PL_stack_max - (sp) < (count))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(count) > sizeof(ssize_t) && ((ssize_t )(count) != (count)) ? -1 : (count))); ((void)sizeof(sp)); } } while (0); | |||
3047 | PUSHs(sv_mortalcopy(sv))(*++sp = (Perl_sv_mortalcopy_flags( sv, 2|0))); | |||
3048 | he = hv_iternext(hv)Perl_hv_iternext_flags( hv,0); | |||
3049 | } | |||
3050 | #line 3051 "APItest.c" | |||
3051 | PUTBACKPL_stack_sp = sp; | |||
3052 | return; | |||
3053 | } | |||
3054 | } | |||
3055 | ||||
3056 | ||||
3057 | XS_EUPXS(XS_XS__APItest__TempLv_make_temp_mg_lv)static void XS_XS__APItest__TempLv_make_temp_mg_lv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3058 | XS_EUPXS(XS_XS__APItest__TempLv_make_temp_mg_lv)static void XS_XS__APItest__TempLv_make_temp_mg_lv( CV* cv __attribute__ ((unused))) | |||
3059 | { | |||
3060 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3061 | if (items != 1) | |||
3062 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
3063 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3064 | SPsp -= items; | |||
3065 | { | |||
3066 | SV* sv = ST(0)PL_stack_base[ax + (0)] | |||
3067 | ; | |||
3068 | #line 2075 "APItest.xs" | |||
3069 | SV * const lv = newSV_type(SVt_PVLV)Perl_newSV_type( SVt_PVLV); | |||
3070 | STRLEN len; | |||
3071 | #line 3072 "APItest.c" | |||
3072 | #line 2078 "APItest.xs" | |||
3073 | SvPV(sv, len)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( sv,&len,2)); | |||
3074 | ||||
3075 | sv_magic(lv, NULL, PERL_MAGIC_substr, NULL, 0)Perl_sv_magic( lv,((void*)0),'x',((void*)0),0); | |||
3076 | LvTYPE(lv)((XPVLV*) (lv)->sv_any)->xlv_type = 'x'; | |||
3077 | LvTARG(lv)((XPVLV*) (lv)->sv_any)->xlv_targ = SvREFCNT_inc_simple(sv)Perl_SvREFCNT_inc(((SV *)({ void *_p = (sv); _p; }))); | |||
3078 | LvTARGOFF(lv)((XPVLV*) (lv)->sv_any)->xlv_targoff_u.xlvu_targoff = len == 0 ? 0 : 1; | |||
3079 | LvTARGLEN(lv)((XPVLV*) (lv)->sv_any)->xlv_targlen = len < 2 ? 0 : len-2; | |||
3080 | ||||
3081 | EXTEND(SP, 1)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); | |||
3082 | ST(0)PL_stack_base[ax + (0)] = sv_2mortal(lv)Perl_sv_2mortal( lv); | |||
3083 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3084 | #line 3085 "APItest.c" | |||
3085 | PUTBACKPL_stack_sp = sp; | |||
3086 | return; | |||
3087 | } | |||
3088 | } | |||
3089 | ||||
3090 | ||||
3091 | XS_EUPXS(XS_XS__APItest__PtrTable_new)static void XS_XS__APItest__PtrTable_new( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3092 | XS_EUPXS(XS_XS__APItest__PtrTable_new)static void XS_XS__APItest__PtrTable_new( CV* cv __attribute__ ((unused))) | |||
3093 | { | |||
3094 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3095 | if (items != 1) | |||
3096 | croak_xs_usagePerl_croak_xs_usage(cv, "classname"); | |||
3097 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3098 | SPsp -= items; | |||
3099 | { | |||
3100 | const char * classname = (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)) | |||
3101 | ; | |||
3102 | #line 2097 "APItest.xs" | |||
3103 | PUSHs(sv_setref_pv(sv_newmortal(), classname, (void*)ptr_table_new()))(*++sp = (Perl_sv_setref_pv( Perl_sv_newmortal(),classname,(void *)Perl_ptr_table_new()))); | |||
3104 | #line 3105 "APItest.c" | |||
3105 | PUTBACKPL_stack_sp = sp; | |||
3106 | return; | |||
3107 | } | |||
3108 | } | |||
3109 | ||||
3110 | ||||
3111 | XS_EUPXS(XS_XS__APItest__PtrTable_DESTROY)static void XS_XS__APItest__PtrTable_DESTROY( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3112 | XS_EUPXS(XS_XS__APItest__PtrTable_DESTROY)static void XS_XS__APItest__PtrTable_DESTROY( CV* cv __attribute__ ((unused))) | |||
3113 | { | |||
3114 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3115 | if (items != 1) | |||
3116 | croak_xs_usagePerl_croak_xs_usage(cv, "table"); | |||
3117 | { | |||
3118 | XS__APItest__PtrTable table; | |||
3119 | ||||
3120 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800)) { | |||
3121 | 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)); | |||
3122 | table = INT2PTR(XS__APItest__PtrTable,tmp)(XS__APItest__PtrTable)(tmp); | |||
3123 | } | |||
3124 | else | |||
3125 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", | |||
3126 | "XS::APItest::PtrTable::DESTROY", | |||
3127 | "table") | |||
3128 | ; | |||
3129 | #line 2103 "APItest.xs" | |||
3130 | ptr_table_free(table)Perl_ptr_table_free( table); | |||
3131 | #line 3132 "APItest.c" | |||
3132 | } | |||
3133 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3134 | } | |||
3135 | ||||
3136 | ||||
3137 | XS_EUPXS(XS_XS__APItest__PtrTable_store)static void XS_XS__APItest__PtrTable_store( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3138 | XS_EUPXS(XS_XS__APItest__PtrTable_store)static void XS_XS__APItest__PtrTable_store( CV* cv __attribute__ ((unused))) | |||
3139 | { | |||
3140 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3141 | if (items != 3) | |||
3142 | croak_xs_usagePerl_croak_xs_usage(cv, "table, from, to"); | |||
3143 | { | |||
3144 | XS__APItest__PtrTable table; | |||
3145 | SVREF from; | |||
3146 | SVREF to; | |||
3147 | ||||
3148 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "XS::APItest::PtrTable")Perl_sv_derived_from( PL_stack_base[ax + (0)],"XS::APItest::PtrTable" )) { | |||
3149 | 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)); | |||
3150 | table = INT2PTR(XS__APItest__PtrTable,tmp)(XS__APItest__PtrTable)(tmp); | |||
3151 | } | |||
3152 | else | |||
3153 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", | |||
3154 | "XS::APItest::PtrTable::store", | |||
3155 | "table", "XS::APItest::PtrTable") | |||
3156 | ; | |||
3157 | ||||
3158 | STMT_STARTdo { | |||
3159 | SV* const xsub_tmp_sv = ST(1)PL_stack_base[ax + (1)]; | |||
3160 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
3161 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){ | |||
3162 | from = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
3163 | } | |||
3164 | else{ | |||
3165 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", | |||
3166 | "XS::APItest::PtrTable::store", | |||
3167 | "from"); | |||
3168 | } | |||
3169 | } STMT_ENDwhile (0) | |||
3170 | ; | |||
3171 | ||||
3172 | STMT_STARTdo { | |||
3173 | SV* const xsub_tmp_sv = ST(2)PL_stack_base[ax + (2)]; | |||
3174 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
3175 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){ | |||
3176 | to = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
3177 | } | |||
3178 | else{ | |||
3179 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", | |||
3180 | "XS::APItest::PtrTable::store", | |||
3181 | "to"); | |||
3182 | } | |||
3183 | } STMT_ENDwhile (0) | |||
3184 | ; | |||
3185 | #line 2111 "APItest.xs" | |||
3186 | ptr_table_store(table, from, to)Perl_ptr_table_store( table,from,to); | |||
3187 | #line 3188 "APItest.c" | |||
3188 | } | |||
3189 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3190 | } | |||
3191 | ||||
3192 | ||||
3193 | XS_EUPXS(XS_XS__APItest__PtrTable_fetch)static void XS_XS__APItest__PtrTable_fetch( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3194 | XS_EUPXS(XS_XS__APItest__PtrTable_fetch)static void XS_XS__APItest__PtrTable_fetch( CV* cv __attribute__ ((unused))) | |||
3195 | { | |||
3196 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3197 | if (items != 2) | |||
3198 | croak_xs_usagePerl_croak_xs_usage(cv, "table, from"); | |||
3199 | { | |||
3200 | XS__APItest__PtrTable table; | |||
3201 | SVREF from; | |||
3202 | UV RETVAL; | |||
3203 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
3204 | ||||
3205 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "XS::APItest::PtrTable")Perl_sv_derived_from( PL_stack_base[ax + (0)],"XS::APItest::PtrTable" )) { | |||
3206 | 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)); | |||
3207 | table = INT2PTR(XS__APItest__PtrTable,tmp)(XS__APItest__PtrTable)(tmp); | |||
3208 | } | |||
3209 | else | |||
3210 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", | |||
3211 | "XS::APItest::PtrTable::fetch", | |||
3212 | "table", "XS::APItest::PtrTable") | |||
3213 | ; | |||
3214 | ||||
3215 | STMT_STARTdo { | |||
3216 | SV* const xsub_tmp_sv = ST(1)PL_stack_base[ax + (1)]; | |||
3217 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
3218 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){ | |||
3219 | from = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
3220 | } | |||
3221 | else{ | |||
3222 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", | |||
3223 | "XS::APItest::PtrTable::fetch", | |||
3224 | "from"); | |||
3225 | } | |||
3226 | } STMT_ENDwhile (0) | |||
3227 | ; | |||
3228 | #line 2118 "APItest.xs" | |||
3229 | RETVAL = PTR2UV(ptr_table_fetch(table, from))(UV)(Perl_ptr_table_fetch( table,from)); | |||
3230 | #line 3231 "APItest.c" | |||
3231 | 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); | |||
3232 | } | |||
3233 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3234 | } | |||
3235 | ||||
3236 | ||||
3237 | XS_EUPXS(XS_XS__APItest__PtrTable_split)static void XS_XS__APItest__PtrTable_split( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3238 | XS_EUPXS(XS_XS__APItest__PtrTable_split)static void XS_XS__APItest__PtrTable_split( CV* cv __attribute__ ((unused))) | |||
3239 | { | |||
3240 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3241 | if (items != 1) | |||
3242 | croak_xs_usagePerl_croak_xs_usage(cv, "table"); | |||
3243 | { | |||
3244 | XS__APItest__PtrTable table; | |||
3245 | ||||
3246 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "XS::APItest::PtrTable")Perl_sv_derived_from( PL_stack_base[ax + (0)],"XS::APItest::PtrTable" )) { | |||
3247 | 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)); | |||
3248 | table = INT2PTR(XS__APItest__PtrTable,tmp)(XS__APItest__PtrTable)(tmp); | |||
3249 | } | |||
3250 | else | |||
3251 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", | |||
3252 | "XS::APItest::PtrTable::split", | |||
3253 | "table", "XS::APItest::PtrTable") | |||
3254 | ; | |||
3255 | ||||
3256 | ptr_table_split(table)Perl_ptr_table_split( table); | |||
3257 | } | |||
3258 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3259 | } | |||
3260 | ||||
3261 | ||||
3262 | XS_EUPXS(XS_XS__APItest__PtrTable_clear)static void XS_XS__APItest__PtrTable_clear( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3263 | XS_EUPXS(XS_XS__APItest__PtrTable_clear)static void XS_XS__APItest__PtrTable_clear( CV* cv __attribute__ ((unused))) | |||
3264 | { | |||
3265 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3266 | if (items != 1) | |||
3267 | croak_xs_usagePerl_croak_xs_usage(cv, "table"); | |||
3268 | { | |||
3269 | XS__APItest__PtrTable table; | |||
3270 | ||||
3271 | if (SvROK(ST(0))((PL_stack_base[ax + (0)])->sv_flags & 0x00000800) && sv_derived_from(ST(0), "XS::APItest::PtrTable")Perl_sv_derived_from( PL_stack_base[ax + (0)],"XS::APItest::PtrTable" )) { | |||
3272 | 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)); | |||
3273 | table = INT2PTR(XS__APItest__PtrTable,tmp)(XS__APItest__PtrTable)(tmp); | |||
3274 | } | |||
3275 | else | |||
3276 | Perl_croak_nocontextPerl_croak("%s: %s is not of type %s", | |||
3277 | "XS::APItest::PtrTable::clear", | |||
3278 | "table", "XS::APItest::PtrTable") | |||
3279 | ; | |||
3280 | ||||
3281 | ptr_table_clear(table)Perl_ptr_table_clear( table); | |||
3282 | } | |||
3283 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3284 | } | |||
3285 | ||||
3286 | ||||
3287 | XS_EUPXS(XS_XS__APItest__AutoLoader_AUTOLOAD)static void XS_XS__APItest__AutoLoader_AUTOLOAD( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3288 | XS_EUPXS(XS_XS__APItest__AutoLoader_AUTOLOAD)static void XS_XS__APItest__AutoLoader_AUTOLOAD( CV* cv __attribute__ ((unused))) | |||
3289 | { | |||
3290 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3291 | if (items != 0) | |||
3292 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3293 | { | |||
3294 | SV * RETVAL; | |||
3295 | #line 2135 "APItest.xs" | |||
3296 | RETVAL = newSVpvn_flags(SvPVX(cv), SvCUR(cv), SvUTF8(cv))Perl_newSVpvn_flags( ((cv)->sv_u.svu_pv),((XPV*) (cv)-> sv_any)->xpv_cur,((cv)->sv_flags & 0x20000000)); | |||
3297 | #line 3298 "APItest.c" | |||
3298 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
3299 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
3300 | } | |||
3301 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3302 | } | |||
3303 | ||||
3304 | ||||
3305 | XS_EUPXS(XS_XS__APItest__AutoLoader_AUTOLOADp)static void XS_XS__APItest__AutoLoader_AUTOLOADp( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3306 | XS_EUPXS(XS_XS__APItest__AutoLoader_AUTOLOADp)static void XS_XS__APItest__AutoLoader_AUTOLOADp( CV* cv __attribute__ ((unused))) | |||
3307 | { | |||
3308 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3309 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
3310 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
3311 | { | |||
3312 | SV * RETVAL; | |||
3313 | #line 2143 "APItest.xs" | |||
3314 | PERL_UNUSED_ARG(items)((void)sizeof(items)); | |||
3315 | RETVAL = newSVpvn_flags(SvPVX(cv), SvCUR(cv), SvUTF8(cv))Perl_newSVpvn_flags( ((cv)->sv_u.svu_pv),((XPV*) (cv)-> sv_any)->xpv_cur,((cv)->sv_flags & 0x20000000)); | |||
3316 | #line 3317 "APItest.c" | |||
3317 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
3318 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
3319 | } | |||
3320 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3321 | } | |||
3322 | ||||
3323 | ||||
3324 | XS_EUPXS(XS_XS__APItest_xop_custom_ops)static void XS_XS__APItest_xop_custom_ops( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3325 | XS_EUPXS(XS_XS__APItest_xop_custom_ops)static void XS_XS__APItest_xop_custom_ops( CV* cv __attribute__ ((unused))) | |||
3326 | { | |||
3327 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3328 | if (items != 0) | |||
3329 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3330 | { | |||
3331 | HV * RETVAL; | |||
3332 | #line 2164 "APItest.xs" | |||
3333 | RETVAL = PL_custom_ops; | |||
3334 | #line 3335 "APItest.c" | |||
3335 | { | |||
3336 | SV * RETVALSV; | |||
3337 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
3338 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
3339 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
3340 | } | |||
3341 | } | |||
3342 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3343 | } | |||
3344 | ||||
3345 | ||||
3346 | XS_EUPXS(XS_XS__APItest_xop_custom_op_names)static void XS_XS__APItest_xop_custom_op_names( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3347 | XS_EUPXS(XS_XS__APItest_xop_custom_op_names)static void XS_XS__APItest_xop_custom_op_names( CV* cv __attribute__ ((unused))) | |||
3348 | { | |||
3349 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3350 | if (items != 0) | |||
3351 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3352 | { | |||
3353 | HV * RETVAL; | |||
3354 | #line 2171 "APItest.xs" | |||
3355 | PL_custom_op_names = newHV()((HV *)({ void *_p = (Perl_newSV_type( SVt_PVHV)); _p; })); | |||
3356 | RETVAL = PL_custom_op_names; | |||
3357 | #line 3358 "APItest.c" | |||
3358 | { | |||
3359 | SV * RETVALSV; | |||
3360 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
3361 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
3362 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
3363 | } | |||
3364 | } | |||
3365 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3366 | } | |||
3367 | ||||
3368 | ||||
3369 | XS_EUPXS(XS_XS__APItest_xop_custom_op_descs)static void XS_XS__APItest_xop_custom_op_descs( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3370 | XS_EUPXS(XS_XS__APItest_xop_custom_op_descs)static void XS_XS__APItest_xop_custom_op_descs( CV* cv __attribute__ ((unused))) | |||
3371 | { | |||
3372 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3373 | if (items != 0) | |||
3374 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3375 | { | |||
3376 | HV * RETVAL; | |||
3377 | #line 2179 "APItest.xs" | |||
3378 | PL_custom_op_descs = newHV()((HV *)({ void *_p = (Perl_newSV_type( SVt_PVHV)); _p; })); | |||
3379 | RETVAL = PL_custom_op_descs; | |||
3380 | #line 3381 "APItest.c" | |||
3381 | { | |||
3382 | SV * RETVALSV; | |||
3383 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
3384 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
3385 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
3386 | } | |||
3387 | } | |||
3388 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3389 | } | |||
3390 | ||||
3391 | ||||
3392 | XS_EUPXS(XS_XS__APItest_xop_register)static void XS_XS__APItest_xop_register( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3393 | XS_EUPXS(XS_XS__APItest_xop_register)static void XS_XS__APItest_xop_register( CV* cv __attribute__ ((unused))) | |||
3394 | { | |||
3395 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3396 | if (items != 0) | |||
3397 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3398 | { | |||
3399 | #line 2187 "APItest.xs" | |||
3400 | XopENTRY_set(&my_xop, xop_name, "my_xop")do { (&my_xop)->xop_name = ("my_xop"); (&my_xop)-> xop_flags |= 0x01; } while (0); | |||
3401 | XopENTRY_set(&my_xop, xop_desc, "XOP for testing")do { (&my_xop)->xop_desc = ("XOP for testing"); (& my_xop)->xop_flags |= 0x02; } while (0); | |||
3402 | XopENTRY_set(&my_xop, xop_class, OA_UNOP)do { (&my_xop)->xop_class = ((1 << 8)); (&my_xop )->xop_flags |= 0x04; } while (0); | |||
3403 | XopENTRY_set(&my_xop, xop_peep, peep_xop)do { (&my_xop)->xop_peep = (peep_xop); (&my_xop)-> xop_flags |= 0x08; } while (0); | |||
3404 | Perl_custom_op_register(aTHX_ pp_xop, &my_xop); | |||
3405 | #line 3406 "APItest.c" | |||
3406 | } | |||
3407 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3408 | } | |||
3409 | ||||
3410 | ||||
3411 | XS_EUPXS(XS_XS__APItest_xop_clear)static void XS_XS__APItest_xop_clear( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3412 | XS_EUPXS(XS_XS__APItest_xop_clear)static void XS_XS__APItest_xop_clear( CV* cv __attribute__((unused ))) | |||
3413 | { | |||
3414 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3415 | if (items != 0) | |||
3416 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3417 | { | |||
3418 | #line 2196 "APItest.xs" | |||
3419 | XopDISABLE(&my_xop, xop_name)((&my_xop)->xop_flags &= ~0x01); | |||
3420 | XopDISABLE(&my_xop, xop_desc)((&my_xop)->xop_flags &= ~0x02); | |||
3421 | XopDISABLE(&my_xop, xop_class)((&my_xop)->xop_flags &= ~0x04); | |||
3422 | XopDISABLE(&my_xop, xop_peep)((&my_xop)->xop_flags &= ~0x08); | |||
3423 | #line 3424 "APItest.c" | |||
3424 | } | |||
3425 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3426 | } | |||
3427 | ||||
3428 | ||||
3429 | XS_EUPXS(XS_XS__APItest_xop_my_xop)static void XS_XS__APItest_xop_my_xop( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3430 | XS_EUPXS(XS_XS__APItest_xop_my_xop)static void XS_XS__APItest_xop_my_xop( CV* cv __attribute__(( unused))) | |||
3431 | { | |||
3432 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3433 | if (items != 0) | |||
3434 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3435 | { | |||
3436 | IV RETVAL; | |||
3437 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
3438 | #line 2204 "APItest.xs" | |||
3439 | RETVAL = PTR2IV(&my_xop)(IV)(&my_xop); | |||
3440 | #line 3441 "APItest.c" | |||
3441 | 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); | |||
3442 | } | |||
3443 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3444 | } | |||
3445 | ||||
3446 | ||||
3447 | XS_EUPXS(XS_XS__APItest_xop_ppaddr)static void XS_XS__APItest_xop_ppaddr( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3448 | XS_EUPXS(XS_XS__APItest_xop_ppaddr)static void XS_XS__APItest_xop_ppaddr( CV* cv __attribute__(( unused))) | |||
3449 | { | |||
3450 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3451 | if (items != 0) | |||
3452 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3453 | { | |||
3454 | IV RETVAL; | |||
3455 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
3456 | #line 2211 "APItest.xs" | |||
3457 | RETVAL = PTR2IV(pp_xop)(IV)(pp_xop); | |||
3458 | #line 3459 "APItest.c" | |||
3459 | 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); | |||
3460 | } | |||
3461 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3462 | } | |||
3463 | ||||
3464 | ||||
3465 | XS_EUPXS(XS_XS__APItest_xop_OA_UNOP)static void XS_XS__APItest_xop_OA_UNOP( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3466 | XS_EUPXS(XS_XS__APItest_xop_OA_UNOP)static void XS_XS__APItest_xop_OA_UNOP( CV* cv __attribute__( (unused))) | |||
3467 | { | |||
3468 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3469 | if (items != 0) | |||
3470 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3471 | { | |||
3472 | IV RETVAL; | |||
3473 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
3474 | #line 2218 "APItest.xs" | |||
3475 | RETVAL = OA_UNOP(1 << 8); | |||
3476 | #line 3477 "APItest.c" | |||
3477 | 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); | |||
3478 | } | |||
3479 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3480 | } | |||
3481 | ||||
3482 | ||||
3483 | XS_EUPXS(XS_XS__APItest_xop_build_optree)static void XS_XS__APItest_xop_build_optree( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3484 | XS_EUPXS(XS_XS__APItest_xop_build_optree)static void XS_XS__APItest_xop_build_optree( CV* cv __attribute__ ((unused))) | |||
3485 | { | |||
3486 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3487 | if (items != 0) | |||
3488 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3489 | { | |||
3490 | AV * RETVAL; | |||
3491 | #line 2225 "APItest.xs" | |||
3492 | dMY_CXTstruct Perl___notused_struct; | |||
3493 | UNOP *unop; | |||
3494 | OP *kid; | |||
3495 | ||||
3496 | MY_CXTmy_cxt.xop_record = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
3497 | ||||
3498 | kid = newSVOP(OP_CONST, 0, newSViv(42))Perl_newSVOP( OP_CONST,0,Perl_newSViv( 42)); | |||
3499 | ||||
3500 | unop = (UNOP*)mkUNOP(OP_CUSTOM, kid)THX_mkUNOP( (OP_CUSTOM), (kid)); | |||
3501 | unop->op_ppaddr = pp_xop; | |||
3502 | unop->op_private = 0; | |||
3503 | unop->op_next = NULL((void*)0); | |||
3504 | kid->op_next = (OP*)unop; | |||
3505 | ||||
3506 | av_push(MY_CXT.xop_record, newSVpvf("unop:%" UVxf, PTR2UV(unop)))Perl_av_push( my_cxt.xop_record,Perl_newSVpvf("unop:%" "lx", ( UV)(unop))); | |||
3507 | av_push(MY_CXT.xop_record, newSVpvf("kid:%" UVxf, PTR2UV(kid)))Perl_av_push( my_cxt.xop_record,Perl_newSVpvf("kid:%" "lx", ( UV)(kid))); | |||
3508 | ||||
3509 | av_push(MY_CXT.xop_record, newSVpvf("NAME:%s", OP_NAME((OP*)unop)))Perl_av_push( my_cxt.xop_record,Perl_newSVpvf("NAME:%s", (((OP *)unop)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field( (OP*)unop, XOPe_xop_name).xop_name) : PL_op_name[((OP*)unop) ->op_type]))); | |||
3510 | av_push(MY_CXT.xop_record, newSVpvf("DESC:%s", OP_DESC((OP*)unop)))Perl_av_push( my_cxt.xop_record,Perl_newSVpvf("DESC:%s", (((OP *)unop)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field( (OP*)unop, XOPe_xop_desc).xop_desc) : PL_op_desc[((OP*)unop) ->op_type]))); | |||
3511 | av_push(MY_CXT.xop_record, newSVpvf("CLASS:%d", (int)OP_CLASS((OP*)unop)))Perl_av_push( my_cxt.xop_record,Perl_newSVpvf("CLASS:%d", (int )(((OP*)unop)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( (OP*)unop, XOPe_xop_class).xop_class) : (PL_opargs[((OP*)unop )->op_type] & (15 << 8))))); | |||
3512 | ||||
3513 | PL_rpeepp(aTHX_ kid); | |||
3514 | ||||
3515 | FreeOp(kid)Perl_Slab_Free( kid); | |||
3516 | FreeOp(unop)Perl_Slab_Free( unop); | |||
3517 | ||||
3518 | RETVAL = MY_CXTmy_cxt.xop_record; | |||
3519 | MY_CXTmy_cxt.xop_record = NULL((void*)0); | |||
3520 | #line 3521 "APItest.c" | |||
3521 | { | |||
3522 | SV * RETVALSV; | |||
3523 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
3524 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
3525 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
3526 | } | |||
3527 | } | |||
3528 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3529 | } | |||
3530 | ||||
3531 | ||||
3532 | XS_EUPXS(XS_XS__APItest_xop_from_custom_op)static void XS_XS__APItest_xop_from_custom_op( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3533 | XS_EUPXS(XS_XS__APItest_xop_from_custom_op)static void XS_XS__APItest_xop_from_custom_op( CV* cv __attribute__ ((unused))) | |||
3534 | { | |||
3535 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3536 | if (items != 0) | |||
3537 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3538 | { | |||
3539 | IV RETVAL; | |||
3540 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
3541 | #line 2259 "APItest.xs" | |||
3542 | /* author note: this test doesn't imply Perl_custom_op_xop is or isn't public | |||
3543 | API or that Perl_custom_op_xop is known to be used outside the core */ | |||
3544 | UNOP *unop; | |||
3545 | XOP *xop; | |||
3546 | ||||
3547 | unop = (UNOP*)mkUNOP(OP_CUSTOM, NULL)THX_mkUNOP( (OP_CUSTOM), (((void*)0))); | |||
3548 | unop->op_ppaddr = pp_xop; | |||
3549 | unop->op_private = 0; | |||
3550 | unop->op_next = NULL((void*)0); | |||
3551 | ||||
3552 | xop = Perl_custom_op_xop(aTHX_ (OP *)unop)(Perl_custom_op_get_field((OP *)unop, XOPe_xop_ptr).xop_ptr); | |||
3553 | FreeOp(unop)Perl_Slab_Free( unop); | |||
3554 | RETVAL = PTR2IV(xop)(IV)(xop); | |||
3555 | #line 3556 "APItest.c" | |||
3556 | 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); | |||
3557 | } | |||
3558 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3559 | } | |||
3560 | ||||
3561 | ||||
3562 | XS_EUPXS(XS_XS__APItest_CLONE)static void XS_XS__APItest_CLONE( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3563 | XS_EUPXS(XS_XS__APItest_CLONE)static void XS_XS__APItest_CLONE( CV* cv __attribute__((unused ))) | |||
3564 | { | |||
3565 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3566 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
3567 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
3568 | { | |||
3569 | #line 2311 "APItest.xs" | |||
3570 | MY_CXT_CLONE(void)0; | |||
3571 | PERL_UNUSED_VAR(items)((void)sizeof(items)); | |||
3572 | MY_CXTmy_cxt.sv = newSVpv("initial_clone",0)Perl_newSVpv( "initial_clone",0); | |||
3573 | MY_CXTmy_cxt.cscgv = gv_fetchpvs("XS::APItest::COMPILE_SCOPE_CONTAINER",Perl_gv_fetchpvn_flags( ("" "XS::APItest::COMPILE_SCOPE_CONTAINER" ""), (sizeof("XS::APItest::COMPILE_SCOPE_CONTAINER")-1), 0x02 , SVt_PVAV) | |||
3574 | GV_ADDMULTI, SVt_PVAV)Perl_gv_fetchpvn_flags( ("" "XS::APItest::COMPILE_SCOPE_CONTAINER" ""), (sizeof("XS::APItest::COMPILE_SCOPE_CONTAINER")-1), 0x02 , SVt_PVAV); | |||
3575 | MY_CXTmy_cxt.cscav = NULL((void*)0); | |||
3576 | MY_CXTmy_cxt.bhkav = get_av("XS::APItest::bhkav", GV_ADDMULTI)Perl_get_av( "XS::APItest::bhkav",0x02); | |||
3577 | MY_CXTmy_cxt.bhk_record = 0; | |||
3578 | MY_CXTmy_cxt.peep_recorder = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
3579 | MY_CXTmy_cxt.rpeep_recorder = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
3580 | #line 3581 "APItest.c" | |||
3581 | } | |||
3582 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3583 | } | |||
3584 | ||||
3585 | ||||
3586 | XS_EUPXS(XS_XS__APItest_print_double)static void XS_XS__APItest_print_double( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3587 | XS_EUPXS(XS_XS__APItest_print_double)static void XS_XS__APItest_print_double( CV* cv __attribute__ ((unused))) | |||
3588 | { | |||
3589 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3590 | if (items != 1) | |||
3591 | croak_xs_usagePerl_croak_xs_usage(cv, "val"); | |||
3592 | { | |||
3593 | double val = (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)) | |||
3594 | ; | |||
3595 | #line 2326 "APItest.xs" | |||
3596 | printf("%5.3f\n",val)PerlIO_stdoutf("%5.3f\n",val); | |||
3597 | #line 3598 "APItest.c" | |||
3598 | } | |||
3599 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3600 | } | |||
3601 | ||||
3602 | ||||
3603 | XS_EUPXS(XS_XS__APItest_have_long_double)static void XS_XS__APItest_have_long_double( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3604 | XS_EUPXS(XS_XS__APItest_have_long_double)static void XS_XS__APItest_have_long_double( CV* cv __attribute__ ((unused))) | |||
3605 | { | |||
3606 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3607 | if (items != 0) | |||
3608 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3609 | { | |||
3610 | int RETVAL; | |||
3611 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
3612 | #line 2331 "APItest.xs" | |||
3613 | #ifdef HAS_LONG_DOUBLE | |||
3614 | RETVAL = 1; | |||
3615 | #else | |||
3616 | RETVAL = 0; | |||
3617 | #endif | |||
3618 | #line 3619 "APItest.c" | |||
3619 | 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); | |||
3620 | } | |||
3621 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3622 | } | |||
3623 | ||||
3624 | ||||
3625 | XS_EUPXS(XS_XS__APItest_print_long_double)static void XS_XS__APItest_print_long_double( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3626 | XS_EUPXS(XS_XS__APItest_print_long_double)static void XS_XS__APItest_print_long_double( CV* cv __attribute__ ((unused))) | |||
3627 | { | |||
3628 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3629 | if (items != 0) | |||
3630 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3631 | { | |||
3632 | #line 2342 "APItest.xs" | |||
3633 | #ifdef HAS_LONG_DOUBLE | |||
3634 | # if defined(PERL_PRIfldbl"Lf") && (LONG_DOUBLESIZE16 > DOUBLESIZE8) | |||
3635 | long double val = 7.0; | |||
3636 | printf("%5.3" PERL_PRIfldbl "\n",val)PerlIO_stdoutf("%5.3" "Lf" "\n",val); | |||
3637 | # else | |||
3638 | double val = 7.0; | |||
3639 | printf("%5.3f\n",val)PerlIO_stdoutf("%5.3f\n",val); | |||
3640 | # endif | |||
3641 | #endif | |||
3642 | #line 3643 "APItest.c" | |||
3643 | } | |||
3644 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3645 | } | |||
3646 | ||||
3647 | ||||
3648 | XS_EUPXS(XS_XS__APItest_print_int)static void XS_XS__APItest_print_int( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3649 | XS_EUPXS(XS_XS__APItest_print_int)static void XS_XS__APItest_print_int( CV* cv __attribute__((unused ))) | |||
3650 | { | |||
3651 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3652 | if (items != 1) | |||
3653 | croak_xs_usagePerl_croak_xs_usage(cv, "val"); | |||
3654 | { | |||
3655 | 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)) | |||
3656 | ; | |||
3657 | #line 2356 "APItest.xs" | |||
3658 | printf("%d\n",val)PerlIO_stdoutf("%d\n",val); | |||
3659 | #line 3660 "APItest.c" | |||
3660 | } | |||
3661 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3662 | } | |||
3663 | ||||
3664 | ||||
3665 | XS_EUPXS(XS_XS__APItest_print_long)static void XS_XS__APItest_print_long( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3666 | XS_EUPXS(XS_XS__APItest_print_long)static void XS_XS__APItest_print_long( CV* cv __attribute__(( unused))) | |||
3667 | { | |||
3668 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3669 | if (items != 1) | |||
3670 | croak_xs_usagePerl_croak_xs_usage(cv, "val"); | |||
3671 | { | |||
3672 | long val = (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)) | |||
3673 | ; | |||
3674 | #line 2362 "APItest.xs" | |||
3675 | printf("%ld\n",val)PerlIO_stdoutf("%ld\n",val); | |||
3676 | #line 3677 "APItest.c" | |||
3677 | } | |||
3678 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3679 | } | |||
3680 | ||||
3681 | ||||
3682 | XS_EUPXS(XS_XS__APItest_print_float)static void XS_XS__APItest_print_float( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3683 | XS_EUPXS(XS_XS__APItest_print_float)static void XS_XS__APItest_print_float( CV* cv __attribute__( (unused))) | |||
3684 | { | |||
3685 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3686 | if (items != 1) | |||
3687 | croak_xs_usagePerl_croak_xs_usage(cv, "val"); | |||
3688 | { | |||
3689 | float val = (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)) | |||
3690 | ; | |||
3691 | #line 2368 "APItest.xs" | |||
3692 | printf("%5.3f\n",val)PerlIO_stdoutf("%5.3f\n",val); | |||
3693 | #line 3694 "APItest.c" | |||
3694 | } | |||
3695 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3696 | } | |||
3697 | ||||
3698 | ||||
3699 | XS_EUPXS(XS_XS__APItest_print_flush)static void XS_XS__APItest_print_flush( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3700 | XS_EUPXS(XS_XS__APItest_print_flush)static void XS_XS__APItest_print_flush( CV* cv __attribute__( (unused))) | |||
3701 | { | |||
3702 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3703 | if (items != 0) | |||
3704 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3705 | { | |||
3706 | #line 2373 "APItest.xs" | |||
3707 | fflush(stdout)Perl_PerlIO_flush( Perl_PerlIO_stdout()); | |||
3708 | #line 3709 "APItest.c" | |||
3709 | } | |||
3710 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
3711 | } | |||
3712 | ||||
3713 | ||||
3714 | XS_EUPXS(XS_XS__APItest_mpushp)static void XS_XS__APItest_mpushp( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3715 | XS_EUPXS(XS_XS__APItest_mpushp)static void XS_XS__APItest_mpushp( CV* cv __attribute__((unused ))) | |||
3716 | { | |||
3717 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3718 | if (items != 0) | |||
3719 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3720 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3721 | SPsp -= items; | |||
3722 | { | |||
3723 | #line 2378 "APItest.xs" | |||
3724 | EXTEND(SP, 3)do { (void)0; if (__builtin_expect(((((3) < 0 || PL_stack_max - (sp) < (3))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(3) > sizeof(ssize_t) && ((ssize_t) (3) != (3)) ? -1 : (3))); ((void)sizeof(sp)); } } while (0); | |||
3725 | mPUSHp("one", 3)(*++sp = (Perl_newSVpvn_flags( ("one"),(3),0x00080000))); | |||
3726 | mPUSHp("two", 3)(*++sp = (Perl_newSVpvn_flags( ("two"),(3),0x00080000))); | |||
3727 | mPUSHp("three", 5)(*++sp = (Perl_newSVpvn_flags( ("three"),(5),0x00080000))); | |||
3728 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3729 | #line 3730 "APItest.c" | |||
3730 | PUTBACKPL_stack_sp = sp; | |||
3731 | return; | |||
3732 | } | |||
3733 | } | |||
3734 | ||||
3735 | ||||
3736 | XS_EUPXS(XS_XS__APItest_mpushn)static void XS_XS__APItest_mpushn( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3737 | XS_EUPXS(XS_XS__APItest_mpushn)static void XS_XS__APItest_mpushn( CV* cv __attribute__((unused ))) | |||
3738 | { | |||
3739 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3740 | if (items != 0) | |||
3741 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3742 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3743 | SPsp -= items; | |||
3744 | { | |||
3745 | #line 2387 "APItest.xs" | |||
3746 | EXTEND(SP, 3)do { (void)0; if (__builtin_expect(((((3) < 0 || PL_stack_max - (sp) < (3))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(3) > sizeof(ssize_t) && ((ssize_t) (3) != (3)) ? -1 : (3))); ((void)sizeof(sp)); } } while (0); | |||
3747 | mPUSHn(0.5)Perl_sv_setnv( (*++sp = (Perl_sv_newmortal())),(NV)(0.5)); | |||
3748 | mPUSHn(-0.25)Perl_sv_setnv( (*++sp = (Perl_sv_newmortal())),(NV)(-0.25)); | |||
3749 | mPUSHn(0.125)Perl_sv_setnv( (*++sp = (Perl_sv_newmortal())),(NV)(0.125)); | |||
3750 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3751 | #line 3752 "APItest.c" | |||
3752 | PUTBACKPL_stack_sp = sp; | |||
3753 | return; | |||
3754 | } | |||
3755 | } | |||
3756 | ||||
3757 | ||||
3758 | XS_EUPXS(XS_XS__APItest_mpushi)static void XS_XS__APItest_mpushi( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3759 | XS_EUPXS(XS_XS__APItest_mpushi)static void XS_XS__APItest_mpushi( CV* cv __attribute__((unused ))) | |||
3760 | { | |||
3761 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3762 | if (items != 0) | |||
3763 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3764 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3765 | SPsp -= items; | |||
3766 | { | |||
3767 | #line 2396 "APItest.xs" | |||
3768 | EXTEND(SP, 3)do { (void)0; if (__builtin_expect(((((3) < 0 || PL_stack_max - (sp) < (3))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(3) > sizeof(ssize_t) && ((ssize_t) (3) != (3)) ? -1 : (3))); ((void)sizeof(sp)); } } while (0); | |||
3769 | mPUSHi(-1)Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)(-1)); | |||
3770 | mPUSHi(2)Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)(2)); | |||
3771 | mPUSHi(-3)Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)(-3)); | |||
3772 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3773 | #line 3774 "APItest.c" | |||
3774 | PUTBACKPL_stack_sp = sp; | |||
3775 | return; | |||
3776 | } | |||
3777 | } | |||
3778 | ||||
3779 | ||||
3780 | XS_EUPXS(XS_XS__APItest_mpushu)static void XS_XS__APItest_mpushu( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3781 | XS_EUPXS(XS_XS__APItest_mpushu)static void XS_XS__APItest_mpushu( CV* cv __attribute__((unused ))) | |||
3782 | { | |||
3783 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3784 | if (items != 0) | |||
3785 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3786 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3787 | SPsp -= items; | |||
3788 | { | |||
3789 | #line 2405 "APItest.xs" | |||
3790 | EXTEND(SP, 3)do { (void)0; if (__builtin_expect(((((3) < 0 || PL_stack_max - (sp) < (3))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(3) > sizeof(ssize_t) && ((ssize_t) (3) != (3)) ? -1 : (3))); ((void)sizeof(sp)); } } while (0); | |||
3791 | mPUSHu(1)Perl_sv_setuv( (*++sp = (Perl_sv_newmortal())),(UV)(1)); | |||
3792 | mPUSHu(2)Perl_sv_setuv( (*++sp = (Perl_sv_newmortal())),(UV)(2)); | |||
3793 | mPUSHu(3)Perl_sv_setuv( (*++sp = (Perl_sv_newmortal())),(UV)(3)); | |||
3794 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3795 | #line 3796 "APItest.c" | |||
3796 | PUTBACKPL_stack_sp = sp; | |||
3797 | return; | |||
3798 | } | |||
3799 | } | |||
3800 | ||||
3801 | ||||
3802 | XS_EUPXS(XS_XS__APItest_mxpushp)static void XS_XS__APItest_mxpushp( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3803 | XS_EUPXS(XS_XS__APItest_mxpushp)static void XS_XS__APItest_mxpushp( CV* cv __attribute__((unused ))) | |||
3804 | { | |||
3805 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3806 | if (items != 0) | |||
3807 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3808 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3809 | SPsp -= items; | |||
3810 | { | |||
3811 | #line 2414 "APItest.xs" | |||
3812 | mXPUSHp("one", 3)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_newSVpvn_flags( (("one")),((3)),0x00080000))); } while (0); | |||
3813 | mXPUSHp("two", 3)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_newSVpvn_flags( (("two")),((3)),0x00080000))); } while (0); | |||
3814 | mXPUSHp("three", 5)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_newSVpvn_flags( (("three")),((5)),0x00080000))) ; } while (0); | |||
3815 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3816 | #line 3817 "APItest.c" | |||
3817 | PUTBACKPL_stack_sp = sp; | |||
3818 | return; | |||
3819 | } | |||
3820 | } | |||
3821 | ||||
3822 | ||||
3823 | XS_EUPXS(XS_XS__APItest_mxpushn)static void XS_XS__APItest_mxpushn( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3824 | XS_EUPXS(XS_XS__APItest_mxpushn)static void XS_XS__APItest_mxpushn( CV* cv __attribute__((unused ))) | |||
3825 | { | |||
3826 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3827 | if (items != 0) | |||
3828 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3829 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3830 | SPsp -= items; | |||
3831 | { | |||
3832 | #line 2422 "APItest.xs" | |||
3833 | mXPUSHn(0.5)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)(0.5)); } while (0); | |||
3834 | mXPUSHn(-0.25)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)(-0.25)); } while (0); | |||
3835 | mXPUSHn(0.125)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)(0.125)); } while (0); | |||
3836 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3837 | #line 3838 "APItest.c" | |||
3838 | PUTBACKPL_stack_sp = sp; | |||
3839 | return; | |||
3840 | } | |||
3841 | } | |||
3842 | ||||
3843 | ||||
3844 | XS_EUPXS(XS_XS__APItest_mxpushi)static void XS_XS__APItest_mxpushi( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3845 | XS_EUPXS(XS_XS__APItest_mxpushi)static void XS_XS__APItest_mxpushi( CV* cv __attribute__((unused ))) | |||
3846 | { | |||
3847 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3848 | if (items != 0) | |||
3849 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3850 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3851 | SPsp -= items; | |||
3852 | { | |||
3853 | #line 2430 "APItest.xs" | |||
3854 | mXPUSHi(-1)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)(-1)); } while (0); | |||
3855 | mXPUSHi(2)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)(2)); } while (0); | |||
3856 | mXPUSHi(-3)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)(-3)); } while (0); | |||
3857 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3858 | #line 3859 "APItest.c" | |||
3859 | PUTBACKPL_stack_sp = sp; | |||
3860 | return; | |||
3861 | } | |||
3862 | } | |||
3863 | ||||
3864 | ||||
3865 | XS_EUPXS(XS_XS__APItest_mxpushu)static void XS_XS__APItest_mxpushu( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3866 | XS_EUPXS(XS_XS__APItest_mxpushu)static void XS_XS__APItest_mxpushu( CV* cv __attribute__((unused ))) | |||
3867 | { | |||
3868 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3869 | if (items != 0) | |||
3870 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3871 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3872 | SPsp -= items; | |||
3873 | { | |||
3874 | #line 2438 "APItest.xs" | |||
3875 | mXPUSHu(1)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_setuv ( (*++sp = (Perl_sv_newmortal())),(UV)(1)); } while (0); | |||
3876 | mXPUSHu(2)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_setuv ( (*++sp = (Perl_sv_newmortal())),(UV)(2)); } while (0); | |||
3877 | mXPUSHu(3)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_setuv ( (*++sp = (Perl_sv_newmortal())),(UV)(3)); } while (0); | |||
3878 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
3879 | #line 3880 "APItest.c" | |||
3880 | PUTBACKPL_stack_sp = sp; | |||
3881 | return; | |||
3882 | } | |||
3883 | } | |||
3884 | ||||
3885 | ||||
3886 | XS_EUPXS(XS_XS__APItest_test_EXTEND)static void XS_XS__APItest_test_EXTEND( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
3887 | XS_EUPXS(XS_XS__APItest_test_EXTEND)static void XS_XS__APItest_test_EXTEND( CV* cv __attribute__( (unused))) | |||
3888 | { | |||
3889 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3890 | if (items != 3) | |||
3891 | croak_xs_usagePerl_croak_xs_usage(cv, "max_offset, nsv, use_ss"); | |||
3892 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
3893 | SPsp -= items; | |||
3894 | { | |||
3895 | IV max_offset = (IV)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)) | |||
3896 | ; | |||
3897 | SV * nsv = ST(1)PL_stack_base[ax + (1)] | |||
3898 | ; | |||
3899 | bool_Bool use_ss = (bool_Bool)SvTRUE(ST(2))Perl_SvTRUE( PL_stack_base[ax + (2)]) | |||
3900 | ; | |||
3901 | #line 2461 "APItest.xs" | |||
3902 | SV **sp = PL_stack_max + max_offset; | |||
3903 | #line 3904 "APItest.c" | |||
3904 | #line 2463 "APItest.xs" | |||
3905 | if (use_ss) { | |||
3906 | SSize_tssize_t n = (SSize_tssize_t)SvIV(nsv)((((nsv)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (nsv)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( nsv,2)); | |||
3907 | EXTEND(sp, n)do { (void)0; if (__builtin_expect(((((n) < 0 || PL_stack_max - (sp) < (n))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(n) > sizeof(ssize_t) && ((ssize_t) (n) != (n)) ? -1 : (n))); ((void)sizeof(sp)); } } while (0); | |||
3908 | *(sp + n) = NULL((void*)0); | |||
3909 | } | |||
3910 | else { | |||
3911 | IV n = SvIV(nsv)((((nsv)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (nsv)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( nsv,2)); | |||
3912 | EXTEND(sp, n)do { (void)0; if (__builtin_expect(((((n) < 0 || PL_stack_max - (sp) < (n))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(n) > sizeof(ssize_t) && ((ssize_t) (n) != (n)) ? -1 : (n))); ((void)sizeof(sp)); } } while (0); | |||
3913 | *(sp + n) = NULL((void*)0); | |||
3914 | } | |||
3915 | *PL_stack_max = NULL((void*)0); | |||
3916 | #line 3917 "APItest.c" | |||
3917 | PUTBACKPL_stack_sp = sp; | |||
3918 | return; | |||
3919 | } | |||
3920 | } | |||
3921 | ||||
3922 | ||||
3923 | XS_EUPXS(XS_XS__APItest_call_sv_C)static void XS_XS__APItest_call_sv_C( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
3924 | XS_EUPXS(XS_XS__APItest_call_sv_C)static void XS_XS__APItest_call_sv_C( CV* cv __attribute__((unused ))) | |||
3925 | { | |||
3926 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
3927 | if (items != 0) | |||
3928 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
3929 | { | |||
3930 | #line 2479 "APItest.xs" | |||
3931 | CV * i_sub; | |||
3932 | GV * i_gv; | |||
3933 | I32 retcnt; | |||
3934 | SV * errsv; | |||
3935 | char * errstr; | |||
3936 | STRLEN errlen; | |||
3937 | SV * miscsv = sv_newmortal()Perl_sv_newmortal(); | |||
3938 | HV * hv = (HV*)sv_2mortal((SV*)newHV())Perl_sv_2mortal( (SV*)((HV *)({ void *_p = (Perl_newSV_type( SVt_PVHV )); _p; }))); | |||
3939 | #line 3940 "APItest.c" | |||
3940 | #line 2488 "APItest.xs" | |||
3941 | i_sub = get_cv("i", 0)Perl_get_cv( "i",0); | |||
3942 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3943 | /* PUTBACK not needed since this sub was called with 0 args, and is calling | |||
3944 | 0 args, so global SP doesn't need to be moved before a call_* */ | |||
3945 | retcnt = call_sv((SV*)i_sub, 0)Perl_call_sv( (SV*)i_sub,0); /* try a CV* */ | |||
3946 | SPAGAINsp = PL_stack_sp; | |||
3947 | SPsp -= retcnt; /* dont care about return count, wipe everything off */ | |||
3948 | sv_setpvs(miscsv, "i")Perl_sv_setpvn( miscsv, ("" "i" ""), (sizeof("i")-1)); | |||
3949 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3950 | retcnt = call_sv(miscsv, 0)Perl_call_sv( miscsv,0); /* try a PV */ | |||
3951 | SPAGAINsp = PL_stack_sp; | |||
3952 | SPsp -= retcnt; | |||
3953 | /* no add and SVt_NULL are intentional, sub i should be defined already */ | |||
3954 | i_gv = gv_fetchpvn_flags("i", sizeof("i")-1, 0, SVt_NULL)Perl_gv_fetchpvn_flags( "i",sizeof("i")-1,0,SVt_NULL); | |||
3955 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3956 | retcnt = call_sv((SV*)i_gv, 0)Perl_call_sv( (SV*)i_gv,0); /* try a GV* */ | |||
3957 | SPAGAINsp = PL_stack_sp; | |||
3958 | SPsp -= retcnt; | |||
3959 | /* the tests below are not declaring this being public API behavior, | |||
3960 | only current internal behavior, these tests can be changed in the | |||
3961 | future if necessery */ | |||
3962 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3963 | retcnt = call_sv(&PL_sv_yes, G_EVAL)Perl_call_sv( &(PL_sv_immortals[0]),0x8); | |||
3964 | SPAGAINsp = PL_stack_sp; | |||
3965 | SPsp -= retcnt; | |||
3966 | errsv = ERRSV(*((0+(PL_errgv)->sv_u.svu_gp)->gp_sv ? &((0+(PL_errgv )->sv_u.svu_gp)->gp_sv) : &((0+(Perl_gv_add_by_type ( (PL_errgv),SVt_NULL))->sv_u.svu_gp)->gp_sv))); | |||
3967 | errstr = SvPV(errsv, errlen)((((errsv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((errlen = ((XPV*) (errsv)->sv_any)->xpv_cur), ((errsv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( errsv,&errlen,2) ); | |||
3968 | if(memBEGINs(errstr, errlen, "Undefined subroutine &main::1 called at")( (ptrdiff_t) (errlen) >= (ptrdiff_t) sizeof("Undefined subroutine &main::1 called at" ) - 1 && (memcmp(((const void *) (errstr)), ((const void *) ("" "Undefined subroutine &main::1 called at" "")), sizeof ("Undefined subroutine &main::1 called at")-1) == 0))) { | |||
3969 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3970 | retcnt = call_sv((SV*)i_sub, 0)Perl_call_sv( (SV*)i_sub,0); /* call again to increase counter */ | |||
3971 | SPAGAINsp = PL_stack_sp; | |||
3972 | SPsp -= retcnt; | |||
3973 | } | |||
3974 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3975 | retcnt = call_sv(&PL_sv_no, G_EVAL)Perl_call_sv( &(PL_sv_immortals[2]),0x8); | |||
3976 | SPAGAINsp = PL_stack_sp; | |||
3977 | SPsp -= retcnt; | |||
3978 | errsv = ERRSV(*((0+(PL_errgv)->sv_u.svu_gp)->gp_sv ? &((0+(PL_errgv )->sv_u.svu_gp)->gp_sv) : &((0+(Perl_gv_add_by_type ( (PL_errgv),SVt_NULL))->sv_u.svu_gp)->gp_sv))); | |||
3979 | errstr = SvPV(errsv, errlen)((((errsv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((errlen = ((XPV*) (errsv)->sv_any)->xpv_cur), ((errsv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( errsv,&errlen,2) ); | |||
3980 | if(memBEGINs(errstr, errlen, "Undefined subroutine &main:: called at")( (ptrdiff_t) (errlen) >= (ptrdiff_t) sizeof("Undefined subroutine &main:: called at" ) - 1 && (memcmp(((const void *) (errstr)), ((const void *) ("" "Undefined subroutine &main:: called at" "")), sizeof ("Undefined subroutine &main:: called at")-1) == 0))) { | |||
3981 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3982 | retcnt = call_sv((SV*)i_sub, 0)Perl_call_sv( (SV*)i_sub,0); /* call again to increase counter */ | |||
3983 | SPAGAINsp = PL_stack_sp; | |||
3984 | SPsp -= retcnt; | |||
3985 | } | |||
3986 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3987 | retcnt = call_sv(&PL_sv_undef, G_EVAL)Perl_call_sv( &(PL_sv_immortals[1]),0x8); | |||
3988 | SPAGAINsp = PL_stack_sp; | |||
3989 | SPsp -= retcnt; | |||
3990 | errsv = ERRSV(*((0+(PL_errgv)->sv_u.svu_gp)->gp_sv ? &((0+(PL_errgv )->sv_u.svu_gp)->gp_sv) : &((0+(Perl_gv_add_by_type ( (PL_errgv),SVt_NULL))->sv_u.svu_gp)->gp_sv))); | |||
3991 | errstr = SvPV(errsv, errlen)((((errsv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((errlen = ((XPV*) (errsv)->sv_any)->xpv_cur), ((errsv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( errsv,&errlen,2) ); | |||
3992 | if(memBEGINs(errstr, errlen, "Can't use an undefined value as a subroutine reference at")( (ptrdiff_t) (errlen) >= (ptrdiff_t) sizeof("Can't use an undefined value as a subroutine reference at" ) - 1 && (memcmp(((const void *) (errstr)), ((const void *) ("" "Can't use an undefined value as a subroutine reference at" "")), sizeof("Can't use an undefined value as a subroutine reference at" )-1) == 0))) { | |||
3993 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3994 | retcnt = call_sv((SV*)i_sub, 0)Perl_call_sv( (SV*)i_sub,0); /* call again to increase counter */ | |||
3995 | SPAGAINsp = PL_stack_sp; | |||
3996 | SPsp -= retcnt; | |||
3997 | } | |||
3998 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
3999 | retcnt = call_sv((SV*)hv, G_EVAL)Perl_call_sv( (SV*)hv,0x8); | |||
4000 | SPAGAINsp = PL_stack_sp; | |||
4001 | SPsp -= retcnt; | |||
4002 | errsv = ERRSV(*((0+(PL_errgv)->sv_u.svu_gp)->gp_sv ? &((0+(PL_errgv )->sv_u.svu_gp)->gp_sv) : &((0+(Perl_gv_add_by_type ( (PL_errgv),SVt_NULL))->sv_u.svu_gp)->gp_sv))); | |||
4003 | errstr = SvPV(errsv, errlen)((((errsv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((errlen = ((XPV*) (errsv)->sv_any)->xpv_cur), ((errsv )->sv_u.svu_pv)) : Perl_sv_2pv_flags( errsv,&errlen,2) ); | |||
4004 | if(memBEGINs(errstr, errlen, "Not a CODE reference at")( (ptrdiff_t) (errlen) >= (ptrdiff_t) sizeof("Not a CODE reference at" ) - 1 && (memcmp(((const void *) (errstr)), ((const void *) ("" "Not a CODE reference at" "")), sizeof("Not a CODE reference at" )-1) == 0))) { | |||
4005 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
4006 | retcnt = call_sv((SV*)i_sub, 0)Perl_call_sv( (SV*)i_sub,0); /* call again to increase counter */ | |||
4007 | SPAGAINsp = PL_stack_sp; | |||
4008 | SPsp -= retcnt; | |||
4009 | } | |||
4010 | #line 4011 "APItest.c" | |||
4011 | } | |||
4012 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
4013 | } | |||
4014 | ||||
4015 | ||||
4016 | XS_EUPXS(XS_XS__APItest_call_sv)static void XS_XS__APItest_call_sv( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4017 | XS_EUPXS(XS_XS__APItest_call_sv)static void XS_XS__APItest_call_sv( CV* cv __attribute__((unused ))) | |||
4018 | { | |||
4019 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4020 | if (items < 2) | |||
4021 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, flags, ..."); | |||
4022 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4023 | SPsp -= items; | |||
4024 | { | |||
4025 | SV* sv = ST(0)PL_stack_base[ax + (0)] | |||
4026 | ; | |||
4027 | I32 flags = (I32)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)) | |||
4028 | ; | |||
4029 | #line 2563 "APItest.xs" | |||
4030 | I32 i; | |||
4031 | #line 4032 "APItest.c" | |||
4032 | #line 2565 "APItest.xs" | |||
4033 | for (i=0; i<items-2; i++) | |||
4034 | ST(i)PL_stack_base[ax + (i)] = ST(i+2)PL_stack_base[ax + (i+2)]; /* pop first two args */ | |||
4035 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
4036 | SPsp += items - 2; | |||
4037 | PUTBACKPL_stack_sp = sp; | |||
4038 | i = call_sv(sv, flags)Perl_call_sv( sv,flags); | |||
4039 | SPAGAINsp = PL_stack_sp; | |||
4040 | EXTEND(SP, 1)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); | |||
4041 | PUSHs(sv_2mortal(newSViv(i)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( i)))); | |||
4042 | #line 4043 "APItest.c" | |||
4043 | PUTBACKPL_stack_sp = sp; | |||
4044 | return; | |||
4045 | } | |||
4046 | } | |||
4047 | ||||
4048 | ||||
4049 | XS_EUPXS(XS_XS__APItest_call_pv)static void XS_XS__APItest_call_pv( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4050 | XS_EUPXS(XS_XS__APItest_call_pv)static void XS_XS__APItest_call_pv( CV* cv __attribute__((unused ))) | |||
4051 | { | |||
4052 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4053 | if (items < 2) | |||
4054 | croak_xs_usagePerl_croak_xs_usage(cv, "subname, flags, ..."); | |||
4055 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4056 | SPsp -= items; | |||
4057 | { | |||
4058 | char* subname = (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)) | |||
4059 | ; | |||
4060 | I32 flags = (I32)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)) | |||
4061 | ; | |||
4062 | #line 2580 "APItest.xs" | |||
4063 | I32 i; | |||
4064 | #line 4065 "APItest.c" | |||
4065 | #line 2582 "APItest.xs" | |||
4066 | for (i=0; i<items-2; i++) | |||
4067 | ST(i)PL_stack_base[ax + (i)] = ST(i+2)PL_stack_base[ax + (i+2)]; /* pop first two args */ | |||
4068 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
4069 | SPsp += items - 2; | |||
4070 | PUTBACKPL_stack_sp = sp; | |||
4071 | i = call_pv(subname, flags)Perl_call_pv( subname,flags); | |||
4072 | SPAGAINsp = PL_stack_sp; | |||
4073 | EXTEND(SP, 1)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); | |||
4074 | PUSHs(sv_2mortal(newSViv(i)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( i)))); | |||
4075 | #line 4076 "APItest.c" | |||
4076 | PUTBACKPL_stack_sp = sp; | |||
4077 | return; | |||
4078 | } | |||
4079 | } | |||
4080 | ||||
4081 | ||||
4082 | XS_EUPXS(XS_XS__APItest_call_argv)static void XS_XS__APItest_call_argv( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4083 | XS_EUPXS(XS_XS__APItest_call_argv)static void XS_XS__APItest_call_argv( CV* cv __attribute__((unused ))) | |||
4084 | { | |||
4085 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4086 | if (items < 2) | |||
4087 | croak_xs_usagePerl_croak_xs_usage(cv, "subname, flags, ..."); | |||
4088 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4089 | SPsp -= items; | |||
4090 | { | |||
4091 | char* subname = (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)) | |||
4092 | ; | |||
4093 | I32 flags = (I32)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)) | |||
4094 | ; | |||
4095 | #line 2597 "APItest.xs" | |||
4096 | I32 i; | |||
4097 | char *tmpary[4]; | |||
4098 | #line 4099 "APItest.c" | |||
4099 | #line 2600 "APItest.xs" | |||
4100 | for (i=0; i<items-2; i++) | |||
4101 | tmpary[i] = SvPV_nolen(ST(i+2))((((PL_stack_base[ax + (i+2)])->sv_flags & (0x00000400 |0x00200000)) == 0x00000400) ? ((PL_stack_base[ax + (i+2)])-> sv_u.svu_pv) : Perl_sv_2pv_flags( PL_stack_base[ax + (i+2)],0 ,2)); /* ignore first two args */ | |||
4102 | tmpary[i] = NULL((void*)0); | |||
4103 | PUTBACKPL_stack_sp = sp; | |||
4104 | i = call_argv(subname, flags, tmpary)Perl_call_argv( subname,flags,tmpary); | |||
4105 | SPAGAINsp = PL_stack_sp; | |||
4106 | EXTEND(SP, 1)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); | |||
4107 | PUSHs(sv_2mortal(newSViv(i)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( i)))); | |||
4108 | #line 4109 "APItest.c" | |||
4109 | PUTBACKPL_stack_sp = sp; | |||
4110 | return; | |||
4111 | } | |||
4112 | } | |||
4113 | ||||
4114 | ||||
4115 | XS_EUPXS(XS_XS__APItest_call_method)static void XS_XS__APItest_call_method( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4116 | XS_EUPXS(XS_XS__APItest_call_method)static void XS_XS__APItest_call_method( CV* cv __attribute__( (unused))) | |||
4117 | { | |||
4118 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4119 | if (items < 2) | |||
4120 | croak_xs_usagePerl_croak_xs_usage(cv, "methname, flags, ..."); | |||
4121 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4122 | SPsp -= items; | |||
4123 | { | |||
4124 | char* methname = (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)) | |||
4125 | ; | |||
4126 | I32 flags = (I32)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)) | |||
4127 | ; | |||
4128 | #line 2614 "APItest.xs" | |||
4129 | I32 i; | |||
4130 | #line 4131 "APItest.c" | |||
4131 | #line 2616 "APItest.xs" | |||
4132 | for (i=0; i<items-2; i++) | |||
4133 | ST(i)PL_stack_base[ax + (i)] = ST(i+2)PL_stack_base[ax + (i+2)]; /* pop first two args */ | |||
4134 | PUSHMARK(SP)do { I32 * mark_stack_entry; if (__builtin_expect((((mark_stack_entry = ++PL_markstack_ptr) == PL_markstack_max) ? (_Bool)1 : (_Bool )0),(0))) mark_stack_entry = Perl_markstack_grow(); *mark_stack_entry = (I32)((sp) - PL_stack_base); ; } while (0); | |||
4135 | SPsp += items - 2; | |||
4136 | PUTBACKPL_stack_sp = sp; | |||
4137 | i = call_method(methname, flags)Perl_call_method( methname,flags); | |||
4138 | SPAGAINsp = PL_stack_sp; | |||
4139 | EXTEND(SP, 1)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); | |||
4140 | PUSHs(sv_2mortal(newSViv(i)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( i)))); | |||
4141 | #line 4142 "APItest.c" | |||
4142 | PUTBACKPL_stack_sp = sp; | |||
4143 | return; | |||
4144 | } | |||
4145 | } | |||
4146 | ||||
4147 | ||||
4148 | XS_EUPXS(XS_XS__APItest_newCONSTSUB)static void XS_XS__APItest_newCONSTSUB( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4149 | XS_EUPXS(XS_XS__APItest_newCONSTSUB)static void XS_XS__APItest_newCONSTSUB( CV* cv __attribute__( (unused))) | |||
4150 | { | |||
4151 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4152 | dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_start_u.xcv_xsubany.any_i32; | |||
4153 | if (items != 4) | |||
4154 | croak_xs_usagePerl_croak_xs_usage(cv, "stash, name, flags, sv"); | |||
4155 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4156 | SPsp -= items; | |||
4157 | { | |||
4158 | HV* stash; | |||
4159 | SV* name = ST(1)PL_stack_base[ax + (1)] | |||
4160 | ; | |||
4161 | I32 flags = (I32)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)) | |||
4162 | ; | |||
4163 | SV* sv = ST(3)PL_stack_base[ax + (3)] | |||
4164 | ; | |||
4165 | #line 2635 "APItest.xs" | |||
4166 | CV* mycv = NULL((void*)0); | |||
4167 | STRLEN len; | |||
4168 | const char *pv = SvPV(name, len)((((name)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (name)->sv_any)->xpv_cur), ((name)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( name,&len,2)); | |||
4169 | #line 4170 "APItest.c" | |||
4170 | ||||
4171 | STMT_STARTdo { | |||
4172 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
4173 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
4174 | 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){ | |||
4175 | stash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
4176 | } | |||
4177 | else{ | |||
4178 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
4179 | GvNAME(CvGV(cv))((((XPVGV*)(Perl_CvGV( (CV *)(cv)))->sv_any)->xiv_u.xivu_namehek ))->hek_key, | |||
4180 | "stash"); | |||
4181 | } | |||
4182 | } STMT_ENDwhile (0) | |||
4183 | ; | |||
4184 | #line 2639 "APItest.xs" | |||
4185 | switch (ix) { | |||
4186 | case 0: | |||
4187 | mycv = newCONSTSUB(stash, pv, SvOK(sv) ? SvREFCNT_inc(sv) : NULL)Perl_newCONSTSUB( stash,pv,((sv)->sv_flags & (0x00000100 |0x00000200|0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000 |0x00008000)) ? Perl_SvREFCNT_inc(((SV *)({ void *_p = (sv); _p ; }))) : ((void*)0)); | |||
4188 | break; | |||
4189 | case 1: | |||
4190 | mycv = newCONSTSUB_flags(Perl_newCONSTSUB_flags( stash,pv,len,flags | ((name)->sv_flags & 0x20000000),((sv)->sv_flags & (0x00000100|0x00000200 |0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000 )) ? Perl_SvREFCNT_inc(((SV *)({ void *_p = (sv); _p; }))) : ( (void*)0)) | |||
4191 | stash, pv, len, flags | SvUTF8(name), SvOK(sv) ? SvREFCNT_inc(sv) : NULLPerl_newCONSTSUB_flags( stash,pv,len,flags | ((name)->sv_flags & 0x20000000),((sv)->sv_flags & (0x00000100|0x00000200 |0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000 )) ? Perl_SvREFCNT_inc(((SV *)({ void *_p = (sv); _p; }))) : ( (void*)0)) | |||
4192 | )Perl_newCONSTSUB_flags( stash,pv,len,flags | ((name)->sv_flags & 0x20000000),((sv)->sv_flags & (0x00000100|0x00000200 |0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000 )) ? Perl_SvREFCNT_inc(((SV *)({ void *_p = (sv); _p; }))) : ( (void*)0)); | |||
4193 | break; | |||
4194 | } | |||
4195 | EXTEND(SP, 2)do { (void)0; if (__builtin_expect(((((2) < 0 || PL_stack_max - (sp) < (2))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(2) > sizeof(ssize_t) && ((ssize_t) (2) != (2)) ? -1 : (2))); ((void)sizeof(sp)); } } while (0); | |||
4196 | assert(mycv)((void)0); | |||
4197 | PUSHs( CvCONST(mycv) ? &PL_sv_yes : &PL_sv_no )(*++sp = ((((XPVCV*)({ void *_p = ((mycv)->sv_any); _p; }) )->xcv_flags & 0x0004) ? &(PL_sv_immortals[0]) : & (PL_sv_immortals[2]))); | |||
4198 | PUSHs((SV*)CvGV(mycv))(*++sp = ((SV*)Perl_CvGV( (CV *)(mycv)))); | |||
4199 | #line 4200 "APItest.c" | |||
4200 | PUTBACKPL_stack_sp = sp; | |||
4201 | return; | |||
4202 | } | |||
4203 | } | |||
4204 | ||||
4205 | ||||
4206 | XS_EUPXS(XS_XS__APItest_gv_init_type)static void XS_XS__APItest_gv_init_type( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4207 | XS_EUPXS(XS_XS__APItest_gv_init_type)static void XS_XS__APItest_gv_init_type( CV* cv __attribute__ ((unused))) | |||
4208 | { | |||
4209 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4210 | if (items != 4) | |||
4211 | croak_xs_usagePerl_croak_xs_usage(cv, "namesv, multi, flags, type"); | |||
4212 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4213 | SPsp -= items; | |||
4214 | { | |||
4215 | SV* namesv = ST(0)PL_stack_base[ax + (0)] | |||
4216 | ; | |||
4217 | int multi = (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)) | |||
4218 | ; | |||
4219 | I32 flags = (I32)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)) | |||
4220 | ; | |||
4221 | int type = (int)SvIV(ST(3))((((PL_stack_base[ax + (3)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (3)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 3)],2)) | |||
4222 | ; | |||
4223 | #line 2661 "APItest.xs" | |||
4224 | STRLEN len; | |||
4225 | const char * const name = SvPV_const(namesv, len)((((namesv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (namesv)->sv_any)->xpv_cur), ((const char*)(0 + (namesv)->sv_u.svu_pv))) : (const char*) Perl_sv_2pv_flags ( namesv,&len,(2|32))); | |||
4226 | GV *gv = *(GV**)hv_fetch(PL_defstash, name, len, TRUE)((SV**) Perl_hv_common_key_len( (PL_defstash),(name),(len),(( 1)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); | |||
4227 | #line 4228 "APItest.c" | |||
4228 | #line 2665 "APItest.xs" | |||
4229 | if (SvTYPE(gv)((svtype)((gv)->sv_flags & 0xff)) == SVt_PVGV) | |||
4230 | Perl_croak(aTHX_ "GV is already a PVGV"); | |||
4231 | if (multi) flags |= GV_ADDMULTI0x02; | |||
4232 | switch (type) { | |||
4233 | case 0: | |||
4234 | gv_init(gv, PL_defstash, name, len, multi)Perl_gv_init_pvn( gv,PL_defstash,name,len,0x02*!!(multi)); | |||
4235 | break; | |||
4236 | case 1: | |||
4237 | gv_init_sv(gv, PL_defstash, namesv, flags)Perl_gv_init_sv( gv,PL_defstash,namesv,flags); | |||
4238 | break; | |||
4239 | case 2: | |||
4240 | gv_init_pv(gv, PL_defstash, name, flags | SvUTF8(namesv))Perl_gv_init_pv( gv,PL_defstash,name,flags | ((namesv)->sv_flags & 0x20000000)); | |||
4241 | break; | |||
4242 | case 3: | |||
4243 | gv_init_pvn(gv, PL_defstash, name, len, flags | SvUTF8(namesv))Perl_gv_init_pvn( gv,PL_defstash,name,len,flags | ((namesv)-> sv_flags & 0x20000000)); | |||
4244 | break; | |||
4245 | } | |||
4246 | XPUSHs( gv ? (SV*)gv : &PL_sv_undef)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 = (gv ? (SV*)gv : &(PL_sv_immortals[1])); } while (0 ); | |||
4247 | #line 4248 "APItest.c" | |||
4248 | PUTBACKPL_stack_sp = sp; | |||
4249 | return; | |||
4250 | } | |||
4251 | } | |||
4252 | ||||
4253 | ||||
4254 | XS_EUPXS(XS_XS__APItest_gv_fetchmeth_type)static void XS_XS__APItest_gv_fetchmeth_type( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4255 | XS_EUPXS(XS_XS__APItest_gv_fetchmeth_type)static void XS_XS__APItest_gv_fetchmeth_type( CV* cv __attribute__ ((unused))) | |||
4256 | { | |||
4257 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4258 | if (items != 5) | |||
4259 | croak_xs_usagePerl_croak_xs_usage(cv, "stash, methname, type, level, flags"); | |||
4260 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4261 | SPsp -= items; | |||
4262 | { | |||
4263 | HV* stash; | |||
4264 | SV* methname = ST(1)PL_stack_base[ax + (1)] | |||
4265 | ; | |||
4266 | int type = (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)) | |||
4267 | ; | |||
4268 | I32 level = (I32)SvIV(ST(3))((((PL_stack_base[ax + (3)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (3)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 3)],2)) | |||
4269 | ; | |||
4270 | I32 flags = (I32)SvIV(ST(4))((((PL_stack_base[ax + (4)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (4)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 4)],2)) | |||
4271 | ; | |||
4272 | #line 2692 "APItest.xs" | |||
4273 | STRLEN len; | |||
4274 | const char * const name = SvPV_const(methname, len)((((methname)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (methname)->sv_any)->xpv_cur), ((const char*)(0 + (methname)->sv_u.svu_pv))) : (const char*) Perl_sv_2pv_flags ( methname,&len,(2|32))); | |||
4275 | GV* gv = NULL((void*)0); | |||
4276 | #line 4277 "APItest.c" | |||
4277 | ||||
4278 | STMT_STARTdo { | |||
4279 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
4280 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
4281 | 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){ | |||
4282 | stash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
4283 | } | |||
4284 | else{ | |||
4285 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
4286 | "XS::APItest::gv_fetchmeth_type", | |||
4287 | "stash"); | |||
4288 | } | |||
4289 | } STMT_ENDwhile (0) | |||
4290 | ; | |||
4291 | #line 2696 "APItest.xs" | |||
4292 | switch (type) { | |||
4293 | case 0: | |||
4294 | gv = gv_fetchmeth(stash, name, len, level)Perl_gv_fetchmeth_pvn( stash,name,len,level,0); | |||
4295 | break; | |||
4296 | case 1: | |||
4297 | gv = gv_fetchmeth_sv(stash, methname, level, flags)Perl_gv_fetchmeth_sv( stash,methname,level,flags); | |||
4298 | break; | |||
4299 | case 2: | |||
4300 | gv = gv_fetchmeth_pv(stash, name, level, flags | SvUTF8(methname))Perl_gv_fetchmeth_pv( stash,name,level,flags | ((methname)-> sv_flags & 0x20000000)); | |||
4301 | break; | |||
4302 | case 3: | |||
4303 | gv = gv_fetchmeth_pvn(stash, name, len, level, flags | SvUTF8(methname))Perl_gv_fetchmeth_pvn( stash,name,len,level,flags | ((methname )->sv_flags & 0x20000000)); | |||
4304 | break; | |||
4305 | } | |||
4306 | XPUSHs( gv ? MUTABLE_SV(gv) : &PL_sv_undef )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 = (gv ? ((SV *)({ void *_p = (gv); _p; })) : &(PL_sv_immortals [1])); } while (0); | |||
4307 | #line 4308 "APItest.c" | |||
4308 | PUTBACKPL_stack_sp = sp; | |||
4309 | return; | |||
4310 | } | |||
4311 | } | |||
4312 | ||||
4313 | ||||
4314 | XS_EUPXS(XS_XS__APItest_gv_fetchmeth_autoload_type)static void XS_XS__APItest_gv_fetchmeth_autoload_type( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4315 | XS_EUPXS(XS_XS__APItest_gv_fetchmeth_autoload_type)static void XS_XS__APItest_gv_fetchmeth_autoload_type( CV* cv __attribute__((unused))) | |||
4316 | { | |||
4317 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4318 | if (items != 5) | |||
4319 | croak_xs_usagePerl_croak_xs_usage(cv, "stash, methname, type, level, flags"); | |||
4320 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4321 | SPsp -= items; | |||
4322 | { | |||
4323 | HV* stash; | |||
4324 | SV* methname = ST(1)PL_stack_base[ax + (1)] | |||
4325 | ; | |||
4326 | int type = (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)) | |||
4327 | ; | |||
4328 | I32 level = (I32)SvIV(ST(3))((((PL_stack_base[ax + (3)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (3)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 3)],2)) | |||
4329 | ; | |||
4330 | I32 flags = (I32)SvIV(ST(4))((((PL_stack_base[ax + (4)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (4)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 4)],2)) | |||
4331 | ; | |||
4332 | #line 2720 "APItest.xs" | |||
4333 | STRLEN len; | |||
4334 | const char * const name = SvPV_const(methname, len)((((methname)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (methname)->sv_any)->xpv_cur), ((const char*)(0 + (methname)->sv_u.svu_pv))) : (const char*) Perl_sv_2pv_flags ( methname,&len,(2|32))); | |||
4335 | GV* gv = NULL((void*)0); | |||
4336 | #line 4337 "APItest.c" | |||
4337 | ||||
4338 | STMT_STARTdo { | |||
4339 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
4340 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
4341 | 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){ | |||
4342 | stash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
4343 | } | |||
4344 | else{ | |||
4345 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
4346 | "XS::APItest::gv_fetchmeth_autoload_type", | |||
4347 | "stash"); | |||
4348 | } | |||
4349 | } STMT_ENDwhile (0) | |||
4350 | ; | |||
4351 | #line 2724 "APItest.xs" | |||
4352 | switch (type) { | |||
4353 | case 0: | |||
4354 | gv = gv_fetchmeth_autoload(stash, name, len, level)Perl_gv_fetchmeth_pvn_autoload( stash,name,len,level,0); | |||
4355 | break; | |||
4356 | case 1: | |||
4357 | gv = gv_fetchmeth_sv_autoload(stash, methname, level, flags)Perl_gv_fetchmeth_sv_autoload( stash,methname,level,flags); | |||
4358 | break; | |||
4359 | case 2: | |||
4360 | gv = gv_fetchmeth_pv_autoload(stash, name, level, flags | SvUTF8(methname))Perl_gv_fetchmeth_pv_autoload( stash,name,level,flags | ((methname )->sv_flags & 0x20000000)); | |||
4361 | break; | |||
4362 | case 3: | |||
4363 | gv = gv_fetchmeth_pvn_autoload(stash, name, len, level, flags | SvUTF8(methname))Perl_gv_fetchmeth_pvn_autoload( stash,name,len,level,flags | ( (methname)->sv_flags & 0x20000000)); | |||
4364 | break; | |||
4365 | } | |||
4366 | XPUSHs( gv ? MUTABLE_SV(gv) : &PL_sv_undef )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 = (gv ? ((SV *)({ void *_p = (gv); _p; })) : &(PL_sv_immortals [1])); } while (0); | |||
4367 | #line 4368 "APItest.c" | |||
4368 | PUTBACKPL_stack_sp = sp; | |||
4369 | return; | |||
4370 | } | |||
4371 | } | |||
4372 | ||||
4373 | ||||
4374 | XS_EUPXS(XS_XS__APItest_gv_fetchmethod_flags_type)static void XS_XS__APItest_gv_fetchmethod_flags_type( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4375 | XS_EUPXS(XS_XS__APItest_gv_fetchmethod_flags_type)static void XS_XS__APItest_gv_fetchmethod_flags_type( CV* cv __attribute__ ((unused))) | |||
4376 | { | |||
4377 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4378 | if (items != 4) | |||
4379 | croak_xs_usagePerl_croak_xs_usage(cv, "stash, methname, type, flags"); | |||
4380 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4381 | SPsp -= items; | |||
4382 | { | |||
4383 | HV* stash; | |||
4384 | SV* methname = ST(1)PL_stack_base[ax + (1)] | |||
4385 | ; | |||
4386 | int type = (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)) | |||
4387 | ; | |||
4388 | I32 flags = (I32)SvIV(ST(3))((((PL_stack_base[ax + (3)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (3)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 3)],2)) | |||
4389 | ; | |||
4390 | #line 2747 "APItest.xs" | |||
4391 | GV* gv = NULL((void*)0); | |||
4392 | #line 4393 "APItest.c" | |||
4393 | ||||
4394 | STMT_STARTdo { | |||
4395 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
4396 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
4397 | 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){ | |||
4398 | stash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
4399 | } | |||
4400 | else{ | |||
4401 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
4402 | "XS::APItest::gv_fetchmethod_flags_type", | |||
4403 | "stash"); | |||
4404 | } | |||
4405 | } STMT_ENDwhile (0) | |||
4406 | ; | |||
4407 | #line 2749 "APItest.xs" | |||
4408 | switch (type) { | |||
4409 | case 0: | |||
4410 | gv = gv_fetchmethod_flags(stash, SvPVX_const(methname), flags)Perl_gv_fetchmethod_pv_flags( stash,((const char*)(0 + (methname )->sv_u.svu_pv)),flags); | |||
4411 | break; | |||
4412 | case 1: | |||
4413 | gv = gv_fetchmethod_sv_flags(stash, methname, flags)Perl_gv_fetchmethod_sv_flags( stash,methname,flags); | |||
4414 | break; | |||
4415 | case 2: | |||
4416 | gv = gv_fetchmethod_pv_flags(stash, SvPV_nolen(methname), flags | SvUTF8(methname))Perl_gv_fetchmethod_pv_flags( stash,((((methname)->sv_flags & (0x00000400|0x00200000)) == 0x00000400) ? ((methname)-> sv_u.svu_pv) : Perl_sv_2pv_flags( methname,0,2)),flags | ((methname )->sv_flags & 0x20000000)); | |||
4417 | break; | |||
4418 | case 3: { | |||
4419 | STRLEN len; | |||
4420 | const char * const name = SvPV_const(methname, len)((((methname)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (methname)->sv_any)->xpv_cur), ((const char*)(0 + (methname)->sv_u.svu_pv))) : (const char*) Perl_sv_2pv_flags ( methname,&len,(2|32))); | |||
4421 | gv = gv_fetchmethod_pvn_flags(stash, name, len, flags | SvUTF8(methname))Perl_gv_fetchmethod_pvn_flags( stash,name,len,flags | ((methname )->sv_flags & 0x20000000)); | |||
4422 | break; | |||
4423 | } | |||
4424 | case 4: | |||
4425 | gv = gv_fetchmethod_pvn_flags(stash, SvPV_nolen(methname),Perl_gv_fetchmethod_pvn_flags( stash,((((methname)->sv_flags & (0x00000400|0x00200000)) == 0x00000400) ? ((methname)-> sv_u.svu_pv) : Perl_sv_2pv_flags( methname,0,2)),flags,((methname )->sv_flags & 0x20000000)) | |||
4426 | flags, SvUTF8(methname))Perl_gv_fetchmethod_pvn_flags( stash,((((methname)->sv_flags & (0x00000400|0x00200000)) == 0x00000400) ? ((methname)-> sv_u.svu_pv) : Perl_sv_2pv_flags( methname,0,2)),flags,((methname )->sv_flags & 0x20000000)); | |||
4427 | } | |||
4428 | XPUSHs( gv ? (SV*)gv : &PL_sv_undef)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 = (gv ? (SV*)gv : &(PL_sv_immortals[1])); } while (0 ); | |||
4429 | #line 4430 "APItest.c" | |||
4430 | PUTBACKPL_stack_sp = sp; | |||
4431 | return; | |||
4432 | } | |||
4433 | } | |||
4434 | ||||
4435 | ||||
4436 | XS_EUPXS(XS_XS__APItest_gv_autoload_type)static void XS_XS__APItest_gv_autoload_type( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4437 | XS_EUPXS(XS_XS__APItest_gv_autoload_type)static void XS_XS__APItest_gv_autoload_type( CV* cv __attribute__ ((unused))) | |||
4438 | { | |||
4439 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4440 | if (items != 4) | |||
4441 | croak_xs_usagePerl_croak_xs_usage(cv, "stash, methname, type, method"); | |||
4442 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4443 | SPsp -= items; | |||
4444 | { | |||
4445 | HV* stash; | |||
4446 | SV* methname = ST(1)PL_stack_base[ax + (1)] | |||
4447 | ; | |||
4448 | int type = (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)) | |||
4449 | ; | |||
4450 | I32 method = (I32)SvIV(ST(3))((((PL_stack_base[ax + (3)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (3)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 3)],2)) | |||
4451 | ; | |||
4452 | #line 2778 "APItest.xs" | |||
4453 | STRLEN len; | |||
4454 | const char * const name = SvPV_const(methname, len)((((methname)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (methname)->sv_any)->xpv_cur), ((const char*)(0 + (methname)->sv_u.svu_pv))) : (const char*) Perl_sv_2pv_flags ( methname,&len,(2|32))); | |||
4455 | GV* gv = NULL((void*)0); | |||
4456 | I32 flags = method ? GV_AUTOLOAD_ISMETHOD1 : 0; | |||
4457 | #line 4458 "APItest.c" | |||
4458 | ||||
4459 | STMT_STARTdo { | |||
4460 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
4461 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
4462 | 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){ | |||
4463 | stash = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
4464 | } | |||
4465 | else{ | |||
4466 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
4467 | "XS::APItest::gv_autoload_type", | |||
4468 | "stash"); | |||
4469 | } | |||
4470 | } STMT_ENDwhile (0) | |||
4471 | ; | |||
4472 | #line 2783 "APItest.xs" | |||
4473 | switch (type) { | |||
4474 | case 0: | |||
4475 | gv = gv_autoload4(stash, name, len, method)Perl_gv_autoload_pvn( stash,name,len,!!(method)); | |||
4476 | break; | |||
4477 | case 1: | |||
4478 | gv = gv_autoload_sv(stash, methname, flags)Perl_gv_autoload_sv( stash,methname,flags); | |||
4479 | break; | |||
4480 | case 2: | |||
4481 | gv = gv_autoload_pv(stash, name, flags | SvUTF8(methname))Perl_gv_autoload_pv( stash,name,flags | ((methname)->sv_flags & 0x20000000)); | |||
4482 | break; | |||
4483 | case 3: | |||
4484 | gv = gv_autoload_pvn(stash, name, len, flags | SvUTF8(methname))Perl_gv_autoload_pvn( stash,name,len,flags | ((methname)-> sv_flags & 0x20000000)); | |||
4485 | break; | |||
4486 | } | |||
4487 | XPUSHs( gv ? (SV*)gv : &PL_sv_undef)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 = (gv ? (SV*)gv : &(PL_sv_immortals[1])); } while (0 ); | |||
4488 | #line 4489 "APItest.c" | |||
4489 | PUTBACKPL_stack_sp = sp; | |||
4490 | return; | |||
4491 | } | |||
4492 | } | |||
4493 | ||||
4494 | ||||
4495 | XS_EUPXS(XS_XS__APItest_gv_const_sv)static void XS_XS__APItest_gv_const_sv( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4496 | XS_EUPXS(XS_XS__APItest_gv_const_sv)static void XS_XS__APItest_gv_const_sv( CV* cv __attribute__( (unused))) | |||
4497 | { | |||
4498 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4499 | if (items != 1) | |||
4500 | croak_xs_usagePerl_croak_xs_usage(cv, "name"); | |||
4501 | { | |||
4502 | #line 2802 "APItest.xs" | |||
4503 | GV *gv; | |||
4504 | #line 4505 "APItest.c" | |||
4505 | SV * RETVAL; | |||
4506 | SV * name = ST(0)PL_stack_base[ax + (0)] | |||
4507 | ; | |||
4508 | #line 2804 "APItest.xs" | |||
4509 | if (SvPOK(name)((name)->sv_flags & 0x00000400)) { | |||
4510 | HV *stash = gv_stashpv("main",0)Perl_gv_stashpv( "main",0); | |||
4511 | HE *he = hv_fetch_ent(stash, name, 0, 0)((HE *) Perl_hv_common( (stash),(name),((void*)0),0,0,((0) ? 0x10 : 0),((void*)0),(0))); | |||
4512 | gv = (GV *)HeVAL(he)(he)->he_valu.hent_val; | |||
4513 | } | |||
4514 | else { | |||
4515 | gv = (GV *)name; | |||
4516 | } | |||
4517 | RETVAL = gv_const_sv(gv)Perl_gv_const_sv( gv); | |||
4518 | if (!RETVAL) | |||
4519 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
4520 | RETVAL = newSVsv(RETVAL)Perl_newSVsv_flags( (RETVAL),2|16); | |||
4521 | #line 4522 "APItest.c" | |||
4522 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
4523 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
4524 | } | |||
4525 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4526 | } | |||
4527 | ||||
4528 | ||||
4529 | XS_EUPXS(XS_XS__APItest_whichsig_type)static void XS_XS__APItest_whichsig_type( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4530 | XS_EUPXS(XS_XS__APItest_whichsig_type)static void XS_XS__APItest_whichsig_type( CV* cv __attribute__ ((unused))) | |||
4531 | { | |||
4532 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4533 | if (items != 2) | |||
4534 | croak_xs_usagePerl_croak_xs_usage(cv, "namesv, type"); | |||
4535 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4536 | SPsp -= items; | |||
4537 | { | |||
4538 | SV* namesv = ST(0)PL_stack_base[ax + (0)] | |||
4539 | ; | |||
4540 | int type = (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)) | |||
4541 | ; | |||
4542 | #line 2824 "APItest.xs" | |||
4543 | STRLEN len; | |||
4544 | const char * const name = SvPV_const(namesv, len)((((namesv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (namesv)->sv_any)->xpv_cur), ((const char*)(0 + (namesv)->sv_u.svu_pv))) : (const char*) Perl_sv_2pv_flags ( namesv,&len,(2|32))); | |||
4545 | I32 i = 0; | |||
4546 | #line 4547 "APItest.c" | |||
4547 | #line 2828 "APItest.xs" | |||
4548 | switch (type) { | |||
4549 | case 0: | |||
4550 | i = whichsig(name)Perl_whichsig_pv( name); | |||
4551 | break; | |||
4552 | case 1: | |||
4553 | i = whichsig_sv(namesv)Perl_whichsig_sv( namesv); | |||
4554 | break; | |||
4555 | case 2: | |||
4556 | i = whichsig_pv(name)Perl_whichsig_pv( name); | |||
4557 | break; | |||
4558 | case 3: | |||
4559 | i = whichsig_pvn(name, len)Perl_whichsig_pvn( name,len); | |||
4560 | break; | |||
4561 | } | |||
4562 | XPUSHs(sv_2mortal(newSViv(i)))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( i))); } while (0); | |||
4563 | #line 4564 "APItest.c" | |||
4564 | PUTBACKPL_stack_sp = sp; | |||
4565 | return; | |||
4566 | } | |||
4567 | } | |||
4568 | ||||
4569 | ||||
4570 | XS_EUPXS(XS_XS__APItest_eval_sv)static void XS_XS__APItest_eval_sv( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4571 | XS_EUPXS(XS_XS__APItest_eval_sv)static void XS_XS__APItest_eval_sv( CV* cv __attribute__((unused ))) | |||
4572 | { | |||
4573 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4574 | if (items != 2) | |||
4575 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, flags"); | |||
4576 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4577 | SPsp -= items; | |||
4578 | { | |||
4579 | SV* sv = ST(0)PL_stack_base[ax + (0)] | |||
4580 | ; | |||
4581 | I32 flags = (I32)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)) | |||
4582 | ; | |||
4583 | #line 2849 "APItest.xs" | |||
4584 | I32 i; | |||
4585 | #line 4586 "APItest.c" | |||
4586 | #line 2851 "APItest.xs" | |||
4587 | PUTBACKPL_stack_sp = sp; | |||
4588 | i = eval_sv(sv, flags)Perl_eval_sv( sv,flags); | |||
4589 | SPAGAINsp = PL_stack_sp; | |||
4590 | EXTEND(SP, 1)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); | |||
4591 | PUSHs(sv_2mortal(newSViv(i)))(*++sp = (Perl_sv_2mortal( Perl_newSViv( i)))); | |||
4592 | #line 4593 "APItest.c" | |||
4593 | PUTBACKPL_stack_sp = sp; | |||
4594 | return; | |||
4595 | } | |||
4596 | } | |||
4597 | ||||
4598 | ||||
4599 | XS_EUPXS(XS_XS__APItest_eval_pv)static void XS_XS__APItest_eval_pv( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4600 | XS_EUPXS(XS_XS__APItest_eval_pv)static void XS_XS__APItest_eval_pv( CV* cv __attribute__((unused ))) | |||
4601 | { | |||
4602 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4603 | if (items != 2) | |||
4604 | croak_xs_usagePerl_croak_xs_usage(cv, "p, croak_on_error"); | |||
4605 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4606 | SPsp -= items; | |||
4607 | { | |||
4608 | const char* p = (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)) | |||
4609 | ; | |||
4610 | I32 croak_on_error = (I32)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)) | |||
4611 | ; | |||
4612 | #line 2862 "APItest.xs" | |||
4613 | PUTBACKPL_stack_sp = sp; | |||
4614 | EXTEND(SP, 1)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); | |||
4615 | PUSHs(eval_pv(p, croak_on_error))(*++sp = (Perl_eval_pv( p,croak_on_error))); | |||
4616 | #line 4617 "APItest.c" | |||
4617 | PUTBACKPL_stack_sp = sp; | |||
4618 | return; | |||
4619 | } | |||
4620 | } | |||
4621 | ||||
4622 | ||||
4623 | XS_EUPXS(XS_XS__APItest_require_pv)static void XS_XS__APItest_require_pv( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4624 | XS_EUPXS(XS_XS__APItest_require_pv)static void XS_XS__APItest_require_pv( CV* cv __attribute__(( unused))) | |||
4625 | { | |||
4626 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4627 | if (items != 1) | |||
4628 | croak_xs_usagePerl_croak_xs_usage(cv, "pv"); | |||
4629 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4630 | SPsp -= items; | |||
4631 | { | |||
4632 | const char* pv = (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)) | |||
4633 | ; | |||
4634 | #line 2870 "APItest.xs" | |||
4635 | PUTBACKPL_stack_sp = sp; | |||
4636 | require_pv(pv)Perl_require_pv( pv); | |||
4637 | #line 4638 "APItest.c" | |||
4638 | PUTBACKPL_stack_sp = sp; | |||
4639 | return; | |||
4640 | } | |||
4641 | } | |||
4642 | ||||
4643 | ||||
4644 | XS_EUPXS(XS_XS__APItest_apitest_exception)static void XS_XS__APItest_apitest_exception( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4645 | XS_EUPXS(XS_XS__APItest_apitest_exception)static void XS_XS__APItest_apitest_exception( CV* cv __attribute__ ((unused))) | |||
4646 | { | |||
4647 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4648 | if (items != 1) | |||
4649 | croak_xs_usagePerl_croak_xs_usage(cv, "throw_e"); | |||
4650 | { | |||
4651 | int throw_e = (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)) | |||
4652 | ; | |||
4653 | int RETVAL; | |||
4654 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
4655 | ||||
4656 | RETVAL = apitest_exception(throw_e); | |||
4657 | 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); | |||
4658 | } | |||
4659 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4660 | } | |||
4661 | ||||
4662 | ||||
4663 | XS_EUPXS(XS_XS__APItest_mycroak)static void XS_XS__APItest_mycroak( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4664 | XS_EUPXS(XS_XS__APItest_mycroak)static void XS_XS__APItest_mycroak( CV* cv __attribute__((unused ))) | |||
4665 | { | |||
4666 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4667 | if (items != 1) | |||
4668 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
4669 | { | |||
4670 | SV* sv = ST(0)PL_stack_base[ax + (0)] | |||
4671 | ; | |||
4672 | #line 2883 "APItest.xs" | |||
4673 | if (SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000))) { | |||
4674 | Perl_croak(aTHX_ "%s", SvPV_nolen(sv)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((sv)->sv_u.svu_pv) : Perl_sv_2pv_flags( sv,0,2))); | |||
4675 | } | |||
4676 | else { | |||
4677 | Perl_croak(aTHX_ NULL((void*)0)); | |||
4678 | } | |||
4679 | #line 4680 "APItest.c" | |||
4680 | } | |||
4681 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
4682 | } | |||
4683 | ||||
4684 | ||||
4685 | XS_EUPXS(XS_XS__APItest_strtab)static void XS_XS__APItest_strtab( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4686 | XS_EUPXS(XS_XS__APItest_strtab)static void XS_XS__APItest_strtab( CV* cv __attribute__((unused ))) | |||
4687 | { | |||
4688 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4689 | if (items != 0) | |||
4690 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
4691 | { | |||
4692 | SV * RETVAL; | |||
4693 | #line 2893 "APItest.xs" | |||
4694 | RETVAL = newRV_inc((SV*)PL_strtab)Perl_newRV( (SV*)PL_strtab); | |||
4695 | #line 4696 "APItest.c" | |||
4696 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
4697 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
4698 | } | |||
4699 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4700 | } | |||
4701 | ||||
4702 | ||||
4703 | XS_EUPXS(XS_XS__APItest_my_cxt_getint)static void XS_XS__APItest_my_cxt_getint( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4704 | XS_EUPXS(XS_XS__APItest_my_cxt_getint)static void XS_XS__APItest_my_cxt_getint( CV* cv __attribute__ ((unused))) | |||
4705 | { | |||
4706 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4707 | if (items != 0) | |||
4708 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
4709 | { | |||
4710 | int RETVAL; | |||
4711 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
4712 | #line 2900 "APItest.xs" | |||
4713 | dMY_CXTstruct Perl___notused_struct; | |||
4714 | RETVAL = my_cxt_getint_p(aMY_CXT); | |||
4715 | #line 4716 "APItest.c" | |||
4716 | 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); | |||
4717 | } | |||
4718 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4719 | } | |||
4720 | ||||
4721 | ||||
4722 | XS_EUPXS(XS_XS__APItest_my_cxt_setint)static void XS_XS__APItest_my_cxt_setint( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4723 | XS_EUPXS(XS_XS__APItest_my_cxt_setint)static void XS_XS__APItest_my_cxt_setint( CV* cv __attribute__ ((unused))) | |||
4724 | { | |||
4725 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4726 | if (items != 1) | |||
4727 | croak_xs_usagePerl_croak_xs_usage(cv, "i"); | |||
4728 | { | |||
4729 | int 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)) | |||
4730 | ; | |||
4731 | #line 2909 "APItest.xs" | |||
4732 | dMY_CXTstruct Perl___notused_struct; | |||
4733 | my_cxt_setint_p(aMY_CXT_ i); | |||
4734 | #line 4735 "APItest.c" | |||
4735 | } | |||
4736 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
4737 | } | |||
4738 | ||||
4739 | ||||
4740 | XS_EUPXS(XS_XS__APItest_my_cxt_getsv)static void XS_XS__APItest_my_cxt_getsv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4741 | XS_EUPXS(XS_XS__APItest_my_cxt_getsv)static void XS_XS__APItest_my_cxt_getsv( CV* cv __attribute__ ((unused))) | |||
4742 | { | |||
4743 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4744 | if (items != 1) | |||
4745 | croak_xs_usagePerl_croak_xs_usage(cv, "how"); | |||
4746 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4747 | SPsp -= items; | |||
4748 | { | |||
4749 | bool_Bool how = (bool_Bool)SvTRUE(ST(0))Perl_SvTRUE( PL_stack_base[ax + (0)]) | |||
4750 | ; | |||
4751 | #line 2916 "APItest.xs" | |||
4752 | EXTEND(SP, 1)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); | |||
4753 | ST(0)PL_stack_base[ax + (0)] = how ? my_cxt_getsv_interp_context() : my_cxt_getsv_interp(); | |||
4754 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4755 | #line 4756 "APItest.c" | |||
4756 | PUTBACKPL_stack_sp = sp; | |||
4757 | return; | |||
4758 | } | |||
4759 | } | |||
4760 | ||||
4761 | ||||
4762 | XS_EUPXS(XS_XS__APItest_my_cxt_setsv)static void XS_XS__APItest_my_cxt_setsv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4763 | XS_EUPXS(XS_XS__APItest_my_cxt_setsv)static void XS_XS__APItest_my_cxt_setsv( CV* cv __attribute__ ((unused))) | |||
4764 | { | |||
4765 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4766 | if (items != 1) | |||
4767 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
4768 | { | |||
4769 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
4770 | ; | |||
4771 | #line 2924 "APItest.xs" | |||
4772 | dMY_CXTstruct Perl___notused_struct; | |||
4773 | SvREFCNT_dec(MY_CXT.sv)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (my_cxt.sv); _p; }))); | |||
4774 | my_cxt_setsv_p(sv _aMY_CXT); | |||
4775 | SvREFCNT_inc(sv)Perl_SvREFCNT_inc(((SV *)({ void *_p = (sv); _p; }))); | |||
4776 | #line 4777 "APItest.c" | |||
4777 | } | |||
4778 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
4779 | } | |||
4780 | ||||
4781 | ||||
4782 | XS_EUPXS(XS_XS__APItest_sv_setsv_cow_hashkey_core)static void XS_XS__APItest_sv_setsv_cow_hashkey_core( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4783 | XS_EUPXS(XS_XS__APItest_sv_setsv_cow_hashkey_core)static void XS_XS__APItest_sv_setsv_cow_hashkey_core( CV* cv __attribute__ ((unused))) | |||
4784 | { | |||
4785 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4786 | if (items != 0) | |||
4787 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
4788 | { | |||
4789 | bool_Bool RETVAL; | |||
4790 | ||||
4791 | RETVAL = sv_setsv_cow_hashkey_core(); | |||
4792 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
4793 | } | |||
4794 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4795 | } | |||
4796 | ||||
4797 | ||||
4798 | XS_EUPXS(XS_XS__APItest_sv_setsv_cow_hashkey_notcore)static void XS_XS__APItest_sv_setsv_cow_hashkey_notcore( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4799 | XS_EUPXS(XS_XS__APItest_sv_setsv_cow_hashkey_notcore)static void XS_XS__APItest_sv_setsv_cow_hashkey_notcore( CV* cv __attribute__((unused))) | |||
4800 | { | |||
4801 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4802 | if (items != 0) | |||
4803 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
4804 | { | |||
4805 | bool_Bool RETVAL; | |||
4806 | ||||
4807 | RETVAL = sv_setsv_cow_hashkey_notcore(); | |||
4808 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
4809 | } | |||
4810 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4811 | } | |||
4812 | ||||
4813 | ||||
4814 | XS_EUPXS(XS_XS__APItest_sv_set_deref)static void XS_XS__APItest_sv_set_deref( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4815 | XS_EUPXS(XS_XS__APItest_sv_set_deref)static void XS_XS__APItest_sv_set_deref( CV* cv __attribute__ ((unused))) | |||
4816 | { | |||
4817 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4818 | if (items != 3) | |||
4819 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, sv2, which"); | |||
4820 | { | |||
4821 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
4822 | ; | |||
4823 | SV * sv2 = ST(1)PL_stack_base[ax + (1)] | |||
4824 | ; | |||
4825 | int which = (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)) | |||
4826 | ; | |||
4827 | #line 2938 "APItest.xs" | |||
4828 | { | |||
4829 | STRLEN len; | |||
4830 | const char *pv = SvPV(sv2,len)((((sv2)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (sv2)->sv_any)->xpv_cur), ((sv2)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( sv2,&len,2)); | |||
4831 | if (!SvROK(sv)((sv)->sv_flags & 0x00000800)) croakPerl_croak("Not a ref"); | |||
4832 | sv = SvRV(sv)((sv)->sv_u.svu_rv); | |||
4833 | switch (which) { | |||
4834 | case 0: sv_setsv(sv,sv2)Perl_sv_setsv_flags( sv,sv2,2|0); break; | |||
4835 | case 1: sv_setpv(sv,pv)Perl_sv_setpv( sv,pv); break; | |||
4836 | case 2: sv_setpvn(sv,pv,len)Perl_sv_setpvn( sv,pv,len); break; | |||
4837 | } | |||
4838 | } | |||
4839 | #line 4840 "APItest.c" | |||
4840 | } | |||
4841 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
4842 | } | |||
4843 | ||||
4844 | ||||
4845 | XS_EUPXS(XS_XS__APItest_rmagical_cast)static void XS_XS__APItest_rmagical_cast( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4846 | XS_EUPXS(XS_XS__APItest_rmagical_cast)static void XS_XS__APItest_rmagical_cast( CV* cv __attribute__ ((unused))) | |||
4847 | { | |||
4848 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4849 | if (items != 2) | |||
4850 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, type"); | |||
4851 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4852 | SPsp -= items; | |||
4853 | { | |||
4854 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
4855 | ; | |||
4856 | SV * type = ST(1)PL_stack_base[ax + (1)] | |||
4857 | ; | |||
4858 | #line 2955 "APItest.xs" | |||
4859 | struct ufuncs uf; | |||
4860 | #line 4861 "APItest.c" | |||
4861 | #line 2957 "APItest.xs" | |||
4862 | if (!SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000)) || !SvROK(sv)((sv)->sv_flags & 0x00000800) || !SvOK(type)((type)->sv_flags & (0x00000100|0x00000200|0x00000400| 0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000))) { XSRETURN_UNDEFdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[1])); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); } | |||
4863 | sv = SvRV(sv)((sv)->sv_u.svu_rv); | |||
4864 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) != SVt_PVHV) { XSRETURN_UNDEFdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[1])); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); } | |||
4865 | uf.uf_val = rmagical_a_dummy; | |||
4866 | uf.uf_set = NULL((void*)0); | |||
4867 | uf.uf_index = 0; | |||
4868 | if (SvTRUE(type)Perl_SvTRUE( type)) { /* b */ | |||
4869 | sv_magicext(sv, NULL, PERL_MAGIC_ext, &rmagical_b, NULL, 0)Perl_sv_magicext( sv,((void*)0),'~',&rmagical_b,((void*)0 ),0); | |||
4870 | } else { /* a */ | |||
4871 | sv_magic(sv, NULL, PERL_MAGIC_uvar, (char *) &uf, sizeof(uf))Perl_sv_magic( sv,((void*)0),'U',(char *) &uf,sizeof(uf)); | |||
4872 | } | |||
4873 | 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); | |||
4874 | #line 4875 "APItest.c" | |||
4875 | PUTBACKPL_stack_sp = sp; | |||
4876 | return; | |||
4877 | } | |||
4878 | } | |||
4879 | ||||
4880 | ||||
4881 | XS_EUPXS(XS_XS__APItest_rmagical_flags)static void XS_XS__APItest_rmagical_flags( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
4882 | XS_EUPXS(XS_XS__APItest_rmagical_flags)static void XS_XS__APItest_rmagical_flags( CV* cv __attribute__ ((unused))) | |||
4883 | { | |||
4884 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4885 | if (items != 1) | |||
4886 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
4887 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4888 | SPsp -= items; | |||
4889 | { | |||
4890 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
4891 | ; | |||
4892 | #line 2974 "APItest.xs" | |||
4893 | if (!SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000)) || !SvROK(sv)((sv)->sv_flags & 0x00000800)) { XSRETURN_UNDEFdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[1])); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); } | |||
4894 | sv = SvRV(sv)((sv)->sv_u.svu_rv); | |||
4895 | EXTEND(SP, 3)do { (void)0; if (__builtin_expect(((((3) < 0 || PL_stack_max - (sp) < (3))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(3) > sizeof(ssize_t) && ((ssize_t) (3) != (3)) ? -1 : (3))); ((void)sizeof(sp)); } } while (0); | |||
4896 | mXPUSHu(SvFLAGS(sv) & SVs_GMG)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_setuv ( (*++sp = (Perl_sv_newmortal())),(UV)((sv)->sv_flags & 0x00200000)); } while (0); | |||
4897 | mXPUSHu(SvFLAGS(sv) & SVs_SMG)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_setuv ( (*++sp = (Perl_sv_newmortal())),(UV)((sv)->sv_flags & 0x00400000)); } while (0); | |||
4898 | mXPUSHu(SvFLAGS(sv) & SVs_RMG)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_setuv ( (*++sp = (Perl_sv_newmortal())),(UV)((sv)->sv_flags & 0x00800000)); } while (0); | |||
4899 | XSRETURN(3)do { const IV tmpXSoff = (3); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4900 | #line 4901 "APItest.c" | |||
4901 | PUTBACKPL_stack_sp = sp; | |||
4902 | return; | |||
4903 | } | |||
4904 | } | |||
4905 | ||||
4906 | ||||
4907 | XS_EUPXS(XS_XS__APItest_my_caller)static void XS_XS__APItest_my_caller( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4908 | XS_EUPXS(XS_XS__APItest_my_caller)static void XS_XS__APItest_my_caller( CV* cv __attribute__((unused ))) | |||
4909 | { | |||
4910 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4911 | if (items != 1) | |||
4912 | croak_xs_usagePerl_croak_xs_usage(cv, "level"); | |||
4913 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4914 | SPsp -= items; | |||
4915 | { | |||
4916 | I32 level = (I32)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)) | |||
4917 | ; | |||
4918 | #line 2986 "APItest.xs" | |||
4919 | const PERL_CONTEXT *cx, *dbcx; | |||
4920 | const char *pv; | |||
4921 | const GV *gv; | |||
4922 | HV *hv; | |||
4923 | #line 4924 "APItest.c" | |||
4924 | #line 2991 "APItest.xs" | |||
4925 | cx = caller_cx(level, &dbcx)Perl_caller_cx( level,&dbcx); | |||
4926 | EXTEND(SP, 8)do { (void)0; if (__builtin_expect(((((8) < 0 || PL_stack_max - (sp) < (8))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(8) > sizeof(ssize_t) && ((ssize_t) (8) != (8)) ? -1 : (8))); ((void)sizeof(sp)); } } while (0); | |||
4927 | ||||
4928 | pv = CopSTASHPV(cx->blk_oldcop)(((cx->cx_u.cx_blk.blku_oldcop)->cop_stash) ? ((((((cx-> cx_u.cx_blk.blku_oldcop)->cop_stash))->sv_flags & 0x02000000 ) && ((struct xpvhv_aux*)&(((((cx->cx_u.cx_blk .blku_oldcop)->cop_stash))->sv_u.svu_hash)[((XPVHV*) (( (cx->cx_u.cx_blk.blku_oldcop)->cop_stash))->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_name && ( ((struct xpvhv_aux*)&(((((cx->cx_u.cx_blk.blku_oldcop)->cop_stash ))->sv_u.svu_hash)[((XPVHV*) (((cx->cx_u.cx_blk.blku_oldcop )->cop_stash))->sv_any)->xhv_max+1]))->xhv_name_count ? *((struct xpvhv_aux*)&(((((cx->cx_u.cx_blk.blku_oldcop )->cop_stash))->sv_u.svu_hash)[((XPVHV*) (((cx->cx_u .cx_blk.blku_oldcop)->cop_stash))->sv_any)->xhv_max+ 1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)& (((((cx->cx_u.cx_blk.blku_oldcop)->cop_stash))->sv_u .svu_hash)[((XPVHV*) (((cx->cx_u.cx_blk.blku_oldcop)->cop_stash ))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ) ) ? (( ((struct xpvhv_aux*)&(((((cx->cx_u.cx_blk.blku_oldcop )->cop_stash))->sv_u.svu_hash)[((XPVHV*) (((cx->cx_u .cx_blk.blku_oldcop)->cop_stash))->sv_any)->xhv_max+ 1]))->xhv_name_count ? *((struct xpvhv_aux*)&(((((cx-> cx_u.cx_blk.blku_oldcop)->cop_stash))->sv_u.svu_hash)[( (XPVHV*) (((cx->cx_u.cx_blk.blku_oldcop)->cop_stash))-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&(((((cx->cx_u.cx_blk.blku_oldcop)->cop_stash ))->sv_u.svu_hash)[((XPVHV*) (((cx->cx_u.cx_blk.blku_oldcop )->cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u .xhvnameu_name ))->hek_key : ((void*)0)) : ((void*)0)); | |||
4929 | ST(0)PL_stack_base[ax + (0)] = pv ? sv_2mortal(newSVpv(pv, 0))Perl_sv_2mortal( Perl_newSVpv( pv,0)) : &PL_sv_undef(PL_sv_immortals[1]); | |||
4930 | gv = CvGV(cx->blk_sub.cv)Perl_CvGV( (CV *)(cx->cx_u.cx_blk.blk_u.blku_sub.cv)); | |||
4931 | ST(1)PL_stack_base[ax + (1)] = isGV(gv)(((svtype)((gv)->sv_flags & 0xff)) == SVt_PVGV) ? sv_2mortal(newSVpv(GvNAME(gv), 0))Perl_sv_2mortal( Perl_newSVpv( ((((XPVGV*)(gv)->sv_any)-> xiv_u.xivu_namehek))->hek_key,0)) : &PL_sv_undef(PL_sv_immortals[1]); | |||
4932 | ||||
4933 | pv = CopSTASHPV(dbcx->blk_oldcop)(((dbcx->cx_u.cx_blk.blku_oldcop)->cop_stash) ? ((((((dbcx ->cx_u.cx_blk.blku_oldcop)->cop_stash))->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((((dbcx-> cx_u.cx_blk.blku_oldcop)->cop_stash))->sv_u.svu_hash)[( (XPVHV*) (((dbcx->cx_u.cx_blk.blku_oldcop)->cop_stash)) ->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ( ((struct xpvhv_aux*)&(((((dbcx->cx_u.cx_blk.blku_oldcop )->cop_stash))->sv_u.svu_hash)[((XPVHV*) (((dbcx->cx_u .cx_blk.blku_oldcop)->cop_stash))->sv_any)->xhv_max+ 1]))->xhv_name_count ? *((struct xpvhv_aux*)&(((((dbcx ->cx_u.cx_blk.blku_oldcop)->cop_stash))->sv_u.svu_hash )[((XPVHV*) (((dbcx->cx_u.cx_blk.blku_oldcop)->cop_stash ))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)&(((((dbcx->cx_u.cx_blk.blku_oldcop )->cop_stash))->sv_u.svu_hash)[((XPVHV*) (((dbcx->cx_u .cx_blk.blku_oldcop)->cop_stash))->sv_any)->xhv_max+ 1]))->xhv_name_u.xhvnameu_name )) ? (( ((struct xpvhv_aux* )&(((((dbcx->cx_u.cx_blk.blku_oldcop)->cop_stash))-> sv_u.svu_hash)[((XPVHV*) (((dbcx->cx_u.cx_blk.blku_oldcop) ->cop_stash))->sv_any)->xhv_max+1]))->xhv_name_count ? *((struct xpvhv_aux*)&(((((dbcx->cx_u.cx_blk.blku_oldcop )->cop_stash))->sv_u.svu_hash)[((XPVHV*) (((dbcx->cx_u .cx_blk.blku_oldcop)->cop_stash))->sv_any)->xhv_max+ 1]))->xhv_name_u.xhvnameu_names : ((struct xpvhv_aux*)& (((((dbcx->cx_u.cx_blk.blku_oldcop)->cop_stash))->sv_u .svu_hash)[((XPVHV*) (((dbcx->cx_u.cx_blk.blku_oldcop)-> cop_stash))->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))->hek_key : ((void*)0)) : ((void*)0)); | |||
4934 | ST(2)PL_stack_base[ax + (2)] = pv ? sv_2mortal(newSVpv(pv, 0))Perl_sv_2mortal( Perl_newSVpv( pv,0)) : &PL_sv_undef(PL_sv_immortals[1]); | |||
4935 | gv = CvGV(dbcx->blk_sub.cv)Perl_CvGV( (CV *)(dbcx->cx_u.cx_blk.blk_u.blku_sub.cv)); | |||
4936 | ST(3)PL_stack_base[ax + (3)] = isGV(gv)(((svtype)((gv)->sv_flags & 0xff)) == SVt_PVGV) ? sv_2mortal(newSVpv(GvNAME(gv), 0))Perl_sv_2mortal( Perl_newSVpv( ((((XPVGV*)(gv)->sv_any)-> xiv_u.xivu_namehek))->hek_key,0)) : &PL_sv_undef(PL_sv_immortals[1]); | |||
4937 | ||||
4938 | ST(4)PL_stack_base[ax + (4)] = cop_hints_fetch_pvs(cx->blk_oldcop, "foo", 0)Perl_refcounted_he_fetch_pvn( ((COPHH*)((cx->cx_u.cx_blk.blku_oldcop )->cop_hints_hash)), ("" "foo" ""), (sizeof("foo")-1), 0, 0 ); | |||
4939 | ST(5)PL_stack_base[ax + (5)] = cop_hints_fetch_pvn(cx->blk_oldcop, "foo", 3, 0, 0)Perl_refcounted_he_fetch_pvn( ((COPHH*)((cx->cx_u.cx_blk.blku_oldcop )->cop_hints_hash)), "foo", 3, 0, 0); | |||
4940 | ST(6)PL_stack_base[ax + (6)] = cop_hints_fetch_sv(cx->blk_oldcop,Perl_refcounted_he_fetch_sv( ((COPHH*)((cx->cx_u.cx_blk.blku_oldcop )->cop_hints_hash)), Perl_sv_2mortal( Perl_newSVpvn( ("" "foo" ""), (sizeof("foo")-1))), 0, 0) | |||
4941 | sv_2mortal(newSVpvs("foo")), 0, 0)Perl_refcounted_he_fetch_sv( ((COPHH*)((cx->cx_u.cx_blk.blku_oldcop )->cop_hints_hash)), Perl_sv_2mortal( Perl_newSVpvn( ("" "foo" ""), (sizeof("foo")-1))), 0, 0); | |||
4942 | ||||
4943 | hv = cop_hints_2hv(cx->blk_oldcop, 0)Perl_refcounted_he_chain_2hv( ((COPHH*)((cx->cx_u.cx_blk.blku_oldcop )->cop_hints_hash)), 0); | |||
4944 | ST(7)PL_stack_base[ax + (7)] = hv ? sv_2mortal(newRV_noinc((SV *)hv))Perl_sv_2mortal( Perl_newRV_noinc( (SV *)hv)) : &PL_sv_undef(PL_sv_immortals[1]); | |||
4945 | ||||
4946 | XSRETURN(8)do { const IV tmpXSoff = (8); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4947 | #line 4948 "APItest.c" | |||
4948 | PUTBACKPL_stack_sp = sp; | |||
4949 | return; | |||
4950 | } | |||
4951 | } | |||
4952 | ||||
4953 | ||||
4954 | XS_EUPXS(XS_XS__APItest_DPeek)static void XS_XS__APItest_DPeek( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4955 | XS_EUPXS(XS_XS__APItest_DPeek)static void XS_XS__APItest_DPeek( CV* cv __attribute__((unused ))) | |||
4956 | { | |||
4957 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4958 | if (items != 1) | |||
4959 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
4960 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
4961 | SPsp -= items; | |||
4962 | { | |||
4963 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
4964 | ; | |||
4965 | #line 3019 "APItest.xs" | |||
4966 | ST (0)PL_stack_base[ax + (0)] = newSVpv (Perl_sv_peek (aTHX_ sv), 0)Perl_newSVpv( Perl_sv_peek ( sv),0); | |||
4967 | XSRETURN (1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
4968 | #line 4969 "APItest.c" | |||
4969 | PUTBACKPL_stack_sp = sp; | |||
4970 | return; | |||
4971 | } | |||
4972 | } | |||
4973 | ||||
4974 | ||||
4975 | XS_EUPXS(XS_XS__APItest_BEGIN)static void XS_XS__APItest_BEGIN( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4976 | XS_EUPXS(XS_XS__APItest_BEGIN)static void XS_XS__APItest_BEGIN( CV* cv __attribute__((unused ))) | |||
4977 | { | |||
4978 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4979 | if (items != 0) | |||
4980 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
4981 | { | |||
4982 | #line 3025 "APItest.xs" | |||
4983 | sv_inc(get_sv("XS::APItest::BEGIN_called", GV_ADD|GV_ADDMULTI))Perl_sv_inc( Perl_get_sv( "XS::APItest::BEGIN_called",0x01|0x02 )); | |||
4984 | #line 4985 "APItest.c" | |||
4985 | } | |||
4986 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
4987 | } | |||
4988 | ||||
4989 | ||||
4990 | XS_EUPXS(XS_XS__APItest_CHECK)static void XS_XS__APItest_CHECK( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
4991 | XS_EUPXS(XS_XS__APItest_CHECK)static void XS_XS__APItest_CHECK( CV* cv __attribute__((unused ))) | |||
4992 | { | |||
4993 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
4994 | if (items != 0) | |||
4995 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
4996 | { | |||
4997 | #line 3030 "APItest.xs" | |||
4998 | sv_inc(get_sv("XS::APItest::CHECK_called", GV_ADD|GV_ADDMULTI))Perl_sv_inc( Perl_get_sv( "XS::APItest::CHECK_called",0x01|0x02 )); | |||
4999 | #line 5000 "APItest.c" | |||
5000 | } | |||
5001 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5002 | } | |||
5003 | ||||
5004 | ||||
5005 | XS_EUPXS(XS_XS__APItest_UNITCHECK)static void XS_XS__APItest_UNITCHECK( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
5006 | XS_EUPXS(XS_XS__APItest_UNITCHECK)static void XS_XS__APItest_UNITCHECK( CV* cv __attribute__((unused ))) | |||
5007 | { | |||
5008 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5009 | if (items != 0) | |||
5010 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5011 | { | |||
5012 | #line 3035 "APItest.xs" | |||
5013 | sv_inc(get_sv("XS::APItest::UNITCHECK_called", GV_ADD|GV_ADDMULTI))Perl_sv_inc( Perl_get_sv( "XS::APItest::UNITCHECK_called",0x01 |0x02)); | |||
5014 | #line 5015 "APItest.c" | |||
5015 | } | |||
5016 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5017 | } | |||
5018 | ||||
5019 | ||||
5020 | XS_EUPXS(XS_XS__APItest_INIT)static void XS_XS__APItest_INIT( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
5021 | XS_EUPXS(XS_XS__APItest_INIT)static void XS_XS__APItest_INIT( CV* cv __attribute__((unused ))) | |||
5022 | { | |||
5023 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5024 | if (items != 0) | |||
5025 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5026 | { | |||
5027 | #line 3040 "APItest.xs" | |||
5028 | sv_inc(get_sv("XS::APItest::INIT_called", GV_ADD|GV_ADDMULTI))Perl_sv_inc( Perl_get_sv( "XS::APItest::INIT_called",0x01|0x02 )); | |||
5029 | #line 5030 "APItest.c" | |||
5030 | } | |||
5031 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5032 | } | |||
5033 | ||||
5034 | ||||
5035 | XS_EUPXS(XS_XS__APItest_END)static void XS_XS__APItest_END( CV* cv __attribute__((unused) )); /* prototype to pass -Wmissing-prototypes */ | |||
5036 | XS_EUPXS(XS_XS__APItest_END)static void XS_XS__APItest_END( CV* cv __attribute__((unused) )) | |||
5037 | { | |||
5038 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5039 | if (items != 0) | |||
5040 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5041 | { | |||
5042 | #line 3045 "APItest.xs" | |||
5043 | sv_inc(get_sv("XS::APItest::END_called", GV_ADD|GV_ADDMULTI))Perl_sv_inc( Perl_get_sv( "XS::APItest::END_called",0x01|0x02 )); | |||
5044 | #line 5045 "APItest.c" | |||
5045 | } | |||
5046 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5047 | } | |||
5048 | ||||
5049 | ||||
5050 | XS_EUPXS(XS_XS__APItest_utf16_to_utf8)static void XS_XS__APItest_utf16_to_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5051 | XS_EUPXS(XS_XS__APItest_utf16_to_utf8)static void XS_XS__APItest_utf16_to_utf8( CV* cv __attribute__ ((unused))) | |||
5052 | { | |||
5053 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5054 | dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_start_u.xcv_xsubany.any_i32; | |||
5055 | if (items < 1) | |||
5056 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, ..."); | |||
5057 | { | |||
5058 | SV* sv = ST(0)PL_stack_base[ax + (0)] | |||
5059 | ; | |||
5060 | #line 3053 "APItest.xs" | |||
5061 | STRLEN len; | |||
5062 | U8 *source; | |||
5063 | SV *dest; | |||
5064 | Size_tsize_t got; | |||
5065 | #line 5066 "APItest.c" | |||
5066 | #line 3058 "APItest.xs" | |||
5067 | if (ix) (void)SvPV_force_nolen(sv)((((sv)->sv_flags & (0x00000400|0x00000100|0x00000200| 0x00000800|0x00008000|(0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000|0x10000000)|0x00200000)) == 0x00000400) ? ((sv)-> sv_u.svu_pv) : Perl_sv_pvn_force_flags( sv,0,2)); | |||
5068 | source = (U8 *)SvPVbyte(sv, len)((((sv)->sv_flags & (0x00000400|0x20000000|0x00200000) ) == 0x00000400) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur ), ((sv)->sv_u.svu_pv)) : Perl_sv_2pvbyte_flags( sv,&len ,2)); | |||
5069 | /* Optionally only convert part of the buffer. */ | |||
5070 | if (items > 1) { | |||
5071 | len = SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)); | |||
5072 | } | |||
5073 | /* Mortalise this right now, as we'll be testing croak()s */ | |||
5074 | dest = sv_2mortal(newSV(len * 2 + 1))Perl_sv_2mortal( Perl_newSV( len * 2 + 1)); | |||
5075 | if (ix) { | |||
5076 | utf16_to_utf8_reversed(source, (U8 *)SvPVX(dest), len, &got)Perl_utf16_to_utf8_reversed( source,(U8 *)((dest)->sv_u.svu_pv ),len,&got); | |||
5077 | } else { | |||
5078 | utf16_to_utf8(source, (U8 *)SvPVX(dest), len, &got)Perl_utf16_to_utf8( source,(U8 *)((dest)->sv_u.svu_pv),len ,&got); | |||
5079 | } | |||
5080 | SvCUR_set(dest, got)do { ((void)0); ((void)0); ((void)0); (((XPV*) (dest)->sv_any )->xpv_cur = (got)); } while (0); | |||
5081 | SvPVX(dest)((dest)->sv_u.svu_pv)[got] = '\0'; | |||
5082 | SvPOK_on(dest)( (dest)->sv_flags |= (0x00000400|0x00004000)); | |||
5083 | ST(0)PL_stack_base[ax + (0)] = dest; | |||
5084 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
5085 | #line 5086 "APItest.c" | |||
5086 | } | |||
5087 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
5088 | } | |||
5089 | ||||
5090 | ||||
5091 | XS_EUPXS(XS_XS__APItest_my_exit)static void XS_XS__APItest_my_exit( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
5092 | XS_EUPXS(XS_XS__APItest_my_exit)static void XS_XS__APItest_my_exit( CV* cv __attribute__((unused ))) | |||
5093 | { | |||
5094 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5095 | if (items != 1) | |||
5096 | croak_xs_usagePerl_croak_xs_usage(cv, "exitcode"); | |||
5097 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
5098 | SPsp -= items; | |||
5099 | { | |||
5100 | int exitcode = (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)) | |||
5101 | ; | |||
5102 | #line 3080 "APItest.xs" | |||
5103 | my_exit(exitcode)Perl_my_exit( exitcode); | |||
5104 | #line 5105 "APItest.c" | |||
5105 | PUTBACKPL_stack_sp = sp; | |||
5106 | return; | |||
5107 | } | |||
5108 | } | |||
5109 | ||||
5110 | ||||
5111 | XS_EUPXS(XS_XS__APItest_first_byte)static void XS_XS__APItest_first_byte( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5112 | XS_EUPXS(XS_XS__APItest_first_byte)static void XS_XS__APItest_first_byte( CV* cv __attribute__(( unused))) | |||
5113 | { | |||
5114 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5115 | if (items != 1) | |||
5116 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
5117 | { | |||
5118 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
5119 | ; | |||
5120 | U8 RETVAL; | |||
5121 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
5122 | #line 3086 "APItest.xs" | |||
5123 | char *s; | |||
5124 | STRLEN len; | |||
5125 | s = SvPVbyte(sv, len)((((sv)->sv_flags & (0x00000400|0x20000000|0x00200000) ) == 0x00000400) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur ), ((sv)->sv_u.svu_pv)) : Perl_sv_2pvbyte_flags( sv,&len ,2)); | |||
5126 | RETVAL = s[0]; | |||
5127 | #line 5128 "APItest.c" | |||
5128 | 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); | |||
5129 | } | |||
5130 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
5131 | } | |||
5132 | ||||
5133 | ||||
5134 | XS_EUPXS(XS_XS__APItest_sv_count)static void XS_XS__APItest_sv_count( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
5135 | XS_EUPXS(XS_XS__APItest_sv_count)static void XS_XS__APItest_sv_count( CV* cv __attribute__((unused ))) | |||
5136 | { | |||
5137 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5138 | if (items != 0) | |||
5139 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5140 | { | |||
5141 | I32 RETVAL; | |||
5142 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
5143 | #line 3096 "APItest.xs" | |||
5144 | RETVAL = PL_sv_count; | |||
5145 | #line 5146 "APItest.c" | |||
5146 | 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); | |||
5147 | } | |||
5148 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
5149 | } | |||
5150 | ||||
5151 | ||||
5152 | XS_EUPXS(XS_XS__APItest_bhk_record)static void XS_XS__APItest_bhk_record( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5153 | XS_EUPXS(XS_XS__APItest_bhk_record)static void XS_XS__APItest_bhk_record( CV* cv __attribute__(( unused))) | |||
5154 | { | |||
5155 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5156 | if (items != 1) | |||
5157 | croak_xs_usagePerl_croak_xs_usage(cv, "on"); | |||
5158 | { | |||
5159 | bool_Bool on = (bool_Bool)SvTRUE(ST(0))Perl_SvTRUE( PL_stack_base[ax + (0)]) | |||
5160 | ; | |||
5161 | #line 3103 "APItest.xs" | |||
5162 | dMY_CXTstruct Perl___notused_struct; | |||
5163 | MY_CXTmy_cxt.bhk_record = on; | |||
5164 | if (on) | |||
5165 | av_clear(MY_CXT.bhkav)Perl_av_clear( my_cxt.bhkav); | |||
5166 | #line 5167 "APItest.c" | |||
5167 | } | |||
5168 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5169 | } | |||
5170 | ||||
5171 | ||||
5172 | XS_EUPXS(XS_XS__APItest_test_magic_chain)static void XS_XS__APItest_test_magic_chain( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5173 | XS_EUPXS(XS_XS__APItest_test_magic_chain)static void XS_XS__APItest_test_magic_chain( CV* cv __attribute__ ((unused))) | |||
5174 | { | |||
5175 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5176 | if (items != 0) | |||
5177 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5178 | { | |||
5179 | #line 3111 "APItest.xs" | |||
5180 | SV *sv; | |||
5181 | MAGIC *callmg, *uvarmg; | |||
5182 | #line 5183 "APItest.c" | |||
5183 | #line 3114 "APItest.xs" | |||
5184 | sv = sv_2mortal(newSV(0))Perl_sv_2mortal( Perl_newSV( 0)); | |||
5185 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) >= SVt_PVMG) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3115); | |||
5186 | if (SvMAGICAL(sv)((sv)->sv_flags & (0x00200000|0x00400000|0x00800000))) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3116); | |||
5187 | sv_magic(sv, &PL_sv_yes, PERL_MAGIC_checkcall, (char*)&callmg, 0)Perl_sv_magic( sv,&(PL_sv_immortals[0]),']',(char*)&callmg ,0); | |||
5188 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) < SVt_PVMG) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3118); | |||
5189 | if (!SvMAGICAL(sv)((sv)->sv_flags & (0x00200000|0x00400000|0x00800000))) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3119); | |||
5190 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_uvar'U')) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3120); | |||
5191 | callmg = mg_findPerl_mg_find(sv, PERL_MAGIC_checkcall']'); | |||
5192 | if (!callmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3122); | |||
5193 | if (callmg->mg_obj != &PL_sv_yes(PL_sv_immortals[0]) || callmg->mg_ptr != (char*)&callmg) | |||
5194 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3124); | |||
5195 | sv_magic(sv, &PL_sv_no, PERL_MAGIC_uvar, (char*)&uvarmg, 0)Perl_sv_magic( sv,&(PL_sv_immortals[2]),'U',(char*)&uvarmg ,0); | |||
5196 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) < SVt_PVMG) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3126); | |||
5197 | if (!SvMAGICAL(sv)((sv)->sv_flags & (0x00200000|0x00400000|0x00800000))) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3127); | |||
5198 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_checkcall']') != callmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3128); | |||
5199 | uvarmg = mg_findPerl_mg_find(sv, PERL_MAGIC_uvar'U'); | |||
5200 | if (!uvarmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3130); | |||
5201 | if (callmg->mg_obj != &PL_sv_yes(PL_sv_immortals[0]) || callmg->mg_ptr != (char*)&callmg) | |||
5202 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3132); | |||
5203 | if (uvarmg->mg_obj != &PL_sv_no(PL_sv_immortals[2]) || uvarmg->mg_ptr != (char*)&uvarmg) | |||
5204 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3134); | |||
5205 | mg_free_type(sv, PERL_MAGIC_vec)Perl_mg_free_type( sv,'v'); | |||
5206 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) < SVt_PVMG) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3136); | |||
5207 | if (!SvMAGICAL(sv)((sv)->sv_flags & (0x00200000|0x00400000|0x00800000))) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3137); | |||
5208 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_checkcall']') != callmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3138); | |||
5209 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_uvar'U') != uvarmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3139); | |||
5210 | if (callmg->mg_obj != &PL_sv_yes(PL_sv_immortals[0]) || callmg->mg_ptr != (char*)&callmg) | |||
5211 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3141); | |||
5212 | if (uvarmg->mg_obj != &PL_sv_no(PL_sv_immortals[2]) || uvarmg->mg_ptr != (char*)&uvarmg) | |||
5213 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3143); | |||
5214 | mg_free_type(sv, PERL_MAGIC_uvar)Perl_mg_free_type( sv,'U'); | |||
5215 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) < SVt_PVMG) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3145); | |||
5216 | if (!SvMAGICAL(sv)((sv)->sv_flags & (0x00200000|0x00400000|0x00800000))) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3146); | |||
5217 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_checkcall']') != callmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3147); | |||
5218 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_uvar'U')) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3148); | |||
5219 | if (callmg->mg_obj != &PL_sv_yes(PL_sv_immortals[0]) || callmg->mg_ptr != (char*)&callmg) | |||
5220 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3150); | |||
5221 | sv_magic(sv, &PL_sv_no, PERL_MAGIC_uvar, (char*)&uvarmg, 0)Perl_sv_magic( sv,&(PL_sv_immortals[2]),'U',(char*)&uvarmg ,0); | |||
5222 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) < SVt_PVMG) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3152); | |||
5223 | if (!SvMAGICAL(sv)((sv)->sv_flags & (0x00200000|0x00400000|0x00800000))) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3153); | |||
5224 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_checkcall']') != callmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3154); | |||
5225 | uvarmg = mg_findPerl_mg_find(sv, PERL_MAGIC_uvar'U'); | |||
5226 | if (!uvarmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3156); | |||
5227 | if (callmg->mg_obj != &PL_sv_yes(PL_sv_immortals[0]) || callmg->mg_ptr != (char*)&callmg) | |||
5228 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3158); | |||
5229 | if (uvarmg->mg_obj != &PL_sv_no(PL_sv_immortals[2]) || uvarmg->mg_ptr != (char*)&uvarmg) | |||
5230 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3160); | |||
5231 | mg_free_type(sv, PERL_MAGIC_checkcall)Perl_mg_free_type( sv,']'); | |||
5232 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) < SVt_PVMG) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3162); | |||
5233 | if (!SvMAGICAL(sv)((sv)->sv_flags & (0x00200000|0x00400000|0x00800000))) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3163); | |||
5234 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_uvar'U') != uvarmg) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3164); | |||
5235 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_checkcall']')) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3165); | |||
5236 | if (uvarmg->mg_obj != &PL_sv_no(PL_sv_immortals[2]) || uvarmg->mg_ptr != (char*)&uvarmg) | |||
5237 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3167); | |||
5238 | mg_free_type(sv, PERL_MAGIC_uvar)Perl_mg_free_type( sv,'U'); | |||
5239 | if (SvMAGICAL(sv)((sv)->sv_flags & (0x00200000|0x00400000|0x00800000))) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3169); | |||
5240 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_checkcall']')) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3170); | |||
5241 | if (mg_findPerl_mg_find(sv, PERL_MAGIC_uvar'U')) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3171); | |||
5242 | #line 5243 "APItest.c" | |||
5243 | } | |||
5244 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5245 | } | |||
5246 | ||||
5247 | ||||
5248 | XS_EUPXS(XS_XS__APItest_test_op_contextualize)static void XS_XS__APItest_test_op_contextualize( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5249 | XS_EUPXS(XS_XS__APItest_test_op_contextualize)static void XS_XS__APItest_test_op_contextualize( CV* cv __attribute__ ((unused))) | |||
5250 | { | |||
5251 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5252 | if (items != 0) | |||
5253 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5254 | { | |||
5255 | #line 3176 "APItest.xs" | |||
5256 | OP *o; | |||
5257 | #line 5258 "APItest.c" | |||
5258 | #line 3178 "APItest.xs" | |||
5259 | o = newSVOP(OP_CONST, 0, newSViv(0))Perl_newSVOP( OP_CONST,0,Perl_newSViv( 0)); | |||
5260 | o->op_flags &= ~OPf_WANT3; | |||
5261 | o = op_contextualize(o, G_SCALAR)Perl_op_contextualize( o,2); | |||
5262 | if (o->op_type != OP_CONST || | |||
5263 | (o->op_flags & OPf_WANT3) != OPf_WANT_SCALAR2) | |||
5264 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3183); | |||
5265 | op_free(o)Perl_op_free( o); | |||
5266 | o = newSVOP(OP_CONST, 0, newSViv(0))Perl_newSVOP( OP_CONST,0,Perl_newSViv( 0)); | |||
5267 | o->op_flags &= ~OPf_WANT3; | |||
5268 | o = op_contextualize(o, G_ARRAY)Perl_op_contextualize( o,3); | |||
5269 | if (o->op_type != OP_CONST || | |||
5270 | (o->op_flags & OPf_WANT3) != OPf_WANT_LIST3) | |||
5271 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3190); | |||
5272 | op_free(o)Perl_op_free( o); | |||
5273 | o = newSVOP(OP_CONST, 0, newSViv(0))Perl_newSVOP( OP_CONST,0,Perl_newSViv( 0)); | |||
5274 | o->op_flags &= ~OPf_WANT3; | |||
5275 | o = op_contextualize(o, G_VOID)Perl_op_contextualize( o,1); | |||
5276 | if (o->op_type != OP_NULL) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3195); | |||
5277 | op_free(o)Perl_op_free( o); | |||
5278 | #line 5279 "APItest.c" | |||
5279 | } | |||
5280 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5281 | } | |||
5282 | ||||
5283 | ||||
5284 | XS_EUPXS(XS_XS__APItest_test_rv2cv_op_cv)static void XS_XS__APItest_test_rv2cv_op_cv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5285 | XS_EUPXS(XS_XS__APItest_test_rv2cv_op_cv)static void XS_XS__APItest_test_rv2cv_op_cv( CV* cv __attribute__ ((unused))) | |||
5286 | { | |||
5287 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5288 | if (items != 0) | |||
5289 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5290 | { | |||
5291 | #line 3202 "APItest.xs" | |||
5292 | GV *troc_gv; | |||
5293 | CV *troc_cv; | |||
5294 | OP *o; | |||
5295 | #line 5296 "APItest.c" | |||
5296 | #line 3206 "APItest.xs" | |||
5297 | troc_gv = gv_fetchpv("XS::APItest::test_rv2cv_op_cv", 0, SVt_PVGV)Perl_gv_fetchpv( "XS::APItest::test_rv2cv_op_cv",0,SVt_PVGV); | |||
5298 | troc_cv = get_cv("XS::APItest::test_rv2cv_op_cv", 0)Perl_get_cv( "XS::APItest::test_rv2cv_op_cv",0); | |||
5299 | o = newCVREF(0, newGVOP(OP_GV, 0, troc_gv))Perl_newCVREF( 0,Perl_newGVOP( OP_GV,0,troc_gv)); | |||
5300 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0) != troc_cv) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3209); | |||
5301 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002) != (CV*)troc_gv) | |||
5302 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3211); | |||
5303 | o->op_private |= OPpENTERSUB_AMPER0x08; | |||
5304 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3213); | |||
5305 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3214); | |||
5306 | o->op_private &= ~OPpENTERSUB_AMPER0x08; | |||
5307 | if (cUNOPx(o)((UNOP*)(o))->op_first->op_private & OPpEARLY_CV0x20) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3216); | |||
5308 | if (rv2cv_op_cv(o, RV2CVOPCV_MARK_EARLY)Perl_rv2cv_op_cv( o,0x00000001) != troc_cv) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3217); | |||
5309 | if (cUNOPx(o)((UNOP*)(o))->op_first->op_private & OPpEARLY_CV0x20) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3218); | |||
5310 | op_free(o)Perl_op_free( o); | |||
5311 | o = newSVOP(OP_CONST, 0, newSVpv("XS::APItest::test_rv2cv_op_cv", 0))Perl_newSVOP( OP_CONST,0,Perl_newSVpv( "XS::APItest::test_rv2cv_op_cv" ,0)); | |||
5312 | o->op_private = OPpCONST_BARE0x40; | |||
5313 | o = newCVREF(0, o)Perl_newCVREF( 0,o); | |||
5314 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0) != troc_cv) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3223); | |||
5315 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002) != (CV*)troc_gv) | |||
5316 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3225); | |||
5317 | o->op_private |= OPpENTERSUB_AMPER0x08; | |||
5318 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3227); | |||
5319 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3228); | |||
5320 | op_free(o)Perl_op_free( o); | |||
5321 | o = newCVREF(0, newSVOP(OP_CONST, 0, newRV_inc((SV*)troc_cv)))Perl_newCVREF( 0,Perl_newSVOP( OP_CONST,0,Perl_newRV( (SV*)troc_cv ))); | |||
5322 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0) != troc_cv) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3231); | |||
5323 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002) != (CV*)troc_gv) | |||
5324 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3233); | |||
5325 | o->op_private |= OPpENTERSUB_AMPER0x08; | |||
5326 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3235); | |||
5327 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3236); | |||
5328 | o->op_private &= ~OPpENTERSUB_AMPER0x08; | |||
5329 | if (cUNOPx(o)((UNOP*)(o))->op_first->op_private & OPpEARLY_CV0x20) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3238); | |||
5330 | if (rv2cv_op_cv(o, RV2CVOPCV_MARK_EARLY)Perl_rv2cv_op_cv( o,0x00000001) != troc_cv) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3239); | |||
5331 | if (cUNOPx(o)((UNOP*)(o))->op_first->op_private & OPpEARLY_CV0x20) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3240); | |||
5332 | op_free(o)Perl_op_free( o); | |||
5333 | o = newCVREF(0, newUNOP(OP_RAND, 0, newSVOP(OP_CONST, 0, newSViv(0))))Perl_newCVREF( 0,Perl_newUNOP( OP_RAND,0,Perl_newSVOP( OP_CONST ,0,Perl_newSViv( 0)))); | |||
5334 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3243); | |||
5335 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3244); | |||
5336 | o->op_private |= OPpENTERSUB_AMPER0x08; | |||
5337 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3246); | |||
5338 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3247); | |||
5339 | o->op_private &= ~OPpENTERSUB_AMPER0x08; | |||
5340 | if (cUNOPx(o)((UNOP*)(o))->op_first->op_private & OPpEARLY_CV0x20) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3249); | |||
5341 | if (rv2cv_op_cv(o, RV2CVOPCV_MARK_EARLY)Perl_rv2cv_op_cv( o,0x00000001)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3250); | |||
5342 | if (cUNOPx(o)((UNOP*)(o))->op_first->op_private & OPpEARLY_CV0x20) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3251); | |||
5343 | op_free(o)Perl_op_free( o); | |||
5344 | o = newUNOP(OP_RAND, 0, newSVOP(OP_CONST, 0, newSViv(0)))Perl_newUNOP( OP_RAND,0,Perl_newSVOP( OP_CONST,0,Perl_newSViv ( 0))); | |||
5345 | if (rv2cv_op_cv(o, 0)Perl_rv2cv_op_cv( o,0)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3254); | |||
5346 | if (rv2cv_op_cv(o, RV2CVOPCV_RETURN_NAME_GV)Perl_rv2cv_op_cv( o,0x00000002)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3255); | |||
5347 | op_free(o)Perl_op_free( o); | |||
5348 | #line 5349 "APItest.c" | |||
5349 | } | |||
5350 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5351 | } | |||
5352 | ||||
5353 | ||||
5354 | XS_EUPXS(XS_XS__APItest_test_cv_getset_call_checker)static void XS_XS__APItest_test_cv_getset_call_checker( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5355 | XS_EUPXS(XS_XS__APItest_test_cv_getset_call_checker)static void XS_XS__APItest_test_cv_getset_call_checker( CV* cv __attribute__((unused))) | |||
5356 | { | |||
5357 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5358 | if (items != 0) | |||
5359 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5360 | { | |||
5361 | #line 3261 "APItest.xs" | |||
5362 | CV *troc_cv, *tsh_cv; | |||
5363 | Perl_call_checker ckfun; | |||
5364 | SV *ckobj; | |||
5365 | U32 ckflags; | |||
5366 | #line 5367 "APItest.c" | |||
5367 | #line 3266 "APItest.xs" | |||
5368 | #define check_cc(cv, xckfun, xckobj, xckflags) \ | |||
5369 | do { \ | |||
5370 | cv_get_call_checker((cv), &ckfun, &ckobj)Perl_cv_get_call_checker( (cv),&ckfun,&ckobj); \ | |||
5371 | if (ckfun != (xckfun)) croak_fail_nep(FPTR2DPTR(void *, ckfun), xckfun)Perl_croak("fail %p!=%p at " "APItest.xs" " line %d", (((void *)(UV)(ckfun))), (xckfun), 3269); \ | |||
5372 | if (ckobj != (xckobj)) croak_fail_nep(FPTR2DPTR(void *, ckobj), xckobj)Perl_croak("fail %p!=%p at " "APItest.xs" " line %d", (((void *)(UV)(ckobj))), (xckobj), 3270); \ | |||
5373 | cv_get_call_checker_flags((cv), CALL_CHECKER_REQUIRE_GV, &ckfun, &ckobj, &ckflags)Perl_cv_get_call_checker_flags( (cv),1,&ckfun,&ckobj, &ckflags); \ | |||
5374 | if (ckfun != (xckfun)) croak_fail_nep(FPTR2DPTR(void *, ckfun), xckfun)Perl_croak("fail %p!=%p at " "APItest.xs" " line %d", (((void *)(UV)(ckfun))), (xckfun), 3272); \ | |||
5375 | if (ckobj != (xckobj)) croak_fail_nep(FPTR2DPTR(void *, ckobj), xckobj)Perl_croak("fail %p!=%p at " "APItest.xs" " line %d", (((void *)(UV)(ckobj))), (xckobj), 3273); \ | |||
5376 | if (ckflags != CALL_CHECKER_REQUIRE_GV1) croak_fail_nei(ckflags, CALL_CHECKER_REQUIRE_GV)Perl_croak("fail %d!=%d at " "APItest.xs" " line %d", (int)(ckflags ), (int)(1), 3274); \ | |||
5377 | cv_get_call_checker_flags((cv), 0, &ckfun, &ckobj, &ckflags)Perl_cv_get_call_checker_flags( (cv),0,&ckfun,&ckobj, &ckflags); \ | |||
5378 | if (ckfun != (xckfun)) croak_fail_nep(FPTR2DPTR(void *, ckfun), xckfun)Perl_croak("fail %p!=%p at " "APItest.xs" " line %d", (((void *)(UV)(ckfun))), (xckfun), 3276); \ | |||
5379 | if (ckobj != (xckobj)) croak_fail_nep(FPTR2DPTR(void *, ckobj), xckobj)Perl_croak("fail %p!=%p at " "APItest.xs" " line %d", (((void *)(UV)(ckobj))), (xckobj), 3277); \ | |||
5380 | if (ckflags != (xckflags)) croak_fail_nei(ckflags, (xckflags))Perl_croak("fail %d!=%d at " "APItest.xs" " line %d", (int)(ckflags ), (int)((xckflags)), 3278); \ | |||
5381 | } while(0) | |||
5382 | troc_cv = get_cv("XS::APItest::test_rv2cv_op_cv", 0)Perl_get_cv( "XS::APItest::test_rv2cv_op_cv",0); | |||
5383 | tsh_cv = get_cv("XS::APItest::test_savehints", 0)Perl_get_cv( "XS::APItest::test_savehints",0); | |||
5384 | check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv, 0); | |||
5385 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0); | |||
5386 | cv_set_call_checker(tsh_cv, Perl_ck_entersub_args_proto_or_list,Perl_cv_set_call_checker( tsh_cv,Perl_ck_entersub_args_proto_or_list ,&(PL_sv_immortals[0])) | |||
5387 | &PL_sv_yes)Perl_cv_set_call_checker( tsh_cv,Perl_ck_entersub_args_proto_or_list ,&(PL_sv_immortals[0])); | |||
5388 | check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv, 0); | |||
5389 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes(PL_sv_immortals[0]), CALL_CHECKER_REQUIRE_GV1); | |||
5390 | cv_set_call_checker(troc_cv, THX_ck_entersub_args_scalars, &PL_sv_no)Perl_cv_set_call_checker( troc_cv,THX_ck_entersub_args_scalars ,&(PL_sv_immortals[2])); | |||
5391 | check_cc(troc_cv, THX_ck_entersub_args_scalars, &PL_sv_no(PL_sv_immortals[2]), CALL_CHECKER_REQUIRE_GV1); | |||
5392 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes(PL_sv_immortals[0]), CALL_CHECKER_REQUIRE_GV1); | |||
5393 | cv_set_call_checker(tsh_cv, Perl_ck_entersub_args_proto_or_list,Perl_cv_set_call_checker( tsh_cv,Perl_ck_entersub_args_proto_or_list ,(SV*)tsh_cv) | |||
5394 | (SV*)tsh_cv)Perl_cv_set_call_checker( tsh_cv,Perl_ck_entersub_args_proto_or_list ,(SV*)tsh_cv); | |||
5395 | check_cc(troc_cv, THX_ck_entersub_args_scalars, &PL_sv_no(PL_sv_immortals[2]), CALL_CHECKER_REQUIRE_GV1); | |||
5396 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0); | |||
5397 | cv_set_call_checker(troc_cv, Perl_ck_entersub_args_proto_or_list,Perl_cv_set_call_checker( troc_cv,Perl_ck_entersub_args_proto_or_list ,(SV*)troc_cv) | |||
5398 | (SV*)troc_cv)Perl_cv_set_call_checker( troc_cv,Perl_ck_entersub_args_proto_or_list ,(SV*)troc_cv); | |||
5399 | check_cc(troc_cv, Perl_ck_entersub_args_proto_or_list, (SV*)troc_cv, 0); | |||
5400 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0); | |||
5401 | if (SvMAGICAL((SV*)troc_cv)(((SV*)troc_cv)->sv_flags & (0x00200000|0x00400000|0x00800000 )) || SvMAGIC((SV*)troc_cv)((XPVMG*) ((SV*)troc_cv)->sv_any)->xmg_u.xmg_magic) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3299); | |||
5402 | if (SvMAGICAL((SV*)tsh_cv)(((SV*)tsh_cv)->sv_flags & (0x00200000|0x00400000|0x00800000 )) || SvMAGIC((SV*)tsh_cv)((XPVMG*) ((SV*)tsh_cv)->sv_any)->xmg_u.xmg_magic) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3300); | |||
5403 | cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,&(PL_sv_immortals[0]),0) | |||
5404 | &PL_sv_yes, 0)Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,&(PL_sv_immortals[0]),0); | |||
5405 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes(PL_sv_immortals[0]), 0); | |||
5406 | cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,&(PL_sv_immortals[0]),1) | |||
5407 | &PL_sv_yes, CALL_CHECKER_REQUIRE_GV)Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,&(PL_sv_immortals[0]),1); | |||
5408 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes(PL_sv_immortals[0]), CALL_CHECKER_REQUIRE_GV1); | |||
5409 | cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,(SV*)tsh_cv,0) | |||
5410 | (SV*)tsh_cv, 0)Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,(SV*)tsh_cv,0); | |||
5411 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0); | |||
5412 | if (SvMAGICAL((SV*)tsh_cv)(((SV*)tsh_cv)->sv_flags & (0x00200000|0x00400000|0x00800000 )) || SvMAGIC((SV*)tsh_cv)((XPVMG*) ((SV*)tsh_cv)->sv_any)->xmg_u.xmg_magic) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3310); | |||
5413 | cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,&(PL_sv_immortals[0]),1) | |||
5414 | &PL_sv_yes, CALL_CHECKER_REQUIRE_GV)Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,&(PL_sv_immortals[0]),1); | |||
5415 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, &PL_sv_yes(PL_sv_immortals[0]), CALL_CHECKER_REQUIRE_GV1); | |||
5416 | cv_set_call_checker_flags(tsh_cv, Perl_ck_entersub_args_proto_or_list,Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,(SV*)tsh_cv,1) | |||
5417 | (SV*)tsh_cv, CALL_CHECKER_REQUIRE_GV)Perl_cv_set_call_checker_flags( tsh_cv,Perl_ck_entersub_args_proto_or_list ,(SV*)tsh_cv,1); | |||
5418 | check_cc(tsh_cv, Perl_ck_entersub_args_proto_or_list, (SV*)tsh_cv, 0); | |||
5419 | if (SvMAGICAL((SV*)tsh_cv)(((SV*)tsh_cv)->sv_flags & (0x00200000|0x00400000|0x00800000 )) || SvMAGIC((SV*)tsh_cv)((XPVMG*) ((SV*)tsh_cv)->sv_any)->xmg_u.xmg_magic) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3317); | |||
5420 | #undef check_cc | |||
5421 | #line 5422 "APItest.c" | |||
5422 | } | |||
5423 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5424 | } | |||
5425 | ||||
5426 | ||||
5427 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_lists)static void XS_XS__APItest_cv_set_call_checker_lists( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5428 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_lists)static void XS_XS__APItest_cv_set_call_checker_lists( CV* cv __attribute__ ((unused))) | |||
5429 | { | |||
5430 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5431 | if (items != 1) | |||
5432 | croak_xs_usagePerl_croak_xs_usage(cv, "cv"); | |||
5433 | { | |||
5434 | CV * cv; | |||
5435 | ||||
5436 | STMT_STARTdo { | |||
5437 | HV *st; | |||
5438 | GV *gvp; | |||
5439 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
5440 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
5441 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); | |||
5442 | if (!cv) { | |||
5443 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", | |||
5444 | "XS::APItest::cv_set_call_checker_lists", | |||
5445 | "cv"); | |||
5446 | } | |||
5447 | } STMT_ENDwhile (0) | |||
5448 | ; | |||
5449 | #line 3323 "APItest.xs" | |||
5450 | cv_set_call_checker(cv, THX_ck_entersub_args_lists, &PL_sv_undef)Perl_cv_set_call_checker( cv,THX_ck_entersub_args_lists,& (PL_sv_immortals[1])); | |||
5451 | #line 5452 "APItest.c" | |||
5452 | } | |||
5453 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5454 | } | |||
5455 | ||||
5456 | ||||
5457 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_scalars)static void XS_XS__APItest_cv_set_call_checker_scalars( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5458 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_scalars)static void XS_XS__APItest_cv_set_call_checker_scalars( CV* cv __attribute__((unused))) | |||
5459 | { | |||
5460 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5461 | if (items != 1) | |||
5462 | croak_xs_usagePerl_croak_xs_usage(cv, "cv"); | |||
5463 | { | |||
5464 | CV * cv; | |||
5465 | ||||
5466 | STMT_STARTdo { | |||
5467 | HV *st; | |||
5468 | GV *gvp; | |||
5469 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
5470 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
5471 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); | |||
5472 | if (!cv) { | |||
5473 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", | |||
5474 | "XS::APItest::cv_set_call_checker_scalars", | |||
5475 | "cv"); | |||
5476 | } | |||
5477 | } STMT_ENDwhile (0) | |||
5478 | ; | |||
5479 | #line 3328 "APItest.xs" | |||
5480 | cv_set_call_checker(cv, THX_ck_entersub_args_scalars, &PL_sv_undef)Perl_cv_set_call_checker( cv,THX_ck_entersub_args_scalars,& (PL_sv_immortals[1])); | |||
5481 | #line 5482 "APItest.c" | |||
5482 | } | |||
5483 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5484 | } | |||
5485 | ||||
5486 | ||||
5487 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_proto)static void XS_XS__APItest_cv_set_call_checker_proto( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5488 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_proto)static void XS_XS__APItest_cv_set_call_checker_proto( CV* cv __attribute__ ((unused))) | |||
5489 | { | |||
5490 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5491 | if (items != 2) | |||
5492 | croak_xs_usagePerl_croak_xs_usage(cv, "cv, proto"); | |||
5493 | { | |||
5494 | CV * cv; | |||
5495 | SV * proto = ST(1)PL_stack_base[ax + (1)] | |||
5496 | ; | |||
5497 | ||||
5498 | STMT_STARTdo { | |||
5499 | HV *st; | |||
5500 | GV *gvp; | |||
5501 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
5502 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
5503 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); | |||
5504 | if (!cv) { | |||
5505 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", | |||
5506 | "XS::APItest::cv_set_call_checker_proto", | |||
5507 | "cv"); | |||
5508 | } | |||
5509 | } STMT_ENDwhile (0) | |||
5510 | ; | |||
5511 | #line 3333 "APItest.xs" | |||
5512 | if (SvROK(proto)((proto)->sv_flags & 0x00000800)) | |||
5513 | proto = SvRV(proto)((proto)->sv_u.svu_rv); | |||
5514 | cv_set_call_checker(cv, Perl_ck_entersub_args_proto, proto)Perl_cv_set_call_checker( cv,Perl_ck_entersub_args_proto,proto ); | |||
5515 | #line 5516 "APItest.c" | |||
5516 | } | |||
5517 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5518 | } | |||
5519 | ||||
5520 | ||||
5521 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_proto_or_list)static void XS_XS__APItest_cv_set_call_checker_proto_or_list( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5522 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_proto_or_list)static void XS_XS__APItest_cv_set_call_checker_proto_or_list( CV* cv __attribute__((unused))) | |||
5523 | { | |||
5524 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5525 | if (items != 2) | |||
5526 | croak_xs_usagePerl_croak_xs_usage(cv, "cv, proto"); | |||
5527 | { | |||
5528 | CV * cv; | |||
5529 | SV * proto = ST(1)PL_stack_base[ax + (1)] | |||
5530 | ; | |||
5531 | ||||
5532 | STMT_STARTdo { | |||
5533 | HV *st; | |||
5534 | GV *gvp; | |||
5535 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
5536 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
5537 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); | |||
5538 | if (!cv) { | |||
5539 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", | |||
5540 | "XS::APItest::cv_set_call_checker_proto_or_list", | |||
5541 | "cv"); | |||
5542 | } | |||
5543 | } STMT_ENDwhile (0) | |||
5544 | ; | |||
5545 | #line 3340 "APItest.xs" | |||
5546 | if (SvROK(proto)((proto)->sv_flags & 0x00000800)) | |||
5547 | proto = SvRV(proto)((proto)->sv_u.svu_rv); | |||
5548 | cv_set_call_checker(cv, Perl_ck_entersub_args_proto_or_list, proto)Perl_cv_set_call_checker( cv,Perl_ck_entersub_args_proto_or_list ,proto); | |||
5549 | #line 5550 "APItest.c" | |||
5550 | } | |||
5551 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5552 | } | |||
5553 | ||||
5554 | ||||
5555 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_multi_sum)static void XS_XS__APItest_cv_set_call_checker_multi_sum( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5556 | XS_EUPXS(XS_XS__APItest_cv_set_call_checker_multi_sum)static void XS_XS__APItest_cv_set_call_checker_multi_sum( CV* cv __attribute__((unused))) | |||
5557 | { | |||
5558 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5559 | if (items != 1) | |||
5560 | croak_xs_usagePerl_croak_xs_usage(cv, "cv"); | |||
5561 | { | |||
5562 | CV * cv; | |||
5563 | ||||
5564 | STMT_STARTdo { | |||
5565 | HV *st; | |||
5566 | GV *gvp; | |||
5567 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
5568 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
5569 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); | |||
5570 | if (!cv) { | |||
5571 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", | |||
5572 | "XS::APItest::cv_set_call_checker_multi_sum", | |||
5573 | "cv"); | |||
5574 | } | |||
5575 | } STMT_ENDwhile (0) | |||
5576 | ; | |||
5577 | #line 3347 "APItest.xs" | |||
5578 | cv_set_call_checker(cv, THX_ck_entersub_multi_sum, &PL_sv_undef)Perl_cv_set_call_checker( cv,THX_ck_entersub_multi_sum,&( PL_sv_immortals[1])); | |||
5579 | #line 5580 "APItest.c" | |||
5580 | } | |||
5581 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5582 | } | |||
5583 | ||||
5584 | ||||
5585 | XS_EUPXS(XS_XS__APItest_test_cophh)static void XS_XS__APItest_test_cophh( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5586 | XS_EUPXS(XS_XS__APItest_test_cophh)static void XS_XS__APItest_test_cophh( CV* cv __attribute__(( unused))) | |||
5587 | { | |||
5588 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5589 | if (items != 0) | |||
5590 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5591 | { | |||
5592 | #line 3352 "APItest.xs" | |||
5593 | COPHH *a, *b; | |||
5594 | #ifdef EBCDIC | |||
5595 | SV* key_sv; | |||
5596 | char * key_name; | |||
5597 | STRLEN key_len; | |||
5598 | #endif | |||
5599 | #line 5600 "APItest.c" | |||
5600 | #line 3359 "APItest.xs" | |||
5601 | #define check_ph(EXPR) \ | |||
5602 | do { if((EXPR) != &PL_sv_placeholder) croakPerl_croak("fail"); } while(0) | |||
5603 | #define check_iv(EXPR, EXPECT) \ | |||
5604 | do { if(SvIV(EXPR)((((EXPR)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (EXPR)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( EXPR,2)) != (EXPECT)) croakPerl_croak("fail"); } while(0) | |||
5605 | #define msvpvs(STR) sv_2mortal(newSVpvs(STR))Perl_sv_2mortal( Perl_newSVpvn( ("" STR ""), (sizeof(STR)-1)) ) | |||
5606 | #define msviv(VALUE) sv_2mortal(newSViv(VALUE))Perl_sv_2mortal( Perl_newSViv( VALUE)) | |||
5607 | a = cophh_new_empty()((COPHH *)((void*)0)); | |||
5608 | check_ph(cophh_fetch_pvn(a, "foo_1", 5, 0, 0)Perl_refcounted_he_fetch_pvn( a, "foo_1", 5, 0, 0)); | |||
5609 | check_ph(cophh_fetch_pvs(a, "foo_1", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0)); | |||
5610 | check_ph(cophh_fetch_pv(a, "foo_1", 0, 0)Perl_refcounted_he_fetch_pv( a, "foo_1", 0, 0)); | |||
5611 | check_ph(cophh_fetch_sv(a, msvpvs("foo_1"), 0, 0)Perl_refcounted_he_fetch_sv( a, msvpvs("foo_1"), 0, 0)); | |||
5612 | a = cophh_store_pvn(a, "foo_1abc", 5, 0, msviv(111), 0)Perl_refcounted_he_new_pvn( a, "foo_1abc", 5, 0, msviv(111), 0 ); | |||
5613 | a = cophh_store_pvs(a, "foo_2", msviv(222), 0)Perl_refcounted_he_new_pvn( a, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, msviv(222), 0); | |||
5614 | a = cophh_store_pv(a, "foo_3", 0, msviv(333), 0)Perl_refcounted_he_new_pv( a, "foo_3", 0, msviv(333), 0); | |||
5615 | a = cophh_store_sv(a, msvpvs("foo_4"), 0, msviv(444), 0)Perl_refcounted_he_new_sv( a, msvpvs("foo_4"), 0, msviv(444), 0); | |||
5616 | check_iv(cophh_fetch_pvn(a, "foo_1xyz", 5, 0, 0)Perl_refcounted_he_fetch_pvn( a, "foo_1xyz", 5, 0, 0), 111); | |||
5617 | check_iv(cophh_fetch_pvs(a, "foo_1", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0), 111); | |||
5618 | check_iv(cophh_fetch_pv(a, "foo_1", 0, 0)Perl_refcounted_he_fetch_pv( a, "foo_1", 0, 0), 111); | |||
5619 | check_iv(cophh_fetch_sv(a, msvpvs("foo_1"), 0, 0)Perl_refcounted_he_fetch_sv( a, msvpvs("foo_1"), 0, 0), 111); | |||
5620 | check_iv(cophh_fetch_pvs(a, "foo_2", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, 0), 222); | |||
5621 | check_iv(cophh_fetch_pvs(a, "foo_3", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_3" ""), (sizeof("foo_3" )-1), 0, 0), 333); | |||
5622 | check_iv(cophh_fetch_pvs(a, "foo_4", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_4" ""), (sizeof("foo_4" )-1), 0, 0), 444); | |||
5623 | check_ph(cophh_fetch_pvs(a, "foo_5", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_5" ""), (sizeof("foo_5" )-1), 0, 0)); | |||
5624 | b = cophh_copy(a)Perl_refcounted_he_inc( a); | |||
5625 | b = cophh_store_pvs(b, "foo_1", msviv(1111), 0)Perl_refcounted_he_new_pvn( b, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, msviv(1111), 0); | |||
5626 | check_iv(cophh_fetch_pvs(a, "foo_1", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0), 111); | |||
5627 | check_iv(cophh_fetch_pvs(a, "foo_2", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, 0), 222); | |||
5628 | check_iv(cophh_fetch_pvs(a, "foo_3", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_3" ""), (sizeof("foo_3" )-1), 0, 0), 333); | |||
5629 | check_iv(cophh_fetch_pvs(a, "foo_4", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_4" ""), (sizeof("foo_4" )-1), 0, 0), 444); | |||
5630 | check_ph(cophh_fetch_pvs(a, "foo_5", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_5" ""), (sizeof("foo_5" )-1), 0, 0)); | |||
5631 | check_iv(cophh_fetch_pvs(b, "foo_1", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0), 1111); | |||
5632 | check_iv(cophh_fetch_pvs(b, "foo_2", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, 0), 222); | |||
5633 | check_iv(cophh_fetch_pvs(b, "foo_3", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_3" ""), (sizeof("foo_3" )-1), 0, 0), 333); | |||
5634 | check_iv(cophh_fetch_pvs(b, "foo_4", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_4" ""), (sizeof("foo_4" )-1), 0, 0), 444); | |||
5635 | check_ph(cophh_fetch_pvs(b, "foo_5", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_5" ""), (sizeof("foo_5" )-1), 0, 0)); | |||
5636 | a = cophh_delete_pvn(a, "foo_1abc", 5, 0, 0)Perl_refcounted_he_new_pvn( a, "foo_1abc", 5, 0, (SV *)((void *)0), 0); | |||
5637 | a = cophh_delete_pvs(a, "foo_2", 0)Perl_refcounted_he_new_pvn( a, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, (SV *)((void*)0), 0); | |||
5638 | b = cophh_delete_pv(b, "foo_3", 0, 0)Perl_refcounted_he_new_pv( b, "foo_3", 0, (SV *)((void*)0), 0 ); | |||
5639 | b = cophh_delete_sv(b, msvpvs("foo_4"), 0, 0)Perl_refcounted_he_new_sv( b, msvpvs("foo_4"), 0, (SV *)((void *)0), 0); | |||
5640 | check_ph(cophh_fetch_pvs(a, "foo_1", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0)); | |||
5641 | check_ph(cophh_fetch_pvs(a, "foo_2", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, 0)); | |||
5642 | check_iv(cophh_fetch_pvs(a, "foo_3", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_3" ""), (sizeof("foo_3" )-1), 0, 0), 333); | |||
5643 | check_iv(cophh_fetch_pvs(a, "foo_4", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_4" ""), (sizeof("foo_4" )-1), 0, 0), 444); | |||
5644 | check_ph(cophh_fetch_pvs(a, "foo_5", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_5" ""), (sizeof("foo_5" )-1), 0, 0)); | |||
5645 | check_iv(cophh_fetch_pvs(b, "foo_1", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0), 1111); | |||
5646 | check_iv(cophh_fetch_pvs(b, "foo_2", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, 0), 222); | |||
5647 | check_ph(cophh_fetch_pvs(b, "foo_3", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_3" ""), (sizeof("foo_3" )-1), 0, 0)); | |||
5648 | check_ph(cophh_fetch_pvs(b, "foo_4", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_4" ""), (sizeof("foo_4" )-1), 0, 0)); | |||
5649 | check_ph(cophh_fetch_pvs(b, "foo_5", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_5" ""), (sizeof("foo_5" )-1), 0, 0)); | |||
5650 | b = cophh_delete_pvs(b, "foo_3", 0)Perl_refcounted_he_new_pvn( b, ("" "foo_3" ""), (sizeof("foo_3" )-1), 0, (SV *)((void*)0), 0); | |||
5651 | b = cophh_delete_pvs(b, "foo_5", 0)Perl_refcounted_he_new_pvn( b, ("" "foo_5" ""), (sizeof("foo_5" )-1), 0, (SV *)((void*)0), 0); | |||
5652 | check_iv(cophh_fetch_pvs(b, "foo_1", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0), 1111); | |||
5653 | check_iv(cophh_fetch_pvs(b, "foo_2", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, 0), 222); | |||
5654 | check_ph(cophh_fetch_pvs(b, "foo_3", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_3" ""), (sizeof("foo_3" )-1), 0, 0)); | |||
5655 | check_ph(cophh_fetch_pvs(b, "foo_4", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_4" ""), (sizeof("foo_4" )-1), 0, 0)); | |||
5656 | check_ph(cophh_fetch_pvs(b, "foo_5", 0)Perl_refcounted_he_fetch_pvn( b, ("" "foo_5" ""), (sizeof("foo_5" )-1), 0, 0)); | |||
5657 | cophh_free(b)Perl_refcounted_he_free( b); | |||
5658 | check_ph(cophh_fetch_pvs(a, "foo_1", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0)); | |||
5659 | check_ph(cophh_fetch_pvs(a, "foo_2", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, 0)); | |||
5660 | check_iv(cophh_fetch_pvs(a, "foo_3", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_3" ""), (sizeof("foo_3" )-1), 0, 0), 333); | |||
5661 | check_iv(cophh_fetch_pvs(a, "foo_4", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_4" ""), (sizeof("foo_4" )-1), 0, 0), 444); | |||
5662 | check_ph(cophh_fetch_pvs(a, "foo_5", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_5" ""), (sizeof("foo_5" )-1), 0, 0)); | |||
5663 | a = cophh_store_pvs(a, "foo_1", msviv(11111), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, msviv(11111), 0x00000001); | |||
5664 | a = cophh_store_pvs(a, "foo_\xaa", msviv(123), 0)Perl_refcounted_he_new_pvn( a, ("" "foo_\xaa" ""), (sizeof("foo_\xaa" )-1), 0, msviv(123), 0); | |||
5665 | #ifndef EBCDIC | |||
5666 | a = cophh_store_pvs(a, "foo_\xc2\xbb", msviv(456), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, ("" "foo_\xc2\xbb" ""), (sizeof ("foo_\xc2\xbb")-1), 0, msviv(456), 0x00000001); | |||
5667 | #else | |||
5668 | /* On EBCDIC, we need to translate the UTF-8 in the ASCII test to the | |||
5669 | * equivalent UTF-EBCDIC for the code page. This is done at runtime | |||
5670 | * (with the helper function in this file). Therefore we can't use | |||
5671 | * cophhh_store_pvs(), as we don't have literal string */ | |||
5672 | key_sv = sv_2mortal(newSVpvs("foo_"))Perl_sv_2mortal( Perl_newSVpvn( ("" "foo_" ""), (sizeof("foo_" )-1))); | |||
5673 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xc2\xbb")("" "\xc2\xbb" ""), (sizeof("\xc2\xbb")-1)); | |||
5674 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5675 | a = cophh_store_pvn(a, key_name, key_len, 0, msviv(456), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, key_name, key_len, 0, msviv(456 ), 0x00000001); | |||
5676 | #endif | |||
5677 | #ifndef EBCDIC | |||
5678 | a = cophh_store_pvs(a, "foo_\xc3\x8c", msviv(789), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, ("" "foo_\xc3\x8c" ""), (sizeof ("foo_\xc3\x8c")-1), 0, msviv(789), 0x00000001); | |||
5679 | #else | |||
5680 | sv_setpvs(key_sv, "foo_")Perl_sv_setpvn( key_sv, ("" "foo_" ""), (sizeof("foo_")-1)); | |||
5681 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xc3\x8c")("" "\xc3\x8c" ""), (sizeof("\xc3\x8c")-1)); | |||
5682 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5683 | a = cophh_store_pvn(a, key_name, key_len, 0, msviv(789), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, key_name, key_len, 0, msviv(789 ), 0x00000001); | |||
5684 | #endif | |||
5685 | #ifndef EBCDIC | |||
5686 | a = cophh_store_pvs(a, "foo_\xd9\xa6", msviv(666), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, ("" "foo_\xd9\xa6" ""), (sizeof ("foo_\xd9\xa6")-1), 0, msviv(666), 0x00000001); | |||
5687 | #else | |||
5688 | sv_setpvs(key_sv, "foo_")Perl_sv_setpvn( key_sv, ("" "foo_" ""), (sizeof("foo_")-1)); | |||
5689 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xd9\xa6")("" "\xd9\xa6" ""), (sizeof("\xd9\xa6")-1)); | |||
5690 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5691 | a = cophh_store_pvn(a, key_name, key_len, 0, msviv(666), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, key_name, key_len, 0, msviv(666 ), 0x00000001); | |||
5692 | #endif | |||
5693 | check_iv(cophh_fetch_pvs(a, "foo_1", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0), 11111); | |||
5694 | check_iv(cophh_fetch_pvs(a, "foo_1", COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, 0x00000001), 11111); | |||
5695 | check_iv(cophh_fetch_pvs(a, "foo_\xaa", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xaa" ""), (sizeof( "foo_\xaa")-1), 0, 0), 123); | |||
5696 | #ifndef EBCDIC | |||
5697 | check_iv(cophh_fetch_pvs(a, "foo_\xc2\xaa", COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xc2\xaa" ""), (sizeof ("foo_\xc2\xaa")-1), 0, 0x00000001), 123); | |||
5698 | check_ph(cophh_fetch_pvs(a, "foo_\xc2\xaa", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xc2\xaa" ""), (sizeof ("foo_\xc2\xaa")-1), 0, 0)); | |||
5699 | #else | |||
5700 | sv_setpvs(key_sv, "foo_")Perl_sv_setpvn( key_sv, ("" "foo_" ""), (sizeof("foo_")-1)); | |||
5701 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xc2\xaa")("" "\xc2\xaa" ""), (sizeof("\xc2\xaa")-1)); | |||
5702 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5703 | check_iv(cophh_fetch_pvn(a, key_name, key_len, 0, COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, key_name, key_len, 0, 0x00000001 ), 123); | |||
5704 | check_ph(cophh_fetch_pvn(a, key_name, key_len, 0, 0)Perl_refcounted_he_fetch_pvn( a, key_name, key_len, 0, 0)); | |||
5705 | #endif | |||
5706 | check_iv(cophh_fetch_pvs(a, "foo_\xbb", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xbb" ""), (sizeof( "foo_\xbb")-1), 0, 0), 456); | |||
5707 | #ifndef EBCDIC | |||
5708 | check_iv(cophh_fetch_pvs(a, "foo_\xc2\xbb", COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xc2\xbb" ""), (sizeof ("foo_\xc2\xbb")-1), 0, 0x00000001), 456); | |||
5709 | check_ph(cophh_fetch_pvs(a, "foo_\xc2\xbb", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xc2\xbb" ""), (sizeof ("foo_\xc2\xbb")-1), 0, 0)); | |||
5710 | #else | |||
5711 | sv_setpvs(key_sv, "foo_")Perl_sv_setpvn( key_sv, ("" "foo_" ""), (sizeof("foo_")-1)); | |||
5712 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xc2\xbb")("" "\xc2\xbb" ""), (sizeof("\xc2\xbb")-1)); | |||
5713 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5714 | check_iv(cophh_fetch_pvn(a, key_name, key_len, 0, COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, key_name, key_len, 0, 0x00000001 ), 456); | |||
5715 | check_ph(cophh_fetch_pvn(a, key_name, key_len, 0, 0)Perl_refcounted_he_fetch_pvn( a, key_name, key_len, 0, 0)); | |||
5716 | #endif | |||
5717 | check_iv(cophh_fetch_pvs(a, "foo_\xcc", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xcc" ""), (sizeof( "foo_\xcc")-1), 0, 0), 789); | |||
5718 | #ifndef EBCDIC | |||
5719 | check_iv(cophh_fetch_pvs(a, "foo_\xc3\x8c", COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xc3\x8c" ""), (sizeof ("foo_\xc3\x8c")-1), 0, 0x00000001), 789); | |||
5720 | check_ph(cophh_fetch_pvs(a, "foo_\xc2\x8c", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xc2\x8c" ""), (sizeof ("foo_\xc2\x8c")-1), 0, 0)); | |||
5721 | #else | |||
5722 | sv_setpvs(key_sv, "foo_")Perl_sv_setpvn( key_sv, ("" "foo_" ""), (sizeof("foo_")-1)); | |||
5723 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xc3\x8c")("" "\xc3\x8c" ""), (sizeof("\xc3\x8c")-1)); | |||
5724 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5725 | check_iv(cophh_fetch_pvn(a, key_name, key_len, 0, COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, key_name, key_len, 0, 0x00000001 ), 789); | |||
5726 | check_ph(cophh_fetch_pvn(a, key_name, key_len, 0, 0)Perl_refcounted_he_fetch_pvn( a, key_name, key_len, 0, 0)); | |||
5727 | #endif | |||
5728 | #ifndef EBCDIC | |||
5729 | check_iv(cophh_fetch_pvs(a, "foo_\xd9\xa6", COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xd9\xa6" ""), (sizeof ("foo_\xd9\xa6")-1), 0, 0x00000001), 666); | |||
5730 | check_ph(cophh_fetch_pvs(a, "foo_\xd9\xa6", 0)Perl_refcounted_he_fetch_pvn( a, ("" "foo_\xd9\xa6" ""), (sizeof ("foo_\xd9\xa6")-1), 0, 0)); | |||
5731 | #else | |||
5732 | sv_setpvs(key_sv, "foo_")Perl_sv_setpvn( key_sv, ("" "foo_" ""), (sizeof("foo_")-1)); | |||
5733 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xd9\xa6")("" "\xd9\xa6" ""), (sizeof("\xd9\xa6")-1)); | |||
5734 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5735 | check_iv(cophh_fetch_pvn(a, key_name, key_len, 0, COPHH_KEY_UTF8)Perl_refcounted_he_fetch_pvn( a, key_name, key_len, 0, 0x00000001 ), 666); | |||
5736 | check_ph(cophh_fetch_pvn(a, key_name, key_len, 0, 0)Perl_refcounted_he_fetch_pvn( a, key_name, key_len, 0, 0)); | |||
5737 | #endif | |||
5738 | ENTERPerl_push_scope(); | |||
5739 | SAVEFREECOPHH(a)Perl_save_pushptr( (void *)(a),8); | |||
5740 | LEAVEPerl_pop_scope(); | |||
5741 | #undef check_ph | |||
5742 | #undef check_iv | |||
5743 | #undef msvpvs | |||
5744 | #undef msviv | |||
5745 | #line 5746 "APItest.c" | |||
5746 | } | |||
5747 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5748 | } | |||
5749 | ||||
5750 | ||||
5751 | XS_EUPXS(XS_XS__APItest_test_coplabel)static void XS_XS__APItest_test_coplabel( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5752 | XS_EUPXS(XS_XS__APItest_test_coplabel)static void XS_XS__APItest_test_coplabel( CV* cv __attribute__ ((unused))) | |||
5753 | { | |||
5754 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5755 | if (items != 0) | |||
5756 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5757 | { | |||
5758 | #line 3507 "APItest.xs" | |||
5759 | COP *cop; | |||
5760 | const char *label; | |||
5761 | STRLEN len; | |||
5762 | U32 utf8; | |||
5763 | #line 5764 "APItest.c" | |||
5764 | #line 3512 "APItest.xs" | |||
5765 | cop = &PL_compiling; | |||
5766 | Perl_cop_store_label(aTHX_ cop, "foo", 3, 0); | |||
5767 | label = Perl_cop_fetch_label(aTHX_ cop, &len, &utf8); | |||
5768 | if (strNE(label,"foo")(strcmp(label,"foo") != 0)) croakPerl_croak("fail # cop_fetch_label label"); | |||
5769 | if (len != 3) croakPerl_croak("fail # cop_fetch_label len"); | |||
5770 | if (utf8) croakPerl_croak("fail # cop_fetch_label utf8"); | |||
5771 | /* SMALL GERMAN UMLAUT A */ | |||
5772 | Perl_cop_store_label(aTHX_ cop, "fo\xc3\xa4", 4, SVf_UTF80x20000000); | |||
5773 | label = Perl_cop_fetch_label(aTHX_ cop, &len, &utf8); | |||
5774 | if (strNE(label,"fo\xc3\xa4")(strcmp(label,"fo\xc3\xa4") != 0)) croakPerl_croak("fail # cop_fetch_label label"); | |||
5775 | if (len != 4) croakPerl_croak("fail # cop_fetch_label len"); | |||
5776 | if (!utf8) croakPerl_croak("fail # cop_fetch_label utf8"); | |||
5777 | #line 5778 "APItest.c" | |||
5778 | } | |||
5779 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5780 | } | |||
5781 | ||||
5782 | ||||
5783 | XS_EUPXS(XS_XS__APItest_example_cophh_2hv)static void XS_XS__APItest_example_cophh_2hv( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5784 | XS_EUPXS(XS_XS__APItest_example_cophh_2hv)static void XS_XS__APItest_example_cophh_2hv( CV* cv __attribute__ ((unused))) | |||
5785 | { | |||
5786 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5787 | if (items != 0) | |||
5788 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5789 | { | |||
5790 | #line 3529 "APItest.xs" | |||
5791 | COPHH *a; | |||
5792 | #ifdef EBCDIC | |||
5793 | SV* key_sv; | |||
5794 | char * key_name; | |||
5795 | STRLEN key_len; | |||
5796 | #endif | |||
5797 | #line 5798 "APItest.c" | |||
5798 | HV * RETVAL; | |||
5799 | #line 3536 "APItest.xs" | |||
5800 | #define msviv(VALUE) sv_2mortal(newSViv(VALUE))Perl_sv_2mortal( Perl_newSViv( VALUE)) | |||
5801 | a = cophh_new_empty()((COPHH *)((void*)0)); | |||
5802 | a = cophh_store_pvs(a, "foo_0", msviv(999), 0)Perl_refcounted_he_new_pvn( a, ("" "foo_0" ""), (sizeof("foo_0" )-1), 0, msviv(999), 0); | |||
5803 | a = cophh_store_pvs(a, "foo_1", msviv(111), 0)Perl_refcounted_he_new_pvn( a, ("" "foo_1" ""), (sizeof("foo_1" )-1), 0, msviv(111), 0); | |||
5804 | a = cophh_store_pvs(a, "foo_\xaa", msviv(123), 0)Perl_refcounted_he_new_pvn( a, ("" "foo_\xaa" ""), (sizeof("foo_\xaa" )-1), 0, msviv(123), 0); | |||
5805 | #ifndef EBCDIC | |||
5806 | a = cophh_store_pvs(a, "foo_\xc2\xbb", msviv(456), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, ("" "foo_\xc2\xbb" ""), (sizeof ("foo_\xc2\xbb")-1), 0, msviv(456), 0x00000001); | |||
5807 | #else | |||
5808 | key_sv = sv_2mortal(newSVpvs("foo_"))Perl_sv_2mortal( Perl_newSVpvn( ("" "foo_" ""), (sizeof("foo_" )-1))); | |||
5809 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xc2\xbb")("" "\xc2\xbb" ""), (sizeof("\xc2\xbb")-1)); | |||
5810 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5811 | a = cophh_store_pvn(a, key_name, key_len, 0, msviv(456), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, key_name, key_len, 0, msviv(456 ), 0x00000001); | |||
5812 | #endif | |||
5813 | #ifndef EBCDIC | |||
5814 | a = cophh_store_pvs(a, "foo_\xc3\x8c", msviv(789), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, ("" "foo_\xc3\x8c" ""), (sizeof ("foo_\xc3\x8c")-1), 0, msviv(789), 0x00000001); | |||
5815 | #else | |||
5816 | sv_setpvs(key_sv, "foo_")Perl_sv_setpvn( key_sv, ("" "foo_" ""), (sizeof("foo_")-1)); | |||
5817 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xc3\x8c")("" "\xc3\x8c" ""), (sizeof("\xc3\x8c")-1)); | |||
5818 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5819 | a = cophh_store_pvn(a, key_name, key_len, 0, msviv(789), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, key_name, key_len, 0, msviv(789 ), 0x00000001); | |||
5820 | #endif | |||
5821 | #ifndef EBCDIC | |||
5822 | a = cophh_store_pvs(a, "foo_\xd9\xa6", msviv(666), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, ("" "foo_\xd9\xa6" ""), (sizeof ("foo_\xd9\xa6")-1), 0, msviv(666), 0x00000001); | |||
5823 | #else | |||
5824 | sv_setpvs(key_sv, "foo_")Perl_sv_setpvn( key_sv, ("" "foo_" ""), (sizeof("foo_")-1)); | |||
5825 | cat_utf8a2n(key_sv, STR_WITH_LEN("\xd9\xa6")("" "\xd9\xa6" ""), (sizeof("\xd9\xa6")-1)); | |||
5826 | key_name = SvPV(key_sv, key_len)((((key_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((key_len = ((XPV*) (key_sv)->sv_any)->xpv_cur), (( key_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( key_sv,&key_len ,2)); | |||
5827 | a = cophh_store_pvn(a, key_name, key_len, 0, msviv(666), COPHH_KEY_UTF8)Perl_refcounted_he_new_pvn( a, key_name, key_len, 0, msviv(666 ), 0x00000001); | |||
5828 | #endif | |||
5829 | a = cophh_delete_pvs(a, "foo_0", 0)Perl_refcounted_he_new_pvn( a, ("" "foo_0" ""), (sizeof("foo_0" )-1), 0, (SV *)((void*)0), 0); | |||
5830 | a = cophh_delete_pvs(a, "foo_2", 0)Perl_refcounted_he_new_pvn( a, ("" "foo_2" ""), (sizeof("foo_2" )-1), 0, (SV *)((void*)0), 0); | |||
5831 | RETVAL = cophh_2hv(a, 0)Perl_refcounted_he_chain_2hv( a, 0); | |||
5832 | cophh_free(a)Perl_refcounted_he_free( a); | |||
5833 | #undef msviv | |||
5834 | #line 5835 "APItest.c" | |||
5835 | { | |||
5836 | SV * RETVALSV; | |||
5837 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
5838 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
5839 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
5840 | } | |||
5841 | } | |||
5842 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
5843 | } | |||
5844 | ||||
5845 | ||||
5846 | XS_EUPXS(XS_XS__APItest_test_savehints)static void XS_XS__APItest_test_savehints( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5847 | XS_EUPXS(XS_XS__APItest_test_savehints)static void XS_XS__APItest_test_savehints( CV* cv __attribute__ ((unused))) | |||
5848 | { | |||
5849 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5850 | if (items != 0) | |||
5851 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5852 | { | |||
5853 | #line 3576 "APItest.xs" | |||
5854 | SV **svp, *sv; | |||
5855 | #line 5856 "APItest.c" | |||
5856 | #line 3578 "APItest.xs" | |||
5857 | #define store_hint(KEY, VALUE) \ | |||
5858 | sv_setiv_mg(*hv_fetchs(GvHV(PL_hintgv), KEY, 1), (VALUE))Perl_sv_setiv_mg( *((SV**) Perl_hv_common_key_len( (((((0+(PL_hintgv )->sv_u.svu_gp))->gp_hv))),(("" KEY "")),((sizeof(KEY)- 1)),((1)) ? (0x20 | 0x10) : 0x20,((void*)0),0)),(VALUE)) | |||
5859 | #define hint_ok(KEY, EXPECT) \ | |||
5860 | ((svp = hv_fetchs(GvHV(PL_hintgv), KEY, 0)((SV**) Perl_hv_common_key_len( (((((0+(PL_hintgv)->sv_u.svu_gp ))->gp_hv))),(("" KEY "")),((sizeof(KEY)-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0))) && \ | |||
5861 | (sv = *svp) && SvIV(sv)((((sv)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (sv)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( sv,2)) == (EXPECT) && \ | |||
5862 | (sv = cop_hints_fetch_pvs(&PL_compiling, KEY, 0)Perl_refcounted_he_fetch_pvn( ((COPHH*)((&PL_compiling)-> cop_hints_hash)), ("" KEY ""), (sizeof(KEY)-1), 0, 0)) && \ | |||
5863 | SvIV(sv)((((sv)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? ((XPVIV*) (sv)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags ( sv,2)) == (EXPECT)) | |||
5864 | #define check_hint(KEY, EXPECT) \ | |||
5865 | do { if (!hint_ok(KEY, EXPECT)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3586); } while(0) | |||
5866 | PL_hintsPL_compiling.cop_hints |= HINT_LOCALIZE_HH0x00020000; | |||
5867 | ENTERPerl_push_scope(); | |||
5868 | SAVEHINTS()Perl_save_hints(); | |||
5869 | PL_hintsPL_compiling.cop_hints &= HINT_INTEGER0x00000001; | |||
5870 | store_hint("t0", 123); | |||
5871 | store_hint("t1", 456); | |||
5872 | if (PL_hintsPL_compiling.cop_hints & HINT_INTEGER0x00000001) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3593); | |||
5873 | check_hint("t0", 123); check_hint("t1", 456); | |||
5874 | ENTERPerl_push_scope(); | |||
5875 | SAVEHINTS()Perl_save_hints(); | |||
5876 | if (PL_hintsPL_compiling.cop_hints & HINT_INTEGER0x00000001) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3597); | |||
5877 | check_hint("t0", 123); check_hint("t1", 456); | |||
5878 | PL_hintsPL_compiling.cop_hints |= HINT_INTEGER0x00000001; | |||
5879 | store_hint("t0", 321); | |||
5880 | if (!(PL_hintsPL_compiling.cop_hints & HINT_INTEGER0x00000001)) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3601); | |||
5881 | check_hint("t0", 321); check_hint("t1", 456); | |||
5882 | LEAVEPerl_pop_scope(); | |||
5883 | if (PL_hintsPL_compiling.cop_hints & HINT_INTEGER0x00000001) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3604); | |||
5884 | check_hint("t0", 123); check_hint("t1", 456); | |||
5885 | ENTERPerl_push_scope(); | |||
5886 | SAVEHINTS()Perl_save_hints(); | |||
5887 | if (PL_hintsPL_compiling.cop_hints & HINT_INTEGER0x00000001) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3608); | |||
5888 | check_hint("t0", 123); check_hint("t1", 456); | |||
5889 | store_hint("t1", 654); | |||
5890 | if (PL_hintsPL_compiling.cop_hints & HINT_INTEGER0x00000001) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3611); | |||
5891 | check_hint("t0", 123); check_hint("t1", 654); | |||
5892 | LEAVEPerl_pop_scope(); | |||
5893 | if (PL_hintsPL_compiling.cop_hints & HINT_INTEGER0x00000001) croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3614); | |||
5894 | check_hint("t0", 123); check_hint("t1", 456); | |||
5895 | LEAVEPerl_pop_scope(); | |||
5896 | #undef store_hint | |||
5897 | #undef hint_ok | |||
5898 | #undef check_hint | |||
5899 | #line 5900 "APItest.c" | |||
5900 | } | |||
5901 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5902 | } | |||
5903 | ||||
5904 | ||||
5905 | XS_EUPXS(XS_XS__APItest_test_copyhints)static void XS_XS__APItest_test_copyhints( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5906 | XS_EUPXS(XS_XS__APItest_test_copyhints)static void XS_XS__APItest_test_copyhints( CV* cv __attribute__ ((unused))) | |||
5907 | { | |||
5908 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5909 | if (items != 0) | |||
5910 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5911 | { | |||
5912 | #line 3624 "APItest.xs" | |||
5913 | HV *a, *b; | |||
5914 | #line 5915 "APItest.c" | |||
5915 | #line 3626 "APItest.xs" | |||
5916 | PL_hintsPL_compiling.cop_hints |= HINT_LOCALIZE_HH0x00020000; | |||
5917 | ENTERPerl_push_scope(); | |||
5918 | SAVEHINTS()Perl_save_hints(); | |||
5919 | sv_setiv_mg(*hv_fetchs(GvHV(PL_hintgv), "t0", 1), 123)Perl_sv_setiv_mg( *((SV**) Perl_hv_common_key_len( (((((0+(PL_hintgv )->sv_u.svu_gp))->gp_hv))),(("" "t0" "")),((sizeof("t0" )-1)),((1)) ? (0x20 | 0x10) : 0x20,((void*)0),0)),123); | |||
5920 | if (SvIV(cop_hints_fetch_pvs(&PL_compiling, "t0", 0))((((Perl_refcounted_he_fetch_pvn( ((COPHH*)((&PL_compiling )->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0) )->sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) (Perl_refcounted_he_fetch_pvn( ((COPHH*)((&PL_compiling )->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0) )->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( Perl_refcounted_he_fetch_pvn ( ((COPHH*)((&PL_compiling)->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0),2)) != 123) | |||
5921 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3631); | |||
5922 | a = newHVhv(GvHV(PL_hintgv))Perl_newHVhv( (((0+(PL_hintgv)->sv_u.svu_gp))->gp_hv)); | |||
5923 | sv_2mortal((SV*)a)Perl_sv_2mortal( (SV*)a); | |||
5924 | sv_setiv_mg(*hv_fetchs(a, "t0", 1), 456)Perl_sv_setiv_mg( *((SV**) Perl_hv_common_key_len( ((a)),(("" "t0" "")),((sizeof("t0")-1)),((1)) ? (0x20 | 0x10) : 0x20,(( void*)0),0)),456); | |||
5925 | if (SvIV(cop_hints_fetch_pvs(&PL_compiling, "t0", 0))((((Perl_refcounted_he_fetch_pvn( ((COPHH*)((&PL_compiling )->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0) )->sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) (Perl_refcounted_he_fetch_pvn( ((COPHH*)((&PL_compiling )->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0) )->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( Perl_refcounted_he_fetch_pvn ( ((COPHH*)((&PL_compiling)->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0),2)) != 123) | |||
5926 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3636); | |||
5927 | b = hv_copy_hints_hv(a)Perl_hv_copy_hints_hv( a); | |||
5928 | sv_2mortal((SV*)b)Perl_sv_2mortal( (SV*)b); | |||
5929 | sv_setiv_mg(*hv_fetchs(b, "t0", 1), 789)Perl_sv_setiv_mg( *((SV**) Perl_hv_common_key_len( ((b)),(("" "t0" "")),((sizeof("t0")-1)),((1)) ? (0x20 | 0x10) : 0x20,(( void*)0),0)),789); | |||
5930 | if (SvIV(cop_hints_fetch_pvs(&PL_compiling, "t0", 0))((((Perl_refcounted_he_fetch_pvn( ((COPHH*)((&PL_compiling )->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0) )->sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) (Perl_refcounted_he_fetch_pvn( ((COPHH*)((&PL_compiling )->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0) )->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( Perl_refcounted_he_fetch_pvn ( ((COPHH*)((&PL_compiling)->cop_hints_hash)), ("" "t0" ""), (sizeof("t0")-1), 0, 0),2)) != 789) | |||
5931 | croak_fail()Perl_croak("fail at " "APItest.xs" " line %d", 3641); | |||
5932 | LEAVEPerl_pop_scope(); | |||
5933 | #line 5934 "APItest.c" | |||
5934 | } | |||
5935 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
5936 | } | |||
5937 | ||||
5938 | ||||
5939 | XS_EUPXS(XS_XS__APItest_test_op_list)static void XS_XS__APItest_test_op_list( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
5940 | XS_EUPXS(XS_XS__APItest_test_op_list)static void XS_XS__APItest_test_op_list( CV* cv __attribute__ ((unused))) | |||
5941 | { | |||
5942 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
5943 | if (items != 0) | |||
5944 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
5945 | { | |||
5946 | #line 3647 "APItest.xs" | |||
5947 | OP *a; | |||
5948 | #line 5949 "APItest.c" | |||
5949 | #line 3649 "APItest.xs" | |||
5950 | #define iv_op(iv) newSVOP(OP_CONST, 0, newSViv(iv))Perl_newSVOP( OP_CONST,0,Perl_newSViv( iv)) | |||
5951 | #define check_op(o, expect) \ | |||
5952 | do { \ | |||
5953 | if (strNE(test_op_list_describe(o), (expect))(strcmp(test_op_list_describe(o),(expect)) != 0)) \ | |||
5954 | croakPerl_croak("fail %s %s", test_op_list_describe(o), (expect)); \ | |||
5955 | } while(0) | |||
5956 | a = op_append_elem(OP_LIST, NULL, NULL)Perl_op_append_elem( OP_LIST,((void*)0),((void*)0)); | |||
5957 | check_op(a, ""); | |||
5958 | a = op_append_elem(OP_LIST, iv_op(1), a)Perl_op_append_elem( OP_LIST,iv_op(1),a); | |||
5959 | check_op(a, "const(1)."); | |||
5960 | a = op_append_elem(OP_LIST, NULL, a)Perl_op_append_elem( OP_LIST,((void*)0),a); | |||
5961 | check_op(a, "const(1)."); | |||
5962 | a = op_append_elem(OP_LIST, a, iv_op(2))Perl_op_append_elem( OP_LIST,a,iv_op(2)); | |||
5963 | check_op(a, "list[pushmark.const(1).const(2).]"); | |||
5964 | a = op_append_elem(OP_LIST, a, iv_op(3))Perl_op_append_elem( OP_LIST,a,iv_op(3)); | |||
5965 | check_op(a, "list[pushmark.const(1).const(2).const(3).]"); | |||
5966 | a = op_append_elem(OP_LIST, a, NULL)Perl_op_append_elem( OP_LIST,a,((void*)0)); | |||
5967 | check_op(a, "list[pushmark.const(1).const(2).const(3).]"); | |||
5968 | a = op_append_elem(OP_LIST, NULL, a)Perl_op_append_elem( OP_LIST,((void*)0),a); | |||
5969 | check_op(a, "list[pushmark.const(1).const(2).const(3).]"); | |||
5970 | a = op_append_elem(OP_LIST, iv_op(4), a)Perl_op_append_elem( OP_LIST,iv_op(4),a); | |||
5971 | check_op(a, "list[pushmark.const(4)." | |||
5972 | "list[pushmark.const(1).const(2).const(3).]]"); | |||
5973 | a = op_append_elem(OP_LIST, a, iv_op(5))Perl_op_append_elem( OP_LIST,a,iv_op(5)); | |||
5974 | check_op(a, "list[pushmark.const(4)." | |||
5975 | "list[pushmark.const(1).const(2).const(3).]const(5).]"); | |||
5976 | a = op_append_elem(OP_LIST, a,Perl_op_append_elem( OP_LIST,a,Perl_op_append_elem( OP_LIST,iv_op (7),iv_op(6))) | |||
5977 | op_append_elem(OP_LIST, iv_op(7), iv_op(6)))Perl_op_append_elem( OP_LIST,a,Perl_op_append_elem( OP_LIST,iv_op (7),iv_op(6))); | |||
5978 | check_op(a, "list[pushmark.const(4)." | |||
5979 | "list[pushmark.const(1).const(2).const(3).]const(5)." | |||
5980 | "list[pushmark.const(7).const(6).]]"); | |||
5981 | op_free(a)Perl_op_free( a); | |||
5982 | a = op_append_elem(OP_LINESEQ, iv_op(1), iv_op(2))Perl_op_append_elem( OP_LINESEQ,iv_op(1),iv_op(2)); | |||
5983 | check_op(a, "lineseq[const(1).const(2).]"); | |||
5984 | a = op_append_elem(OP_LINESEQ, a, iv_op(3))Perl_op_append_elem( OP_LINESEQ,a,iv_op(3)); | |||
5985 | check_op(a, "lineseq[const(1).const(2).const(3).]"); | |||
5986 | op_free(a)Perl_op_free( a); | |||
5987 | a = op_append_elem(OP_LINESEQ,Perl_op_append_elem( OP_LINESEQ,Perl_op_append_elem( OP_LIST, iv_op(1),iv_op(2)),iv_op(3)) | |||
5988 | op_append_elem(OP_LIST, iv_op(1), iv_op(2)),Perl_op_append_elem( OP_LINESEQ,Perl_op_append_elem( OP_LIST, iv_op(1),iv_op(2)),iv_op(3)) | |||
5989 | iv_op(3))Perl_op_append_elem( OP_LINESEQ,Perl_op_append_elem( OP_LIST, iv_op(1),iv_op(2)),iv_op(3)); | |||
5990 | check_op(a, "lineseq[list[pushmark.const(1).const(2).]const(3).]"); | |||
5991 | op_free(a)Perl_op_free( a); | |||
5992 | a = op_prepend_elem(OP_LIST, NULL, NULL)Perl_op_prepend_elem( OP_LIST,((void*)0),((void*)0)); | |||
5993 | check_op(a, ""); | |||
5994 | a = op_prepend_elem(OP_LIST, a, iv_op(1))Perl_op_prepend_elem( OP_LIST,a,iv_op(1)); | |||
5995 | check_op(a, "const(1)."); | |||
5996 | a = op_prepend_elem(OP_LIST, a, NULL)Perl_op_prepend_elem( OP_LIST,a,((void*)0)); | |||
5997 | check_op(a, "const(1)."); | |||
5998 | a = op_prepend_elem(OP_LIST, iv_op(2), a)Perl_op_prepend_elem( OP_LIST,iv_op(2),a); | |||
5999 | check_op(a, "list[pushmark.const(2).const(1).]"); | |||
6000 | a = op_prepend_elem(OP_LIST, iv_op(3), a)Perl_op_prepend_elem( OP_LIST,iv_op(3),a); | |||
6001 | check_op(a, "list[pushmark.const(3).const(2).const(1).]"); | |||
6002 | a = op_prepend_elem(OP_LIST, NULL, a)Perl_op_prepend_elem( OP_LIST,((void*)0),a); | |||
6003 | check_op(a, "list[pushmark.const(3).const(2).const(1).]"); | |||
6004 | a = op_prepend_elem(OP_LIST, a, NULL)Perl_op_prepend_elem( OP_LIST,a,((void*)0)); | |||
6005 | check_op(a, "list[pushmark.const(3).const(2).const(1).]"); | |||
6006 | a = op_prepend_elem(OP_LIST, a, iv_op(4))Perl_op_prepend_elem( OP_LIST,a,iv_op(4)); | |||
6007 | check_op(a, "list[pushmark." | |||
6008 | "list[pushmark.const(3).const(2).const(1).]const(4).]"); | |||
6009 | a = op_prepend_elem(OP_LIST, iv_op(5), a)Perl_op_prepend_elem( OP_LIST,iv_op(5),a); | |||
6010 | check_op(a, "list[pushmark.const(5)." | |||
6011 | "list[pushmark.const(3).const(2).const(1).]const(4).]"); | |||
6012 | a = op_prepend_elem(OP_LIST,Perl_op_prepend_elem( OP_LIST,Perl_op_prepend_elem( OP_LIST,iv_op (6),iv_op(7)),a) | |||
6013 | op_prepend_elem(OP_LIST, iv_op(6), iv_op(7)), a)Perl_op_prepend_elem( OP_LIST,Perl_op_prepend_elem( OP_LIST,iv_op (6),iv_op(7)),a); | |||
6014 | check_op(a, "list[pushmark.list[pushmark.const(6).const(7).]const(5)." | |||
6015 | "list[pushmark.const(3).const(2).const(1).]const(4).]"); | |||
6016 | op_free(a)Perl_op_free( a); | |||
6017 | a = op_prepend_elem(OP_LINESEQ, iv_op(2), iv_op(1))Perl_op_prepend_elem( OP_LINESEQ,iv_op(2),iv_op(1)); | |||
6018 | check_op(a, "lineseq[const(2).const(1).]"); | |||
6019 | a = op_prepend_elem(OP_LINESEQ, iv_op(3), a)Perl_op_prepend_elem( OP_LINESEQ,iv_op(3),a); | |||
6020 | check_op(a, "lineseq[const(3).const(2).const(1).]"); | |||
6021 | op_free(a)Perl_op_free( a); | |||
6022 | a = op_prepend_elem(OP_LINESEQ, iv_op(3),Perl_op_prepend_elem( OP_LINESEQ,iv_op(3),Perl_op_prepend_elem ( OP_LIST,iv_op(2),iv_op(1))) | |||
6023 | op_prepend_elem(OP_LIST, iv_op(2), iv_op(1)))Perl_op_prepend_elem( OP_LINESEQ,iv_op(3),Perl_op_prepend_elem ( OP_LIST,iv_op(2),iv_op(1))); | |||
6024 | check_op(a, "lineseq[const(3).list[pushmark.const(2).const(1).]]"); | |||
6025 | op_free(a)Perl_op_free( a); | |||
6026 | a = op_append_list(OP_LINESEQ, NULL, NULL)Perl_op_append_list( OP_LINESEQ,((void*)0),((void*)0)); | |||
6027 | check_op(a, ""); | |||
6028 | a = op_append_list(OP_LINESEQ, iv_op(1), a)Perl_op_append_list( OP_LINESEQ,iv_op(1),a); | |||
6029 | check_op(a, "const(1)."); | |||
6030 | a = op_append_list(OP_LINESEQ, NULL, a)Perl_op_append_list( OP_LINESEQ,((void*)0),a); | |||
6031 | check_op(a, "const(1)."); | |||
6032 | a = op_append_list(OP_LINESEQ, a, iv_op(2))Perl_op_append_list( OP_LINESEQ,a,iv_op(2)); | |||
6033 | check_op(a, "lineseq[const(1).const(2).]"); | |||
6034 | a = op_append_list(OP_LINESEQ, a, iv_op(3))Perl_op_append_list( OP_LINESEQ,a,iv_op(3)); | |||
6035 | check_op(a, "lineseq[const(1).const(2).const(3).]"); | |||
6036 | a = op_append_list(OP_LINESEQ, iv_op(4), a)Perl_op_append_list( OP_LINESEQ,iv_op(4),a); | |||
6037 | check_op(a, "lineseq[const(4).const(1).const(2).const(3).]"); | |||
6038 | a = op_append_list(OP_LINESEQ, a, NULL)Perl_op_append_list( OP_LINESEQ,a,((void*)0)); | |||
6039 | check_op(a, "lineseq[const(4).const(1).const(2).const(3).]"); | |||
6040 | a = op_append_list(OP_LINESEQ, NULL, a)Perl_op_append_list( OP_LINESEQ,((void*)0),a); | |||
6041 | check_op(a, "lineseq[const(4).const(1).const(2).const(3).]"); | |||
6042 | a = op_append_list(OP_LINESEQ, a,Perl_op_append_list( OP_LINESEQ,a,Perl_op_append_list( OP_LINESEQ ,iv_op(5),iv_op(6))) | |||
6043 | op_append_list(OP_LINESEQ, iv_op(5), iv_op(6)))Perl_op_append_list( OP_LINESEQ,a,Perl_op_append_list( OP_LINESEQ ,iv_op(5),iv_op(6))); | |||
6044 | check_op(a, "lineseq[const(4).const(1).const(2).const(3)." | |||
6045 | "const(5).const(6).]"); | |||
6046 | op_free(a)Perl_op_free( a); | |||
6047 | a = op_append_list(OP_LINESEQ,Perl_op_append_list( OP_LINESEQ,Perl_op_append_list( OP_LINESEQ ,iv_op(1),iv_op(2)),Perl_op_append_list( OP_LIST,iv_op(3),iv_op (4))) | |||
6048 | op_append_list(OP_LINESEQ, iv_op(1), iv_op(2)),Perl_op_append_list( OP_LINESEQ,Perl_op_append_list( OP_LINESEQ ,iv_op(1),iv_op(2)),Perl_op_append_list( OP_LIST,iv_op(3),iv_op (4))) | |||
6049 | op_append_list(OP_LIST, iv_op(3), iv_op(4)))Perl_op_append_list( OP_LINESEQ,Perl_op_append_list( OP_LINESEQ ,iv_op(1),iv_op(2)),Perl_op_append_list( OP_LIST,iv_op(3),iv_op (4))); | |||
6050 | check_op(a, "lineseq[const(1).const(2)." | |||
6051 | "list[pushmark.const(3).const(4).]]"); | |||
6052 | op_free(a)Perl_op_free( a); | |||
6053 | a = op_append_list(OP_LINESEQ,Perl_op_append_list( OP_LINESEQ,Perl_op_append_list( OP_LIST, iv_op(1),iv_op(2)),Perl_op_append_list( OP_LINESEQ,iv_op(3),iv_op (4))) | |||
6054 | op_append_list(OP_LIST, iv_op(1), iv_op(2)),Perl_op_append_list( OP_LINESEQ,Perl_op_append_list( OP_LIST, iv_op(1),iv_op(2)),Perl_op_append_list( OP_LINESEQ,iv_op(3),iv_op (4))) | |||
6055 | op_append_list(OP_LINESEQ, iv_op(3), iv_op(4)))Perl_op_append_list( OP_LINESEQ,Perl_op_append_list( OP_LIST, iv_op(1),iv_op(2)),Perl_op_append_list( OP_LINESEQ,iv_op(3),iv_op (4))); | |||
6056 | check_op(a, "lineseq[list[pushmark.const(1).const(2).]" | |||
6057 | "const(3).const(4).]"); | |||
6058 | op_free(a)Perl_op_free( a); | |||
6059 | #undef check_op | |||
6060 | #line 6061 "APItest.c" | |||
6061 | } | |||
6062 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6063 | } | |||
6064 | ||||
6065 | ||||
6066 | XS_EUPXS(XS_XS__APItest_test_op_linklist)static void XS_XS__APItest_test_op_linklist( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6067 | XS_EUPXS(XS_XS__APItest_test_op_linklist)static void XS_XS__APItest_test_op_linklist( CV* cv __attribute__ ((unused))) | |||
6068 | { | |||
6069 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6070 | if (items != 0) | |||
6071 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6072 | { | |||
6073 | #line 3763 "APItest.xs" | |||
6074 | OP *o; | |||
6075 | #line 6076 "APItest.c" | |||
6076 | #line 3765 "APItest.xs" | |||
6077 | #define check_ll(o, expect) \ | |||
6078 | STMT_STARTdo { \ | |||
6079 | if (strNE(test_op_linklist_describe(o), (expect))(strcmp(test_op_linklist_describe(o),(expect)) != 0)) \ | |||
6080 | croakPerl_croak("fail %s %s", test_op_linklist_describe(o), (expect)); \ | |||
6081 | } STMT_ENDwhile (0) | |||
6082 | o = iv_op(1); | |||
6083 | check_ll(o, ".const1"); | |||
6084 | op_free(o)Perl_op_free( o); | |||
6085 | ||||
6086 | o = mkUNOP(OP_NOT, iv_op(1))THX_mkUNOP( (OP_NOT), (iv_op(1))); | |||
6087 | check_ll(o, ".const1.not"); | |||
6088 | op_free(o)Perl_op_free( o); | |||
6089 | ||||
6090 | o = mkUNOP(OP_NOT, mkUNOP(OP_NEGATE, iv_op(1)))THX_mkUNOP( (OP_NOT), (THX_mkUNOP( (OP_NEGATE), (iv_op(1))))); | |||
6091 | check_ll(o, ".const1.negate.not"); | |||
6092 | op_free(o)Perl_op_free( o); | |||
6093 | ||||
6094 | o = mkBINOP(OP_ADD, iv_op(1), iv_op(2))THX_mkBINOP( (OP_ADD), (iv_op(1)), (iv_op(2))); | |||
6095 | check_ll(o, ".const1.const2.add"); | |||
6096 | op_free(o)Perl_op_free( o); | |||
6097 | ||||
6098 | o = mkBINOP(OP_ADD, mkUNOP(OP_NOT, iv_op(1)), iv_op(2))THX_mkBINOP( (OP_ADD), (THX_mkUNOP( (OP_NOT), (iv_op(1)))), ( iv_op(2))); | |||
6099 | check_ll(o, ".const1.not.const2.add"); | |||
6100 | op_free(o)Perl_op_free( o); | |||
6101 | ||||
6102 | o = mkUNOP(OP_NOT, mkBINOP(OP_ADD, iv_op(1), iv_op(2)))THX_mkUNOP( (OP_NOT), (THX_mkBINOP( (OP_ADD), (iv_op(1)), (iv_op (2))))); | |||
6103 | check_ll(o, ".const1.const2.add.not"); | |||
6104 | op_free(o)Perl_op_free( o); | |||
6105 | ||||
6106 | o = mkLISTOP(OP_LINESEQ, iv_op(1), iv_op(2), iv_op(3))THX_mkLISTOP( (OP_LINESEQ), (iv_op(1)), (iv_op(2)), (iv_op(3) )); | |||
6107 | check_ll(o, ".const1.const2.const3.lineseq"); | |||
6108 | op_free(o)Perl_op_free( o); | |||
6109 | ||||
6110 | o = mkLISTOP(OP_LINESEQ,THX_mkLISTOP( (OP_LINESEQ), (THX_mkBINOP( (OP_ADD), (iv_op(1) ), (iv_op(2)))), (THX_mkUNOP( (OP_NOT), (iv_op(3)))), (THX_mkLISTOP ( (OP_SUBSTR), (iv_op(4)), (iv_op(5)), (iv_op(6))))) | |||
6111 | mkBINOP(OP_ADD, iv_op(1), iv_op(2)),THX_mkLISTOP( (OP_LINESEQ), (THX_mkBINOP( (OP_ADD), (iv_op(1) ), (iv_op(2)))), (THX_mkUNOP( (OP_NOT), (iv_op(3)))), (THX_mkLISTOP ( (OP_SUBSTR), (iv_op(4)), (iv_op(5)), (iv_op(6))))) | |||
6112 | mkUNOP(OP_NOT, iv_op(3)),THX_mkLISTOP( (OP_LINESEQ), (THX_mkBINOP( (OP_ADD), (iv_op(1) ), (iv_op(2)))), (THX_mkUNOP( (OP_NOT), (iv_op(3)))), (THX_mkLISTOP ( (OP_SUBSTR), (iv_op(4)), (iv_op(5)), (iv_op(6))))) | |||
6113 | mkLISTOP(OP_SUBSTR, iv_op(4), iv_op(5), iv_op(6)))THX_mkLISTOP( (OP_LINESEQ), (THX_mkBINOP( (OP_ADD), (iv_op(1) ), (iv_op(2)))), (THX_mkUNOP( (OP_NOT), (iv_op(3)))), (THX_mkLISTOP ( (OP_SUBSTR), (iv_op(4)), (iv_op(5)), (iv_op(6))))); | |||
6114 | check_ll(o, ".const1.const2.add.const3.not" | |||
6115 | ".const4.const5.const6.substr.lineseq"); | |||
6116 | op_free(o)Perl_op_free( o); | |||
6117 | ||||
6118 | o = mkBINOP(OP_ADD, iv_op(1), iv_op(2))THX_mkBINOP( (OP_ADD), (iv_op(1)), (iv_op(2))); | |||
6119 | LINKLIST(o)((o)->op_next ? (o)->op_next : Perl_op_linklist( (OP*)o )); | |||
6120 | o = mkBINOP(OP_SUBTRACT, o, iv_op(3))THX_mkBINOP( (OP_SUBTRACT), (o), (iv_op(3))); | |||
6121 | check_ll(o, ".const1.const2.add.const3.subtract"); | |||
6122 | op_free(o)Perl_op_free( o); | |||
6123 | #undef check_ll | |||
6124 | #undef iv_op | |||
6125 | #line 6126 "APItest.c" | |||
6126 | } | |||
6127 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6128 | } | |||
6129 | ||||
6130 | ||||
6131 | XS_EUPXS(XS_XS__APItest_peep_enable)static void XS_XS__APItest_peep_enable( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6132 | XS_EUPXS(XS_XS__APItest_peep_enable)static void XS_XS__APItest_peep_enable( CV* cv __attribute__( (unused))) | |||
6133 | { | |||
6134 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6135 | if (items != 0) | |||
6136 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6137 | { | |||
6138 | #line 3817 "APItest.xs" | |||
6139 | dMY_CXTstruct Perl___notused_struct; | |||
6140 | #line 6141 "APItest.c" | |||
6141 | #line 3819 "APItest.xs" | |||
6142 | av_clear(MY_CXT.peep_recorder)Perl_av_clear( my_cxt.peep_recorder); | |||
6143 | av_clear(MY_CXT.rpeep_recorder)Perl_av_clear( my_cxt.rpeep_recorder); | |||
6144 | MY_CXTmy_cxt.peep_recording = 1; | |||
6145 | #line 6146 "APItest.c" | |||
6146 | } | |||
6147 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6148 | } | |||
6149 | ||||
6150 | ||||
6151 | XS_EUPXS(XS_XS__APItest_peep_disable)static void XS_XS__APItest_peep_disable( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6152 | XS_EUPXS(XS_XS__APItest_peep_disable)static void XS_XS__APItest_peep_disable( CV* cv __attribute__ ((unused))) | |||
6153 | { | |||
6154 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6155 | if (items != 0) | |||
6156 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6157 | { | |||
6158 | #line 3826 "APItest.xs" | |||
6159 | dMY_CXTstruct Perl___notused_struct; | |||
6160 | #line 6161 "APItest.c" | |||
6161 | #line 3828 "APItest.xs" | |||
6162 | MY_CXTmy_cxt.peep_recording = 0; | |||
6163 | #line 6164 "APItest.c" | |||
6164 | } | |||
6165 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6166 | } | |||
6167 | ||||
6168 | ||||
6169 | XS_EUPXS(XS_XS__APItest_peep_record)static void XS_XS__APItest_peep_record( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6170 | XS_EUPXS(XS_XS__APItest_peep_record)static void XS_XS__APItest_peep_record( CV* cv __attribute__( (unused))) | |||
6171 | { | |||
6172 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6173 | if (items != 0) | |||
6174 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6175 | { | |||
6176 | #line 3833 "APItest.xs" | |||
6177 | dMY_CXTstruct Perl___notused_struct; | |||
6178 | #line 6179 "APItest.c" | |||
6179 | SV * RETVAL; | |||
6180 | #line 3835 "APItest.xs" | |||
6181 | RETVAL = newRV_inc((SV *)MY_CXT.peep_recorder)Perl_newRV( (SV *)my_cxt.peep_recorder); | |||
6182 | #line 6183 "APItest.c" | |||
6183 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6184 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6185 | } | |||
6186 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6187 | } | |||
6188 | ||||
6189 | ||||
6190 | XS_EUPXS(XS_XS__APItest_rpeep_record)static void XS_XS__APItest_rpeep_record( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6191 | XS_EUPXS(XS_XS__APItest_rpeep_record)static void XS_XS__APItest_rpeep_record( CV* cv __attribute__ ((unused))) | |||
6192 | { | |||
6193 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6194 | if (items != 0) | |||
6195 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6196 | { | |||
6197 | #line 3842 "APItest.xs" | |||
6198 | dMY_CXTstruct Perl___notused_struct; | |||
6199 | #line 6200 "APItest.c" | |||
6200 | SV * RETVAL; | |||
6201 | #line 3844 "APItest.xs" | |||
6202 | RETVAL = newRV_inc((SV *)MY_CXT.rpeep_recorder)Perl_newRV( (SV *)my_cxt.rpeep_recorder); | |||
6203 | #line 6204 "APItest.c" | |||
6204 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6205 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6206 | } | |||
6207 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6208 | } | |||
6209 | ||||
6210 | ||||
6211 | XS_EUPXS(XS_XS__APItest_multicall_each)static void XS_XS__APItest_multicall_each( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6212 | XS_EUPXS(XS_XS__APItest_multicall_each)static void XS_XS__APItest_multicall_each( CV* cv __attribute__ ((unused))) | |||
6213 | { | |||
6214 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6215 | if (items < 1) | |||
6216 | croak_xs_usagePerl_croak_xs_usage(cv, "block, ..."); | |||
6217 | { | |||
6218 | SV * block = ST(0)PL_stack_base[ax + (0)] | |||
6219 | ; | |||
6220 | #line 3859 "APItest.xs" | |||
6221 | { | |||
6222 | dMULTICALLOP *multicall_cop; _Bool multicall_oldcatch; | |||
6223 | int index; | |||
6224 | GV *gv; | |||
6225 | HV *stash; | |||
6226 | I32 gimme = G_SCALAR2; | |||
6227 | SV **args = &PL_stack_base[ax]; | |||
6228 | CV *cv; | |||
6229 | ||||
6230 | if(items <= 1) { | |||
6231 | XSRETURN_UNDEFdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[1])); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6232 | } | |||
6233 | cv = sv_2cv(block, &stash, &gv, 0)Perl_sv_2cv( block,&stash,&gv,0); | |||
6234 | if (cv == Nullcv((CV*)((void*)0))) { | |||
6235 | croakPerl_croak("multicall_each: not a subroutine reference"); | |||
6236 | } | |||
6237 | PUSH_MULTICALL(cv)do { PERL_CONTEXT *cx; CV * const _nOnclAshIngNamE_ = cv; CV * const cv = _nOnclAshIngNamE_; PADLIST * const padlist = (*( & (((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_padlist_u .xcv_padlist))); multicall_oldcatch = (PL_top_env->je_mustcatch ); do { PL_top_env->je_mustcatch = ((1)); } while (0); do { PERL_SI *next = PL_curstackinfo->si_next; if (!next) { next = Perl_new_stackinfo( 32,2048/sizeof(PERL_CONTEXT) - 1); next ->si_prev = PL_curstackinfo; PL_curstackinfo->si_next = next; } next->si_type = 10; next->si_cxix = -1; next-> si_cxsubix = -1; (void)0; ((XPVAV*) (next->si_stack)->sv_any )->xav_fill = 0; do { ((XPVAV*) (PL_curstack)->sv_any)-> xav_fill = sp - PL_stack_base; PL_stack_base = ((next->si_stack )->sv_u.svu_array); PL_stack_max = PL_stack_base + ((XPVAV *) (next->si_stack)->sv_any)->xav_max; sp = PL_stack_sp = PL_stack_base + ((XPVAV*) (next->si_stack)->sv_any)-> xav_fill; PL_curstack = next->si_stack; } while (0); PL_curstackinfo = next; (void)0; } while (0); cx = Perl_cx_pushblock( (9|0x10 |0),(U8)gimme,PL_stack_sp,PL_savestack_ix); Perl_cx_pushsub( cx ,cv,((void*)0),0); Perl_save_pushptr( (void *)(PL_op),18); if (!(0 & 0x80)) (*Perl_CvDEPTH((const CV *)cv))++; if ((*Perl_CvDEPTH ((const CV *)cv)) >= 2) Perl_pad_push( padlist, (*Perl_CvDEPTH ((const CV *)cv))); PL_comppad = (PAD*) ((padlist)->xpadl_arr .xpadlarr_alloc[(*Perl_CvDEPTH((const CV *)cv))]); PL_curpad = ((PL_comppad)->sv_u.svu_array); ;; multicall_cop = ((XPVCV *)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_start ; } while (0); | |||
6238 | SAVESPTR(GvSV(PL_defgv))Perl_save_sptr( (SV**)&(((0+(PL_defgv)->sv_u.svu_gp)-> gp_sv))); | |||
6239 | ||||
6240 | for(index = 1 ; index < items ; index++) { | |||
6241 | GvSV(PL_defgv)((0+(PL_defgv)->sv_u.svu_gp)->gp_sv) = args[index]; | |||
6242 | MULTICALLdo { PL_op = multicall_cop; PL_runops(); } while (0); | |||
6243 | } | |||
6244 | POP_MULTICALLdo { PERL_CONTEXT *cx; cx = (&(PL_curstackinfo->si_cxstack )[(PL_curstackinfo->si_cxix)]); do { if (PL_savestack_ix > cx->cx_u.cx_blk.blku_oldsaveix) Perl_leave_scope( cx-> cx_u.cx_blk.blku_oldsaveix); } while (0); Perl_cx_popsub_common ( cx); gimme = cx->cx_u.cx_blk.blku_gimme; ((void)sizeof(gimme )); Perl_cx_popblock( cx); (PL_curstackinfo->si_cxix)--;; do { SV **sp = PL_stack_sp; PERL_SI * const prev = PL_curstackinfo ->si_prev; if (!prev) { Perl_croak_popstack(); } do { ((XPVAV *) (PL_curstack)->sv_any)->xav_fill = sp - PL_stack_base ; PL_stack_base = ((prev->si_stack)->sv_u.svu_array); PL_stack_max = PL_stack_base + ((XPVAV*) (prev->si_stack)->sv_any)-> xav_max; sp = PL_stack_sp = PL_stack_base + ((XPVAV*) (prev-> si_stack)->sv_any)->xav_fill; PL_curstack = prev->si_stack ; } while (0); PL_curstackinfo = prev; } while (0); do { PL_top_env ->je_mustcatch = (multicall_oldcatch); } while (0); sp = PL_stack_sp ; } while (0); | |||
6245 | XSRETURN_UNDEFdo { (PL_stack_base[ax + (0)] = &(PL_sv_immortals[1])); do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6246 | } | |||
6247 | #line 6248 "APItest.c" | |||
6248 | } | |||
6249 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6250 | } | |||
6251 | ||||
6252 | ||||
6253 | XS_EUPXS(XS_XS__APItest_multicall_return)static void XS_XS__APItest_multicall_return( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6254 | XS_EUPXS(XS_XS__APItest_multicall_return)static void XS_XS__APItest_multicall_return( CV* cv __attribute__ ((unused))) | |||
6255 | { | |||
6256 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6257 | if (items != 2) | |||
6258 | croak_xs_usagePerl_croak_xs_usage(cv, "block, context"); | |||
6259 | { | |||
6260 | SV * block = ST(0)PL_stack_base[ax + (0)] | |||
6261 | ; | |||
6262 | I32 context = (I32)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)) | |||
6263 | ; | |||
6264 | #line 3899 "APItest.xs" | |||
6265 | { | |||
6266 | dSPSV **sp = PL_stack_sp; | |||
6267 | dMULTICALLOP *multicall_cop; _Bool multicall_oldcatch; | |||
6268 | GV *gv; | |||
6269 | HV *stash; | |||
6270 | I32 gimme = context; | |||
6271 | CV *cv; | |||
6272 | AV *av; | |||
6273 | SV **p; | |||
6274 | SSize_tssize_t i, size; | |||
6275 | ||||
6276 | cv = sv_2cv(block, &stash, &gv, 0)Perl_sv_2cv( block,&stash,&gv,0); | |||
6277 | if (cv == Nullcv((CV*)((void*)0))) { | |||
6278 | croakPerl_croak("multicall_return not a subroutine reference"); | |||
6279 | } | |||
6280 | PUSH_MULTICALL(cv)do { PERL_CONTEXT *cx; CV * const _nOnclAshIngNamE_ = cv; CV * const cv = _nOnclAshIngNamE_; PADLIST * const padlist = (*( & (((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_padlist_u .xcv_padlist))); multicall_oldcatch = (PL_top_env->je_mustcatch ); do { PL_top_env->je_mustcatch = ((1)); } while (0); do { PERL_SI *next = PL_curstackinfo->si_next; if (!next) { next = Perl_new_stackinfo( 32,2048/sizeof(PERL_CONTEXT) - 1); next ->si_prev = PL_curstackinfo; PL_curstackinfo->si_next = next; } next->si_type = 10; next->si_cxix = -1; next-> si_cxsubix = -1; (void)0; ((XPVAV*) (next->si_stack)->sv_any )->xav_fill = 0; do { ((XPVAV*) (PL_curstack)->sv_any)-> xav_fill = sp - PL_stack_base; PL_stack_base = ((next->si_stack )->sv_u.svu_array); PL_stack_max = PL_stack_base + ((XPVAV *) (next->si_stack)->sv_any)->xav_max; sp = PL_stack_sp = PL_stack_base + ((XPVAV*) (next->si_stack)->sv_any)-> xav_fill; PL_curstack = next->si_stack; } while (0); PL_curstackinfo = next; (void)0; } while (0); cx = Perl_cx_pushblock( (9|0x10 |0),(U8)gimme,PL_stack_sp,PL_savestack_ix); Perl_cx_pushsub( cx ,cv,((void*)0),0); Perl_save_pushptr( (void *)(PL_op),18); if (!(0 & 0x80)) (*Perl_CvDEPTH((const CV *)cv))++; if ((*Perl_CvDEPTH ((const CV *)cv)) >= 2) Perl_pad_push( padlist, (*Perl_CvDEPTH ((const CV *)cv))); PL_comppad = (PAD*) ((padlist)->xpadl_arr .xpadlarr_alloc[(*Perl_CvDEPTH((const CV *)cv))]); PL_curpad = ((PL_comppad)->sv_u.svu_array); ;; multicall_cop = ((XPVCV *)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_start ; } while (0); | |||
6281 | ||||
6282 | MULTICALLdo { PL_op = multicall_cop; PL_runops(); } while (0); | |||
6283 | ||||
6284 | /* copy returned values into an array so they're not freed during | |||
6285 | * POP_MULTICALL */ | |||
6286 | ||||
6287 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
6288 | SPAGAINsp = PL_stack_sp; | |||
6289 | ||||
6290 | switch (context) { | |||
6291 | case G_VOID1: | |||
6292 | break; | |||
6293 | ||||
6294 | case G_SCALAR2: | |||
6295 | av_push(av, SvREFCNT_inc(TOPs))Perl_av_push( av,Perl_SvREFCNT_inc(((SV *)({ void *_p = ((*sp )); _p; })))); | |||
6296 | break; | |||
6297 | ||||
6298 | case G_ARRAY3: | |||
6299 | for (p = PL_stack_base + 1; p <= SPsp; p++) | |||
6300 | av_push(av, SvREFCNT_inc(*p))Perl_av_push( av,Perl_SvREFCNT_inc(((SV *)({ void *_p = (*p); _p; })))); | |||
6301 | break; | |||
6302 | } | |||
6303 | ||||
6304 | POP_MULTICALLdo { PERL_CONTEXT *cx; cx = (&(PL_curstackinfo->si_cxstack )[(PL_curstackinfo->si_cxix)]); do { if (PL_savestack_ix > cx->cx_u.cx_blk.blku_oldsaveix) Perl_leave_scope( cx-> cx_u.cx_blk.blku_oldsaveix); } while (0); Perl_cx_popsub_common ( cx); gimme = cx->cx_u.cx_blk.blku_gimme; ((void)sizeof(gimme )); Perl_cx_popblock( cx); (PL_curstackinfo->si_cxix)--;; do { SV **sp = PL_stack_sp; PERL_SI * const prev = PL_curstackinfo ->si_prev; if (!prev) { Perl_croak_popstack(); } do { ((XPVAV *) (PL_curstack)->sv_any)->xav_fill = sp - PL_stack_base ; PL_stack_base = ((prev->si_stack)->sv_u.svu_array); PL_stack_max = PL_stack_base + ((XPVAV*) (prev->si_stack)->sv_any)-> xav_max; sp = PL_stack_sp = PL_stack_base + ((XPVAV*) (prev-> si_stack)->sv_any)->xav_fill; PL_curstack = prev->si_stack ; } while (0); PL_curstackinfo = prev; } while (0); do { PL_top_env ->je_mustcatch = (multicall_oldcatch); } while (0); sp = PL_stack_sp ; } while (0); | |||
6305 | ||||
6306 | size = AvFILLp(av)((XPVAV*) (av)->sv_any)->xav_fill + 1; | |||
6307 | EXTEND(SP, size)do { (void)0; if (__builtin_expect(((((size) < 0 || PL_stack_max - (sp) < (size))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(size) > sizeof(ssize_t) && ((ssize_t )(size) != (size)) ? -1 : (size))); ((void)sizeof(sp)); } } while (0); | |||
6308 | for (i = 0; i < size; i++) | |||
6309 | ST(i)PL_stack_base[ax + (i)] = *av_fetch(av, i, FALSE)Perl_av_fetch( av,i,(0)); | |||
6310 | sv_2mortal((SV*)av)Perl_sv_2mortal( (SV*)av); | |||
6311 | XSRETURN(size)do { const IV tmpXSoff = (size); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6312 | } | |||
6313 | #line 6314 "APItest.c" | |||
6314 | } | |||
6315 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6316 | } | |||
6317 | ||||
6318 | #ifdef USE_ITHREADS | |||
6319 | #define XSubPPtmpAAAC 1 | |||
6320 | ||||
6321 | ||||
6322 | XS_EUPXS(XS_XS__APItest_clone_with_stack)static void XS_XS__APItest_clone_with_stack( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6323 | XS_EUPXS(XS_XS__APItest_clone_with_stack)static void XS_XS__APItest_clone_with_stack( CV* cv __attribute__ ((unused))) | |||
6324 | { | |||
6325 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6326 | if (items != 0) | |||
6327 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6328 | { | |||
6329 | #line 3954 "APItest.xs" | |||
6330 | { | |||
6331 | PerlInterpreter *interp = aTHX; /* The original interpreter */ | |||
6332 | PerlInterpreter *interp_dup; /* The duplicate interpreter */ | |||
6333 | int oldscope = 1; /* We are responsible for all scopes */ | |||
6334 | ||||
6335 | interp_dup = perl_clone(interp, CLONEf_COPY_STACKS1 | CLONEf_CLONE_HOST4 ); | |||
6336 | ||||
6337 | /* destroy old perl */ | |||
6338 | PERL_SET_CONTEXT(interp)(PL_curinterp = (PerlInterpreter*)(interp)); | |||
6339 | ||||
6340 | POPSTACK_TO(PL_mainstack)do { while (PL_curstack != PL_mainstack) { Perl_dounwind( -1) ; do { SV **sp = PL_stack_sp; PERL_SI * const prev = PL_curstackinfo ->si_prev; if (!prev) { Perl_croak_popstack(); } do { ((XPVAV *) (PL_curstack)->sv_any)->xav_fill = sp - PL_stack_base ; PL_stack_base = ((prev->si_stack)->sv_u.svu_array); PL_stack_max = PL_stack_base + ((XPVAV*) (prev->si_stack)->sv_any)-> xav_max; sp = PL_stack_sp = PL_stack_base + ((XPVAV*) (prev-> si_stack)->sv_any)->xav_fill; PL_curstack = prev->si_stack ; } while (0); PL_curstackinfo = prev; } while (0); } } while (0); | |||
6341 | if (cxstack_ix(PL_curstackinfo->si_cxix) >= 0) { | |||
6342 | dounwind(-1)Perl_dounwind( -1); | |||
6343 | cx_popblock(cxstack)Perl_cx_popblock( (PL_curstackinfo->si_cxstack)); | |||
6344 | } | |||
6345 | LEAVE_SCOPE(0)do { if (PL_savestack_ix > 0) Perl_leave_scope( 0); } while (0); | |||
6346 | PL_scopestack_ix = oldscope; | |||
6347 | FREETMPSif (PL_tmps_ix > PL_tmps_floor) Perl_free_tmps(); | |||
6348 | ||||
6349 | perl_destruct(interp); | |||
6350 | perl_free(interp); | |||
6351 | ||||
6352 | /* switch to new perl */ | |||
6353 | PERL_SET_CONTEXT(interp_dup)(PL_curinterp = (PerlInterpreter*)(interp_dup)); | |||
6354 | ||||
6355 | /* continue after 'clone_with_stack' */ | |||
6356 | if (interp_dup->Iop) | |||
6357 | interp_dup->Iop = interp_dup->Iop->op_next; | |||
6358 | ||||
6359 | /* run with new perl */ | |||
6360 | Perl_runops_standard(interp_dup); | |||
6361 | ||||
6362 | /* We may have additional unclosed scopes if fork() was called | |||
6363 | * from within a BEGIN block. See perlfork.pod for more details. | |||
6364 | * We cannot clean up these other scopes because they belong to a | |||
6365 | * different interpreter, but we also cannot leave PL_scopestack_ix | |||
6366 | * dangling because that can trigger an assertion in perl_destruct(). | |||
6367 | */ | |||
6368 | if (PL_scopestack_ix > oldscope) { | |||
6369 | PL_scopestack[oldscope-1] = PL_scopestack[PL_scopestack_ix-1]; | |||
6370 | PL_scopestack_ix = oldscope; | |||
6371 | } | |||
6372 | ||||
6373 | perl_destruct(interp_dup); | |||
6374 | perl_free(interp_dup); | |||
6375 | ||||
6376 | /* call the real 'exit' not PerlProc_exit */ | |||
6377 | #undef exit | |||
6378 | exit(0); | |||
6379 | } | |||
6380 | #line 6381 "APItest.c" | |||
6381 | } | |||
6382 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6383 | } | |||
6384 | ||||
6385 | #endif /* USE_ITHREDS */ | |||
6386 | ||||
6387 | XS_EUPXS(XS_XS__APItest_take_svref)static void XS_XS__APItest_take_svref( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6388 | XS_EUPXS(XS_XS__APItest_take_svref)static void XS_XS__APItest_take_svref( CV* cv __attribute__(( unused))) | |||
6389 | { | |||
6390 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6391 | if (items != 1) | |||
6392 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
6393 | { | |||
6394 | SV * RETVAL; | |||
6395 | SVREF sv; | |||
6396 | ||||
6397 | STMT_STARTdo { | |||
6398 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
6399 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
6400 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){ | |||
6401 | sv = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
6402 | } | |||
6403 | else{ | |||
6404 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", | |||
6405 | "XS::APItest::take_svref", | |||
6406 | "sv"); | |||
6407 | } | |||
6408 | } STMT_ENDwhile (0) | |||
6409 | ; | |||
6410 | #line 4010 "APItest.xs" | |||
6411 | RETVAL = newRV_inc(sv)Perl_newRV( sv); | |||
6412 | #line 6413 "APItest.c" | |||
6413 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6414 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6415 | } | |||
6416 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6417 | } | |||
6418 | ||||
6419 | ||||
6420 | XS_EUPXS(XS_XS__APItest_take_avref)static void XS_XS__APItest_take_avref( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6421 | XS_EUPXS(XS_XS__APItest_take_avref)static void XS_XS__APItest_take_avref( CV* cv __attribute__(( unused))) | |||
6422 | { | |||
6423 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6424 | if (items != 1) | |||
6425 | croak_xs_usagePerl_croak_xs_usage(cv, "av"); | |||
6426 | { | |||
6427 | SV * RETVAL; | |||
6428 | AV* av; | |||
6429 | ||||
6430 | STMT_STARTdo { | |||
6431 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
6432 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
6433 | 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){ | |||
6434 | av = (AV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
6435 | } | |||
6436 | else{ | |||
6437 | Perl_croak_nocontextPerl_croak("%s: %s is not an ARRAY reference", | |||
6438 | "XS::APItest::take_avref", | |||
6439 | "av"); | |||
6440 | } | |||
6441 | } STMT_ENDwhile (0) | |||
6442 | ; | |||
6443 | #line 4017 "APItest.xs" | |||
6444 | RETVAL = newRV_inc((SV*)av)Perl_newRV( (SV*)av); | |||
6445 | #line 6446 "APItest.c" | |||
6446 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6447 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6448 | } | |||
6449 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6450 | } | |||
6451 | ||||
6452 | ||||
6453 | XS_EUPXS(XS_XS__APItest_take_hvref)static void XS_XS__APItest_take_hvref( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6454 | XS_EUPXS(XS_XS__APItest_take_hvref)static void XS_XS__APItest_take_hvref( CV* cv __attribute__(( unused))) | |||
6455 | { | |||
6456 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6457 | if (items != 1) | |||
6458 | croak_xs_usagePerl_croak_xs_usage(cv, "hv"); | |||
6459 | { | |||
6460 | SV * RETVAL; | |||
6461 | HV* hv; | |||
6462 | ||||
6463 | STMT_STARTdo { | |||
6464 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
6465 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
6466 | 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){ | |||
6467 | hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
6468 | } | |||
6469 | else{ | |||
6470 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
6471 | "XS::APItest::take_hvref", | |||
6472 | "hv"); | |||
6473 | } | |||
6474 | } STMT_ENDwhile (0) | |||
6475 | ; | |||
6476 | #line 4024 "APItest.xs" | |||
6477 | RETVAL = newRV_inc((SV*)hv)Perl_newRV( (SV*)hv); | |||
6478 | #line 6479 "APItest.c" | |||
6479 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6480 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6481 | } | |||
6482 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6483 | } | |||
6484 | ||||
6485 | ||||
6486 | XS_EUPXS(XS_XS__APItest_take_cvref)static void XS_XS__APItest_take_cvref( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6487 | XS_EUPXS(XS_XS__APItest_take_cvref)static void XS_XS__APItest_take_cvref( CV* cv __attribute__(( unused))) | |||
6488 | { | |||
6489 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6490 | if (items != 1) | |||
6491 | croak_xs_usagePerl_croak_xs_usage(cv, "cv"); | |||
6492 | { | |||
6493 | SV * RETVAL; | |||
6494 | CV* cv; | |||
6495 | ||||
6496 | STMT_STARTdo { | |||
6497 | HV *st; | |||
6498 | GV *gvp; | |||
6499 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
6500 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
6501 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); | |||
6502 | if (!cv) { | |||
6503 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", | |||
6504 | "XS::APItest::take_cvref", | |||
6505 | "cv"); | |||
6506 | } | |||
6507 | } STMT_ENDwhile (0) | |||
6508 | ; | |||
6509 | #line 4032 "APItest.xs" | |||
6510 | RETVAL = newRV_inc((SV*)cv)Perl_newRV( (SV*)cv); | |||
6511 | #line 6512 "APItest.c" | |||
6512 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6513 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6514 | } | |||
6515 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6516 | } | |||
6517 | ||||
6518 | ||||
6519 | XS_EUPXS(XS_XS__APItest_establish_cleanup)static void XS_XS__APItest_establish_cleanup( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6520 | XS_EUPXS(XS_XS__APItest_establish_cleanup)static void XS_XS__APItest_establish_cleanup( CV* cv __attribute__ ((unused))) | |||
6521 | { | |||
6522 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6523 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
6524 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
6525 | { | |||
6526 | #line 4081 "APItest.xs" | |||
6527 | PERL_UNUSED_VAR(items)((void)sizeof(items)); | |||
6528 | croakPerl_croak("establish_cleanup called as a function"); | |||
6529 | #line 6530 "APItest.c" | |||
6530 | } | |||
6531 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6532 | } | |||
6533 | ||||
6534 | ||||
6535 | XS_EUPXS(XS_XS__APItest_postinc)static void XS_XS__APItest_postinc( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6536 | XS_EUPXS(XS_XS__APItest_postinc)static void XS_XS__APItest_postinc( CV* cv __attribute__((unused ))) | |||
6537 | { | |||
6538 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6539 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
6540 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
6541 | { | |||
6542 | #line 4094 "APItest.xs" | |||
6543 | PERL_UNUSED_VAR(items)((void)sizeof(items)); | |||
6544 | croakPerl_croak("postinc called as a function"); | |||
6545 | #line 6546 "APItest.c" | |||
6546 | } | |||
6547 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6548 | } | |||
6549 | ||||
6550 | ||||
6551 | XS_EUPXS(XS_XS__APItest_filter)static void XS_XS__APItest_filter( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6552 | XS_EUPXS(XS_XS__APItest_filter)static void XS_XS__APItest_filter( CV* cv __attribute__((unused ))) | |||
6553 | { | |||
6554 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6555 | if (items != 0) | |||
6556 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6557 | { | |||
6558 | #line 4100 "APItest.xs" | |||
6559 | filter_add(filter_call, NULL)Perl_filter_add( filter_call,((void*)0)); | |||
6560 | #line 6561 "APItest.c" | |||
6561 | } | |||
6562 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6563 | } | |||
6564 | ||||
6565 | ||||
6566 | XS_EUPXS(XS_XS__APItest_lv_temp_object)static void XS_XS__APItest_lv_temp_object( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6567 | XS_EUPXS(XS_XS__APItest_lv_temp_object)static void XS_XS__APItest_lv_temp_object( CV* cv __attribute__ ((unused))) | |||
6568 | { | |||
6569 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6570 | if (items != 0) | |||
6571 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6572 | { | |||
6573 | SV * RETVAL; | |||
6574 | #line 4111 "APItest.xs" | |||
6575 | RETVAL = | |||
6576 | sv_bless(Perl_sv_bless( Perl_newRV_noinc( Perl_newSV( 0)),Perl_gv_stashpvn ( ("" "XS::APItest::TempObj" ""), (sizeof("XS::APItest::TempObj" )-1), 0x01)) | |||
6577 | newRV_noinc(newSV(0)),Perl_sv_bless( Perl_newRV_noinc( Perl_newSV( 0)),Perl_gv_stashpvn ( ("" "XS::APItest::TempObj" ""), (sizeof("XS::APItest::TempObj" )-1), 0x01)) | |||
6578 | gv_stashpvs("XS::APItest::TempObj",GV_ADD)Perl_sv_bless( Perl_newRV_noinc( Perl_newSV( 0)),Perl_gv_stashpvn ( ("" "XS::APItest::TempObj" ""), (sizeof("XS::APItest::TempObj" )-1), 0x01)) | |||
6579 | )Perl_sv_bless( Perl_newRV_noinc( Perl_newSV( 0)),Perl_gv_stashpvn ( ("" "XS::APItest::TempObj" ""), (sizeof("XS::APItest::TempObj" )-1), 0x01)); /* Package defined in test script */ | |||
6580 | #line 6581 "APItest.c" | |||
6581 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6582 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6583 | } | |||
6584 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6585 | } | |||
6586 | ||||
6587 | ||||
6588 | XS_EUPXS(XS_XS__APItest_fill_hash_with_nulls)static void XS_XS__APItest_fill_hash_with_nulls( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6589 | XS_EUPXS(XS_XS__APItest_fill_hash_with_nulls)static void XS_XS__APItest_fill_hash_with_nulls( CV* cv __attribute__ ((unused))) | |||
6590 | { | |||
6591 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6592 | if (items != 1) | |||
6593 | croak_xs_usagePerl_croak_xs_usage(cv, "hv"); | |||
6594 | { | |||
6595 | #line 4122 "APItest.xs" | |||
6596 | UV i = 0; | |||
6597 | #line 6598 "APItest.c" | |||
6598 | HV * hv; | |||
6599 | ||||
6600 | STMT_STARTdo { | |||
6601 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
6602 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
6603 | 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){ | |||
6604 | hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
6605 | } | |||
6606 | else{ | |||
6607 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
6608 | "XS::APItest::fill_hash_with_nulls", | |||
6609 | "hv"); | |||
6610 | } | |||
6611 | } STMT_ENDwhile (0) | |||
6612 | ; | |||
6613 | #line 4124 "APItest.xs" | |||
6614 | for(; i < 1000; ++i) { | |||
6615 | HE *entry = hv_fetch_ent(hv, sv_2mortal(newSVuv(i)), 1, 0)((HE *) Perl_hv_common( (hv),(Perl_sv_2mortal( Perl_newSVuv( i ))),((void*)0),0,0,((1) ? 0x10 : 0),((void*)0),(0))); | |||
6616 | SvREFCNT_dec(HeVAL(entry))Perl_SvREFCNT_dec( ((SV *)({ void *_p = ((entry)->he_valu. hent_val); _p; }))); | |||
6617 | HeVAL(entry)(entry)->he_valu.hent_val = NULL((void*)0); | |||
6618 | } | |||
6619 | #line 6620 "APItest.c" | |||
6620 | } | |||
6621 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6622 | } | |||
6623 | ||||
6624 | ||||
6625 | XS_EUPXS(XS_XS__APItest_newHVhv)static void XS_XS__APItest_newHVhv( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6626 | XS_EUPXS(XS_XS__APItest_newHVhv)static void XS_XS__APItest_newHVhv( CV* cv __attribute__((unused ))) | |||
6627 | { | |||
6628 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6629 | if (items != 1) | |||
6630 | croak_xs_usagePerl_croak_xs_usage(cv, "hv"); | |||
6631 | { | |||
6632 | HV * RETVAL; | |||
6633 | HV * hv; | |||
6634 | ||||
6635 | STMT_STARTdo { | |||
6636 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
6637 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
6638 | 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){ | |||
6639 | hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
6640 | } | |||
6641 | else{ | |||
6642 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
6643 | "XS::APItest::newHVhv", | |||
6644 | "hv"); | |||
6645 | } | |||
6646 | } STMT_ENDwhile (0) | |||
6647 | ; | |||
6648 | #line 4133 "APItest.xs" | |||
6649 | RETVAL = newHVhv(hv)Perl_newHVhv( hv); | |||
6650 | #line 6651 "APItest.c" | |||
6651 | { | |||
6652 | SV * RETVALSV; | |||
6653 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
6654 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
6655 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
6656 | } | |||
6657 | } | |||
6658 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6659 | } | |||
6660 | ||||
6661 | ||||
6662 | XS_EUPXS(XS_XS__APItest_SvIsCOW)static void XS_XS__APItest_SvIsCOW( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6663 | XS_EUPXS(XS_XS__APItest_SvIsCOW)static void XS_XS__APItest_SvIsCOW( CV* cv __attribute__((unused ))) | |||
6664 | { | |||
6665 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6666 | if (items != 1) | |||
6667 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
6668 | { | |||
6669 | U32 RETVAL; | |||
6670 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
6671 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
6672 | ; | |||
6673 | #line 4140 "APItest.xs" | |||
6674 | RETVAL = SvIsCOW(sv)((sv)->sv_flags & 0x10000000); | |||
6675 | #line 6676 "APItest.c" | |||
6676 | 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); | |||
6677 | } | |||
6678 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6679 | } | |||
6680 | ||||
6681 | ||||
6682 | XS_EUPXS(XS_XS__APItest_pad_scalar)static void XS_XS__APItest_pad_scalar( CV* cv __attribute__(( unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6683 | XS_EUPXS(XS_XS__APItest_pad_scalar)static void XS_XS__APItest_pad_scalar( CV* cv __attribute__(( unused))) | |||
6684 | { | |||
6685 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6686 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
6687 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
6688 | { | |||
6689 | #line 4148 "APItest.xs" | |||
6690 | PERL_UNUSED_VAR(items)((void)sizeof(items)); | |||
6691 | croakPerl_croak("pad_scalar called as a function"); | |||
6692 | #line 6693 "APItest.c" | |||
6693 | } | |||
6694 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6695 | } | |||
6696 | ||||
6697 | ||||
6698 | XS_EUPXS(XS_XS__APItest_fetch_pad_names)static void XS_XS__APItest_fetch_pad_names( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6699 | XS_EUPXS(XS_XS__APItest_fetch_pad_names)static void XS_XS__APItest_fetch_pad_names( CV* cv __attribute__ ((unused))) | |||
6700 | { | |||
6701 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6702 | if (items != 1) | |||
6703 | croak_xs_usagePerl_croak_xs_usage(cv, "cv"); | |||
6704 | { | |||
6705 | CV* cv; | |||
6706 | #line 4161 "APItest.xs" | |||
6707 | I32 i; | |||
6708 | PADNAMELIST *pad_namelist; | |||
6709 | AV *retav = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
6710 | #line 6711 "APItest.c" | |||
6711 | SV * RETVAL; | |||
6712 | ||||
6713 | STMT_STARTdo { | |||
6714 | HV *st; | |||
6715 | GV *gvp; | |||
6716 | SV * const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
6717 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
6718 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); | |||
6719 | if (!cv) { | |||
6720 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", | |||
6721 | "XS::APItest::fetch_pad_names", | |||
6722 | "cv"); | |||
6723 | } | |||
6724 | } STMT_ENDwhile (0) | |||
6725 | ; | |||
6726 | #line 4165 "APItest.xs" | |||
6727 | pad_namelist = PadlistNAMES(CvPADLIST(cv))*((PADNAMELIST **)((*( &(((XPVCV*)({ void *_p = ((cv)-> sv_any); _p; }))->xcv_padlist_u.xcv_padlist))))->xpadl_arr .xpadlarr_alloc); | |||
6728 | ||||
6729 | for ( i = PadnamelistMAX(pad_namelist)(pad_namelist)->xpadnl_fill; i >= 0; i-- ) { | |||
6730 | PADNAME* name = PadnamelistARRAY(pad_namelist)(pad_namelist)->xpadnl_alloc[i]; | |||
6731 | ||||
6732 | if (PadnameLEN(name)(name)->xpadn_len) { | |||
6733 | av_push(retav, newSVpadname(name))Perl_av_push( retav,Perl_newSVpvn_flags( ((name)->xpadn_pv ),((name)->xpadn_len),((1)) ? 0x20000000 : 0)); | |||
6734 | } | |||
6735 | } | |||
6736 | RETVAL = newRV_noinc((SV*)retav)Perl_newRV_noinc( (SV*)retav); | |||
6737 | #line 6738 "APItest.c" | |||
6738 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6739 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6740 | } | |||
6741 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6742 | } | |||
6743 | ||||
6744 | ||||
6745 | XS_EUPXS(XS_XS__APItest_underscore_length)static void XS_XS__APItest_underscore_length( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6746 | XS_EUPXS(XS_XS__APItest_underscore_length)static void XS_XS__APItest_underscore_length( CV* cv __attribute__ ((unused))) | |||
6747 | { | |||
6748 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6749 | if (items != 0) | |||
6750 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6751 | { | |||
6752 | #line 4182 "APItest.xs" | |||
6753 | SV *u; | |||
6754 | U8 *pv; | |||
6755 | STRLEN bytelen; | |||
6756 | #line 6757 "APItest.c" | |||
6757 | STRLEN RETVAL; | |||
6758 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
6759 | #line 4186 "APItest.xs" | |||
6760 | u = find_rundefsv()Perl_find_rundefsv(); | |||
6761 | pv = (U8*)SvPV(u, bytelen)((((u)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((bytelen = ((XPV*) (u)->sv_any)->xpv_cur), ((u)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( u,&bytelen,2)); | |||
6762 | RETVAL = SvUTF8(u)((u)->sv_flags & 0x20000000) ? utf8_length(pv, pv+bytelen)Perl_utf8_length( pv,pv+bytelen) : bytelen; | |||
6763 | #line 6764 "APItest.c" | |||
6764 | 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); | |||
6765 | } | |||
6766 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6767 | } | |||
6768 | ||||
6769 | ||||
6770 | XS_EUPXS(XS_XS__APItest_stringify)static void XS_XS__APItest_stringify( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6771 | XS_EUPXS(XS_XS__APItest_stringify)static void XS_XS__APItest_stringify( CV* cv __attribute__((unused ))) | |||
6772 | { | |||
6773 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6774 | if (items != 1) | |||
6775 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
6776 | { | |||
6777 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
6778 | ; | |||
6779 | #line 4195 "APItest.xs" | |||
6780 | (void)SvPV_nolen(sv)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((sv)->sv_u.svu_pv) : Perl_sv_2pv_flags( sv,0,2)); | |||
6781 | #line 6782 "APItest.c" | |||
6782 | } | |||
6783 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6784 | } | |||
6785 | ||||
6786 | ||||
6787 | XS_EUPXS(XS_XS__APItest_HvENAME)static void XS_XS__APItest_HvENAME( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6788 | XS_EUPXS(XS_XS__APItest_HvENAME)static void XS_XS__APItest_HvENAME( CV* cv __attribute__((unused ))) | |||
6789 | { | |||
6790 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6791 | if (items != 1) | |||
| ||||
6792 | croak_xs_usagePerl_croak_xs_usage(cv, "hv"); | |||
6793 | { | |||
6794 | SV * RETVAL; | |||
6795 | HV * hv; | |||
6796 | ||||
6797 | STMT_STARTdo { | |||
6798 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
6799 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
6800 | 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){ | |||
6801 | hv = (HV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
6802 | } | |||
6803 | else{ | |||
6804 | Perl_croak_nocontextPerl_croak("%s: %s is not a HASH reference", | |||
6805 | "XS::APItest::HvENAME", | |||
6806 | "hv"); | |||
6807 | } | |||
6808 | } STMT_ENDwhile (0) | |||
6809 | ; | |||
6810 | #line 4200 "APItest.xs" | |||
6811 | RETVAL = hv
*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names[0] : ( (struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) ( hv)->sv_any)->xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_key : ((void*)0)) | |||
6812 | ? newSVpvn_flags(Perl_newSVpvn_flags( ((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[ ((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [0] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count < - 1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_key : ((void*)0)),((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv) ->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1] ))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*) &(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[0] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux* )&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[1] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))-> hek_len : 0),(((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count != -1) ? ((*((unsigned char *)((( ((struct xpvhv_aux*)&( ((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max +1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(( (hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max +1]))->xhv_name_u.xhvnameu_names[0] : ((struct xpvhv_aux*) &(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux* )&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[1] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))-> hek_key)+(( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[ ((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [0] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count < - 1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_len+1)) & 0x01) : 0) ? 0x20000000 : 0)) | |||
| ||||
6813 | HvENAME(hv),HvENAMELEN(hv),Perl_newSVpvn_flags( ((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[ ((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [0] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count < - 1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_key : ((void*)0)),((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv) ->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1] ))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*) &(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[0] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux* )&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[1] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))-> hek_len : 0),(((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count != -1) ? ((*((unsigned char *)((( ((struct xpvhv_aux*)&( ((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max +1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(( (hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max +1]))->xhv_name_u.xhvnameu_names[0] : ((struct xpvhv_aux*) &(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux* )&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[1] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))-> hek_key)+(( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[ ((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [0] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count < - 1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_len+1)) & 0x01) : 0) ? 0x20000000 : 0)) | |||
6814 | (HvENAMEUTF8(hv) ? SVf_UTF8 : 0)Perl_newSVpvn_flags( ((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[ ((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [0] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count < - 1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_key : ((void*)0)),((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv) ->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1] ))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*) &(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[0] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux* )&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[1] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))-> hek_len : 0),(((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count != -1) ? ((*((unsigned char *)((( ((struct xpvhv_aux*)&( ((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max +1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(( (hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max +1]))->xhv_name_u.xhvnameu_names[0] : ((struct xpvhv_aux*) &(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux* )&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[1] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))-> hek_key)+(( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[ ((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [0] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count < - 1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_len+1)) & 0x01) : 0) ? 0x20000000 : 0)) | |||
6815 | )Perl_newSVpvn_flags( ((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[ ((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [0] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count < - 1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_key : ((void*)0)),((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv) ->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1] ))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count != -1) ? (( ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*) &(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[0] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux* )&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[1] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))-> hek_len : 0),(((((hv)->sv_flags & 0x02000000) && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name && ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count != -1) ? ((*((unsigned char *)((( ((struct xpvhv_aux*)&( ((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max +1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(( (hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)->xhv_max +1]))->xhv_name_u.xhvnameu_names[0] : ((struct xpvhv_aux*) &(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count < -1 ? ((struct xpvhv_aux* )&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_u.xhvnameu_names[1] : ((struct xpvhv_aux *)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)->sv_any)-> xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV*) (hv)-> sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_name ))-> hek_key)+(( ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_count > 0 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[ ((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [0] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count < - 1 ? ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_u.xhvnameu_names [1] : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash)[((XPVHV *) (hv)->sv_any)->xhv_max+1]))->xhv_name_count == -1 ? ((void*)0) : ((struct xpvhv_aux*)&(((hv)->sv_u.svu_hash )[((XPVHV*) (hv)->sv_any)->xhv_max+1]))->xhv_name_u. xhvnameu_name ))->hek_len+1)) & 0x01) : 0) ? 0x20000000 : 0)) | |||
6816 | : NULL((void*)0); | |||
6817 | #line 6818 "APItest.c" | |||
6818 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6819 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6820 | } | |||
6821 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6822 | } | |||
6823 | ||||
6824 | ||||
6825 | XS_EUPXS(XS_XS__APItest_xs_cmp)static void XS_XS__APItest_xs_cmp( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6826 | XS_EUPXS(XS_XS__APItest_xs_cmp)static void XS_XS__APItest_xs_cmp( CV* cv __attribute__((unused ))) | |||
6827 | { | |||
6828 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6829 | if (items != 2) | |||
6830 | croak_xs_usagePerl_croak_xs_usage(cv, "a, b"); | |||
6831 | { | |||
6832 | int RETVAL; | |||
6833 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
6834 | 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)) | |||
6835 | ; | |||
6836 | 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)) | |||
6837 | ; | |||
6838 | #line 4212 "APItest.xs" | |||
6839 | /* Odd sorting (odd numbers first), to make sure we are actually | |||
6840 | being called */ | |||
6841 | RETVAL = a % 2 != b % 2 | |||
6842 | ? a % 2 ? -1 : 1 | |||
6843 | : a < b ? -1 : a == b ? 0 : 1; | |||
6844 | #line 6845 "APItest.c" | |||
6845 | 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); | |||
6846 | } | |||
6847 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6848 | } | |||
6849 | ||||
6850 | ||||
6851 | XS_EUPXS(XS_XS__APItest_xs_cmp_undef)static void XS_XS__APItest_xs_cmp_undef( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6852 | XS_EUPXS(XS_XS__APItest_xs_cmp_undef)static void XS_XS__APItest_xs_cmp_undef( CV* cv __attribute__ ((unused))) | |||
6853 | { | |||
6854 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6855 | if (items != 2) | |||
6856 | croak_xs_usagePerl_croak_xs_usage(cv, "a, b"); | |||
6857 | { | |||
6858 | SV * RETVAL; | |||
6859 | SV * a = ST(0)PL_stack_base[ax + (0)] | |||
6860 | ; | |||
6861 | SV * b = ST(1)PL_stack_base[ax + (1)] | |||
6862 | ; | |||
6863 | #line 4223 "APItest.xs" | |||
6864 | PERL_UNUSED_ARG(a)((void)sizeof(a)); | |||
6865 | PERL_UNUSED_ARG(b)((void)sizeof(b)); | |||
6866 | RETVAL = &PL_sv_undef(PL_sv_immortals[1]); | |||
6867 | #line 6868 "APItest.c" | |||
6868 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
6869 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
6870 | } | |||
6871 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6872 | } | |||
6873 | ||||
6874 | ||||
6875 | XS_EUPXS(XS_XS__APItest_SvPVbyte)static void XS_XS__APItest_SvPVbyte( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6876 | XS_EUPXS(XS_XS__APItest_SvPVbyte)static void XS_XS__APItest_SvPVbyte( CV* cv __attribute__((unused ))) | |||
6877 | { | |||
6878 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6879 | if (items != 1) | |||
6880 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
6881 | { | |||
6882 | char * RETVAL; | |||
6883 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
6884 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
6885 | ; | |||
6886 | #line 4232 "APItest.xs" | |||
6887 | RETVAL = SvPVbyte_nolen(sv)((((sv)->sv_flags & (0x00000400|0x20000000|0x00200000) ) == 0x00000400) ? ((sv)->sv_u.svu_pv) : Perl_sv_2pvbyte_flags ( sv,0,2)); | |||
6888 | #line 6889 "APItest.c" | |||
6889 | 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); | |||
6890 | } | |||
6891 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6892 | } | |||
6893 | ||||
6894 | ||||
6895 | XS_EUPXS(XS_XS__APItest_SvPVbyte_nomg)static void XS_XS__APItest_SvPVbyte_nomg( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6896 | XS_EUPXS(XS_XS__APItest_SvPVbyte_nomg)static void XS_XS__APItest_SvPVbyte_nomg( CV* cv __attribute__ ((unused))) | |||
6897 | { | |||
6898 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6899 | if (items != 1) | |||
6900 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
6901 | { | |||
6902 | char * RETVAL; | |||
6903 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
6904 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
6905 | ; | |||
6906 | #line 4239 "APItest.xs" | |||
6907 | RETVAL = SvPVbyte_nomg(sv, PL_na)((((sv)->sv_flags & (0x00000400|0x20000000|0x00200000) ) == 0x00000400) ? ((PL_na = ((XPV*) (sv)->sv_any)->xpv_cur ), ((sv)->sv_u.svu_pv)) : Perl_sv_2pvbyte_flags( sv,&PL_na ,0)); | |||
6908 | #line 6909 "APItest.c" | |||
6909 | 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); | |||
6910 | } | |||
6911 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6912 | } | |||
6913 | ||||
6914 | ||||
6915 | XS_EUPXS(XS_XS__APItest_SvPVutf8)static void XS_XS__APItest_SvPVutf8( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
6916 | XS_EUPXS(XS_XS__APItest_SvPVutf8)static void XS_XS__APItest_SvPVutf8( CV* cv __attribute__((unused ))) | |||
6917 | { | |||
6918 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6919 | if (items != 1) | |||
6920 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
6921 | { | |||
6922 | char * RETVAL; | |||
6923 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
6924 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
6925 | ; | |||
6926 | #line 4246 "APItest.xs" | |||
6927 | RETVAL = SvPVutf8_nolen(sv)((((sv)->sv_flags & (0x00000400|0x20000000|0x00200000) ) == (0x00000400|0x20000000)) ? ((sv)->sv_u.svu_pv) : Perl_sv_2pvutf8_flags ( sv,0,2)); | |||
6928 | #line 6929 "APItest.c" | |||
6929 | 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); | |||
6930 | } | |||
6931 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6932 | } | |||
6933 | ||||
6934 | ||||
6935 | XS_EUPXS(XS_XS__APItest_SvPVutf8_nomg)static void XS_XS__APItest_SvPVutf8_nomg( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6936 | XS_EUPXS(XS_XS__APItest_SvPVutf8_nomg)static void XS_XS__APItest_SvPVutf8_nomg( CV* cv __attribute__ ((unused))) | |||
6937 | { | |||
6938 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6939 | if (items != 1) | |||
6940 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
6941 | { | |||
6942 | char * RETVAL; | |||
6943 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
6944 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
6945 | ; | |||
6946 | #line 4253 "APItest.xs" | |||
6947 | RETVAL = SvPVutf8_nomg(sv, PL_na)((((sv)->sv_flags & (0x00000400|0x20000000|0x00200000) ) == (0x00000400|0x20000000)) ? ((PL_na = ((XPV*) (sv)->sv_any )->xpv_cur), ((sv)->sv_u.svu_pv)) : Perl_sv_2pvutf8_flags ( sv,&PL_na,0)); | |||
6948 | #line 6949 "APItest.c" | |||
6949 | 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); | |||
6950 | } | |||
6951 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
6952 | } | |||
6953 | ||||
6954 | ||||
6955 | XS_EUPXS(XS_XS__APItest_setup_addissub)static void XS_XS__APItest_setup_addissub( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6956 | XS_EUPXS(XS_XS__APItest_setup_addissub)static void XS_XS__APItest_setup_addissub( CV* cv __attribute__ ((unused))) | |||
6957 | { | |||
6958 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6959 | if (items != 0) | |||
6960 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6961 | { | |||
6962 | #line 4260 "APItest.xs" | |||
6963 | wrap_op_checker(OP_ADD, addissub_myck_add, &addissub_nxck_add)Perl_wrap_op_checker( OP_ADD,addissub_myck_add,&addissub_nxck_add ); | |||
6964 | #line 6965 "APItest.c" | |||
6965 | } | |||
6966 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6967 | } | |||
6968 | ||||
6969 | ||||
6970 | XS_EUPXS(XS_XS__APItest_setup_rv2cv_addunderbar)static void XS_XS__APItest_setup_rv2cv_addunderbar( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6971 | XS_EUPXS(XS_XS__APItest_setup_rv2cv_addunderbar)static void XS_XS__APItest_setup_rv2cv_addunderbar( CV* cv __attribute__ ((unused))) | |||
6972 | { | |||
6973 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6974 | if (items != 0) | |||
6975 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6976 | { | |||
6977 | #line 4265 "APItest.xs" | |||
6978 | wrap_op_checker(OP_RV2CV, my_ck_rv2cv, &old_ck_rv2cv)Perl_wrap_op_checker( OP_RV2CV,my_ck_rv2cv,&old_ck_rv2cv); | |||
6979 | #line 6980 "APItest.c" | |||
6980 | } | |||
6981 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
6982 | } | |||
6983 | ||||
6984 | #ifdef USE_ITHREADS | |||
6985 | #define XSubPPtmpAAAD 1 | |||
6986 | ||||
6987 | ||||
6988 | XS_EUPXS(XS_XS__APItest_test_alloccopstash)static void XS_XS__APItest_test_alloccopstash( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
6989 | XS_EUPXS(XS_XS__APItest_test_alloccopstash)static void XS_XS__APItest_test_alloccopstash( CV* cv __attribute__ ((unused))) | |||
6990 | { | |||
6991 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
6992 | if (items != 0) | |||
6993 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
6994 | { | |||
6995 | bool_Bool RETVAL; | |||
6996 | #line 4272 "APItest.xs" | |||
6997 | RETVAL = PL_stashpad[alloccopstash(PL_defstash)] == PL_defstash; | |||
6998 | #line 6999 "APItest.c" | |||
6999 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7000 | } | |||
7001 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7002 | } | |||
7003 | ||||
7004 | #endif | |||
7005 | ||||
7006 | XS_EUPXS(XS_XS__APItest_test_newFOROP_without_slab)static void XS_XS__APItest_test_newFOROP_without_slab( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7007 | XS_EUPXS(XS_XS__APItest_test_newFOROP_without_slab)static void XS_XS__APItest_test_newFOROP_without_slab( CV* cv __attribute__((unused))) | |||
7008 | { | |||
7009 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7010 | if (items != 0) | |||
7011 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
7012 | { | |||
7013 | bool_Bool RETVAL; | |||
7014 | #line 4281 "APItest.xs" | |||
7015 | { | |||
7016 | const I32 floor = start_subparse(0,0)Perl_start_subparse( 0,0); | |||
7017 | OP *o; | |||
7018 | /* The slab allocator does not like CvROOT being set. */ | |||
7019 | CvROOT(PL_compcv)((XPVCV*)({ void *_p = ((PL_compcv)->sv_any); _p; }))-> xcv_root_u.xcv_root = (OP *)1; | |||
7020 | o = newFOROP(0, 0, newOP(OP_PUSHMARK, 0), 0, 0)Perl_newFOROP( 0,0,Perl_newOP( OP_PUSHMARK,0),0,0); | |||
7021 | if (cLOOPx(cUNOPo->op_first)((LOOP*)(((UNOP*)(o))->op_first))->op_last->op_sibparent | |||
7022 | != cUNOPo((UNOP*)(o))->op_first) | |||
7023 | { | |||
7024 | Perl_warn(aTHX_ "Op parent pointer is stale"); | |||
7025 | RETVAL = FALSE(0); | |||
7026 | } | |||
7027 | else | |||
7028 | /* If we do not crash before returning, the test passes. */ | |||
7029 | RETVAL = TRUE(1); | |||
7030 | op_free(o)Perl_op_free( o); | |||
7031 | CvROOT(PL_compcv)((XPVCV*)({ void *_p = ((PL_compcv)->sv_any); _p; }))-> xcv_root_u.xcv_root = NULL((void*)0); | |||
7032 | SvREFCNT_dec(PL_compcv)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (PL_compcv); _p; }))); | |||
7033 | LEAVE_SCOPE(floor)do { if (PL_savestack_ix > floor) Perl_leave_scope( floor) ; } while (0); | |||
7034 | } | |||
7035 | #line 7036 "APItest.c" | |||
7036 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7037 | } | |||
7038 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7039 | } | |||
7040 | ||||
7041 | ||||
7042 | XS_EUPXS(XS_XS__APItest_callregexec)static void XS_XS__APItest_callregexec( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7043 | XS_EUPXS(XS_XS__APItest_callregexec)static void XS_XS__APItest_callregexec( CV* cv __attribute__( (unused))) | |||
7044 | { | |||
7045 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7046 | if (items != 6) | |||
7047 | croak_xs_usagePerl_croak_xs_usage(cv, "prog, stringarg, strend, minend, sv, nosave"); | |||
7048 | { | |||
7049 | I32 RETVAL; | |||
7050 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
7051 | SV * prog = ST(0)PL_stack_base[ax + (0)] | |||
7052 | ; | |||
7053 | STRLEN stringarg = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
7054 | ; | |||
7055 | STRLEN strend = (STRLEN)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
7056 | ; | |||
7057 | I32 minend = (I32)SvIV(ST(3))((((PL_stack_base[ax + (3)])->sv_flags & (0x00000100|0x00200000 )) == 0x00000100) ? ((XPVIV*) (PL_stack_base[ax + (3)])->sv_any )->xiv_u.xivu_iv : Perl_sv_2iv_flags( PL_stack_base[ax + ( 3)],2)) | |||
7058 | ; | |||
7059 | SV * sv = ST(4)PL_stack_base[ax + (4)] | |||
7060 | ; | |||
7061 | U32 nosave = (unsigned long)SvUV(ST(5))((((PL_stack_base[ax + (5)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (5)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (5)],2)) | |||
7062 | ; | |||
7063 | #line 4310 "APItest.xs" | |||
7064 | { | |||
7065 | STRLEN len; | |||
7066 | char *strbeg; | |||
7067 | if (SvROK(prog)((prog)->sv_flags & 0x00000800)) | |||
7068 | prog = SvRV(prog)((prog)->sv_u.svu_rv); | |||
7069 | strbeg = SvPV_force(sv, len)((((sv)->sv_flags & (0x00000400|0x00000100|0x00000200| 0x00000800|0x00008000|(0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000|0x10000000)|0x00200000)) == 0x00000400) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)->sv_u.svu_pv )) : Perl_sv_pvn_force_flags( sv,&len,2)); | |||
7070 | RETVAL = CALLREGEXEC((REGEXP *)prog,(((Perl_ReANY((const REGEXP *)((REGEXP *)prog)))->engine)) ->exec( ((REGEXP *)prog),(strbeg + stringarg),(strbeg + strend ), (strbeg),(minend),(sv),(((void*)0)),(nosave)) | |||
7071 | strbeg + stringarg,(((Perl_ReANY((const REGEXP *)((REGEXP *)prog)))->engine)) ->exec( ((REGEXP *)prog),(strbeg + stringarg),(strbeg + strend ), (strbeg),(minend),(sv),(((void*)0)),(nosave)) | |||
7072 | strbeg + strend,(((Perl_ReANY((const REGEXP *)((REGEXP *)prog)))->engine)) ->exec( ((REGEXP *)prog),(strbeg + stringarg),(strbeg + strend ), (strbeg),(minend),(sv),(((void*)0)),(nosave)) | |||
7073 | strbeg,(((Perl_ReANY((const REGEXP *)((REGEXP *)prog)))->engine)) ->exec( ((REGEXP *)prog),(strbeg + stringarg),(strbeg + strend ), (strbeg),(minend),(sv),(((void*)0)),(nosave)) | |||
7074 | minend,(((Perl_ReANY((const REGEXP *)((REGEXP *)prog)))->engine)) ->exec( ((REGEXP *)prog),(strbeg + stringarg),(strbeg + strend ), (strbeg),(minend),(sv),(((void*)0)),(nosave)) | |||
7075 | sv,(((Perl_ReANY((const REGEXP *)((REGEXP *)prog)))->engine)) ->exec( ((REGEXP *)prog),(strbeg + stringarg),(strbeg + strend ), (strbeg),(minend),(sv),(((void*)0)),(nosave)) | |||
7076 | NULL, /* data */(((Perl_ReANY((const REGEXP *)((REGEXP *)prog)))->engine)) ->exec( ((REGEXP *)prog),(strbeg + stringarg),(strbeg + strend ), (strbeg),(minend),(sv),(((void*)0)),(nosave)) | |||
7077 | nosave)(((Perl_ReANY((const REGEXP *)((REGEXP *)prog)))->engine)) ->exec( ((REGEXP *)prog),(strbeg + stringarg),(strbeg + strend ), (strbeg),(minend),(sv),(((void*)0)),(nosave)); | |||
7078 | } | |||
7079 | #line 7080 "APItest.c" | |||
7080 | 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); | |||
7081 | } | |||
7082 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7083 | } | |||
7084 | ||||
7085 | ||||
7086 | XS_EUPXS(XS_XS__APItest_lexical_import)static void XS_XS__APItest_lexical_import( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7087 | XS_EUPXS(XS_XS__APItest_lexical_import)static void XS_XS__APItest_lexical_import( CV* cv __attribute__ ((unused))) | |||
7088 | { | |||
7089 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7090 | if (items != 2) | |||
7091 | croak_xs_usagePerl_croak_xs_usage(cv, "name, cv"); | |||
7092 | { | |||
7093 | SV * name = ST(0)PL_stack_base[ax + (0)] | |||
7094 | ; | |||
7095 | CV * cv; | |||
7096 | ||||
7097 | STMT_STARTdo { | |||
7098 | HV *st; | |||
7099 | GV *gvp; | |||
7100 | SV * const xsub_tmp_sv = ST(1)PL_stack_base[ax + (1)]; | |||
7101 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
7102 | cv = sv_2cv(xsub_tmp_sv, &st, &gvp, 0)Perl_sv_2cv( xsub_tmp_sv,&st,&gvp,0); | |||
7103 | if (!cv) { | |||
7104 | Perl_croak_nocontextPerl_croak("%s: %s is not a CODE reference", | |||
7105 | "XS::APItest::lexical_import", | |||
7106 | "cv"); | |||
7107 | } | |||
7108 | } STMT_ENDwhile (0) | |||
7109 | ; | |||
7110 | #line 4331 "APItest.xs" | |||
7111 | { | |||
7112 | PADLIST *pl; | |||
7113 | PADOFFSET off; | |||
7114 | if (!PL_compcv) | |||
7115 | Perl_croak(aTHX_ | |||
7116 | "lexical_import can only be called at compile time"); | |||
7117 | pl = CvPADLIST(PL_compcv)(*( &(((XPVCV*)({ void *_p = ((PL_compcv)->sv_any); _p ; }))->xcv_padlist_u.xcv_padlist))); | |||
7118 | ENTERPerl_push_scope(); | |||
7119 | SAVESPTR(PL_comppad_name)Perl_save_sptr( (SV**)&(PL_comppad_name)); PL_comppad_name = PadlistNAMES(pl)*((PADNAMELIST **)(pl)->xpadl_arr.xpadlarr_alloc); | |||
7120 | SAVESPTR(PL_comppad)Perl_save_sptr( (SV**)&(PL_comppad)); PL_comppad = PadlistARRAY(pl)(pl)->xpadl_arr.xpadlarr_alloc[1]; | |||
7121 | SAVESPTR(PL_curpad)Perl_save_sptr( (SV**)&(PL_curpad)); PL_curpad = PadARRAY(PL_comppad)((PL_comppad)->sv_u.svu_array); | |||
7122 | off = pad_add_name_sv(sv_2mortal(newSVpvf("&%" SVf,name)),Perl_pad_add_name_sv( Perl_sv_2mortal( Perl_newSVpvf("&%" "-p",name)),0x02,0,0) | |||
7123 | padadd_STATE, 0, 0)Perl_pad_add_name_sv( Perl_sv_2mortal( Perl_newSVpvf("&%" "-p",name)),0x02,0,0); | |||
7124 | SvREFCNT_dec(PL_curpad[off])Perl_SvREFCNT_dec( ((SV *)({ void *_p = (PL_curpad[off]); _p; }))); | |||
7125 | PL_curpad[off] = SvREFCNT_inc(cv)Perl_SvREFCNT_inc(((SV *)({ void *_p = (cv); _p; }))); | |||
7126 | intro_my()Perl_intro_my(); | |||
7127 | LEAVEPerl_pop_scope(); | |||
7128 | } | |||
7129 | #line 7130 "APItest.c" | |||
7130 | } | |||
7131 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7132 | } | |||
7133 | ||||
7134 | ||||
7135 | XS_EUPXS(XS_XS__APItest_sv_mortalcopy)static void XS_XS__APItest_sv_mortalcopy( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7136 | XS_EUPXS(XS_XS__APItest_sv_mortalcopy)static void XS_XS__APItest_sv_mortalcopy( CV* cv __attribute__ ((unused))) | |||
7137 | { | |||
7138 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7139 | if (items != 1) | |||
7140 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
7141 | { | |||
7142 | SV * RETVAL; | |||
7143 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7144 | ; | |||
7145 | #line 4353 "APItest.xs" | |||
7146 | RETVAL = SvREFCNT_inc(sv_mortalcopy(sv))Perl_SvREFCNT_inc(((SV *)({ void *_p = (Perl_sv_mortalcopy_flags ( sv, 2|0)); _p; }))); | |||
7147 | #line 7148 "APItest.c" | |||
7148 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
7149 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
7150 | } | |||
7151 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7152 | } | |||
7153 | ||||
7154 | ||||
7155 | XS_EUPXS(XS_XS__APItest_newRV)static void XS_XS__APItest_newRV( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
7156 | XS_EUPXS(XS_XS__APItest_newRV)static void XS_XS__APItest_newRV( CV* cv __attribute__((unused ))) | |||
7157 | { | |||
7158 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7159 | if (items != 1) | |||
7160 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
7161 | { | |||
7162 | SV * RETVAL; | |||
7163 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7164 | ; | |||
7165 | ||||
7166 | RETVAL = newRV(sv)Perl_newRV( sv); | |||
7167 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
7168 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
7169 | } | |||
7170 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7171 | } | |||
7172 | ||||
7173 | ||||
7174 | XS_EUPXS(XS_XS__APItest_alias_av)static void XS_XS__APItest_alias_av( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
7175 | XS_EUPXS(XS_XS__APItest_alias_av)static void XS_XS__APItest_alias_av( CV* cv __attribute__((unused ))) | |||
7176 | { | |||
7177 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7178 | if (items != 3) | |||
7179 | croak_xs_usagePerl_croak_xs_usage(cv, "av, ix, sv"); | |||
7180 | { | |||
7181 | AV * av; | |||
7182 | IV ix = (IV)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)) | |||
7183 | ; | |||
7184 | SV * sv = ST(2)PL_stack_base[ax + (2)] | |||
7185 | ; | |||
7186 | ||||
7187 | STMT_STARTdo { | |||
7188 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
7189 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
7190 | 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){ | |||
7191 | av = (AV*)SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
7192 | } | |||
7193 | else{ | |||
7194 | Perl_croak_nocontextPerl_croak("%s: %s is not an ARRAY reference", | |||
7195 | "XS::APItest::alias_av", | |||
7196 | "av"); | |||
7197 | } | |||
7198 | } STMT_ENDwhile (0) | |||
7199 | ; | |||
7200 | #line 4363 "APItest.xs" | |||
7201 | av_store(av, ix, SvREFCNT_inc(sv))Perl_av_store( av,ix,Perl_SvREFCNT_inc(((SV *)({ void *_p = ( sv); _p; })))); | |||
7202 | #line 7203 "APItest.c" | |||
7203 | } | |||
7204 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7205 | } | |||
7206 | ||||
7207 | ||||
7208 | XS_EUPXS(XS_XS__APItest_cv_name)static void XS_XS__APItest_cv_name( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
7209 | XS_EUPXS(XS_XS__APItest_cv_name)static void XS_XS__APItest_cv_name( CV* cv __attribute__((unused ))) | |||
7210 | { | |||
7211 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7212 | if (items < 1) | |||
7213 | croak_xs_usagePerl_croak_xs_usage(cv, "ref, ..."); | |||
7214 | { | |||
7215 | SV * RETVAL; | |||
7216 | SVREF ref; | |||
7217 | ||||
7218 | STMT_STARTdo { | |||
7219 | SV* const xsub_tmp_sv = ST(0)PL_stack_base[ax + (0)]; | |||
7220 | SvGETMAGIC(xsub_tmp_sv)((void)(__builtin_expect(((((xsub_tmp_sv)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( xsub_tmp_sv ))); | |||
7221 | if (SvROK(xsub_tmp_sv)((xsub_tmp_sv)->sv_flags & 0x00000800)){ | |||
7222 | ref = SvRV(xsub_tmp_sv)((xsub_tmp_sv)->sv_u.svu_rv); | |||
7223 | } | |||
7224 | else{ | |||
7225 | Perl_croak_nocontextPerl_croak("%s: %s is not a reference", | |||
7226 | "XS::APItest::cv_name", | |||
7227 | "ref"); | |||
7228 | } | |||
7229 | } STMT_ENDwhile (0) | |||
7230 | ; | |||
7231 | #line 4368 "APItest.xs" | |||
7232 | RETVAL = SvREFCNT_inc(cv_name((CV *)ref,Perl_SvREFCNT_inc(((SV *)({ void *_p = (Perl_cv_name( (CV *)ref ,items>1 && PL_stack_base[ax + (1)] != &(PL_sv_immortals [1]) ? PL_stack_base[ax + (1)] : ((void*)0),items>2 ? (((( PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) : 0)); _p; }))) | |||
7233 | items>1 && ST(1) != &PL_sv_undefPerl_SvREFCNT_inc(((SV *)({ void *_p = (Perl_cv_name( (CV *)ref ,items>1 && PL_stack_base[ax + (1)] != &(PL_sv_immortals [1]) ? PL_stack_base[ax + (1)] : ((void*)0),items>2 ? (((( PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) : 0)); _p; }))) | |||
7234 | ? ST(1)Perl_SvREFCNT_inc(((SV *)({ void *_p = (Perl_cv_name( (CV *)ref ,items>1 && PL_stack_base[ax + (1)] != &(PL_sv_immortals [1]) ? PL_stack_base[ax + (1)] : ((void*)0),items>2 ? (((( PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) : 0)); _p; }))) | |||
7235 | : NULL,Perl_SvREFCNT_inc(((SV *)({ void *_p = (Perl_cv_name( (CV *)ref ,items>1 && PL_stack_base[ax + (1)] != &(PL_sv_immortals [1]) ? PL_stack_base[ax + (1)] : ((void*)0),items>2 ? (((( PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) : 0)); _p; }))) | |||
7236 | items>2 ? SvUV(ST(2)) : 0))Perl_SvREFCNT_inc(((SV *)({ void *_p = (Perl_cv_name( (CV *)ref ,items>1 && PL_stack_base[ax + (1)] != &(PL_sv_immortals [1]) ? PL_stack_base[ax + (1)] : ((void*)0),items>2 ? (((( PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) : 0)); _p; }))); | |||
7237 | #line 7238 "APItest.c" | |||
7238 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
7239 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
7240 | } | |||
7241 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7242 | } | |||
7243 | ||||
7244 | ||||
7245 | XS_EUPXS(XS_XS__APItest_sv_catpvn)static void XS_XS__APItest_sv_catpvn( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
7246 | XS_EUPXS(XS_XS__APItest_sv_catpvn)static void XS_XS__APItest_sv_catpvn( CV* cv __attribute__((unused ))) | |||
7247 | { | |||
7248 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7249 | if (items != 2) | |||
7250 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, sv2"); | |||
7251 | { | |||
7252 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7253 | ; | |||
7254 | SV * sv2 = ST(1)PL_stack_base[ax + (1)] | |||
7255 | ; | |||
7256 | #line 4379 "APItest.xs" | |||
7257 | { | |||
7258 | STRLEN len; | |||
7259 | const char *s = SvPV(sv2,len)((((sv2)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (sv2)->sv_any)->xpv_cur), ((sv2)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( sv2,&len,2)); | |||
7260 | sv_catpvn_flags(sv,s,len, SvUTF8(sv2) ? SV_CATUTF8 : SV_CATBYTES)Perl_sv_catpvn_flags( sv,s,len,((sv2)->sv_flags & 0x20000000 ) ? 32768 : 16384); | |||
7261 | } | |||
7262 | #line 7263 "APItest.c" | |||
7263 | } | |||
7264 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7265 | } | |||
7266 | ||||
7267 | ||||
7268 | XS_EUPXS(XS_XS__APItest_test_newOP_CUSTOM)static void XS_XS__APItest_test_newOP_CUSTOM( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7269 | XS_EUPXS(XS_XS__APItest_test_newOP_CUSTOM)static void XS_XS__APItest_test_newOP_CUSTOM( CV* cv __attribute__ ((unused))) | |||
7270 | { | |||
7271 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7272 | if (items != 0) | |||
7273 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
7274 | { | |||
7275 | bool_Bool RETVAL; | |||
7276 | #line 4388 "APItest.xs" | |||
7277 | { | |||
7278 | OP *o = newLISTOP(OP_CUSTOM, 0, NULL, NULL)Perl_newLISTOP( OP_CUSTOM,0,((void*)0),((void*)0)); | |||
7279 | op_free(o)Perl_op_free( o); | |||
7280 | o = newOP(OP_CUSTOM, 0)Perl_newOP( OP_CUSTOM,0); | |||
7281 | op_free(o)Perl_op_free( o); | |||
7282 | o = newUNOP(OP_CUSTOM, 0, NULL)Perl_newUNOP( OP_CUSTOM,0,((void*)0)); | |||
7283 | op_free(o)Perl_op_free( o); | |||
7284 | o = newUNOP_AUX(OP_CUSTOM, 0, NULL, NULL)Perl_newUNOP_AUX( OP_CUSTOM,0,((void*)0),((void*)0)); | |||
7285 | op_free(o)Perl_op_free( o); | |||
7286 | o = newMETHOP(OP_CUSTOM, 0, newOP(OP_NULL,0))Perl_newMETHOP( OP_CUSTOM,0,Perl_newOP( OP_NULL,0)); | |||
7287 | op_free(o)Perl_op_free( o); | |||
7288 | o = newMETHOP_named(OP_CUSTOM, 0, newSV(0))Perl_newMETHOP_named( OP_CUSTOM,0,Perl_newSV( 0)); | |||
7289 | op_free(o)Perl_op_free( o); | |||
7290 | o = newBINOP(OP_CUSTOM, 0, NULL, NULL)Perl_newBINOP( OP_CUSTOM,0,((void*)0),((void*)0)); | |||
7291 | op_free(o)Perl_op_free( o); | |||
7292 | o = newPMOP(OP_CUSTOM, 0)Perl_newPMOP( OP_CUSTOM,0); | |||
7293 | op_free(o)Perl_op_free( o); | |||
7294 | o = newSVOP(OP_CUSTOM, 0, newSV(0))Perl_newSVOP( OP_CUSTOM,0,Perl_newSV( 0)); | |||
7295 | op_free(o)Perl_op_free( o); | |||
7296 | #ifdef USE_ITHREADS | |||
7297 | ENTERPerl_push_scope(); | |||
7298 | lex_start(NULL, NULL, 0)Perl_lex_start( ((void*)0),((void*)0),0); | |||
7299 | { | |||
7300 | I32 ix = start_subparse(FALSE,0)Perl_start_subparse( (0),0); | |||
7301 | o = newPADOP(OP_CUSTOM, 0, newSV(0)Perl_newSV( 0)); | |||
7302 | op_free(o)Perl_op_free( o); | |||
7303 | LEAVE_SCOPE(ix)do { if (PL_savestack_ix > ix) Perl_leave_scope( ix); } while (0); | |||
7304 | } | |||
7305 | LEAVEPerl_pop_scope(); | |||
7306 | #endif | |||
7307 | o = newPVOP(OP_CUSTOM, 0, NULL)Perl_newPVOP( OP_CUSTOM,0,((void*)0)); | |||
7308 | op_free(o)Perl_op_free( o); | |||
7309 | o = newLOGOP(OP_CUSTOM, 0, newOP(OP_NULL,0), newOP(OP_NULL,0))Perl_newLOGOP( OP_CUSTOM,0,Perl_newOP( OP_NULL,0),Perl_newOP( OP_NULL,0)); | |||
7310 | op_free(o)Perl_op_free( o); | |||
7311 | o = newLOOPEX(OP_CUSTOM, newOP(OP_NULL,0))Perl_newLOOPEX( OP_CUSTOM,Perl_newOP( OP_NULL,0)); | |||
7312 | op_free(o)Perl_op_free( o); | |||
7313 | RETVAL = TRUE(1); | |||
7314 | } | |||
7315 | #line 7316 "APItest.c" | |||
7316 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7317 | } | |||
7318 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7319 | } | |||
7320 | ||||
7321 | ||||
7322 | XS_EUPXS(XS_XS__APItest_test_sv_catpvf)static void XS_XS__APItest_test_sv_catpvf( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7323 | XS_EUPXS(XS_XS__APItest_test_sv_catpvf)static void XS_XS__APItest_test_sv_catpvf( CV* cv __attribute__ ((unused))) | |||
7324 | { | |||
7325 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7326 | if (items != 1) | |||
7327 | croak_xs_usagePerl_croak_xs_usage(cv, "fmtsv"); | |||
7328 | { | |||
7329 | #line 4432 "APItest.xs" | |||
7330 | SV *sv; | |||
7331 | char *fmt; | |||
7332 | #line 7333 "APItest.c" | |||
7333 | SV * fmtsv = ST(0)PL_stack_base[ax + (0)] | |||
7334 | ; | |||
7335 | #line 4435 "APItest.xs" | |||
7336 | fmt = SvPV_nolen(fmtsv)((((fmtsv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((fmtsv)->sv_u.svu_pv) : Perl_sv_2pv_flags( fmtsv,0,2) ); | |||
7337 | sv = sv_2mortal(newSVpvn("", 0))Perl_sv_2mortal( Perl_newSVpvn( "",0)); | |||
7338 | sv_catpvfPerl_sv_catpvf(sv, fmt, 5, 6, 7, 8); | |||
7339 | #line 7340 "APItest.c" | |||
7340 | } | |||
7341 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7342 | } | |||
7343 | ||||
7344 | ||||
7345 | XS_EUPXS(XS_XS__APItest_load_module)static void XS_XS__APItest_load_module( CV* cv __attribute__( (unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7346 | XS_EUPXS(XS_XS__APItest_load_module)static void XS_XS__APItest_load_module( CV* cv __attribute__( (unused))) | |||
7347 | { | |||
7348 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7349 | if (items < 2) | |||
7350 | croak_xs_usagePerl_croak_xs_usage(cv, "flags, name, ..."); | |||
7351 | { | |||
7352 | U32 flags = (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)) | |||
7353 | ; | |||
7354 | SV * name = ST(1)PL_stack_base[ax + (1)] | |||
7355 | ; | |||
7356 | #line 4444 "APItest.xs" | |||
7357 | if (items == 2) { | |||
7358 | Perl_load_module(aTHX_ flags, SvREFCNT_inc(name)Perl_SvREFCNT_inc(((SV *)({ void *_p = (name); _p; }))), NULL((void*)0)); | |||
7359 | } else if (items == 3) { | |||
7360 | Perl_load_module(aTHX_ flags, SvREFCNT_inc(name)Perl_SvREFCNT_inc(((SV *)({ void *_p = (name); _p; }))), SvREFCNT_inc(ST(2))Perl_SvREFCNT_inc(((SV *)({ void *_p = (PL_stack_base[ax + (2 )]); _p; })))); | |||
7361 | } else | |||
7362 | Perl_croak(aTHX_ "load_module can't yet support %" IVdf"ld" " items", | |||
7363 | (IV)items); | |||
7364 | #line 7365 "APItest.c" | |||
7365 | } | |||
7366 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7367 | } | |||
7368 | ||||
7369 | ||||
7370 | XS_EUPXS(XS_XS__APItest_string_without_null)static void XS_XS__APItest_string_without_null( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7371 | XS_EUPXS(XS_XS__APItest_string_without_null)static void XS_XS__APItest_string_without_null( CV* cv __attribute__ ((unused))) | |||
7372 | { | |||
7373 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7374 | if (items != 1) | |||
7375 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
7376 | { | |||
7377 | SV * RETVAL; | |||
7378 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7379 | ; | |||
7380 | #line 4455 "APItest.xs" | |||
7381 | { | |||
7382 | STRLEN len; | |||
7383 | const char *s = SvPV(sv, len)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( sv,&len,2)); | |||
7384 | RETVAL = newSVpvn_flags(s, len, SvUTF8(sv))Perl_newSVpvn_flags( s,len,((sv)->sv_flags & 0x20000000 )); | |||
7385 | *SvEND(RETVAL)((RETVAL)->sv_u.svu_pv + ((XPV*)(RETVAL)->sv_any)->xpv_cur ) = 0xff; | |||
7386 | } | |||
7387 | #line 7388 "APItest.c" | |||
7388 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
7389 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
7390 | } | |||
7391 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7392 | } | |||
7393 | ||||
7394 | ||||
7395 | XS_EUPXS(XS_XS__APItest_get_cv)static void XS_XS__APItest_get_cv( CV* cv __attribute__((unused ))); /* prototype to pass -Wmissing-prototypes */ | |||
7396 | XS_EUPXS(XS_XS__APItest_get_cv)static void XS_XS__APItest_get_cv( CV* cv __attribute__((unused ))) | |||
7397 | { | |||
7398 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7399 | if (items != 1) | |||
7400 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
7401 | { | |||
7402 | CV * RETVAL; | |||
7403 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7404 | ; | |||
7405 | #line 4467 "APItest.xs" | |||
7406 | { | |||
7407 | STRLEN len; | |||
7408 | const char *s = SvPV(sv, len)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( sv,&len,2)); | |||
7409 | RETVAL = get_cvn_flags(s, len, 0)Perl_get_cvn_flags( s,len,0); | |||
7410 | } | |||
7411 | #line 7412 "APItest.c" | |||
7412 | { | |||
7413 | SV * RETVALSV; | |||
7414 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
7415 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
7416 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
7417 | } | |||
7418 | } | |||
7419 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7420 | } | |||
7421 | ||||
7422 | ||||
7423 | XS_EUPXS(XS_XS__APItest_get_cv_flags)static void XS_XS__APItest_get_cv_flags( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7424 | XS_EUPXS(XS_XS__APItest_get_cv_flags)static void XS_XS__APItest_get_cv_flags( CV* cv __attribute__ ((unused))) | |||
7425 | { | |||
7426 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7427 | if (items != 2) | |||
7428 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, flags"); | |||
7429 | { | |||
7430 | CV * RETVAL; | |||
7431 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7432 | ; | |||
7433 | UV flags = (UV)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
7434 | ; | |||
7435 | #line 4478 "APItest.xs" | |||
7436 | { | |||
7437 | STRLEN len; | |||
7438 | const char *s = SvPV(sv, len)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( sv,&len,2)); | |||
7439 | RETVAL = get_cvn_flags(s, len, flags)Perl_get_cvn_flags( s,len,flags); | |||
7440 | } | |||
7441 | #line 7442 "APItest.c" | |||
7442 | { | |||
7443 | SV * RETVALSV; | |||
7444 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
7445 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
7446 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
7447 | } | |||
7448 | } | |||
7449 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7450 | } | |||
7451 | ||||
7452 | ||||
7453 | XS_EUPXS(XS_XS__APItest_unshift_and_set_defav)static void XS_XS__APItest_unshift_and_set_defav( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7454 | XS_EUPXS(XS_XS__APItest_unshift_and_set_defav)static void XS_XS__APItest_unshift_and_set_defav( CV* cv __attribute__ ((unused))) | |||
7455 | { | |||
7456 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7457 | if (items < 1) | |||
7458 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, ..."); | |||
7459 | { | |||
7460 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7461 | ; | |||
7462 | #line 4489 "APItest.xs" | |||
7463 | av_unshift(GvAVn(PL_defgv), 1)Perl_av_unshift( ((0+(PL_defgv)->sv_u.svu_gp)->gp_av ? ( 0+(PL_defgv)->sv_u.svu_gp)->gp_av : (0+(Perl_gv_add_by_type ( (PL_defgv),SVt_PVAV))->sv_u.svu_gp)->gp_av),1); | |||
7464 | av_store(GvAV(PL_defgv), 0, newSVuv(42))Perl_av_store( ((0+(PL_defgv)->sv_u.svu_gp)->gp_av),0,Perl_newSVuv ( 42)); | |||
7465 | sv_setuv(sv, 43)Perl_sv_setuv( sv,43); | |||
7466 | #line 7467 "APItest.c" | |||
7467 | } | |||
7468 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7469 | } | |||
7470 | ||||
7471 | ||||
7472 | XS_EUPXS(XS_XS__APItest_PerlIO_stderr)static void XS_XS__APItest_PerlIO_stderr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7473 | XS_EUPXS(XS_XS__APItest_PerlIO_stderr)static void XS_XS__APItest_PerlIO_stderr( CV* cv __attribute__ ((unused))) | |||
7474 | { | |||
7475 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7476 | if (items != 0) | |||
7477 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
7478 | { | |||
7479 | PerlIOPerlIO * RETVAL; | |||
7480 | ||||
7481 | RETVAL = PerlIO_stderr()Perl_PerlIO_stderr(); | |||
7482 | { | |||
7483 | SV * RETVALSV; | |||
7484 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); | |||
7485 | { | |||
7486 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); | |||
7487 | gv_init_pvn(gv, gv_stashpvs("XS::APItest",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::APItest" ""), (sizeof("XS::APItest")-1), 1),"__ANONIO__",10,0); | |||
7488 | if ( do_open(gv, "+<&", 3, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"+<&",3,(0),0,0,RETVAL,(SV **) ((void *)0),0) ) { | |||
7489 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); | |||
7490 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); | |||
7491 | RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv); | |||
7492 | } | |||
7493 | } | |||
7494 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
7495 | } | |||
7496 | } | |||
7497 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7498 | } | |||
7499 | ||||
7500 | ||||
7501 | XS_EUPXS(XS_XS__APItest_PerlIO_stdout)static void XS_XS__APItest_PerlIO_stdout( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7502 | XS_EUPXS(XS_XS__APItest_PerlIO_stdout)static void XS_XS__APItest_PerlIO_stdout( CV* cv __attribute__ ((unused))) | |||
7503 | { | |||
7504 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7505 | if (items != 0) | |||
7506 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
7507 | { | |||
7508 | OutputStream RETVAL; | |||
7509 | ||||
7510 | RETVAL = PerlIO_stdout()Perl_PerlIO_stdout(); | |||
7511 | { | |||
7512 | SV * RETVALSV; | |||
7513 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); | |||
7514 | { | |||
7515 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); | |||
7516 | gv_init_pvn(gv, gv_stashpvs("XS::APItest",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::APItest" ""), (sizeof("XS::APItest")-1), 1),"__ANONIO__",10,0); | |||
7517 | if ( do_open(gv, "+>&", 3, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"+>&",3,(0),0,0,RETVAL,(SV **) ((void *)0),0) ) { | |||
7518 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); | |||
7519 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); | |||
7520 | RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv); | |||
7521 | } | |||
7522 | } | |||
7523 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
7524 | } | |||
7525 | } | |||
7526 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7527 | } | |||
7528 | ||||
7529 | ||||
7530 | XS_EUPXS(XS_XS__APItest_PerlIO_stdin)static void XS_XS__APItest_PerlIO_stdin( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7531 | XS_EUPXS(XS_XS__APItest_PerlIO_stdin)static void XS_XS__APItest_PerlIO_stdin( CV* cv __attribute__ ((unused))) | |||
7532 | { | |||
7533 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7534 | if (items != 0) | |||
7535 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
7536 | { | |||
7537 | InputStream RETVAL; | |||
7538 | ||||
7539 | RETVAL = PerlIO_stdin()Perl_PerlIO_stdin(); | |||
7540 | { | |||
7541 | SV * RETVALSV; | |||
7542 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); | |||
7543 | { | |||
7544 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); | |||
7545 | gv_init_pvn(gv, gv_stashpvs("XS::APItest",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::APItest" ""), (sizeof("XS::APItest")-1), 1),"__ANONIO__",10,0); | |||
7546 | if ( do_open(gv, "<&", 2, FALSE, 0, 0, RETVAL)Perl_do_openn( gv,"<&",2,(0),0,0,RETVAL,(SV **) ((void *)0),0) ) { | |||
7547 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); | |||
7548 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); | |||
7549 | RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv); | |||
7550 | } | |||
7551 | } | |||
7552 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
7553 | } | |||
7554 | } | |||
7555 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7556 | } | |||
7557 | ||||
7558 | #undef FILENativeFile | |||
7559 | #define FILENativeFile NativeFile | |||
7560 | ||||
7561 | XS_EUPXS(XS_XS__APItest_PerlIO_exportFILE)static void XS_XS__APItest_PerlIO_exportFILE( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7562 | XS_EUPXS(XS_XS__APItest_PerlIO_exportFILE)static void XS_XS__APItest_PerlIO_exportFILE( CV* cv __attribute__ ((unused))) | |||
7563 | { | |||
7564 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7565 | if (items != 2) | |||
7566 | croak_xs_usagePerl_croak_xs_usage(cv, "f, mode"); | |||
7567 | { | |||
7568 | FILENativeFile * RETVAL; | |||
7569 | PerlIOPerlIO * f = IoIFP(sv_2io(ST(0)))(Perl_sv_2io( PL_stack_base[ax + (0)]))->sv_u.svu_fp | |||
7570 | ; | |||
7571 | const char * mode = (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)) | |||
7572 | ; | |||
7573 | ||||
7574 | RETVAL = PerlIO_exportFILE(f, mode); | |||
7575 | { | |||
7576 | SV * RETVALSV; | |||
7577 | RETVALSV = sv_newmortal()Perl_sv_newmortal(); | |||
7578 | { | |||
7579 | GV *gv = (GV *)sv_newmortal()Perl_sv_newmortal(); | |||
7580 | PerlIOPerlIO *fp = PerlIO_importFILE(RETVAL,0); | |||
7581 | gv_init_pvn(gv, gv_stashpvs("XS::APItest",1),"__ANONIO__",10,0)Perl_gv_init_pvn( gv,Perl_gv_stashpvn( ("" "XS::APItest" ""), (sizeof("XS::APItest")-1), 1),"__ANONIO__",10,0); | |||
7582 | if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp)Perl_do_openn( gv,"+<&",3,(0),0,0,fp,(SV **) ((void*)0 ),0) ) { | |||
7583 | SV *rv = newRV_inc((SV*)gv)Perl_newRV( (SV*)gv); | |||
7584 | rv = sv_bless(rv, GvSTASH(gv))Perl_sv_bless( rv,(((XPVGV*)(gv)->sv_any)->xnv_u.xgv_stash )); | |||
7585 | RETVALSV = sv_2mortal(rv)Perl_sv_2mortal( rv); | |||
7586 | } | |||
7587 | } | |||
7588 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
7589 | } | |||
7590 | } | |||
7591 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7592 | } | |||
7593 | ||||
7594 | ||||
7595 | XS_EUPXS(XS_XS__APItest_test_MAX_types)static void XS_XS__APItest_test_MAX_types( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7596 | XS_EUPXS(XS_XS__APItest_test_MAX_types)static void XS_XS__APItest_test_MAX_types( CV* cv __attribute__ ((unused))) | |||
7597 | { | |||
7598 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7599 | if (items != 0) | |||
7600 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
7601 | { | |||
7602 | SV * RETVAL; | |||
7603 | #line 4511 "APItest.xs" | |||
7604 | /* tests that IV_MAX and UV_MAX have types suitable | |||
7605 | for the IVdf and UVdf formats. | |||
7606 | If this warns then don't add casts here. | |||
7607 | */ | |||
7608 | RETVAL = newSVpvfPerl_newSVpvf("iv %" IVdf"ld" " uv %" UVuf"lu", IV_MAX((IV) ((~(UV)0) >> 1)), UV_MAX(~(UV)0)); | |||
7609 | #line 7610 "APItest.c" | |||
7610 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
7611 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
7612 | } | |||
7613 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7614 | } | |||
7615 | ||||
7616 | ||||
7617 | XS_EUPXS(XS_XS__APItest__AUTOLOADtest_AUTOLOAD)static void XS_XS__APItest__AUTOLOADtest_AUTOLOAD( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7618 | XS_EUPXS(XS_XS__APItest__AUTOLOADtest_AUTOLOAD)static void XS_XS__APItest__AUTOLOADtest_AUTOLOAD( CV* cv __attribute__ ((unused))) | |||
7619 | { | |||
7620 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7621 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
7622 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
7623 | { | |||
7624 | int RETVAL; | |||
7625 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
7626 | #line 4524 "APItest.xs" | |||
7627 | SV* comms; | |||
7628 | SV* class_and_method; | |||
7629 | #line 7630 "APItest.c" | |||
7630 | #line 4527 "APItest.xs" | |||
7631 | PERL_UNUSED_ARG(items)((void)sizeof(items)); | |||
7632 | class_and_method = GvSV(CvGV(cv))((0+(Perl_CvGV( (CV *)(cv)))->sv_u.svu_gp)->gp_sv); | |||
7633 | comms = get_sv("main::the_method", 1)Perl_get_sv( "main::the_method",1); | |||
7634 | if (class_and_method == NULL((void*)0)) { | |||
7635 | RETVAL = 1; | |||
7636 | } else if (!SvOK(class_and_method)((class_and_method)->sv_flags & (0x00000100|0x00000200 |0x00000400|0x00000800| 0x00001000|0x00002000|0x00004000|0x00008000 ))) { | |||
7637 | RETVAL = 2; | |||
7638 | } else if (!SvPOK(class_and_method)((class_and_method)->sv_flags & 0x00000400)) { | |||
7639 | RETVAL = 3; | |||
7640 | } else { | |||
7641 | sv_setsv(comms, class_and_method)Perl_sv_setsv_flags( comms,class_and_method,2|0); | |||
7642 | RETVAL = 0; | |||
7643 | } | |||
7644 | #line 7645 "APItest.c" | |||
7645 | 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); | |||
7646 | } | |||
7647 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7648 | } | |||
7649 | ||||
7650 | ||||
7651 | XS_EUPXS(XS_XS__APItest__Magic_sv_magic_foo)static void XS_XS__APItest__Magic_sv_magic_foo( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7652 | XS_EUPXS(XS_XS__APItest__Magic_sv_magic_foo)static void XS_XS__APItest__Magic_sv_magic_foo( CV* cv __attribute__ ((unused))) | |||
7653 | { | |||
7654 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7655 | dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_start_u.xcv_xsubany.any_i32; | |||
7656 | if (items != 2) | |||
7657 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, thingy"); | |||
7658 | { | |||
7659 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7660 | ; | |||
7661 | SV * thingy = ST(1)PL_stack_base[ax + (1)] | |||
7662 | ; | |||
7663 | #line 4552 "APItest.xs" | |||
7664 | sv_magicext(SvRV(sv), NULL, PERL_MAGIC_ext, ix ? &vtbl_bar : &vtbl_foo, (const char *)thingy, 0)Perl_sv_magicext( ((sv)->sv_u.svu_rv),((void*)0),'~',ix ? & vtbl_bar : &vtbl_foo,(const char *)thingy,0); | |||
7665 | #line 7666 "APItest.c" | |||
7666 | } | |||
7667 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7668 | } | |||
7669 | ||||
7670 | ||||
7671 | XS_EUPXS(XS_XS__APItest__Magic_mg_find_foo)static void XS_XS__APItest__Magic_mg_find_foo( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7672 | XS_EUPXS(XS_XS__APItest__Magic_mg_find_foo)static void XS_XS__APItest__Magic_mg_find_foo( CV* cv __attribute__ ((unused))) | |||
7673 | { | |||
7674 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7675 | dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_start_u.xcv_xsubany.any_i32; | |||
7676 | if (items != 1) | |||
7677 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
7678 | { | |||
7679 | SV * RETVAL; | |||
7680 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7681 | ; | |||
7682 | #line 4559 "APItest.xs" | |||
7683 | MAGIC *mg = mg_findextPerl_mg_findext(SvRV(sv)((sv)->sv_u.svu_rv), PERL_MAGIC_ext'~', ix ? &vtbl_bar : &vtbl_foo); | |||
7684 | RETVAL = mg ? SvREFCNT_inc((SV *)mg->mg_ptr)Perl_SvREFCNT_inc(((SV *)({ void *_p = ((SV *)mg->mg_ptr); _p; }))) : &PL_sv_undef(PL_sv_immortals[1]); | |||
7685 | #line 7686 "APItest.c" | |||
7686 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
7687 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
7688 | } | |||
7689 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7690 | } | |||
7691 | ||||
7692 | ||||
7693 | XS_EUPXS(XS_XS__APItest__Magic_sv_unmagic_foo)static void XS_XS__APItest__Magic_sv_unmagic_foo( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7694 | XS_EUPXS(XS_XS__APItest__Magic_sv_unmagic_foo)static void XS_XS__APItest__Magic_sv_unmagic_foo( CV* cv __attribute__ ((unused))) | |||
7695 | { | |||
7696 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7697 | dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_start_u.xcv_xsubany.any_i32; | |||
7698 | if (items != 1) | |||
7699 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
7700 | { | |||
7701 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7702 | ; | |||
7703 | #line 4569 "APItest.xs" | |||
7704 | sv_unmagicext(SvRV(sv), PERL_MAGIC_ext, ix ? &vtbl_bar : &vtbl_foo)Perl_sv_unmagicext( ((sv)->sv_u.svu_rv),'~',ix ? &vtbl_bar : &vtbl_foo); | |||
7705 | #line 7706 "APItest.c" | |||
7706 | } | |||
7707 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7708 | } | |||
7709 | ||||
7710 | ||||
7711 | XS_EUPXS(XS_XS__APItest__Magic_sv_magic)static void XS_XS__APItest__Magic_sv_magic( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7712 | XS_EUPXS(XS_XS__APItest__Magic_sv_magic)static void XS_XS__APItest__Magic_sv_magic( CV* cv __attribute__ ((unused))) | |||
7713 | { | |||
7714 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7715 | if (items != 2) | |||
7716 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, thingy"); | |||
7717 | { | |||
7718 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
7719 | ; | |||
7720 | SV * thingy = ST(1)PL_stack_base[ax + (1)] | |||
7721 | ; | |||
7722 | #line 4574 "APItest.xs" | |||
7723 | sv_magic(SvRV(sv), NULL, PERL_MAGIC_ext, (const char *)thingy, 0)Perl_sv_magic( ((sv)->sv_u.svu_rv),((void*)0),'~',(const char *)thingy,0); | |||
7724 | #line 7725 "APItest.c" | |||
7725 | } | |||
7726 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7727 | } | |||
7728 | ||||
7729 | ||||
7730 | XS_EUPXS(XS_XS__APItest__Magic_test_get_vtbl)static void XS_XS__APItest__Magic_test_get_vtbl( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7731 | XS_EUPXS(XS_XS__APItest__Magic_test_get_vtbl)static void XS_XS__APItest__Magic_test_get_vtbl( CV* cv __attribute__ ((unused))) | |||
7732 | { | |||
7733 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7734 | if (items != 0) | |||
7735 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
7736 | { | |||
7737 | #line 4579 "APItest.xs" | |||
7738 | MGVTBL *have; | |||
7739 | MGVTBL *want; | |||
7740 | #line 7741 "APItest.c" | |||
7741 | UV RETVAL; | |||
7742 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
7743 | #line 4582 "APItest.xs" | |||
7744 | #define test_get_this_vtable(name)want = (MGVTBL*)&PL_vtbl_name; have = Perl_get_vtbl( want_vtbl_name ); if (have != want) Perl_croak("fail %p!=%p for get_vtbl(want_vtbl_" "name" ") at " "APItest.xs" " line %d", have, want, 4582) \ | |||
7745 | want = (MGVTBL*)CAT2(&PL_vtbl_, name)&PL_vtbl_name; \ | |||
7746 | have = get_vtbl(CAT2(want_vtbl_, name))Perl_get_vtbl( want_vtbl_name); \ | |||
7747 | if (have != want) \ | |||
7748 | croakPerl_croak("fail %p!=%p for get_vtbl(want_vtbl_" STRINGIFY(name)"name" ") at " __FILE__"APItest.xs" " line %d", have, want, __LINE__4586) | |||
7749 | ||||
7750 | test_get_this_vtable(sv)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_sv]; have = Perl_get_vtbl ( want_vtbl_sv); if (have != want) Perl_croak("fail %p!=%p for get_vtbl(want_vtbl_" "sv" ") at " "APItest.xs" " line %d", have, want, 4588); | |||
7751 | test_get_this_vtable(env)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_env]; have = Perl_get_vtbl ( want_vtbl_env); if (have != want) Perl_croak("fail %p!=%p for get_vtbl(want_vtbl_" "env" ") at " "APItest.xs" " line %d", have, want, 4589); | |||
7752 | test_get_this_vtable(envelem)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_envelem]; have = Perl_get_vtbl( want_vtbl_envelem); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "envelem" ") at " "APItest.xs" " line %d", have, want, 4590); | |||
7753 | test_get_this_vtable(sigelem)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_sigelem]; have = Perl_get_vtbl( want_vtbl_sigelem); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "sigelem" ") at " "APItest.xs" " line %d", have, want, 4591); | |||
7754 | test_get_this_vtable(pack)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_pack]; have = Perl_get_vtbl( want_vtbl_pack); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "pack" ") at " "APItest.xs" " line %d", have, want, 4592); | |||
7755 | test_get_this_vtable(packelem)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_packelem]; have = Perl_get_vtbl( want_vtbl_packelem); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "packelem" ") at " "APItest.xs" " line %d", have, want, 4593); | |||
7756 | test_get_this_vtable(dbline)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_dbline]; have = Perl_get_vtbl( want_vtbl_dbline); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "dbline" ") at " "APItest.xs" " line %d", have, want, 4594); | |||
7757 | test_get_this_vtable(isa)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_isa]; have = Perl_get_vtbl ( want_vtbl_isa); if (have != want) Perl_croak("fail %p!=%p for get_vtbl(want_vtbl_" "isa" ") at " "APItest.xs" " line %d", have, want, 4595); | |||
7758 | test_get_this_vtable(isaelem)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_isaelem]; have = Perl_get_vtbl( want_vtbl_isaelem); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "isaelem" ") at " "APItest.xs" " line %d", have, want, 4596); | |||
7759 | test_get_this_vtable(arylen)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_arylen]; have = Perl_get_vtbl( want_vtbl_arylen); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "arylen" ") at " "APItest.xs" " line %d", have, want, 4597); | |||
7760 | test_get_this_vtable(mglob)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_mglob]; have = Perl_get_vtbl( want_vtbl_mglob); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "mglob" ") at " "APItest.xs" " line %d", have, want, 4598); | |||
7761 | test_get_this_vtable(nkeys)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_nkeys]; have = Perl_get_vtbl( want_vtbl_nkeys); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "nkeys" ") at " "APItest.xs" " line %d", have, want, 4599); | |||
7762 | test_get_this_vtable(taint)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_taint]; have = Perl_get_vtbl( want_vtbl_taint); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "taint" ") at " "APItest.xs" " line %d", have, want, 4600); | |||
7763 | test_get_this_vtable(substr)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_substr]; have = Perl_get_vtbl( want_vtbl_substr); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "substr" ") at " "APItest.xs" " line %d", have, want, 4601); | |||
7764 | test_get_this_vtable(vec)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_vec]; have = Perl_get_vtbl ( want_vtbl_vec); if (have != want) Perl_croak("fail %p!=%p for get_vtbl(want_vtbl_" "vec" ") at " "APItest.xs" " line %d", have, want, 4602); | |||
7765 | test_get_this_vtable(pos)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_pos]; have = Perl_get_vtbl ( want_vtbl_pos); if (have != want) Perl_croak("fail %p!=%p for get_vtbl(want_vtbl_" "pos" ") at " "APItest.xs" " line %d", have, want, 4603); | |||
7766 | test_get_this_vtable(bm)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_regexp]; have = Perl_get_vtbl( want_vtbl_regexp); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "bm" ") at " "APItest.xs" " line %d", have, want, 4604); | |||
7767 | test_get_this_vtable(fm)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_regexp]; have = Perl_get_vtbl( want_vtbl_regexp); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "fm" ") at " "APItest.xs" " line %d", have, want, 4605); | |||
7768 | test_get_this_vtable(uvar)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_uvar]; have = Perl_get_vtbl( want_vtbl_uvar); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "uvar" ") at " "APItest.xs" " line %d", have, want, 4606); | |||
7769 | test_get_this_vtable(defelem)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_defelem]; have = Perl_get_vtbl( want_vtbl_defelem); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "defelem" ") at " "APItest.xs" " line %d", have, want, 4607); | |||
7770 | test_get_this_vtable(regexp)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_regexp]; have = Perl_get_vtbl( want_vtbl_regexp); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "regexp" ") at " "APItest.xs" " line %d", have, want, 4608); | |||
7771 | test_get_this_vtable(regdata)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_regdata]; have = Perl_get_vtbl( want_vtbl_regdata); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "regdata" ") at " "APItest.xs" " line %d", have, want, 4609); | |||
7772 | test_get_this_vtable(regdatum)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_regdatum]; have = Perl_get_vtbl( want_vtbl_regdatum); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "regdatum" ") at " "APItest.xs" " line %d", have, want, 4610); | |||
7773 | #ifdef USE_LOCALE_COLLATE | |||
7774 | test_get_this_vtable(collxfrm)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_collxfrm]; have = Perl_get_vtbl( want_vtbl_collxfrm); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "collxfrm" ") at " "APItest.xs" " line %d", have, want, 4612); | |||
7775 | #endif | |||
7776 | test_get_this_vtable(backref)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_backref]; have = Perl_get_vtbl( want_vtbl_backref); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "backref" ") at " "APItest.xs" " line %d", have, want, 4614); | |||
7777 | test_get_this_vtable(utf8)want = (MGVTBL*)&PL_magic_vtables[want_vtbl_utf8]; have = Perl_get_vtbl( want_vtbl_utf8); if (have != want) Perl_croak ("fail %p!=%p for get_vtbl(want_vtbl_" "utf8" ") at " "APItest.xs" " line %d", have, want, 4615); | |||
7778 | ||||
7779 | RETVAL = PTR2UV(get_vtbl(-1))(UV)(Perl_get_vtbl( -1)); | |||
7780 | #line 7781 "APItest.c" | |||
7781 | 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); | |||
7782 | } | |||
7783 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7784 | } | |||
7785 | ||||
7786 | ||||
7787 | XS_EUPXS(XS_XS__APItest__Magic_sv_magic_myset)static void XS_XS__APItest__Magic_sv_magic_myset( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7788 | XS_EUPXS(XS_XS__APItest__Magic_sv_magic_myset)static void XS_XS__APItest__Magic_sv_magic_myset( CV* cv __attribute__ ((unused))) | |||
7789 | { | |||
7790 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7791 | if (items != 2) | |||
7792 | croak_xs_usagePerl_croak_xs_usage(cv, "rsv, thingy"); | |||
7793 | { | |||
7794 | SV * rsv = ST(0)PL_stack_base[ax + (0)] | |||
7795 | ; | |||
7796 | SV * thingy = ST(1)PL_stack_base[ax + (1)] | |||
7797 | ; | |||
7798 | #line 4628 "APItest.xs" | |||
7799 | sv_magicext(SvRV(rsv), NULL, PERL_MAGIC_ext, &vtbl_myset,Perl_sv_magicext( ((rsv)->sv_u.svu_rv),((void*)0),'~',& vtbl_myset,(const char *)thingy,0) | |||
7800 | (const char *)thingy, 0)Perl_sv_magicext( ((rsv)->sv_u.svu_rv),((void*)0),'~',& vtbl_myset,(const char *)thingy,0); | |||
7801 | #line 7802 "APItest.c" | |||
7802 | } | |||
7803 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
7804 | } | |||
7805 | ||||
7806 | ||||
7807 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_uni)static void XS_XS__APItest__Magic_test_isBLANK_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7808 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_uni)static void XS_XS__APItest__Magic_test_isBLANK_uni( CV* cv __attribute__ ((unused))) | |||
7809 | { | |||
7810 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7811 | if (items != 1) | |||
7812 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
7813 | { | |||
7814 | bool_Bool RETVAL; | |||
7815 | UV ord = (UV)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)) | |||
7816 | ; | |||
7817 | #line 4636 "APItest.xs" | |||
7818 | RETVAL = isBLANK_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (11)))) ? (_Bool)1 : (_Bool)0) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8 )) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0))) <= ( ((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof(ord) == sizeof (U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((( (U64) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) )); | |||
7819 | #line 7820 "APItest.c" | |||
7820 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7821 | } | |||
7822 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7823 | } | |||
7824 | ||||
7825 | ||||
7826 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_uvchr)static void XS_XS__APItest__Magic_test_isBLANK_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7827 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_uvchr)static void XS_XS__APItest__Magic_test_isBLANK_uvchr( CV* cv __attribute__ ((unused))) | |||
7828 | { | |||
7829 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7830 | if (items != 1) | |||
7831 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
7832 | { | |||
7833 | bool_Bool RETVAL; | |||
7834 | UV ord = (UV)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)) | |||
7835 | ; | |||
7836 | #line 4643 "APItest.xs" | |||
7837 | RETVAL = isBLANK_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (11)))) ? (_Bool)1 : (_Bool)0) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8 )) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0))) <= ( ((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof(ord) == sizeof (U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((( (U64) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) )); | |||
7838 | #line 7839 "APItest.c" | |||
7839 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7840 | } | |||
7841 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7842 | } | |||
7843 | ||||
7844 | ||||
7845 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_LC_uvchr)static void XS_XS__APItest__Magic_test_isBLANK_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7846 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_LC_uvchr)static void XS_XS__APItest__Magic_test_isBLANK_LC_uvchr( CV* cv __attribute__((unused))) | |||
7847 | { | |||
7848 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7849 | if (items != 1) | |||
7850 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
7851 | { | |||
7852 | bool_Bool RETVAL; | |||
7853 | UV ord = (UV)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)) | |||
7854 | ; | |||
7855 | #line 4650 "APItest.xs" | |||
7856 | RETVAL = isBLANK_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (11))) ? (_Bool)1 : (_Bool)0) : ((isblank( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0) )) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof( ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000 )) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0x2000)) | 0))) <= (((U64 ) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) )); | |||
7857 | #line 7858 "APItest.c" | |||
7858 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7859 | } | |||
7860 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7861 | } | |||
7862 | ||||
7863 | ||||
7864 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK)static void XS_XS__APItest__Magic_test_isBLANK( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7865 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK)static void XS_XS__APItest__Magic_test_isBLANK( CV* cv __attribute__ ((unused))) | |||
7866 | { | |||
7867 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7868 | if (items != 1) | |||
7869 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
7870 | { | |||
7871 | bool_Bool RETVAL; | |||
7872 | UV ord = (UV)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)) | |||
7873 | ; | |||
7874 | #line 4657 "APItest.xs" | |||
7875 | RETVAL = isBLANK(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (11)) | (1U << (14)))) == ((1U << (11)) | (1U << (14))))); | |||
7876 | #line 7877 "APItest.c" | |||
7877 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7878 | } | |||
7879 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7880 | } | |||
7881 | ||||
7882 | ||||
7883 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_A)static void XS_XS__APItest__Magic_test_isBLANK_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7884 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_A)static void XS_XS__APItest__Magic_test_isBLANK_A( CV* cv __attribute__ ((unused))) | |||
7885 | { | |||
7886 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7887 | if (items != 1) | |||
7888 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
7889 | { | |||
7890 | bool_Bool RETVAL; | |||
7891 | UV ord = (UV)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)) | |||
7892 | ; | |||
7893 | #line 4664 "APItest.xs" | |||
7894 | RETVAL = isBLANK_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (11)) | (1U << (14)))) == ((1U << (11)) | (1U << (14))))); | |||
7895 | #line 7896 "APItest.c" | |||
7896 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7897 | } | |||
7898 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7899 | } | |||
7900 | ||||
7901 | ||||
7902 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_L1)static void XS_XS__APItest__Magic_test_isBLANK_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7903 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_L1)static void XS_XS__APItest__Magic_test_isBLANK_L1( CV* cv __attribute__ ((unused))) | |||
7904 | { | |||
7905 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7906 | if (items != 1) | |||
7907 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
7908 | { | |||
7909 | bool_Bool RETVAL; | |||
7910 | UV ord = (UV)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)) | |||
7911 | ; | |||
7912 | #line 4671 "APItest.xs" | |||
7913 | RETVAL = isBLANK_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (11)))) ? (_Bool )1 : (_Bool)0); | |||
7914 | #line 7915 "APItest.c" | |||
7915 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7916 | } | |||
7917 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7918 | } | |||
7919 | ||||
7920 | ||||
7921 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_LC)static void XS_XS__APItest__Magic_test_isBLANK_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7922 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_LC)static void XS_XS__APItest__Magic_test_isBLANK_LC( CV* cv __attribute__ ((unused))) | |||
7923 | { | |||
7924 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7925 | if (items != 1) | |||
7926 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
7927 | { | |||
7928 | bool_Bool RETVAL; | |||
7929 | UV ord = (UV)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)) | |||
7930 | ; | |||
7931 | #line 4678 "APItest.xs" | |||
7932 | RETVAL = isBLANK_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (11))) ? (_Bool)1 : (_Bool)0) : ((isblank( (U8) (ord))) ? (_Bool)1 : (_Bool)0)); | |||
7933 | #line 7934 "APItest.c" | |||
7934 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7935 | } | |||
7936 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7937 | } | |||
7938 | ||||
7939 | ||||
7940 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_utf8)static void XS_XS__APItest__Magic_test_isBLANK_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7941 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_utf8)static void XS_XS__APItest__Magic_test_isBLANK_utf8( CV* cv __attribute__ ((unused))) | |||
7942 | { | |||
7943 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7944 | if (items != 2) | |||
7945 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
7946 | { | |||
7947 | #line 4685 "APItest.xs" | |||
7948 | const U8 * e; | |||
7949 | #line 7950 "APItest.c" | |||
7950 | bool_Bool RETVAL; | |||
7951 | U8 * p = (U8 *)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)) | |||
7952 | ; | |||
7953 | int type = (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)) | |||
7954 | ; | |||
7955 | #line 4688 "APItest.xs" | |||
7956 | /* In this function and those that follow, the boolean 'type' | |||
7957 | * indicates if to pass a malformed UTF-8 string to the tested macro | |||
7958 | * (malformed by making it too short) */ | |||
7959 | if (type >= 0) { | |||
7960 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
7961 | RETVAL = isBLANK_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (11 )))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (11)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : (__builtin_expect((((e) - (p) < PL_utf8skip [*(const U8*)(p)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : ( ( 0xE1 == ((const U8*)p) [0] ) ? ( ( ( 0x9A == ((const U8*)p)[1] ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)p)[0] ) ? ( ( 0x80 == ((const U8*)p)[1] ) ? ( ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*) p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80) )) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( ( ((U64) (((((U32) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : ( ( (((U64) (((((U64 ) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((( (0x8A) - (0x80))) | 0)))))))) || 0xAF == ((const U8*)p)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)p)[1] ) && ( 0x9F == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)p )[0] ) && ( 0x80 == ((const U8*)p)[1] ) ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 )))); | |||
7962 | } | |||
7963 | else { | |||
7964 | RETVAL = 0; | |||
7965 | } | |||
7966 | #line 7967 "APItest.c" | |||
7967 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7968 | } | |||
7969 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
7970 | } | |||
7971 | ||||
7972 | ||||
7973 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_LC_utf8)static void XS_XS__APItest__Magic_test_isBLANK_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
7974 | XS_EUPXS(XS_XS__APItest__Magic_test_isBLANK_LC_utf8)static void XS_XS__APItest__Magic_test_isBLANK_LC_utf8( CV* cv __attribute__((unused))) | |||
7975 | { | |||
7976 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
7977 | if (items != 2) | |||
7978 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
7979 | { | |||
7980 | #line 4704 "APItest.xs" | |||
7981 | const U8 * e; | |||
7982 | #line 7983 "APItest.c" | |||
7983 | bool_Bool RETVAL; | |||
7984 | U8 * p = (U8 *)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)) | |||
7985 | ; | |||
7986 | int type = (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)) | |||
7987 | ; | |||
7988 | #line 4706 "APItest.xs" | |||
7989 | if (type >= 0) { | |||
7990 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
7991 | RETVAL = isBLANK_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (11))) ? (_Bool)1 : (_Bool)0 ) : ((isblank( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ( ((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (11))) ? (_Bool)1 : (_Bool)0) : ((isblank( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p )) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2 ))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8 ) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0) ) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 * ) (e),0,1), 0)) : (__builtin_expect((((e) - (p) < PL_utf8skip [*(const U8*)(p)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : ( ( 0xE1 == ((const U8*)p) [0] ) ? ( ( ( 0x9A == ((const U8*)p)[1] ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)p)[0] ) ? ( ( 0x80 == ((const U8*)p)[1] ) ? ( ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*) p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80) )) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( ( ((U64) (((((U32) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : ( ( (((U64) (((((U64 ) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((( (0x8A) - (0x80))) | 0)))))))) || 0xAF == ((const U8*)p)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)p)[1] ) && ( 0x9F == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)p )[0] ) && ( 0x80 == ((const U8*)p)[1] ) ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 )))); | |||
7992 | } | |||
7993 | else { | |||
7994 | RETVAL = 0; | |||
7995 | } | |||
7996 | #line 7997 "APItest.c" | |||
7997 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
7998 | } | |||
7999 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8000 | } | |||
8001 | ||||
8002 | ||||
8003 | XS_EUPXS(XS_XS__APItest__Magic_test_isVERTWS_uni)static void XS_XS__APItest__Magic_test_isVERTWS_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8004 | XS_EUPXS(XS_XS__APItest__Magic_test_isVERTWS_uni)static void XS_XS__APItest__Magic_test_isVERTWS_uni( CV* cv __attribute__ ((unused))) | |||
8005 | { | |||
8006 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8007 | if (items != 1) | |||
8008 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8009 | { | |||
8010 | bool_Bool RETVAL; | |||
8011 | UV ord = (UV)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)) | |||
8012 | ; | |||
8013 | #line 4719 "APItest.xs" | |||
8014 | RETVAL = isVERTWS_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (15)))) ? (_Bool)1 : (_Bool)0) : ( 0x2028 == ord || 0x2029 == ord )); | |||
8015 | #line 8016 "APItest.c" | |||
8016 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8017 | } | |||
8018 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8019 | } | |||
8020 | ||||
8021 | ||||
8022 | XS_EUPXS(XS_XS__APItest__Magic_test_isVERTWS_uvchr)static void XS_XS__APItest__Magic_test_isVERTWS_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8023 | XS_EUPXS(XS_XS__APItest__Magic_test_isVERTWS_uvchr)static void XS_XS__APItest__Magic_test_isVERTWS_uvchr( CV* cv __attribute__((unused))) | |||
8024 | { | |||
8025 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8026 | if (items != 1) | |||
8027 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8028 | { | |||
8029 | bool_Bool RETVAL; | |||
8030 | UV ord = (UV)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)) | |||
8031 | ; | |||
8032 | #line 4726 "APItest.xs" | |||
8033 | RETVAL = isVERTWS_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (15)))) ? (_Bool)1 : (_Bool)0) : ( 0x2028 == ord || 0x2029 == ord )); | |||
8034 | #line 8035 "APItest.c" | |||
8035 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8036 | } | |||
8037 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8038 | } | |||
8039 | ||||
8040 | ||||
8041 | XS_EUPXS(XS_XS__APItest__Magic_test_isVERTWS_utf8)static void XS_XS__APItest__Magic_test_isVERTWS_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8042 | XS_EUPXS(XS_XS__APItest__Magic_test_isVERTWS_utf8)static void XS_XS__APItest__Magic_test_isVERTWS_utf8( CV* cv __attribute__ ((unused))) | |||
8043 | { | |||
8044 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8045 | if (items != 2) | |||
8046 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8047 | { | |||
8048 | #line 4733 "APItest.xs" | |||
8049 | const U8 * e; | |||
8050 | #line 8051 "APItest.c" | |||
8051 | bool_Bool RETVAL; | |||
8052 | U8 * p = (U8 *)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)) | |||
8053 | ; | |||
8054 | int type = (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)) | |||
8055 | ; | |||
8056 | #line 4735 "APItest.xs" | |||
8057 | if (type >= 0) { | |||
8058 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8059 | RETVAL = isVERTWS_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (15 )))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (15)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : (__builtin_expect((((e) - (p) < PL_utf8skip [*(const U8*)(p)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : ( ( ( ( 0xE2 == ((const U8 *)p)[0] ) && ( 0x80 == ((const U8*)p)[1] ) ) && ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) ( ((((U8) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64 ) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) (((((U32) (((const U8*)p)[2])))) - ( ((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : ( ( (((U64) (((((U64) (((const U8*)p)[2])))) - (((0xA8)) | 0 ))) <= (((U64) ((((0xA9) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 )))); | |||
8060 | } | |||
8061 | else { | |||
8062 | RETVAL = 0; | |||
8063 | } | |||
8064 | #line 8065 "APItest.c" | |||
8065 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8066 | } | |||
8067 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8068 | } | |||
8069 | ||||
8070 | ||||
8071 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_uni)static void XS_XS__APItest__Magic_test_isUPPER_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8072 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_uni)static void XS_XS__APItest__Magic_test_isUPPER_uni( CV* cv __attribute__ ((unused))) | |||
8073 | { | |||
8074 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8075 | if (items != 1) | |||
8076 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8077 | { | |||
8078 | bool_Bool RETVAL; | |||
8079 | UV ord = (UV)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)) | |||
8080 | ; | |||
8081 | #line 4748 "APItest.xs" | |||
8082 | RETVAL = isUPPER_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (4)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 4,ord)); | |||
8083 | #line 8084 "APItest.c" | |||
8084 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8085 | } | |||
8086 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8087 | } | |||
8088 | ||||
8089 | ||||
8090 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_uvchr)static void XS_XS__APItest__Magic_test_isUPPER_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8091 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_uvchr)static void XS_XS__APItest__Magic_test_isUPPER_uvchr( CV* cv __attribute__ ((unused))) | |||
8092 | { | |||
8093 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8094 | if (items != 1) | |||
8095 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8096 | { | |||
8097 | bool_Bool RETVAL; | |||
8098 | UV ord = (UV)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)) | |||
8099 | ; | |||
8100 | #line 4755 "APItest.xs" | |||
8101 | RETVAL = isUPPER_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (4)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 4,ord)); | |||
8102 | #line 8103 "APItest.c" | |||
8103 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8104 | } | |||
8105 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8106 | } | |||
8107 | ||||
8108 | ||||
8109 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_LC_uvchr)static void XS_XS__APItest__Magic_test_isUPPER_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8110 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_LC_uvchr)static void XS_XS__APItest__Magic_test_isUPPER_LC_uvchr( CV* cv __attribute__((unused))) | |||
8111 | { | |||
8112 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8113 | if (items != 1) | |||
8114 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8115 | { | |||
8116 | bool_Bool RETVAL; | |||
8117 | UV ord = (UV)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)) | |||
8118 | ; | |||
8119 | #line 4762 "APItest.xs" | |||
8120 | RETVAL = isUPPER_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (4))) ? (_Bool)1 : (_Bool)0) : ((isupper( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO ( 4,ord)); | |||
8121 | #line 8122 "APItest.c" | |||
8122 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8123 | } | |||
8124 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8125 | } | |||
8126 | ||||
8127 | ||||
8128 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER)static void XS_XS__APItest__Magic_test_isUPPER( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8129 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER)static void XS_XS__APItest__Magic_test_isUPPER( CV* cv __attribute__ ((unused))) | |||
8130 | { | |||
8131 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8132 | if (items != 1) | |||
8133 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8134 | { | |||
8135 | bool_Bool RETVAL; | |||
8136 | UV ord = (UV)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)) | |||
8137 | ; | |||
8138 | #line 4769 "APItest.xs" | |||
8139 | RETVAL = isUPPER(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0)))))))); | |||
8140 | #line 8141 "APItest.c" | |||
8141 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8142 | } | |||
8143 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8144 | } | |||
8145 | ||||
8146 | ||||
8147 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_A)static void XS_XS__APItest__Magic_test_isUPPER_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8148 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_A)static void XS_XS__APItest__Magic_test_isUPPER_A( CV* cv __attribute__ ((unused))) | |||
8149 | { | |||
8150 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8151 | if (items != 1) | |||
8152 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8153 | { | |||
8154 | bool_Bool RETVAL; | |||
8155 | UV ord = (UV)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)) | |||
8156 | ; | |||
8157 | #line 4776 "APItest.xs" | |||
8158 | RETVAL = isUPPER_A(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0)))))))); | |||
8159 | #line 8160 "APItest.c" | |||
8160 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8161 | } | |||
8162 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8163 | } | |||
8164 | ||||
8165 | ||||
8166 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_L1)static void XS_XS__APItest__Magic_test_isUPPER_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8167 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_L1)static void XS_XS__APItest__Magic_test_isUPPER_L1( CV* cv __attribute__ ((unused))) | |||
8168 | { | |||
8169 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8170 | if (items != 1) | |||
8171 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8172 | { | |||
8173 | bool_Bool RETVAL; | |||
8174 | UV ord = (UV)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)) | |||
8175 | ; | |||
8176 | #line 4783 "APItest.xs" | |||
8177 | RETVAL = isUPPER_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (4)))) ? (_Bool )1 : (_Bool)0); | |||
8178 | #line 8179 "APItest.c" | |||
8179 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8180 | } | |||
8181 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8182 | } | |||
8183 | ||||
8184 | ||||
8185 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_LC)static void XS_XS__APItest__Magic_test_isUPPER_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8186 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_LC)static void XS_XS__APItest__Magic_test_isUPPER_LC( CV* cv __attribute__ ((unused))) | |||
8187 | { | |||
8188 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8189 | if (items != 1) | |||
8190 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8191 | { | |||
8192 | bool_Bool RETVAL; | |||
8193 | UV ord = (UV)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)) | |||
8194 | ; | |||
8195 | #line 4790 "APItest.xs" | |||
8196 | RETVAL = isUPPER_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (4))) ? (_Bool)1 : (_Bool)0) : ((isupper( (U8) ( ord))) ? (_Bool)1 : (_Bool)0)); | |||
8197 | #line 8198 "APItest.c" | |||
8198 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8199 | } | |||
8200 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8201 | } | |||
8202 | ||||
8203 | ||||
8204 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_utf8)static void XS_XS__APItest__Magic_test_isUPPER_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8205 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_utf8)static void XS_XS__APItest__Magic_test_isUPPER_utf8( CV* cv __attribute__ ((unused))) | |||
8206 | { | |||
8207 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8208 | if (items != 2) | |||
8209 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8210 | { | |||
8211 | #line 4797 "APItest.xs" | |||
8212 | const U8 * e; | |||
8213 | #line 8214 "APItest.c" | |||
8214 | bool_Bool RETVAL; | |||
8215 | U8 * p = (U8 *)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)) | |||
8216 | ; | |||
8217 | int type = (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)) | |||
8218 | ; | |||
8219 | #line 4799 "APItest.xs" | |||
8220 | if (type >= 0) { | |||
8221 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8222 | RETVAL = isUPPER_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (4) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (4)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 4,p,e))); | |||
8223 | } | |||
8224 | else { | |||
8225 | RETVAL = 0; | |||
8226 | } | |||
8227 | #line 8228 "APItest.c" | |||
8228 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8229 | } | |||
8230 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8231 | } | |||
8232 | ||||
8233 | ||||
8234 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_LC_utf8)static void XS_XS__APItest__Magic_test_isUPPER_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8235 | XS_EUPXS(XS_XS__APItest__Magic_test_isUPPER_LC_utf8)static void XS_XS__APItest__Magic_test_isUPPER_LC_utf8( CV* cv __attribute__((unused))) | |||
8236 | { | |||
8237 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8238 | if (items != 2) | |||
8239 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8240 | { | |||
8241 | #line 4812 "APItest.xs" | |||
8242 | const U8 * e; | |||
8243 | #line 8244 "APItest.c" | |||
8244 | bool_Bool RETVAL; | |||
8245 | U8 * p = (U8 *)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)) | |||
8246 | ; | |||
8247 | int type = (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)) | |||
8248 | ; | |||
8249 | #line 4814 "APItest.xs" | |||
8250 | if (type >= 0) { | |||
8251 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8252 | RETVAL = isUPPER_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (4))) ? (_Bool)1 : (_Bool)0) : ((isupper( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (4))) ? (_Bool)1 : ( _Bool)0) : ((isupper( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)) ))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 4,p,e))); | |||
8253 | } | |||
8254 | else { | |||
8255 | RETVAL = 0; | |||
8256 | } | |||
8257 | #line 8258 "APItest.c" | |||
8258 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8259 | } | |||
8260 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8261 | } | |||
8262 | ||||
8263 | ||||
8264 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_uni)static void XS_XS__APItest__Magic_test_isLOWER_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8265 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_uni)static void XS_XS__APItest__Magic_test_isLOWER_uni( CV* cv __attribute__ ((unused))) | |||
8266 | { | |||
8267 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8268 | if (items != 1) | |||
8269 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8270 | { | |||
8271 | bool_Bool RETVAL; | |||
8272 | UV ord = (UV)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)) | |||
8273 | ; | |||
8274 | #line 4827 "APItest.xs" | |||
8275 | RETVAL = isLOWER_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (3)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 3,ord)); | |||
8276 | #line 8277 "APItest.c" | |||
8277 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8278 | } | |||
8279 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8280 | } | |||
8281 | ||||
8282 | ||||
8283 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_uvchr)static void XS_XS__APItest__Magic_test_isLOWER_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8284 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_uvchr)static void XS_XS__APItest__Magic_test_isLOWER_uvchr( CV* cv __attribute__ ((unused))) | |||
8285 | { | |||
8286 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8287 | if (items != 1) | |||
8288 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8289 | { | |||
8290 | bool_Bool RETVAL; | |||
8291 | UV ord = (UV)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)) | |||
8292 | ; | |||
8293 | #line 4834 "APItest.xs" | |||
8294 | RETVAL = isLOWER_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (3)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 3,ord)); | |||
8295 | #line 8296 "APItest.c" | |||
8296 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8297 | } | |||
8298 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8299 | } | |||
8300 | ||||
8301 | ||||
8302 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_LC_uvchr)static void XS_XS__APItest__Magic_test_isLOWER_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8303 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_LC_uvchr)static void XS_XS__APItest__Magic_test_isLOWER_LC_uvchr( CV* cv __attribute__((unused))) | |||
8304 | { | |||
8305 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8306 | if (items != 1) | |||
8307 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8308 | { | |||
8309 | bool_Bool RETVAL; | |||
8310 | UV ord = (UV)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)) | |||
8311 | ; | |||
8312 | #line 4841 "APItest.xs" | |||
8313 | RETVAL = isLOWER_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (3))) ? (_Bool)1 : (_Bool)0) : ((islower( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO ( 3,ord)); | |||
8314 | #line 8315 "APItest.c" | |||
8315 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8316 | } | |||
8317 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8318 | } | |||
8319 | ||||
8320 | ||||
8321 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER)static void XS_XS__APItest__Magic_test_isLOWER( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8322 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER)static void XS_XS__APItest__Magic_test_isLOWER( CV* cv __attribute__ ((unused))) | |||
8323 | { | |||
8324 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8325 | if (items != 1) | |||
8326 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8327 | { | |||
8328 | bool_Bool RETVAL; | |||
8329 | UV ord = (UV)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)) | |||
8330 | ; | |||
8331 | #line 4848 "APItest.xs" | |||
8332 | RETVAL = isLOWER(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0)))))))); | |||
8333 | #line 8334 "APItest.c" | |||
8334 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8335 | } | |||
8336 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8337 | } | |||
8338 | ||||
8339 | ||||
8340 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_A)static void XS_XS__APItest__Magic_test_isLOWER_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8341 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_A)static void XS_XS__APItest__Magic_test_isLOWER_A( CV* cv __attribute__ ((unused))) | |||
8342 | { | |||
8343 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8344 | if (items != 1) | |||
8345 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8346 | { | |||
8347 | bool_Bool RETVAL; | |||
8348 | UV ord = (UV)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)) | |||
8349 | ; | |||
8350 | #line 4855 "APItest.xs" | |||
8351 | RETVAL = isLOWER_A(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0)))))))); | |||
8352 | #line 8353 "APItest.c" | |||
8353 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8354 | } | |||
8355 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8356 | } | |||
8357 | ||||
8358 | ||||
8359 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_L1)static void XS_XS__APItest__Magic_test_isLOWER_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8360 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_L1)static void XS_XS__APItest__Magic_test_isLOWER_L1( CV* cv __attribute__ ((unused))) | |||
8361 | { | |||
8362 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8363 | if (items != 1) | |||
8364 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8365 | { | |||
8366 | bool_Bool RETVAL; | |||
8367 | UV ord = (UV)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)) | |||
8368 | ; | |||
8369 | #line 4862 "APItest.xs" | |||
8370 | RETVAL = isLOWER_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (3)))) ? (_Bool )1 : (_Bool)0); | |||
8371 | #line 8372 "APItest.c" | |||
8372 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8373 | } | |||
8374 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8375 | } | |||
8376 | ||||
8377 | ||||
8378 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_LC)static void XS_XS__APItest__Magic_test_isLOWER_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8379 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_LC)static void XS_XS__APItest__Magic_test_isLOWER_LC( CV* cv __attribute__ ((unused))) | |||
8380 | { | |||
8381 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8382 | if (items != 1) | |||
8383 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8384 | { | |||
8385 | bool_Bool RETVAL; | |||
8386 | UV ord = (UV)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)) | |||
8387 | ; | |||
8388 | #line 4869 "APItest.xs" | |||
8389 | RETVAL = isLOWER_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (3))) ? (_Bool)1 : (_Bool)0) : ((islower( (U8) ( ord))) ? (_Bool)1 : (_Bool)0)); | |||
8390 | #line 8391 "APItest.c" | |||
8391 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8392 | } | |||
8393 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8394 | } | |||
8395 | ||||
8396 | ||||
8397 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_utf8)static void XS_XS__APItest__Magic_test_isLOWER_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8398 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_utf8)static void XS_XS__APItest__Magic_test_isLOWER_utf8( CV* cv __attribute__ ((unused))) | |||
8399 | { | |||
8400 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8401 | if (items != 2) | |||
8402 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8403 | { | |||
8404 | #line 4876 "APItest.xs" | |||
8405 | const U8 * e; | |||
8406 | #line 8407 "APItest.c" | |||
8407 | bool_Bool RETVAL; | |||
8408 | U8 * p = (U8 *)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)) | |||
8409 | ; | |||
8410 | int type = (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)) | |||
8411 | ; | |||
8412 | #line 4878 "APItest.xs" | |||
8413 | if (type >= 0) { | |||
8414 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8415 | RETVAL = isLOWER_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (3) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (3)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 3,p,e))); | |||
8416 | } | |||
8417 | else { | |||
8418 | RETVAL = 0; | |||
8419 | } | |||
8420 | #line 8421 "APItest.c" | |||
8421 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8422 | } | |||
8423 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8424 | } | |||
8425 | ||||
8426 | ||||
8427 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_LC_utf8)static void XS_XS__APItest__Magic_test_isLOWER_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8428 | XS_EUPXS(XS_XS__APItest__Magic_test_isLOWER_LC_utf8)static void XS_XS__APItest__Magic_test_isLOWER_LC_utf8( CV* cv __attribute__((unused))) | |||
8429 | { | |||
8430 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8431 | if (items != 2) | |||
8432 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8433 | { | |||
8434 | #line 4891 "APItest.xs" | |||
8435 | const U8 * e; | |||
8436 | #line 8437 "APItest.c" | |||
8437 | bool_Bool RETVAL; | |||
8438 | U8 * p = (U8 *)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)) | |||
8439 | ; | |||
8440 | int type = (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)) | |||
8441 | ; | |||
8442 | #line 4893 "APItest.xs" | |||
8443 | if (type >= 0) { | |||
8444 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8445 | RETVAL = isLOWER_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (3))) ? (_Bool)1 : (_Bool)0) : ((islower( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (3))) ? (_Bool)1 : ( _Bool)0) : ((islower( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)) ))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 3,p,e))); | |||
8446 | } | |||
8447 | else { | |||
8448 | RETVAL = 0; | |||
8449 | } | |||
8450 | #line 8451 "APItest.c" | |||
8451 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8452 | } | |||
8453 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8454 | } | |||
8455 | ||||
8456 | ||||
8457 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_uni)static void XS_XS__APItest__Magic_test_isALPHA_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8458 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_uni)static void XS_XS__APItest__Magic_test_isALPHA_uni( CV* cv __attribute__ ((unused))) | |||
8459 | { | |||
8460 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8461 | if (items != 1) | |||
8462 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8463 | { | |||
8464 | bool_Bool RETVAL; | |||
8465 | UV ord = (UV)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)) | |||
8466 | ; | |||
8467 | #line 4906 "APItest.xs" | |||
8468 | RETVAL = isALPHA_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (2)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 2,ord)); | |||
8469 | #line 8470 "APItest.c" | |||
8470 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8471 | } | |||
8472 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8473 | } | |||
8474 | ||||
8475 | ||||
8476 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_uvchr)static void XS_XS__APItest__Magic_test_isALPHA_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8477 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_uvchr)static void XS_XS__APItest__Magic_test_isALPHA_uvchr( CV* cv __attribute__ ((unused))) | |||
8478 | { | |||
8479 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8480 | if (items != 1) | |||
8481 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8482 | { | |||
8483 | bool_Bool RETVAL; | |||
8484 | UV ord = (UV)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)) | |||
8485 | ; | |||
8486 | #line 4913 "APItest.xs" | |||
8487 | RETVAL = isALPHA_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (2)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 2,ord)); | |||
8488 | #line 8489 "APItest.c" | |||
8489 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8490 | } | |||
8491 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8492 | } | |||
8493 | ||||
8494 | ||||
8495 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_LC_uvchr)static void XS_XS__APItest__Magic_test_isALPHA_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8496 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_LC_uvchr)static void XS_XS__APItest__Magic_test_isALPHA_LC_uvchr( CV* cv __attribute__((unused))) | |||
8497 | { | |||
8498 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8499 | if (items != 1) | |||
8500 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8501 | { | |||
8502 | bool_Bool RETVAL; | |||
8503 | UV ord = (UV)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)) | |||
8504 | ; | |||
8505 | #line 4920 "APItest.xs" | |||
8506 | RETVAL = isALPHA_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (2))) ? (_Bool)1 : (_Bool)0) : ((isalpha( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO ( 2,ord)); | |||
8507 | #line 8508 "APItest.c" | |||
8508 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8509 | } | |||
8510 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8511 | } | |||
8512 | ||||
8513 | ||||
8514 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA)static void XS_XS__APItest__Magic_test_isALPHA( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8515 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA)static void XS_XS__APItest__Magic_test_isALPHA( CV* cv __attribute__ ((unused))) | |||
8516 | { | |||
8517 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8518 | if (items != 1) | |||
8519 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8520 | { | |||
8521 | bool_Bool RETVAL; | |||
8522 | UV ord = (UV)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)) | |||
8523 | ; | |||
8524 | #line 4927 "APItest.xs" | |||
8525 | RETVAL = isALPHA(ord)( ( (sizeof((~('A' ^ 'a') & (ord))) == sizeof(U8)) ? ( (( (U64) (((((U8) ((~('A' ^ 'a') & (ord)))))) - ((('A')) | 0 ))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof((~('A' ^ 'a') & (ord))) == sizeof(U32)) ? ( (((U64) (((((U32) ( (~('A' ^ 'a') & (ord)))))) - ((('A')) | 0))) <= (((U64 ) (((('Z') - ('A'))) | 0))))) : ( ( (((U64) (((((U64) ((~('A' ^ 'a') & (ord)))))) - ((('A')) | 0))) <= (((U64) (((( 'Z') - ('A'))) | 0)))))))); | |||
8526 | #line 8527 "APItest.c" | |||
8527 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8528 | } | |||
8529 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8530 | } | |||
8531 | ||||
8532 | ||||
8533 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_A)static void XS_XS__APItest__Magic_test_isALPHA_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8534 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_A)static void XS_XS__APItest__Magic_test_isALPHA_A( CV* cv __attribute__ ((unused))) | |||
8535 | { | |||
8536 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8537 | if (items != 1) | |||
8538 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8539 | { | |||
8540 | bool_Bool RETVAL; | |||
8541 | UV ord = (UV)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)) | |||
8542 | ; | |||
8543 | #line 4934 "APItest.xs" | |||
8544 | RETVAL = isALPHA_A(ord)( ( (sizeof((~('A' ^ 'a') & (ord))) == sizeof(U8)) ? ( (( (U64) (((((U8) ((~('A' ^ 'a') & (ord)))))) - ((('A')) | 0 ))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof((~('A' ^ 'a') & (ord))) == sizeof(U32)) ? ( (((U64) (((((U32) ( (~('A' ^ 'a') & (ord)))))) - ((('A')) | 0))) <= (((U64 ) (((('Z') - ('A'))) | 0))))) : ( ( (((U64) (((((U64) ((~('A' ^ 'a') & (ord)))))) - ((('A')) | 0))) <= (((U64) (((( 'Z') - ('A'))) | 0)))))))); | |||
8545 | #line 8546 "APItest.c" | |||
8546 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8547 | } | |||
8548 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8549 | } | |||
8550 | ||||
8551 | ||||
8552 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_L1)static void XS_XS__APItest__Magic_test_isALPHA_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8553 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_L1)static void XS_XS__APItest__Magic_test_isALPHA_L1( CV* cv __attribute__ ((unused))) | |||
8554 | { | |||
8555 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8556 | if (items != 1) | |||
8557 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8558 | { | |||
8559 | bool_Bool RETVAL; | |||
8560 | UV ord = (UV)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)) | |||
8561 | ; | |||
8562 | #line 4941 "APItest.xs" | |||
8563 | RETVAL = isALPHA_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (2)))) ? (_Bool )1 : (_Bool)0); | |||
8564 | #line 8565 "APItest.c" | |||
8565 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8566 | } | |||
8567 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8568 | } | |||
8569 | ||||
8570 | ||||
8571 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_LC)static void XS_XS__APItest__Magic_test_isALPHA_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8572 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_LC)static void XS_XS__APItest__Magic_test_isALPHA_LC( CV* cv __attribute__ ((unused))) | |||
8573 | { | |||
8574 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8575 | if (items != 1) | |||
8576 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8577 | { | |||
8578 | bool_Bool RETVAL; | |||
8579 | UV ord = (UV)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)) | |||
8580 | ; | |||
8581 | #line 4948 "APItest.xs" | |||
8582 | RETVAL = isALPHA_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (2))) ? (_Bool)1 : (_Bool)0) : ((isalpha( (U8) ( ord))) ? (_Bool)1 : (_Bool)0)); | |||
8583 | #line 8584 "APItest.c" | |||
8584 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8585 | } | |||
8586 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8587 | } | |||
8588 | ||||
8589 | ||||
8590 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_utf8)static void XS_XS__APItest__Magic_test_isALPHA_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8591 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_utf8)static void XS_XS__APItest__Magic_test_isALPHA_utf8( CV* cv __attribute__ ((unused))) | |||
8592 | { | |||
8593 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8594 | if (items != 2) | |||
8595 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8596 | { | |||
8597 | #line 4955 "APItest.xs" | |||
8598 | const U8 * e; | |||
8599 | #line 8600 "APItest.c" | |||
8600 | bool_Bool RETVAL; | |||
8601 | U8 * p = (U8 *)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)) | |||
8602 | ; | |||
8603 | int type = (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)) | |||
8604 | ; | |||
8605 | #line 4957 "APItest.xs" | |||
8606 | if (type >= 0) { | |||
8607 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8608 | RETVAL = isALPHA_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (2) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (2)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 2,p,e))); | |||
8609 | } | |||
8610 | else { | |||
8611 | RETVAL = 0; | |||
8612 | } | |||
8613 | #line 8614 "APItest.c" | |||
8614 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8615 | } | |||
8616 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8617 | } | |||
8618 | ||||
8619 | ||||
8620 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_LC_utf8)static void XS_XS__APItest__Magic_test_isALPHA_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8621 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHA_LC_utf8)static void XS_XS__APItest__Magic_test_isALPHA_LC_utf8( CV* cv __attribute__((unused))) | |||
8622 | { | |||
8623 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8624 | if (items != 2) | |||
8625 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8626 | { | |||
8627 | #line 4970 "APItest.xs" | |||
8628 | const U8 * e; | |||
8629 | #line 8630 "APItest.c" | |||
8630 | bool_Bool RETVAL; | |||
8631 | U8 * p = (U8 *)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)) | |||
8632 | ; | |||
8633 | int type = (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)) | |||
8634 | ; | |||
8635 | #line 4972 "APItest.xs" | |||
8636 | if (type >= 0) { | |||
8637 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8638 | RETVAL = isALPHA_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (2))) ? (_Bool)1 : (_Bool)0) : ((isalpha( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (2))) ? (_Bool)1 : ( _Bool)0) : ((isalpha( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)) ))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 2,p,e))); | |||
8639 | } | |||
8640 | else { | |||
8641 | RETVAL = 0; | |||
8642 | } | |||
8643 | #line 8644 "APItest.c" | |||
8644 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8645 | } | |||
8646 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8647 | } | |||
8648 | ||||
8649 | ||||
8650 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_uni)static void XS_XS__APItest__Magic_test_isWORDCHAR_uni( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8651 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_uni)static void XS_XS__APItest__Magic_test_isWORDCHAR_uni( CV* cv __attribute__((unused))) | |||
8652 | { | |||
8653 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8654 | if (items != 1) | |||
8655 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8656 | { | |||
8657 | bool_Bool RETVAL; | |||
8658 | UV ord = (UV)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)) | |||
8659 | ; | |||
8660 | #line 4985 "APItest.xs" | |||
8661 | RETVAL = isWORDCHAR_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 0,ord)); | |||
8662 | #line 8663 "APItest.c" | |||
8663 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8664 | } | |||
8665 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8666 | } | |||
8667 | ||||
8668 | ||||
8669 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_uvchr)static void XS_XS__APItest__Magic_test_isWORDCHAR_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8670 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_uvchr)static void XS_XS__APItest__Magic_test_isWORDCHAR_uvchr( CV* cv __attribute__((unused))) | |||
8671 | { | |||
8672 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8673 | if (items != 1) | |||
8674 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8675 | { | |||
8676 | bool_Bool RETVAL; | |||
8677 | UV ord = (UV)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)) | |||
8678 | ; | |||
8679 | #line 4992 "APItest.xs" | |||
8680 | RETVAL = isWORDCHAR_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 0,ord)); | |||
8681 | #line 8682 "APItest.c" | |||
8682 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8683 | } | |||
8684 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8685 | } | |||
8686 | ||||
8687 | ||||
8688 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_LC_uvchr)static void XS_XS__APItest__Magic_test_isWORDCHAR_LC_uvchr( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8689 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_LC_uvchr)static void XS_XS__APItest__Magic_test_isWORDCHAR_LC_uvchr( CV * cv __attribute__((unused))) | |||
8690 | { | |||
8691 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8692 | if (items != 1) | |||
8693 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8694 | { | |||
8695 | bool_Bool RETVAL; | |||
8696 | UV ord = (UV)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)) | |||
8697 | ; | |||
8698 | #line 4999 "APItest.xs" | |||
8699 | RETVAL = isWORDCHAR_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (ord)) || (char)(ord) == '_')) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO( 0,ord)); | |||
8700 | #line 8701 "APItest.c" | |||
8701 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8702 | } | |||
8703 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8704 | } | |||
8705 | ||||
8706 | ||||
8707 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR)static void XS_XS__APItest__Magic_test_isWORDCHAR( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8708 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR)static void XS_XS__APItest__Magic_test_isWORDCHAR( CV* cv __attribute__ ((unused))) | |||
8709 | { | |||
8710 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8711 | if (items != 1) | |||
8712 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8713 | { | |||
8714 | bool_Bool RETVAL; | |||
8715 | UV ord = (UV)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)) | |||
8716 | ; | |||
8717 | #line 5006 "APItest.xs" | |||
8718 | RETVAL = isWORDCHAR(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); | |||
8719 | #line 8720 "APItest.c" | |||
8720 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8721 | } | |||
8722 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8723 | } | |||
8724 | ||||
8725 | ||||
8726 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_A)static void XS_XS__APItest__Magic_test_isWORDCHAR_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8727 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_A)static void XS_XS__APItest__Magic_test_isWORDCHAR_A( CV* cv __attribute__ ((unused))) | |||
8728 | { | |||
8729 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8730 | if (items != 1) | |||
8731 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8732 | { | |||
8733 | bool_Bool RETVAL; | |||
8734 | UV ord = (UV)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)) | |||
8735 | ; | |||
8736 | #line 5013 "APItest.xs" | |||
8737 | RETVAL = isWORDCHAR_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); | |||
8738 | #line 8739 "APItest.c" | |||
8739 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8740 | } | |||
8741 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8742 | } | |||
8743 | ||||
8744 | ||||
8745 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_L1)static void XS_XS__APItest__Magic_test_isWORDCHAR_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8746 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_L1)static void XS_XS__APItest__Magic_test_isWORDCHAR_L1( CV* cv __attribute__ ((unused))) | |||
8747 | { | |||
8748 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8749 | if (items != 1) | |||
8750 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8751 | { | |||
8752 | bool_Bool RETVAL; | |||
8753 | UV ord = (UV)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)) | |||
8754 | ; | |||
8755 | #line 5020 "APItest.xs" | |||
8756 | RETVAL = isWORDCHAR_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (0)))) ? (_Bool )1 : (_Bool)0); | |||
8757 | #line 8758 "APItest.c" | |||
8758 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8759 | } | |||
8760 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8761 | } | |||
8762 | ||||
8763 | ||||
8764 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_LC)static void XS_XS__APItest__Magic_test_isWORDCHAR_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8765 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_LC)static void XS_XS__APItest__Magic_test_isWORDCHAR_LC( CV* cv __attribute__ ((unused))) | |||
8766 | { | |||
8767 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8768 | if (items != 1) | |||
8769 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8770 | { | |||
8771 | bool_Bool RETVAL; | |||
8772 | UV ord = (UV)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)) | |||
8773 | ; | |||
8774 | #line 5027 "APItest.xs" | |||
8775 | RETVAL = isWORDCHAR_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (ord)) || (char)(ord) == '_')) ? (_Bool)1 : (_Bool)0)); | |||
8776 | #line 8777 "APItest.c" | |||
8777 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8778 | } | |||
8779 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8780 | } | |||
8781 | ||||
8782 | ||||
8783 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_utf8)static void XS_XS__APItest__Magic_test_isWORDCHAR_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8784 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_utf8)static void XS_XS__APItest__Magic_test_isWORDCHAR_utf8( CV* cv __attribute__((unused))) | |||
8785 | { | |||
8786 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8787 | if (items != 2) | |||
8788 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8789 | { | |||
8790 | #line 5034 "APItest.xs" | |||
8791 | const U8 * e; | |||
8792 | #line 8793 "APItest.c" | |||
8793 | bool_Bool RETVAL; | |||
8794 | U8 * p = (U8 *)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)) | |||
8795 | ; | |||
8796 | int type = (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)) | |||
8797 | ; | |||
8798 | #line 5036 "APItest.xs" | |||
8799 | if (type >= 0) { | |||
8800 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8801 | RETVAL = isWORDCHAR_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (0) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 0,p,e))); | |||
8802 | } | |||
8803 | else { | |||
8804 | RETVAL = 0; | |||
8805 | } | |||
8806 | #line 8807 "APItest.c" | |||
8807 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8808 | } | |||
8809 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8810 | } | |||
8811 | ||||
8812 | ||||
8813 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_LC_utf8)static void XS_XS__APItest__Magic_test_isWORDCHAR_LC_utf8( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8814 | XS_EUPXS(XS_XS__APItest__Magic_test_isWORDCHAR_LC_utf8)static void XS_XS__APItest__Magic_test_isWORDCHAR_LC_utf8( CV * cv __attribute__((unused))) | |||
8815 | { | |||
8816 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8817 | if (items != 2) | |||
8818 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8819 | { | |||
8820 | #line 5049 "APItest.xs" | |||
8821 | const U8 * e; | |||
8822 | #line 8823 "APItest.c" | |||
8823 | bool_Bool RETVAL; | |||
8824 | U8 * p = (U8 *)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)) | |||
8825 | ; | |||
8826 | int type = (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)) | |||
8827 | ; | |||
8828 | #line 5051 "APItest.xs" | |||
8829 | if (type >= 0) { | |||
8830 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8831 | RETVAL = isWORDCHAR_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (*(p))) || (char)(*(p)) == '_')) ? (_Bool )1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof (U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - (((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof(( ( ((U8) ((( ((( ( ((U8) ((* (p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2) -2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ( (U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p )+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : ( ((isalnum( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( ( ((U8) ((( ((( ( ((U8) (( *(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2 )-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ( (U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 0,p,e))); | |||
8832 | } | |||
8833 | else { | |||
8834 | RETVAL = 0; | |||
8835 | } | |||
8836 | #line 8837 "APItest.c" | |||
8837 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8838 | } | |||
8839 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8840 | } | |||
8841 | ||||
8842 | ||||
8843 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_uni)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_uni( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8844 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_uni)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_uni( CV * cv __attribute__((unused))) | |||
8845 | { | |||
8846 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8847 | if (items != 1) | |||
8848 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8849 | { | |||
8850 | bool_Bool RETVAL; | |||
8851 | UV ord = (UV)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)) | |||
8852 | ; | |||
8853 | #line 5064 "APItest.xs" | |||
8854 | RETVAL = isALPHANUMERIC_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (7)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 7,ord)); | |||
8855 | #line 8856 "APItest.c" | |||
8856 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8857 | } | |||
8858 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8859 | } | |||
8860 | ||||
8861 | ||||
8862 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_uvchr)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_uvchr( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8863 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_uvchr)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_uvchr( CV * cv __attribute__((unused))) | |||
8864 | { | |||
8865 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8866 | if (items != 1) | |||
8867 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8868 | { | |||
8869 | bool_Bool RETVAL; | |||
8870 | UV ord = (UV)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)) | |||
8871 | ; | |||
8872 | #line 5071 "APItest.xs" | |||
8873 | RETVAL = isALPHANUMERIC_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (7)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 7,ord)); | |||
8874 | #line 8875 "APItest.c" | |||
8875 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8876 | } | |||
8877 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8878 | } | |||
8879 | ||||
8880 | ||||
8881 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_uvchr)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_uvchr ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8882 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_uvchr)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_uvchr ( CV* cv __attribute__((unused))) | |||
8883 | { | |||
8884 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8885 | if (items != 1) | |||
8886 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8887 | { | |||
8888 | bool_Bool RETVAL; | |||
8889 | UV ord = (UV)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)) | |||
8890 | ; | |||
8891 | #line 5078 "APItest.xs" | |||
8892 | RETVAL = isALPHANUMERIC_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (7))) ? (_Bool)1 : (_Bool)0) : ((isalnum( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO ( 7,ord)); | |||
8893 | #line 8894 "APItest.c" | |||
8894 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8895 | } | |||
8896 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8897 | } | |||
8898 | ||||
8899 | ||||
8900 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC)static void XS_XS__APItest__Magic_test_isALPHANUMERIC( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8901 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC)static void XS_XS__APItest__Magic_test_isALPHANUMERIC( CV* cv __attribute__((unused))) | |||
8902 | { | |||
8903 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8904 | if (items != 1) | |||
8905 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8906 | { | |||
8907 | bool_Bool RETVAL; | |||
8908 | UV ord = (UV)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)) | |||
8909 | ; | |||
8910 | #line 5085 "APItest.xs" | |||
8911 | RETVAL = isALPHANUMERIC(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (7)) | (1U << (14)))) == ((1U << (7)) | (1U << (14))))); | |||
8912 | #line 8913 "APItest.c" | |||
8913 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8914 | } | |||
8915 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8916 | } | |||
8917 | ||||
8918 | ||||
8919 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_A)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_A( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8920 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_A)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_A( CV* cv __attribute__((unused))) | |||
8921 | { | |||
8922 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8923 | if (items != 1) | |||
8924 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8925 | { | |||
8926 | bool_Bool RETVAL; | |||
8927 | UV ord = (UV)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)) | |||
8928 | ; | |||
8929 | #line 5092 "APItest.xs" | |||
8930 | RETVAL = isALPHANUMERIC_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (7)) | (1U << (14)))) == ((1U << (7)) | (1U << (14))))); | |||
8931 | #line 8932 "APItest.c" | |||
8932 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8933 | } | |||
8934 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8935 | } | |||
8936 | ||||
8937 | ||||
8938 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_L1)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_L1( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8939 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_L1)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_L1( CV* cv __attribute__((unused))) | |||
8940 | { | |||
8941 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8942 | if (items != 1) | |||
8943 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8944 | { | |||
8945 | bool_Bool RETVAL; | |||
8946 | UV ord = (UV)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)) | |||
8947 | ; | |||
8948 | #line 5099 "APItest.xs" | |||
8949 | RETVAL = isALPHANUMERIC_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (7)))) ? (_Bool )1 : (_Bool)0); | |||
8950 | #line 8951 "APItest.c" | |||
8951 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8952 | } | |||
8953 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8954 | } | |||
8955 | ||||
8956 | ||||
8957 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_LC)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_LC( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8958 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_LC)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_LC( CV* cv __attribute__((unused))) | |||
8959 | { | |||
8960 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8961 | if (items != 1) | |||
8962 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
8963 | { | |||
8964 | bool_Bool RETVAL; | |||
8965 | UV ord = (UV)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)) | |||
8966 | ; | |||
8967 | #line 5106 "APItest.xs" | |||
8968 | RETVAL = isALPHANUMERIC_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (7))) ? (_Bool)1 : (_Bool)0) : ((isalnum( (U8) ( ord))) ? (_Bool)1 : (_Bool)0)); | |||
8969 | #line 8970 "APItest.c" | |||
8970 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
8971 | } | |||
8972 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
8973 | } | |||
8974 | ||||
8975 | ||||
8976 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_utf8)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_utf8( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
8977 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_utf8)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_utf8( CV * cv __attribute__((unused))) | |||
8978 | { | |||
8979 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
8980 | if (items != 2) | |||
8981 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
8982 | { | |||
8983 | #line 5113 "APItest.xs" | |||
8984 | const U8 * e; | |||
8985 | #line 8986 "APItest.c" | |||
8986 | bool_Bool RETVAL; | |||
8987 | U8 * p = (U8 *)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)) | |||
8988 | ; | |||
8989 | int type = (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)) | |||
8990 | ; | |||
8991 | #line 5115 "APItest.xs" | |||
8992 | if (type >= 0) { | |||
8993 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
8994 | RETVAL = isALPHANUMERIC_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (7) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (7)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 7,p,e))); | |||
8995 | } | |||
8996 | else { | |||
8997 | RETVAL = 0; | |||
8998 | } | |||
8999 | #line 9000 "APItest.c" | |||
9000 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9001 | } | |||
9002 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9003 | } | |||
9004 | ||||
9005 | ||||
9006 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_utf8)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_utf8 ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9007 | XS_EUPXS(XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_utf8)static void XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_utf8 ( CV* cv __attribute__((unused))) | |||
9008 | { | |||
9009 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9010 | if (items != 2) | |||
9011 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9012 | { | |||
9013 | #line 5128 "APItest.xs" | |||
9014 | const U8 * e; | |||
9015 | #line 9016 "APItest.c" | |||
9016 | bool_Bool RETVAL; | |||
9017 | U8 * p = (U8 *)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)) | |||
9018 | ; | |||
9019 | int type = (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)) | |||
9020 | ; | |||
9021 | #line 5130 "APItest.xs" | |||
9022 | if (type >= 0) { | |||
9023 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9024 | RETVAL = isALPHANUMERIC_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (7))) ? (_Bool)1 : (_Bool)0) : ((isalnum( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (7))) ? (_Bool)1 : ( _Bool)0) : ((isalnum( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)) ))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 7,p,e))); | |||
9025 | } | |||
9026 | else { | |||
9027 | RETVAL = 0; | |||
9028 | } | |||
9029 | #line 9030 "APItest.c" | |||
9030 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9031 | } | |||
9032 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9033 | } | |||
9034 | ||||
9035 | ||||
9036 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM)static void XS_XS__APItest__Magic_test_isALNUM( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9037 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM)static void XS_XS__APItest__Magic_test_isALNUM( CV* cv __attribute__ ((unused))) | |||
9038 | { | |||
9039 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9040 | if (items != 1) | |||
9041 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9042 | { | |||
9043 | bool_Bool RETVAL; | |||
9044 | UV ord = (UV)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)) | |||
9045 | ; | |||
9046 | #line 5143 "APItest.xs" | |||
9047 | RETVAL = isALNUM(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); | |||
9048 | #line 9049 "APItest.c" | |||
9049 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9050 | } | |||
9051 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9052 | } | |||
9053 | ||||
9054 | ||||
9055 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_uni)static void XS_XS__APItest__Magic_test_isALNUM_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9056 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_uni)static void XS_XS__APItest__Magic_test_isALNUM_uni( CV* cv __attribute__ ((unused))) | |||
9057 | { | |||
9058 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9059 | if (items != 1) | |||
9060 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9061 | { | |||
9062 | bool_Bool RETVAL; | |||
9063 | UV ord = (UV)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)) | |||
9064 | ; | |||
9065 | #line 5150 "APItest.xs" | |||
9066 | RETVAL = isALNUM_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 0,ord)); | |||
9067 | #line 9068 "APItest.c" | |||
9068 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9069 | } | |||
9070 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9071 | } | |||
9072 | ||||
9073 | ||||
9074 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_LC_uvchr)static void XS_XS__APItest__Magic_test_isALNUM_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9075 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_LC_uvchr)static void XS_XS__APItest__Magic_test_isALNUM_LC_uvchr( CV* cv __attribute__((unused))) | |||
9076 | { | |||
9077 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9078 | if (items != 1) | |||
9079 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9080 | { | |||
9081 | bool_Bool RETVAL; | |||
9082 | UV ord = (UV)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)) | |||
9083 | ; | |||
9084 | #line 5157 "APItest.xs" | |||
9085 | RETVAL = isALNUM_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (ord)) || (char)(ord) == '_')) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO( 0,ord)); | |||
9086 | #line 9087 "APItest.c" | |||
9087 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9088 | } | |||
9089 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9090 | } | |||
9091 | ||||
9092 | ||||
9093 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_LC)static void XS_XS__APItest__Magic_test_isALNUM_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9094 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_LC)static void XS_XS__APItest__Magic_test_isALNUM_LC( CV* cv __attribute__ ((unused))) | |||
9095 | { | |||
9096 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9097 | if (items != 1) | |||
9098 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9099 | { | |||
9100 | bool_Bool RETVAL; | |||
9101 | UV ord = (UV)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)) | |||
9102 | ; | |||
9103 | #line 5164 "APItest.xs" | |||
9104 | RETVAL = isALNUM_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (ord)) || (char)(ord) == '_')) ? (_Bool)1 : (_Bool)0)); | |||
9105 | #line 9106 "APItest.c" | |||
9106 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9107 | } | |||
9108 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9109 | } | |||
9110 | ||||
9111 | ||||
9112 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_utf8)static void XS_XS__APItest__Magic_test_isALNUM_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9113 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_utf8)static void XS_XS__APItest__Magic_test_isALNUM_utf8( CV* cv __attribute__ ((unused))) | |||
9114 | { | |||
9115 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9116 | if (items != 2) | |||
9117 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9118 | { | |||
9119 | #line 5171 "APItest.xs" | |||
9120 | const U8 * e; | |||
9121 | #line 9122 "APItest.c" | |||
9122 | bool_Bool RETVAL; | |||
9123 | U8 * p = (U8 *)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)) | |||
9124 | ; | |||
9125 | int type = (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)) | |||
9126 | ; | |||
9127 | #line 5173 "APItest.xs" | |||
9128 | if (type >= 0) { | |||
9129 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9130 | RETVAL = isWORDCHAR_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (0) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 0,p,e))); | |||
9131 | } | |||
9132 | else { | |||
9133 | RETVAL = 0; | |||
9134 | } | |||
9135 | #line 9136 "APItest.c" | |||
9136 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9137 | } | |||
9138 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9139 | } | |||
9140 | ||||
9141 | ||||
9142 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_LC_utf8)static void XS_XS__APItest__Magic_test_isALNUM_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9143 | XS_EUPXS(XS_XS__APItest__Magic_test_isALNUM_LC_utf8)static void XS_XS__APItest__Magic_test_isALNUM_LC_utf8( CV* cv __attribute__((unused))) | |||
9144 | { | |||
9145 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9146 | if (items != 2) | |||
9147 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9148 | { | |||
9149 | #line 5186 "APItest.xs" | |||
9150 | const U8 * e; | |||
9151 | #line 9152 "APItest.c" | |||
9152 | bool_Bool RETVAL; | |||
9153 | U8 * p = (U8 *)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)) | |||
9154 | ; | |||
9155 | int type = (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)) | |||
9156 | ; | |||
9157 | #line 5188 "APItest.xs" | |||
9158 | if (type >= 0) { | |||
9159 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9160 | RETVAL = isWORDCHAR_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (*(p))) || (char)(*(p)) == '_')) ? (_Bool )1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof (U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - (((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof(( ( ((U8) ((( ((( ( ((U8) ((* (p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2) -2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ( (U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p )+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : ( ((isalnum( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( ( ((U8) ((( ((( ( ((U8) (( *(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2 )-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ( (U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 0,p,e))); | |||
9161 | } | |||
9162 | else { | |||
9163 | RETVAL = 0; | |||
9164 | } | |||
9165 | #line 9166 "APItest.c" | |||
9166 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9167 | } | |||
9168 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9169 | } | |||
9170 | ||||
9171 | ||||
9172 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_uni)static void XS_XS__APItest__Magic_test_isDIGIT_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9173 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_uni)static void XS_XS__APItest__Magic_test_isDIGIT_uni( CV* cv __attribute__ ((unused))) | |||
9174 | { | |||
9175 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9176 | if (items != 1) | |||
9177 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9178 | { | |||
9179 | bool_Bool RETVAL; | |||
9180 | UV ord = (UV)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)) | |||
9181 | ; | |||
9182 | #line 5201 "APItest.xs" | |||
9183 | RETVAL = isDIGIT_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (1)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 1,ord)); | |||
9184 | #line 9185 "APItest.c" | |||
9185 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9186 | } | |||
9187 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9188 | } | |||
9189 | ||||
9190 | ||||
9191 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_uvchr)static void XS_XS__APItest__Magic_test_isDIGIT_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9192 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_uvchr)static void XS_XS__APItest__Magic_test_isDIGIT_uvchr( CV* cv __attribute__ ((unused))) | |||
9193 | { | |||
9194 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9195 | if (items != 1) | |||
9196 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9197 | { | |||
9198 | bool_Bool RETVAL; | |||
9199 | UV ord = (UV)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)) | |||
9200 | ; | |||
9201 | #line 5208 "APItest.xs" | |||
9202 | RETVAL = isDIGIT_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (1)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 1,ord)); | |||
9203 | #line 9204 "APItest.c" | |||
9204 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9205 | } | |||
9206 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9207 | } | |||
9208 | ||||
9209 | ||||
9210 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_LC_uvchr)static void XS_XS__APItest__Magic_test_isDIGIT_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9211 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_LC_uvchr)static void XS_XS__APItest__Magic_test_isDIGIT_LC_uvchr( CV* cv __attribute__((unused))) | |||
9212 | { | |||
9213 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9214 | if (items != 1) | |||
9215 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9216 | { | |||
9217 | bool_Bool RETVAL; | |||
9218 | UV ord = (UV)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)) | |||
9219 | ; | |||
9220 | #line 5215 "APItest.xs" | |||
9221 | RETVAL = isDIGIT_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (1))) ? (_Bool)1 : (_Bool)0) : ((isdigit( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO ( 1,ord)); | |||
9222 | #line 9223 "APItest.c" | |||
9223 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9224 | } | |||
9225 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9226 | } | |||
9227 | ||||
9228 | ||||
9229 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_utf8)static void XS_XS__APItest__Magic_test_isDIGIT_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9230 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_utf8)static void XS_XS__APItest__Magic_test_isDIGIT_utf8( CV* cv __attribute__ ((unused))) | |||
9231 | { | |||
9232 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9233 | if (items != 2) | |||
9234 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9235 | { | |||
9236 | #line 5222 "APItest.xs" | |||
9237 | const U8 * e; | |||
9238 | #line 9239 "APItest.c" | |||
9239 | bool_Bool RETVAL; | |||
9240 | U8 * p = (U8 *)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)) | |||
9241 | ; | |||
9242 | int type = (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)) | |||
9243 | ; | |||
9244 | #line 5224 "APItest.xs" | |||
9245 | if (type >= 0) { | |||
9246 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9247 | RETVAL = isDIGIT_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(p)) == 1) || !(((U64)((*( p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (1)))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof (( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) ( ( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( ((( U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (((( ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0)))))))))) ? 0 : Perl__is_utf8_FOO ( 1,p,e)); | |||
9248 | } | |||
9249 | else { | |||
9250 | RETVAL = 0; | |||
9251 | } | |||
9252 | #line 9253 "APItest.c" | |||
9253 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9254 | } | |||
9255 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9256 | } | |||
9257 | ||||
9258 | ||||
9259 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_LC_utf8)static void XS_XS__APItest__Magic_test_isDIGIT_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9260 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_LC_utf8)static void XS_XS__APItest__Magic_test_isDIGIT_LC_utf8( CV* cv __attribute__((unused))) | |||
9261 | { | |||
9262 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9263 | if (items != 2) | |||
9264 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9265 | { | |||
9266 | #line 5237 "APItest.xs" | |||
9267 | const U8 * e; | |||
9268 | #line 9269 "APItest.c" | |||
9269 | bool_Bool RETVAL; | |||
9270 | U8 * p = (U8 *)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)) | |||
9271 | ; | |||
9272 | int type = (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)) | |||
9273 | ; | |||
9274 | #line 5239 "APItest.xs" | |||
9275 | if (type >= 0) { | |||
9276 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9277 | RETVAL = isDIGIT_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (1))) ? (_Bool)1 : (_Bool)0) : ((isdigit( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (1))) ? (_Bool)1 : ( _Bool)0) : ((isdigit( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)) ))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 1,p,e))); | |||
9278 | } | |||
9279 | else { | |||
9280 | RETVAL = 0; | |||
9281 | } | |||
9282 | #line 9283 "APItest.c" | |||
9283 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9284 | } | |||
9285 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9286 | } | |||
9287 | ||||
9288 | ||||
9289 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT)static void XS_XS__APItest__Magic_test_isDIGIT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9290 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT)static void XS_XS__APItest__Magic_test_isDIGIT( CV* cv __attribute__ ((unused))) | |||
9291 | { | |||
9292 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9293 | if (items != 1) | |||
9294 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9295 | { | |||
9296 | bool_Bool RETVAL; | |||
9297 | UV ord = (UV)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)) | |||
9298 | ; | |||
9299 | #line 5252 "APItest.xs" | |||
9300 | RETVAL = isDIGIT(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0)))))))); | |||
9301 | #line 9302 "APItest.c" | |||
9302 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9303 | } | |||
9304 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9305 | } | |||
9306 | ||||
9307 | ||||
9308 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_A)static void XS_XS__APItest__Magic_test_isDIGIT_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9309 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_A)static void XS_XS__APItest__Magic_test_isDIGIT_A( CV* cv __attribute__ ((unused))) | |||
9310 | { | |||
9311 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9312 | if (items != 1) | |||
9313 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9314 | { | |||
9315 | bool_Bool RETVAL; | |||
9316 | UV ord = (UV)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)) | |||
9317 | ; | |||
9318 | #line 5259 "APItest.xs" | |||
9319 | RETVAL = isDIGIT_A(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0)))))))); | |||
9320 | #line 9321 "APItest.c" | |||
9321 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9322 | } | |||
9323 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9324 | } | |||
9325 | ||||
9326 | ||||
9327 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_L1)static void XS_XS__APItest__Magic_test_isDIGIT_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9328 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_L1)static void XS_XS__APItest__Magic_test_isDIGIT_L1( CV* cv __attribute__ ((unused))) | |||
9329 | { | |||
9330 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9331 | if (items != 1) | |||
9332 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9333 | { | |||
9334 | bool_Bool RETVAL; | |||
9335 | UV ord = (UV)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)) | |||
9336 | ; | |||
9337 | #line 5266 "APItest.xs" | |||
9338 | RETVAL = isDIGIT_L1(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0)))))))); | |||
9339 | #line 9340 "APItest.c" | |||
9340 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9341 | } | |||
9342 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9343 | } | |||
9344 | ||||
9345 | ||||
9346 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_LC)static void XS_XS__APItest__Magic_test_isDIGIT_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9347 | XS_EUPXS(XS_XS__APItest__Magic_test_isDIGIT_LC)static void XS_XS__APItest__Magic_test_isDIGIT_LC( CV* cv __attribute__ ((unused))) | |||
9348 | { | |||
9349 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9350 | if (items != 1) | |||
9351 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9352 | { | |||
9353 | bool_Bool RETVAL; | |||
9354 | UV ord = (UV)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)) | |||
9355 | ; | |||
9356 | #line 5273 "APItest.xs" | |||
9357 | RETVAL = isDIGIT_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (1))) ? (_Bool)1 : (_Bool)0) : ((isdigit( (U8) ( ord))) ? (_Bool)1 : (_Bool)0)); | |||
9358 | #line 9359 "APItest.c" | |||
9359 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9360 | } | |||
9361 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9362 | } | |||
9363 | ||||
9364 | ||||
9365 | XS_EUPXS(XS_XS__APItest__Magic_test_isOCTAL)static void XS_XS__APItest__Magic_test_isOCTAL( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9366 | XS_EUPXS(XS_XS__APItest__Magic_test_isOCTAL)static void XS_XS__APItest__Magic_test_isOCTAL( CV* cv __attribute__ ((unused))) | |||
9367 | { | |||
9368 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9369 | if (items != 1) | |||
9370 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9371 | { | |||
9372 | bool_Bool RETVAL; | |||
9373 | UV ord = (UV)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)) | |||
9374 | ; | |||
9375 | #line 5280 "APItest.xs" | |||
9376 | RETVAL = isOCTAL(ord)(((U64)((ord) | 0) & ~7) == '0'); | |||
9377 | #line 9378 "APItest.c" | |||
9378 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9379 | } | |||
9380 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9381 | } | |||
9382 | ||||
9383 | ||||
9384 | XS_EUPXS(XS_XS__APItest__Magic_test_isOCTAL_A)static void XS_XS__APItest__Magic_test_isOCTAL_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9385 | XS_EUPXS(XS_XS__APItest__Magic_test_isOCTAL_A)static void XS_XS__APItest__Magic_test_isOCTAL_A( CV* cv __attribute__ ((unused))) | |||
9386 | { | |||
9387 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9388 | if (items != 1) | |||
9389 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9390 | { | |||
9391 | bool_Bool RETVAL; | |||
9392 | UV ord = (UV)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)) | |||
9393 | ; | |||
9394 | #line 5287 "APItest.xs" | |||
9395 | RETVAL = isOCTAL_A(ord)(((U64)((ord) | 0) & ~7) == '0'); | |||
9396 | #line 9397 "APItest.c" | |||
9397 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9398 | } | |||
9399 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9400 | } | |||
9401 | ||||
9402 | ||||
9403 | XS_EUPXS(XS_XS__APItest__Magic_test_isOCTAL_L1)static void XS_XS__APItest__Magic_test_isOCTAL_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9404 | XS_EUPXS(XS_XS__APItest__Magic_test_isOCTAL_L1)static void XS_XS__APItest__Magic_test_isOCTAL_L1( CV* cv __attribute__ ((unused))) | |||
9405 | { | |||
9406 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9407 | if (items != 1) | |||
9408 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9409 | { | |||
9410 | bool_Bool RETVAL; | |||
9411 | UV ord = (UV)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)) | |||
9412 | ; | |||
9413 | #line 5294 "APItest.xs" | |||
9414 | RETVAL = isOCTAL_L1(ord)(((U64)((ord) | 0) & ~7) == '0'); | |||
9415 | #line 9416 "APItest.c" | |||
9416 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9417 | } | |||
9418 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9419 | } | |||
9420 | ||||
9421 | ||||
9422 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_uni)static void XS_XS__APItest__Magic_test_isIDFIRST_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9423 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_uni)static void XS_XS__APItest__Magic_test_isIDFIRST_uni( CV* cv __attribute__ ((unused))) | |||
9424 | { | |||
9425 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9426 | if (items != 1) | |||
9427 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9428 | { | |||
9429 | bool_Bool RETVAL; | |||
9430 | UV ord = (UV)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)) | |||
9431 | ; | |||
9432 | #line 5301 "APItest.xs" | |||
9433 | RETVAL = isIDFIRST_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (16)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_perl_idstart ( ord)); | |||
9434 | #line 9435 "APItest.c" | |||
9435 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9436 | } | |||
9437 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9438 | } | |||
9439 | ||||
9440 | ||||
9441 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_uvchr)static void XS_XS__APItest__Magic_test_isIDFIRST_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9442 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_uvchr)static void XS_XS__APItest__Magic_test_isIDFIRST_uvchr( CV* cv __attribute__((unused))) | |||
9443 | { | |||
9444 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9445 | if (items != 1) | |||
9446 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9447 | { | |||
9448 | bool_Bool RETVAL; | |||
9449 | UV ord = (UV)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)) | |||
9450 | ; | |||
9451 | #line 5308 "APItest.xs" | |||
9452 | RETVAL = isIDFIRST_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (16)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_perl_idstart ( ord)); | |||
9453 | #line 9454 "APItest.c" | |||
9454 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9455 | } | |||
9456 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9457 | } | |||
9458 | ||||
9459 | ||||
9460 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_LC_uvchr)static void XS_XS__APItest__Magic_test_isIDFIRST_LC_uvchr( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9461 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_LC_uvchr)static void XS_XS__APItest__Magic_test_isIDFIRST_LC_uvchr( CV * cv __attribute__((unused))) | |||
9462 | { | |||
9463 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9464 | if (items != 1) | |||
9465 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9466 | { | |||
9467 | bool_Bool RETVAL; | |||
9468 | UV ord = (UV)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)) | |||
9469 | ; | |||
9470 | #line 5315 "APItest.xs" | |||
9471 | RETVAL = isIDFIRST_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (16))) ? (_Bool)1 : (_Bool)0) : (((isalpha( (U8) (ord)) || (char)(ord) == '_')) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_perl_idstart( ord)); | |||
9472 | #line 9473 "APItest.c" | |||
9473 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9474 | } | |||
9475 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9476 | } | |||
9477 | ||||
9478 | ||||
9479 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST)static void XS_XS__APItest__Magic_test_isIDFIRST( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9480 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST)static void XS_XS__APItest__Magic_test_isIDFIRST( CV* cv __attribute__ ((unused))) | |||
9481 | { | |||
9482 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9483 | if (items != 1) | |||
9484 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9485 | { | |||
9486 | bool_Bool RETVAL; | |||
9487 | UV ord = (UV)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)) | |||
9488 | ; | |||
9489 | #line 5322 "APItest.xs" | |||
9490 | RETVAL = isIDFIRST(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (16)) | (1U << (14)))) == ((1U << (16)) | (1U << (14))))); | |||
9491 | #line 9492 "APItest.c" | |||
9492 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9493 | } | |||
9494 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9495 | } | |||
9496 | ||||
9497 | ||||
9498 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_A)static void XS_XS__APItest__Magic_test_isIDFIRST_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9499 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_A)static void XS_XS__APItest__Magic_test_isIDFIRST_A( CV* cv __attribute__ ((unused))) | |||
9500 | { | |||
9501 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9502 | if (items != 1) | |||
9503 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9504 | { | |||
9505 | bool_Bool RETVAL; | |||
9506 | UV ord = (UV)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)) | |||
9507 | ; | |||
9508 | #line 5329 "APItest.xs" | |||
9509 | RETVAL = isIDFIRST_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (16)) | (1U << (14)))) == ((1U << (16)) | (1U << (14))))); | |||
9510 | #line 9511 "APItest.c" | |||
9511 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9512 | } | |||
9513 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9514 | } | |||
9515 | ||||
9516 | ||||
9517 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_L1)static void XS_XS__APItest__Magic_test_isIDFIRST_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9518 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_L1)static void XS_XS__APItest__Magic_test_isIDFIRST_L1( CV* cv __attribute__ ((unused))) | |||
9519 | { | |||
9520 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9521 | if (items != 1) | |||
9522 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9523 | { | |||
9524 | bool_Bool RETVAL; | |||
9525 | UV ord = (UV)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)) | |||
9526 | ; | |||
9527 | #line 5336 "APItest.xs" | |||
9528 | RETVAL = isIDFIRST_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (16)))) ? (_Bool )1 : (_Bool)0); | |||
9529 | #line 9530 "APItest.c" | |||
9530 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9531 | } | |||
9532 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9533 | } | |||
9534 | ||||
9535 | ||||
9536 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_LC)static void XS_XS__APItest__Magic_test_isIDFIRST_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9537 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_LC)static void XS_XS__APItest__Magic_test_isIDFIRST_LC( CV* cv __attribute__ ((unused))) | |||
9538 | { | |||
9539 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9540 | if (items != 1) | |||
9541 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9542 | { | |||
9543 | bool_Bool RETVAL; | |||
9544 | UV ord = (UV)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)) | |||
9545 | ; | |||
9546 | #line 5343 "APItest.xs" | |||
9547 | RETVAL = isIDFIRST_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (16))) ? (_Bool)1 : (_Bool)0) : (((isalpha( (U8 ) (ord)) || (char)(ord) == '_')) ? (_Bool)1 : (_Bool)0)); | |||
9548 | #line 9549 "APItest.c" | |||
9549 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9550 | } | |||
9551 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9552 | } | |||
9553 | ||||
9554 | ||||
9555 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_utf8)static void XS_XS__APItest__Magic_test_isIDFIRST_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9556 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_utf8)static void XS_XS__APItest__Magic_test_isIDFIRST_utf8( CV* cv __attribute__((unused))) | |||
9557 | { | |||
9558 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9559 | if (items != 2) | |||
9560 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9561 | { | |||
9562 | #line 5350 "APItest.xs" | |||
9563 | const U8 * e; | |||
9564 | #line 9565 "APItest.c" | |||
9565 | bool_Bool RETVAL; | |||
9566 | U8 * p = (U8 *)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)) | |||
9567 | ; | |||
9568 | int type = (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)) | |||
9569 | ; | |||
9570 | #line 5352 "APItest.xs" | |||
9571 | if (type >= 0) { | |||
9572 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9573 | RETVAL = isIDFIRST_utf8_safe(p, e)((! (((U8 *) (e)) > ((U8 *) (p)))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) ((U8 *) (p)),(U8 *) ((U8 *) (e)),0,1), 0) : (((((U64 )(((UV) (((*((U8 *) (p))) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*((U8 *) (p))) == 1) || !(( (U64)((*((U8 *) (p))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (*((U8 *) (p)))] & (1U << (16)))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*((U8 *) (p))) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*((U8 *) (p))) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*((U8 *) (p))) | 0)))) == sizeof(U32)) ? ( (((U64) ((( ((U32) (( ((U8) ((*((U8 *) (p))) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (((( ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*((U8 *) (p)) ) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect (((((U8 *) (e)) - ((U8 *) (p)) > 1 && ( (((( ((U8) ((*(((U8 *) (p))+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( ( ((U8) ((( ((( ( ((U8) ((*((U8 *) ( p))) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2) -2))))) << 6) | ((( ((U8) (((*(((U8 *) (p))+1 ))) | 0)) )) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !( ((U64)((( ( ((U8) ((( ((( ( ((U8) ((*((U8 *) (p))) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*(((U8 *) (p))+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*((U8 *) (p) )) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2 ))))) << 6) | ((( ((U8) (((*(((U8 *) (p))+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (16)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message ( (U8 *) ((U8 *) (p)),(U8 *) ((U8 *) (e)),0,1), 0)) : Perl__is_utf8_perl_idstart ( (U8 *) (p),(U8 *) (e)))); | |||
9574 | } | |||
9575 | else { | |||
9576 | RETVAL = 0; | |||
9577 | } | |||
9578 | #line 9579 "APItest.c" | |||
9579 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9580 | } | |||
9581 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9582 | } | |||
9583 | ||||
9584 | ||||
9585 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_LC_utf8)static void XS_XS__APItest__Magic_test_isIDFIRST_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9586 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDFIRST_LC_utf8)static void XS_XS__APItest__Magic_test_isIDFIRST_LC_utf8( CV* cv __attribute__((unused))) | |||
9587 | { | |||
9588 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9589 | if (items != 2) | |||
9590 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9591 | { | |||
9592 | #line 5365 "APItest.xs" | |||
9593 | const U8 * e; | |||
9594 | #line 9595 "APItest.c" | |||
9595 | bool_Bool RETVAL; | |||
9596 | U8 * p = (U8 *)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)) | |||
9597 | ; | |||
9598 | int type = (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)) | |||
9599 | ; | |||
9600 | #line 5367 "APItest.xs" | |||
9601 | if (type >= 0) { | |||
9602 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9603 | RETVAL = isIDFIRST_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (16))) ? (_Bool)1 : (_Bool)0 ) : (((isalpha( (U8) (*(p))) || (char)(*(p)) == '_')) ? (_Bool )1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof (U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - (((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof(( ( ((U8) ((( ((( ( ((U8) ((* (p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2) -2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ( (U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p )+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (16))) ? (_Bool)1 : (_Bool)0) : (((isalpha( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( ( ((U8) ((( ((( ( ((U8) (( *(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2 )-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ( (U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_perl_idstart( p,e)) ); | |||
9604 | } | |||
9605 | else { | |||
9606 | RETVAL = 0; | |||
9607 | } | |||
9608 | #line 9609 "APItest.c" | |||
9609 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9610 | } | |||
9611 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9612 | } | |||
9613 | ||||
9614 | ||||
9615 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_uni)static void XS_XS__APItest__Magic_test_isIDCONT_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9616 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_uni)static void XS_XS__APItest__Magic_test_isIDCONT_uni( CV* cv __attribute__ ((unused))) | |||
9617 | { | |||
9618 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9619 | if (items != 1) | |||
9620 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9621 | { | |||
9622 | bool_Bool RETVAL; | |||
9623 | UV ord = (UV)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)) | |||
9624 | ; | |||
9625 | #line 5380 "APItest.xs" | |||
9626 | RETVAL = isIDCONT_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_perl_idcont ( ord)); | |||
9627 | #line 9628 "APItest.c" | |||
9628 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9629 | } | |||
9630 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9631 | } | |||
9632 | ||||
9633 | ||||
9634 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_uvchr)static void XS_XS__APItest__Magic_test_isIDCONT_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9635 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_uvchr)static void XS_XS__APItest__Magic_test_isIDCONT_uvchr( CV* cv __attribute__((unused))) | |||
9636 | { | |||
9637 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9638 | if (items != 1) | |||
9639 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9640 | { | |||
9641 | bool_Bool RETVAL; | |||
9642 | UV ord = (UV)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)) | |||
9643 | ; | |||
9644 | #line 5387 "APItest.xs" | |||
9645 | RETVAL = isIDCONT_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_perl_idcont ( ord)); | |||
9646 | #line 9647 "APItest.c" | |||
9647 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9648 | } | |||
9649 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9650 | } | |||
9651 | ||||
9652 | ||||
9653 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_LC_uvchr)static void XS_XS__APItest__Magic_test_isIDCONT_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9654 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_LC_uvchr)static void XS_XS__APItest__Magic_test_isIDCONT_LC_uvchr( CV* cv __attribute__((unused))) | |||
9655 | { | |||
9656 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9657 | if (items != 1) | |||
9658 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9659 | { | |||
9660 | bool_Bool RETVAL; | |||
9661 | UV ord = (UV)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)) | |||
9662 | ; | |||
9663 | #line 5394 "APItest.xs" | |||
9664 | RETVAL = isIDCONT_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (ord)) || (char)(ord) == '_')) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_perl_idcont( ord)); | |||
9665 | #line 9666 "APItest.c" | |||
9666 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9667 | } | |||
9668 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9669 | } | |||
9670 | ||||
9671 | ||||
9672 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT)static void XS_XS__APItest__Magic_test_isIDCONT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9673 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT)static void XS_XS__APItest__Magic_test_isIDCONT( CV* cv __attribute__ ((unused))) | |||
9674 | { | |||
9675 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9676 | if (items != 1) | |||
9677 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9678 | { | |||
9679 | bool_Bool RETVAL; | |||
9680 | UV ord = (UV)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)) | |||
9681 | ; | |||
9682 | #line 5401 "APItest.xs" | |||
9683 | RETVAL = isIDCONT(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); | |||
9684 | #line 9685 "APItest.c" | |||
9685 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9686 | } | |||
9687 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9688 | } | |||
9689 | ||||
9690 | ||||
9691 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_A)static void XS_XS__APItest__Magic_test_isIDCONT_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9692 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_A)static void XS_XS__APItest__Magic_test_isIDCONT_A( CV* cv __attribute__ ((unused))) | |||
9693 | { | |||
9694 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9695 | if (items != 1) | |||
9696 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9697 | { | |||
9698 | bool_Bool RETVAL; | |||
9699 | UV ord = (UV)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)) | |||
9700 | ; | |||
9701 | #line 5408 "APItest.xs" | |||
9702 | RETVAL = isIDCONT_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); | |||
9703 | #line 9704 "APItest.c" | |||
9704 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9705 | } | |||
9706 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9707 | } | |||
9708 | ||||
9709 | ||||
9710 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_L1)static void XS_XS__APItest__Magic_test_isIDCONT_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9711 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_L1)static void XS_XS__APItest__Magic_test_isIDCONT_L1( CV* cv __attribute__ ((unused))) | |||
9712 | { | |||
9713 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9714 | if (items != 1) | |||
9715 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9716 | { | |||
9717 | bool_Bool RETVAL; | |||
9718 | UV ord = (UV)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)) | |||
9719 | ; | |||
9720 | #line 5415 "APItest.xs" | |||
9721 | RETVAL = isIDCONT_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (0)))) ? (_Bool )1 : (_Bool)0); | |||
9722 | #line 9723 "APItest.c" | |||
9723 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9724 | } | |||
9725 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9726 | } | |||
9727 | ||||
9728 | ||||
9729 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_LC)static void XS_XS__APItest__Magic_test_isIDCONT_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9730 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_LC)static void XS_XS__APItest__Magic_test_isIDCONT_LC( CV* cv __attribute__ ((unused))) | |||
9731 | { | |||
9732 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9733 | if (items != 1) | |||
9734 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9735 | { | |||
9736 | bool_Bool RETVAL; | |||
9737 | UV ord = (UV)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)) | |||
9738 | ; | |||
9739 | #line 5422 "APItest.xs" | |||
9740 | RETVAL = isIDCONT_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (ord)) || (char)(ord) == '_')) ? (_Bool)1 : (_Bool)0)); | |||
9741 | #line 9742 "APItest.c" | |||
9742 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9743 | } | |||
9744 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9745 | } | |||
9746 | ||||
9747 | ||||
9748 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_utf8)static void XS_XS__APItest__Magic_test_isIDCONT_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9749 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_utf8)static void XS_XS__APItest__Magic_test_isIDCONT_utf8( CV* cv __attribute__ ((unused))) | |||
9750 | { | |||
9751 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9752 | if (items != 2) | |||
9753 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9754 | { | |||
9755 | #line 5429 "APItest.xs" | |||
9756 | const U8 * e; | |||
9757 | #line 9758 "APItest.c" | |||
9758 | bool_Bool RETVAL; | |||
9759 | U8 * p = (U8 *)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)) | |||
9760 | ; | |||
9761 | int type = (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)) | |||
9762 | ; | |||
9763 | #line 5431 "APItest.xs" | |||
9764 | if (type >= 0) { | |||
9765 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9766 | RETVAL = isIDCONT_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (0) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_perl_idcont( p,e))); | |||
9767 | } | |||
9768 | else { | |||
9769 | RETVAL = 0; | |||
9770 | } | |||
9771 | #line 9772 "APItest.c" | |||
9772 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9773 | } | |||
9774 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9775 | } | |||
9776 | ||||
9777 | ||||
9778 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_LC_utf8)static void XS_XS__APItest__Magic_test_isIDCONT_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9779 | XS_EUPXS(XS_XS__APItest__Magic_test_isIDCONT_LC_utf8)static void XS_XS__APItest__Magic_test_isIDCONT_LC_utf8( CV* cv __attribute__((unused))) | |||
9780 | { | |||
9781 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9782 | if (items != 2) | |||
9783 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9784 | { | |||
9785 | #line 5444 "APItest.xs" | |||
9786 | const U8 * e; | |||
9787 | #line 9788 "APItest.c" | |||
9788 | bool_Bool RETVAL; | |||
9789 | U8 * p = (U8 *)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)) | |||
9790 | ; | |||
9791 | int type = (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)) | |||
9792 | ; | |||
9793 | #line 5446 "APItest.xs" | |||
9794 | if (type >= 0) { | |||
9795 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9796 | RETVAL = isIDCONT_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (*(p))) || (char)(*(p)) == '_')) ? (_Bool )1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof (U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - (((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof(( ( ((U8) ((( ((( ( ((U8) ((* (p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2) -2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ( (U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p )+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : ( ((isalnum( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( ( ((U8) ((( ((( ( ((U8) (( *(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2 )-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ( (U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_perl_idcont( p,e))); | |||
9797 | } | |||
9798 | else { | |||
9799 | RETVAL = 0; | |||
9800 | } | |||
9801 | #line 9802 "APItest.c" | |||
9802 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9803 | } | |||
9804 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9805 | } | |||
9806 | ||||
9807 | ||||
9808 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_uni)static void XS_XS__APItest__Magic_test_isSPACE_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9809 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_uni)static void XS_XS__APItest__Magic_test_isSPACE_uni( CV* cv __attribute__ ((unused))) | |||
9810 | { | |||
9811 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9812 | if (items != 1) | |||
9813 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9814 | { | |||
9815 | bool_Bool RETVAL; | |||
9816 | UV ord = (UV)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)) | |||
9817 | ; | |||
9818 | #line 5459 "APItest.xs" | |||
9819 | RETVAL = isSPACE_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (10)))) ? (_Bool)1 : (_Bool)0) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8 )) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0))) <= ( ((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof(ord) == sizeof (U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((( (U64) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x2028 == ord || ( 0x2028 < ord && ( 0x2029 == ord || ( 0x2029 < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) ) ) ) ) )); | |||
9820 | #line 9821 "APItest.c" | |||
9821 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9822 | } | |||
9823 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9824 | } | |||
9825 | ||||
9826 | ||||
9827 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_uvchr)static void XS_XS__APItest__Magic_test_isSPACE_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9828 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_uvchr)static void XS_XS__APItest__Magic_test_isSPACE_uvchr( CV* cv __attribute__ ((unused))) | |||
9829 | { | |||
9830 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9831 | if (items != 1) | |||
9832 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9833 | { | |||
9834 | bool_Bool RETVAL; | |||
9835 | UV ord = (UV)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)) | |||
9836 | ; | |||
9837 | #line 5466 "APItest.xs" | |||
9838 | RETVAL = isSPACE_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (10)))) ? (_Bool)1 : (_Bool)0) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8 )) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0))) <= ( ((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof(ord) == sizeof (U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((( (U64) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x2028 == ord || ( 0x2028 < ord && ( 0x2029 == ord || ( 0x2029 < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) ) ) ) ) )); | |||
9839 | #line 9840 "APItest.c" | |||
9840 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9841 | } | |||
9842 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9843 | } | |||
9844 | ||||
9845 | ||||
9846 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_LC_uvchr)static void XS_XS__APItest__Magic_test_isSPACE_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9847 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_LC_uvchr)static void XS_XS__APItest__Magic_test_isSPACE_LC_uvchr( CV* cv __attribute__((unused))) | |||
9848 | { | |||
9849 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9850 | if (items != 1) | |||
9851 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9852 | { | |||
9853 | bool_Bool RETVAL; | |||
9854 | UV ord = (UV)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)) | |||
9855 | ; | |||
9856 | #line 5473 "APItest.xs" | |||
9857 | RETVAL = isSPACE_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (10))) ? (_Bool)1 : (_Bool)0) : ((isspace( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0) )) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof( ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000 )) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0x2000)) | 0))) <= (((U64 ) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x2028 == ord || ( 0x2028 < ord && ( 0x2029 == ord || ( 0x2029 < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) ) ) ) ) )); | |||
9858 | #line 9859 "APItest.c" | |||
9859 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9860 | } | |||
9861 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9862 | } | |||
9863 | ||||
9864 | ||||
9865 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE)static void XS_XS__APItest__Magic_test_isSPACE( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9866 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE)static void XS_XS__APItest__Magic_test_isSPACE( CV* cv __attribute__ ((unused))) | |||
9867 | { | |||
9868 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9869 | if (items != 1) | |||
9870 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9871 | { | |||
9872 | bool_Bool RETVAL; | |||
9873 | UV ord = (UV)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)) | |||
9874 | ; | |||
9875 | #line 5480 "APItest.xs" | |||
9876 | RETVAL = isSPACE(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (10)) | (1U << (14)))) == ((1U << (10)) | (1U << (14))))); | |||
9877 | #line 9878 "APItest.c" | |||
9878 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9879 | } | |||
9880 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9881 | } | |||
9882 | ||||
9883 | ||||
9884 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_A)static void XS_XS__APItest__Magic_test_isSPACE_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9885 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_A)static void XS_XS__APItest__Magic_test_isSPACE_A( CV* cv __attribute__ ((unused))) | |||
9886 | { | |||
9887 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9888 | if (items != 1) | |||
9889 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9890 | { | |||
9891 | bool_Bool RETVAL; | |||
9892 | UV ord = (UV)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)) | |||
9893 | ; | |||
9894 | #line 5487 "APItest.xs" | |||
9895 | RETVAL = isSPACE_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (10)) | (1U << (14)))) == ((1U << (10)) | (1U << (14))))); | |||
9896 | #line 9897 "APItest.c" | |||
9897 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9898 | } | |||
9899 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9900 | } | |||
9901 | ||||
9902 | ||||
9903 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_L1)static void XS_XS__APItest__Magic_test_isSPACE_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9904 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_L1)static void XS_XS__APItest__Magic_test_isSPACE_L1( CV* cv __attribute__ ((unused))) | |||
9905 | { | |||
9906 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9907 | if (items != 1) | |||
9908 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9909 | { | |||
9910 | bool_Bool RETVAL; | |||
9911 | UV ord = (UV)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)) | |||
9912 | ; | |||
9913 | #line 5494 "APItest.xs" | |||
9914 | RETVAL = isSPACE_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (10)))) ? (_Bool )1 : (_Bool)0); | |||
9915 | #line 9916 "APItest.c" | |||
9916 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9917 | } | |||
9918 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9919 | } | |||
9920 | ||||
9921 | ||||
9922 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_LC)static void XS_XS__APItest__Magic_test_isSPACE_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9923 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_LC)static void XS_XS__APItest__Magic_test_isSPACE_LC( CV* cv __attribute__ ((unused))) | |||
9924 | { | |||
9925 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9926 | if (items != 1) | |||
9927 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
9928 | { | |||
9929 | bool_Bool RETVAL; | |||
9930 | UV ord = (UV)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)) | |||
9931 | ; | |||
9932 | #line 5501 "APItest.xs" | |||
9933 | RETVAL = isSPACE_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (10))) ? (_Bool)1 : (_Bool)0) : ((isspace( (U8) (ord))) ? (_Bool)1 : (_Bool)0)); | |||
9934 | #line 9935 "APItest.c" | |||
9935 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9936 | } | |||
9937 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9938 | } | |||
9939 | ||||
9940 | ||||
9941 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_utf8)static void XS_XS__APItest__Magic_test_isSPACE_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9942 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_utf8)static void XS_XS__APItest__Magic_test_isSPACE_utf8( CV* cv __attribute__ ((unused))) | |||
9943 | { | |||
9944 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9945 | if (items != 2) | |||
9946 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9947 | { | |||
9948 | #line 5508 "APItest.xs" | |||
9949 | const U8 * e; | |||
9950 | #line 9951 "APItest.c" | |||
9951 | bool_Bool RETVAL; | |||
9952 | U8 * p = (U8 *)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)) | |||
9953 | ; | |||
9954 | int type = (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)) | |||
9955 | ; | |||
9956 | #line 5510 "APItest.xs" | |||
9957 | if (type >= 0) { | |||
9958 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9959 | RETVAL = isSPACE_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (10 )))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (10)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : (__builtin_expect((((e) - (p) < PL_utf8skip [*(const U8*)(p)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : ( ( 0xE1 == ((const U8*)p) [0] ) ? ( ( ( 0x9A == ((const U8*)p)[1] ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)p)[0] ) ? ( ( 0x80 == ((const U8*)p)[1] ) ? ( ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*) p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80) )) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( ( ((U64) (((((U32) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : ( ( (((U64) (((((U64 ) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((( (0x8A) - (0x80))) | 0)))))))) || ( ( (sizeof(((const U8*)p)[2 ]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))) )) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) ( ((((U32) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64 ) ((((0xA9) - (0xA8))) | 0))))) : ( ( (((U64) (((((U64) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - ( 0xA8))) | 0)))))))) || 0xAF == ((const U8*)p)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)p)[1] ) && ( 0x9F == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)p)[0] ) && ( 0x80 == ((const U8*)p)[1] ) ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 )))); | |||
9960 | } | |||
9961 | else { | |||
9962 | RETVAL = 0; | |||
9963 | } | |||
9964 | #line 9965 "APItest.c" | |||
9965 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9966 | } | |||
9967 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9968 | } | |||
9969 | ||||
9970 | ||||
9971 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_LC_utf8)static void XS_XS__APItest__Magic_test_isSPACE_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
9972 | XS_EUPXS(XS_XS__APItest__Magic_test_isSPACE_LC_utf8)static void XS_XS__APItest__Magic_test_isSPACE_LC_utf8( CV* cv __attribute__((unused))) | |||
9973 | { | |||
9974 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
9975 | if (items != 2) | |||
9976 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
9977 | { | |||
9978 | #line 5523 "APItest.xs" | |||
9979 | const U8 * e; | |||
9980 | #line 9981 "APItest.c" | |||
9981 | bool_Bool RETVAL; | |||
9982 | U8 * p = (U8 *)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)) | |||
9983 | ; | |||
9984 | int type = (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)) | |||
9985 | ; | |||
9986 | #line 5525 "APItest.xs" | |||
9987 | if (type >= 0) { | |||
9988 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
9989 | RETVAL = isSPACE_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (10))) ? (_Bool)1 : (_Bool)0 ) : ((isspace( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ( ((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (10))) ? (_Bool)1 : (_Bool)0) : ((isspace( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p )) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2 ))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8 ) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0) ) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 * ) (e),0,1), 0)) : (__builtin_expect((((e) - (p) < PL_utf8skip [*(const U8*)(p)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : ( ( 0xE1 == ((const U8*)p) [0] ) ? ( ( ( 0x9A == ((const U8*)p)[1] ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)p)[0] ) ? ( ( 0x80 == ((const U8*)p)[1] ) ? ( ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*) p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80) )) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( ( ((U64) (((((U32) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : ( ( (((U64) (((((U64 ) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((( (0x8A) - (0x80))) | 0)))))))) || ( ( (sizeof(((const U8*)p)[2 ]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))) )) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) ( ((((U32) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64 ) ((((0xA9) - (0xA8))) | 0))))) : ( ( (((U64) (((((U64) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - ( 0xA8))) | 0)))))))) || 0xAF == ((const U8*)p)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)p)[1] ) && ( 0x9F == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)p)[0] ) && ( 0x80 == ((const U8*)p)[1] ) ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 )))); | |||
9990 | } | |||
9991 | else { | |||
9992 | RETVAL = 0; | |||
9993 | } | |||
9994 | #line 9995 "APItest.c" | |||
9995 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
9996 | } | |||
9997 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
9998 | } | |||
9999 | ||||
10000 | ||||
10001 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_uni)static void XS_XS__APItest__Magic_test_isASCII_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10002 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_uni)static void XS_XS__APItest__Magic_test_isASCII_uni( CV* cv __attribute__ ((unused))) | |||
10003 | { | |||
10004 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10005 | if (items != 1) | |||
10006 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10007 | { | |||
10008 | bool_Bool RETVAL; | |||
10009 | UV ord = (UV)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)) | |||
10010 | ; | |||
10011 | #line 5538 "APItest.xs" | |||
10012 | RETVAL = isASCII_uni(ord)((U64)((ord) | 0) < 128); | |||
10013 | #line 10014 "APItest.c" | |||
10014 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10015 | } | |||
10016 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10017 | } | |||
10018 | ||||
10019 | ||||
10020 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_uvchr)static void XS_XS__APItest__Magic_test_isASCII_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10021 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_uvchr)static void XS_XS__APItest__Magic_test_isASCII_uvchr( CV* cv __attribute__ ((unused))) | |||
10022 | { | |||
10023 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10024 | if (items != 1) | |||
10025 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10026 | { | |||
10027 | bool_Bool RETVAL; | |||
10028 | UV ord = (UV)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)) | |||
10029 | ; | |||
10030 | #line 5545 "APItest.xs" | |||
10031 | RETVAL = isASCII_uvchr(ord)((U64)((ord) | 0) < 128); | |||
10032 | #line 10033 "APItest.c" | |||
10033 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10034 | } | |||
10035 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10036 | } | |||
10037 | ||||
10038 | ||||
10039 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_LC_uvchr)static void XS_XS__APItest__Magic_test_isASCII_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10040 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_LC_uvchr)static void XS_XS__APItest__Magic_test_isASCII_LC_uvchr( CV* cv __attribute__((unused))) | |||
10041 | { | |||
10042 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10043 | if (items != 1) | |||
10044 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10045 | { | |||
10046 | bool_Bool RETVAL; | |||
10047 | UV ord = (UV)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)) | |||
10048 | ; | |||
10049 | #line 5552 "APItest.xs" | |||
10050 | RETVAL = isASCII_LC_uvchr(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && isascii( (U8) (ord))); | |||
10051 | #line 10052 "APItest.c" | |||
10052 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10053 | } | |||
10054 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10055 | } | |||
10056 | ||||
10057 | ||||
10058 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII)static void XS_XS__APItest__Magic_test_isASCII( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10059 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII)static void XS_XS__APItest__Magic_test_isASCII( CV* cv __attribute__ ((unused))) | |||
10060 | { | |||
10061 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10062 | if (items != 1) | |||
10063 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10064 | { | |||
10065 | bool_Bool RETVAL; | |||
10066 | UV ord = (UV)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)) | |||
10067 | ; | |||
10068 | #line 5559 "APItest.xs" | |||
10069 | RETVAL = isASCII(ord)((U64)((ord) | 0) < 128); | |||
10070 | #line 10071 "APItest.c" | |||
10071 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10072 | } | |||
10073 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10074 | } | |||
10075 | ||||
10076 | ||||
10077 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_A)static void XS_XS__APItest__Magic_test_isASCII_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10078 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_A)static void XS_XS__APItest__Magic_test_isASCII_A( CV* cv __attribute__ ((unused))) | |||
10079 | { | |||
10080 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10081 | if (items != 1) | |||
10082 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10083 | { | |||
10084 | bool_Bool RETVAL; | |||
10085 | UV ord = (UV)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)) | |||
10086 | ; | |||
10087 | #line 5566 "APItest.xs" | |||
10088 | RETVAL = isASCII_A(ord)((U64)((ord) | 0) < 128); | |||
10089 | #line 10090 "APItest.c" | |||
10090 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10091 | } | |||
10092 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10093 | } | |||
10094 | ||||
10095 | ||||
10096 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_L1)static void XS_XS__APItest__Magic_test_isASCII_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10097 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_L1)static void XS_XS__APItest__Magic_test_isASCII_L1( CV* cv __attribute__ ((unused))) | |||
10098 | { | |||
10099 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10100 | if (items != 1) | |||
10101 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10102 | { | |||
10103 | bool_Bool RETVAL; | |||
10104 | UV ord = (UV)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)) | |||
10105 | ; | |||
10106 | #line 5573 "APItest.xs" | |||
10107 | RETVAL = isASCII_L1(ord)((U64)((ord) | 0) < 128); | |||
10108 | #line 10109 "APItest.c" | |||
10109 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10110 | } | |||
10111 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10112 | } | |||
10113 | ||||
10114 | ||||
10115 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_LC)static void XS_XS__APItest__Magic_test_isASCII_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10116 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_LC)static void XS_XS__APItest__Magic_test_isASCII_LC( CV* cv __attribute__ ((unused))) | |||
10117 | { | |||
10118 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10119 | if (items != 1) | |||
10120 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10121 | { | |||
10122 | bool_Bool RETVAL; | |||
10123 | UV ord = (UV)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)) | |||
10124 | ; | |||
10125 | #line 5580 "APItest.xs" | |||
10126 | RETVAL = isASCII_LC(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && isascii( (U8) (ord))); | |||
10127 | #line 10128 "APItest.c" | |||
10128 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10129 | } | |||
10130 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10131 | } | |||
10132 | ||||
10133 | ||||
10134 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_utf8)static void XS_XS__APItest__Magic_test_isASCII_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10135 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_utf8)static void XS_XS__APItest__Magic_test_isASCII_utf8( CV* cv __attribute__ ((unused))) | |||
10136 | { | |||
10137 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10138 | if (items != 2) | |||
10139 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10140 | { | |||
10141 | #line 5587 "APItest.xs" | |||
10142 | const U8 * e; | |||
10143 | #line 10144 "APItest.c" | |||
10144 | bool_Bool RETVAL; | |||
10145 | U8 * p = (U8 *)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)) | |||
10146 | ; | |||
10147 | int type = (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)) | |||
10148 | ; | |||
10149 | #line 5589 "APItest.xs" | |||
10150 | #ifndef DEBUGGING | |||
10151 | PERL_UNUSED_VAR(e)((void)sizeof(e)); | |||
10152 | #endif | |||
10153 | if (type >= 0) { | |||
10154 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10155 | RETVAL = isASCII_utf8_safe(p, e)( ((U64)((*(p)) | 0) < 128)); | |||
10156 | } | |||
10157 | else { | |||
10158 | RETVAL = 0; | |||
10159 | } | |||
10160 | #line 10161 "APItest.c" | |||
10161 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10162 | } | |||
10163 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10164 | } | |||
10165 | ||||
10166 | ||||
10167 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_LC_utf8)static void XS_XS__APItest__Magic_test_isASCII_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10168 | XS_EUPXS(XS_XS__APItest__Magic_test_isASCII_LC_utf8)static void XS_XS__APItest__Magic_test_isASCII_LC_utf8( CV* cv __attribute__((unused))) | |||
10169 | { | |||
10170 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10171 | if (items != 2) | |||
10172 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10173 | { | |||
10174 | #line 5605 "APItest.xs" | |||
10175 | const U8 * e; | |||
10176 | #line 10177 "APItest.c" | |||
10177 | bool_Bool RETVAL; | |||
10178 | U8 * p = (U8 *)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)) | |||
10179 | ; | |||
10180 | int type = (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)) | |||
10181 | ; | |||
10182 | #line 5607 "APItest.xs" | |||
10183 | #ifndef DEBUGGING | |||
10184 | PERL_UNUSED_VAR(e)((void)sizeof(e)); | |||
10185 | #endif | |||
10186 | if (type >= 0) { | |||
10187 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10188 | RETVAL = isASCII_LC_utf8_safe(p, e)( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF )) && isascii( (U8) (*(p))))); | |||
10189 | } | |||
10190 | else { | |||
10191 | RETVAL = 0; | |||
10192 | } | |||
10193 | #line 10194 "APItest.c" | |||
10194 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10195 | } | |||
10196 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10197 | } | |||
10198 | ||||
10199 | ||||
10200 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_uni)static void XS_XS__APItest__Magic_test_isCNTRL_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10201 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_uni)static void XS_XS__APItest__Magic_test_isCNTRL_uni( CV* cv __attribute__ ((unused))) | |||
10202 | { | |||
10203 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10204 | if (items != 1) | |||
10205 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10206 | { | |||
10207 | bool_Bool RETVAL; | |||
10208 | UV ord = (UV)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)) | |||
10209 | ; | |||
10210 | #line 5623 "APItest.xs" | |||
10211 | RETVAL = isCNTRL_uni(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (13)))) ? (_Bool )1 : (_Bool)0); | |||
10212 | #line 10213 "APItest.c" | |||
10213 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10214 | } | |||
10215 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10216 | } | |||
10217 | ||||
10218 | ||||
10219 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_uvchr)static void XS_XS__APItest__Magic_test_isCNTRL_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10220 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_uvchr)static void XS_XS__APItest__Magic_test_isCNTRL_uvchr( CV* cv __attribute__ ((unused))) | |||
10221 | { | |||
10222 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10223 | if (items != 1) | |||
10224 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10225 | { | |||
10226 | bool_Bool RETVAL; | |||
10227 | UV ord = (UV)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)) | |||
10228 | ; | |||
10229 | #line 5630 "APItest.xs" | |||
10230 | RETVAL = isCNTRL_uvchr(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (13)))) ? (_Bool )1 : (_Bool)0); | |||
10231 | #line 10232 "APItest.c" | |||
10232 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10233 | } | |||
10234 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10235 | } | |||
10236 | ||||
10237 | ||||
10238 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_LC_uvchr)static void XS_XS__APItest__Magic_test_isCNTRL_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10239 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_LC_uvchr)static void XS_XS__APItest__Magic_test_isCNTRL_LC_uvchr( CV* cv __attribute__((unused))) | |||
10240 | { | |||
10241 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10242 | if (items != 1) | |||
10243 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10244 | { | |||
10245 | bool_Bool RETVAL; | |||
10246 | UV ord = (UV)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)) | |||
10247 | ; | |||
10248 | #line 5637 "APItest.xs" | |||
10249 | RETVAL = isCNTRL_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (13))) ? (_Bool)1 : (_Bool)0) : ((iscntrl( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : 0); | |||
10250 | #line 10251 "APItest.c" | |||
10251 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10252 | } | |||
10253 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10254 | } | |||
10255 | ||||
10256 | ||||
10257 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL)static void XS_XS__APItest__Magic_test_isCNTRL( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10258 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL)static void XS_XS__APItest__Magic_test_isCNTRL( CV* cv __attribute__ ((unused))) | |||
10259 | { | |||
10260 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10261 | if (items != 1) | |||
10262 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10263 | { | |||
10264 | bool_Bool RETVAL; | |||
10265 | UV ord = (UV)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)) | |||
10266 | ; | |||
10267 | #line 5644 "APItest.xs" | |||
10268 | RETVAL = isCNTRL(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (13)) | (1U << (14)))) == ((1U << (13)) | (1U << (14))))); | |||
10269 | #line 10270 "APItest.c" | |||
10270 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10271 | } | |||
10272 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10273 | } | |||
10274 | ||||
10275 | ||||
10276 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_A)static void XS_XS__APItest__Magic_test_isCNTRL_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10277 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_A)static void XS_XS__APItest__Magic_test_isCNTRL_A( CV* cv __attribute__ ((unused))) | |||
10278 | { | |||
10279 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10280 | if (items != 1) | |||
10281 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10282 | { | |||
10283 | bool_Bool RETVAL; | |||
10284 | UV ord = (UV)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)) | |||
10285 | ; | |||
10286 | #line 5651 "APItest.xs" | |||
10287 | RETVAL = isCNTRL_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (13)) | (1U << (14)))) == ((1U << (13)) | (1U << (14))))); | |||
10288 | #line 10289 "APItest.c" | |||
10289 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10290 | } | |||
10291 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10292 | } | |||
10293 | ||||
10294 | ||||
10295 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_L1)static void XS_XS__APItest__Magic_test_isCNTRL_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10296 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_L1)static void XS_XS__APItest__Magic_test_isCNTRL_L1( CV* cv __attribute__ ((unused))) | |||
10297 | { | |||
10298 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10299 | if (items != 1) | |||
10300 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10301 | { | |||
10302 | bool_Bool RETVAL; | |||
10303 | UV ord = (UV)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)) | |||
10304 | ; | |||
10305 | #line 5658 "APItest.xs" | |||
10306 | RETVAL = isCNTRL_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (13)))) ? (_Bool )1 : (_Bool)0); | |||
10307 | #line 10308 "APItest.c" | |||
10308 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10309 | } | |||
10310 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10311 | } | |||
10312 | ||||
10313 | ||||
10314 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_LC)static void XS_XS__APItest__Magic_test_isCNTRL_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10315 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_LC)static void XS_XS__APItest__Magic_test_isCNTRL_LC( CV* cv __attribute__ ((unused))) | |||
10316 | { | |||
10317 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10318 | if (items != 1) | |||
10319 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10320 | { | |||
10321 | bool_Bool RETVAL; | |||
10322 | UV ord = (UV)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)) | |||
10323 | ; | |||
10324 | #line 5665 "APItest.xs" | |||
10325 | RETVAL = isCNTRL_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (13))) ? (_Bool)1 : (_Bool)0) : ((iscntrl( (U8) (ord))) ? (_Bool)1 : (_Bool)0)); | |||
10326 | #line 10327 "APItest.c" | |||
10327 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10328 | } | |||
10329 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10330 | } | |||
10331 | ||||
10332 | ||||
10333 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_utf8)static void XS_XS__APItest__Magic_test_isCNTRL_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10334 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_utf8)static void XS_XS__APItest__Magic_test_isCNTRL_utf8( CV* cv __attribute__ ((unused))) | |||
10335 | { | |||
10336 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10337 | if (items != 2) | |||
10338 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10339 | { | |||
10340 | #line 5672 "APItest.xs" | |||
10341 | const U8 * e; | |||
10342 | #line 10343 "APItest.c" | |||
10343 | bool_Bool RETVAL; | |||
10344 | U8 * p = (U8 *)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)) | |||
10345 | ; | |||
10346 | int type = (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)) | |||
10347 | ; | |||
10348 | #line 5674 "APItest.xs" | |||
10349 | if (type >= 0) { | |||
10350 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10351 | RETVAL = isCNTRL_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (13 )))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (13)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : 0)); | |||
10352 | } | |||
10353 | else { | |||
10354 | RETVAL = 0; | |||
10355 | } | |||
10356 | #line 10357 "APItest.c" | |||
10357 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10358 | } | |||
10359 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10360 | } | |||
10361 | ||||
10362 | ||||
10363 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_LC_utf8)static void XS_XS__APItest__Magic_test_isCNTRL_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10364 | XS_EUPXS(XS_XS__APItest__Magic_test_isCNTRL_LC_utf8)static void XS_XS__APItest__Magic_test_isCNTRL_LC_utf8( CV* cv __attribute__((unused))) | |||
10365 | { | |||
10366 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10367 | if (items != 2) | |||
10368 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10369 | { | |||
10370 | #line 5687 "APItest.xs" | |||
10371 | const U8 * e; | |||
10372 | #line 10373 "APItest.c" | |||
10373 | bool_Bool RETVAL; | |||
10374 | U8 * p = (U8 *)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)) | |||
10375 | ; | |||
10376 | int type = (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)) | |||
10377 | ; | |||
10378 | #line 5689 "APItest.xs" | |||
10379 | if (type >= 0) { | |||
10380 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10381 | RETVAL = isCNTRL_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (13))) ? (_Bool)1 : (_Bool)0 ) : ((iscntrl( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ( ((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (13))) ? (_Bool)1 : (_Bool)0) : ((iscntrl( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p )) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2 ))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8 ) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0) ) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 * ) (e),0,1), 0)) : 0)); | |||
10382 | } | |||
10383 | else { | |||
10384 | RETVAL = 0; | |||
10385 | } | |||
10386 | #line 10387 "APItest.c" | |||
10387 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10388 | } | |||
10389 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10390 | } | |||
10391 | ||||
10392 | ||||
10393 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_uni)static void XS_XS__APItest__Magic_test_isPRINT_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10394 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_uni)static void XS_XS__APItest__Magic_test_isPRINT_uni( CV* cv __attribute__ ((unused))) | |||
10395 | { | |||
10396 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10397 | if (items != 1) | |||
10398 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10399 | { | |||
10400 | bool_Bool RETVAL; | |||
10401 | UV ord = (UV)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)) | |||
10402 | ; | |||
10403 | #line 5702 "APItest.xs" | |||
10404 | RETVAL = isPRINT_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (6)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 6,ord)); | |||
10405 | #line 10406 "APItest.c" | |||
10406 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10407 | } | |||
10408 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10409 | } | |||
10410 | ||||
10411 | ||||
10412 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_uvchr)static void XS_XS__APItest__Magic_test_isPRINT_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10413 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_uvchr)static void XS_XS__APItest__Magic_test_isPRINT_uvchr( CV* cv __attribute__ ((unused))) | |||
10414 | { | |||
10415 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10416 | if (items != 1) | |||
10417 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10418 | { | |||
10419 | bool_Bool RETVAL; | |||
10420 | UV ord = (UV)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)) | |||
10421 | ; | |||
10422 | #line 5709 "APItest.xs" | |||
10423 | RETVAL = isPRINT_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (6)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 6,ord)); | |||
10424 | #line 10425 "APItest.c" | |||
10425 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10426 | } | |||
10427 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10428 | } | |||
10429 | ||||
10430 | ||||
10431 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_LC_uvchr)static void XS_XS__APItest__Magic_test_isPRINT_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10432 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_LC_uvchr)static void XS_XS__APItest__Magic_test_isPRINT_LC_uvchr( CV* cv __attribute__((unused))) | |||
10433 | { | |||
10434 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10435 | if (items != 1) | |||
10436 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10437 | { | |||
10438 | bool_Bool RETVAL; | |||
10439 | UV ord = (UV)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)) | |||
10440 | ; | |||
10441 | #line 5716 "APItest.xs" | |||
10442 | RETVAL = isPRINT_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (6))) ? (_Bool)1 : (_Bool)0) : ((isprint( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO ( 6,ord)); | |||
10443 | #line 10444 "APItest.c" | |||
10444 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10445 | } | |||
10446 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10447 | } | |||
10448 | ||||
10449 | ||||
10450 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT)static void XS_XS__APItest__Magic_test_isPRINT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10451 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT)static void XS_XS__APItest__Magic_test_isPRINT( CV* cv __attribute__ ((unused))) | |||
10452 | { | |||
10453 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10454 | if (items != 1) | |||
10455 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10456 | { | |||
10457 | bool_Bool RETVAL; | |||
10458 | UV ord = (UV)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)) | |||
10459 | ; | |||
10460 | #line 5723 "APItest.xs" | |||
10461 | RETVAL = isPRINT(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((' ')) | 0))) <= (((U64) ((((0x7e) - (' '))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord))) ) - (((' ')) | 0))) <= (((U64) ((((0x7e) - (' '))) | 0)))) ) : ( ( (((U64) (((((U64) (ord)))) - (((' ')) | 0))) <= (( (U64) ((((0x7e) - (' '))) | 0)))))))); | |||
10462 | #line 10463 "APItest.c" | |||
10463 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10464 | } | |||
10465 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10466 | } | |||
10467 | ||||
10468 | ||||
10469 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_A)static void XS_XS__APItest__Magic_test_isPRINT_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10470 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_A)static void XS_XS__APItest__Magic_test_isPRINT_A( CV* cv __attribute__ ((unused))) | |||
10471 | { | |||
10472 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10473 | if (items != 1) | |||
10474 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10475 | { | |||
10476 | bool_Bool RETVAL; | |||
10477 | UV ord = (UV)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)) | |||
10478 | ; | |||
10479 | #line 5730 "APItest.xs" | |||
10480 | RETVAL = isPRINT_A(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((' ')) | 0))) <= (((U64) ((((0x7e) - (' '))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord))) ) - (((' ')) | 0))) <= (((U64) ((((0x7e) - (' '))) | 0)))) ) : ( ( (((U64) (((((U64) (ord)))) - (((' ')) | 0))) <= (( (U64) ((((0x7e) - (' '))) | 0)))))))); | |||
10481 | #line 10482 "APItest.c" | |||
10482 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10483 | } | |||
10484 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10485 | } | |||
10486 | ||||
10487 | ||||
10488 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_L1)static void XS_XS__APItest__Magic_test_isPRINT_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10489 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_L1)static void XS_XS__APItest__Magic_test_isPRINT_L1( CV* cv __attribute__ ((unused))) | |||
10490 | { | |||
10491 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10492 | if (items != 1) | |||
10493 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10494 | { | |||
10495 | bool_Bool RETVAL; | |||
10496 | UV ord = (UV)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)) | |||
10497 | ; | |||
10498 | #line 5737 "APItest.xs" | |||
10499 | RETVAL = isPRINT_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (6)))) ? (_Bool )1 : (_Bool)0); | |||
10500 | #line 10501 "APItest.c" | |||
10501 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10502 | } | |||
10503 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10504 | } | |||
10505 | ||||
10506 | ||||
10507 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_LC)static void XS_XS__APItest__Magic_test_isPRINT_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10508 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_LC)static void XS_XS__APItest__Magic_test_isPRINT_LC( CV* cv __attribute__ ((unused))) | |||
10509 | { | |||
10510 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10511 | if (items != 1) | |||
10512 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10513 | { | |||
10514 | bool_Bool RETVAL; | |||
10515 | UV ord = (UV)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)) | |||
10516 | ; | |||
10517 | #line 5744 "APItest.xs" | |||
10518 | RETVAL = isPRINT_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (6))) ? (_Bool)1 : (_Bool)0) : ((isprint( (U8) ( ord))) ? (_Bool)1 : (_Bool)0)); | |||
10519 | #line 10520 "APItest.c" | |||
10520 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10521 | } | |||
10522 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10523 | } | |||
10524 | ||||
10525 | ||||
10526 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_utf8)static void XS_XS__APItest__Magic_test_isPRINT_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10527 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_utf8)static void XS_XS__APItest__Magic_test_isPRINT_utf8( CV* cv __attribute__ ((unused))) | |||
10528 | { | |||
10529 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10530 | if (items != 2) | |||
10531 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10532 | { | |||
10533 | #line 5751 "APItest.xs" | |||
10534 | const U8 * e; | |||
10535 | #line 10536 "APItest.c" | |||
10536 | bool_Bool RETVAL; | |||
10537 | U8 * p = (U8 *)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)) | |||
10538 | ; | |||
10539 | int type = (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)) | |||
10540 | ; | |||
10541 | #line 5753 "APItest.xs" | |||
10542 | if (type >= 0) { | |||
10543 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10544 | RETVAL = isPRINT_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (6) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (6)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 6,p,e))); | |||
10545 | } | |||
10546 | else { | |||
10547 | RETVAL = 0; | |||
10548 | } | |||
10549 | #line 10550 "APItest.c" | |||
10550 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10551 | } | |||
10552 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10553 | } | |||
10554 | ||||
10555 | ||||
10556 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_LC_utf8)static void XS_XS__APItest__Magic_test_isPRINT_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10557 | XS_EUPXS(XS_XS__APItest__Magic_test_isPRINT_LC_utf8)static void XS_XS__APItest__Magic_test_isPRINT_LC_utf8( CV* cv __attribute__((unused))) | |||
10558 | { | |||
10559 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10560 | if (items != 2) | |||
10561 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10562 | { | |||
10563 | #line 5766 "APItest.xs" | |||
10564 | const U8 * e; | |||
10565 | #line 10566 "APItest.c" | |||
10566 | bool_Bool RETVAL; | |||
10567 | U8 * p = (U8 *)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)) | |||
10568 | ; | |||
10569 | int type = (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)) | |||
10570 | ; | |||
10571 | #line 5768 "APItest.xs" | |||
10572 | if (type >= 0) { | |||
10573 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10574 | RETVAL = isPRINT_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (6))) ? (_Bool)1 : (_Bool)0) : ((isprint( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (6))) ? (_Bool)1 : ( _Bool)0) : ((isprint( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)) ))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 6,p,e))); | |||
10575 | } | |||
10576 | else { | |||
10577 | RETVAL = 0; | |||
10578 | } | |||
10579 | #line 10580 "APItest.c" | |||
10580 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10581 | } | |||
10582 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10583 | } | |||
10584 | ||||
10585 | ||||
10586 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_uni)static void XS_XS__APItest__Magic_test_isGRAPH_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10587 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_uni)static void XS_XS__APItest__Magic_test_isGRAPH_uni( CV* cv __attribute__ ((unused))) | |||
10588 | { | |||
10589 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10590 | if (items != 1) | |||
10591 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10592 | { | |||
10593 | bool_Bool RETVAL; | |||
10594 | UV ord = (UV)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)) | |||
10595 | ; | |||
10596 | #line 5781 "APItest.xs" | |||
10597 | RETVAL = isGRAPH_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (8)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 8,ord)); | |||
10598 | #line 10599 "APItest.c" | |||
10599 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10600 | } | |||
10601 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10602 | } | |||
10603 | ||||
10604 | ||||
10605 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_uvchr)static void XS_XS__APItest__Magic_test_isGRAPH_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10606 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_uvchr)static void XS_XS__APItest__Magic_test_isGRAPH_uvchr( CV* cv __attribute__ ((unused))) | |||
10607 | { | |||
10608 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10609 | if (items != 1) | |||
10610 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10611 | { | |||
10612 | bool_Bool RETVAL; | |||
10613 | UV ord = (UV)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)) | |||
10614 | ; | |||
10615 | #line 5788 "APItest.xs" | |||
10616 | RETVAL = isGRAPH_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (8)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 8,ord)); | |||
10617 | #line 10618 "APItest.c" | |||
10618 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10619 | } | |||
10620 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10621 | } | |||
10622 | ||||
10623 | ||||
10624 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_LC_uvchr)static void XS_XS__APItest__Magic_test_isGRAPH_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10625 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_LC_uvchr)static void XS_XS__APItest__Magic_test_isGRAPH_LC_uvchr( CV* cv __attribute__((unused))) | |||
10626 | { | |||
10627 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10628 | if (items != 1) | |||
10629 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10630 | { | |||
10631 | bool_Bool RETVAL; | |||
10632 | UV ord = (UV)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)) | |||
10633 | ; | |||
10634 | #line 5795 "APItest.xs" | |||
10635 | RETVAL = isGRAPH_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (8))) ? (_Bool)1 : (_Bool)0) : ((isgraph( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO ( 8,ord)); | |||
10636 | #line 10637 "APItest.c" | |||
10637 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10638 | } | |||
10639 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10640 | } | |||
10641 | ||||
10642 | ||||
10643 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH)static void XS_XS__APItest__Magic_test_isGRAPH( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10644 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH)static void XS_XS__APItest__Magic_test_isGRAPH( CV* cv __attribute__ ((unused))) | |||
10645 | { | |||
10646 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10647 | if (items != 1) | |||
10648 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10649 | { | |||
10650 | bool_Bool RETVAL; | |||
10651 | UV ord = (UV)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)) | |||
10652 | ; | |||
10653 | #line 5802 "APItest.xs" | |||
10654 | RETVAL = isGRAPH(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((' ' + 1)) | 0))) <= (((U64) ((((0x7e) - (' ' + 1))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) ( ord)))) - (((' ' + 1)) | 0))) <= (((U64) ((((0x7e) - (' ' + 1))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((' ' + 1) ) | 0))) <= (((U64) ((((0x7e) - (' ' + 1))) | 0)))))))); | |||
10655 | #line 10656 "APItest.c" | |||
10656 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10657 | } | |||
10658 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10659 | } | |||
10660 | ||||
10661 | ||||
10662 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_A)static void XS_XS__APItest__Magic_test_isGRAPH_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10663 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_A)static void XS_XS__APItest__Magic_test_isGRAPH_A( CV* cv __attribute__ ((unused))) | |||
10664 | { | |||
10665 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10666 | if (items != 1) | |||
10667 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10668 | { | |||
10669 | bool_Bool RETVAL; | |||
10670 | UV ord = (UV)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)) | |||
10671 | ; | |||
10672 | #line 5809 "APItest.xs" | |||
10673 | RETVAL = isGRAPH_A(ord)( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((' ' + 1)) | 0))) <= (((U64) ((((0x7e) - (' ' + 1))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) ( ord)))) - (((' ' + 1)) | 0))) <= (((U64) ((((0x7e) - (' ' + 1))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((' ' + 1) ) | 0))) <= (((U64) ((((0x7e) - (' ' + 1))) | 0)))))))); | |||
10674 | #line 10675 "APItest.c" | |||
10675 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10676 | } | |||
10677 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10678 | } | |||
10679 | ||||
10680 | ||||
10681 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_L1)static void XS_XS__APItest__Magic_test_isGRAPH_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10682 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_L1)static void XS_XS__APItest__Magic_test_isGRAPH_L1( CV* cv __attribute__ ((unused))) | |||
10683 | { | |||
10684 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10685 | if (items != 1) | |||
10686 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10687 | { | |||
10688 | bool_Bool RETVAL; | |||
10689 | UV ord = (UV)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)) | |||
10690 | ; | |||
10691 | #line 5816 "APItest.xs" | |||
10692 | RETVAL = isGRAPH_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (8)))) ? (_Bool )1 : (_Bool)0); | |||
10693 | #line 10694 "APItest.c" | |||
10694 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10695 | } | |||
10696 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10697 | } | |||
10698 | ||||
10699 | ||||
10700 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_LC)static void XS_XS__APItest__Magic_test_isGRAPH_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10701 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_LC)static void XS_XS__APItest__Magic_test_isGRAPH_LC( CV* cv __attribute__ ((unused))) | |||
10702 | { | |||
10703 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10704 | if (items != 1) | |||
10705 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10706 | { | |||
10707 | bool_Bool RETVAL; | |||
10708 | UV ord = (UV)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)) | |||
10709 | ; | |||
10710 | #line 5823 "APItest.xs" | |||
10711 | RETVAL = isGRAPH_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (8))) ? (_Bool)1 : (_Bool)0) : ((isgraph( (U8) ( ord))) ? (_Bool)1 : (_Bool)0)); | |||
10712 | #line 10713 "APItest.c" | |||
10713 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10714 | } | |||
10715 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10716 | } | |||
10717 | ||||
10718 | ||||
10719 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_utf8)static void XS_XS__APItest__Magic_test_isGRAPH_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10720 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_utf8)static void XS_XS__APItest__Magic_test_isGRAPH_utf8( CV* cv __attribute__ ((unused))) | |||
10721 | { | |||
10722 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10723 | if (items != 2) | |||
10724 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10725 | { | |||
10726 | #line 5830 "APItest.xs" | |||
10727 | const U8 * e; | |||
10728 | #line 10729 "APItest.c" | |||
10729 | bool_Bool RETVAL; | |||
10730 | U8 * p = (U8 *)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)) | |||
10731 | ; | |||
10732 | int type = (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)) | |||
10733 | ; | |||
10734 | #line 5832 "APItest.xs" | |||
10735 | if (type >= 0) { | |||
10736 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10737 | RETVAL = isGRAPH_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (8) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (8)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 8,p,e))); | |||
10738 | } | |||
10739 | else { | |||
10740 | RETVAL = 0; | |||
10741 | } | |||
10742 | #line 10743 "APItest.c" | |||
10743 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10744 | } | |||
10745 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10746 | } | |||
10747 | ||||
10748 | ||||
10749 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_LC_utf8)static void XS_XS__APItest__Magic_test_isGRAPH_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10750 | XS_EUPXS(XS_XS__APItest__Magic_test_isGRAPH_LC_utf8)static void XS_XS__APItest__Magic_test_isGRAPH_LC_utf8( CV* cv __attribute__((unused))) | |||
10751 | { | |||
10752 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10753 | if (items != 2) | |||
10754 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10755 | { | |||
10756 | #line 5845 "APItest.xs" | |||
10757 | const U8 * e; | |||
10758 | #line 10759 "APItest.c" | |||
10759 | bool_Bool RETVAL; | |||
10760 | U8 * p = (U8 *)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)) | |||
10761 | ; | |||
10762 | int type = (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)) | |||
10763 | ; | |||
10764 | #line 5847 "APItest.xs" | |||
10765 | if (type >= 0) { | |||
10766 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10767 | RETVAL = isGRAPH_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (8))) ? (_Bool)1 : (_Bool)0) : ((isgraph( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (8))) ? (_Bool)1 : ( _Bool)0) : ((isgraph( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)) ))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 8,p,e))); | |||
10768 | } | |||
10769 | else { | |||
10770 | RETVAL = 0; | |||
10771 | } | |||
10772 | #line 10773 "APItest.c" | |||
10773 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10774 | } | |||
10775 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10776 | } | |||
10777 | ||||
10778 | ||||
10779 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_uni)static void XS_XS__APItest__Magic_test_isPUNCT_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10780 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_uni)static void XS_XS__APItest__Magic_test_isPUNCT_uni( CV* cv __attribute__ ((unused))) | |||
10781 | { | |||
10782 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10783 | if (items != 1) | |||
10784 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10785 | { | |||
10786 | bool_Bool RETVAL; | |||
10787 | UV ord = (UV)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)) | |||
10788 | ; | |||
10789 | #line 5860 "APItest.xs" | |||
10790 | RETVAL = isPUNCT_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (5)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 5,ord)); | |||
10791 | #line 10792 "APItest.c" | |||
10792 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10793 | } | |||
10794 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10795 | } | |||
10796 | ||||
10797 | ||||
10798 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_uvchr)static void XS_XS__APItest__Magic_test_isPUNCT_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10799 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_uvchr)static void XS_XS__APItest__Magic_test_isPUNCT_uvchr( CV* cv __attribute__ ((unused))) | |||
10800 | { | |||
10801 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10802 | if (items != 1) | |||
10803 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10804 | { | |||
10805 | bool_Bool RETVAL; | |||
10806 | UV ord = (UV)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)) | |||
10807 | ; | |||
10808 | #line 5867 "APItest.xs" | |||
10809 | RETVAL = isPUNCT_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (5)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 5,ord)); | |||
10810 | #line 10811 "APItest.c" | |||
10811 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10812 | } | |||
10813 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10814 | } | |||
10815 | ||||
10816 | ||||
10817 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_LC_uvchr)static void XS_XS__APItest__Magic_test_isPUNCT_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10818 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_LC_uvchr)static void XS_XS__APItest__Magic_test_isPUNCT_LC_uvchr( CV* cv __attribute__((unused))) | |||
10819 | { | |||
10820 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10821 | if (items != 1) | |||
10822 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10823 | { | |||
10824 | bool_Bool RETVAL; | |||
10825 | UV ord = (UV)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)) | |||
10826 | ; | |||
10827 | #line 5874 "APItest.xs" | |||
10828 | RETVAL = isPUNCT_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (5))) ? (_Bool)1 : (_Bool)0) : ((ispunct( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO ( 5,ord)); | |||
10829 | #line 10830 "APItest.c" | |||
10830 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10831 | } | |||
10832 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10833 | } | |||
10834 | ||||
10835 | ||||
10836 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT)static void XS_XS__APItest__Magic_test_isPUNCT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10837 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT)static void XS_XS__APItest__Magic_test_isPUNCT( CV* cv __attribute__ ((unused))) | |||
10838 | { | |||
10839 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10840 | if (items != 1) | |||
10841 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10842 | { | |||
10843 | bool_Bool RETVAL; | |||
10844 | UV ord = (UV)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)) | |||
10845 | ; | |||
10846 | #line 5881 "APItest.xs" | |||
10847 | RETVAL = isPUNCT(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (5)) | (1U << (14)))) == ((1U << (5)) | (1U << (14))))); | |||
10848 | #line 10849 "APItest.c" | |||
10849 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10850 | } | |||
10851 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10852 | } | |||
10853 | ||||
10854 | ||||
10855 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_A)static void XS_XS__APItest__Magic_test_isPUNCT_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10856 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_A)static void XS_XS__APItest__Magic_test_isPUNCT_A( CV* cv __attribute__ ((unused))) | |||
10857 | { | |||
10858 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10859 | if (items != 1) | |||
10860 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10861 | { | |||
10862 | bool_Bool RETVAL; | |||
10863 | UV ord = (UV)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)) | |||
10864 | ; | |||
10865 | #line 5888 "APItest.xs" | |||
10866 | RETVAL = isPUNCT_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (5)) | (1U << (14)))) == ((1U << (5)) | (1U << (14))))); | |||
10867 | #line 10868 "APItest.c" | |||
10868 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10869 | } | |||
10870 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10871 | } | |||
10872 | ||||
10873 | ||||
10874 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_L1)static void XS_XS__APItest__Magic_test_isPUNCT_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10875 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_L1)static void XS_XS__APItest__Magic_test_isPUNCT_L1( CV* cv __attribute__ ((unused))) | |||
10876 | { | |||
10877 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10878 | if (items != 1) | |||
10879 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10880 | { | |||
10881 | bool_Bool RETVAL; | |||
10882 | UV ord = (UV)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)) | |||
10883 | ; | |||
10884 | #line 5895 "APItest.xs" | |||
10885 | RETVAL = isPUNCT_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (5)))) ? (_Bool )1 : (_Bool)0); | |||
10886 | #line 10887 "APItest.c" | |||
10887 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10888 | } | |||
10889 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10890 | } | |||
10891 | ||||
10892 | ||||
10893 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_LC)static void XS_XS__APItest__Magic_test_isPUNCT_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10894 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_LC)static void XS_XS__APItest__Magic_test_isPUNCT_LC( CV* cv __attribute__ ((unused))) | |||
10895 | { | |||
10896 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10897 | if (items != 1) | |||
10898 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10899 | { | |||
10900 | bool_Bool RETVAL; | |||
10901 | UV ord = (UV)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)) | |||
10902 | ; | |||
10903 | #line 5902 "APItest.xs" | |||
10904 | RETVAL = isPUNCT_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (5))) ? (_Bool)1 : (_Bool)0) : ((ispunct( (U8) ( ord))) ? (_Bool)1 : (_Bool)0)); | |||
10905 | #line 10906 "APItest.c" | |||
10906 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10907 | } | |||
10908 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10909 | } | |||
10910 | ||||
10911 | ||||
10912 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_utf8)static void XS_XS__APItest__Magic_test_isPUNCT_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10913 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_utf8)static void XS_XS__APItest__Magic_test_isPUNCT_utf8( CV* cv __attribute__ ((unused))) | |||
10914 | { | |||
10915 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10916 | if (items != 2) | |||
10917 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10918 | { | |||
10919 | #line 5909 "APItest.xs" | |||
10920 | const U8 * e; | |||
10921 | #line 10922 "APItest.c" | |||
10922 | bool_Bool RETVAL; | |||
10923 | U8 * p = (U8 *)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)) | |||
10924 | ; | |||
10925 | int type = (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)) | |||
10926 | ; | |||
10927 | #line 5911 "APItest.xs" | |||
10928 | if (type >= 0) { | |||
10929 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10930 | RETVAL = isPUNCT_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (5) ))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (5)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ( e),0,1), 0)) : Perl__is_utf8_FOO( 5,p,e))); | |||
10931 | } | |||
10932 | else { | |||
10933 | RETVAL = 0; | |||
10934 | } | |||
10935 | #line 10936 "APItest.c" | |||
10936 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10937 | } | |||
10938 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10939 | } | |||
10940 | ||||
10941 | ||||
10942 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_LC_utf8)static void XS_XS__APItest__Magic_test_isPUNCT_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10943 | XS_EUPXS(XS_XS__APItest__Magic_test_isPUNCT_LC_utf8)static void XS_XS__APItest__Magic_test_isPUNCT_LC_utf8( CV* cv __attribute__((unused))) | |||
10944 | { | |||
10945 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10946 | if (items != 2) | |||
10947 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
10948 | { | |||
10949 | #line 5924 "APItest.xs" | |||
10950 | const U8 * e; | |||
10951 | #line 10952 "APItest.c" | |||
10952 | bool_Bool RETVAL; | |||
10953 | U8 * p = (U8 *)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)) | |||
10954 | ; | |||
10955 | int type = (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)) | |||
10956 | ; | |||
10957 | #line 5926 "APItest.xs" | |||
10958 | if (type >= 0) { | |||
10959 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
10960 | RETVAL = isPUNCT_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (5))) ? (_Bool)1 : (_Bool)0) : ((ispunct( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (5))) ? (_Bool)1 : ( _Bool)0) : ((ispunct( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)) ))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : Perl__is_utf8_FOO( 5,p,e))); | |||
10961 | } | |||
10962 | else { | |||
10963 | RETVAL = 0; | |||
10964 | } | |||
10965 | #line 10966 "APItest.c" | |||
10966 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10967 | } | |||
10968 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10969 | } | |||
10970 | ||||
10971 | ||||
10972 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_uni)static void XS_XS__APItest__Magic_test_isXDIGIT_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10973 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_uni)static void XS_XS__APItest__Magic_test_isXDIGIT_uni( CV* cv __attribute__ ((unused))) | |||
10974 | { | |||
10975 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10976 | if (items != 1) | |||
10977 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10978 | { | |||
10979 | bool_Bool RETVAL; | |||
10980 | UV ord = (UV)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)) | |||
10981 | ; | |||
10982 | #line 5939 "APItest.xs" | |||
10983 | RETVAL = isXDIGIT_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (12)))) ? (_Bool)1 : (_Bool)0) : ( ( ( (sizeof(ord ) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((0xFF10)) | 0))) <= (((U64) ((((0xFF19) - (0xFF10))) | 0))))) : (sizeof (ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - (((0xFF10 )) | 0))) <= (((U64) ((((0xFF19) - (0xFF10))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0xFF10)) | 0))) <= (((U64 ) ((((0xFF19) - (0xFF10))) | 0)))))))) || ( 0xFF19 < ord && ( ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord) ))) - (((0xFF21)) | 0))) <= (((U64) ((((0xFF26) - (0xFF21) )) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32 ) (ord)))) - (((0xFF21)) | 0))) <= (((U64) ((((0xFF26) - ( 0xFF21))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0xFF21 )) | 0))) <= (((U64) ((((0xFF26) - (0xFF21))) | 0)))))))) || ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord))) ) - (((0xFF41)) | 0))) <= (((U64) ((((0xFF46) - (0xFF41))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32 ) (ord)))) - (((0xFF41)) | 0))) <= (((U64) ((((0xFF46) - ( 0xFF41))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0xFF41 )) | 0))) <= (((U64) ((((0xFF46) - (0xFF41))) | 0)))))))) ) ) )); | |||
10984 | #line 10985 "APItest.c" | |||
10985 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
10986 | } | |||
10987 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
10988 | } | |||
10989 | ||||
10990 | ||||
10991 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_uvchr)static void XS_XS__APItest__Magic_test_isXDIGIT_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
10992 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_uvchr)static void XS_XS__APItest__Magic_test_isXDIGIT_uvchr( CV* cv __attribute__((unused))) | |||
10993 | { | |||
10994 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
10995 | if (items != 1) | |||
10996 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
10997 | { | |||
10998 | bool_Bool RETVAL; | |||
10999 | UV ord = (UV)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)) | |||
11000 | ; | |||
11001 | #line 5946 "APItest.xs" | |||
11002 | RETVAL = isXDIGIT_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (12)))) ? (_Bool)1 : (_Bool)0) : ( ( ( (sizeof(ord ) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((0xFF10)) | 0))) <= (((U64) ((((0xFF19) - (0xFF10))) | 0))))) : (sizeof (ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - (((0xFF10 )) | 0))) <= (((U64) ((((0xFF19) - (0xFF10))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0xFF10)) | 0))) <= (((U64 ) ((((0xFF19) - (0xFF10))) | 0)))))))) || ( 0xFF19 < ord && ( ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord) ))) - (((0xFF21)) | 0))) <= (((U64) ((((0xFF26) - (0xFF21) )) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32 ) (ord)))) - (((0xFF21)) | 0))) <= (((U64) ((((0xFF26) - ( 0xFF21))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0xFF21 )) | 0))) <= (((U64) ((((0xFF26) - (0xFF21))) | 0)))))))) || ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord))) ) - (((0xFF41)) | 0))) <= (((U64) ((((0xFF46) - (0xFF41))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32 ) (ord)))) - (((0xFF41)) | 0))) <= (((U64) ((((0xFF46) - ( 0xFF41))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0xFF41 )) | 0))) <= (((U64) ((((0xFF46) - (0xFF41))) | 0)))))))) ) ) )); | |||
11003 | #line 11004 "APItest.c" | |||
11004 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11005 | } | |||
11006 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11007 | } | |||
11008 | ||||
11009 | ||||
11010 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_LC_uvchr)static void XS_XS__APItest__Magic_test_isXDIGIT_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11011 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_LC_uvchr)static void XS_XS__APItest__Magic_test_isXDIGIT_LC_uvchr( CV* cv __attribute__((unused))) | |||
11012 | { | |||
11013 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11014 | if (items != 1) | |||
11015 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11016 | { | |||
11017 | bool_Bool RETVAL; | |||
11018 | UV ord = (UV)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)) | |||
11019 | ; | |||
11020 | #line 5953 "APItest.xs" | |||
11021 | RETVAL = isXDIGIT_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (12))) ? (_Bool)1 : (_Bool)0) : ((isxdigit( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : ( ( ( ( sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (( (0xFF10)) | 0))) <= (((U64) ((((0xFF19) - (0xFF10))) | 0)) ))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord )))) - (((0xFF10)) | 0))) <= (((U64) ((((0xFF19) - (0xFF10 ))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0xFF10)) | 0))) <= (((U64) ((((0xFF19) - (0xFF10))) | 0)))))))) || ( 0xFF19 < ord && ( ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((0xFF21)) | 0))) <= ((( U64) ((((0xFF26) - (0xFF21))) | 0))))) : (sizeof(ord) == sizeof (U32)) ? ( (((U64) (((((U32) (ord)))) - (((0xFF21)) | 0))) <= (((U64) ((((0xFF26) - (0xFF21))) | 0))))) : ( ( (((U64) (((( (U64) (ord)))) - (((0xFF21)) | 0))) <= (((U64) ((((0xFF26) - (0xFF21))) | 0)))))))) || ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((0xFF41)) | 0))) <= (((U64 ) ((((0xFF46) - (0xFF41))) | 0))))) : (sizeof(ord) == sizeof( U32)) ? ( (((U64) (((((U32) (ord)))) - (((0xFF41)) | 0))) <= (((U64) ((((0xFF46) - (0xFF41))) | 0))))) : ( ( (((U64) (((( (U64) (ord)))) - (((0xFF41)) | 0))) <= (((U64) ((((0xFF46) - (0xFF41))) | 0)))))))) ) ) )); | |||
11022 | #line 11023 "APItest.c" | |||
11023 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11024 | } | |||
11025 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11026 | } | |||
11027 | ||||
11028 | ||||
11029 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT)static void XS_XS__APItest__Magic_test_isXDIGIT( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11030 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT)static void XS_XS__APItest__Magic_test_isXDIGIT( CV* cv __attribute__ ((unused))) | |||
11031 | { | |||
11032 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11033 | if (items != 1) | |||
11034 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11035 | { | |||
11036 | bool_Bool RETVAL; | |||
11037 | UV ord = (UV)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)) | |||
11038 | ; | |||
11039 | #line 5960 "APItest.xs" | |||
11040 | RETVAL = isXDIGIT(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (12)))) ? (_Bool )1 : (_Bool)0); | |||
11041 | #line 11042 "APItest.c" | |||
11042 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11043 | } | |||
11044 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11045 | } | |||
11046 | ||||
11047 | ||||
11048 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_A)static void XS_XS__APItest__Magic_test_isXDIGIT_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11049 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_A)static void XS_XS__APItest__Magic_test_isXDIGIT_A( CV* cv __attribute__ ((unused))) | |||
11050 | { | |||
11051 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11052 | if (items != 1) | |||
11053 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11054 | { | |||
11055 | bool_Bool RETVAL; | |||
11056 | UV ord = (UV)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)) | |||
11057 | ; | |||
11058 | #line 5967 "APItest.xs" | |||
11059 | RETVAL = isXDIGIT_A(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (12)))) ? (_Bool )1 : (_Bool)0); | |||
11060 | #line 11061 "APItest.c" | |||
11061 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11062 | } | |||
11063 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11064 | } | |||
11065 | ||||
11066 | ||||
11067 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_L1)static void XS_XS__APItest__Magic_test_isXDIGIT_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11068 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_L1)static void XS_XS__APItest__Magic_test_isXDIGIT_L1( CV* cv __attribute__ ((unused))) | |||
11069 | { | |||
11070 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11071 | if (items != 1) | |||
11072 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11073 | { | |||
11074 | bool_Bool RETVAL; | |||
11075 | UV ord = (UV)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)) | |||
11076 | ; | |||
11077 | #line 5974 "APItest.xs" | |||
11078 | RETVAL = isXDIGIT_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (12)))) ? (_Bool )1 : (_Bool)0); | |||
11079 | #line 11080 "APItest.c" | |||
11080 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11081 | } | |||
11082 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11083 | } | |||
11084 | ||||
11085 | ||||
11086 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_LC)static void XS_XS__APItest__Magic_test_isXDIGIT_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11087 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_LC)static void XS_XS__APItest__Magic_test_isXDIGIT_LC( CV* cv __attribute__ ((unused))) | |||
11088 | { | |||
11089 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11090 | if (items != 1) | |||
11091 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11092 | { | |||
11093 | bool_Bool RETVAL; | |||
11094 | UV ord = (UV)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)) | |||
11095 | ; | |||
11096 | #line 5981 "APItest.xs" | |||
11097 | RETVAL = isXDIGIT_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (12))) ? (_Bool)1 : (_Bool)0) : ((isxdigit( (U8 ) (ord))) ? (_Bool)1 : (_Bool)0)); | |||
11098 | #line 11099 "APItest.c" | |||
11099 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11100 | } | |||
11101 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11102 | } | |||
11103 | ||||
11104 | ||||
11105 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_utf8)static void XS_XS__APItest__Magic_test_isXDIGIT_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11106 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_utf8)static void XS_XS__APItest__Magic_test_isXDIGIT_utf8( CV* cv __attribute__ ((unused))) | |||
11107 | { | |||
11108 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11109 | if (items != 2) | |||
11110 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
11111 | { | |||
11112 | #line 5988 "APItest.xs" | |||
11113 | const U8 * e; | |||
11114 | #line 11115 "APItest.c" | |||
11115 | bool_Bool RETVAL; | |||
11116 | U8 * p = (U8 *)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)) | |||
11117 | ; | |||
11118 | int type = (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)) | |||
11119 | ; | |||
11120 | #line 5990 "APItest.xs" | |||
11121 | if (type >= 0) { | |||
11122 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
11123 | RETVAL = isXDIGIT_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(p)) == 1) || !(((U64)((*( p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (12)))) ? (_Bool)1 : (_Bool)0) : (( ( ( ( sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ((( ((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0)))))))))) ? 0 : (__builtin_expect ((((e) - (p) < PL_utf8skip[*(const U8*)(p)]) ? (_Bool)1 : ( _Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (p),(U8 *) (e),0,1), 0) : ( ( 0xEF == ((const U8*)p)[0] ) ? ( ( 0xBC == ((const U8*)p)[1] ) ? ( ( ( ( (sizeof(((const U8 *)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*)p)[ 2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99) - (0x90))) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64 ) (((((U32) (((const U8*)p)[2])))) - (((0x90)) | 0))) <= ( ((U64) ((((0x99) - (0x90))) | 0))))) : ( ( (((U64) (((((U64) ( ((const U8*)p)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99 ) - (0x90))) | 0)))))))) || ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*)p)[2])))) - (( (0xA1)) | 0))) <= (((U64) ((((0xA6) - (0xA1))) | 0))))) : ( sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) (((((U32 ) (((const U8*)p)[2])))) - (((0xA1)) | 0))) <= (((U64) ((( (0xA6) - (0xA1))) | 0))))) : ( ( (((U64) (((((U64) (((const U8 *)p)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6) - (0xA1 ))) | 0)))))))) ) ? 3 : 0 ) : ( ( 0xBD == ((const U8*)p)[1] ) && ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*)p)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) (((((U32) (((const U8 *)p)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86) - (0x81 ))) | 0))))) : ( ( (((U64) (((((U64) (((const U8*)p)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86) - (0x81))) | 0))))) ))) ) ) ? 3 : 0 ): 0 ))); | |||
11124 | } | |||
11125 | else { | |||
11126 | RETVAL = 0; | |||
11127 | } | |||
11128 | #line 11129 "APItest.c" | |||
11129 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11130 | } | |||
11131 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11132 | } | |||
11133 | ||||
11134 | ||||
11135 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_LC_utf8)static void XS_XS__APItest__Magic_test_isXDIGIT_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11136 | XS_EUPXS(XS_XS__APItest__Magic_test_isXDIGIT_LC_utf8)static void XS_XS__APItest__Magic_test_isXDIGIT_LC_utf8( CV* cv __attribute__((unused))) | |||
11137 | { | |||
11138 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11139 | if (items != 2) | |||
11140 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
11141 | { | |||
11142 | #line 6003 "APItest.xs" | |||
11143 | const U8 * e; | |||
11144 | #line 11145 "APItest.c" | |||
11145 | bool_Bool RETVAL; | |||
11146 | U8 * p = (U8 *)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)) | |||
11147 | ; | |||
11148 | int type = (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)) | |||
11149 | ; | |||
11150 | #line 6005 "APItest.xs" | |||
11151 | if (type >= 0) { | |||
11152 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
11153 | RETVAL = isXDIGIT_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (12))) ? (_Bool)1 : (_Bool)0 ) : ((isxdigit( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ( ((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (12))) ? (_Bool)1 : (_Bool)0) : ((isxdigit( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*( p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)- 2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & (( U8) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool) 0)) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : (__builtin_expect((((e) - (p) < PL_utf8skip [*(const U8*)(p)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : ( ( 0xEF == ((const U8*)p) [0] ) ? ( ( 0xBC == ((const U8*)p)[1] ) ? ( ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*) p)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99) - (0x90) )) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( ( ((U64) (((((U32) (((const U8*)p)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99) - (0x90))) | 0))))) : ( ( (((U64) (((((U64 ) (((const U8*)p)[2])))) - (((0x90)) | 0))) <= (((U64) ((( (0x99) - (0x90))) | 0)))))))) || ( ( (sizeof(((const U8*)p)[2 ]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*)p)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6) - (0xA1))) | 0))) )) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) ( ((((U32) (((const U8*)p)[2])))) - (((0xA1)) | 0))) <= (((U64 ) ((((0xA6) - (0xA1))) | 0))))) : ( ( (((U64) (((((U64) (((const U8*)p)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6) - ( 0xA1))) | 0)))))))) ) ? 3 : 0 ) : ( ( 0xBD == ((const U8*)p)[ 1] ) && ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8 )) ? ( (((U64) (((((U8) (((const U8*)p)[2])))) - (((0x81)) | 0 ))) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) (((((U32) (((const U8 *)p)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86) - (0x81 ))) | 0))))) : ( ( (((U64) (((((U64) (((const U8*)p)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86) - (0x81))) | 0))))) ))) ) ) ? 3 : 0 ): 0 )))); | |||
11154 | } | |||
11155 | else { | |||
11156 | RETVAL = 0; | |||
11157 | } | |||
11158 | #line 11159 "APItest.c" | |||
11159 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11160 | } | |||
11161 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11162 | } | |||
11163 | ||||
11164 | ||||
11165 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_uni)static void XS_XS__APItest__Magic_test_isPSXSPC_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11166 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_uni)static void XS_XS__APItest__Magic_test_isPSXSPC_uni( CV* cv __attribute__ ((unused))) | |||
11167 | { | |||
11168 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11169 | if (items != 1) | |||
11170 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11171 | { | |||
11172 | bool_Bool RETVAL; | |||
11173 | UV ord = (UV)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)) | |||
11174 | ; | |||
11175 | #line 6018 "APItest.xs" | |||
11176 | RETVAL = isPSXSPC_uni(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (10)))) ? (_Bool)1 : (_Bool)0) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8 )) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0))) <= ( ((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof(ord) == sizeof (U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((( (U64) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x2028 == ord || ( 0x2028 < ord && ( 0x2029 == ord || ( 0x2029 < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) ) ) ) ) )); | |||
11177 | #line 11178 "APItest.c" | |||
11178 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11179 | } | |||
11180 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11181 | } | |||
11182 | ||||
11183 | ||||
11184 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_uvchr)static void XS_XS__APItest__Magic_test_isPSXSPC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11185 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_uvchr)static void XS_XS__APItest__Magic_test_isPSXSPC_uvchr( CV* cv __attribute__((unused))) | |||
11186 | { | |||
11187 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11188 | if (items != 1) | |||
11189 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11190 | { | |||
11191 | bool_Bool RETVAL; | |||
11192 | UV ord = (UV)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)) | |||
11193 | ; | |||
11194 | #line 6025 "APItest.xs" | |||
11195 | RETVAL = isPSXSPC_uvchr(ord)((ord) < 256 ? ((( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) && (PL_charclass[(U8) (ord)] & ( 1U << (10)))) ? (_Bool)1 : (_Bool)0) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8 )) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0))) <= ( ((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof(ord) == sizeof (U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((( (U64) (ord)))) - (((0x2000)) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x2028 == ord || ( 0x2028 < ord && ( 0x2029 == ord || ( 0x2029 < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) ) ) ) ) )); | |||
11196 | #line 11197 "APItest.c" | |||
11197 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11198 | } | |||
11199 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11200 | } | |||
11201 | ||||
11202 | ||||
11203 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_LC_uvchr)static void XS_XS__APItest__Magic_test_isPSXSPC_LC_uvchr( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11204 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_LC_uvchr)static void XS_XS__APItest__Magic_test_isPSXSPC_LC_uvchr( CV* cv __attribute__((unused))) | |||
11205 | { | |||
11206 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11207 | if (items != 1) | |||
11208 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11209 | { | |||
11210 | bool_Bool RETVAL; | |||
11211 | UV ord = (UV)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)) | |||
11212 | ; | |||
11213 | #line 6032 "APItest.xs" | |||
11214 | RETVAL = isPSXSPC_LC_uvchr(ord)(ord < 256 ? (! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (ord)] & (1U << (10))) ? (_Bool)1 : (_Bool)0) : ((isspace( (U8) (ord))) ? (_Bool)1 : (_Bool)0)) : ( 0x1680 == ord || ( 0x1680 < ord && ( ( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord)))) - (((0x2000)) | 0) )) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : (sizeof( ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord)))) - (((0x2000 )) | 0))) <= (((U64) ((((0x200A) - (0x2000))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - (((0x2000)) | 0))) <= (((U64 ) ((((0x200A) - (0x2000))) | 0)))))))) || ( 0x200A < ord && ( 0x2028 == ord || ( 0x2028 < ord && ( 0x2029 == ord || ( 0x2029 < ord && ( 0x202F == ord || ( 0x202F < ord && ( 0x205F == ord || 0x3000 == ord ) ) ) ) ) ) ) ) ) ) )); | |||
11215 | #line 11216 "APItest.c" | |||
11216 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11217 | } | |||
11218 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11219 | } | |||
11220 | ||||
11221 | ||||
11222 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC)static void XS_XS__APItest__Magic_test_isPSXSPC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11223 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC)static void XS_XS__APItest__Magic_test_isPSXSPC( CV* cv __attribute__ ((unused))) | |||
11224 | { | |||
11225 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11226 | if (items != 1) | |||
11227 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11228 | { | |||
11229 | bool_Bool RETVAL; | |||
11230 | UV ord = (UV)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)) | |||
11231 | ; | |||
11232 | #line 6039 "APItest.xs" | |||
11233 | RETVAL = isPSXSPC(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (10)) | (1U << (14)))) == ((1U << (10)) | (1U << (14))))); | |||
11234 | #line 11235 "APItest.c" | |||
11235 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11236 | } | |||
11237 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11238 | } | |||
11239 | ||||
11240 | ||||
11241 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_A)static void XS_XS__APItest__Magic_test_isPSXSPC_A( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11242 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_A)static void XS_XS__APItest__Magic_test_isPSXSPC_A( CV* cv __attribute__ ((unused))) | |||
11243 | { | |||
11244 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11245 | if (items != 1) | |||
11246 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11247 | { | |||
11248 | bool_Bool RETVAL; | |||
11249 | UV ord = (UV)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)) | |||
11250 | ; | |||
11251 | #line 6046 "APItest.xs" | |||
11252 | RETVAL = isPSXSPC_A(ord)(( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (ord)] & ((1U << (10)) | (1U << (14)))) == ((1U << (10)) | (1U << (14))))); | |||
11253 | #line 11254 "APItest.c" | |||
11254 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11255 | } | |||
11256 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11257 | } | |||
11258 | ||||
11259 | ||||
11260 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_L1)static void XS_XS__APItest__Magic_test_isPSXSPC_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11261 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_L1)static void XS_XS__APItest__Magic_test_isPSXSPC_L1( CV* cv __attribute__ ((unused))) | |||
11262 | { | |||
11263 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11264 | if (items != 1) | |||
11265 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11266 | { | |||
11267 | bool_Bool RETVAL; | |||
11268 | UV ord = (UV)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)) | |||
11269 | ; | |||
11270 | #line 6053 "APItest.xs" | |||
11271 | RETVAL = isPSXSPC_L1(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (10)))) ? (_Bool )1 : (_Bool)0); | |||
11272 | #line 11273 "APItest.c" | |||
11273 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11274 | } | |||
11275 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11276 | } | |||
11277 | ||||
11278 | ||||
11279 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_LC)static void XS_XS__APItest__Magic_test_isPSXSPC_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11280 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_LC)static void XS_XS__APItest__Magic_test_isPSXSPC_LC( CV* cv __attribute__ ((unused))) | |||
11281 | { | |||
11282 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11283 | if (items != 1) | |||
11284 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11285 | { | |||
11286 | bool_Bool RETVAL; | |||
11287 | UV ord = (UV)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)) | |||
11288 | ; | |||
11289 | #line 6060 "APItest.xs" | |||
11290 | RETVAL = isPSXSPC_LC(ord)(! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (ord)] & (1U << (10))) ? (_Bool)1 : (_Bool)0) : ((isspace( (U8) (ord))) ? (_Bool)1 : (_Bool)0)); | |||
11291 | #line 11292 "APItest.c" | |||
11292 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11293 | } | |||
11294 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11295 | } | |||
11296 | ||||
11297 | ||||
11298 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_utf8)static void XS_XS__APItest__Magic_test_isPSXSPC_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11299 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_utf8)static void XS_XS__APItest__Magic_test_isPSXSPC_utf8( CV* cv __attribute__ ((unused))) | |||
11300 | { | |||
11301 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11302 | if (items != 2) | |||
11303 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
11304 | { | |||
11305 | #line 6067 "APItest.xs" | |||
11306 | const U8 * e; | |||
11307 | #line 11308 "APItest.c" | |||
11308 | bool_Bool RETVAL; | |||
11309 | U8 * p = (U8 *)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)) | |||
11310 | ; | |||
11311 | int type = (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)) | |||
11312 | ; | |||
11313 | #line 6069 "APItest.xs" | |||
11314 | if (type >= 0) { | |||
11315 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
11316 | RETVAL = isPSXSPC_utf8_safe(p, e)((! ((e) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ( (( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(p))] & (1U << (10 )))) ? (_Bool)1 : (_Bool)0) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) (((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ( (U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0)) ))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0))))))) - ((( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= ( ((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6 )) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect((( (e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( ( ((U8 ) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+ 1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6 ) | ((( ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8 ) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1)))) ) | 0)))))] & (1U << (10)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) (e),0,1), 0)) : (__builtin_expect((((e) - (p) < PL_utf8skip [*(const U8*)(p)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : ( ( 0xE1 == ((const U8*)p) [0] ) ? ( ( ( 0x9A == ((const U8*)p)[1] ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)p)[0] ) ? ( ( 0x80 == ((const U8*)p)[1] ) ? ( ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*) p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80) )) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( ( ((U64) (((((U32) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : ( ( (((U64) (((((U64 ) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((( (0x8A) - (0x80))) | 0)))))))) || ( ( (sizeof(((const U8*)p)[2 ]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))) )) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) ( ((((U32) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64 ) ((((0xA9) - (0xA8))) | 0))))) : ( ( (((U64) (((((U64) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - ( 0xA8))) | 0)))))))) || 0xAF == ((const U8*)p)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)p)[1] ) && ( 0x9F == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)p)[0] ) && ( 0x80 == ((const U8*)p)[1] ) ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 )))); | |||
11317 | } | |||
11318 | else { | |||
11319 | RETVAL = 0; | |||
11320 | } | |||
11321 | #line 11322 "APItest.c" | |||
11322 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11323 | } | |||
11324 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11325 | } | |||
11326 | ||||
11327 | ||||
11328 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_LC_utf8)static void XS_XS__APItest__Magic_test_isPSXSPC_LC_utf8( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11329 | XS_EUPXS(XS_XS__APItest__Magic_test_isPSXSPC_LC_utf8)static void XS_XS__APItest__Magic_test_isPSXSPC_LC_utf8( CV* cv __attribute__((unused))) | |||
11330 | { | |||
11331 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11332 | if (items != 2) | |||
11333 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
11334 | { | |||
11335 | #line 6082 "APItest.xs" | |||
11336 | const U8 * e; | |||
11337 | #line 11338 "APItest.c" | |||
11338 | bool_Bool RETVAL; | |||
11339 | U8 * p = (U8 *)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)) | |||
11340 | ; | |||
11341 | int type = (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)) | |||
11342 | ; | |||
11343 | #line 6084 "APItest.xs" | |||
11344 | if (type >= 0) { | |||
11345 | e = p + UTF8SKIP(p)PL_utf8skip[*(const U8*)(p)] - type; | |||
11346 | RETVAL = isPSXSPC_LC_utf8_safe(p, e)( (((((U64)(((UV) (((*(p)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) (*(p))] & (1U << (10))) ? (_Bool)1 : (_Bool)0 ) : ((isspace( (U8) (*(p)))) ? (_Bool)1 : (_Bool)0)) : (( ( ( (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ( (((U64) ( ((((U8) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ( (((U64) (((((U32) (( ((U8) ((*(p)) | 0))))))) - ((((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (( ((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((*(p)) | 0)))) ))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0 ))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))) ? ((__builtin_expect ((((e) - (p) > 1 && ( (((( ((U8) ((*((p)+1)) | 0)) ) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6) ) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7 ) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2)))) ) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ( (1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p)) | 0 ))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (10))) ? (_Bool)1 : (_Bool)0) : ((isspace( (U8) (( ( ((U8) ((( ((( ( ((U8) ((*(p )) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2 ))))) << 6) | ((( ((U8) (((*((p)+1))) | 0)))) & ((U8 ) ((1U << 6) - 1))))) | 0))))))) ? (_Bool)1 : (_Bool)0) ) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 * ) (e),0,1), 0)) : (__builtin_expect((((e) - (p) < PL_utf8skip [*(const U8*)(p)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) (e),0,1), 0) : ( ( 0xE1 == ((const U8*)p) [0] ) ? ( ( ( 0x9A == ((const U8*)p)[1] ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)p)[0] ) ? ( ( 0x80 == ((const U8*)p)[1] ) ? ( ( ( ( (sizeof(((const U8*)p)[2]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*) p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80) )) | 0))))) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( ( ((U64) (((((U32) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : ( ( (((U64) (((((U64 ) (((const U8*)p)[2])))) - (((0x80)) | 0))) <= (((U64) ((( (0x8A) - (0x80))) | 0)))))))) || ( ( (sizeof(((const U8*)p)[2 ]) == sizeof(U8)) ? ( (((U64) (((((U8) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))) )) : (sizeof(((const U8*)p)[2]) == sizeof(U32)) ? ( (((U64) ( ((((U32) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64 ) ((((0xA9) - (0xA8))) | 0))))) : ( ( (((U64) (((((U64) (((const U8*)p)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - ( 0xA8))) | 0)))))))) || 0xAF == ((const U8*)p)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)p)[1] ) && ( 0x9F == ((const U8*)p)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)p)[0] ) && ( 0x80 == ((const U8*)p)[1] ) ) && ( 0x80 == ((const U8*)p)[2] ) ) ? 3 : 0 )))); | |||
11347 | } | |||
11348 | else { | |||
11349 | RETVAL = 0; | |||
11350 | } | |||
11351 | #line 11352 "APItest.c" | |||
11352 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11353 | } | |||
11354 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11355 | } | |||
11356 | ||||
11357 | ||||
11358 | XS_EUPXS(XS_XS__APItest__Magic_test_isQUOTEMETA)static void XS_XS__APItest__Magic_test_isQUOTEMETA( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11359 | XS_EUPXS(XS_XS__APItest__Magic_test_isQUOTEMETA)static void XS_XS__APItest__Magic_test_isQUOTEMETA( CV* cv __attribute__ ((unused))) | |||
11360 | { | |||
11361 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11362 | if (items != 1) | |||
11363 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11364 | { | |||
11365 | bool_Bool RETVAL; | |||
11366 | UV ord = (UV)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)) | |||
11367 | ; | |||
11368 | #line 6097 "APItest.xs" | |||
11369 | RETVAL = _isQUOTEMETA(ord)((( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF)) && (PL_charclass[(U8) (ord)] & (1U << (20)))) ? (_Bool )1 : (_Bool)0); | |||
11370 | #line 11371 "APItest.c" | |||
11371 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11372 | } | |||
11373 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11374 | } | |||
11375 | ||||
11376 | ||||
11377 | XS_EUPXS(XS_XS__APItest__Magic_test_OFFUNISKIP)static void XS_XS__APItest__Magic_test_OFFUNISKIP( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11378 | XS_EUPXS(XS_XS__APItest__Magic_test_OFFUNISKIP)static void XS_XS__APItest__Magic_test_OFFUNISKIP( CV* cv __attribute__ ((unused))) | |||
11379 | { | |||
11380 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11381 | if (items != 1) | |||
11382 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11383 | { | |||
11384 | UV RETVAL; | |||
11385 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11386 | UV ord = (UV)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)) | |||
11387 | ; | |||
11388 | #line 6104 "APItest.xs" | |||
11389 | RETVAL = OFFUNISKIP(ord)((((U64)(ord)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (ord) < (32 * (1U << ( 6))) ? 2 : (UV) (ord ) < (16 * (1U << (2 * 6))) ? 3 : (UV) (ord) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (ord) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (ord) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (ord) < ((UV) 1U << (6 * 6)) ? 7 : 13)); | |||
11390 | #line 11391 "APItest.c" | |||
11391 | 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); | |||
11392 | } | |||
11393 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11394 | } | |||
11395 | ||||
11396 | ||||
11397 | XS_EUPXS(XS_XS__APItest__Magic_test_OFFUNI_IS_INVARIANT)static void XS_XS__APItest__Magic_test_OFFUNI_IS_INVARIANT( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11398 | XS_EUPXS(XS_XS__APItest__Magic_test_OFFUNI_IS_INVARIANT)static void XS_XS__APItest__Magic_test_OFFUNI_IS_INVARIANT( CV * cv __attribute__((unused))) | |||
11399 | { | |||
11400 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11401 | if (items != 1) | |||
11402 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11403 | { | |||
11404 | bool_Bool RETVAL; | |||
11405 | UV ord = (UV)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)) | |||
11406 | ; | |||
11407 | #line 6111 "APItest.xs" | |||
11408 | RETVAL = OFFUNI_IS_INVARIANT(ord)(((U64)(ord)) < (((U8) (0xFF << 6)) & 0xB0)); | |||
11409 | #line 11410 "APItest.c" | |||
11410 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11411 | } | |||
11412 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11413 | } | |||
11414 | ||||
11415 | ||||
11416 | XS_EUPXS(XS_XS__APItest__Magic_test_UVCHR_IS_INVARIANT)static void XS_XS__APItest__Magic_test_UVCHR_IS_INVARIANT( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11417 | XS_EUPXS(XS_XS__APItest__Magic_test_UVCHR_IS_INVARIANT)static void XS_XS__APItest__Magic_test_UVCHR_IS_INVARIANT( CV * cv __attribute__((unused))) | |||
11418 | { | |||
11419 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11420 | if (items != 1) | |||
11421 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11422 | { | |||
11423 | bool_Bool RETVAL; | |||
11424 | UV ord = (UV)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)) | |||
11425 | ; | |||
11426 | #line 6118 "APItest.xs" | |||
11427 | RETVAL = UVCHR_IS_INVARIANT(ord)((((U64)(((UV) ((ord) | 0)))) < (((U8) (0xFF << 6)) & 0xB0))); | |||
11428 | #line 11429 "APItest.c" | |||
11429 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11430 | } | |||
11431 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11432 | } | |||
11433 | ||||
11434 | ||||
11435 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_INVARIANT)static void XS_XS__APItest__Magic_test_UTF8_IS_INVARIANT( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11436 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_INVARIANT)static void XS_XS__APItest__Magic_test_UTF8_IS_INVARIANT( CV* cv __attribute__((unused))) | |||
11437 | { | |||
11438 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11439 | if (items != 1) | |||
11440 | croak_xs_usagePerl_croak_xs_usage(cv, "ch"); | |||
11441 | { | |||
11442 | bool_Bool RETVAL; | |||
11443 | char ch = (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)) | |||
11444 | ; | |||
11445 | #line 6125 "APItest.xs" | |||
11446 | RETVAL = UTF8_IS_INVARIANT(ch)((((U64)(((UV) (((ch) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0))); | |||
11447 | #line 11448 "APItest.c" | |||
11448 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11449 | } | |||
11450 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11451 | } | |||
11452 | ||||
11453 | ||||
11454 | XS_EUPXS(XS_XS__APItest__Magic_test_UVCHR_SKIP)static void XS_XS__APItest__Magic_test_UVCHR_SKIP( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11455 | XS_EUPXS(XS_XS__APItest__Magic_test_UVCHR_SKIP)static void XS_XS__APItest__Magic_test_UVCHR_SKIP( CV* cv __attribute__ ((unused))) | |||
11456 | { | |||
11457 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11458 | if (items != 1) | |||
11459 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
11460 | { | |||
11461 | UV RETVAL; | |||
11462 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11463 | UV ord = (UV)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)) | |||
11464 | ; | |||
11465 | #line 6132 "APItest.xs" | |||
11466 | RETVAL = UVCHR_SKIP(ord)( ((((U64)(((UV) ((ord) | 0)))) < (((U8) (0xFF << 6) ) & 0xB0))) ? 1 : ((UV) (ord) < (32 * (1U << ( 6 ))) ? 2 : (UV) (ord) < (16 * (1U << (2 * 6))) ? 3 : ( UV) (ord) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (ord) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (ord) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (ord) < ((UV) 1U << ( 6 * 6)) ? 7 : 13)); | |||
11467 | #line 11468 "APItest.c" | |||
11468 | 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); | |||
11469 | } | |||
11470 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11471 | } | |||
11472 | ||||
11473 | ||||
11474 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_SKIP)static void XS_XS__APItest__Magic_test_UTF8_SKIP( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11475 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_SKIP)static void XS_XS__APItest__Magic_test_UTF8_SKIP( CV* cv __attribute__ ((unused))) | |||
11476 | { | |||
11477 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11478 | if (items != 1) | |||
11479 | croak_xs_usagePerl_croak_xs_usage(cv, "ch"); | |||
11480 | { | |||
11481 | UV RETVAL; | |||
11482 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11483 | char * ch = (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)) | |||
11484 | ; | |||
11485 | #line 6139 "APItest.xs" | |||
11486 | RETVAL = UTF8_SKIP(ch)PL_utf8skip[*(const U8*)(ch)]; | |||
11487 | #line 11488 "APItest.c" | |||
11488 | 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); | |||
11489 | } | |||
11490 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11491 | } | |||
11492 | ||||
11493 | ||||
11494 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_START)static void XS_XS__APItest__Magic_test_UTF8_IS_START( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11495 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_START)static void XS_XS__APItest__Magic_test_UTF8_IS_START( CV* cv __attribute__ ((unused))) | |||
11496 | { | |||
11497 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11498 | if (items != 1) | |||
11499 | croak_xs_usagePerl_croak_xs_usage(cv, "ch"); | |||
11500 | { | |||
11501 | bool_Bool RETVAL; | |||
11502 | char ch = (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)) | |||
11503 | ; | |||
11504 | #line 6146 "APItest.xs" | |||
11505 | RETVAL = UTF8_IS_START(ch)( (( ((U8) ((ch) | 0))) >= (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))); | |||
11506 | #line 11507 "APItest.c" | |||
11507 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11508 | } | |||
11509 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11510 | } | |||
11511 | ||||
11512 | ||||
11513 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_CONTINUATION)static void XS_XS__APItest__Magic_test_UTF8_IS_CONTINUATION( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11514 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_CONTINUATION)static void XS_XS__APItest__Magic_test_UTF8_IS_CONTINUATION( CV * cv __attribute__((unused))) | |||
11515 | { | |||
11516 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11517 | if (items != 1) | |||
11518 | croak_xs_usagePerl_croak_xs_usage(cv, "ch"); | |||
11519 | { | |||
11520 | bool_Bool RETVAL; | |||
11521 | char ch = (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)) | |||
11522 | ; | |||
11523 | #line 6153 "APItest.xs" | |||
11524 | RETVAL = UTF8_IS_CONTINUATION(ch)( (((( ((U8) ((ch) | 0))) & ((U8) (0xFF << 6))) == ( ((U8) (0xFF << 6)) & 0xB0)))); | |||
11525 | #line 11526 "APItest.c" | |||
11526 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11527 | } | |||
11528 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11529 | } | |||
11530 | ||||
11531 | ||||
11532 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_CONTINUED)static void XS_XS__APItest__Magic_test_UTF8_IS_CONTINUED( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11533 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_CONTINUED)static void XS_XS__APItest__Magic_test_UTF8_IS_CONTINUED( CV* cv __attribute__((unused))) | |||
11534 | { | |||
11535 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11536 | if (items != 1) | |||
11537 | croak_xs_usagePerl_croak_xs_usage(cv, "ch"); | |||
11538 | { | |||
11539 | bool_Bool RETVAL; | |||
11540 | char ch = (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)) | |||
11541 | ; | |||
11542 | #line 6160 "APItest.xs" | |||
11543 | RETVAL = UTF8_IS_CONTINUED(ch)( (! ((((U64)(((UV) (((ch) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0))))); | |||
11544 | #line 11545 "APItest.c" | |||
11545 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11546 | } | |||
11547 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11548 | } | |||
11549 | ||||
11550 | ||||
11551 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_DOWNGRADEABLE_START)static void XS_XS__APItest__Magic_test_UTF8_IS_DOWNGRADEABLE_START ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11552 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_DOWNGRADEABLE_START)static void XS_XS__APItest__Magic_test_UTF8_IS_DOWNGRADEABLE_START ( CV* cv __attribute__((unused))) | |||
11553 | { | |||
11554 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11555 | if (items != 1) | |||
11556 | croak_xs_usagePerl_croak_xs_usage(cv, "ch"); | |||
11557 | { | |||
11558 | bool_Bool RETVAL; | |||
11559 | char ch = (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)) | |||
11560 | ; | |||
11561 | #line 6167 "APItest.xs" | |||
11562 | RETVAL = UTF8_IS_DOWNGRADEABLE_START(ch)( ( ( (sizeof(( ((U8) ((ch) | 0)))) == sizeof(U8)) ? ( (((U64 ) (((((U8) (( ((U8) ((ch) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2)))))))) | 0))) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | 0))))) : (sizeof(( ((U8) ((ch) | 0)))) == sizeof(U32)) ? ( ( ((U64) (((((U32) (( ((U8) ((ch) | 0))))))) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0))) <= (((U64) (((( ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) ))) | 0))))) : ( ( (((U64) (((((U64) (( ((U8) ((ch) | 0)))))) ) - ((((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | 0) )) <= (((U64) ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) | 0))))))))); | |||
11563 | #line 11564 "APItest.c" | |||
11564 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11565 | } | |||
11566 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11567 | } | |||
11568 | ||||
11569 | ||||
11570 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_ABOVE_LATIN1)static void XS_XS__APItest__Magic_test_UTF8_IS_ABOVE_LATIN1( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11571 | XS_EUPXS(XS_XS__APItest__Magic_test_UTF8_IS_ABOVE_LATIN1)static void XS_XS__APItest__Magic_test_UTF8_IS_ABOVE_LATIN1( CV * cv __attribute__((unused))) | |||
11572 | { | |||
11573 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11574 | if (items != 1) | |||
11575 | croak_xs_usagePerl_croak_xs_usage(cv, "ch"); | |||
11576 | { | |||
11577 | bool_Bool RETVAL; | |||
11578 | char ch = (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)) | |||
11579 | ; | |||
11580 | #line 6174 "APItest.xs" | |||
11581 | RETVAL = UTF8_IS_ABOVE_LATIN1(ch)( (( ((U8) ((ch) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))); | |||
11582 | #line 11583 "APItest.c" | |||
11583 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11584 | } | |||
11585 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11586 | } | |||
11587 | ||||
11588 | ||||
11589 | XS_EUPXS(XS_XS__APItest__Magic_test_isUTF8_POSSIBLY_PROBLEMATIC)static void XS_XS__APItest__Magic_test_isUTF8_POSSIBLY_PROBLEMATIC ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11590 | XS_EUPXS(XS_XS__APItest__Magic_test_isUTF8_POSSIBLY_PROBLEMATIC)static void XS_XS__APItest__Magic_test_isUTF8_POSSIBLY_PROBLEMATIC ( CV* cv __attribute__((unused))) | |||
11591 | { | |||
11592 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11593 | if (items != 1) | |||
11594 | croak_xs_usagePerl_croak_xs_usage(cv, "ch"); | |||
11595 | { | |||
11596 | bool_Bool RETVAL; | |||
11597 | char ch = (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)) | |||
11598 | ; | |||
11599 | #line 6181 "APItest.xs" | |||
11600 | RETVAL = isUTF8_POSSIBLY_PROBLEMATIC(ch)( (U8) ch >= 0xED); | |||
11601 | #line 11602 "APItest.c" | |||
11602 | ST(0)PL_stack_base[ax + (0)] = boolSV(RETVAL)((RETVAL) ? &(PL_sv_immortals[0]) : &(PL_sv_immortals [2])); | |||
11603 | } | |||
11604 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11605 | } | |||
11606 | ||||
11607 | ||||
11608 | XS_EUPXS(XS_XS__APItest__Magic_test_isUTF8_CHAR)static void XS_XS__APItest__Magic_test_isUTF8_CHAR( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11609 | XS_EUPXS(XS_XS__APItest__Magic_test_isUTF8_CHAR)static void XS_XS__APItest__Magic_test_isUTF8_CHAR( CV* cv __attribute__ ((unused))) | |||
11610 | { | |||
11611 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11612 | if (items != 2) | |||
11613 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
11614 | { | |||
11615 | STRLEN RETVAL; | |||
11616 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11617 | char * s = (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)) | |||
11618 | ; | |||
11619 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11620 | ; | |||
11621 | #line 6188 "APItest.xs" | |||
11622 | RETVAL = isUTF8_CHARPerl_isUTF8_CHAR((U8 *) s, (U8 *) s + len); | |||
11623 | #line 11624 "APItest.c" | |||
11624 | 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); | |||
11625 | } | |||
11626 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11627 | } | |||
11628 | ||||
11629 | ||||
11630 | XS_EUPXS(XS_XS__APItest__Magic_test_isUTF8_CHAR_flags)static void XS_XS__APItest__Magic_test_isUTF8_CHAR_flags( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11631 | XS_EUPXS(XS_XS__APItest__Magic_test_isUTF8_CHAR_flags)static void XS_XS__APItest__Magic_test_isUTF8_CHAR_flags( CV* cv __attribute__((unused))) | |||
11632 | { | |||
11633 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11634 | if (items != 3) | |||
11635 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
11636 | { | |||
11637 | STRLEN RETVAL; | |||
11638 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11639 | char * s = (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)) | |||
11640 | ; | |||
11641 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11642 | ; | |||
11643 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
11644 | ; | |||
11645 | #line 6195 "APItest.xs" | |||
11646 | RETVAL = isUTF8_CHAR_flags((U8 *) s, (U8 *) s + len, flags)(__builtin_expect(((((U8 *) s + len) <= ((U8 *) s)) ? (_Bool )1 : (_Bool)0),(0)) ? 0 : (((((U64)(((UV) (((*(U8 *) s) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? 1 : __builtin_expect ((((((U8 *) s + len) - ((U8 *) s)) < PL_utf8skip[*(const U8 *)((U8 *) s)]) ? (_Bool)1 : (_Bool)0),(0)) ? 0 : Perl_is_utf8_char_helper ((U8 *) s, (U8 *) s + len, flags)); | |||
11647 | #line 11648 "APItest.c" | |||
11648 | 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); | |||
11649 | } | |||
11650 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11651 | } | |||
11652 | ||||
11653 | ||||
11654 | XS_EUPXS(XS_XS__APItest__Magic_test_isSTRICT_UTF8_CHAR)static void XS_XS__APItest__Magic_test_isSTRICT_UTF8_CHAR( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11655 | XS_EUPXS(XS_XS__APItest__Magic_test_isSTRICT_UTF8_CHAR)static void XS_XS__APItest__Magic_test_isSTRICT_UTF8_CHAR( CV * cv __attribute__((unused))) | |||
11656 | { | |||
11657 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11658 | if (items != 2) | |||
11659 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
11660 | { | |||
11661 | STRLEN RETVAL; | |||
11662 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11663 | char * s = (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)) | |||
11664 | ; | |||
11665 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11666 | ; | |||
11667 | #line 6202 "APItest.xs" | |||
11668 | RETVAL = isSTRICT_UTF8_CHARPerl_isSTRICT_UTF8_CHAR((U8 *) s, (U8 *) s + len); | |||
11669 | #line 11670 "APItest.c" | |||
11670 | 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); | |||
11671 | } | |||
11672 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11673 | } | |||
11674 | ||||
11675 | ||||
11676 | XS_EUPXS(XS_XS__APItest__Magic_test_isC9_STRICT_UTF8_CHAR)static void XS_XS__APItest__Magic_test_isC9_STRICT_UTF8_CHAR( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11677 | XS_EUPXS(XS_XS__APItest__Magic_test_isC9_STRICT_UTF8_CHAR)static void XS_XS__APItest__Magic_test_isC9_STRICT_UTF8_CHAR( CV* cv __attribute__((unused))) | |||
11678 | { | |||
11679 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11680 | if (items != 2) | |||
11681 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
11682 | { | |||
11683 | STRLEN RETVAL; | |||
11684 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11685 | char * s = (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)) | |||
11686 | ; | |||
11687 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11688 | ; | |||
11689 | #line 6209 "APItest.xs" | |||
11690 | RETVAL = isC9_STRICT_UTF8_CHARPerl_isC9_STRICT_UTF8_CHAR((U8 *) s, (U8 *) s + len); | |||
11691 | #line 11692 "APItest.c" | |||
11692 | 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); | |||
11693 | } | |||
11694 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11695 | } | |||
11696 | ||||
11697 | ||||
11698 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_valid_partial_char_flags)static void XS_XS__APItest__Magic_test_is_utf8_valid_partial_char_flags ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11699 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_valid_partial_char_flags)static void XS_XS__APItest__Magic_test_is_utf8_valid_partial_char_flags ( CV* cv __attribute__((unused))) | |||
11700 | { | |||
11701 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11702 | if (items != 3) | |||
11703 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
11704 | { | |||
11705 | IV RETVAL; | |||
11706 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11707 | char * s = (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)) | |||
11708 | ; | |||
11709 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11710 | ; | |||
11711 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
11712 | ; | |||
11713 | #line 6216 "APItest.xs" | |||
11714 | /* RETVAL should be bool (here and in tests below), but making it IV | |||
11715 | * allows us to test it returning 0 or 1 */ | |||
11716 | RETVAL = is_utf8_valid_partial_char_flagsPerl_is_utf8_valid_partial_char_flags((U8 *) s, (U8 *) s + len, flags); | |||
11717 | #line 11718 "APItest.c" | |||
11718 | 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); | |||
11719 | } | |||
11720 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11721 | } | |||
11722 | ||||
11723 | ||||
11724 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string)static void XS_XS__APItest__Magic_test_is_utf8_string( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11725 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string)static void XS_XS__APItest__Magic_test_is_utf8_string( CV* cv __attribute__((unused))) | |||
11726 | { | |||
11727 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11728 | if (items != 2) | |||
11729 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
11730 | { | |||
11731 | IV RETVAL; | |||
11732 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11733 | char * s = (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)) | |||
11734 | ; | |||
11735 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11736 | ; | |||
11737 | #line 6225 "APItest.xs" | |||
11738 | RETVAL = is_utf8_string((U8 *) s, len)Perl_is_utf8_string_loclen((U8 *) s, len, ((void*)0), ((void* )0)); | |||
11739 | #line 11740 "APItest.c" | |||
11740 | 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); | |||
11741 | } | |||
11742 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11743 | } | |||
11744 | ||||
11745 | #define WORDSIZEsizeof(PERL_UINTMAX_T) sizeof(PERL_UINTMAX_T) | |||
11746 | ||||
11747 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_invariant_string_loc)static void XS_XS__APItest__Magic_test_is_utf8_invariant_string_loc ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11748 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_invariant_string_loc)static void XS_XS__APItest__Magic_test_is_utf8_invariant_string_loc ( CV* cv __attribute__((unused))) | |||
11749 | { | |||
11750 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11751 | if (items != 3) | |||
11752 | croak_xs_usagePerl_croak_xs_usage(cv, "s, offset, len"); | |||
11753 | { | |||
11754 | #line 6234 "APItest.xs" | |||
11755 | AV *av; | |||
11756 | const U8 * ep = NULL((void*)0); | |||
11757 | PERL_UINTMAX_T* copy; | |||
11758 | #line 11759 "APItest.c" | |||
11759 | AV * RETVAL; | |||
11760 | U8 * s = (U8 *)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)) | |||
11761 | ; | |||
11762 | STRLEN offset = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11763 | ; | |||
11764 | STRLEN len = (STRLEN)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
11765 | ; | |||
11766 | #line 6238 "APItest.xs" | |||
11767 | /* 'offset' is number of bytes past a word boundary the testing of 's' | |||
11768 | * is to start at. Allocate space that does start at the word | |||
11769 | * boundary, and copy 's' to the correct offset past it. Then call the | |||
11770 | * tested function with that position */ | |||
11771 | Newx(copy, 1 + ((len + WORDSIZE - 1) / WORDSIZE), PERL_UINTMAX_T)(copy = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (1 + ((len + sizeof(PERL_UINTMAX_T) - 1) / sizeof(PERL_UINTMAX_T ))) || sizeof(PERL_UINTMAX_T) > ((size_t)1 << 8*(sizeof (size_t) - sizeof(1 + ((len + sizeof(PERL_UINTMAX_T) - 1) / sizeof (PERL_UINTMAX_T)))))) ? (size_t)(1 + ((len + sizeof(PERL_UINTMAX_T ) - 1) / sizeof(PERL_UINTMAX_T))) : ((size_t)-1)/sizeof(PERL_UINTMAX_T )) > ((size_t)-1)/sizeof(PERL_UINTMAX_T))) ? (_Bool)1 : (_Bool )0),(0)) && (Perl_croak_memory_wrap(),0)), (PERL_UINTMAX_T *)(Perl_safesysmalloc((size_t)((1 + ((len + sizeof(PERL_UINTMAX_T ) - 1) / sizeof(PERL_UINTMAX_T)))*sizeof(PERL_UINTMAX_T)))))); | |||
11772 | Copy(s, (U8 *) copy + offset, len, U8)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(len ) || sizeof(U8) > ((size_t)1 << 8*(sizeof(size_t) - sizeof (len)))) ? (size_t)(len) : ((size_t)-1)/sizeof(U8)) > ((size_t )-1)/sizeof(U8))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap (),0)), ((void)0), ((void)0), (void)memcpy((char*)((U8 *) copy + offset),(const char*)(s), (len) * sizeof(U8))); | |||
11773 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
11774 | av_push(av, newSViv(is_utf8_invariant_string_loc((U8 *) copy + offset, len, &ep)))Perl_av_push( av,Perl_newSViv( Perl_is_utf8_invariant_string_loc ((U8 *) copy + offset, len, &ep))); | |||
11775 | av_push(av, newSViv(ep - ((U8 *) copy + offset)))Perl_av_push( av,Perl_newSViv( ep - ((U8 *) copy + offset))); | |||
11776 | RETVAL = av; | |||
11777 | Safefree(copy)Perl_safesysfree(((void *)(copy))); | |||
11778 | #line 11779 "APItest.c" | |||
11779 | { | |||
11780 | SV * RETVALSV; | |||
11781 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
11782 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
11783 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
11784 | } | |||
11785 | } | |||
11786 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11787 | } | |||
11788 | ||||
11789 | ||||
11790 | XS_EUPXS(XS_XS__APItest__Magic_test_variant_under_utf8_count)static void XS_XS__APItest__Magic_test_variant_under_utf8_count ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11791 | XS_EUPXS(XS_XS__APItest__Magic_test_variant_under_utf8_count)static void XS_XS__APItest__Magic_test_variant_under_utf8_count ( CV* cv __attribute__((unused))) | |||
11792 | { | |||
11793 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11794 | if (items != 3) | |||
11795 | croak_xs_usagePerl_croak_xs_usage(cv, "s, offset, len"); | |||
11796 | { | |||
11797 | #line 6255 "APItest.xs" | |||
11798 | PERL_UINTMAX_T * copy; | |||
11799 | #line 11800 "APItest.c" | |||
11800 | STRLEN RETVAL; | |||
11801 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11802 | U8 * s = (U8 *)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)) | |||
11803 | ; | |||
11804 | STRLEN offset = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11805 | ; | |||
11806 | STRLEN len = (STRLEN)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
11807 | ; | |||
11808 | #line 6257 "APItest.xs" | |||
11809 | Newx(copy, 1 + ((len + WORDSIZE - 1) / WORDSIZE), PERL_UINTMAX_T)(copy = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (1 + ((len + sizeof(PERL_UINTMAX_T) - 1) / sizeof(PERL_UINTMAX_T ))) || sizeof(PERL_UINTMAX_T) > ((size_t)1 << 8*(sizeof (size_t) - sizeof(1 + ((len + sizeof(PERL_UINTMAX_T) - 1) / sizeof (PERL_UINTMAX_T)))))) ? (size_t)(1 + ((len + sizeof(PERL_UINTMAX_T ) - 1) / sizeof(PERL_UINTMAX_T))) : ((size_t)-1)/sizeof(PERL_UINTMAX_T )) > ((size_t)-1)/sizeof(PERL_UINTMAX_T))) ? (_Bool)1 : (_Bool )0),(0)) && (Perl_croak_memory_wrap(),0)), (PERL_UINTMAX_T *)(Perl_safesysmalloc((size_t)((1 + ((len + sizeof(PERL_UINTMAX_T ) - 1) / sizeof(PERL_UINTMAX_T)))*sizeof(PERL_UINTMAX_T)))))); | |||
11810 | Copy(s, (U8 *) copy + offset, len, U8)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(len ) || sizeof(U8) > ((size_t)1 << 8*(sizeof(size_t) - sizeof (len)))) ? (size_t)(len) : ((size_t)-1)/sizeof(U8)) > ((size_t )-1)/sizeof(U8))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap (),0)), ((void)0), ((void)0), (void)memcpy((char*)((U8 *) copy + offset),(const char*)(s), (len) * sizeof(U8))); | |||
11811 | RETVAL = variant_under_utf8_countS_variant_under_utf8_count((U8 *) copy + offset, (U8 *) copy + offset + len); | |||
11812 | Safefree(copy)Perl_safesysfree(((void *)(copy))); | |||
11813 | #line 11814 "APItest.c" | |||
11814 | 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); | |||
11815 | } | |||
11816 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11817 | } | |||
11818 | ||||
11819 | ||||
11820 | XS_EUPXS(XS_XS__APItest__Magic_test_utf8_length)static void XS_XS__APItest__Magic_test_utf8_length( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11821 | XS_EUPXS(XS_XS__APItest__Magic_test_utf8_length)static void XS_XS__APItest__Magic_test_utf8_length( CV* cv __attribute__ ((unused))) | |||
11822 | { | |||
11823 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11824 | if (items != 3) | |||
11825 | croak_xs_usagePerl_croak_xs_usage(cv, "s, offset, len"); | |||
11826 | { | |||
11827 | STRLEN RETVAL; | |||
11828 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11829 | U8 * s = (U8 *)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)) | |||
11830 | ; | |||
11831 | STRLEN offset = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11832 | ; | |||
11833 | STRLEN len = (STRLEN)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
11834 | ; | |||
11835 | #line 6267 "APItest.xs" | |||
11836 | RETVAL = utf8_length(s + offset, s + len)Perl_utf8_length( s + offset,s + len); | |||
11837 | #line 11838 "APItest.c" | |||
11838 | 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); | |||
11839 | } | |||
11840 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11841 | } | |||
11842 | ||||
11843 | ||||
11844 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_loc)static void XS_XS__APItest__Magic_test_is_utf8_string_loc( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11845 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_loc)static void XS_XS__APItest__Magic_test_is_utf8_string_loc( CV * cv __attribute__((unused))) | |||
11846 | { | |||
11847 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11848 | if (items != 2) | |||
11849 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
11850 | { | |||
11851 | #line 6274 "APItest.xs" | |||
11852 | AV *av; | |||
11853 | const U8 * ep; | |||
11854 | #line 11855 "APItest.c" | |||
11855 | AV * RETVAL; | |||
11856 | char * s = (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)) | |||
11857 | ; | |||
11858 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11859 | ; | |||
11860 | #line 6277 "APItest.xs" | |||
11861 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
11862 | av_push(av, newSViv(is_utf8_string_loc((U8 *) s, len, &ep)))Perl_av_push( av,Perl_newSViv( Perl_is_utf8_string_loclen((U8 *) s, len, &ep, 0))); | |||
11863 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
11864 | RETVAL = av; | |||
11865 | #line 11866 "APItest.c" | |||
11866 | { | |||
11867 | SV * RETVALSV; | |||
11868 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
11869 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
11870 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
11871 | } | |||
11872 | } | |||
11873 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11874 | } | |||
11875 | ||||
11876 | ||||
11877 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_loclen)static void XS_XS__APItest__Magic_test_is_utf8_string_loclen( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11878 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_loclen)static void XS_XS__APItest__Magic_test_is_utf8_string_loclen( CV* cv __attribute__((unused))) | |||
11879 | { | |||
11880 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11881 | if (items != 2) | |||
11882 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
11883 | { | |||
11884 | #line 6287 "APItest.xs" | |||
11885 | AV *av; | |||
11886 | STRLEN ret_len; | |||
11887 | const U8 * ep; | |||
11888 | #line 11889 "APItest.c" | |||
11889 | AV * RETVAL; | |||
11890 | char * s = (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)) | |||
11891 | ; | |||
11892 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11893 | ; | |||
11894 | #line 6291 "APItest.xs" | |||
11895 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
11896 | av_push(av, newSViv(is_utf8_string_loclen((U8 *) s, len, &ep, &ret_len)))Perl_av_push( av,Perl_newSViv( Perl_is_utf8_string_loclen((U8 *) s, len, &ep, &ret_len))); | |||
11897 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
11898 | av_push(av, newSVuv(ret_len))Perl_av_push( av,Perl_newSVuv( ret_len)); | |||
11899 | RETVAL = av; | |||
11900 | #line 11901 "APItest.c" | |||
11901 | { | |||
11902 | SV * RETVALSV; | |||
11903 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
11904 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
11905 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
11906 | } | |||
11907 | } | |||
11908 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11909 | } | |||
11910 | ||||
11911 | ||||
11912 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_flags)static void XS_XS__APItest__Magic_test_is_utf8_string_flags( CV * cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11913 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_flags)static void XS_XS__APItest__Magic_test_is_utf8_string_flags( CV * cv __attribute__((unused))) | |||
11914 | { | |||
11915 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11916 | if (items != 3) | |||
11917 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
11918 | { | |||
11919 | IV RETVAL; | |||
11920 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
11921 | char * s = (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)) | |||
11922 | ; | |||
11923 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11924 | ; | |||
11925 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
11926 | ; | |||
11927 | #line 6302 "APItest.xs" | |||
11928 | RETVAL = is_utf8_string_flagsPerl_is_utf8_string_flags((U8 *) s, len, flags); | |||
11929 | #line 11930 "APItest.c" | |||
11930 | 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); | |||
11931 | } | |||
11932 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11933 | } | |||
11934 | ||||
11935 | ||||
11936 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_loc_flags)static void XS_XS__APItest__Magic_test_is_utf8_string_loc_flags ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11937 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_loc_flags)static void XS_XS__APItest__Magic_test_is_utf8_string_loc_flags ( CV* cv __attribute__((unused))) | |||
11938 | { | |||
11939 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11940 | if (items != 3) | |||
11941 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
11942 | { | |||
11943 | #line 6309 "APItest.xs" | |||
11944 | AV *av; | |||
11945 | const U8 * ep; | |||
11946 | #line 11947 "APItest.c" | |||
11947 | AV * RETVAL; | |||
11948 | char * s = (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)) | |||
11949 | ; | |||
11950 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11951 | ; | |||
11952 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
11953 | ; | |||
11954 | #line 6312 "APItest.xs" | |||
11955 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
11956 | av_push(av, newSViv(is_utf8_string_loc_flags((U8 *) s, len, &ep, flags)))Perl_av_push( av,Perl_newSViv( Perl_is_utf8_string_loclen_flags ((U8 *) s, len, &ep, 0, flags))); | |||
11957 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
11958 | RETVAL = av; | |||
11959 | #line 11960 "APItest.c" | |||
11960 | { | |||
11961 | SV * RETVALSV; | |||
11962 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
11963 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
11964 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
11965 | } | |||
11966 | } | |||
11967 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
11968 | } | |||
11969 | ||||
11970 | ||||
11971 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_loclen_flags)static void XS_XS__APItest__Magic_test_is_utf8_string_loclen_flags ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
11972 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_string_loclen_flags)static void XS_XS__APItest__Magic_test_is_utf8_string_loclen_flags ( CV* cv __attribute__((unused))) | |||
11973 | { | |||
11974 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
11975 | if (items != 3) | |||
11976 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
11977 | { | |||
11978 | #line 6322 "APItest.xs" | |||
11979 | AV *av; | |||
11980 | STRLEN ret_len; | |||
11981 | const U8 * ep; | |||
11982 | #line 11983 "APItest.c" | |||
11983 | AV * RETVAL; | |||
11984 | char * s = (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)) | |||
11985 | ; | |||
11986 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
11987 | ; | |||
11988 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
11989 | ; | |||
11990 | #line 6326 "APItest.xs" | |||
11991 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
11992 | av_push(av, newSViv(is_utf8_string_loclen_flags((U8 *) s, len, &ep, &ret_len, flags)))Perl_av_push( av,Perl_newSViv( Perl_is_utf8_string_loclen_flags ((U8 *) s, len, &ep, &ret_len, flags))); | |||
11993 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
11994 | av_push(av, newSVuv(ret_len))Perl_av_push( av,Perl_newSVuv( ret_len)); | |||
11995 | RETVAL = av; | |||
11996 | #line 11997 "APItest.c" | |||
11997 | { | |||
11998 | SV * RETVALSV; | |||
11999 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12000 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12001 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12002 | } | |||
12003 | } | |||
12004 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12005 | } | |||
12006 | ||||
12007 | ||||
12008 | XS_EUPXS(XS_XS__APItest__Magic_test_is_strict_utf8_string)static void XS_XS__APItest__Magic_test_is_strict_utf8_string( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12009 | XS_EUPXS(XS_XS__APItest__Magic_test_is_strict_utf8_string)static void XS_XS__APItest__Magic_test_is_strict_utf8_string( CV* cv __attribute__((unused))) | |||
12010 | { | |||
12011 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12012 | if (items != 2) | |||
12013 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
12014 | { | |||
12015 | IV RETVAL; | |||
12016 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12017 | char * s = (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)) | |||
12018 | ; | |||
12019 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12020 | ; | |||
12021 | #line 6337 "APItest.xs" | |||
12022 | RETVAL = is_strict_utf8_string((U8 *) s, len)Perl_is_strict_utf8_string_loclen((U8 *) s, len, ((void*)0), ( (void*)0)); | |||
12023 | #line 12024 "APItest.c" | |||
12024 | 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); | |||
12025 | } | |||
12026 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12027 | } | |||
12028 | ||||
12029 | ||||
12030 | XS_EUPXS(XS_XS__APItest__Magic_test_is_strict_utf8_string_loc)static void XS_XS__APItest__Magic_test_is_strict_utf8_string_loc ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12031 | XS_EUPXS(XS_XS__APItest__Magic_test_is_strict_utf8_string_loc)static void XS_XS__APItest__Magic_test_is_strict_utf8_string_loc ( CV* cv __attribute__((unused))) | |||
12032 | { | |||
12033 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12034 | if (items != 2) | |||
12035 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
12036 | { | |||
12037 | #line 6344 "APItest.xs" | |||
12038 | AV *av; | |||
12039 | const U8 * ep; | |||
12040 | #line 12041 "APItest.c" | |||
12041 | AV * RETVAL; | |||
12042 | char * s = (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)) | |||
12043 | ; | |||
12044 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12045 | ; | |||
12046 | #line 6347 "APItest.xs" | |||
12047 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12048 | av_push(av, newSViv(is_strict_utf8_string_loc((U8 *) s, len, &ep)))Perl_av_push( av,Perl_newSViv( Perl_is_strict_utf8_string_loclen ((U8 *) s, len, &ep, 0))); | |||
12049 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
12050 | RETVAL = av; | |||
12051 | #line 12052 "APItest.c" | |||
12052 | { | |||
12053 | SV * RETVALSV; | |||
12054 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12055 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12056 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12057 | } | |||
12058 | } | |||
12059 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12060 | } | |||
12061 | ||||
12062 | ||||
12063 | XS_EUPXS(XS_XS__APItest__Magic_test_is_strict_utf8_string_loclen)static void XS_XS__APItest__Magic_test_is_strict_utf8_string_loclen ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12064 | XS_EUPXS(XS_XS__APItest__Magic_test_is_strict_utf8_string_loclen)static void XS_XS__APItest__Magic_test_is_strict_utf8_string_loclen ( CV* cv __attribute__((unused))) | |||
12065 | { | |||
12066 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12067 | if (items != 2) | |||
12068 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
12069 | { | |||
12070 | #line 6357 "APItest.xs" | |||
12071 | AV *av; | |||
12072 | STRLEN ret_len; | |||
12073 | const U8 * ep; | |||
12074 | #line 12075 "APItest.c" | |||
12075 | AV * RETVAL; | |||
12076 | char * s = (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)) | |||
12077 | ; | |||
12078 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12079 | ; | |||
12080 | #line 6361 "APItest.xs" | |||
12081 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12082 | av_push(av, newSViv(is_strict_utf8_string_loclen((U8 *) s, len, &ep, &ret_len)))Perl_av_push( av,Perl_newSViv( Perl_is_strict_utf8_string_loclen ((U8 *) s, len, &ep, &ret_len))); | |||
12083 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
12084 | av_push(av, newSVuv(ret_len))Perl_av_push( av,Perl_newSVuv( ret_len)); | |||
12085 | RETVAL = av; | |||
12086 | #line 12087 "APItest.c" | |||
12087 | { | |||
12088 | SV * RETVALSV; | |||
12089 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12090 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12091 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12092 | } | |||
12093 | } | |||
12094 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12095 | } | |||
12096 | ||||
12097 | ||||
12098 | XS_EUPXS(XS_XS__APItest__Magic_test_is_c9strict_utf8_string)static void XS_XS__APItest__Magic_test_is_c9strict_utf8_string ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12099 | XS_EUPXS(XS_XS__APItest__Magic_test_is_c9strict_utf8_string)static void XS_XS__APItest__Magic_test_is_c9strict_utf8_string ( CV* cv __attribute__((unused))) | |||
12100 | { | |||
12101 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12102 | if (items != 2) | |||
12103 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
12104 | { | |||
12105 | IV RETVAL; | |||
12106 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12107 | char * s = (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)) | |||
12108 | ; | |||
12109 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12110 | ; | |||
12111 | #line 6372 "APItest.xs" | |||
12112 | RETVAL = is_c9strict_utf8_string((U8 *) s, len)Perl_is_c9strict_utf8_string_loclen((U8 *) s, len, ((void*)0) , 0); | |||
12113 | #line 12114 "APItest.c" | |||
12114 | 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); | |||
12115 | } | |||
12116 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12117 | } | |||
12118 | ||||
12119 | ||||
12120 | XS_EUPXS(XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loc)static void XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loc ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12121 | XS_EUPXS(XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loc)static void XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loc ( CV* cv __attribute__((unused))) | |||
12122 | { | |||
12123 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12124 | if (items != 2) | |||
12125 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
12126 | { | |||
12127 | #line 6379 "APItest.xs" | |||
12128 | AV *av; | |||
12129 | const U8 * ep; | |||
12130 | #line 12131 "APItest.c" | |||
12131 | AV * RETVAL; | |||
12132 | char * s = (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)) | |||
12133 | ; | |||
12134 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12135 | ; | |||
12136 | #line 6382 "APItest.xs" | |||
12137 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12138 | av_push(av, newSViv(is_c9strict_utf8_string_loc((U8 *) s, len, &ep)))Perl_av_push( av,Perl_newSViv( Perl_is_c9strict_utf8_string_loclen ((U8 *) s, len, &ep, 0))); | |||
12139 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
12140 | RETVAL = av; | |||
12141 | #line 12142 "APItest.c" | |||
12142 | { | |||
12143 | SV * RETVALSV; | |||
12144 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12145 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12146 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12147 | } | |||
12148 | } | |||
12149 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12150 | } | |||
12151 | ||||
12152 | ||||
12153 | XS_EUPXS(XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loclen)static void XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loclen ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12154 | XS_EUPXS(XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loclen)static void XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loclen ( CV* cv __attribute__((unused))) | |||
12155 | { | |||
12156 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12157 | if (items != 2) | |||
12158 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len"); | |||
12159 | { | |||
12160 | #line 6392 "APItest.xs" | |||
12161 | AV *av; | |||
12162 | STRLEN ret_len; | |||
12163 | const U8 * ep; | |||
12164 | #line 12165 "APItest.c" | |||
12165 | AV * RETVAL; | |||
12166 | char * s = (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)) | |||
12167 | ; | |||
12168 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12169 | ; | |||
12170 | #line 6396 "APItest.xs" | |||
12171 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12172 | av_push(av, newSViv(is_c9strict_utf8_string_loclen((U8 *) s, len, &ep, &ret_len)))Perl_av_push( av,Perl_newSViv( Perl_is_c9strict_utf8_string_loclen ((U8 *) s, len, &ep, &ret_len))); | |||
12173 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
12174 | av_push(av, newSVuv(ret_len))Perl_av_push( av,Perl_newSVuv( ret_len)); | |||
12175 | RETVAL = av; | |||
12176 | #line 12177 "APItest.c" | |||
12177 | { | |||
12178 | SV * RETVALSV; | |||
12179 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12180 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12181 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12182 | } | |||
12183 | } | |||
12184 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12185 | } | |||
12186 | ||||
12187 | ||||
12188 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_flags)static void XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_flags ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12189 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_flags)static void XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_flags ( CV* cv __attribute__((unused))) | |||
12190 | { | |||
12191 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12192 | if (items != 3) | |||
12193 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
12194 | { | |||
12195 | IV RETVAL; | |||
12196 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12197 | char * s = (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)) | |||
12198 | ; | |||
12199 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12200 | ; | |||
12201 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
12202 | ; | |||
12203 | #line 6407 "APItest.xs" | |||
12204 | RETVAL = is_utf8_fixed_width_buf_flags((U8 *) s, len, flags)Perl_is_utf8_fixed_width_buf_loclen_flags((U8 *) s, len, 0, 0 , flags); | |||
12205 | #line 12206 "APItest.c" | |||
12206 | 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); | |||
12207 | } | |||
12208 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12209 | } | |||
12210 | ||||
12211 | ||||
12212 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loc_flags)static void XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loc_flags ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12213 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loc_flags)static void XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loc_flags ( CV* cv __attribute__((unused))) | |||
12214 | { | |||
12215 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12216 | if (items != 3) | |||
12217 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
12218 | { | |||
12219 | #line 6414 "APItest.xs" | |||
12220 | AV *av; | |||
12221 | const U8 * ep; | |||
12222 | #line 12223 "APItest.c" | |||
12223 | AV * RETVAL; | |||
12224 | char * s = (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)) | |||
12225 | ; | |||
12226 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12227 | ; | |||
12228 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
12229 | ; | |||
12230 | #line 6417 "APItest.xs" | |||
12231 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12232 | av_push(av, newSViv(is_utf8_fixed_width_buf_loc_flags((U8 *) s, len, &ep, flags)))Perl_av_push( av,Perl_newSViv( Perl_is_utf8_fixed_width_buf_loclen_flags ((U8 *) s, len, &ep, 0, flags))); | |||
12233 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
12234 | RETVAL = av; | |||
12235 | #line 12236 "APItest.c" | |||
12236 | { | |||
12237 | SV * RETVALSV; | |||
12238 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12239 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12240 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12241 | } | |||
12242 | } | |||
12243 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12244 | } | |||
12245 | ||||
12246 | ||||
12247 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loclen_flags)static void XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loclen_flags ( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12248 | XS_EUPXS(XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loclen_flags)static void XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loclen_flags ( CV* cv __attribute__((unused))) | |||
12249 | { | |||
12250 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12251 | if (items != 3) | |||
12252 | croak_xs_usagePerl_croak_xs_usage(cv, "s, len, flags"); | |||
12253 | { | |||
12254 | #line 6427 "APItest.xs" | |||
12255 | AV *av; | |||
12256 | STRLEN ret_len; | |||
12257 | const U8 * ep; | |||
12258 | #line 12259 "APItest.c" | |||
12259 | AV * RETVAL; | |||
12260 | char * s = (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)) | |||
12261 | ; | |||
12262 | STRLEN len = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12263 | ; | |||
12264 | U32 flags = (unsigned long)SvUV(ST(2))((((PL_stack_base[ax + (2)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (2)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (2)],2)) | |||
12265 | ; | |||
12266 | #line 6431 "APItest.xs" | |||
12267 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12268 | av_push(av, newSViv(is_utf8_fixed_width_buf_loclen_flags((U8 *) s, len, &ep, &ret_len, flags)))Perl_av_push( av,Perl_newSViv( Perl_is_utf8_fixed_width_buf_loclen_flags ((U8 *) s, len, &ep, &ret_len, flags))); | |||
12269 | av_push(av, newSViv(ep - (U8 *) s))Perl_av_push( av,Perl_newSViv( ep - (U8 *) s)); | |||
12270 | av_push(av, newSVuv(ret_len))Perl_av_push( av,Perl_newSVuv( ret_len)); | |||
12271 | RETVAL = av; | |||
12272 | #line 12273 "APItest.c" | |||
12273 | { | |||
12274 | SV * RETVALSV; | |||
12275 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12276 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12277 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12278 | } | |||
12279 | } | |||
12280 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12281 | } | |||
12282 | ||||
12283 | ||||
12284 | XS_EUPXS(XS_XS__APItest__Magic_test_utf8_hop_safe)static void XS_XS__APItest__Magic_test_utf8_hop_safe( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12285 | XS_EUPXS(XS_XS__APItest__Magic_test_utf8_hop_safe)static void XS_XS__APItest__Magic_test_utf8_hop_safe( CV* cv __attribute__ ((unused))) | |||
12286 | { | |||
12287 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12288 | if (items != 3) | |||
12289 | croak_xs_usagePerl_croak_xs_usage(cv, "s_sv, s_off, off"); | |||
12290 | { | |||
12291 | #line 6442 "APItest.xs" | |||
12292 | STRLEN len; | |||
12293 | U8 *p; | |||
12294 | U8 *r; | |||
12295 | #line 12296 "APItest.c" | |||
12296 | IV RETVAL; | |||
12297 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12298 | SV * s_sv = ST(0)PL_stack_base[ax + (0)] | |||
12299 | ; | |||
12300 | STRLEN s_off = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
12301 | ; | |||
12302 | IV off = (IV)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)) | |||
12303 | ; | |||
12304 | #line 6446 "APItest.xs" | |||
12305 | p = (U8 *)SvPV(s_sv, len)((((s_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (s_sv)->sv_any)->xpv_cur), ((s_sv)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( s_sv,&len,2)); | |||
12306 | r = utf8_hop_safePerl_utf8_hop_safe(p + s_off, off, p, p + len); | |||
12307 | RETVAL = r - p; | |||
12308 | #line 12309 "APItest.c" | |||
12309 | 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); | |||
12310 | } | |||
12311 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12312 | } | |||
12313 | ||||
12314 | ||||
12315 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER)static void XS_XS__APItest__Magic_test_toLOWER( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12316 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER)static void XS_XS__APItest__Magic_test_toLOWER( CV* cv __attribute__ ((unused))) | |||
12317 | { | |||
12318 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12319 | if (items != 1) | |||
12320 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12321 | { | |||
12322 | UV RETVAL; | |||
12323 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12324 | UV ord = (UV)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)) | |||
12325 | ; | |||
12326 | #line 6455 "APItest.xs" | |||
12327 | RETVAL = toLOWER(ord)(( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord))) ) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord))) ) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('A')) | 0))) <= ((( U64) (((('Z') - ('A'))) | 0)))))))) ? (U8)((ord) + ('a' - 'A' )) : (ord)); | |||
12328 | #line 12329 "APItest.c" | |||
12329 | 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); | |||
12330 | } | |||
12331 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12332 | } | |||
12333 | ||||
12334 | ||||
12335 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_L1)static void XS_XS__APItest__Magic_test_toLOWER_L1( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12336 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_L1)static void XS_XS__APItest__Magic_test_toLOWER_L1( CV* cv __attribute__ ((unused))) | |||
12337 | { | |||
12338 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12339 | if (items != 1) | |||
12340 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12341 | { | |||
12342 | UV RETVAL; | |||
12343 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12344 | UV ord = (UV)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)) | |||
12345 | ; | |||
12346 | #line 6462 "APItest.xs" | |||
12347 | RETVAL = toLOWER_L1(ord)((! ( (sizeof(ord) == 1) || !(((U64)((ord) | 0)) & ~0xFF) )) ? (ord) : PL_latin1_lc[ (U8) (ord) ]); | |||
12348 | #line 12349 "APItest.c" | |||
12349 | 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); | |||
12350 | } | |||
12351 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12352 | } | |||
12353 | ||||
12354 | ||||
12355 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_LC)static void XS_XS__APItest__Magic_test_toLOWER_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12356 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_LC)static void XS_XS__APItest__Magic_test_toLOWER_LC( CV* cv __attribute__ ((unused))) | |||
12357 | { | |||
12358 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12359 | if (items != 1) | |||
12360 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12361 | { | |||
12362 | UV RETVAL; | |||
12363 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12364 | UV ord = (UV)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)) | |||
12365 | ; | |||
12366 | #line 6469 "APItest.xs" | |||
12367 | RETVAL = toLOWER_LC(ord)(! ( (sizeof((ord)) == 1) || !(((U64)(((ord)) | 0)) & ~0xFF )) ? ((ord)) : (PL_in_utf8_CTYPE_locale) ? PL_latin1_lc[ (U8) ((ord)) ] : (U8)tolower((U8)((ord)))); | |||
12368 | #line 12369 "APItest.c" | |||
12369 | 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); | |||
12370 | } | |||
12371 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12372 | } | |||
12373 | ||||
12374 | ||||
12375 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_uni)static void XS_XS__APItest__Magic_test_toLOWER_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12376 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_uni)static void XS_XS__APItest__Magic_test_toLOWER_uni( CV* cv __attribute__ ((unused))) | |||
12377 | { | |||
12378 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12379 | if (items != 1) | |||
12380 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12381 | { | |||
12382 | #line 6476 "APItest.xs" | |||
12383 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12384 | STRLEN len; | |||
12385 | AV *av; | |||
12386 | SV *utf8; | |||
12387 | #line 12388 "APItest.c" | |||
12388 | AV * RETVAL; | |||
12389 | UV ord = (UV)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)) | |||
12390 | ; | |||
12391 | #line 6481 "APItest.xs" | |||
12392 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12393 | av_push(av, newSVuv(toLOWER_uni(ord, s, &len)))Perl_av_push( av,Perl_newSVuv( Perl_to_uni_lower( ord,s,& len))); | |||
12394 | ||||
12395 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12396 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12397 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12398 | ||||
12399 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12400 | RETVAL = av; | |||
12401 | #line 12402 "APItest.c" | |||
12402 | { | |||
12403 | SV * RETVALSV; | |||
12404 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12405 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12406 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12407 | } | |||
12408 | } | |||
12409 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12410 | } | |||
12411 | ||||
12412 | ||||
12413 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_uvchr)static void XS_XS__APItest__Magic_test_toLOWER_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12414 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_uvchr)static void XS_XS__APItest__Magic_test_toLOWER_uvchr( CV* cv __attribute__ ((unused))) | |||
12415 | { | |||
12416 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12417 | if (items != 1) | |||
12418 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12419 | { | |||
12420 | #line 6496 "APItest.xs" | |||
12421 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12422 | STRLEN len; | |||
12423 | AV *av; | |||
12424 | SV *utf8; | |||
12425 | #line 12426 "APItest.c" | |||
12426 | AV * RETVAL; | |||
12427 | UV ord = (UV)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)) | |||
12428 | ; | |||
12429 | #line 6501 "APItest.xs" | |||
12430 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12431 | av_push(av, newSVuv(toLOWER_uvchr(ord, s, &len)))Perl_av_push( av,Perl_newSVuv( Perl_to_uni_lower( ord,s,& len))); | |||
12432 | ||||
12433 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12434 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12435 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12436 | ||||
12437 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12438 | RETVAL = av; | |||
12439 | #line 12440 "APItest.c" | |||
12440 | { | |||
12441 | SV * RETVALSV; | |||
12442 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12443 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12444 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12445 | } | |||
12446 | } | |||
12447 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12448 | } | |||
12449 | ||||
12450 | ||||
12451 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_utf8)static void XS_XS__APItest__Magic_test_toLOWER_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12452 | XS_EUPXS(XS_XS__APItest__Magic_test_toLOWER_utf8)static void XS_XS__APItest__Magic_test_toLOWER_utf8( CV* cv __attribute__ ((unused))) | |||
12453 | { | |||
12454 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12455 | if (items != 2) | |||
12456 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
12457 | { | |||
12458 | #line 6516 "APItest.xs" | |||
12459 | U8 *input; | |||
12460 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12461 | STRLEN len; | |||
12462 | AV *av; | |||
12463 | SV *utf8; | |||
12464 | const U8 * e; | |||
12465 | UV resultant_cp = UV_MAX(~(UV)0); /* Initialized because of dumb compilers */ | |||
12466 | #line 12467 "APItest.c" | |||
12467 | AV * RETVAL; | |||
12468 | SV * p = ST(0)PL_stack_base[ax + (0)] | |||
12469 | ; | |||
12470 | int type = (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)) | |||
12471 | ; | |||
12472 | #line 6524 "APItest.xs" | |||
12473 | input = (U8 *) SvPV(p, len)((((p)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (p)->sv_any)->xpv_cur), ((p)->sv_u .svu_pv)) : Perl_sv_2pv_flags( p,&len,2)); | |||
12474 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12475 | if (type >= 0) { | |||
12476 | e = input + UTF8SKIP(input)PL_utf8skip[*(const U8*)(input)] - type; | |||
12477 | resultant_cp = toLOWER_utf8_safe(input, e, s, &len)Perl__to_utf8_lower_flags( input,e,s,&len,0); | |||
12478 | av_push(av, newSVuv(resultant_cp))Perl_av_push( av,Perl_newSVuv( resultant_cp)); | |||
12479 | ||||
12480 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12481 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12482 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12483 | ||||
12484 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12485 | RETVAL = av; | |||
12486 | } | |||
12487 | else { | |||
12488 | RETVAL = 0; | |||
12489 | } | |||
12490 | #line 12491 "APItest.c" | |||
12491 | { | |||
12492 | SV * RETVALSV; | |||
12493 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12494 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12495 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12496 | } | |||
12497 | } | |||
12498 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12499 | } | |||
12500 | ||||
12501 | ||||
12502 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD)static void XS_XS__APItest__Magic_test_toFOLD( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12503 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD)static void XS_XS__APItest__Magic_test_toFOLD( CV* cv __attribute__ ((unused))) | |||
12504 | { | |||
12505 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12506 | if (items != 1) | |||
12507 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12508 | { | |||
12509 | UV RETVAL; | |||
12510 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12511 | UV ord = (UV)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)) | |||
12512 | ; | |||
12513 | #line 6547 "APItest.xs" | |||
12514 | RETVAL = toFOLD(ord)(( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord))) ) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord))) ) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('A')) | 0))) <= ((( U64) (((('Z') - ('A'))) | 0)))))))) ? (U8)((ord) + ('a' - 'A' )) : (ord)); | |||
12515 | #line 12516 "APItest.c" | |||
12516 | 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); | |||
12517 | } | |||
12518 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12519 | } | |||
12520 | ||||
12521 | ||||
12522 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD_LC)static void XS_XS__APItest__Magic_test_toFOLD_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12523 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD_LC)static void XS_XS__APItest__Magic_test_toFOLD_LC( CV* cv __attribute__ ((unused))) | |||
12524 | { | |||
12525 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12526 | if (items != 1) | |||
12527 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12528 | { | |||
12529 | UV RETVAL; | |||
12530 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12531 | UV ord = (UV)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)) | |||
12532 | ; | |||
12533 | #line 6554 "APItest.xs" | |||
12534 | RETVAL = toFOLD_LC(ord)((__builtin_expect(((((ord)) == 0xB5) ? (_Bool)1 : (_Bool)0), (0)) && PL_in_utf8_CTYPE_locale) ? 0x03BC : ( (! ( (sizeof ((ord)) == 1) || !(((U64)(((ord)) | 0)) & ~0xFF)) ? ((ord )) : (PL_in_utf8_CTYPE_locale) ? PL_latin1_lc[ (U8) ((ord)) ] : (U8)tolower((U8)((ord)))))); | |||
12535 | #line 12536 "APItest.c" | |||
12536 | 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); | |||
12537 | } | |||
12538 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12539 | } | |||
12540 | ||||
12541 | ||||
12542 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD_uni)static void XS_XS__APItest__Magic_test_toFOLD_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12543 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD_uni)static void XS_XS__APItest__Magic_test_toFOLD_uni( CV* cv __attribute__ ((unused))) | |||
12544 | { | |||
12545 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12546 | if (items != 1) | |||
12547 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12548 | { | |||
12549 | #line 6561 "APItest.xs" | |||
12550 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12551 | STRLEN len; | |||
12552 | AV *av; | |||
12553 | SV *utf8; | |||
12554 | #line 12555 "APItest.c" | |||
12555 | AV * RETVAL; | |||
12556 | UV ord = (UV)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)) | |||
12557 | ; | |||
12558 | #line 6566 "APItest.xs" | |||
12559 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12560 | av_push(av, newSVuv(toFOLD_uni(ord, s, &len)))Perl_av_push( av,Perl_newSVuv( Perl__to_uni_fold_flags( ord,s ,&len,0x2))); | |||
12561 | ||||
12562 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12563 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12564 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12565 | ||||
12566 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12567 | RETVAL = av; | |||
12568 | #line 12569 "APItest.c" | |||
12569 | { | |||
12570 | SV * RETVALSV; | |||
12571 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12572 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12573 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12574 | } | |||
12575 | } | |||
12576 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12577 | } | |||
12578 | ||||
12579 | ||||
12580 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD_uvchr)static void XS_XS__APItest__Magic_test_toFOLD_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12581 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD_uvchr)static void XS_XS__APItest__Magic_test_toFOLD_uvchr( CV* cv __attribute__ ((unused))) | |||
12582 | { | |||
12583 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12584 | if (items != 1) | |||
12585 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12586 | { | |||
12587 | #line 6581 "APItest.xs" | |||
12588 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12589 | STRLEN len; | |||
12590 | AV *av; | |||
12591 | SV *utf8; | |||
12592 | #line 12593 "APItest.c" | |||
12593 | AV * RETVAL; | |||
12594 | UV ord = (UV)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)) | |||
12595 | ; | |||
12596 | #line 6586 "APItest.xs" | |||
12597 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12598 | av_push(av, newSVuv(toFOLD_uvchr(ord, s, &len)))Perl_av_push( av,Perl_newSVuv( Perl__to_uni_fold_flags( ord,s ,&len,0x2))); | |||
12599 | ||||
12600 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12601 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12602 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12603 | ||||
12604 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12605 | RETVAL = av; | |||
12606 | #line 12607 "APItest.c" | |||
12607 | { | |||
12608 | SV * RETVALSV; | |||
12609 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12610 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12611 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12612 | } | |||
12613 | } | |||
12614 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12615 | } | |||
12616 | ||||
12617 | ||||
12618 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD_utf8)static void XS_XS__APItest__Magic_test_toFOLD_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12619 | XS_EUPXS(XS_XS__APItest__Magic_test_toFOLD_utf8)static void XS_XS__APItest__Magic_test_toFOLD_utf8( CV* cv __attribute__ ((unused))) | |||
12620 | { | |||
12621 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12622 | if (items != 2) | |||
12623 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
12624 | { | |||
12625 | #line 6601 "APItest.xs" | |||
12626 | U8 *input; | |||
12627 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12628 | STRLEN len; | |||
12629 | AV *av; | |||
12630 | SV *utf8; | |||
12631 | const U8 * e; | |||
12632 | UV resultant_cp = UV_MAX(~(UV)0); | |||
12633 | #line 12634 "APItest.c" | |||
12634 | AV * RETVAL; | |||
12635 | SV * p = ST(0)PL_stack_base[ax + (0)] | |||
12636 | ; | |||
12637 | int type = (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)) | |||
12638 | ; | |||
12639 | #line 6609 "APItest.xs" | |||
12640 | input = (U8 *) SvPV(p, len)((((p)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (p)->sv_any)->xpv_cur), ((p)->sv_u .svu_pv)) : Perl_sv_2pv_flags( p,&len,2)); | |||
12641 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12642 | if (type >= 0) { | |||
12643 | e = input + UTF8SKIP(input)PL_utf8skip[*(const U8*)(input)] - type; | |||
12644 | resultant_cp = toFOLD_utf8_safe(input, e, s, &len)Perl__to_utf8_fold_flags( input,e,s,&len,0x2); | |||
12645 | av_push(av, newSVuv(resultant_cp))Perl_av_push( av,Perl_newSVuv( resultant_cp)); | |||
12646 | ||||
12647 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12648 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12649 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12650 | ||||
12651 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12652 | RETVAL = av; | |||
12653 | } | |||
12654 | else { | |||
12655 | RETVAL = 0; | |||
12656 | } | |||
12657 | #line 12658 "APItest.c" | |||
12658 | { | |||
12659 | SV * RETVALSV; | |||
12660 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12661 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12662 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12663 | } | |||
12664 | } | |||
12665 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12666 | } | |||
12667 | ||||
12668 | ||||
12669 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER)static void XS_XS__APItest__Magic_test_toUPPER( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12670 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER)static void XS_XS__APItest__Magic_test_toUPPER( CV* cv __attribute__ ((unused))) | |||
12671 | { | |||
12672 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12673 | if (items != 1) | |||
12674 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12675 | { | |||
12676 | UV RETVAL; | |||
12677 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12678 | UV ord = (UV)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)) | |||
12679 | ; | |||
12680 | #line 6632 "APItest.xs" | |||
12681 | RETVAL = toUPPER(ord)(( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord))) ) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord))) ) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('a')) | 0))) <= ((( U64) (((('z') - ('a'))) | 0)))))))) ? (U8)((ord) - ('a' - 'A' )) : (ord)); | |||
12682 | #line 12683 "APItest.c" | |||
12683 | 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); | |||
12684 | } | |||
12685 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12686 | } | |||
12687 | ||||
12688 | ||||
12689 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER_LC)static void XS_XS__APItest__Magic_test_toUPPER_LC( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12690 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER_LC)static void XS_XS__APItest__Magic_test_toUPPER_LC( CV* cv __attribute__ ((unused))) | |||
12691 | { | |||
12692 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12693 | if (items != 1) | |||
12694 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12695 | { | |||
12696 | UV RETVAL; | |||
12697 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12698 | UV ord = (UV)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)) | |||
12699 | ; | |||
12700 | #line 6639 "APItest.xs" | |||
12701 | RETVAL = toUPPER_LC(ord)(! ( (sizeof((ord)) == 1) || !(((U64)(((ord)) | 0)) & ~0xFF )) ? ((ord)) : ((! PL_in_utf8_CTYPE_locale) ? (U8)toupper((U8 )((ord))) : ((((U8)((ord))) == 0xB5) ? 0x039C : ((((U8)((ord) )) == 0xFF) ? 0x0178 : ((((U8)((ord))) == 0xDF) ? ( ((ord))) : PL_mod_latin1_uc[ (U8) ((ord)) ]))))); | |||
12702 | #line 12703 "APItest.c" | |||
12703 | 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); | |||
12704 | } | |||
12705 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12706 | } | |||
12707 | ||||
12708 | ||||
12709 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER_uni)static void XS_XS__APItest__Magic_test_toUPPER_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12710 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER_uni)static void XS_XS__APItest__Magic_test_toUPPER_uni( CV* cv __attribute__ ((unused))) | |||
12711 | { | |||
12712 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12713 | if (items != 1) | |||
12714 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12715 | { | |||
12716 | #line 6646 "APItest.xs" | |||
12717 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12718 | STRLEN len; | |||
12719 | AV *av; | |||
12720 | SV *utf8; | |||
12721 | #line 12722 "APItest.c" | |||
12722 | AV * RETVAL; | |||
12723 | UV ord = (UV)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)) | |||
12724 | ; | |||
12725 | #line 6651 "APItest.xs" | |||
12726 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12727 | av_push(av, newSVuv(toUPPER_uni(ord, s, &len)))Perl_av_push( av,Perl_newSVuv( Perl_to_uni_upper( ord,s,& len))); | |||
12728 | ||||
12729 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12730 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12731 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12732 | ||||
12733 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12734 | RETVAL = av; | |||
12735 | #line 12736 "APItest.c" | |||
12736 | { | |||
12737 | SV * RETVALSV; | |||
12738 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12739 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12740 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12741 | } | |||
12742 | } | |||
12743 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12744 | } | |||
12745 | ||||
12746 | ||||
12747 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER_uvchr)static void XS_XS__APItest__Magic_test_toUPPER_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12748 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER_uvchr)static void XS_XS__APItest__Magic_test_toUPPER_uvchr( CV* cv __attribute__ ((unused))) | |||
12749 | { | |||
12750 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12751 | if (items != 1) | |||
12752 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12753 | { | |||
12754 | #line 6666 "APItest.xs" | |||
12755 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12756 | STRLEN len; | |||
12757 | AV *av; | |||
12758 | SV *utf8; | |||
12759 | #line 12760 "APItest.c" | |||
12760 | AV * RETVAL; | |||
12761 | UV ord = (UV)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)) | |||
12762 | ; | |||
12763 | #line 6671 "APItest.xs" | |||
12764 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12765 | av_push(av, newSVuv(toUPPER_uvchr(ord, s, &len)))Perl_av_push( av,Perl_newSVuv( Perl_to_uni_upper( ord,s,& len))); | |||
12766 | ||||
12767 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12768 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12769 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12770 | ||||
12771 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12772 | RETVAL = av; | |||
12773 | #line 12774 "APItest.c" | |||
12774 | { | |||
12775 | SV * RETVALSV; | |||
12776 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12777 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12778 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12779 | } | |||
12780 | } | |||
12781 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12782 | } | |||
12783 | ||||
12784 | ||||
12785 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER_utf8)static void XS_XS__APItest__Magic_test_toUPPER_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12786 | XS_EUPXS(XS_XS__APItest__Magic_test_toUPPER_utf8)static void XS_XS__APItest__Magic_test_toUPPER_utf8( CV* cv __attribute__ ((unused))) | |||
12787 | { | |||
12788 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12789 | if (items != 2) | |||
12790 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
12791 | { | |||
12792 | #line 6686 "APItest.xs" | |||
12793 | U8 *input; | |||
12794 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12795 | STRLEN len; | |||
12796 | AV *av; | |||
12797 | SV *utf8; | |||
12798 | const U8 * e; | |||
12799 | UV resultant_cp = UV_MAX(~(UV)0); | |||
12800 | #line 12801 "APItest.c" | |||
12801 | AV * RETVAL; | |||
12802 | SV * p = ST(0)PL_stack_base[ax + (0)] | |||
12803 | ; | |||
12804 | int type = (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)) | |||
12805 | ; | |||
12806 | #line 6694 "APItest.xs" | |||
12807 | input = (U8 *) SvPV(p, len)((((p)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (p)->sv_any)->xpv_cur), ((p)->sv_u .svu_pv)) : Perl_sv_2pv_flags( p,&len,2)); | |||
12808 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12809 | if (type >= 0) { | |||
12810 | e = input + UTF8SKIP(input)PL_utf8skip[*(const U8*)(input)] - type; | |||
12811 | resultant_cp = toUPPER_utf8_safe(input, e, s, &len)Perl__to_utf8_upper_flags( input,e,s,&len,0); | |||
12812 | av_push(av, newSVuv(resultant_cp))Perl_av_push( av,Perl_newSVuv( resultant_cp)); | |||
12813 | ||||
12814 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12815 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12816 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12817 | ||||
12818 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12819 | RETVAL = av; | |||
12820 | } | |||
12821 | else { | |||
12822 | RETVAL = 0; | |||
12823 | } | |||
12824 | #line 12825 "APItest.c" | |||
12825 | { | |||
12826 | SV * RETVALSV; | |||
12827 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12828 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12829 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12830 | } | |||
12831 | } | |||
12832 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12833 | } | |||
12834 | ||||
12835 | ||||
12836 | XS_EUPXS(XS_XS__APItest__Magic_test_toTITLE)static void XS_XS__APItest__Magic_test_toTITLE( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12837 | XS_EUPXS(XS_XS__APItest__Magic_test_toTITLE)static void XS_XS__APItest__Magic_test_toTITLE( CV* cv __attribute__ ((unused))) | |||
12838 | { | |||
12839 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12840 | if (items != 1) | |||
12841 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12842 | { | |||
12843 | UV RETVAL; | |||
12844 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
12845 | UV ord = (UV)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)) | |||
12846 | ; | |||
12847 | #line 6717 "APItest.xs" | |||
12848 | RETVAL = toTITLE(ord)(( ( (sizeof(ord) == sizeof(U8)) ? ( (((U64) (((((U8) (ord))) ) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0))))) : (sizeof(ord) == sizeof(U32)) ? ( (((U64) (((((U32) (ord))) ) - ((('a')) | 0))) <= (((U64) (((('z') - ('a'))) | 0))))) : ( ( (((U64) (((((U64) (ord)))) - ((('a')) | 0))) <= ((( U64) (((('z') - ('a'))) | 0)))))))) ? (U8)((ord) - ('a' - 'A' )) : (ord)); | |||
12849 | #line 12850 "APItest.c" | |||
12850 | 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); | |||
12851 | } | |||
12852 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12853 | } | |||
12854 | ||||
12855 | ||||
12856 | XS_EUPXS(XS_XS__APItest__Magic_test_toTITLE_uni)static void XS_XS__APItest__Magic_test_toTITLE_uni( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12857 | XS_EUPXS(XS_XS__APItest__Magic_test_toTITLE_uni)static void XS_XS__APItest__Magic_test_toTITLE_uni( CV* cv __attribute__ ((unused))) | |||
12858 | { | |||
12859 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12860 | if (items != 1) | |||
12861 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12862 | { | |||
12863 | #line 6724 "APItest.xs" | |||
12864 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12865 | STRLEN len; | |||
12866 | AV *av; | |||
12867 | SV *utf8; | |||
12868 | #line 12869 "APItest.c" | |||
12869 | AV * RETVAL; | |||
12870 | UV ord = (UV)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)) | |||
12871 | ; | |||
12872 | #line 6729 "APItest.xs" | |||
12873 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12874 | av_push(av, newSVuv(toTITLE_uni(ord, s, &len)))Perl_av_push( av,Perl_newSVuv( Perl_to_uni_title( ord,s,& len))); | |||
12875 | ||||
12876 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12877 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12878 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12879 | ||||
12880 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12881 | RETVAL = av; | |||
12882 | #line 12883 "APItest.c" | |||
12883 | { | |||
12884 | SV * RETVALSV; | |||
12885 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12886 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12887 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12888 | } | |||
12889 | } | |||
12890 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12891 | } | |||
12892 | ||||
12893 | ||||
12894 | XS_EUPXS(XS_XS__APItest__Magic_test_toTITLE_uvchr)static void XS_XS__APItest__Magic_test_toTITLE_uvchr( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12895 | XS_EUPXS(XS_XS__APItest__Magic_test_toTITLE_uvchr)static void XS_XS__APItest__Magic_test_toTITLE_uvchr( CV* cv __attribute__ ((unused))) | |||
12896 | { | |||
12897 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12898 | if (items != 1) | |||
12899 | croak_xs_usagePerl_croak_xs_usage(cv, "ord"); | |||
12900 | { | |||
12901 | #line 6744 "APItest.xs" | |||
12902 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12903 | STRLEN len; | |||
12904 | AV *av; | |||
12905 | SV *utf8; | |||
12906 | #line 12907 "APItest.c" | |||
12907 | AV * RETVAL; | |||
12908 | UV ord = (UV)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)) | |||
12909 | ; | |||
12910 | #line 6749 "APItest.xs" | |||
12911 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12912 | av_push(av, newSVuv(toTITLE_uvchr(ord, s, &len)))Perl_av_push( av,Perl_newSVuv( Perl_to_uni_title( ord,s,& len))); | |||
12913 | ||||
12914 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12915 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12916 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12917 | ||||
12918 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12919 | RETVAL = av; | |||
12920 | #line 12921 "APItest.c" | |||
12921 | { | |||
12922 | SV * RETVALSV; | |||
12923 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12924 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12925 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12926 | } | |||
12927 | } | |||
12928 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12929 | } | |||
12930 | ||||
12931 | ||||
12932 | XS_EUPXS(XS_XS__APItest__Magic_test_toTITLE_utf8)static void XS_XS__APItest__Magic_test_toTITLE_utf8( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12933 | XS_EUPXS(XS_XS__APItest__Magic_test_toTITLE_utf8)static void XS_XS__APItest__Magic_test_toTITLE_utf8( CV* cv __attribute__ ((unused))) | |||
12934 | { | |||
12935 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12936 | if (items != 2) | |||
12937 | croak_xs_usagePerl_croak_xs_usage(cv, "p, type"); | |||
12938 | { | |||
12939 | #line 6764 "APItest.xs" | |||
12940 | U8 *input; | |||
12941 | U8 s[UTF8_MAXBYTES_CASE(((13)>(3 * ((((U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV) (0x10FFFF) < (16 * (1U << (2 * 6) )) ? 3 : (UV) (0x10FFFF) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF ) < ((UV) 1U << (6 * 6)) ? 7 : 13))))?(13):(3 * (((( U64)(0x10FFFF)) < (((U8) (0xFF << 6)) & 0xB0)) ? 1 : ((UV) (0x10FFFF) < (32 * (1U << ( 6))) ? 2 : (UV ) (0x10FFFF) < (16 * (1U << (2 * 6))) ? 3 : (UV) (0x10FFFF ) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (0x10FFFF) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (0x10FFFF) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (0x10FFFF) < ((UV) 1U << (6 * 6)) ? 7 : 13)))) + 1]; | |||
12942 | STRLEN len; | |||
12943 | AV *av; | |||
12944 | SV *utf8; | |||
12945 | const U8 * e; | |||
12946 | UV resultant_cp = UV_MAX(~(UV)0); | |||
12947 | #line 12948 "APItest.c" | |||
12948 | AV * RETVAL; | |||
12949 | SV * p = ST(0)PL_stack_base[ax + (0)] | |||
12950 | ; | |||
12951 | int type = (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)) | |||
12952 | ; | |||
12953 | #line 6772 "APItest.xs" | |||
12954 | input = (U8 *) SvPV(p, len)((((p)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (p)->sv_any)->xpv_cur), ((p)->sv_u .svu_pv)) : Perl_sv_2pv_flags( p,&len,2)); | |||
12955 | av = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
12956 | if (type >= 0) { | |||
12957 | e = input + UTF8SKIP(input)PL_utf8skip[*(const U8*)(input)] - type; | |||
12958 | resultant_cp = toTITLE_utf8_safe(input, e, s, &len)Perl__to_utf8_title_flags( input,e,s,&len,0); | |||
12959 | av_push(av, newSVuv(resultant_cp))Perl_av_push( av,Perl_newSVuv( resultant_cp)); | |||
12960 | ||||
12961 | utf8 = newSVpvn((char *) s, len)Perl_newSVpvn( (char *) s,len); | |||
12962 | SvUTF8_on(utf8)((utf8)->sv_flags |= (0x20000000)); | |||
12963 | av_push(av, utf8)Perl_av_push( av,utf8); | |||
12964 | ||||
12965 | av_push(av, newSVuv(len))Perl_av_push( av,Perl_newSVuv( len)); | |||
12966 | RETVAL = av; | |||
12967 | } | |||
12968 | else { | |||
12969 | RETVAL = 0; | |||
12970 | } | |||
12971 | #line 12972 "APItest.c" | |||
12972 | { | |||
12973 | SV * RETVALSV; | |||
12974 | RETVALSV = newRV((SV*)RETVAL)Perl_newRV( (SV*)RETVAL); | |||
12975 | RETVALSV = sv_2mortal(RETVALSV)Perl_sv_2mortal( RETVALSV); | |||
12976 | ST(0)PL_stack_base[ax + (0)] = RETVALSV; | |||
12977 | } | |||
12978 | } | |||
12979 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
12980 | } | |||
12981 | ||||
12982 | ||||
12983 | XS_EUPXS(XS_XS__APItest__Magic_test_Gconvert)static void XS_XS__APItest__Magic_test_Gconvert( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
12984 | XS_EUPXS(XS_XS__APItest__Magic_test_Gconvert)static void XS_XS__APItest__Magic_test_Gconvert( CV* cv __attribute__ ((unused))) | |||
12985 | { | |||
12986 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
12987 | if (items != 2) | |||
12988 | croak_xs_usagePerl_croak_xs_usage(cv, "number, num_digits"); | |||
12989 | { | |||
12990 | #line 6795 "APItest.xs" | |||
12991 | char buffer[100]; | |||
12992 | int len; | |||
12993 | #line 12994 "APItest.c" | |||
12994 | SV * RETVAL; | |||
12995 | SV * number = ST(0)PL_stack_base[ax + (0)] | |||
12996 | ; | |||
12997 | SV * num_digits = ST(1)PL_stack_base[ax + (1)] | |||
12998 | ; | |||
12999 | #line 6798 "APItest.xs" | |||
13000 | len = (int) SvIV(num_digits)((((num_digits)->sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? ((XPVIV*) (num_digits)->sv_any)->xiv_u.xivu_iv : Perl_sv_2iv_flags( num_digits,2)); | |||
13001 | if (len > 99) croakPerl_croak("Too long a number for test_Gconvert"); | |||
13002 | if (len < 0) croakPerl_croak("Too short a number for test_Gconvert"); | |||
13003 | PERL_UNUSED_RESULT(Gconvert(SvNV(number), len,do { __typeof__(gcvt((((((number)->sv_flags & (0x00000200 |0x00200000)) == 0x00000200) ? ((XPVNV*) (number)->sv_any) ->xnv_u.xnv_nv : Perl_sv_2nv_flags( number,2))),(len),(buffer ))) z = (gcvt((((((number)->sv_flags & (0x00000200|0x00200000 )) == 0x00000200) ? ((XPVNV*) (number)->sv_any)->xnv_u. xnv_nv : Perl_sv_2nv_flags( number,2))),(len),(buffer))); (void )sizeof(z); } while (0) | |||
13004 | 0, /* No trailing zeroes */do { __typeof__(gcvt((((((number)->sv_flags & (0x00000200 |0x00200000)) == 0x00000200) ? ((XPVNV*) (number)->sv_any) ->xnv_u.xnv_nv : Perl_sv_2nv_flags( number,2))),(len),(buffer ))) z = (gcvt((((((number)->sv_flags & (0x00000200|0x00200000 )) == 0x00000200) ? ((XPVNV*) (number)->sv_any)->xnv_u. xnv_nv : Perl_sv_2nv_flags( number,2))),(len),(buffer))); (void )sizeof(z); } while (0) | |||
13005 | buffer))do { __typeof__(gcvt((((((number)->sv_flags & (0x00000200 |0x00200000)) == 0x00000200) ? ((XPVNV*) (number)->sv_any) ->xnv_u.xnv_nv : Perl_sv_2nv_flags( number,2))),(len),(buffer ))) z = (gcvt((((((number)->sv_flags & (0x00000200|0x00200000 )) == 0x00000200) ? ((XPVNV*) (number)->sv_any)->xnv_u. xnv_nv : Perl_sv_2nv_flags( number,2))),(len),(buffer))); (void )sizeof(z); } while (0); | |||
13006 | RETVAL = newSVpv(buffer, 0)Perl_newSVpv( buffer,0); | |||
13007 | #line 13008 "APItest.c" | |||
13008 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
13009 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
13010 | } | |||
13011 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13012 | } | |||
13013 | ||||
13014 | ||||
13015 | XS_EUPXS(XS_XS__APItest__Magic_test_Perl_langinfo)static void XS_XS__APItest__Magic_test_Perl_langinfo( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13016 | XS_EUPXS(XS_XS__APItest__Magic_test_Perl_langinfo)static void XS_XS__APItest__Magic_test_Perl_langinfo( CV* cv __attribute__ ((unused))) | |||
13017 | { | |||
13018 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13019 | if (items != 1) | |||
13020 | croak_xs_usagePerl_croak_xs_usage(cv, "item"); | |||
13021 | { | |||
13022 | SV * RETVAL; | |||
13023 | SV * item = ST(0)PL_stack_base[ax + (0)] | |||
13024 | ; | |||
13025 | #line 6811 "APItest.xs" | |||
13026 | RETVAL = newSVpv(Perl_langinfo(SvIV(item)), 0)Perl_newSVpv( Perl_langinfo(((((item)->sv_flags & (0x00000100 |0x00200000)) == 0x00000100) ? ((XPVIV*) (item)->sv_any)-> xiv_u.xivu_iv : Perl_sv_2iv_flags( item,2))),0); | |||
13027 | #line 13028 "APItest.c" | |||
13028 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
13029 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
13030 | } | |||
13031 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13032 | } | |||
13033 | ||||
13034 | ||||
13035 | XS_EUPXS(XS_XS__APItest__Backrefs_apitest_weaken)static void XS_XS__APItest__Backrefs_apitest_weaken( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13036 | XS_EUPXS(XS_XS__APItest__Backrefs_apitest_weaken)static void XS_XS__APItest__Backrefs_apitest_weaken( CV* cv __attribute__ ((unused))) | |||
13037 | { | |||
13038 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13039 | if (items != 1) | |||
13040 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
13041 | { | |||
13042 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
13043 | ; | |||
13044 | #line 6821 "APItest.xs" | |||
13045 | sv_rvweaken(sv)Perl_sv_rvweaken( sv); | |||
13046 | #line 13047 "APItest.c" | |||
13047 | } | |||
13048 | XSRETURN_EMPTYdo { do { const IV tmpXSoff = (0); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); } while (0); | |||
13049 | } | |||
13050 | ||||
13051 | ||||
13052 | XS_EUPXS(XS_XS__APItest__Backrefs_has_backrefs)static void XS_XS__APItest__Backrefs_has_backrefs( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13053 | XS_EUPXS(XS_XS__APItest__Backrefs_has_backrefs)static void XS_XS__APItest__Backrefs_has_backrefs( CV* cv __attribute__ ((unused))) | |||
13054 | { | |||
13055 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13056 | if (items != 1) | |||
13057 | croak_xs_usagePerl_croak_xs_usage(cv, "sv"); | |||
13058 | { | |||
13059 | SV * RETVAL; | |||
13060 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
13061 | ; | |||
13062 | #line 6826 "APItest.xs" | |||
13063 | if (SvROK(sv)((sv)->sv_flags & 0x00000800) && sv_get_backrefsPerl_sv_get_backrefs(SvRV(sv)((sv)->sv_u.svu_rv))) | |||
13064 | RETVAL = &PL_sv_yes(PL_sv_immortals[0]); | |||
13065 | else | |||
13066 | RETVAL = &PL_sv_no(PL_sv_immortals[2]); | |||
13067 | #line 13068 "APItest.c" | |||
13068 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
13069 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
13070 | } | |||
13071 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13072 | } | |||
13073 | ||||
13074 | #ifdef WIN32 | |||
13075 | #ifdef PERL_IMPLICIT_SYS | |||
13076 | #define XSubPPtmpAAAE 1 | |||
13077 | ||||
13078 | ||||
13079 | XS_EUPXS(XS_XS__APItest__Backrefs_PerlDir_mapA)static void XS_XS__APItest__Backrefs_PerlDir_mapA( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13080 | XS_EUPXS(XS_XS__APItest__Backrefs_PerlDir_mapA)static void XS_XS__APItest__Backrefs_PerlDir_mapA( CV* cv __attribute__ ((unused))) | |||
13081 | { | |||
13082 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13083 | if (items != 1) | |||
13084 | croak_xs_usagePerl_croak_xs_usage(cv, "path"); | |||
13085 | { | |||
13086 | const char * RETVAL; | |||
13087 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13088 | const char * path = (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)) | |||
13089 | ; | |||
13090 | ||||
13091 | RETVAL = PerlDir_mapA(path); | |||
13092 | 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); | |||
13093 | } | |||
13094 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13095 | } | |||
13096 | ||||
13097 | ||||
13098 | XS_EUPXS(XS_XS__APItest__Backrefs_PerlDir_mapW)static void XS_XS__APItest__Backrefs_PerlDir_mapW( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13099 | XS_EUPXS(XS_XS__APItest__Backrefs_PerlDir_mapW)static void XS_XS__APItest__Backrefs_PerlDir_mapW( CV* cv __attribute__ ((unused))) | |||
13100 | { | |||
13101 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13102 | if (items != 1) | |||
13103 | croak_xs_usagePerl_croak_xs_usage(cv, "wpath"); | |||
13104 | { | |||
13105 | const WCHAR * RETVAL; | |||
13106 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13107 | const WCHAR * wpath = (const WCHAR *)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)) | |||
13108 | ; | |||
13109 | ||||
13110 | RETVAL = PerlDir_mapW(wpath); | |||
13111 | XSprePUSH(sp = PL_stack_base + ax - 1); PUSHp((const char *)(RETVAL), sizeof(WCHAR) * (1+wcslen(RETVAL)))do { Perl_sv_setpvn( targ,((const char *)(RETVAL)),(sizeof(WCHAR ) * (1+wcslen(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); | |||
13112 | } | |||
13113 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13114 | } | |||
13115 | ||||
13116 | #endif | |||
13117 | #define XSubPPtmpAAAF 1 | |||
13118 | ||||
13119 | ||||
13120 | XS_EUPXS(XS_XS__APItest__Backrefs_Comctl32Version)static void XS_XS__APItest__Backrefs_Comctl32Version( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13121 | XS_EUPXS(XS_XS__APItest__Backrefs_Comctl32Version)static void XS_XS__APItest__Backrefs_Comctl32Version( CV* cv __attribute__ ((unused))) | |||
13122 | { | |||
13123 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13124 | if (items != 0) | |||
13125 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
13126 | PERL_UNUSED_VAR(ax)((void)sizeof(ax)); /* -Wall */ | |||
13127 | SPsp -= items; | |||
13128 | { | |||
13129 | #line 6847 "APItest.xs" | |||
13130 | HMODULE dll; | |||
13131 | VS_FIXEDFILEINFO *info; | |||
13132 | UINT len; | |||
13133 | HRSRC hrsc; | |||
13134 | HGLOBAL ver; | |||
13135 | void * vercopy; | |||
13136 | #line 13137 "APItest.c" | |||
13137 | #line 6854 "APItest.xs" | |||
13138 | dll = GetModuleHandle("comctl32.dll"); /* must already be in proc */ | |||
13139 | if(!dll) | |||
13140 | croakPerl_croak("Comctl32Version: comctl32.dll not in process???"); | |||
13141 | hrsc = FindResource(dll, MAKEINTRESOURCE(VS_VERSION_INFO), | |||
13142 | MAKEINTRESOURCE((Size_tsize_t)VS_FILE_INFO)); | |||
13143 | if(!hrsc) | |||
13144 | croakPerl_croak("Comctl32Version: comctl32.dll no version???"); | |||
13145 | ver = LoadResource(dll, hrsc); | |||
13146 | len = SizeofResource(dll, hrsc); | |||
13147 | vercopy = (void *)sv_grow(sv_newmortal(),len)Perl_sv_grow( Perl_sv_newmortal(),len); | |||
13148 | memcpy(vercopy, ver, len); | |||
13149 | if (VerQueryValue(vercopy, "\\", (void**)&info, &len)) { | |||
13150 | int dwValueMS1 = (info->dwFileVersionMS>>16); | |||
13151 | int dwValueMS2 = (info->dwFileVersionMS&0xffff); | |||
13152 | int dwValueLS1 = (info->dwFileVersionLS>>16); | |||
13153 | int dwValueLS2 = (info->dwFileVersionLS&0xffff); | |||
13154 | EXTEND(SP, 4)do { (void)0; if (__builtin_expect(((((4) < 0 || PL_stack_max - (sp) < (4))) ? (_Bool)1 : (_Bool)0),(0))) { sp = Perl_stack_grow ( sp,sp,(sizeof(4) > sizeof(ssize_t) && ((ssize_t) (4) != (4)) ? -1 : (4))); ((void)sizeof(sp)); } } while (0); | |||
13155 | mPUSHi(dwValueMS1)Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)(dwValueMS1 )); | |||
13156 | mPUSHi(dwValueMS2)Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)(dwValueMS2 )); | |||
13157 | mPUSHi(dwValueLS1)Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)(dwValueLS1 )); | |||
13158 | mPUSHi(dwValueLS2)Perl_sv_setiv( (*++sp = (Perl_sv_newmortal())),(IV)(dwValueLS2 )); | |||
13159 | } | |||
13160 | #line 13161 "APItest.c" | |||
13161 | PUTBACKPL_stack_sp = sp; | |||
13162 | return; | |||
13163 | } | |||
13164 | } | |||
13165 | ||||
13166 | #endif | |||
13167 | ||||
13168 | XS_EUPXS(XS_XS__APItest__HvMacro_u8_to_u16_le)static void XS_XS__APItest__HvMacro_u8_to_u16_le( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13169 | XS_EUPXS(XS_XS__APItest__HvMacro_u8_to_u16_le)static void XS_XS__APItest__HvMacro_u8_to_u16_le( CV* cv __attribute__ ((unused))) | |||
13170 | { | |||
13171 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13172 | dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_start_u.xcv_xsubany.any_i32; | |||
13173 | if (items != 2) | |||
13174 | croak_xs_usagePerl_croak_xs_usage(cv, "sv, ofs"); | |||
13175 | { | |||
13176 | UV RETVAL; | |||
13177 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13178 | SV * sv = ST(0)PL_stack_base[ax + (0)] | |||
13179 | ; | |||
13180 | STRLEN ofs = (STRLEN)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
13181 | ; | |||
13182 | #line 6889 "APItest.xs" | |||
13183 | { | |||
13184 | STRLEN len; | |||
13185 | char *pv= SvPV(sv,len)((((sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = ((XPV*) (sv)->sv_any)->xpv_cur), ((sv)-> sv_u.svu_pv)) : Perl_sv_2pv_flags( sv,&len,2)); | |||
13186 | STRLEN minlen= 2<<ix; | |||
13187 | U16 u16; | |||
13188 | U32 u32; | |||
13189 | U64 u64; | |||
13190 | RETVAL= 0; /* silence warnings about uninitialized RETVAL */ | |||
13191 | switch (ix) { | |||
13192 | case 0: | |||
13193 | if (ofs+minlen>len) croakPerl_croak("cowardly refusing to read past end of string in u8_to_u16_le"); | |||
13194 | u16= U8TO16_LE(pv+ofs)((((U16)(((U8*)((pv+ofs)))[(0)]))<<(0))| (((U16)(((U8*) ((pv+ofs)))[(1)]))<<(8))); | |||
13195 | RETVAL= (UV)u16; | |||
13196 | break; | |||
13197 | case 1: | |||
13198 | if (ofs+minlen>len) croakPerl_croak("cowardly refusing to read past end of string in u8_to_u32_le"); | |||
13199 | u32= U8TO32_LE(pv+ofs)((((U32)(((U8*)((pv+ofs)))[(0)]))<<(0))| (((U32)(((U8*) ((pv+ofs)))[(1)]))<<(8))| (((U32)(((U8*)((pv+ofs)))[(2) ]))<<(16))| (((U32)(((U8*)((pv+ofs)))[(3)]))<<(24 ))); | |||
13200 | RETVAL= (UV)u32; | |||
13201 | break; | |||
13202 | case 2: | |||
13203 | #if TEST_64BIT1 | |||
13204 | if (ofs+minlen>len) croakPerl_croak("cowardly refusing to read past end of string in u8_to_u64_le"); | |||
13205 | u64= U8TO64_LE(pv+ofs)((((U64)(((U8*)((pv+ofs)))[(0)]))<<(0))| (((U64)(((U8*) ((pv+ofs)))[(1)]))<<(8))| (((U64)(((U8*)((pv+ofs)))[(2) ]))<<(16))| (((U64)(((U8*)((pv+ofs)))[(3)]))<<(24 ))| (((U64)(((U8*)((pv+ofs)))[(4)]))<<(32))| (((U64)((( U8*)((pv+ofs)))[(5)]))<<(40))| (((U64)(((U8*)((pv+ofs)) )[(6)]))<<(48))| (((U64)(((U8*)((pv+ofs)))[(7)]))<< (56))); | |||
13206 | RETVAL= (UV)u64; | |||
13207 | #else | |||
13208 | croakPerl_croak("not a 64 bit perl IVSIZE=%d",IVSIZE8); | |||
13209 | #endif | |||
13210 | break; | |||
13211 | } | |||
13212 | } | |||
13213 | #line 13214 "APItest.c" | |||
13214 | 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); | |||
13215 | } | |||
13216 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13217 | } | |||
13218 | ||||
13219 | ||||
13220 | XS_EUPXS(XS_XS__APItest__HvMacro_rotl32)static void XS_XS__APItest__HvMacro_rotl32( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13221 | XS_EUPXS(XS_XS__APItest__HvMacro_rotl32)static void XS_XS__APItest__HvMacro_rotl32( CV* cv __attribute__ ((unused))) | |||
13222 | { | |||
13223 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13224 | if (items != 2) | |||
13225 | croak_xs_usagePerl_croak_xs_usage(cv, "n, r"); | |||
13226 | { | |||
13227 | U32 RETVAL; | |||
13228 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13229 | U32 n = (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)) | |||
13230 | ; | |||
13231 | U8 r = (U8)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
13232 | ; | |||
13233 | #line 6925 "APItest.xs" | |||
13234 | { | |||
13235 | RETVAL= ROTL32(n,r)(((U32)(n) << (r)) | ((U32)(n) >> (32 - (r)))); | |||
13236 | } | |||
13237 | #line 13238 "APItest.c" | |||
13238 | 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); | |||
13239 | } | |||
13240 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13241 | } | |||
13242 | ||||
13243 | ||||
13244 | XS_EUPXS(XS_XS__APItest__HvMacro_rotr32)static void XS_XS__APItest__HvMacro_rotr32( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13245 | XS_EUPXS(XS_XS__APItest__HvMacro_rotr32)static void XS_XS__APItest__HvMacro_rotr32( CV* cv __attribute__ ((unused))) | |||
13246 | { | |||
13247 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13248 | if (items != 2) | |||
13249 | croak_xs_usagePerl_croak_xs_usage(cv, "n, r"); | |||
13250 | { | |||
13251 | U32 RETVAL; | |||
13252 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13253 | U32 n = (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)) | |||
13254 | ; | |||
13255 | U8 r = (U8)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
13256 | ; | |||
13257 | #line 6934 "APItest.xs" | |||
13258 | { | |||
13259 | RETVAL= ROTR32(n,r)(((U32)(n) << (32 - (r))) | ((U32)(n) >> (r))); | |||
13260 | } | |||
13261 | #line 13262 "APItest.c" | |||
13262 | 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); | |||
13263 | } | |||
13264 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13265 | } | |||
13266 | ||||
13267 | #if TEST_64BIT1 | |||
13268 | #define XSubPPtmpAAAG1 1 | |||
13269 | ||||
13270 | ||||
13271 | XS_EUPXS(XS_XS__APItest__HvMacro_rotl64)static void XS_XS__APItest__HvMacro_rotl64( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13272 | XS_EUPXS(XS_XS__APItest__HvMacro_rotl64)static void XS_XS__APItest__HvMacro_rotl64( CV* cv __attribute__ ((unused))) | |||
13273 | { | |||
13274 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13275 | if (items != 2) | |||
13276 | croak_xs_usagePerl_croak_xs_usage(cv, "n, r"); | |||
13277 | { | |||
13278 | UV RETVAL; | |||
13279 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13280 | UV n = (UV)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)) | |||
13281 | ; | |||
13282 | U8 r = (U8)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
13283 | ; | |||
13284 | #line 6945 "APItest.xs" | |||
13285 | { | |||
13286 | RETVAL= ROTL64(n,r)( ( (U64)(n) << (r) ) | ( (U64)(n) >> ( 64 - (r) ) ) ); | |||
13287 | } | |||
13288 | #line 13289 "APItest.c" | |||
13289 | 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); | |||
13290 | } | |||
13291 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13292 | } | |||
13293 | ||||
13294 | ||||
13295 | XS_EUPXS(XS_XS__APItest__HvMacro_rotr64)static void XS_XS__APItest__HvMacro_rotr64( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13296 | XS_EUPXS(XS_XS__APItest__HvMacro_rotr64)static void XS_XS__APItest__HvMacro_rotr64( CV* cv __attribute__ ((unused))) | |||
13297 | { | |||
13298 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13299 | if (items != 2) | |||
13300 | croak_xs_usagePerl_croak_xs_usage(cv, "n, r"); | |||
13301 | { | |||
13302 | UV RETVAL; | |||
13303 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13304 | UV n = (UV)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)) | |||
13305 | ; | |||
13306 | U8 r = (U8)SvUV(ST(1))((((PL_stack_base[ax + (1)])->sv_flags & (0x00000100|0x80000000 |0x00200000)) == (0x00000100|0x80000000)) ? ((XPVUV*) (PL_stack_base [ax + (1)])->sv_any)->xuv_u.xivu_uv : Perl_sv_2uv_flags ( PL_stack_base[ax + (1)],2)) | |||
13307 | ; | |||
13308 | #line 6954 "APItest.xs" | |||
13309 | { | |||
13310 | RETVAL= ROTR64(n,r)( ( (U64)(n) << ( 64 - (r) ) ) | ( (U64)(n) >> (r ) ) ); | |||
13311 | } | |||
13312 | #line 13313 "APItest.c" | |||
13313 | 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); | |||
13314 | } | |||
13315 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13316 | } | |||
13317 | ||||
13318 | ||||
13319 | XS_EUPXS(XS_XS__APItest__HvMacro_siphash_seed_state)static void XS_XS__APItest__HvMacro_siphash_seed_state( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13320 | XS_EUPXS(XS_XS__APItest__HvMacro_siphash_seed_state)static void XS_XS__APItest__HvMacro_siphash_seed_state( CV* cv __attribute__((unused))) | |||
13321 | { | |||
13322 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13323 | if (items != 1) | |||
13324 | croak_xs_usagePerl_croak_xs_usage(cv, "seed_sv"); | |||
13325 | { | |||
13326 | SV * RETVAL; | |||
13327 | SV * seed_sv = ST(0)PL_stack_base[ax + (0)] | |||
13328 | ; | |||
13329 | #line 6963 "APItest.xs" | |||
13330 | { | |||
13331 | U8 state_buf[sizeof(U64)*4]; | |||
13332 | STRLEN seed_len; | |||
13333 | U8 *seed_pv= (U8*)SvPV(seed_sv,seed_len)((((seed_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((seed_len = ((XPV*) (seed_sv)->sv_any)->xpv_cur), ( (seed_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( seed_sv,& seed_len,2)); | |||
13334 | if (seed_len<16) croakPerl_croak("seed should be 16 bytes long"); | |||
13335 | else if (seed_len>16) warnPerl_warn("only using the first 16 bytes of seed"); | |||
13336 | RETVAL= newSV(sizeof(U64)*4+3)Perl_newSV( sizeof(U64)*4+3); | |||
13337 | S_perl_siphash_seed_state(seed_pv,state_buf); | |||
13338 | sv_setpvn(RETVAL,(char*)state_buf,sizeof(U64)*4)Perl_sv_setpvn( RETVAL,(char*)state_buf,sizeof(U64)*4); | |||
13339 | } | |||
13340 | #line 13341 "APItest.c" | |||
13341 | RETVAL = sv_2mortal(RETVAL)Perl_sv_2mortal( RETVAL); | |||
13342 | ST(0)PL_stack_base[ax + (0)] = RETVAL; | |||
13343 | } | |||
13344 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13345 | } | |||
13346 | ||||
13347 | ||||
13348 | XS_EUPXS(XS_XS__APItest__HvMacro_siphash24)static void XS_XS__APItest__HvMacro_siphash24( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13349 | XS_EUPXS(XS_XS__APItest__HvMacro_siphash24)static void XS_XS__APItest__HvMacro_siphash24( CV* cv __attribute__ ((unused))) | |||
13350 | { | |||
13351 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13352 | dXSI32I32 ix = ((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_start_u.xcv_xsubany.any_i32; | |||
13353 | if (items != 2) | |||
13354 | croak_xs_usagePerl_croak_xs_usage(cv, "state_sv, str_sv"); | |||
13355 | { | |||
13356 | UV RETVAL; | |||
13357 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13358 | SV * state_sv = ST(0)PL_stack_base[ax + (0)] | |||
13359 | ; | |||
13360 | SV * str_sv = ST(1)PL_stack_base[ax + (1)] | |||
13361 | ; | |||
13362 | #line 6982 "APItest.xs" | |||
13363 | { | |||
13364 | STRLEN state_len; | |||
13365 | STRLEN str_len; | |||
13366 | U8 *str_pv= (U8*)SvPV(str_sv,str_len)((((str_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((str_len = ((XPV*) (str_sv)->sv_any)->xpv_cur), (( str_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( str_sv,&str_len ,2)); | |||
13367 | /* (U8*)SvPV(state_sv, state_len) return differs between little-endian * | |||
13368 | * and big-endian. It's the same values, but in a different order. * | |||
13369 | * On big-endian architecture, we transpose the values into the same * | |||
13370 | * order as for little-endian, so that we can test against the same * | |||
13371 | * test vectors. * | |||
13372 | * We could alternatively alter the code that produced state_sv to * | |||
13373 | * output identical arrangements for big-endian and little-endian. */ | |||
13374 | #if BYTEORDER0x12345678 == 0x1234 || BYTEORDER0x12345678 == 0x12345678 | |||
13375 | U8 *state_pv= (U8*)SvPV(state_sv,state_len)((((state_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((state_len = ((XPV*) (state_sv)->sv_any)->xpv_cur) , ((state_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( state_sv ,&state_len,2)); | |||
13376 | if (state_len!=32) croakPerl_croak("siphash state should be exactly 32 bytes"); | |||
13377 | #else | |||
13378 | U8 *temp_pv = (U8*)SvPV(state_sv, state_len)((((state_sv)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((state_len = ((XPV*) (state_sv)->sv_any)->xpv_cur) , ((state_sv)->sv_u.svu_pv)) : Perl_sv_2pv_flags( state_sv ,&state_len,2)); | |||
13379 | U8 state_pv[32]; | |||
13380 | int i; | |||
13381 | if (state_len!=32) croakPerl_croak("siphash state should be exactly 32 bytes"); | |||
13382 | for( i = 0; i < 32; i++ ) { | |||
13383 | if (i < 8) state_pv[ 7 - i] = temp_pv[i]; | |||
13384 | else if(i < 16) state_pv[23 - i] = temp_pv[i]; | |||
13385 | else if(i < 24) state_pv[39 - i] = temp_pv[i]; | |||
13386 | else state_pv[55 - i] = temp_pv[i]; | |||
13387 | } | |||
13388 | #endif | |||
13389 | if (ix) { | |||
13390 | RETVAL= S_perl_hash_siphash_1_3_with_state_64(state_pv,str_pv,str_len); | |||
13391 | } else { | |||
13392 | RETVAL= S_perl_hash_siphash_2_4_with_state_64(state_pv,str_pv,str_len); | |||
13393 | } | |||
13394 | } | |||
13395 | #line 13396 "APItest.c" | |||
13396 | 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); | |||
13397 | } | |||
13398 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13399 | } | |||
13400 | ||||
13401 | ||||
13402 | XS_EUPXS(XS_XS__APItest__HvMacro_test_siphash24)static void XS_XS__APItest__HvMacro_test_siphash24( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13403 | XS_EUPXS(XS_XS__APItest__HvMacro_test_siphash24)static void XS_XS__APItest__HvMacro_test_siphash24( CV* cv __attribute__ ((unused))) | |||
13404 | { | |||
13405 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13406 | if (items != 0) | |||
13407 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
13408 | { | |||
13409 | UV RETVAL; | |||
13410 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13411 | #line 7021 "APItest.xs" | |||
13412 | { | |||
13413 | U8 vectors[64][8] = { | |||
13414 | { 0x31, 0x0e, 0x0e, 0xdd, 0x47, 0xdb, 0x6f, 0x72, }, | |||
13415 | { 0xfd, 0x67, 0xdc, 0x93, 0xc5, 0x39, 0xf8, 0x74, }, | |||
13416 | { 0x5a, 0x4f, 0xa9, 0xd9, 0x09, 0x80, 0x6c, 0x0d, }, | |||
13417 | { 0x2d, 0x7e, 0xfb, 0xd7, 0x96, 0x66, 0x67, 0x85, }, | |||
13418 | { 0xb7, 0x87, 0x71, 0x27, 0xe0, 0x94, 0x27, 0xcf, }, | |||
13419 | { 0x8d, 0xa6, 0x99, 0xcd, 0x64, 0x55, 0x76, 0x18, }, | |||
13420 | { 0xce, 0xe3, 0xfe, 0x58, 0x6e, 0x46, 0xc9, 0xcb, }, | |||
13421 | { 0x37, 0xd1, 0x01, 0x8b, 0xf5, 0x00, 0x02, 0xab, }, | |||
13422 | { 0x62, 0x24, 0x93, 0x9a, 0x79, 0xf5, 0xf5, 0x93, }, | |||
13423 | { 0xb0, 0xe4, 0xa9, 0x0b, 0xdf, 0x82, 0x00, 0x9e, }, | |||
13424 | { 0xf3, 0xb9, 0xdd, 0x94, 0xc5, 0xbb, 0x5d, 0x7a, }, | |||
13425 | { 0xa7, 0xad, 0x6b, 0x22, 0x46, 0x2f, 0xb3, 0xf4, }, | |||
13426 | { 0xfb, 0xe5, 0x0e, 0x86, 0xbc, 0x8f, 0x1e, 0x75, }, | |||
13427 | { 0x90, 0x3d, 0x84, 0xc0, 0x27, 0x56, 0xea, 0x14, }, | |||
13428 | { 0xee, 0xf2, 0x7a, 0x8e, 0x90, 0xca, 0x23, 0xf7, }, | |||
13429 | { 0xe5, 0x45, 0xbe, 0x49, 0x61, 0xca, 0x29, 0xa1, }, | |||
13430 | { 0xdb, 0x9b, 0xc2, 0x57, 0x7f, 0xcc, 0x2a, 0x3f, }, | |||
13431 | { 0x94, 0x47, 0xbe, 0x2c, 0xf5, 0xe9, 0x9a, 0x69, }, | |||
13432 | { 0x9c, 0xd3, 0x8d, 0x96, 0xf0, 0xb3, 0xc1, 0x4b, }, | |||
13433 | { 0xbd, 0x61, 0x79, 0xa7, 0x1d, 0xc9, 0x6d, 0xbb, }, | |||
13434 | { 0x98, 0xee, 0xa2, 0x1a, 0xf2, 0x5c, 0xd6, 0xbe, }, | |||
13435 | { 0xc7, 0x67, 0x3b, 0x2e, 0xb0, 0xcb, 0xf2, 0xd0, }, | |||
13436 | { 0x88, 0x3e, 0xa3, 0xe3, 0x95, 0x67, 0x53, 0x93, }, | |||
13437 | { 0xc8, 0xce, 0x5c, 0xcd, 0x8c, 0x03, 0x0c, 0xa8, }, | |||
13438 | { 0x94, 0xaf, 0x49, 0xf6, 0xc6, 0x50, 0xad, 0xb8, }, | |||
13439 | { 0xea, 0xb8, 0x85, 0x8a, 0xde, 0x92, 0xe1, 0xbc, }, | |||
13440 | { 0xf3, 0x15, 0xbb, 0x5b, 0xb8, 0x35, 0xd8, 0x17, }, | |||
13441 | { 0xad, 0xcf, 0x6b, 0x07, 0x63, 0x61, 0x2e, 0x2f, }, | |||
13442 | { 0xa5, 0xc9, 0x1d, 0xa7, 0xac, 0xaa, 0x4d, 0xde, }, | |||
13443 | { 0x71, 0x65, 0x95, 0x87, 0x66, 0x50, 0xa2, 0xa6, }, | |||
13444 | { 0x28, 0xef, 0x49, 0x5c, 0x53, 0xa3, 0x87, 0xad, }, | |||
13445 | { 0x42, 0xc3, 0x41, 0xd8, 0xfa, 0x92, 0xd8, 0x32, }, | |||
13446 | { 0xce, 0x7c, 0xf2, 0x72, 0x2f, 0x51, 0x27, 0x71, }, | |||
13447 | { 0xe3, 0x78, 0x59, 0xf9, 0x46, 0x23, 0xf3, 0xa7, }, | |||
13448 | { 0x38, 0x12, 0x05, 0xbb, 0x1a, 0xb0, 0xe0, 0x12, }, | |||
13449 | { 0xae, 0x97, 0xa1, 0x0f, 0xd4, 0x34, 0xe0, 0x15, }, | |||
13450 | { 0xb4, 0xa3, 0x15, 0x08, 0xbe, 0xff, 0x4d, 0x31, }, | |||
13451 | { 0x81, 0x39, 0x62, 0x29, 0xf0, 0x90, 0x79, 0x02, }, | |||
13452 | { 0x4d, 0x0c, 0xf4, 0x9e, 0xe5, 0xd4, 0xdc, 0xca, }, | |||
13453 | { 0x5c, 0x73, 0x33, 0x6a, 0x76, 0xd8, 0xbf, 0x9a, }, | |||
13454 | { 0xd0, 0xa7, 0x04, 0x53, 0x6b, 0xa9, 0x3e, 0x0e, }, | |||
13455 | { 0x92, 0x59, 0x58, 0xfc, 0xd6, 0x42, 0x0c, 0xad, }, | |||
13456 | { 0xa9, 0x15, 0xc2, 0x9b, 0xc8, 0x06, 0x73, 0x18, }, | |||
13457 | { 0x95, 0x2b, 0x79, 0xf3, 0xbc, 0x0a, 0xa6, 0xd4, }, | |||
13458 | { 0xf2, 0x1d, 0xf2, 0xe4, 0x1d, 0x45, 0x35, 0xf9, }, | |||
13459 | { 0x87, 0x57, 0x75, 0x19, 0x04, 0x8f, 0x53, 0xa9, }, | |||
13460 | { 0x10, 0xa5, 0x6c, 0xf5, 0xdf, 0xcd, 0x9a, 0xdb, }, | |||
13461 | { 0xeb, 0x75, 0x09, 0x5c, 0xcd, 0x98, 0x6c, 0xd0, }, | |||
13462 | { 0x51, 0xa9, 0xcb, 0x9e, 0xcb, 0xa3, 0x12, 0xe6, }, | |||
13463 | { 0x96, 0xaf, 0xad, 0xfc, 0x2c, 0xe6, 0x66, 0xc7, }, | |||
13464 | { 0x72, 0xfe, 0x52, 0x97, 0x5a, 0x43, 0x64, 0xee, }, | |||
13465 | { 0x5a, 0x16, 0x45, 0xb2, 0x76, 0xd5, 0x92, 0xa1, }, | |||
13466 | { 0xb2, 0x74, 0xcb, 0x8e, 0xbf, 0x87, 0x87, 0x0a, }, | |||
13467 | { 0x6f, 0x9b, 0xb4, 0x20, 0x3d, 0xe7, 0xb3, 0x81, }, | |||
13468 | { 0xea, 0xec, 0xb2, 0xa3, 0x0b, 0x22, 0xa8, 0x7f, }, | |||
13469 | { 0x99, 0x24, 0xa4, 0x3c, 0xc1, 0x31, 0x57, 0x24, }, | |||
13470 | { 0xbd, 0x83, 0x8d, 0x3a, 0xaf, 0xbf, 0x8d, 0xb7, }, | |||
13471 | { 0x0b, 0x1a, 0x2a, 0x32, 0x65, 0xd5, 0x1a, 0xea, }, | |||
13472 | { 0x13, 0x50, 0x79, 0xa3, 0x23, 0x1c, 0xe6, 0x60, }, | |||
13473 | { 0x93, 0x2b, 0x28, 0x46, 0xe4, 0xd7, 0x06, 0x66, }, | |||
13474 | { 0xe1, 0x91, 0x5f, 0x5c, 0xb1, 0xec, 0xa4, 0x6c, }, | |||
13475 | { 0xf3, 0x25, 0x96, 0x5c, 0xa1, 0x6d, 0x62, 0x9f, }, | |||
13476 | { 0x57, 0x5f, 0xf2, 0x8e, 0x60, 0x38, 0x1b, 0xe5, }, | |||
13477 | { 0x72, 0x45, 0x06, 0xeb, 0x4c, 0x32, 0x8a, 0x95, } | |||
13478 | }; | |||
13479 | U32 vectors_32[64] = { | |||
13480 | 0xaf61d576, | |||
13481 | 0xe7245e38, | |||
13482 | 0xd4c5cf53, | |||
13483 | 0x529c18bb, | |||
13484 | 0xe8561357, | |||
13485 | 0xd5eff3e9, | |||
13486 | 0x9337a5a0, | |||
13487 | 0x2003d1c2, | |||
13488 | 0x0966d11b, | |||
13489 | 0x95a9666f, | |||
13490 | 0xee800236, | |||
13491 | 0xd6d882e1, | |||
13492 | 0xf3106a47, | |||
13493 | 0xd46e6bb7, | |||
13494 | 0x7959387e, | |||
13495 | 0xe8978f84, | |||
13496 | 0x68e857a4, | |||
13497 | 0x4524ae61, | |||
13498 | 0xdd4c606c, | |||
13499 | 0x1c14a8a0, | |||
13500 | 0xa474b26a, | |||
13501 | 0xfec9ac77, | |||
13502 | 0x70f0591d, | |||
13503 | 0x6550cd44, | |||
13504 | 0x4ee4ff52, | |||
13505 | 0x36642a34, | |||
13506 | 0x4c63204b, | |||
13507 | 0x2845aece, | |||
13508 | 0x79506309, | |||
13509 | 0x21373517, | |||
13510 | 0xf1ce4c7b, | |||
13511 | 0xea9951b8, | |||
13512 | 0x03d52de1, | |||
13513 | 0x5eaa5ba5, | |||
13514 | 0xa9e5a222, | |||
13515 | 0x1a41a37a, | |||
13516 | 0x39585c0a, | |||
13517 | 0x2b1ba971, | |||
13518 | 0x5428d8a8, | |||
13519 | 0xf08cab2a, | |||
13520 | 0x5d3a0ebb, | |||
13521 | 0x51541b44, | |||
13522 | 0x83b11361, | |||
13523 | 0x27df2129, | |||
13524 | 0x1dc758ef, | |||
13525 | 0xb026d883, | |||
13526 | 0x2ef668cf, | |||
13527 | 0x8c65ed26, | |||
13528 | 0x78d90a9a, | |||
13529 | 0x3bcb49ba, | |||
13530 | 0x7936bd28, | |||
13531 | 0x13d7c32c, | |||
13532 | 0x844cf30d, | |||
13533 | 0xa1077c52, | |||
13534 | 0xdc1acee1, | |||
13535 | 0x18f31558, | |||
13536 | 0x8d003c12, | |||
13537 | 0xd830cf6e, | |||
13538 | 0xc39f4c30, | |||
13539 | 0x202efc77, | |||
13540 | 0x30fb7d50, | |||
13541 | 0xc3f44852, | |||
13542 | 0x6be96737, | |||
13543 | 0x7e8c773e | |||
13544 | }; | |||
13545 | ||||
13546 | const U8 MAXLEN= 64; | |||
13547 | U8 in[64], seed_pv[16], state_pv[32]; | |||
13548 | union { | |||
13549 | U64 hash; | |||
13550 | U32 h32[2]; | |||
13551 | U8 bytes[8]; | |||
13552 | } out; | |||
13553 | int i,j; | |||
13554 | int failed = 0; | |||
13555 | U32 hash32; | |||
13556 | /* S_perl_siphash_seed_state(seed_pv, state_pv) sets state_pv * | |||
13557 | * differently between little-endian and big-endian. It's the same * | |||
13558 | * values, but in a different order. * | |||
13559 | * On big-endian architecture, we transpose the values into the same * | |||
13560 | * order as for little-endian, so that we can test against the same * | |||
13561 | * test vectors. * | |||
13562 | * We could alternatively alter the code that produces state_pv to * | |||
13563 | * output identical arrangements for big-endian and little-endian. */ | |||
13564 | #if BYTEORDER0x12345678 == 0x1234 || BYTEORDER0x12345678 == 0x12345678 | |||
13565 | for( i = 0; i < 16; ++i ) seed_pv[i] = i; | |||
13566 | S_perl_siphash_seed_state(seed_pv, state_pv); | |||
13567 | #else | |||
13568 | U8 temp_pv[32]; | |||
13569 | for( i = 0; i < 16; ++i ) seed_pv[i] = i; | |||
13570 | S_perl_siphash_seed_state(seed_pv, temp_pv); | |||
13571 | for( i = 0; i < 32; ++i ) { | |||
13572 | if (i < 8) state_pv[ 7 - i] = temp_pv[i]; | |||
13573 | else if(i < 16) state_pv[23 - i] = temp_pv[i]; | |||
13574 | else if(i < 24) state_pv[39 - i] = temp_pv[i]; | |||
13575 | else state_pv[55 - i] = temp_pv[i]; | |||
13576 | } | |||
13577 | #endif | |||
13578 | for( i = 0; i < MAXLEN; ++i ) | |||
13579 | { | |||
13580 | in[i] = i; | |||
13581 | ||||
13582 | out.hash= S_perl_hash_siphash_2_4_with_state_64( state_pv, in, i ); | |||
13583 | ||||
13584 | hash32= S_perl_hash_siphash_2_4_with_state( state_pv, in, i); | |||
13585 | /* The test vectors need to reversed here for big-endian architecture * | |||
13586 | * Alternatively we could rewrite S_perl_hash_siphash_2_4_with_state_64 * | |||
13587 | * to produce reversed vectors when run on big-endian architecture */ | |||
13588 | #if BYTEORDER0x12345678 == 0x4321 || BYTEORDER0x12345678 == 0x87654321 /* reverse order of vectors[i] */ | |||
13589 | temp_pv [0] = vectors[i][0]; /* temp_pv is temporary holder of vectors[i][0] */ | |||
13590 | vectors[i][0] = vectors[i][7]; | |||
13591 | vectors[i][7] = temp_pv[0]; | |||
13592 | ||||
13593 | temp_pv [0] = vectors[i][1]; /* temp_pv is temporary holder of vectors[i][1] */ | |||
13594 | vectors[i][1] = vectors[i][6]; | |||
13595 | vectors[i][6] = temp_pv[0]; | |||
13596 | ||||
13597 | temp_pv [0] = vectors[i][2]; /* temp_pv is temporary holder of vectors[i][2] */ | |||
13598 | vectors[i][2] = vectors[i][5]; | |||
13599 | vectors[i][5] = temp_pv[0]; | |||
13600 | ||||
13601 | temp_pv [0] = vectors[i][3]; /* temp_pv is temporary holder of vectors[i][3] */ | |||
13602 | vectors[i][3] = vectors[i][4]; | |||
13603 | vectors[i][4] = temp_pv[0]; | |||
13604 | #endif | |||
13605 | if ( memcmp( out.bytes, vectors[i], 8 ) ) | |||
13606 | { | |||
13607 | failed++; | |||
13608 | printf( "Error in 64 bit result on test vector of length %d for siphash24\n have: {", i )PerlIO_stdoutf("Error in 64 bit result on test vector of length %d for siphash24\n have: {" , i); | |||
13609 | for (j=0;j<7;j++) | |||
13610 | printf( "0x%02x, ", out.bytes[j])PerlIO_stdoutf("0x%02x, ", out.bytes[j]); | |||
13611 | printf( "0x%02x },\n", out.bytes[7])PerlIO_stdoutf("0x%02x },\n", out.bytes[7]); | |||
13612 | printf( " want: {" )PerlIO_stdoutf(" want: {"); | |||
13613 | for (j=0;j<7;j++) | |||
13614 | printf( "0x%02x, ", vectors[i][j])PerlIO_stdoutf("0x%02x, ", vectors[i][j]); | |||
13615 | printf( "0x%02x },\n", vectors[i][7])PerlIO_stdoutf("0x%02x },\n", vectors[i][7]); | |||
13616 | } | |||
13617 | if (hash32 != vectors_32[i]) { | |||
13618 | failed++; | |||
13619 | printf( "Error in 32 bit result on test vector of length %d for siphash24\n"PerlIO_stdoutf("Error in 32 bit result on test vector of length %d for siphash24\n" " have: 0x%08x\n" " want: 0x%08x\n", i, hash32, vectors_32 [i]) | |||
13620 | " have: 0x%08x\n"PerlIO_stdoutf("Error in 32 bit result on test vector of length %d for siphash24\n" " have: 0x%08x\n" " want: 0x%08x\n", i, hash32, vectors_32 [i]) | |||
13621 | " want: 0x%08x\n",PerlIO_stdoutf("Error in 32 bit result on test vector of length %d for siphash24\n" " have: 0x%08x\n" " want: 0x%08x\n", i, hash32, vectors_32 [i]) | |||
13622 | i, hash32, vectors_32[i])PerlIO_stdoutf("Error in 32 bit result on test vector of length %d for siphash24\n" " have: 0x%08x\n" " want: 0x%08x\n", i, hash32, vectors_32 [i]); | |||
13623 | } | |||
13624 | } | |||
13625 | RETVAL= failed; | |||
13626 | } | |||
13627 | #line 13628 "APItest.c" | |||
13628 | 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); | |||
13629 | } | |||
13630 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13631 | } | |||
13632 | ||||
13633 | ||||
13634 | XS_EUPXS(XS_XS__APItest__HvMacro_test_siphash13)static void XS_XS__APItest__HvMacro_test_siphash13( CV* cv __attribute__ ((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13635 | XS_EUPXS(XS_XS__APItest__HvMacro_test_siphash13)static void XS_XS__APItest__HvMacro_test_siphash13( CV* cv __attribute__ ((unused))) | |||
13636 | { | |||
13637 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13638 | if (items != 0) | |||
13639 | croak_xs_usagePerl_croak_xs_usage(cv, ""); | |||
13640 | { | |||
13641 | UV RETVAL; | |||
13642 | dXSTARGSV * const targ = ((PL_op->op_private & 0x04) ? (PL_curpad [PL_op->op_targ]) : Perl_sv_newmortal()); | |||
13643 | #line 7242 "APItest.xs" | |||
13644 | { | |||
13645 | U8 vectors[64][8] = { | |||
13646 | {0xdc, 0xc4, 0x0f, 0x05, 0x58, 0x01, 0xac, 0xab }, | |||
13647 | {0x93, 0xca, 0x57, 0x7d, 0xf3, 0x9b, 0xf4, 0xc9 }, | |||
13648 | {0x4d, 0xd4, 0xc7, 0x4d, 0x02, 0x9b, 0xcb, 0x82 }, | |||
13649 | {0xfb, 0xf7, 0xdd, 0xe7, 0xb8, 0x0a, 0xf8, 0x8b }, | |||
13650 | {0x28, 0x83, 0xd3, 0x88, 0x60, 0x57, 0x75, 0xcf }, | |||
13651 | {0x67, 0x3b, 0x53, 0x49, 0x2f, 0xd5, 0xf9, 0xde }, | |||
13652 | {0xa7, 0x22, 0x9f, 0xc5, 0x50, 0x2b, 0x0d, 0xc5 }, | |||
13653 | {0x40, 0x11, 0xb1, 0x9b, 0x98, 0x7d, 0x92, 0xd3 }, | |||
13654 | {0x8e, 0x9a, 0x29, 0x8d, 0x11, 0x95, 0x90, 0x36 }, | |||
13655 | {0xe4, 0x3d, 0x06, 0x6c, 0xb3, 0x8e, 0xa4, 0x25 }, | |||
13656 | {0x7f, 0x09, 0xff, 0x92, 0xee, 0x85, 0xde, 0x79 }, | |||
13657 | {0x52, 0xc3, 0x4d, 0xf9, 0xc1, 0x18, 0xc1, 0x70 }, | |||
13658 | {0xa2, 0xd9, 0xb4, 0x57, 0xb1, 0x84, 0xa3, 0x78 }, | |||
13659 | {0xa7, 0xff, 0x29, 0x12, 0x0c, 0x76, 0x6f, 0x30 }, | |||
13660 | {0x34, 0x5d, 0xf9, 0xc0, 0x11, 0xa1, 0x5a, 0x60 }, | |||
13661 | {0x56, 0x99, 0x51, 0x2a, 0x6d, 0xd8, 0x20, 0xd3 }, | |||
13662 | {0x66, 0x8b, 0x90, 0x7d, 0x1a, 0xdd, 0x4f, 0xcc }, | |||
13663 | {0x0c, 0xd8, 0xdb, 0x63, 0x90, 0x68, 0xf2, 0x9c }, | |||
13664 | {0x3e, 0xe6, 0x73, 0xb4, 0x9c, 0x38, 0xfc, 0x8f }, | |||
13665 | {0x1c, 0x7d, 0x29, 0x8d, 0xe5, 0x9d, 0x1f, 0xf2 }, | |||
13666 | {0x40, 0xe0, 0xcc, 0xa6, 0x46, 0x2f, 0xdc, 0xc0 }, | |||
13667 | {0x44, 0xf8, 0x45, 0x2b, 0xfe, 0xab, 0x92, 0xb9 }, | |||
13668 | {0x2e, 0x87, 0x20, 0xa3, 0x9b, 0x7b, 0xfe, 0x7f }, | |||
13669 | {0x23, 0xc1, 0xe6, 0xda, 0x7f, 0x0e, 0x5a, 0x52 }, | |||
13670 | {0x8c, 0x9c, 0x34, 0x67, 0xb2, 0xae, 0x64, 0xf4 }, | |||
13671 | {0x79, 0x09, 0x5b, 0x70, 0x28, 0x59, 0xcd, 0x45 }, | |||
13672 | {0xa5, 0x13, 0x99, 0xca, 0xe3, 0x35, 0x3e, 0x3a }, | |||
13673 | {0x35, 0x3b, 0xde, 0x4a, 0x4e, 0xc7, 0x1d, 0xa9 }, | |||
13674 | {0x0d, 0xd0, 0x6c, 0xef, 0x02, 0xed, 0x0b, 0xfb }, | |||
13675 | {0xf4, 0xe1, 0xb1, 0x4a, 0xb4, 0x3c, 0xd9, 0x88 }, | |||
13676 | {0x63, 0xe6, 0xc5, 0x43, 0xd6, 0x11, 0x0f, 0x54 }, | |||
13677 | {0xbc, 0xd1, 0x21, 0x8c, 0x1f, 0xdd, 0x70, 0x23 }, | |||
13678 | {0x0d, 0xb6, 0xa7, 0x16, 0x6c, 0x7b, 0x15, 0x81 }, | |||
13679 | {0xbf, 0xf9, 0x8f, 0x7a, 0xe5, 0xb9, 0x54, 0x4d }, | |||
13680 | {0x3e, 0x75, 0x2a, 0x1f, 0x78, 0x12, 0x9f, 0x75 }, | |||
13681 | {0x91, 0x6b, 0x18, 0xbf, 0xbe, 0xa3, 0xa1, 0xce }, | |||
13682 | {0x06, 0x62, 0xa2, 0xad, 0xd3, 0x08, 0xf5, 0x2c }, | |||
13683 | {0x57, 0x30, 0xc3, 0xa3, 0x2d, 0x1c, 0x10, 0xb6 }, | |||
13684 | {0xa1, 0x36, 0x3a, 0xae, 0x96, 0x74, 0xf4, 0xb3 }, | |||
13685 | {0x92, 0x83, 0x10, 0x7b, 0x54, 0x57, 0x6b, 0x62 }, | |||
13686 | {0x31, 0x15, 0xe4, 0x99, 0x32, 0x36, 0xd2, 0xc1 }, | |||
13687 | {0x44, 0xd9, 0x1a, 0x3f, 0x92, 0xc1, 0x7c, 0x66 }, | |||
13688 | {0x25, 0x88, 0x13, 0xc8, 0xfe, 0x4f, 0x70, 0x65 }, | |||
13689 | {0xa6, 0x49, 0x89, 0xc2, 0xd1, 0x80, 0xf2, 0x24 }, | |||
13690 | {0x6b, 0x87, 0xf8, 0xfa, 0xed, 0x1c, 0xca, 0xc2 }, | |||
13691 | {0x96, 0x21, 0x04, 0x9f, 0xfc, 0x4b, 0x16, 0xc2 }, | |||
13692 | {0x23, 0xd6, 0xb1, 0x68, 0x93, 0x9c, 0x6e, 0xa1 }, | |||
13693 | {0xfd, 0x14, 0x51, 0x8b, 0x9c, 0x16, 0xfb, 0x49 }, | |||
13694 | {0x46, 0x4c, 0x07, 0xdf, 0xf8, 0x43, 0x31, 0x9f }, | |||
13695 | {0xb3, 0x86, 0xcc, 0x12, 0x24, 0xaf, 0xfd, 0xc6 }, | |||
13696 | {0x8f, 0x09, 0x52, 0x0a, 0xd1, 0x49, 0xaf, 0x7e }, | |||
13697 | {0x9a, 0x2f, 0x29, 0x9d, 0x55, 0x13, 0xf3, 0x1c }, | |||
13698 | {0x12, 0x1f, 0xf4, 0xa2, 0xdd, 0x30, 0x4a, 0xc4 }, | |||
13699 | {0xd0, 0x1e, 0xa7, 0x43, 0x89, 0xe9, 0xfa, 0x36 }, | |||
13700 | {0xe6, 0xbc, 0xf0, 0x73, 0x4c, 0xb3, 0x8f, 0x31 }, | |||
13701 | {0x80, 0xe9, 0xa7, 0x70, 0x36, 0xbf, 0x7a, 0xa2 }, | |||
13702 | {0x75, 0x6d, 0x3c, 0x24, 0xdb, 0xc0, 0xbc, 0xb4 }, | |||
13703 | {0x13, 0x15, 0xb7, 0xfd, 0x52, 0xd8, 0xf8, 0x23 }, | |||
13704 | {0x08, 0x8a, 0x7d, 0xa6, 0x4d, 0x5f, 0x03, 0x8f }, | |||
13705 | {0x48, 0xf1, 0xe8, 0xb7, 0xe5, 0xd0, 0x9c, 0xd8 }, | |||
13706 | {0xee, 0x44, 0xa6, 0xf7, 0xbc, 0xe6, 0xf4, 0xf6 }, | |||
13707 | {0xf2, 0x37, 0x18, 0x0f, 0xd8, 0x9a, 0xc5, 0xae }, | |||
13708 | {0xe0, 0x94, 0x66, 0x4b, 0x15, 0xf6, 0xb2, 0xc3 }, | |||
13709 | {0xa8, 0xb3, 0xbb, 0xb7, 0x62, 0x90, 0x19, 0x9d } | |||
13710 | }; | |||
13711 | U32 vectors_32[64] = { | |||
13712 | 0xaea3c584, | |||
13713 | 0xb4a35160, | |||
13714 | 0xcf0c4f4f, | |||
13715 | 0x6c25fd43, | |||
13716 | 0x47a6d448, | |||
13717 | 0x97aaee48, | |||
13718 | 0x009209f7, | |||
13719 | 0x48236cd8, | |||
13720 | 0xbbb90f9f, | |||
13721 | 0x49a2b357, | |||
13722 | 0xeb218c91, | |||
13723 | 0x898cdb93, | |||
13724 | 0x2f175d13, | |||
13725 | 0x224689ab, | |||
13726 | 0xa0a3fc25, | |||
13727 | 0xf971413b, | |||
13728 | 0xb1df567c, | |||
13729 | 0xff29b09c, | |||
13730 | 0x3b8fdea2, | |||
13731 | 0x7f36e0f9, | |||
13732 | 0x6610cf06, | |||
13733 | 0x92d753ba, | |||
13734 | 0xdcdefcb5, | |||
13735 | 0x88bccf5c, | |||
13736 | 0x9350323e, | |||
13737 | 0x35965051, | |||
13738 | 0xf0a72646, | |||
13739 | 0xe3c3fc7b, | |||
13740 | 0x14673d0f, | |||
13741 | 0xc268dd40, | |||
13742 | 0x17caf7b5, | |||
13743 | 0xaf510ca3, | |||
13744 | 0x97b2cd61, | |||
13745 | 0x37db405a, | |||
13746 | 0x6ab56746, | |||
13747 | 0x71b9c82f, | |||
13748 | 0x81576ad5, | |||
13749 | 0x15d32c7a, | |||
13750 | 0x1dce4237, | |||
13751 | 0x197bd4c6, | |||
13752 | 0x58362303, | |||
13753 | 0x596618d6, | |||
13754 | 0xad63c7db, | |||
13755 | 0xe67bc977, | |||
13756 | 0x38329b86, | |||
13757 | 0x5d126a6a, | |||
13758 | 0xc9df4ab0, | |||
13759 | 0xc2aa0261, | |||
13760 | 0x40360fbe, | |||
13761 | 0xd4312997, | |||
13762 | 0x74fd405e, | |||
13763 | 0x81da3ccf, | |||
13764 | 0x66be2fcf, | |||
13765 | 0x755df759, | |||
13766 | 0x427f0faa, | |||
13767 | 0xd2dd56b6, | |||
13768 | 0x9080adae, | |||
13769 | 0xde4fcd41, | |||
13770 | 0x297ed545, | |||
13771 | 0x6f7421ad, | |||
13772 | 0x0152a252, | |||
13773 | 0xa1ddad2a, | |||
13774 | 0x88d462f5, | |||
13775 | 0x2aa223ca, | |||
13776 | }; | |||
13777 | ||||
13778 | const U8 MAXLEN= 64; | |||
13779 | U8 in[64], seed_pv[16], state_pv[32]; | |||
13780 | union { | |||
13781 | U64 hash; | |||
13782 | U32 h32[2]; | |||
13783 | U8 bytes[8]; | |||
13784 | } out; | |||
13785 | int i,j; | |||
13786 | int failed = 0; | |||
13787 | U32 hash32; | |||
13788 | /* S_perl_siphash_seed_state(seed_pv, state_pv) sets state_pv * | |||
13789 | * differently between little-endian and big-endian. It's the same * | |||
13790 | * values, but in a different order. * | |||
13791 | * On big-endian architecture, we transpose the values into the same * | |||
13792 | * order as for little-endian, so that we can test against the same * | |||
13793 | * test vectors. * | |||
13794 | * We could alternatively alter the code that produces state_pv to * | |||
13795 | * output identical arrangements for big-endian and little-endian. */ | |||
13796 | #if BYTEORDER0x12345678 == 0x1234 || BYTEORDER0x12345678 == 0x12345678 | |||
13797 | for( i = 0; i < 16; ++i ) seed_pv[i] = i; | |||
13798 | S_perl_siphash_seed_state(seed_pv, state_pv); | |||
13799 | #else | |||
13800 | U8 temp_pv[32]; | |||
13801 | for( i = 0; i < 16; ++i ) seed_pv[i] = i; | |||
13802 | S_perl_siphash_seed_state(seed_pv, temp_pv); | |||
13803 | for( i = 0; i < 32; ++i ) { | |||
13804 | if (i < 8) state_pv[ 7 - i] = temp_pv[i]; | |||
13805 | else if(i < 16) state_pv[23 - i] = temp_pv[i]; | |||
13806 | else if(i < 24) state_pv[39 - i] = temp_pv[i]; | |||
13807 | else state_pv[55 - i] = temp_pv[i]; | |||
13808 | } | |||
13809 | #endif | |||
13810 | for( i = 0; i < MAXLEN; ++i ) | |||
13811 | { | |||
13812 | in[i] = i; | |||
13813 | ||||
13814 | out.hash= S_perl_hash_siphash_1_3_with_state_64( state_pv, in, i ); | |||
13815 | ||||
13816 | hash32= S_perl_hash_siphash_1_3_with_state( state_pv, in, i); | |||
13817 | /* The test vectors need to reversed here for big-endian architecture * | |||
13818 | * Alternatively we could rewrite S_perl_hash_siphash_1_3_with_state_64 * | |||
13819 | * to produce reversed vectors when run on big-endian architecture */ | |||
13820 | #if BYTEORDER0x12345678 == 0x4321 || BYTEORDER0x12345678 == 0x87654321 | |||
13821 | temp_pv [0] = vectors[i][0]; /* temp_pv is temporary holder of vectors[i][0] */ | |||
13822 | vectors[i][0] = vectors[i][7]; | |||
13823 | vectors[i][7] = temp_pv[0]; | |||
13824 | ||||
13825 | temp_pv [0] = vectors[i][1]; /* temp_pv is temporary holder of vectors[i][1] */ | |||
13826 | vectors[i][1] = vectors[i][6]; | |||
13827 | vectors[i][6] = temp_pv[0]; | |||
13828 | ||||
13829 | temp_pv [0] = vectors[i][2]; /* temp_pv is temporary holder of vectors[i][2] */ | |||
13830 | vectors[i][2] = vectors[i][5]; | |||
13831 | vectors[i][5] = temp_pv[0]; | |||
13832 | ||||
13833 | temp_pv [0] = vectors[i][3]; /* temp_pv is temporary holder of vectors[i][3] */ | |||
13834 | vectors[i][3] = vectors[i][4]; | |||
13835 | vectors[i][4] = temp_pv[0]; | |||
13836 | #endif | |||
13837 | if ( memcmp( out.bytes, vectors[i], 8 ) ) | |||
13838 | { | |||
13839 | failed++; | |||
13840 | printf( "Error in 64 bit result on test vector of length %d for siphash13\n have: {", i )PerlIO_stdoutf("Error in 64 bit result on test vector of length %d for siphash13\n have: {" , i); | |||
13841 | for (j=0;j<7;j++) | |||
13842 | printf( "0x%02x, ", out.bytes[j])PerlIO_stdoutf("0x%02x, ", out.bytes[j]); | |||
13843 | printf( "0x%02x },\n", out.bytes[7])PerlIO_stdoutf("0x%02x },\n", out.bytes[7]); | |||
13844 | printf( " want: {" )PerlIO_stdoutf(" want: {"); | |||
13845 | for (j=0;j<7;j++) | |||
13846 | printf( "0x%02x, ", vectors[i][j])PerlIO_stdoutf("0x%02x, ", vectors[i][j]); | |||
13847 | printf( "0x%02x },\n", vectors[i][7])PerlIO_stdoutf("0x%02x },\n", vectors[i][7]); | |||
13848 | } | |||
13849 | if (hash32 != vectors_32[i]) { | |||
13850 | failed++; | |||
13851 | printf( "Error in 32 bit result on test vector of length %d for siphash13\n"PerlIO_stdoutf("Error in 32 bit result on test vector of length %d for siphash13\n" " have: 0x%08x\n" " want: 0x%08x\n", i, hash32, vectors_32 [i]) | |||
13852 | " have: 0x%08x\n"PerlIO_stdoutf("Error in 32 bit result on test vector of length %d for siphash13\n" " have: 0x%08x\n" " want: 0x%08x\n", i, hash32, vectors_32 [i]) | |||
13853 | " want: 0x%08x\n",PerlIO_stdoutf("Error in 32 bit result on test vector of length %d for siphash13\n" " have: 0x%08x\n" " want: 0x%08x\n", i, hash32, vectors_32 [i]) | |||
13854 | i, hash32, vectors_32[i])PerlIO_stdoutf("Error in 32 bit result on test vector of length %d for siphash13\n" " have: 0x%08x\n" " want: 0x%08x\n", i, hash32, vectors_32 [i]); | |||
13855 | } | |||
13856 | } | |||
13857 | RETVAL= failed; | |||
13858 | } | |||
13859 | #line 13860 "APItest.c" | |||
13860 | 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); | |||
13861 | } | |||
13862 | XSRETURN(1)do { const IV tmpXSoff = (1); ((void)0); PL_stack_sp = PL_stack_base + ax + (tmpXSoff - 1); return; } while (0); | |||
13863 | } | |||
13864 | ||||
13865 | #endif | |||
13866 | #ifdef __cplusplus | |||
13867 | extern "C" | |||
13868 | #endif | |||
13869 | XS_EXTERNAL(boot_XS__APItest)void boot_XS__APItest( CV* cv __attribute__((unused))); /* prototype to pass -Wmissing-prototypes */ | |||
13870 | XS_EXTERNAL(boot_XS__APItest)void boot_XS__APItest( CV* cv __attribute__((unused))) | |||
13871 | { | |||
13872 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) | |||
13873 | dVARstruct Perl___notused_struct; dXSARGSSV **sp = PL_stack_sp; I32 ax = Perl_POPMARK(); SV **mark = PL_stack_base + ax++; I32 items = (I32)(sp - mark); | |||
13874 | #else | |||
13875 | dVARstruct Perl___notused_struct; dXSBOOTARGSXSAPIVERCHKI32 ax = Perl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter )) << 16) | ((sizeof("" "1.09" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "1.09" "")- 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, "APItest.c", "v" "5" "." "32" "." "0", "1.09"); SV **mark = PL_stack_base + ax; SV **sp = PL_stack_sp; I32 items = (I32 )(sp - mark); | |||
13876 | #endif | |||
13877 | #if (PERL_REVISION5 == 5 && PERL_VERSION32 < 9) | |||
13878 | char* file = __FILE__"APItest.c"; | |||
13879 | #else | |||
13880 | const char* file = __FILE__"APItest.c"; | |||
13881 | #endif | |||
13882 | ||||
13883 | PERL_UNUSED_VAR(file)((void)sizeof(file)); | |||
13884 | ||||
13885 | PERL_UNUSED_VAR(cv)((void)sizeof(cv)); /* -W */ | |||
13886 | PERL_UNUSED_VAR(items)((void)sizeof(items)); /* -W */ | |||
13887 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) | |||
13888 | XS_VERSION_BOOTCHECKPerl_xs_handshake((((sizeof(struct PerlHandShakeInterpreter)) << 16) | ((sizeof("" "1.09" "")-1) > 0xFF ? (Perl_croak ("panic: handshake overflow"), 0xFF) : (sizeof("" "1.09" "")- 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, "APItest.c", items , ax, "1.09"); | |||
13889 | # 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, "APItest.c", items, ax, "v" "5" "." "32" "." "0") | |||
13890 | 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, "APItest.c", items, ax, "v" "5" "." "32" "." "0"); | |||
13891 | # endif | |||
13892 | #endif | |||
13893 | ||||
13894 | newXS_deffile("XS::APItest::constant", XS_XS__APItest_constant)Perl_newXS_deffile( "XS::APItest::constant",XS_XS__APItest_constant ); | |||
13895 | newXS_deffile("XS::APItest::numeric::grok_number", XS_XS__APItest__numeric_grok_number)Perl_newXS_deffile( "XS::APItest::numeric::grok_number",XS_XS__APItest__numeric_grok_number ); | |||
13896 | newXS_deffile("XS::APItest::numeric::grok_number_flags", XS_XS__APItest__numeric_grok_number_flags)Perl_newXS_deffile( "XS::APItest::numeric::grok_number_flags" ,XS_XS__APItest__numeric_grok_number_flags); | |||
13897 | newXS_deffile("XS::APItest::numeric::grok_atoUV", XS_XS__APItest__numeric_grok_atoUV)Perl_newXS_deffile( "XS::APItest::numeric::grok_atoUV",XS_XS__APItest__numeric_grok_atoUV ); | |||
13898 | newXS_deffile("XS::APItest::numeric::assertx", XS_XS__APItest__numeric_assertx)Perl_newXS_deffile( "XS::APItest::numeric::assertx",XS_XS__APItest__numeric_assertx ); | |||
13899 | newXS_deffile("XS::APItest::utf8::bytes_cmp_utf8", XS_XS__APItest__utf8_bytes_cmp_utf8)Perl_newXS_deffile( "XS::APItest::utf8::bytes_cmp_utf8",XS_XS__APItest__utf8_bytes_cmp_utf8 ); | |||
13900 | newXS_deffile("XS::APItest::utf8::test_utf8_to_bytes", XS_XS__APItest__utf8_test_utf8_to_bytes)Perl_newXS_deffile( "XS::APItest::utf8::test_utf8_to_bytes",XS_XS__APItest__utf8_test_utf8_to_bytes ); | |||
13901 | newXS_deffile("XS::APItest::utf8::test_utf8n_to_uvchr_msgs", XS_XS__APItest__utf8_test_utf8n_to_uvchr_msgs)Perl_newXS_deffile( "XS::APItest::utf8::test_utf8n_to_uvchr_msgs" ,XS_XS__APItest__utf8_test_utf8n_to_uvchr_msgs); | |||
13902 | newXS_deffile("XS::APItest::utf8::test_utf8n_to_uvchr_error", XS_XS__APItest__utf8_test_utf8n_to_uvchr_error)Perl_newXS_deffile( "XS::APItest::utf8::test_utf8n_to_uvchr_error" ,XS_XS__APItest__utf8_test_utf8n_to_uvchr_error); | |||
13903 | newXS_deffile("XS::APItest::utf8::test_valid_utf8_to_uvchr", XS_XS__APItest__utf8_test_valid_utf8_to_uvchr)Perl_newXS_deffile( "XS::APItest::utf8::test_valid_utf8_to_uvchr" ,XS_XS__APItest__utf8_test_valid_utf8_to_uvchr); | |||
13904 | newXS_deffile("XS::APItest::utf8::test_uvchr_to_utf8_flags", XS_XS__APItest__utf8_test_uvchr_to_utf8_flags)Perl_newXS_deffile( "XS::APItest::utf8::test_uvchr_to_utf8_flags" ,XS_XS__APItest__utf8_test_uvchr_to_utf8_flags); | |||
13905 | newXS_deffile("XS::APItest::utf8::test_uvchr_to_utf8_flags_msgs", XS_XS__APItest__utf8_test_uvchr_to_utf8_flags_msgs)Perl_newXS_deffile( "XS::APItest::utf8::test_uvchr_to_utf8_flags_msgs" ,XS_XS__APItest__utf8_test_uvchr_to_utf8_flags_msgs); | |||
13906 | newXS_deffile("XS::APItest::Overload::amagic_deref_call", XS_XS__APItest__Overload_amagic_deref_call)Perl_newXS_deffile( "XS::APItest::Overload::amagic_deref_call" ,XS_XS__APItest__Overload_amagic_deref_call); | |||
13907 | newXS_deffile("XS::APItest::Overload::tryAMAGICunDEREF_var", XS_XS__APItest__Overload_tryAMAGICunDEREF_var)Perl_newXS_deffile( "XS::APItest::Overload::tryAMAGICunDEREF_var" ,XS_XS__APItest__Overload_tryAMAGICunDEREF_var); | |||
13908 | newXS_deffile("XS::APItest::XSUB::XS_VERSION_defined", XS_XS__APItest__XSUB_XS_VERSION_defined)Perl_newXS_deffile( "XS::APItest::XSUB::XS_VERSION_defined",XS_XS__APItest__XSUB_XS_VERSION_defined ); | |||
13909 | newXS_deffile("XS::APItest::XSUB::XS_APIVERSION_valid", XS_XS__APItest__XSUB_XS_APIVERSION_valid)Perl_newXS_deffile( "XS::APItest::XSUB::XS_APIVERSION_valid", XS_XS__APItest__XSUB_XS_APIVERSION_valid); | |||
13910 | newXS_deffile("XS::APItest::XSUB::xsreturn", XS_XS__APItest__XSUB_xsreturn)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn",XS_XS__APItest__XSUB_xsreturn ); | |||
13911 | newXS_deffile("XS::APItest::XSUB::xsreturn_iv", XS_XS__APItest__XSUB_xsreturn_iv)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_iv",XS_XS__APItest__XSUB_xsreturn_iv ); | |||
13912 | newXS_deffile("XS::APItest::XSUB::xsreturn_uv", XS_XS__APItest__XSUB_xsreturn_uv)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_uv",XS_XS__APItest__XSUB_xsreturn_uv ); | |||
13913 | newXS_deffile("XS::APItest::XSUB::xsreturn_nv", XS_XS__APItest__XSUB_xsreturn_nv)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_nv",XS_XS__APItest__XSUB_xsreturn_nv ); | |||
13914 | newXS_deffile("XS::APItest::XSUB::xsreturn_pv", XS_XS__APItest__XSUB_xsreturn_pv)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_pv",XS_XS__APItest__XSUB_xsreturn_pv ); | |||
13915 | newXS_deffile("XS::APItest::XSUB::xsreturn_pvn", XS_XS__APItest__XSUB_xsreturn_pvn)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_pvn",XS_XS__APItest__XSUB_xsreturn_pvn ); | |||
13916 | newXS_deffile("XS::APItest::XSUB::xsreturn_no", XS_XS__APItest__XSUB_xsreturn_no)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_no",XS_XS__APItest__XSUB_xsreturn_no ); | |||
13917 | newXS_deffile("XS::APItest::XSUB::xsreturn_yes", XS_XS__APItest__XSUB_xsreturn_yes)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_yes",XS_XS__APItest__XSUB_xsreturn_yes ); | |||
13918 | newXS_deffile("XS::APItest::XSUB::xsreturn_undef", XS_XS__APItest__XSUB_xsreturn_undef)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_undef",XS_XS__APItest__XSUB_xsreturn_undef ); | |||
13919 | newXS_deffile("XS::APItest::XSUB::xsreturn_empty", XS_XS__APItest__XSUB_xsreturn_empty)Perl_newXS_deffile( "XS::APItest::XSUB::xsreturn_empty",XS_XS__APItest__XSUB_xsreturn_empty ); | |||
13920 | newXS_deffile("XS::APItest::Hash::rot13_hash", XS_XS__APItest__Hash_rot13_hash)Perl_newXS_deffile( "XS::APItest::Hash::rot13_hash",XS_XS__APItest__Hash_rot13_hash ); | |||
13921 | newXS_deffile("XS::APItest::Hash::bitflip_hash", XS_XS__APItest__Hash_bitflip_hash)Perl_newXS_deffile( "XS::APItest::Hash::bitflip_hash",XS_XS__APItest__Hash_bitflip_hash ); | |||
13922 | newXS_deffile("XS::APItest::Hash::exists", XS_XS__APItest__Hash_exists)Perl_newXS_deffile( "XS::APItest::Hash::exists",XS_XS__APItest__Hash_exists ); | |||
13923 | newXS_deffile("XS::APItest::Hash::exists_ent", XS_XS__APItest__Hash_exists_ent)Perl_newXS_deffile( "XS::APItest::Hash::exists_ent",XS_XS__APItest__Hash_exists_ent ); | |||
13924 | newXS_deffile("XS::APItest::Hash::delete", XS_XS__APItest__Hash_delete)Perl_newXS_deffile( "XS::APItest::Hash::delete",XS_XS__APItest__Hash_delete ); | |||
13925 | newXS_deffile("XS::APItest::Hash::delete_ent", XS_XS__APItest__Hash_delete_ent)Perl_newXS_deffile( "XS::APItest::Hash::delete_ent",XS_XS__APItest__Hash_delete_ent ); | |||
13926 | newXS_deffile("XS::APItest::Hash::store_ent", XS_XS__APItest__Hash_store_ent)Perl_newXS_deffile( "XS::APItest::Hash::store_ent",XS_XS__APItest__Hash_store_ent ); | |||
13927 | newXS_deffile("XS::APItest::Hash::store", XS_XS__APItest__Hash_store)Perl_newXS_deffile( "XS::APItest::Hash::store",XS_XS__APItest__Hash_store ); | |||
13928 | newXS_deffile("XS::APItest::Hash::fetch_ent", XS_XS__APItest__Hash_fetch_ent)Perl_newXS_deffile( "XS::APItest::Hash::fetch_ent",XS_XS__APItest__Hash_fetch_ent ); | |||
13929 | newXS_deffile("XS::APItest::Hash::fetch", XS_XS__APItest__Hash_fetch)Perl_newXS_deffile( "XS::APItest::Hash::fetch",XS_XS__APItest__Hash_fetch ); | |||
13930 | #if XSubPPtmpAAAA1 | |||
13931 | newXS_deffile("XS::APItest::Hash::common", XS_XS__APItest__Hash_common)Perl_newXS_deffile( "XS::APItest::Hash::common",XS_XS__APItest__Hash_common ); | |||
13932 | #endif | |||
13933 | newXS_deffile("XS::APItest::Hash::test_hv_free_ent", XS_XS__APItest__Hash_test_hv_free_ent)Perl_newXS_deffile( "XS::APItest::Hash::test_hv_free_ent",XS_XS__APItest__Hash_test_hv_free_ent ); | |||
13934 | newXS_deffile("XS::APItest::Hash::test_hv_delayfree_ent", XS_XS__APItest__Hash_test_hv_delayfree_ent)Perl_newXS_deffile( "XS::APItest::Hash::test_hv_delayfree_ent" ,XS_XS__APItest__Hash_test_hv_delayfree_ent); | |||
13935 | newXS_deffile("XS::APItest::Hash::test_share_unshare_pvn", XS_XS__APItest__Hash_test_share_unshare_pvn)Perl_newXS_deffile( "XS::APItest::Hash::test_share_unshare_pvn" ,XS_XS__APItest__Hash_test_share_unshare_pvn); | |||
13936 | #if XSubPPtmpAAAB1 | |||
13937 | newXS_deffile("XS::APItest::Hash::refcounted_he_exists", XS_XS__APItest__Hash_refcounted_he_exists)Perl_newXS_deffile( "XS::APItest::Hash::refcounted_he_exists" ,XS_XS__APItest__Hash_refcounted_he_exists); | |||
13938 | newXS_deffile("XS::APItest::Hash::refcounted_he_fetch", XS_XS__APItest__Hash_refcounted_he_fetch)Perl_newXS_deffile( "XS::APItest::Hash::refcounted_he_fetch", XS_XS__APItest__Hash_refcounted_he_fetch); | |||
13939 | #endif | |||
13940 | newXS_deffile("XS::APItest::Hash::test_force_keys", XS_XS__APItest__Hash_test_force_keys)Perl_newXS_deffile( "XS::APItest::Hash::test_force_keys",XS_XS__APItest__Hash_test_force_keys ); | |||
13941 | newXS_deffile("XS::APItest::TempLv::make_temp_mg_lv", XS_XS__APItest__TempLv_make_temp_mg_lv)Perl_newXS_deffile( "XS::APItest::TempLv::make_temp_mg_lv",XS_XS__APItest__TempLv_make_temp_mg_lv ); | |||
13942 | newXS_deffile("XS::APItest::PtrTable::new", XS_XS__APItest__PtrTable_new)Perl_newXS_deffile( "XS::APItest::PtrTable::new",XS_XS__APItest__PtrTable_new ); | |||
13943 | newXS_deffile("XS::APItest::PtrTable::DESTROY", XS_XS__APItest__PtrTable_DESTROY)Perl_newXS_deffile( "XS::APItest::PtrTable::DESTROY",XS_XS__APItest__PtrTable_DESTROY ); | |||
13944 | newXS_deffile("XS::APItest::PtrTable::store", XS_XS__APItest__PtrTable_store)Perl_newXS_deffile( "XS::APItest::PtrTable::store",XS_XS__APItest__PtrTable_store ); | |||
13945 | newXS_deffile("XS::APItest::PtrTable::fetch", XS_XS__APItest__PtrTable_fetch)Perl_newXS_deffile( "XS::APItest::PtrTable::fetch",XS_XS__APItest__PtrTable_fetch ); | |||
13946 | newXS_deffile("XS::APItest::PtrTable::split", XS_XS__APItest__PtrTable_split)Perl_newXS_deffile( "XS::APItest::PtrTable::split",XS_XS__APItest__PtrTable_split ); | |||
13947 | newXS_deffile("XS::APItest::PtrTable::clear", XS_XS__APItest__PtrTable_clear)Perl_newXS_deffile( "XS::APItest::PtrTable::clear",XS_XS__APItest__PtrTable_clear ); | |||
13948 | newXS_deffile("XS::APItest::AutoLoader::AUTOLOAD", XS_XS__APItest__AutoLoader_AUTOLOAD)Perl_newXS_deffile( "XS::APItest::AutoLoader::AUTOLOAD",XS_XS__APItest__AutoLoader_AUTOLOAD ); | |||
13949 | (void)newXSproto_portable("XS::APItest::AutoLoader::AUTOLOADp", XS_XS__APItest__AutoLoader_AUTOLOADp, file, "*$")Perl_newXS_flags( "XS::APItest::AutoLoader::AUTOLOADp",XS_XS__APItest__AutoLoader_AUTOLOADp ,file,"*$",0); | |||
13950 | newXS_deffile("XS::APItest::xop_custom_ops", XS_XS__APItest_xop_custom_ops)Perl_newXS_deffile( "XS::APItest::xop_custom_ops",XS_XS__APItest_xop_custom_ops ); | |||
13951 | newXS_deffile("XS::APItest::xop_custom_op_names", XS_XS__APItest_xop_custom_op_names)Perl_newXS_deffile( "XS::APItest::xop_custom_op_names",XS_XS__APItest_xop_custom_op_names ); | |||
13952 | newXS_deffile("XS::APItest::xop_custom_op_descs", XS_XS__APItest_xop_custom_op_descs)Perl_newXS_deffile( "XS::APItest::xop_custom_op_descs",XS_XS__APItest_xop_custom_op_descs ); | |||
13953 | newXS_deffile("XS::APItest::xop_register", XS_XS__APItest_xop_register)Perl_newXS_deffile( "XS::APItest::xop_register",XS_XS__APItest_xop_register ); | |||
13954 | newXS_deffile("XS::APItest::xop_clear", XS_XS__APItest_xop_clear)Perl_newXS_deffile( "XS::APItest::xop_clear",XS_XS__APItest_xop_clear ); | |||
13955 | newXS_deffile("XS::APItest::xop_my_xop", XS_XS__APItest_xop_my_xop)Perl_newXS_deffile( "XS::APItest::xop_my_xop",XS_XS__APItest_xop_my_xop ); | |||
13956 | newXS_deffile("XS::APItest::xop_ppaddr", XS_XS__APItest_xop_ppaddr)Perl_newXS_deffile( "XS::APItest::xop_ppaddr",XS_XS__APItest_xop_ppaddr ); | |||
13957 | newXS_deffile("XS::APItest::xop_OA_UNOP", XS_XS__APItest_xop_OA_UNOP)Perl_newXS_deffile( "XS::APItest::xop_OA_UNOP",XS_XS__APItest_xop_OA_UNOP ); | |||
13958 | newXS_deffile("XS::APItest::xop_build_optree", XS_XS__APItest_xop_build_optree)Perl_newXS_deffile( "XS::APItest::xop_build_optree",XS_XS__APItest_xop_build_optree ); | |||
13959 | newXS_deffile("XS::APItest::xop_from_custom_op", XS_XS__APItest_xop_from_custom_op)Perl_newXS_deffile( "XS::APItest::xop_from_custom_op",XS_XS__APItest_xop_from_custom_op ); | |||
13960 | newXS_deffile("XS::APItest::CLONE", XS_XS__APItest_CLONE)Perl_newXS_deffile( "XS::APItest::CLONE",XS_XS__APItest_CLONE ); | |||
13961 | newXS_deffile("XS::APItest::print_double", XS_XS__APItest_print_double)Perl_newXS_deffile( "XS::APItest::print_double",XS_XS__APItest_print_double ); | |||
13962 | newXS_deffile("XS::APItest::have_long_double", XS_XS__APItest_have_long_double)Perl_newXS_deffile( "XS::APItest::have_long_double",XS_XS__APItest_have_long_double ); | |||
13963 | newXS_deffile("XS::APItest::print_long_double", XS_XS__APItest_print_long_double)Perl_newXS_deffile( "XS::APItest::print_long_double",XS_XS__APItest_print_long_double ); | |||
13964 | newXS_deffile("XS::APItest::print_int", XS_XS__APItest_print_int)Perl_newXS_deffile( "XS::APItest::print_int",XS_XS__APItest_print_int ); | |||
13965 | newXS_deffile("XS::APItest::print_long", XS_XS__APItest_print_long)Perl_newXS_deffile( "XS::APItest::print_long",XS_XS__APItest_print_long ); | |||
13966 | newXS_deffile("XS::APItest::print_float", XS_XS__APItest_print_float)Perl_newXS_deffile( "XS::APItest::print_float",XS_XS__APItest_print_float ); | |||
13967 | newXS_deffile("XS::APItest::print_flush", XS_XS__APItest_print_flush)Perl_newXS_deffile( "XS::APItest::print_flush",XS_XS__APItest_print_flush ); | |||
13968 | newXS_deffile("XS::APItest::mpushp", XS_XS__APItest_mpushp)Perl_newXS_deffile( "XS::APItest::mpushp",XS_XS__APItest_mpushp ); | |||
13969 | newXS_deffile("XS::APItest::mpushn", XS_XS__APItest_mpushn)Perl_newXS_deffile( "XS::APItest::mpushn",XS_XS__APItest_mpushn ); | |||
13970 | newXS_deffile("XS::APItest::mpushi", XS_XS__APItest_mpushi)Perl_newXS_deffile( "XS::APItest::mpushi",XS_XS__APItest_mpushi ); | |||
13971 | newXS_deffile("XS::APItest::mpushu", XS_XS__APItest_mpushu)Perl_newXS_deffile( "XS::APItest::mpushu",XS_XS__APItest_mpushu ); | |||
13972 | newXS_deffile("XS::APItest::mxpushp", XS_XS__APItest_mxpushp)Perl_newXS_deffile( "XS::APItest::mxpushp",XS_XS__APItest_mxpushp ); | |||
13973 | newXS_deffile("XS::APItest::mxpushn", XS_XS__APItest_mxpushn)Perl_newXS_deffile( "XS::APItest::mxpushn",XS_XS__APItest_mxpushn ); | |||
13974 | newXS_deffile("XS::APItest::mxpushi", XS_XS__APItest_mxpushi)Perl_newXS_deffile( "XS::APItest::mxpushi",XS_XS__APItest_mxpushi ); | |||
13975 | newXS_deffile("XS::APItest::mxpushu", XS_XS__APItest_mxpushu)Perl_newXS_deffile( "XS::APItest::mxpushu",XS_XS__APItest_mxpushu ); | |||
13976 | newXS_deffile("XS::APItest::test_EXTEND", XS_XS__APItest_test_EXTEND)Perl_newXS_deffile( "XS::APItest::test_EXTEND",XS_XS__APItest_test_EXTEND ); | |||
13977 | newXS_deffile("XS::APItest::call_sv_C", XS_XS__APItest_call_sv_C)Perl_newXS_deffile( "XS::APItest::call_sv_C",XS_XS__APItest_call_sv_C ); | |||
13978 | newXS_deffile("XS::APItest::call_sv", XS_XS__APItest_call_sv)Perl_newXS_deffile( "XS::APItest::call_sv",XS_XS__APItest_call_sv ); | |||
13979 | newXS_deffile("XS::APItest::call_pv", XS_XS__APItest_call_pv)Perl_newXS_deffile( "XS::APItest::call_pv",XS_XS__APItest_call_pv ); | |||
13980 | newXS_deffile("XS::APItest::call_argv", XS_XS__APItest_call_argv)Perl_newXS_deffile( "XS::APItest::call_argv",XS_XS__APItest_call_argv ); | |||
13981 | newXS_deffile("XS::APItest::call_method", XS_XS__APItest_call_method)Perl_newXS_deffile( "XS::APItest::call_method",XS_XS__APItest_call_method ); | |||
13982 | cv = newXS_deffile("XS::APItest::newCONSTSUB", XS_XS__APItest_newCONSTSUB)Perl_newXS_deffile( "XS::APItest::newCONSTSUB",XS_XS__APItest_newCONSTSUB ); | |||
13983 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 0; | |||
13984 | cv = newXS_deffile("XS::APItest::newCONSTSUB_flags", XS_XS__APItest_newCONSTSUB)Perl_newXS_deffile( "XS::APItest::newCONSTSUB_flags",XS_XS__APItest_newCONSTSUB ); | |||
13985 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 1; | |||
13986 | newXS_deffile("XS::APItest::gv_init_type", XS_XS__APItest_gv_init_type)Perl_newXS_deffile( "XS::APItest::gv_init_type",XS_XS__APItest_gv_init_type ); | |||
13987 | newXS_deffile("XS::APItest::gv_fetchmeth_type", XS_XS__APItest_gv_fetchmeth_type)Perl_newXS_deffile( "XS::APItest::gv_fetchmeth_type",XS_XS__APItest_gv_fetchmeth_type ); | |||
13988 | newXS_deffile("XS::APItest::gv_fetchmeth_autoload_type", XS_XS__APItest_gv_fetchmeth_autoload_type)Perl_newXS_deffile( "XS::APItest::gv_fetchmeth_autoload_type" ,XS_XS__APItest_gv_fetchmeth_autoload_type); | |||
13989 | newXS_deffile("XS::APItest::gv_fetchmethod_flags_type", XS_XS__APItest_gv_fetchmethod_flags_type)Perl_newXS_deffile( "XS::APItest::gv_fetchmethod_flags_type", XS_XS__APItest_gv_fetchmethod_flags_type); | |||
13990 | newXS_deffile("XS::APItest::gv_autoload_type", XS_XS__APItest_gv_autoload_type)Perl_newXS_deffile( "XS::APItest::gv_autoload_type",XS_XS__APItest_gv_autoload_type ); | |||
13991 | newXS_deffile("XS::APItest::gv_const_sv", XS_XS__APItest_gv_const_sv)Perl_newXS_deffile( "XS::APItest::gv_const_sv",XS_XS__APItest_gv_const_sv ); | |||
13992 | newXS_deffile("XS::APItest::whichsig_type", XS_XS__APItest_whichsig_type)Perl_newXS_deffile( "XS::APItest::whichsig_type",XS_XS__APItest_whichsig_type ); | |||
13993 | newXS_deffile("XS::APItest::eval_sv", XS_XS__APItest_eval_sv)Perl_newXS_deffile( "XS::APItest::eval_sv",XS_XS__APItest_eval_sv ); | |||
13994 | newXS_deffile("XS::APItest::eval_pv", XS_XS__APItest_eval_pv)Perl_newXS_deffile( "XS::APItest::eval_pv",XS_XS__APItest_eval_pv ); | |||
13995 | newXS_deffile("XS::APItest::require_pv", XS_XS__APItest_require_pv)Perl_newXS_deffile( "XS::APItest::require_pv",XS_XS__APItest_require_pv ); | |||
13996 | newXS_deffile("XS::APItest::apitest_exception", XS_XS__APItest_apitest_exception)Perl_newXS_deffile( "XS::APItest::apitest_exception",XS_XS__APItest_apitest_exception ); | |||
13997 | newXS_deffile("XS::APItest::mycroak", XS_XS__APItest_mycroak)Perl_newXS_deffile( "XS::APItest::mycroak",XS_XS__APItest_mycroak ); | |||
13998 | newXS_deffile("XS::APItest::strtab", XS_XS__APItest_strtab)Perl_newXS_deffile( "XS::APItest::strtab",XS_XS__APItest_strtab ); | |||
13999 | newXS_deffile("XS::APItest::my_cxt_getint", XS_XS__APItest_my_cxt_getint)Perl_newXS_deffile( "XS::APItest::my_cxt_getint",XS_XS__APItest_my_cxt_getint ); | |||
14000 | newXS_deffile("XS::APItest::my_cxt_setint", XS_XS__APItest_my_cxt_setint)Perl_newXS_deffile( "XS::APItest::my_cxt_setint",XS_XS__APItest_my_cxt_setint ); | |||
14001 | newXS_deffile("XS::APItest::my_cxt_getsv", XS_XS__APItest_my_cxt_getsv)Perl_newXS_deffile( "XS::APItest::my_cxt_getsv",XS_XS__APItest_my_cxt_getsv ); | |||
14002 | newXS_deffile("XS::APItest::my_cxt_setsv", XS_XS__APItest_my_cxt_setsv)Perl_newXS_deffile( "XS::APItest::my_cxt_setsv",XS_XS__APItest_my_cxt_setsv ); | |||
14003 | newXS_deffile("XS::APItest::sv_setsv_cow_hashkey_core", XS_XS__APItest_sv_setsv_cow_hashkey_core)Perl_newXS_deffile( "XS::APItest::sv_setsv_cow_hashkey_core", XS_XS__APItest_sv_setsv_cow_hashkey_core); | |||
14004 | newXS_deffile("XS::APItest::sv_setsv_cow_hashkey_notcore", XS_XS__APItest_sv_setsv_cow_hashkey_notcore)Perl_newXS_deffile( "XS::APItest::sv_setsv_cow_hashkey_notcore" ,XS_XS__APItest_sv_setsv_cow_hashkey_notcore); | |||
14005 | newXS_deffile("XS::APItest::sv_set_deref", XS_XS__APItest_sv_set_deref)Perl_newXS_deffile( "XS::APItest::sv_set_deref",XS_XS__APItest_sv_set_deref ); | |||
14006 | newXS_deffile("XS::APItest::rmagical_cast", XS_XS__APItest_rmagical_cast)Perl_newXS_deffile( "XS::APItest::rmagical_cast",XS_XS__APItest_rmagical_cast ); | |||
14007 | newXS_deffile("XS::APItest::rmagical_flags", XS_XS__APItest_rmagical_flags)Perl_newXS_deffile( "XS::APItest::rmagical_flags",XS_XS__APItest_rmagical_flags ); | |||
14008 | newXS_deffile("XS::APItest::my_caller", XS_XS__APItest_my_caller)Perl_newXS_deffile( "XS::APItest::my_caller",XS_XS__APItest_my_caller ); | |||
14009 | newXS_deffile("XS::APItest::DPeek", XS_XS__APItest_DPeek)Perl_newXS_deffile( "XS::APItest::DPeek",XS_XS__APItest_DPeek ); | |||
14010 | newXS_deffile("XS::APItest::BEGIN", XS_XS__APItest_BEGIN)Perl_newXS_deffile( "XS::APItest::BEGIN",XS_XS__APItest_BEGIN ); | |||
14011 | newXS_deffile("XS::APItest::CHECK", XS_XS__APItest_CHECK)Perl_newXS_deffile( "XS::APItest::CHECK",XS_XS__APItest_CHECK ); | |||
14012 | newXS_deffile("XS::APItest::UNITCHECK", XS_XS__APItest_UNITCHECK)Perl_newXS_deffile( "XS::APItest::UNITCHECK",XS_XS__APItest_UNITCHECK ); | |||
14013 | newXS_deffile("XS::APItest::INIT", XS_XS__APItest_INIT)Perl_newXS_deffile( "XS::APItest::INIT",XS_XS__APItest_INIT); | |||
14014 | newXS_deffile("XS::APItest::END", XS_XS__APItest_END)Perl_newXS_deffile( "XS::APItest::END",XS_XS__APItest_END); | |||
14015 | cv = newXS_deffile("XS::APItest::utf16_to_utf8", XS_XS__APItest_utf16_to_utf8)Perl_newXS_deffile( "XS::APItest::utf16_to_utf8",XS_XS__APItest_utf16_to_utf8 ); | |||
14016 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 0; | |||
14017 | cv = newXS_deffile("XS::APItest::utf16_to_utf8_reversed", XS_XS__APItest_utf16_to_utf8)Perl_newXS_deffile( "XS::APItest::utf16_to_utf8_reversed",XS_XS__APItest_utf16_to_utf8 ); | |||
14018 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 1; | |||
14019 | newXS_deffile("XS::APItest::my_exit", XS_XS__APItest_my_exit)Perl_newXS_deffile( "XS::APItest::my_exit",XS_XS__APItest_my_exit ); | |||
14020 | newXS_deffile("XS::APItest::first_byte", XS_XS__APItest_first_byte)Perl_newXS_deffile( "XS::APItest::first_byte",XS_XS__APItest_first_byte ); | |||
14021 | newXS_deffile("XS::APItest::sv_count", XS_XS__APItest_sv_count)Perl_newXS_deffile( "XS::APItest::sv_count",XS_XS__APItest_sv_count ); | |||
14022 | newXS_deffile("XS::APItest::bhk_record", XS_XS__APItest_bhk_record)Perl_newXS_deffile( "XS::APItest::bhk_record",XS_XS__APItest_bhk_record ); | |||
14023 | newXS_deffile("XS::APItest::test_magic_chain", XS_XS__APItest_test_magic_chain)Perl_newXS_deffile( "XS::APItest::test_magic_chain",XS_XS__APItest_test_magic_chain ); | |||
14024 | newXS_deffile("XS::APItest::test_op_contextualize", XS_XS__APItest_test_op_contextualize)Perl_newXS_deffile( "XS::APItest::test_op_contextualize",XS_XS__APItest_test_op_contextualize ); | |||
14025 | (void)newXSproto_portable("XS::APItest::test_rv2cv_op_cv", XS_XS__APItest_test_rv2cv_op_cv, file, "")Perl_newXS_flags( "XS::APItest::test_rv2cv_op_cv",XS_XS__APItest_test_rv2cv_op_cv ,file,"",0); | |||
14026 | newXS_deffile("XS::APItest::test_cv_getset_call_checker", XS_XS__APItest_test_cv_getset_call_checker)Perl_newXS_deffile( "XS::APItest::test_cv_getset_call_checker" ,XS_XS__APItest_test_cv_getset_call_checker); | |||
14027 | newXS_deffile("XS::APItest::cv_set_call_checker_lists", XS_XS__APItest_cv_set_call_checker_lists)Perl_newXS_deffile( "XS::APItest::cv_set_call_checker_lists", XS_XS__APItest_cv_set_call_checker_lists); | |||
14028 | newXS_deffile("XS::APItest::cv_set_call_checker_scalars", XS_XS__APItest_cv_set_call_checker_scalars)Perl_newXS_deffile( "XS::APItest::cv_set_call_checker_scalars" ,XS_XS__APItest_cv_set_call_checker_scalars); | |||
14029 | newXS_deffile("XS::APItest::cv_set_call_checker_proto", XS_XS__APItest_cv_set_call_checker_proto)Perl_newXS_deffile( "XS::APItest::cv_set_call_checker_proto", XS_XS__APItest_cv_set_call_checker_proto); | |||
14030 | newXS_deffile("XS::APItest::cv_set_call_checker_proto_or_list", XS_XS__APItest_cv_set_call_checker_proto_or_list)Perl_newXS_deffile( "XS::APItest::cv_set_call_checker_proto_or_list" ,XS_XS__APItest_cv_set_call_checker_proto_or_list); | |||
14031 | newXS_deffile("XS::APItest::cv_set_call_checker_multi_sum", XS_XS__APItest_cv_set_call_checker_multi_sum)Perl_newXS_deffile( "XS::APItest::cv_set_call_checker_multi_sum" ,XS_XS__APItest_cv_set_call_checker_multi_sum); | |||
14032 | newXS_deffile("XS::APItest::test_cophh", XS_XS__APItest_test_cophh)Perl_newXS_deffile( "XS::APItest::test_cophh",XS_XS__APItest_test_cophh ); | |||
14033 | newXS_deffile("XS::APItest::test_coplabel", XS_XS__APItest_test_coplabel)Perl_newXS_deffile( "XS::APItest::test_coplabel",XS_XS__APItest_test_coplabel ); | |||
14034 | newXS_deffile("XS::APItest::example_cophh_2hv", XS_XS__APItest_example_cophh_2hv)Perl_newXS_deffile( "XS::APItest::example_cophh_2hv",XS_XS__APItest_example_cophh_2hv ); | |||
14035 | newXS_deffile("XS::APItest::test_savehints", XS_XS__APItest_test_savehints)Perl_newXS_deffile( "XS::APItest::test_savehints",XS_XS__APItest_test_savehints ); | |||
14036 | newXS_deffile("XS::APItest::test_copyhints", XS_XS__APItest_test_copyhints)Perl_newXS_deffile( "XS::APItest::test_copyhints",XS_XS__APItest_test_copyhints ); | |||
14037 | newXS_deffile("XS::APItest::test_op_list", XS_XS__APItest_test_op_list)Perl_newXS_deffile( "XS::APItest::test_op_list",XS_XS__APItest_test_op_list ); | |||
14038 | newXS_deffile("XS::APItest::test_op_linklist", XS_XS__APItest_test_op_linklist)Perl_newXS_deffile( "XS::APItest::test_op_linklist",XS_XS__APItest_test_op_linklist ); | |||
14039 | newXS_deffile("XS::APItest::peep_enable", XS_XS__APItest_peep_enable)Perl_newXS_deffile( "XS::APItest::peep_enable",XS_XS__APItest_peep_enable ); | |||
14040 | newXS_deffile("XS::APItest::peep_disable", XS_XS__APItest_peep_disable)Perl_newXS_deffile( "XS::APItest::peep_disable",XS_XS__APItest_peep_disable ); | |||
14041 | newXS_deffile("XS::APItest::peep_record", XS_XS__APItest_peep_record)Perl_newXS_deffile( "XS::APItest::peep_record",XS_XS__APItest_peep_record ); | |||
14042 | newXS_deffile("XS::APItest::rpeep_record", XS_XS__APItest_rpeep_record)Perl_newXS_deffile( "XS::APItest::rpeep_record",XS_XS__APItest_rpeep_record ); | |||
14043 | (void)newXSproto_portable("XS::APItest::multicall_each", XS_XS__APItest_multicall_each, file, "&@")Perl_newXS_flags( "XS::APItest::multicall_each",XS_XS__APItest_multicall_each ,file,"&@",0); | |||
14044 | (void)newXSproto_portable("XS::APItest::multicall_return", XS_XS__APItest_multicall_return, file, "&$")Perl_newXS_flags( "XS::APItest::multicall_return",XS_XS__APItest_multicall_return ,file,"&$",0); | |||
14045 | #if XSubPPtmpAAAC | |||
14046 | newXS_deffile("XS::APItest::clone_with_stack", XS_XS__APItest_clone_with_stack)Perl_newXS_deffile( "XS::APItest::clone_with_stack",XS_XS__APItest_clone_with_stack ); | |||
14047 | #endif | |||
14048 | newXS_deffile("XS::APItest::take_svref", XS_XS__APItest_take_svref)Perl_newXS_deffile( "XS::APItest::take_svref",XS_XS__APItest_take_svref ); | |||
14049 | newXS_deffile("XS::APItest::take_avref", XS_XS__APItest_take_avref)Perl_newXS_deffile( "XS::APItest::take_avref",XS_XS__APItest_take_avref ); | |||
14050 | newXS_deffile("XS::APItest::take_hvref", XS_XS__APItest_take_hvref)Perl_newXS_deffile( "XS::APItest::take_hvref",XS_XS__APItest_take_hvref ); | |||
14051 | newXS_deffile("XS::APItest::take_cvref", XS_XS__APItest_take_cvref)Perl_newXS_deffile( "XS::APItest::take_cvref",XS_XS__APItest_take_cvref ); | |||
14052 | (void)newXSproto_portable("XS::APItest::establish_cleanup", XS_XS__APItest_establish_cleanup, file, "$")Perl_newXS_flags( "XS::APItest::establish_cleanup",XS_XS__APItest_establish_cleanup ,file,"$",0); | |||
14053 | (void)newXSproto_portable("XS::APItest::postinc", XS_XS__APItest_postinc, file, "$")Perl_newXS_flags( "XS::APItest::postinc",XS_XS__APItest_postinc ,file,"$",0); | |||
14054 | newXS_deffile("XS::APItest::filter", XS_XS__APItest_filter)Perl_newXS_deffile( "XS::APItest::filter",XS_XS__APItest_filter ); | |||
14055 | newXS_deffile("XS::APItest::lv_temp_object", XS_XS__APItest_lv_temp_object)Perl_newXS_deffile( "XS::APItest::lv_temp_object",XS_XS__APItest_lv_temp_object ); | |||
14056 | newXS_deffile("XS::APItest::fill_hash_with_nulls", XS_XS__APItest_fill_hash_with_nulls)Perl_newXS_deffile( "XS::APItest::fill_hash_with_nulls",XS_XS__APItest_fill_hash_with_nulls ); | |||
14057 | newXS_deffile("XS::APItest::newHVhv", XS_XS__APItest_newHVhv)Perl_newXS_deffile( "XS::APItest::newHVhv",XS_XS__APItest_newHVhv ); | |||
14058 | newXS_deffile("XS::APItest::SvIsCOW", XS_XS__APItest_SvIsCOW)Perl_newXS_deffile( "XS::APItest::SvIsCOW",XS_XS__APItest_SvIsCOW ); | |||
14059 | (void)newXSproto_portable("XS::APItest::pad_scalar", XS_XS__APItest_pad_scalar, file, "$$")Perl_newXS_flags( "XS::APItest::pad_scalar",XS_XS__APItest_pad_scalar ,file,"$$",0); | |||
14060 | newXS_deffile("XS::APItest::fetch_pad_names", XS_XS__APItest_fetch_pad_names)Perl_newXS_deffile( "XS::APItest::fetch_pad_names",XS_XS__APItest_fetch_pad_names ); | |||
14061 | (void)newXSproto_portable("XS::APItest::underscore_length", XS_XS__APItest_underscore_length, file, "")Perl_newXS_flags( "XS::APItest::underscore_length",XS_XS__APItest_underscore_length ,file,"",0); | |||
14062 | newXS_deffile("XS::APItest::stringify", XS_XS__APItest_stringify)Perl_newXS_deffile( "XS::APItest::stringify",XS_XS__APItest_stringify ); | |||
14063 | newXS_deffile("XS::APItest::HvENAME", XS_XS__APItest_HvENAME)Perl_newXS_deffile( "XS::APItest::HvENAME",XS_XS__APItest_HvENAME ); | |||
14064 | newXS_deffile("XS::APItest::xs_cmp", XS_XS__APItest_xs_cmp)Perl_newXS_deffile( "XS::APItest::xs_cmp",XS_XS__APItest_xs_cmp ); | |||
14065 | newXS_deffile("XS::APItest::xs_cmp_undef", XS_XS__APItest_xs_cmp_undef)Perl_newXS_deffile( "XS::APItest::xs_cmp_undef",XS_XS__APItest_xs_cmp_undef ); | |||
14066 | newXS_deffile("XS::APItest::SvPVbyte", XS_XS__APItest_SvPVbyte)Perl_newXS_deffile( "XS::APItest::SvPVbyte",XS_XS__APItest_SvPVbyte ); | |||
14067 | newXS_deffile("XS::APItest::SvPVbyte_nomg", XS_XS__APItest_SvPVbyte_nomg)Perl_newXS_deffile( "XS::APItest::SvPVbyte_nomg",XS_XS__APItest_SvPVbyte_nomg ); | |||
14068 | newXS_deffile("XS::APItest::SvPVutf8", XS_XS__APItest_SvPVutf8)Perl_newXS_deffile( "XS::APItest::SvPVutf8",XS_XS__APItest_SvPVutf8 ); | |||
14069 | newXS_deffile("XS::APItest::SvPVutf8_nomg", XS_XS__APItest_SvPVutf8_nomg)Perl_newXS_deffile( "XS::APItest::SvPVutf8_nomg",XS_XS__APItest_SvPVutf8_nomg ); | |||
14070 | newXS_deffile("XS::APItest::setup_addissub", XS_XS__APItest_setup_addissub)Perl_newXS_deffile( "XS::APItest::setup_addissub",XS_XS__APItest_setup_addissub ); | |||
14071 | newXS_deffile("XS::APItest::setup_rv2cv_addunderbar", XS_XS__APItest_setup_rv2cv_addunderbar)Perl_newXS_deffile( "XS::APItest::setup_rv2cv_addunderbar",XS_XS__APItest_setup_rv2cv_addunderbar ); | |||
14072 | #if XSubPPtmpAAAD | |||
14073 | newXS_deffile("XS::APItest::test_alloccopstash", XS_XS__APItest_test_alloccopstash)Perl_newXS_deffile( "XS::APItest::test_alloccopstash",XS_XS__APItest_test_alloccopstash ); | |||
14074 | #endif | |||
14075 | newXS_deffile("XS::APItest::test_newFOROP_without_slab", XS_XS__APItest_test_newFOROP_without_slab)Perl_newXS_deffile( "XS::APItest::test_newFOROP_without_slab" ,XS_XS__APItest_test_newFOROP_without_slab); | |||
14076 | newXS_deffile("XS::APItest::callregexec", XS_XS__APItest_callregexec)Perl_newXS_deffile( "XS::APItest::callregexec",XS_XS__APItest_callregexec ); | |||
14077 | newXS_deffile("XS::APItest::lexical_import", XS_XS__APItest_lexical_import)Perl_newXS_deffile( "XS::APItest::lexical_import",XS_XS__APItest_lexical_import ); | |||
14078 | newXS_deffile("XS::APItest::sv_mortalcopy", XS_XS__APItest_sv_mortalcopy)Perl_newXS_deffile( "XS::APItest::sv_mortalcopy",XS_XS__APItest_sv_mortalcopy ); | |||
14079 | newXS_deffile("XS::APItest::newRV", XS_XS__APItest_newRV)Perl_newXS_deffile( "XS::APItest::newRV",XS_XS__APItest_newRV ); | |||
14080 | newXS_deffile("XS::APItest::alias_av", XS_XS__APItest_alias_av)Perl_newXS_deffile( "XS::APItest::alias_av",XS_XS__APItest_alias_av ); | |||
14081 | newXS_deffile("XS::APItest::cv_name", XS_XS__APItest_cv_name)Perl_newXS_deffile( "XS::APItest::cv_name",XS_XS__APItest_cv_name ); | |||
14082 | newXS_deffile("XS::APItest::sv_catpvn", XS_XS__APItest_sv_catpvn)Perl_newXS_deffile( "XS::APItest::sv_catpvn",XS_XS__APItest_sv_catpvn ); | |||
14083 | newXS_deffile("XS::APItest::test_newOP_CUSTOM", XS_XS__APItest_test_newOP_CUSTOM)Perl_newXS_deffile( "XS::APItest::test_newOP_CUSTOM",XS_XS__APItest_test_newOP_CUSTOM ); | |||
14084 | newXS_deffile("XS::APItest::test_sv_catpvf", XS_XS__APItest_test_sv_catpvf)Perl_newXS_deffile( "XS::APItest::test_sv_catpvf",XS_XS__APItest_test_sv_catpvf ); | |||
14085 | newXS_deffile("XS::APItest::load_module", XS_XS__APItest_load_module)Perl_newXS_deffile( "XS::APItest::load_module",XS_XS__APItest_load_module ); | |||
14086 | newXS_deffile("XS::APItest::string_without_null", XS_XS__APItest_string_without_null)Perl_newXS_deffile( "XS::APItest::string_without_null",XS_XS__APItest_string_without_null ); | |||
14087 | newXS_deffile("XS::APItest::get_cv", XS_XS__APItest_get_cv)Perl_newXS_deffile( "XS::APItest::get_cv",XS_XS__APItest_get_cv ); | |||
14088 | newXS_deffile("XS::APItest::get_cv_flags", XS_XS__APItest_get_cv_flags)Perl_newXS_deffile( "XS::APItest::get_cv_flags",XS_XS__APItest_get_cv_flags ); | |||
14089 | newXS_deffile("XS::APItest::unshift_and_set_defav", XS_XS__APItest_unshift_and_set_defav)Perl_newXS_deffile( "XS::APItest::unshift_and_set_defav",XS_XS__APItest_unshift_and_set_defav ); | |||
14090 | newXS_deffile("XS::APItest::PerlIO_stderr", XS_XS__APItest_PerlIO_stderr)Perl_newXS_deffile( "XS::APItest::PerlIO_stderr",XS_XS__APItest_PerlIO_stderr ); | |||
14091 | newXS_deffile("XS::APItest::PerlIO_stdout", XS_XS__APItest_PerlIO_stdout)Perl_newXS_deffile( "XS::APItest::PerlIO_stdout",XS_XS__APItest_PerlIO_stdout ); | |||
14092 | newXS_deffile("XS::APItest::PerlIO_stdin", XS_XS__APItest_PerlIO_stdin)Perl_newXS_deffile( "XS::APItest::PerlIO_stdin",XS_XS__APItest_PerlIO_stdin ); | |||
14093 | newXS_deffile("XS::APItest::PerlIO_exportFILE", XS_XS__APItest_PerlIO_exportFILE)Perl_newXS_deffile( "XS::APItest::PerlIO_exportFILE",XS_XS__APItest_PerlIO_exportFILE ); | |||
14094 | newXS_deffile("XS::APItest::test_MAX_types", XS_XS__APItest_test_MAX_types)Perl_newXS_deffile( "XS::APItest::test_MAX_types",XS_XS__APItest_test_MAX_types ); | |||
14095 | newXS_deffile("XS::APItest::AUTOLOADtest::AUTOLOAD", XS_XS__APItest__AUTOLOADtest_AUTOLOAD)Perl_newXS_deffile( "XS::APItest::AUTOLOADtest::AUTOLOAD",XS_XS__APItest__AUTOLOADtest_AUTOLOAD ); | |||
14096 | cv = newXS_deffile("XS::APItest::Magic::sv_magic_bar", XS_XS__APItest__Magic_sv_magic_foo)Perl_newXS_deffile( "XS::APItest::Magic::sv_magic_bar",XS_XS__APItest__Magic_sv_magic_foo ); | |||
14097 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 1; | |||
14098 | cv = newXS_deffile("XS::APItest::Magic::sv_magic_foo", XS_XS__APItest__Magic_sv_magic_foo)Perl_newXS_deffile( "XS::APItest::Magic::sv_magic_foo",XS_XS__APItest__Magic_sv_magic_foo ); | |||
14099 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 0; | |||
14100 | cv = newXS_deffile("XS::APItest::Magic::mg_find_bar", XS_XS__APItest__Magic_mg_find_foo)Perl_newXS_deffile( "XS::APItest::Magic::mg_find_bar",XS_XS__APItest__Magic_mg_find_foo ); | |||
14101 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 1; | |||
14102 | cv = newXS_deffile("XS::APItest::Magic::mg_find_foo", XS_XS__APItest__Magic_mg_find_foo)Perl_newXS_deffile( "XS::APItest::Magic::mg_find_foo",XS_XS__APItest__Magic_mg_find_foo ); | |||
14103 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 0; | |||
14104 | cv = newXS_deffile("XS::APItest::Magic::sv_unmagic_bar", XS_XS__APItest__Magic_sv_unmagic_foo)Perl_newXS_deffile( "XS::APItest::Magic::sv_unmagic_bar",XS_XS__APItest__Magic_sv_unmagic_foo ); | |||
14105 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 1; | |||
14106 | cv = newXS_deffile("XS::APItest::Magic::sv_unmagic_foo", XS_XS__APItest__Magic_sv_unmagic_foo)Perl_newXS_deffile( "XS::APItest::Magic::sv_unmagic_foo",XS_XS__APItest__Magic_sv_unmagic_foo ); | |||
14107 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 0; | |||
14108 | newXS_deffile("XS::APItest::Magic::sv_magic", XS_XS__APItest__Magic_sv_magic)Perl_newXS_deffile( "XS::APItest::Magic::sv_magic",XS_XS__APItest__Magic_sv_magic ); | |||
14109 | newXS_deffile("XS::APItest::Magic::test_get_vtbl", XS_XS__APItest__Magic_test_get_vtbl)Perl_newXS_deffile( "XS::APItest::Magic::test_get_vtbl",XS_XS__APItest__Magic_test_get_vtbl ); | |||
14110 | newXS_deffile("XS::APItest::Magic::sv_magic_myset", XS_XS__APItest__Magic_sv_magic_myset)Perl_newXS_deffile( "XS::APItest::Magic::sv_magic_myset",XS_XS__APItest__Magic_sv_magic_myset ); | |||
14111 | newXS_deffile("XS::APItest::Magic::test_isBLANK_uni", XS_XS__APItest__Magic_test_isBLANK_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK_uni",XS_XS__APItest__Magic_test_isBLANK_uni ); | |||
14112 | newXS_deffile("XS::APItest::Magic::test_isBLANK_uvchr", XS_XS__APItest__Magic_test_isBLANK_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK_uvchr", XS_XS__APItest__Magic_test_isBLANK_uvchr); | |||
14113 | newXS_deffile("XS::APItest::Magic::test_isBLANK_LC_uvchr", XS_XS__APItest__Magic_test_isBLANK_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK_LC_uvchr" ,XS_XS__APItest__Magic_test_isBLANK_LC_uvchr); | |||
14114 | newXS_deffile("XS::APItest::Magic::test_isBLANK", XS_XS__APItest__Magic_test_isBLANK)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK",XS_XS__APItest__Magic_test_isBLANK ); | |||
14115 | newXS_deffile("XS::APItest::Magic::test_isBLANK_A", XS_XS__APItest__Magic_test_isBLANK_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK_A",XS_XS__APItest__Magic_test_isBLANK_A ); | |||
14116 | newXS_deffile("XS::APItest::Magic::test_isBLANK_L1", XS_XS__APItest__Magic_test_isBLANK_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK_L1",XS_XS__APItest__Magic_test_isBLANK_L1 ); | |||
14117 | newXS_deffile("XS::APItest::Magic::test_isBLANK_LC", XS_XS__APItest__Magic_test_isBLANK_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK_LC",XS_XS__APItest__Magic_test_isBLANK_LC ); | |||
14118 | newXS_deffile("XS::APItest::Magic::test_isBLANK_utf8", XS_XS__APItest__Magic_test_isBLANK_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK_utf8",XS_XS__APItest__Magic_test_isBLANK_utf8 ); | |||
14119 | newXS_deffile("XS::APItest::Magic::test_isBLANK_LC_utf8", XS_XS__APItest__Magic_test_isBLANK_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isBLANK_LC_utf8" ,XS_XS__APItest__Magic_test_isBLANK_LC_utf8); | |||
14120 | newXS_deffile("XS::APItest::Magic::test_isVERTWS_uni", XS_XS__APItest__Magic_test_isVERTWS_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isVERTWS_uni",XS_XS__APItest__Magic_test_isVERTWS_uni ); | |||
14121 | newXS_deffile("XS::APItest::Magic::test_isVERTWS_uvchr", XS_XS__APItest__Magic_test_isVERTWS_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isVERTWS_uvchr" ,XS_XS__APItest__Magic_test_isVERTWS_uvchr); | |||
14122 | newXS_deffile("XS::APItest::Magic::test_isVERTWS_utf8", XS_XS__APItest__Magic_test_isVERTWS_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isVERTWS_utf8", XS_XS__APItest__Magic_test_isVERTWS_utf8); | |||
14123 | newXS_deffile("XS::APItest::Magic::test_isUPPER_uni", XS_XS__APItest__Magic_test_isUPPER_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER_uni",XS_XS__APItest__Magic_test_isUPPER_uni ); | |||
14124 | newXS_deffile("XS::APItest::Magic::test_isUPPER_uvchr", XS_XS__APItest__Magic_test_isUPPER_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER_uvchr", XS_XS__APItest__Magic_test_isUPPER_uvchr); | |||
14125 | newXS_deffile("XS::APItest::Magic::test_isUPPER_LC_uvchr", XS_XS__APItest__Magic_test_isUPPER_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER_LC_uvchr" ,XS_XS__APItest__Magic_test_isUPPER_LC_uvchr); | |||
14126 | newXS_deffile("XS::APItest::Magic::test_isUPPER", XS_XS__APItest__Magic_test_isUPPER)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER",XS_XS__APItest__Magic_test_isUPPER ); | |||
14127 | newXS_deffile("XS::APItest::Magic::test_isUPPER_A", XS_XS__APItest__Magic_test_isUPPER_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER_A",XS_XS__APItest__Magic_test_isUPPER_A ); | |||
14128 | newXS_deffile("XS::APItest::Magic::test_isUPPER_L1", XS_XS__APItest__Magic_test_isUPPER_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER_L1",XS_XS__APItest__Magic_test_isUPPER_L1 ); | |||
14129 | newXS_deffile("XS::APItest::Magic::test_isUPPER_LC", XS_XS__APItest__Magic_test_isUPPER_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER_LC",XS_XS__APItest__Magic_test_isUPPER_LC ); | |||
14130 | newXS_deffile("XS::APItest::Magic::test_isUPPER_utf8", XS_XS__APItest__Magic_test_isUPPER_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER_utf8",XS_XS__APItest__Magic_test_isUPPER_utf8 ); | |||
14131 | newXS_deffile("XS::APItest::Magic::test_isUPPER_LC_utf8", XS_XS__APItest__Magic_test_isUPPER_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isUPPER_LC_utf8" ,XS_XS__APItest__Magic_test_isUPPER_LC_utf8); | |||
14132 | newXS_deffile("XS::APItest::Magic::test_isLOWER_uni", XS_XS__APItest__Magic_test_isLOWER_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER_uni",XS_XS__APItest__Magic_test_isLOWER_uni ); | |||
14133 | newXS_deffile("XS::APItest::Magic::test_isLOWER_uvchr", XS_XS__APItest__Magic_test_isLOWER_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER_uvchr", XS_XS__APItest__Magic_test_isLOWER_uvchr); | |||
14134 | newXS_deffile("XS::APItest::Magic::test_isLOWER_LC_uvchr", XS_XS__APItest__Magic_test_isLOWER_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER_LC_uvchr" ,XS_XS__APItest__Magic_test_isLOWER_LC_uvchr); | |||
14135 | newXS_deffile("XS::APItest::Magic::test_isLOWER", XS_XS__APItest__Magic_test_isLOWER)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER",XS_XS__APItest__Magic_test_isLOWER ); | |||
14136 | newXS_deffile("XS::APItest::Magic::test_isLOWER_A", XS_XS__APItest__Magic_test_isLOWER_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER_A",XS_XS__APItest__Magic_test_isLOWER_A ); | |||
14137 | newXS_deffile("XS::APItest::Magic::test_isLOWER_L1", XS_XS__APItest__Magic_test_isLOWER_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER_L1",XS_XS__APItest__Magic_test_isLOWER_L1 ); | |||
14138 | newXS_deffile("XS::APItest::Magic::test_isLOWER_LC", XS_XS__APItest__Magic_test_isLOWER_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER_LC",XS_XS__APItest__Magic_test_isLOWER_LC ); | |||
14139 | newXS_deffile("XS::APItest::Magic::test_isLOWER_utf8", XS_XS__APItest__Magic_test_isLOWER_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER_utf8",XS_XS__APItest__Magic_test_isLOWER_utf8 ); | |||
14140 | newXS_deffile("XS::APItest::Magic::test_isLOWER_LC_utf8", XS_XS__APItest__Magic_test_isLOWER_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isLOWER_LC_utf8" ,XS_XS__APItest__Magic_test_isLOWER_LC_utf8); | |||
14141 | newXS_deffile("XS::APItest::Magic::test_isALPHA_uni", XS_XS__APItest__Magic_test_isALPHA_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA_uni",XS_XS__APItest__Magic_test_isALPHA_uni ); | |||
14142 | newXS_deffile("XS::APItest::Magic::test_isALPHA_uvchr", XS_XS__APItest__Magic_test_isALPHA_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA_uvchr", XS_XS__APItest__Magic_test_isALPHA_uvchr); | |||
14143 | newXS_deffile("XS::APItest::Magic::test_isALPHA_LC_uvchr", XS_XS__APItest__Magic_test_isALPHA_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA_LC_uvchr" ,XS_XS__APItest__Magic_test_isALPHA_LC_uvchr); | |||
14144 | newXS_deffile("XS::APItest::Magic::test_isALPHA", XS_XS__APItest__Magic_test_isALPHA)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA",XS_XS__APItest__Magic_test_isALPHA ); | |||
14145 | newXS_deffile("XS::APItest::Magic::test_isALPHA_A", XS_XS__APItest__Magic_test_isALPHA_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA_A",XS_XS__APItest__Magic_test_isALPHA_A ); | |||
14146 | newXS_deffile("XS::APItest::Magic::test_isALPHA_L1", XS_XS__APItest__Magic_test_isALPHA_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA_L1",XS_XS__APItest__Magic_test_isALPHA_L1 ); | |||
14147 | newXS_deffile("XS::APItest::Magic::test_isALPHA_LC", XS_XS__APItest__Magic_test_isALPHA_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA_LC",XS_XS__APItest__Magic_test_isALPHA_LC ); | |||
14148 | newXS_deffile("XS::APItest::Magic::test_isALPHA_utf8", XS_XS__APItest__Magic_test_isALPHA_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA_utf8",XS_XS__APItest__Magic_test_isALPHA_utf8 ); | |||
14149 | newXS_deffile("XS::APItest::Magic::test_isALPHA_LC_utf8", XS_XS__APItest__Magic_test_isALPHA_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHA_LC_utf8" ,XS_XS__APItest__Magic_test_isALPHA_LC_utf8); | |||
14150 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR_uni", XS_XS__APItest__Magic_test_isWORDCHAR_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR_uni" ,XS_XS__APItest__Magic_test_isWORDCHAR_uni); | |||
14151 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR_uvchr", XS_XS__APItest__Magic_test_isWORDCHAR_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR_uvchr" ,XS_XS__APItest__Magic_test_isWORDCHAR_uvchr); | |||
14152 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR_LC_uvchr", XS_XS__APItest__Magic_test_isWORDCHAR_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR_LC_uvchr" ,XS_XS__APItest__Magic_test_isWORDCHAR_LC_uvchr); | |||
14153 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR", XS_XS__APItest__Magic_test_isWORDCHAR)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR",XS_XS__APItest__Magic_test_isWORDCHAR ); | |||
14154 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR_A", XS_XS__APItest__Magic_test_isWORDCHAR_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR_A",XS_XS__APItest__Magic_test_isWORDCHAR_A ); | |||
14155 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR_L1", XS_XS__APItest__Magic_test_isWORDCHAR_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR_L1", XS_XS__APItest__Magic_test_isWORDCHAR_L1); | |||
14156 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR_LC", XS_XS__APItest__Magic_test_isWORDCHAR_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR_LC", XS_XS__APItest__Magic_test_isWORDCHAR_LC); | |||
14157 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR_utf8", XS_XS__APItest__Magic_test_isWORDCHAR_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR_utf8" ,XS_XS__APItest__Magic_test_isWORDCHAR_utf8); | |||
14158 | newXS_deffile("XS::APItest::Magic::test_isWORDCHAR_LC_utf8", XS_XS__APItest__Magic_test_isWORDCHAR_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isWORDCHAR_LC_utf8" ,XS_XS__APItest__Magic_test_isWORDCHAR_LC_utf8); | |||
14159 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC_uni", XS_XS__APItest__Magic_test_isALPHANUMERIC_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC_uni" ,XS_XS__APItest__Magic_test_isALPHANUMERIC_uni); | |||
14160 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC_uvchr", XS_XS__APItest__Magic_test_isALPHANUMERIC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC_uvchr" ,XS_XS__APItest__Magic_test_isALPHANUMERIC_uvchr); | |||
14161 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC_LC_uvchr", XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC_LC_uvchr" ,XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_uvchr); | |||
14162 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC", XS_XS__APItest__Magic_test_isALPHANUMERIC)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC" ,XS_XS__APItest__Magic_test_isALPHANUMERIC); | |||
14163 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC_A", XS_XS__APItest__Magic_test_isALPHANUMERIC_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC_A" ,XS_XS__APItest__Magic_test_isALPHANUMERIC_A); | |||
14164 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC_L1", XS_XS__APItest__Magic_test_isALPHANUMERIC_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC_L1" ,XS_XS__APItest__Magic_test_isALPHANUMERIC_L1); | |||
14165 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC_LC", XS_XS__APItest__Magic_test_isALPHANUMERIC_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC_LC" ,XS_XS__APItest__Magic_test_isALPHANUMERIC_LC); | |||
14166 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC_utf8", XS_XS__APItest__Magic_test_isALPHANUMERIC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC_utf8" ,XS_XS__APItest__Magic_test_isALPHANUMERIC_utf8); | |||
14167 | newXS_deffile("XS::APItest::Magic::test_isALPHANUMERIC_LC_utf8", XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isALPHANUMERIC_LC_utf8" ,XS_XS__APItest__Magic_test_isALPHANUMERIC_LC_utf8); | |||
14168 | newXS_deffile("XS::APItest::Magic::test_isALNUM", XS_XS__APItest__Magic_test_isALNUM)Perl_newXS_deffile( "XS::APItest::Magic::test_isALNUM",XS_XS__APItest__Magic_test_isALNUM ); | |||
14169 | newXS_deffile("XS::APItest::Magic::test_isALNUM_uni", XS_XS__APItest__Magic_test_isALNUM_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isALNUM_uni",XS_XS__APItest__Magic_test_isALNUM_uni ); | |||
14170 | newXS_deffile("XS::APItest::Magic::test_isALNUM_LC_uvchr", XS_XS__APItest__Magic_test_isALNUM_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isALNUM_LC_uvchr" ,XS_XS__APItest__Magic_test_isALNUM_LC_uvchr); | |||
14171 | newXS_deffile("XS::APItest::Magic::test_isALNUM_LC", XS_XS__APItest__Magic_test_isALNUM_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isALNUM_LC",XS_XS__APItest__Magic_test_isALNUM_LC ); | |||
14172 | newXS_deffile("XS::APItest::Magic::test_isALNUM_utf8", XS_XS__APItest__Magic_test_isALNUM_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isALNUM_utf8",XS_XS__APItest__Magic_test_isALNUM_utf8 ); | |||
14173 | newXS_deffile("XS::APItest::Magic::test_isALNUM_LC_utf8", XS_XS__APItest__Magic_test_isALNUM_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isALNUM_LC_utf8" ,XS_XS__APItest__Magic_test_isALNUM_LC_utf8); | |||
14174 | newXS_deffile("XS::APItest::Magic::test_isDIGIT_uni", XS_XS__APItest__Magic_test_isDIGIT_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT_uni",XS_XS__APItest__Magic_test_isDIGIT_uni ); | |||
14175 | newXS_deffile("XS::APItest::Magic::test_isDIGIT_uvchr", XS_XS__APItest__Magic_test_isDIGIT_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT_uvchr", XS_XS__APItest__Magic_test_isDIGIT_uvchr); | |||
14176 | newXS_deffile("XS::APItest::Magic::test_isDIGIT_LC_uvchr", XS_XS__APItest__Magic_test_isDIGIT_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT_LC_uvchr" ,XS_XS__APItest__Magic_test_isDIGIT_LC_uvchr); | |||
14177 | newXS_deffile("XS::APItest::Magic::test_isDIGIT_utf8", XS_XS__APItest__Magic_test_isDIGIT_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT_utf8",XS_XS__APItest__Magic_test_isDIGIT_utf8 ); | |||
14178 | newXS_deffile("XS::APItest::Magic::test_isDIGIT_LC_utf8", XS_XS__APItest__Magic_test_isDIGIT_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT_LC_utf8" ,XS_XS__APItest__Magic_test_isDIGIT_LC_utf8); | |||
14179 | newXS_deffile("XS::APItest::Magic::test_isDIGIT", XS_XS__APItest__Magic_test_isDIGIT)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT",XS_XS__APItest__Magic_test_isDIGIT ); | |||
14180 | newXS_deffile("XS::APItest::Magic::test_isDIGIT_A", XS_XS__APItest__Magic_test_isDIGIT_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT_A",XS_XS__APItest__Magic_test_isDIGIT_A ); | |||
14181 | newXS_deffile("XS::APItest::Magic::test_isDIGIT_L1", XS_XS__APItest__Magic_test_isDIGIT_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT_L1",XS_XS__APItest__Magic_test_isDIGIT_L1 ); | |||
14182 | newXS_deffile("XS::APItest::Magic::test_isDIGIT_LC", XS_XS__APItest__Magic_test_isDIGIT_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isDIGIT_LC",XS_XS__APItest__Magic_test_isDIGIT_LC ); | |||
14183 | newXS_deffile("XS::APItest::Magic::test_isOCTAL", XS_XS__APItest__Magic_test_isOCTAL)Perl_newXS_deffile( "XS::APItest::Magic::test_isOCTAL",XS_XS__APItest__Magic_test_isOCTAL ); | |||
14184 | newXS_deffile("XS::APItest::Magic::test_isOCTAL_A", XS_XS__APItest__Magic_test_isOCTAL_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isOCTAL_A",XS_XS__APItest__Magic_test_isOCTAL_A ); | |||
14185 | newXS_deffile("XS::APItest::Magic::test_isOCTAL_L1", XS_XS__APItest__Magic_test_isOCTAL_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isOCTAL_L1",XS_XS__APItest__Magic_test_isOCTAL_L1 ); | |||
14186 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST_uni", XS_XS__APItest__Magic_test_isIDFIRST_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST_uni", XS_XS__APItest__Magic_test_isIDFIRST_uni); | |||
14187 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST_uvchr", XS_XS__APItest__Magic_test_isIDFIRST_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST_uvchr" ,XS_XS__APItest__Magic_test_isIDFIRST_uvchr); | |||
14188 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST_LC_uvchr", XS_XS__APItest__Magic_test_isIDFIRST_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST_LC_uvchr" ,XS_XS__APItest__Magic_test_isIDFIRST_LC_uvchr); | |||
14189 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST", XS_XS__APItest__Magic_test_isIDFIRST)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST",XS_XS__APItest__Magic_test_isIDFIRST ); | |||
14190 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST_A", XS_XS__APItest__Magic_test_isIDFIRST_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST_A",XS_XS__APItest__Magic_test_isIDFIRST_A ); | |||
14191 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST_L1", XS_XS__APItest__Magic_test_isIDFIRST_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST_L1",XS_XS__APItest__Magic_test_isIDFIRST_L1 ); | |||
14192 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST_LC", XS_XS__APItest__Magic_test_isIDFIRST_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST_LC",XS_XS__APItest__Magic_test_isIDFIRST_LC ); | |||
14193 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST_utf8", XS_XS__APItest__Magic_test_isIDFIRST_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST_utf8" ,XS_XS__APItest__Magic_test_isIDFIRST_utf8); | |||
14194 | newXS_deffile("XS::APItest::Magic::test_isIDFIRST_LC_utf8", XS_XS__APItest__Magic_test_isIDFIRST_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDFIRST_LC_utf8" ,XS_XS__APItest__Magic_test_isIDFIRST_LC_utf8); | |||
14195 | newXS_deffile("XS::APItest::Magic::test_isIDCONT_uni", XS_XS__APItest__Magic_test_isIDCONT_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT_uni",XS_XS__APItest__Magic_test_isIDCONT_uni ); | |||
14196 | newXS_deffile("XS::APItest::Magic::test_isIDCONT_uvchr", XS_XS__APItest__Magic_test_isIDCONT_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT_uvchr" ,XS_XS__APItest__Magic_test_isIDCONT_uvchr); | |||
14197 | newXS_deffile("XS::APItest::Magic::test_isIDCONT_LC_uvchr", XS_XS__APItest__Magic_test_isIDCONT_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT_LC_uvchr" ,XS_XS__APItest__Magic_test_isIDCONT_LC_uvchr); | |||
14198 | newXS_deffile("XS::APItest::Magic::test_isIDCONT", XS_XS__APItest__Magic_test_isIDCONT)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT",XS_XS__APItest__Magic_test_isIDCONT ); | |||
14199 | newXS_deffile("XS::APItest::Magic::test_isIDCONT_A", XS_XS__APItest__Magic_test_isIDCONT_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT_A",XS_XS__APItest__Magic_test_isIDCONT_A ); | |||
14200 | newXS_deffile("XS::APItest::Magic::test_isIDCONT_L1", XS_XS__APItest__Magic_test_isIDCONT_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT_L1",XS_XS__APItest__Magic_test_isIDCONT_L1 ); | |||
14201 | newXS_deffile("XS::APItest::Magic::test_isIDCONT_LC", XS_XS__APItest__Magic_test_isIDCONT_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT_LC",XS_XS__APItest__Magic_test_isIDCONT_LC ); | |||
14202 | newXS_deffile("XS::APItest::Magic::test_isIDCONT_utf8", XS_XS__APItest__Magic_test_isIDCONT_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT_utf8", XS_XS__APItest__Magic_test_isIDCONT_utf8); | |||
14203 | newXS_deffile("XS::APItest::Magic::test_isIDCONT_LC_utf8", XS_XS__APItest__Magic_test_isIDCONT_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isIDCONT_LC_utf8" ,XS_XS__APItest__Magic_test_isIDCONT_LC_utf8); | |||
14204 | newXS_deffile("XS::APItest::Magic::test_isSPACE_uni", XS_XS__APItest__Magic_test_isSPACE_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE_uni",XS_XS__APItest__Magic_test_isSPACE_uni ); | |||
14205 | newXS_deffile("XS::APItest::Magic::test_isSPACE_uvchr", XS_XS__APItest__Magic_test_isSPACE_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE_uvchr", XS_XS__APItest__Magic_test_isSPACE_uvchr); | |||
14206 | newXS_deffile("XS::APItest::Magic::test_isSPACE_LC_uvchr", XS_XS__APItest__Magic_test_isSPACE_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE_LC_uvchr" ,XS_XS__APItest__Magic_test_isSPACE_LC_uvchr); | |||
14207 | newXS_deffile("XS::APItest::Magic::test_isSPACE", XS_XS__APItest__Magic_test_isSPACE)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE",XS_XS__APItest__Magic_test_isSPACE ); | |||
14208 | newXS_deffile("XS::APItest::Magic::test_isSPACE_A", XS_XS__APItest__Magic_test_isSPACE_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE_A",XS_XS__APItest__Magic_test_isSPACE_A ); | |||
14209 | newXS_deffile("XS::APItest::Magic::test_isSPACE_L1", XS_XS__APItest__Magic_test_isSPACE_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE_L1",XS_XS__APItest__Magic_test_isSPACE_L1 ); | |||
14210 | newXS_deffile("XS::APItest::Magic::test_isSPACE_LC", XS_XS__APItest__Magic_test_isSPACE_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE_LC",XS_XS__APItest__Magic_test_isSPACE_LC ); | |||
14211 | newXS_deffile("XS::APItest::Magic::test_isSPACE_utf8", XS_XS__APItest__Magic_test_isSPACE_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE_utf8",XS_XS__APItest__Magic_test_isSPACE_utf8 ); | |||
14212 | newXS_deffile("XS::APItest::Magic::test_isSPACE_LC_utf8", XS_XS__APItest__Magic_test_isSPACE_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isSPACE_LC_utf8" ,XS_XS__APItest__Magic_test_isSPACE_LC_utf8); | |||
14213 | newXS_deffile("XS::APItest::Magic::test_isASCII_uni", XS_XS__APItest__Magic_test_isASCII_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII_uni",XS_XS__APItest__Magic_test_isASCII_uni ); | |||
14214 | newXS_deffile("XS::APItest::Magic::test_isASCII_uvchr", XS_XS__APItest__Magic_test_isASCII_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII_uvchr", XS_XS__APItest__Magic_test_isASCII_uvchr); | |||
14215 | newXS_deffile("XS::APItest::Magic::test_isASCII_LC_uvchr", XS_XS__APItest__Magic_test_isASCII_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII_LC_uvchr" ,XS_XS__APItest__Magic_test_isASCII_LC_uvchr); | |||
14216 | newXS_deffile("XS::APItest::Magic::test_isASCII", XS_XS__APItest__Magic_test_isASCII)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII",XS_XS__APItest__Magic_test_isASCII ); | |||
14217 | newXS_deffile("XS::APItest::Magic::test_isASCII_A", XS_XS__APItest__Magic_test_isASCII_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII_A",XS_XS__APItest__Magic_test_isASCII_A ); | |||
14218 | newXS_deffile("XS::APItest::Magic::test_isASCII_L1", XS_XS__APItest__Magic_test_isASCII_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII_L1",XS_XS__APItest__Magic_test_isASCII_L1 ); | |||
14219 | newXS_deffile("XS::APItest::Magic::test_isASCII_LC", XS_XS__APItest__Magic_test_isASCII_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII_LC",XS_XS__APItest__Magic_test_isASCII_LC ); | |||
14220 | newXS_deffile("XS::APItest::Magic::test_isASCII_utf8", XS_XS__APItest__Magic_test_isASCII_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII_utf8",XS_XS__APItest__Magic_test_isASCII_utf8 ); | |||
14221 | newXS_deffile("XS::APItest::Magic::test_isASCII_LC_utf8", XS_XS__APItest__Magic_test_isASCII_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isASCII_LC_utf8" ,XS_XS__APItest__Magic_test_isASCII_LC_utf8); | |||
14222 | newXS_deffile("XS::APItest::Magic::test_isCNTRL_uni", XS_XS__APItest__Magic_test_isCNTRL_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL_uni",XS_XS__APItest__Magic_test_isCNTRL_uni ); | |||
14223 | newXS_deffile("XS::APItest::Magic::test_isCNTRL_uvchr", XS_XS__APItest__Magic_test_isCNTRL_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL_uvchr", XS_XS__APItest__Magic_test_isCNTRL_uvchr); | |||
14224 | newXS_deffile("XS::APItest::Magic::test_isCNTRL_LC_uvchr", XS_XS__APItest__Magic_test_isCNTRL_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL_LC_uvchr" ,XS_XS__APItest__Magic_test_isCNTRL_LC_uvchr); | |||
14225 | newXS_deffile("XS::APItest::Magic::test_isCNTRL", XS_XS__APItest__Magic_test_isCNTRL)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL",XS_XS__APItest__Magic_test_isCNTRL ); | |||
14226 | newXS_deffile("XS::APItest::Magic::test_isCNTRL_A", XS_XS__APItest__Magic_test_isCNTRL_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL_A",XS_XS__APItest__Magic_test_isCNTRL_A ); | |||
14227 | newXS_deffile("XS::APItest::Magic::test_isCNTRL_L1", XS_XS__APItest__Magic_test_isCNTRL_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL_L1",XS_XS__APItest__Magic_test_isCNTRL_L1 ); | |||
14228 | newXS_deffile("XS::APItest::Magic::test_isCNTRL_LC", XS_XS__APItest__Magic_test_isCNTRL_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL_LC",XS_XS__APItest__Magic_test_isCNTRL_LC ); | |||
14229 | newXS_deffile("XS::APItest::Magic::test_isCNTRL_utf8", XS_XS__APItest__Magic_test_isCNTRL_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL_utf8",XS_XS__APItest__Magic_test_isCNTRL_utf8 ); | |||
14230 | newXS_deffile("XS::APItest::Magic::test_isCNTRL_LC_utf8", XS_XS__APItest__Magic_test_isCNTRL_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isCNTRL_LC_utf8" ,XS_XS__APItest__Magic_test_isCNTRL_LC_utf8); | |||
14231 | newXS_deffile("XS::APItest::Magic::test_isPRINT_uni", XS_XS__APItest__Magic_test_isPRINT_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT_uni",XS_XS__APItest__Magic_test_isPRINT_uni ); | |||
14232 | newXS_deffile("XS::APItest::Magic::test_isPRINT_uvchr", XS_XS__APItest__Magic_test_isPRINT_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT_uvchr", XS_XS__APItest__Magic_test_isPRINT_uvchr); | |||
14233 | newXS_deffile("XS::APItest::Magic::test_isPRINT_LC_uvchr", XS_XS__APItest__Magic_test_isPRINT_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT_LC_uvchr" ,XS_XS__APItest__Magic_test_isPRINT_LC_uvchr); | |||
14234 | newXS_deffile("XS::APItest::Magic::test_isPRINT", XS_XS__APItest__Magic_test_isPRINT)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT",XS_XS__APItest__Magic_test_isPRINT ); | |||
14235 | newXS_deffile("XS::APItest::Magic::test_isPRINT_A", XS_XS__APItest__Magic_test_isPRINT_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT_A",XS_XS__APItest__Magic_test_isPRINT_A ); | |||
14236 | newXS_deffile("XS::APItest::Magic::test_isPRINT_L1", XS_XS__APItest__Magic_test_isPRINT_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT_L1",XS_XS__APItest__Magic_test_isPRINT_L1 ); | |||
14237 | newXS_deffile("XS::APItest::Magic::test_isPRINT_LC", XS_XS__APItest__Magic_test_isPRINT_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT_LC",XS_XS__APItest__Magic_test_isPRINT_LC ); | |||
14238 | newXS_deffile("XS::APItest::Magic::test_isPRINT_utf8", XS_XS__APItest__Magic_test_isPRINT_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT_utf8",XS_XS__APItest__Magic_test_isPRINT_utf8 ); | |||
14239 | newXS_deffile("XS::APItest::Magic::test_isPRINT_LC_utf8", XS_XS__APItest__Magic_test_isPRINT_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isPRINT_LC_utf8" ,XS_XS__APItest__Magic_test_isPRINT_LC_utf8); | |||
14240 | newXS_deffile("XS::APItest::Magic::test_isGRAPH_uni", XS_XS__APItest__Magic_test_isGRAPH_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH_uni",XS_XS__APItest__Magic_test_isGRAPH_uni ); | |||
14241 | newXS_deffile("XS::APItest::Magic::test_isGRAPH_uvchr", XS_XS__APItest__Magic_test_isGRAPH_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH_uvchr", XS_XS__APItest__Magic_test_isGRAPH_uvchr); | |||
14242 | newXS_deffile("XS::APItest::Magic::test_isGRAPH_LC_uvchr", XS_XS__APItest__Magic_test_isGRAPH_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH_LC_uvchr" ,XS_XS__APItest__Magic_test_isGRAPH_LC_uvchr); | |||
14243 | newXS_deffile("XS::APItest::Magic::test_isGRAPH", XS_XS__APItest__Magic_test_isGRAPH)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH",XS_XS__APItest__Magic_test_isGRAPH ); | |||
14244 | newXS_deffile("XS::APItest::Magic::test_isGRAPH_A", XS_XS__APItest__Magic_test_isGRAPH_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH_A",XS_XS__APItest__Magic_test_isGRAPH_A ); | |||
14245 | newXS_deffile("XS::APItest::Magic::test_isGRAPH_L1", XS_XS__APItest__Magic_test_isGRAPH_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH_L1",XS_XS__APItest__Magic_test_isGRAPH_L1 ); | |||
14246 | newXS_deffile("XS::APItest::Magic::test_isGRAPH_LC", XS_XS__APItest__Magic_test_isGRAPH_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH_LC",XS_XS__APItest__Magic_test_isGRAPH_LC ); | |||
14247 | newXS_deffile("XS::APItest::Magic::test_isGRAPH_utf8", XS_XS__APItest__Magic_test_isGRAPH_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH_utf8",XS_XS__APItest__Magic_test_isGRAPH_utf8 ); | |||
14248 | newXS_deffile("XS::APItest::Magic::test_isGRAPH_LC_utf8", XS_XS__APItest__Magic_test_isGRAPH_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isGRAPH_LC_utf8" ,XS_XS__APItest__Magic_test_isGRAPH_LC_utf8); | |||
14249 | newXS_deffile("XS::APItest::Magic::test_isPUNCT_uni", XS_XS__APItest__Magic_test_isPUNCT_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT_uni",XS_XS__APItest__Magic_test_isPUNCT_uni ); | |||
14250 | newXS_deffile("XS::APItest::Magic::test_isPUNCT_uvchr", XS_XS__APItest__Magic_test_isPUNCT_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT_uvchr", XS_XS__APItest__Magic_test_isPUNCT_uvchr); | |||
14251 | newXS_deffile("XS::APItest::Magic::test_isPUNCT_LC_uvchr", XS_XS__APItest__Magic_test_isPUNCT_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT_LC_uvchr" ,XS_XS__APItest__Magic_test_isPUNCT_LC_uvchr); | |||
14252 | newXS_deffile("XS::APItest::Magic::test_isPUNCT", XS_XS__APItest__Magic_test_isPUNCT)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT",XS_XS__APItest__Magic_test_isPUNCT ); | |||
14253 | newXS_deffile("XS::APItest::Magic::test_isPUNCT_A", XS_XS__APItest__Magic_test_isPUNCT_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT_A",XS_XS__APItest__Magic_test_isPUNCT_A ); | |||
14254 | newXS_deffile("XS::APItest::Magic::test_isPUNCT_L1", XS_XS__APItest__Magic_test_isPUNCT_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT_L1",XS_XS__APItest__Magic_test_isPUNCT_L1 ); | |||
14255 | newXS_deffile("XS::APItest::Magic::test_isPUNCT_LC", XS_XS__APItest__Magic_test_isPUNCT_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT_LC",XS_XS__APItest__Magic_test_isPUNCT_LC ); | |||
14256 | newXS_deffile("XS::APItest::Magic::test_isPUNCT_utf8", XS_XS__APItest__Magic_test_isPUNCT_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT_utf8",XS_XS__APItest__Magic_test_isPUNCT_utf8 ); | |||
14257 | newXS_deffile("XS::APItest::Magic::test_isPUNCT_LC_utf8", XS_XS__APItest__Magic_test_isPUNCT_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isPUNCT_LC_utf8" ,XS_XS__APItest__Magic_test_isPUNCT_LC_utf8); | |||
14258 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT_uni", XS_XS__APItest__Magic_test_isXDIGIT_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT_uni",XS_XS__APItest__Magic_test_isXDIGIT_uni ); | |||
14259 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT_uvchr", XS_XS__APItest__Magic_test_isXDIGIT_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT_uvchr" ,XS_XS__APItest__Magic_test_isXDIGIT_uvchr); | |||
14260 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT_LC_uvchr", XS_XS__APItest__Magic_test_isXDIGIT_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT_LC_uvchr" ,XS_XS__APItest__Magic_test_isXDIGIT_LC_uvchr); | |||
14261 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT", XS_XS__APItest__Magic_test_isXDIGIT)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT",XS_XS__APItest__Magic_test_isXDIGIT ); | |||
14262 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT_A", XS_XS__APItest__Magic_test_isXDIGIT_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT_A",XS_XS__APItest__Magic_test_isXDIGIT_A ); | |||
14263 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT_L1", XS_XS__APItest__Magic_test_isXDIGIT_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT_L1",XS_XS__APItest__Magic_test_isXDIGIT_L1 ); | |||
14264 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT_LC", XS_XS__APItest__Magic_test_isXDIGIT_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT_LC",XS_XS__APItest__Magic_test_isXDIGIT_LC ); | |||
14265 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT_utf8", XS_XS__APItest__Magic_test_isXDIGIT_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT_utf8", XS_XS__APItest__Magic_test_isXDIGIT_utf8); | |||
14266 | newXS_deffile("XS::APItest::Magic::test_isXDIGIT_LC_utf8", XS_XS__APItest__Magic_test_isXDIGIT_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isXDIGIT_LC_utf8" ,XS_XS__APItest__Magic_test_isXDIGIT_LC_utf8); | |||
14267 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC_uni", XS_XS__APItest__Magic_test_isPSXSPC_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC_uni",XS_XS__APItest__Magic_test_isPSXSPC_uni ); | |||
14268 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC_uvchr", XS_XS__APItest__Magic_test_isPSXSPC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC_uvchr" ,XS_XS__APItest__Magic_test_isPSXSPC_uvchr); | |||
14269 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC_LC_uvchr", XS_XS__APItest__Magic_test_isPSXSPC_LC_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC_LC_uvchr" ,XS_XS__APItest__Magic_test_isPSXSPC_LC_uvchr); | |||
14270 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC", XS_XS__APItest__Magic_test_isPSXSPC)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC",XS_XS__APItest__Magic_test_isPSXSPC ); | |||
14271 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC_A", XS_XS__APItest__Magic_test_isPSXSPC_A)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC_A",XS_XS__APItest__Magic_test_isPSXSPC_A ); | |||
14272 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC_L1", XS_XS__APItest__Magic_test_isPSXSPC_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC_L1",XS_XS__APItest__Magic_test_isPSXSPC_L1 ); | |||
14273 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC_LC", XS_XS__APItest__Magic_test_isPSXSPC_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC_LC",XS_XS__APItest__Magic_test_isPSXSPC_LC ); | |||
14274 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC_utf8", XS_XS__APItest__Magic_test_isPSXSPC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC_utf8", XS_XS__APItest__Magic_test_isPSXSPC_utf8); | |||
14275 | newXS_deffile("XS::APItest::Magic::test_isPSXSPC_LC_utf8", XS_XS__APItest__Magic_test_isPSXSPC_LC_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_isPSXSPC_LC_utf8" ,XS_XS__APItest__Magic_test_isPSXSPC_LC_utf8); | |||
14276 | newXS_deffile("XS::APItest::Magic::test_isQUOTEMETA", XS_XS__APItest__Magic_test_isQUOTEMETA)Perl_newXS_deffile( "XS::APItest::Magic::test_isQUOTEMETA",XS_XS__APItest__Magic_test_isQUOTEMETA ); | |||
14277 | newXS_deffile("XS::APItest::Magic::test_OFFUNISKIP", XS_XS__APItest__Magic_test_OFFUNISKIP)Perl_newXS_deffile( "XS::APItest::Magic::test_OFFUNISKIP",XS_XS__APItest__Magic_test_OFFUNISKIP ); | |||
14278 | newXS_deffile("XS::APItest::Magic::test_OFFUNI_IS_INVARIANT", XS_XS__APItest__Magic_test_OFFUNI_IS_INVARIANT)Perl_newXS_deffile( "XS::APItest::Magic::test_OFFUNI_IS_INVARIANT" ,XS_XS__APItest__Magic_test_OFFUNI_IS_INVARIANT); | |||
14279 | newXS_deffile("XS::APItest::Magic::test_UVCHR_IS_INVARIANT", XS_XS__APItest__Magic_test_UVCHR_IS_INVARIANT)Perl_newXS_deffile( "XS::APItest::Magic::test_UVCHR_IS_INVARIANT" ,XS_XS__APItest__Magic_test_UVCHR_IS_INVARIANT); | |||
14280 | newXS_deffile("XS::APItest::Magic::test_UTF8_IS_INVARIANT", XS_XS__APItest__Magic_test_UTF8_IS_INVARIANT)Perl_newXS_deffile( "XS::APItest::Magic::test_UTF8_IS_INVARIANT" ,XS_XS__APItest__Magic_test_UTF8_IS_INVARIANT); | |||
14281 | newXS_deffile("XS::APItest::Magic::test_UVCHR_SKIP", XS_XS__APItest__Magic_test_UVCHR_SKIP)Perl_newXS_deffile( "XS::APItest::Magic::test_UVCHR_SKIP",XS_XS__APItest__Magic_test_UVCHR_SKIP ); | |||
14282 | newXS_deffile("XS::APItest::Magic::test_UTF8_SKIP", XS_XS__APItest__Magic_test_UTF8_SKIP)Perl_newXS_deffile( "XS::APItest::Magic::test_UTF8_SKIP",XS_XS__APItest__Magic_test_UTF8_SKIP ); | |||
14283 | newXS_deffile("XS::APItest::Magic::test_UTF8_IS_START", XS_XS__APItest__Magic_test_UTF8_IS_START)Perl_newXS_deffile( "XS::APItest::Magic::test_UTF8_IS_START", XS_XS__APItest__Magic_test_UTF8_IS_START); | |||
14284 | newXS_deffile("XS::APItest::Magic::test_UTF8_IS_CONTINUATION", XS_XS__APItest__Magic_test_UTF8_IS_CONTINUATION)Perl_newXS_deffile( "XS::APItest::Magic::test_UTF8_IS_CONTINUATION" ,XS_XS__APItest__Magic_test_UTF8_IS_CONTINUATION); | |||
14285 | newXS_deffile("XS::APItest::Magic::test_UTF8_IS_CONTINUED", XS_XS__APItest__Magic_test_UTF8_IS_CONTINUED)Perl_newXS_deffile( "XS::APItest::Magic::test_UTF8_IS_CONTINUED" ,XS_XS__APItest__Magic_test_UTF8_IS_CONTINUED); | |||
14286 | newXS_deffile("XS::APItest::Magic::test_UTF8_IS_DOWNGRADEABLE_START", XS_XS__APItest__Magic_test_UTF8_IS_DOWNGRADEABLE_START)Perl_newXS_deffile( "XS::APItest::Magic::test_UTF8_IS_DOWNGRADEABLE_START" ,XS_XS__APItest__Magic_test_UTF8_IS_DOWNGRADEABLE_START); | |||
14287 | newXS_deffile("XS::APItest::Magic::test_UTF8_IS_ABOVE_LATIN1", XS_XS__APItest__Magic_test_UTF8_IS_ABOVE_LATIN1)Perl_newXS_deffile( "XS::APItest::Magic::test_UTF8_IS_ABOVE_LATIN1" ,XS_XS__APItest__Magic_test_UTF8_IS_ABOVE_LATIN1); | |||
14288 | newXS_deffile("XS::APItest::Magic::test_isUTF8_POSSIBLY_PROBLEMATIC", XS_XS__APItest__Magic_test_isUTF8_POSSIBLY_PROBLEMATIC)Perl_newXS_deffile( "XS::APItest::Magic::test_isUTF8_POSSIBLY_PROBLEMATIC" ,XS_XS__APItest__Magic_test_isUTF8_POSSIBLY_PROBLEMATIC); | |||
14289 | newXS_deffile("XS::APItest::Magic::test_isUTF8_CHAR", XS_XS__APItest__Magic_test_isUTF8_CHAR)Perl_newXS_deffile( "XS::APItest::Magic::test_isUTF8_CHAR",XS_XS__APItest__Magic_test_isUTF8_CHAR ); | |||
14290 | newXS_deffile("XS::APItest::Magic::test_isUTF8_CHAR_flags", XS_XS__APItest__Magic_test_isUTF8_CHAR_flags)Perl_newXS_deffile( "XS::APItest::Magic::test_isUTF8_CHAR_flags" ,XS_XS__APItest__Magic_test_isUTF8_CHAR_flags); | |||
14291 | newXS_deffile("XS::APItest::Magic::test_isSTRICT_UTF8_CHAR", XS_XS__APItest__Magic_test_isSTRICT_UTF8_CHAR)Perl_newXS_deffile( "XS::APItest::Magic::test_isSTRICT_UTF8_CHAR" ,XS_XS__APItest__Magic_test_isSTRICT_UTF8_CHAR); | |||
14292 | newXS_deffile("XS::APItest::Magic::test_isC9_STRICT_UTF8_CHAR", XS_XS__APItest__Magic_test_isC9_STRICT_UTF8_CHAR)Perl_newXS_deffile( "XS::APItest::Magic::test_isC9_STRICT_UTF8_CHAR" ,XS_XS__APItest__Magic_test_isC9_STRICT_UTF8_CHAR); | |||
14293 | newXS_deffile("XS::APItest::Magic::test_is_utf8_valid_partial_char_flags", XS_XS__APItest__Magic_test_is_utf8_valid_partial_char_flags)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_valid_partial_char_flags" ,XS_XS__APItest__Magic_test_is_utf8_valid_partial_char_flags); | |||
14294 | newXS_deffile("XS::APItest::Magic::test_is_utf8_string", XS_XS__APItest__Magic_test_is_utf8_string)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_string" ,XS_XS__APItest__Magic_test_is_utf8_string); | |||
14295 | newXS_deffile("XS::APItest::Magic::test_is_utf8_invariant_string_loc", XS_XS__APItest__Magic_test_is_utf8_invariant_string_loc)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_invariant_string_loc" ,XS_XS__APItest__Magic_test_is_utf8_invariant_string_loc); | |||
14296 | newXS_deffile("XS::APItest::Magic::test_variant_under_utf8_count", XS_XS__APItest__Magic_test_variant_under_utf8_count)Perl_newXS_deffile( "XS::APItest::Magic::test_variant_under_utf8_count" ,XS_XS__APItest__Magic_test_variant_under_utf8_count); | |||
14297 | newXS_deffile("XS::APItest::Magic::test_utf8_length", XS_XS__APItest__Magic_test_utf8_length)Perl_newXS_deffile( "XS::APItest::Magic::test_utf8_length",XS_XS__APItest__Magic_test_utf8_length ); | |||
14298 | newXS_deffile("XS::APItest::Magic::test_is_utf8_string_loc", XS_XS__APItest__Magic_test_is_utf8_string_loc)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_string_loc" ,XS_XS__APItest__Magic_test_is_utf8_string_loc); | |||
14299 | newXS_deffile("XS::APItest::Magic::test_is_utf8_string_loclen", XS_XS__APItest__Magic_test_is_utf8_string_loclen)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_string_loclen" ,XS_XS__APItest__Magic_test_is_utf8_string_loclen); | |||
14300 | newXS_deffile("XS::APItest::Magic::test_is_utf8_string_flags", XS_XS__APItest__Magic_test_is_utf8_string_flags)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_string_flags" ,XS_XS__APItest__Magic_test_is_utf8_string_flags); | |||
14301 | newXS_deffile("XS::APItest::Magic::test_is_utf8_string_loc_flags", XS_XS__APItest__Magic_test_is_utf8_string_loc_flags)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_string_loc_flags" ,XS_XS__APItest__Magic_test_is_utf8_string_loc_flags); | |||
14302 | newXS_deffile("XS::APItest::Magic::test_is_utf8_string_loclen_flags", XS_XS__APItest__Magic_test_is_utf8_string_loclen_flags)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_string_loclen_flags" ,XS_XS__APItest__Magic_test_is_utf8_string_loclen_flags); | |||
14303 | newXS_deffile("XS::APItest::Magic::test_is_strict_utf8_string", XS_XS__APItest__Magic_test_is_strict_utf8_string)Perl_newXS_deffile( "XS::APItest::Magic::test_is_strict_utf8_string" ,XS_XS__APItest__Magic_test_is_strict_utf8_string); | |||
14304 | newXS_deffile("XS::APItest::Magic::test_is_strict_utf8_string_loc", XS_XS__APItest__Magic_test_is_strict_utf8_string_loc)Perl_newXS_deffile( "XS::APItest::Magic::test_is_strict_utf8_string_loc" ,XS_XS__APItest__Magic_test_is_strict_utf8_string_loc); | |||
14305 | newXS_deffile("XS::APItest::Magic::test_is_strict_utf8_string_loclen", XS_XS__APItest__Magic_test_is_strict_utf8_string_loclen)Perl_newXS_deffile( "XS::APItest::Magic::test_is_strict_utf8_string_loclen" ,XS_XS__APItest__Magic_test_is_strict_utf8_string_loclen); | |||
14306 | newXS_deffile("XS::APItest::Magic::test_is_c9strict_utf8_string", XS_XS__APItest__Magic_test_is_c9strict_utf8_string)Perl_newXS_deffile( "XS::APItest::Magic::test_is_c9strict_utf8_string" ,XS_XS__APItest__Magic_test_is_c9strict_utf8_string); | |||
14307 | newXS_deffile("XS::APItest::Magic::test_is_c9strict_utf8_string_loc", XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loc)Perl_newXS_deffile( "XS::APItest::Magic::test_is_c9strict_utf8_string_loc" ,XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loc); | |||
14308 | newXS_deffile("XS::APItest::Magic::test_is_c9strict_utf8_string_loclen", XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loclen)Perl_newXS_deffile( "XS::APItest::Magic::test_is_c9strict_utf8_string_loclen" ,XS_XS__APItest__Magic_test_is_c9strict_utf8_string_loclen); | |||
14309 | newXS_deffile("XS::APItest::Magic::test_is_utf8_fixed_width_buf_flags", XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_flags)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_fixed_width_buf_flags" ,XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_flags); | |||
14310 | newXS_deffile("XS::APItest::Magic::test_is_utf8_fixed_width_buf_loc_flags", XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loc_flags)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_fixed_width_buf_loc_flags" ,XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loc_flags ); | |||
14311 | newXS_deffile("XS::APItest::Magic::test_is_utf8_fixed_width_buf_loclen_flags", XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loclen_flags)Perl_newXS_deffile( "XS::APItest::Magic::test_is_utf8_fixed_width_buf_loclen_flags" ,XS_XS__APItest__Magic_test_is_utf8_fixed_width_buf_loclen_flags ); | |||
14312 | newXS_deffile("XS::APItest::Magic::test_utf8_hop_safe", XS_XS__APItest__Magic_test_utf8_hop_safe)Perl_newXS_deffile( "XS::APItest::Magic::test_utf8_hop_safe", XS_XS__APItest__Magic_test_utf8_hop_safe); | |||
14313 | newXS_deffile("XS::APItest::Magic::test_toLOWER", XS_XS__APItest__Magic_test_toLOWER)Perl_newXS_deffile( "XS::APItest::Magic::test_toLOWER",XS_XS__APItest__Magic_test_toLOWER ); | |||
14314 | newXS_deffile("XS::APItest::Magic::test_toLOWER_L1", XS_XS__APItest__Magic_test_toLOWER_L1)Perl_newXS_deffile( "XS::APItest::Magic::test_toLOWER_L1",XS_XS__APItest__Magic_test_toLOWER_L1 ); | |||
14315 | newXS_deffile("XS::APItest::Magic::test_toLOWER_LC", XS_XS__APItest__Magic_test_toLOWER_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_toLOWER_LC",XS_XS__APItest__Magic_test_toLOWER_LC ); | |||
14316 | newXS_deffile("XS::APItest::Magic::test_toLOWER_uni", XS_XS__APItest__Magic_test_toLOWER_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_toLOWER_uni",XS_XS__APItest__Magic_test_toLOWER_uni ); | |||
14317 | newXS_deffile("XS::APItest::Magic::test_toLOWER_uvchr", XS_XS__APItest__Magic_test_toLOWER_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_toLOWER_uvchr", XS_XS__APItest__Magic_test_toLOWER_uvchr); | |||
14318 | newXS_deffile("XS::APItest::Magic::test_toLOWER_utf8", XS_XS__APItest__Magic_test_toLOWER_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_toLOWER_utf8",XS_XS__APItest__Magic_test_toLOWER_utf8 ); | |||
14319 | newXS_deffile("XS::APItest::Magic::test_toFOLD", XS_XS__APItest__Magic_test_toFOLD)Perl_newXS_deffile( "XS::APItest::Magic::test_toFOLD",XS_XS__APItest__Magic_test_toFOLD ); | |||
14320 | newXS_deffile("XS::APItest::Magic::test_toFOLD_LC", XS_XS__APItest__Magic_test_toFOLD_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_toFOLD_LC",XS_XS__APItest__Magic_test_toFOLD_LC ); | |||
14321 | newXS_deffile("XS::APItest::Magic::test_toFOLD_uni", XS_XS__APItest__Magic_test_toFOLD_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_toFOLD_uni",XS_XS__APItest__Magic_test_toFOLD_uni ); | |||
14322 | newXS_deffile("XS::APItest::Magic::test_toFOLD_uvchr", XS_XS__APItest__Magic_test_toFOLD_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_toFOLD_uvchr",XS_XS__APItest__Magic_test_toFOLD_uvchr ); | |||
14323 | newXS_deffile("XS::APItest::Magic::test_toFOLD_utf8", XS_XS__APItest__Magic_test_toFOLD_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_toFOLD_utf8",XS_XS__APItest__Magic_test_toFOLD_utf8 ); | |||
14324 | newXS_deffile("XS::APItest::Magic::test_toUPPER", XS_XS__APItest__Magic_test_toUPPER)Perl_newXS_deffile( "XS::APItest::Magic::test_toUPPER",XS_XS__APItest__Magic_test_toUPPER ); | |||
14325 | newXS_deffile("XS::APItest::Magic::test_toUPPER_LC", XS_XS__APItest__Magic_test_toUPPER_LC)Perl_newXS_deffile( "XS::APItest::Magic::test_toUPPER_LC",XS_XS__APItest__Magic_test_toUPPER_LC ); | |||
14326 | newXS_deffile("XS::APItest::Magic::test_toUPPER_uni", XS_XS__APItest__Magic_test_toUPPER_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_toUPPER_uni",XS_XS__APItest__Magic_test_toUPPER_uni ); | |||
14327 | newXS_deffile("XS::APItest::Magic::test_toUPPER_uvchr", XS_XS__APItest__Magic_test_toUPPER_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_toUPPER_uvchr", XS_XS__APItest__Magic_test_toUPPER_uvchr); | |||
14328 | newXS_deffile("XS::APItest::Magic::test_toUPPER_utf8", XS_XS__APItest__Magic_test_toUPPER_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_toUPPER_utf8",XS_XS__APItest__Magic_test_toUPPER_utf8 ); | |||
14329 | newXS_deffile("XS::APItest::Magic::test_toTITLE", XS_XS__APItest__Magic_test_toTITLE)Perl_newXS_deffile( "XS::APItest::Magic::test_toTITLE",XS_XS__APItest__Magic_test_toTITLE ); | |||
14330 | newXS_deffile("XS::APItest::Magic::test_toTITLE_uni", XS_XS__APItest__Magic_test_toTITLE_uni)Perl_newXS_deffile( "XS::APItest::Magic::test_toTITLE_uni",XS_XS__APItest__Magic_test_toTITLE_uni ); | |||
14331 | newXS_deffile("XS::APItest::Magic::test_toTITLE_uvchr", XS_XS__APItest__Magic_test_toTITLE_uvchr)Perl_newXS_deffile( "XS::APItest::Magic::test_toTITLE_uvchr", XS_XS__APItest__Magic_test_toTITLE_uvchr); | |||
14332 | newXS_deffile("XS::APItest::Magic::test_toTITLE_utf8", XS_XS__APItest__Magic_test_toTITLE_utf8)Perl_newXS_deffile( "XS::APItest::Magic::test_toTITLE_utf8",XS_XS__APItest__Magic_test_toTITLE_utf8 ); | |||
14333 | newXS_deffile("XS::APItest::Magic::test_Gconvert", XS_XS__APItest__Magic_test_Gconvert)Perl_newXS_deffile( "XS::APItest::Magic::test_Gconvert",XS_XS__APItest__Magic_test_Gconvert ); | |||
14334 | newXS_deffile("XS::APItest::Magic::test_Perl_langinfo", XS_XS__APItest__Magic_test_Perl_langinfo)Perl_newXS_deffile( "XS::APItest::Magic::test_Perl_langinfo", XS_XS__APItest__Magic_test_Perl_langinfo); | |||
14335 | (void)newXSproto_portable("XS::APItest::Backrefs::apitest_weaken", XS_XS__APItest__Backrefs_apitest_weaken, file, "$")Perl_newXS_flags( "XS::APItest::Backrefs::apitest_weaken",XS_XS__APItest__Backrefs_apitest_weaken ,file,"$",0); | |||
14336 | newXS_deffile("XS::APItest::Backrefs::has_backrefs", XS_XS__APItest__Backrefs_has_backrefs)Perl_newXS_deffile( "XS::APItest::Backrefs::has_backrefs",XS_XS__APItest__Backrefs_has_backrefs ); | |||
14337 | #if XSubPPtmpAAAE | |||
14338 | newXS_deffile("XS::APItest::Backrefs::PerlDir_mapA", XS_XS__APItest__Backrefs_PerlDir_mapA)Perl_newXS_deffile( "XS::APItest::Backrefs::PerlDir_mapA",XS_XS__APItest__Backrefs_PerlDir_mapA ); | |||
14339 | newXS_deffile("XS::APItest::Backrefs::PerlDir_mapW", XS_XS__APItest__Backrefs_PerlDir_mapW)Perl_newXS_deffile( "XS::APItest::Backrefs::PerlDir_mapW",XS_XS__APItest__Backrefs_PerlDir_mapW ); | |||
14340 | #endif | |||
14341 | #if XSubPPtmpAAAF | |||
14342 | newXS_deffile("XS::APItest::Backrefs::Comctl32Version", XS_XS__APItest__Backrefs_Comctl32Version)Perl_newXS_deffile( "XS::APItest::Backrefs::Comctl32Version", XS_XS__APItest__Backrefs_Comctl32Version); | |||
14343 | #endif | |||
14344 | cv = newXS_deffile("XS::APItest::HvMacro::u8_to_u16_le", XS_XS__APItest__HvMacro_u8_to_u16_le)Perl_newXS_deffile( "XS::APItest::HvMacro::u8_to_u16_le",XS_XS__APItest__HvMacro_u8_to_u16_le ); | |||
14345 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 0; | |||
14346 | cv = newXS_deffile("XS::APItest::HvMacro::u8_to_u32_le", XS_XS__APItest__HvMacro_u8_to_u16_le)Perl_newXS_deffile( "XS::APItest::HvMacro::u8_to_u32_le",XS_XS__APItest__HvMacro_u8_to_u16_le ); | |||
14347 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 1; | |||
14348 | cv = newXS_deffile("XS::APItest::HvMacro::u8_to_u64_le", XS_XS__APItest__HvMacro_u8_to_u16_le)Perl_newXS_deffile( "XS::APItest::HvMacro::u8_to_u64_le",XS_XS__APItest__HvMacro_u8_to_u16_le ); | |||
14349 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 2; | |||
14350 | newXS_deffile("XS::APItest::HvMacro::rotl32", XS_XS__APItest__HvMacro_rotl32)Perl_newXS_deffile( "XS::APItest::HvMacro::rotl32",XS_XS__APItest__HvMacro_rotl32 ); | |||
14351 | newXS_deffile("XS::APItest::HvMacro::rotr32", XS_XS__APItest__HvMacro_rotr32)Perl_newXS_deffile( "XS::APItest::HvMacro::rotr32",XS_XS__APItest__HvMacro_rotr32 ); | |||
14352 | #if XSubPPtmpAAAG1 | |||
14353 | newXS_deffile("XS::APItest::HvMacro::rotl64", XS_XS__APItest__HvMacro_rotl64)Perl_newXS_deffile( "XS::APItest::HvMacro::rotl64",XS_XS__APItest__HvMacro_rotl64 ); | |||
14354 | newXS_deffile("XS::APItest::HvMacro::rotr64", XS_XS__APItest__HvMacro_rotr64)Perl_newXS_deffile( "XS::APItest::HvMacro::rotr64",XS_XS__APItest__HvMacro_rotr64 ); | |||
14355 | newXS_deffile("XS::APItest::HvMacro::siphash_seed_state", XS_XS__APItest__HvMacro_siphash_seed_state)Perl_newXS_deffile( "XS::APItest::HvMacro::siphash_seed_state" ,XS_XS__APItest__HvMacro_siphash_seed_state); | |||
14356 | cv = newXS_deffile("XS::APItest::HvMacro::siphash13", XS_XS__APItest__HvMacro_siphash24)Perl_newXS_deffile( "XS::APItest::HvMacro::siphash13",XS_XS__APItest__HvMacro_siphash24 ); | |||
14357 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 1; | |||
14358 | cv = newXS_deffile("XS::APItest::HvMacro::siphash24", XS_XS__APItest__HvMacro_siphash24)Perl_newXS_deffile( "XS::APItest::HvMacro::siphash24",XS_XS__APItest__HvMacro_siphash24 ); | |||
14359 | XSANY((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_i32 = 0; | |||
14360 | newXS_deffile("XS::APItest::HvMacro::test_siphash24", XS_XS__APItest__HvMacro_test_siphash24)Perl_newXS_deffile( "XS::APItest::HvMacro::test_siphash24",XS_XS__APItest__HvMacro_test_siphash24 ); | |||
14361 | newXS_deffile("XS::APItest::HvMacro::test_siphash13", XS_XS__APItest__HvMacro_test_siphash13)Perl_newXS_deffile( "XS::APItest::HvMacro::test_siphash13",XS_XS__APItest__HvMacro_test_siphash13 ); | |||
14362 | #endif | |||
14363 | ||||
14364 | /* Initialisation Section */ | |||
14365 | ||||
14366 | #line 2 "./const-xs.inc" | |||
14367 | { | |||
14368 | #if defined(dTHXstruct Perl___notused_struct) && !defined(PERL_NO_GET_CONTEXT) | |||
14369 | dTHXstruct Perl___notused_struct; | |||
14370 | #endif | |||
14371 | HV *symbol_table = get_hv("XS::APItest::", GV_ADD)Perl_get_hv( "XS::APItest::",0x01); | |||
14372 | ||||
14373 | static const struct iv_s values_for_iv[] = | |||
14374 | { | |||
14375 | #ifdef HV_DELETE0x40 | |||
14376 | { "HV_DELETE", 9, HV_DELETE0x40 }, | |||
14377 | #endif | |||
14378 | #ifdef HV_DISABLE_UVAR_XKEY0x01 | |||
14379 | { "HV_DISABLE_UVAR_XKEY", 20, HV_DISABLE_UVAR_XKEY0x01 }, | |||
14380 | #endif | |||
14381 | #ifdef HV_FETCH_ISSTORE0x04 | |||
14382 | { "HV_FETCH_ISSTORE", 16, HV_FETCH_ISSTORE0x04 }, | |||
14383 | #endif | |||
14384 | #ifdef HV_FETCH_ISEXISTS0x08 | |||
14385 | { "HV_FETCH_ISEXISTS", 17, HV_FETCH_ISEXISTS0x08 }, | |||
14386 | #endif | |||
14387 | #ifdef HV_FETCH_LVALUE0x10 | |||
14388 | { "HV_FETCH_LVALUE", 15, HV_FETCH_LVALUE0x10 }, | |||
14389 | #endif | |||
14390 | #ifdef HV_FETCH_JUST_SV0x20 | |||
14391 | { "HV_FETCH_JUST_SV", 16, HV_FETCH_JUST_SV0x20 }, | |||
14392 | #endif | |||
14393 | #ifdef G_SCALAR2 | |||
14394 | { "G_SCALAR", 8, G_SCALAR2 }, | |||
14395 | #endif | |||
14396 | #ifdef G_ARRAY3 | |||
14397 | { "G_ARRAY", 7, G_ARRAY3 }, | |||
14398 | #endif | |||
14399 | #ifdef G_VOID1 | |||
14400 | { "G_VOID", 6, G_VOID1 }, | |||
14401 | #endif | |||
14402 | #ifdef G_DISCARD0x4 | |||
14403 | { "G_DISCARD", 9, G_DISCARD0x4 }, | |||
14404 | #endif | |||
14405 | #ifdef G_EVAL0x8 | |||
14406 | { "G_EVAL", 6, G_EVAL0x8 }, | |||
14407 | #endif | |||
14408 | #ifdef G_NOARGS0x10 | |||
14409 | { "G_NOARGS", 8, G_NOARGS0x10 }, | |||
14410 | #endif | |||
14411 | #ifdef G_KEEPERR0x20 | |||
14412 | { "G_KEEPERR", 9, G_KEEPERR0x20 }, | |||
14413 | #endif | |||
14414 | #ifdef G_NODEBUG0x40 | |||
14415 | { "G_NODEBUG", 9, G_NODEBUG0x40 }, | |||
14416 | #endif | |||
14417 | #ifdef G_METHOD0x80 | |||
14418 | { "G_METHOD", 8, G_METHOD0x80 }, | |||
14419 | #endif | |||
14420 | #ifdef G_FAKINGEVAL0x100 | |||
14421 | { "G_FAKINGEVAL", 12, G_FAKINGEVAL0x100 }, | |||
14422 | #endif | |||
14423 | #ifdef G_RETHROW0x2000 | |||
14424 | { "G_RETHROW", 9, G_RETHROW0x2000 }, | |||
14425 | #endif | |||
14426 | #ifdef GV_NOADD_NOINIT0x20 | |||
14427 | { "GV_NOADD_NOINIT", 15, GV_NOADD_NOINIT0x20 }, | |||
14428 | #endif | |||
14429 | #ifdef IS_NUMBER_IN_UV0x01 | |||
14430 | { "IS_NUMBER_IN_UV", 15, IS_NUMBER_IN_UV0x01 }, | |||
14431 | #endif | |||
14432 | #ifdef IS_NUMBER_GREATER_THAN_UV_MAX0x02 | |||
14433 | { "IS_NUMBER_GREATER_THAN_UV_MAX", 29, IS_NUMBER_GREATER_THAN_UV_MAX0x02 }, | |||
14434 | #endif | |||
14435 | #ifdef IS_NUMBER_NOT_INT0x04 | |||
14436 | { "IS_NUMBER_NOT_INT", 17, IS_NUMBER_NOT_INT0x04 }, | |||
14437 | #endif | |||
14438 | #ifdef IS_NUMBER_NEG0x08 | |||
14439 | { "IS_NUMBER_NEG", 13, IS_NUMBER_NEG0x08 }, | |||
14440 | #endif | |||
14441 | #ifdef IS_NUMBER_INFINITY0x10 | |||
14442 | { "IS_NUMBER_INFINITY", 18, IS_NUMBER_INFINITY0x10 }, | |||
14443 | #endif | |||
14444 | #ifdef IS_NUMBER_NAN0x20 | |||
14445 | { "IS_NUMBER_NAN", 13, IS_NUMBER_NAN0x20 }, | |||
14446 | #endif | |||
14447 | #ifdef IS_NUMBER_TRAILING0x40 | |||
14448 | { "IS_NUMBER_TRAILING", 18, IS_NUMBER_TRAILING0x40 }, | |||
14449 | #endif | |||
14450 | #ifdef PERL_SCAN_TRAILING0x10 | |||
14451 | { "PERL_SCAN_TRAILING", 18, PERL_SCAN_TRAILING0x10 }, | |||
14452 | #endif | |||
14453 | #ifdef PERL_LOADMOD_DENY0x1 | |||
14454 | { "PERL_LOADMOD_DENY", 17, PERL_LOADMOD_DENY0x1 }, | |||
14455 | #endif | |||
14456 | #ifdef PERL_LOADMOD_NOIMPORT0x2 | |||
14457 | { "PERL_LOADMOD_NOIMPORT", 21, PERL_LOADMOD_NOIMPORT0x2 }, | |||
14458 | #endif | |||
14459 | #ifdef PERL_LOADMOD_IMPORT_OPS0x4 | |||
14460 | { "PERL_LOADMOD_IMPORT_OPS", 23, PERL_LOADMOD_IMPORT_OPS0x4 }, | |||
14461 | #endif | |||
14462 | #ifdef G_WANT3 | |||
14463 | { "G_WANT", 6, G_WANT3 }, | |||
14464 | #endif | |||
14465 | { "fallback_amg", 12, fallback_amg }, | |||
14466 | { "to_sv_amg", 9, to_sv_amg }, | |||
14467 | { "to_av_amg", 9, to_av_amg }, | |||
14468 | { "to_hv_amg", 9, to_hv_amg }, | |||
14469 | { "to_gv_amg", 9, to_gv_amg }, | |||
14470 | { "to_cv_amg", 9, to_cv_amg }, | |||
14471 | { "inc_amg", 7, inc_amg }, | |||
14472 | { "dec_amg", 7, dec_amg }, | |||
14473 | { "bool__amg", 9, bool__amg }, | |||
14474 | { "numer_amg", 9, numer_amg }, | |||
14475 | { "string_amg", 10, string_amg }, | |||
14476 | { "not_amg", 7, not_amg }, | |||
14477 | { "copy_amg", 8, copy_amg }, | |||
14478 | { "abs_amg", 7, abs_amg }, | |||
14479 | { "neg_amg", 7, neg_amg }, | |||
14480 | { "iter_amg", 8, iter_amg }, | |||
14481 | { "int_amg", 7, int_amg }, | |||
14482 | { "lt_amg", 6, lt_amg }, | |||
14483 | { "le_amg", 6, le_amg }, | |||
14484 | { "gt_amg", 6, gt_amg }, | |||
14485 | { "ge_amg", 6, ge_amg }, | |||
14486 | { "eq_amg", 6, eq_amg }, | |||
14487 | { "ne_amg", 6, ne_amg }, | |||
14488 | { "slt_amg", 7, slt_amg }, | |||
14489 | { "sle_amg", 7, sle_amg }, | |||
14490 | { "sgt_amg", 7, sgt_amg }, | |||
14491 | { "sge_amg", 7, sge_amg }, | |||
14492 | { "seq_amg", 7, seq_amg }, | |||
14493 | { "sne_amg", 7, sne_amg }, | |||
14494 | { "nomethod_amg", 12, nomethod_amg }, | |||
14495 | { "add_amg", 7, add_amg }, | |||
14496 | { "add_ass_amg", 11, add_ass_amg }, | |||
14497 | { "subtr_amg", 9, subtr_amg }, | |||
14498 | { "subtr_ass_amg", 13, subtr_ass_amg }, | |||
14499 | { "mult_amg", 8, mult_amg }, | |||
14500 | { "mult_ass_amg", 12, mult_ass_amg }, | |||
14501 | { "div_amg", 7, div_amg }, | |||
14502 | { "div_ass_amg", 11, div_ass_amg }, | |||
14503 | { "modulo_amg", 10, modulo_amg }, | |||
14504 | { "modulo_ass_amg", 14, modulo_ass_amg }, | |||
14505 | { "pow_amg", 7, pow_amg }, | |||
14506 | { "pow_ass_amg", 11, pow_ass_amg }, | |||
14507 | { "lshift_amg", 10, lshift_amg }, | |||
14508 | { "lshift_ass_amg", 14, lshift_ass_amg }, | |||
14509 | { "rshift_amg", 10, rshift_amg }, | |||
14510 | { "rshift_ass_amg", 14, rshift_ass_amg }, | |||
14511 | { "band_amg", 8, band_amg }, | |||
14512 | { "band_ass_amg", 12, band_ass_amg }, | |||
14513 | { "sband_amg", 9, sband_amg }, | |||
14514 | { "sband_ass_amg", 13, sband_ass_amg }, | |||
14515 | { "bor_amg", 7, bor_amg }, | |||
14516 | { "bor_ass_amg", 11, bor_ass_amg }, | |||
14517 | { "sbor_amg", 8, sbor_amg }, | |||
14518 | { "sbor_ass_amg", 12, sbor_ass_amg }, | |||
14519 | { "bxor_amg", 8, bxor_amg }, | |||
14520 | { "bxor_ass_amg", 12, bxor_ass_amg }, | |||
14521 | { "sbxor_amg", 9, sbxor_amg }, | |||
14522 | { "sbxor_ass_amg", 13, sbxor_ass_amg }, | |||
14523 | { "ncmp_amg", 8, ncmp_amg }, | |||
14524 | { "scmp_amg", 8, scmp_amg }, | |||
14525 | { "compl_amg", 9, compl_amg }, | |||
14526 | { "scompl_amg", 10, scompl_amg }, | |||
14527 | { "atan2_amg", 9, atan2_amg }, | |||
14528 | { "cos_amg", 7, cos_amg }, | |||
14529 | { "sin_amg", 7, sin_amg }, | |||
14530 | { "exp_amg", 7, exp_amg }, | |||
14531 | { "log_amg", 7, log_amg }, | |||
14532 | { "sqrt_amg", 8, sqrt_amg }, | |||
14533 | { "repeat_amg", 10, repeat_amg }, | |||
14534 | { "repeat_ass_amg", 14, repeat_ass_amg }, | |||
14535 | { "concat_amg", 10, concat_amg }, | |||
14536 | { "concat_ass_amg", 14, concat_ass_amg }, | |||
14537 | { "smart_amg", 9, smart_amg }, | |||
14538 | { "ftest_amg", 9, ftest_amg }, | |||
14539 | { "regexp_amg", 10, regexp_amg }, | |||
14540 | #ifndef G_WANT3 | |||
14541 | /* This is the default value: */ | |||
14542 | { "G_WANT", 6, G_ARRAY3|G_VOID1 }, | |||
14543 | #endif | |||
14544 | { NULL((void*)0), 0, 0 } }; | |||
14545 | const struct iv_s *value_for_iv = values_for_iv; | |||
14546 | while (value_for_iv->name) { | |||
14547 | constant_add_symbol(aTHX_ symbol_table, value_for_iv->name, | |||
14548 | value_for_iv->namelen, newSViv(value_for_iv->value)Perl_newSViv( value_for_iv->value)); | |||
14549 | ++value_for_iv; | |||
14550 | } | |||
14551 | if (C_ARRAY_LENGTH(values_for_notfound)(sizeof(values_for_notfound)/sizeof((values_for_notfound)[0]) ) > 1) { | |||
14552 | #ifndef SYMBIAN | |||
14553 | HV *const constant_missing = get_missing_hash(aTHX); | |||
14554 | #endif | |||
14555 | const struct notfound_s *value_for_notfound = values_for_notfound; | |||
14556 | do { | |||
14557 | ||||
14558 | /* Need to add prototypes, else parsing will vary by platform. */ | |||
14559 | HE *he = (HE*) hv_common_key_len(symbol_table,Perl_hv_common_key_len( symbol_table,value_for_notfound->name ,value_for_notfound->namelen,0x10,((void*)0),0) | |||
14560 | value_for_notfound->name,Perl_hv_common_key_len( symbol_table,value_for_notfound->name ,value_for_notfound->namelen,0x10,((void*)0),0) | |||
14561 | value_for_notfound->namelen,Perl_hv_common_key_len( symbol_table,value_for_notfound->name ,value_for_notfound->namelen,0x10,((void*)0),0) | |||
14562 | HV_FETCH_LVALUE, NULL, 0)Perl_hv_common_key_len( symbol_table,value_for_notfound->name ,value_for_notfound->namelen,0x10,((void*)0),0); | |||
14563 | SV *sv; | |||
14564 | #ifndef SYMBIAN | |||
14565 | HEK *hek; | |||
14566 | #endif | |||
14567 | if (!he) { | |||
14568 | croakPerl_croak("Couldn't add key '%s' to %%XS::APItest::", | |||
14569 | value_for_notfound->name); | |||
14570 | } | |||
14571 | sv = HeVAL(he)(he)->he_valu.hent_val; | |||
14572 | if (!SvOK(sv)((sv)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800 | 0x00001000|0x00002000|0x00004000|0x00008000)) && SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) != SVt_PVGV) { | |||
14573 | /* Nothing was here before, so mark a prototype of "" */ | |||
14574 | sv_setpvn(sv, "", 0)Perl_sv_setpvn( sv,"",0); | |||
14575 | } else if (SvPOK(sv)((sv)->sv_flags & 0x00000400) && SvCUR(sv)((XPV*) (sv)->sv_any)->xpv_cur == 0) { | |||
14576 | /* There is already a prototype of "" - do nothing */ | |||
14577 | } else { | |||
14578 | /* Someone has been here before us - have to make a real | |||
14579 | typeglob. */ | |||
14580 | /* It turns out to be incredibly hard to deal with all the | |||
14581 | corner cases of sub foo (); and reporting errors correctly, | |||
14582 | so lets cheat a bit. Start with a constant subroutine */ | |||
14583 | CV *cv = newCONSTSUB(symbol_table,Perl_newCONSTSUB( symbol_table,value_for_notfound->name,& (PL_sv_immortals[0])) | |||
14584 | value_for_notfound->name,Perl_newCONSTSUB( symbol_table,value_for_notfound->name,& (PL_sv_immortals[0])) | |||
14585 | &PL_sv_yes)Perl_newCONSTSUB( symbol_table,value_for_notfound->name,& (PL_sv_immortals[0])); | |||
14586 | /* and then turn it into a non constant declaration only. */ | |||
14587 | SvREFCNT_dec(CvXSUBANY(cv).any_ptr)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_xsubany.any_ptr ); _p; }))); | |||
14588 | CvCONST_off(cv)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_flags &= ~0x0004); | |||
14589 | CvXSUB(cv)((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_root_u .xcv_xsub = NULL((void*)0); | |||
14590 | CvXSUBANY(cv)((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u .xcv_xsubany.any_ptr = NULL((void*)0); | |||
14591 | } | |||
14592 | #ifndef SYMBIAN | |||
14593 | hek = HeKEY_hek(he)(he)->hent_hek; | |||
14594 | if (!hv_common(constant_missing, NULL, HEK_KEY(hek),Perl_hv_common( constant_missing,((void*)0),(hek)->hek_key ,(hek)->hek_len,(*((unsigned char *)((hek)->hek_key)+(hek )->hek_len+1)),0x04,&(PL_sv_immortals[0]),(hek)->hek_hash ) | |||
14595 | HEK_LEN(hek), HEK_FLAGS(hek), HV_FETCH_ISSTORE,Perl_hv_common( constant_missing,((void*)0),(hek)->hek_key ,(hek)->hek_len,(*((unsigned char *)((hek)->hek_key)+(hek )->hek_len+1)),0x04,&(PL_sv_immortals[0]),(hek)->hek_hash ) | |||
14596 | &PL_sv_yes, HEK_HASH(hek))Perl_hv_common( constant_missing,((void*)0),(hek)->hek_key ,(hek)->hek_len,(*((unsigned char *)((hek)->hek_key)+(hek )->hek_len+1)),0x04,&(PL_sv_immortals[0]),(hek)->hek_hash )) | |||
14597 | croakPerl_croak("Couldn't add key '%s' to missing_hash", | |||
14598 | value_for_notfound->name); | |||
14599 | #endif | |||
14600 | } while ((++value_for_notfound)->name); | |||
14601 | } | |||
14602 | /* As we've been creating subroutines, we better invalidate any cached | |||
14603 | methods */ | |||
14604 | mro_method_changed_in(symbol_table)Perl_mro_method_changed_in( symbol_table); | |||
14605 | } | |||
14606 | ||||
14607 | #line 1678 "APItest.xs" | |||
14608 | newXS("XS::APItest::XSUB::XS_VERSION_undef", XS_XS__APItest__XSUB_XS_VERSION_undef, __FILE__)Perl_newXS( "XS::APItest::XSUB::XS_VERSION_undef",XS_XS__APItest__XSUB_XS_VERSION_undef ,"APItest.xs"); | |||
14609 | newXS("XS::APItest::XSUB::XS_VERSION_empty", XS_XS__APItest__XSUB_XS_VERSION_empty, __FILE__)Perl_newXS( "XS::APItest::XSUB::XS_VERSION_empty",XS_XS__APItest__XSUB_XS_VERSION_empty ,"APItest.xs"); | |||
14610 | newXS("XS::APItest::XSUB::XS_APIVERSION_invalid", XS_XS__APItest__XSUB_XS_APIVERSION_invalid, __FILE__)Perl_newXS( "XS::APItest::XSUB::XS_APIVERSION_invalid",XS_XS__APItest__XSUB_XS_APIVERSION_invalid ,"APItest.xs"); | |||
14611 | ||||
14612 | #if XSubPPtmpAAAA1 | |||
14613 | #endif | |||
14614 | #if XSubPPtmpAAAB1 | |||
14615 | #endif | |||
14616 | #line 2154 "APItest.xs" | |||
14617 | mymro.resolve = myget_linear_isa; | |||
14618 | mymro.name = "justisa"; | |||
14619 | mymro.length = 7; | |||
14620 | mymro.kflags = 0; | |||
14621 | mymro.hash = 0; | |||
14622 | Perl_mro_register(aTHX_ &mymro); | |||
14623 | ||||
14624 | #line 2276 "APItest.xs" | |||
14625 | { | |||
14626 | MY_CXT_INIT(void)0; | |||
14627 | ||||
14628 | MY_CXTmy_cxt.i = 99; | |||
14629 | MY_CXTmy_cxt.sv = newSVpv("initial",0)Perl_newSVpv( "initial",0); | |||
14630 | ||||
14631 | MY_CXTmy_cxt.bhkav = get_av("XS::APItest::bhkav", GV_ADDMULTI)Perl_get_av( "XS::APItest::bhkav",0x02); | |||
14632 | MY_CXTmy_cxt.bhk_record = 0; | |||
14633 | ||||
14634 | BhkENTRY_set(&bhk_test, bhk_start, blockhook_test_start)do { (&bhk_test)->bhk_start = blockhook_test_start; do { ((&bhk_test)->bhk_flags) |= 0x01; ((void)0); } while (0); } while (0); | |||
14635 | BhkENTRY_set(&bhk_test, bhk_pre_end, blockhook_test_pre_end)do { (&bhk_test)->bhk_pre_end = blockhook_test_pre_end ; do { ((&bhk_test)->bhk_flags) |= 0x02; ((void)0); } while (0); } while (0); | |||
14636 | BhkENTRY_set(&bhk_test, bhk_post_end, blockhook_test_post_end)do { (&bhk_test)->bhk_post_end = blockhook_test_post_end ; do { ((&bhk_test)->bhk_flags) |= 0x04; ((void)0); } while (0); } while (0); | |||
14637 | BhkENTRY_set(&bhk_test, bhk_eval, blockhook_test_eval)do { (&bhk_test)->bhk_eval = blockhook_test_eval; do { ((&bhk_test)->bhk_flags) |= 0x08; ((void)0); } while ( 0); } while (0); | |||
14638 | Perl_blockhook_register(aTHX_ &bhk_test); | |||
14639 | ||||
14640 | MY_CXTmy_cxt.cscgv = gv_fetchpvs("XS::APItest::COMPILE_SCOPE_CONTAINER",Perl_gv_fetchpvn_flags( ("" "XS::APItest::COMPILE_SCOPE_CONTAINER" ""), (sizeof("XS::APItest::COMPILE_SCOPE_CONTAINER")-1), 0x02 , SVt_PVAV) | |||
14641 | GV_ADDMULTI, SVt_PVAV)Perl_gv_fetchpvn_flags( ("" "XS::APItest::COMPILE_SCOPE_CONTAINER" ""), (sizeof("XS::APItest::COMPILE_SCOPE_CONTAINER")-1), 0x02 , SVt_PVAV); | |||
14642 | MY_CXTmy_cxt.cscav = GvAV(MY_CXT.cscgv)((0+(my_cxt.cscgv)->sv_u.svu_gp)->gp_av); | |||
14643 | ||||
14644 | BhkENTRY_set(&bhk_csc, bhk_start, blockhook_csc_start)do { (&bhk_csc)->bhk_start = blockhook_csc_start; do { ((&bhk_csc)->bhk_flags) |= 0x01; ((void)0); } while ( 0); } while (0); | |||
14645 | BhkENTRY_set(&bhk_csc, bhk_pre_end, blockhook_csc_pre_end)do { (&bhk_csc)->bhk_pre_end = blockhook_csc_pre_end; do { ((&bhk_csc)->bhk_flags) |= 0x02; ((void)0); } while (0); } while (0); | |||
14646 | Perl_blockhook_register(aTHX_ &bhk_csc); | |||
14647 | ||||
14648 | MY_CXTmy_cxt.peep_recorder = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
14649 | MY_CXTmy_cxt.rpeep_recorder = newAV()((AV *)({ void *_p = (Perl_newSV_type( SVt_PVAV)); _p; })); | |||
14650 | ||||
14651 | MY_CXTmy_cxt.orig_peep = PL_peepp; | |||
14652 | MY_CXTmy_cxt.orig_rpeep = PL_rpeepp; | |||
14653 | PL_peepp = my_peep; | |||
14654 | PL_rpeepp = my_rpeep; | |||
14655 | } | |||
14656 | ||||
14657 | #if XSubPPtmpAAAC | |||
14658 | #endif | |||
14659 | #line 4038 "APItest.xs" | |||
14660 | { | |||
14661 | HV* stash; | |||
14662 | SV** meth = NULL((void*)0); | |||
14663 | CV* cv; | |||
14664 | stash = gv_stashpv("XS::APItest::TempLv", 0)Perl_gv_stashpv( "XS::APItest::TempLv",0); | |||
14665 | if (stash) | |||
14666 | meth = hv_fetchs(stash, "make_temp_mg_lv", 0)((SV**) Perl_hv_common_key_len( ((stash)),(("" "make_temp_mg_lv" "")),((sizeof("make_temp_mg_lv")-1)),((0)) ? (0x20 | 0x10) : 0x20,((void*)0),0)); | |||
14667 | if (!meth) | |||
14668 | croakPerl_croak("lost method 'make_temp_mg_lv'"); | |||
14669 | cv = GvCV(*meth)(0+(0+(*meth)->sv_u.svu_gp)->gp_cv); | |||
14670 | CvLVALUE_on(cv)(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))->xcv_flags |= 0x0002); | |||
14671 | } | |||
14672 | ||||
14673 | #line 4052 "APItest.xs" | |||
14674 | { | |||
14675 | hintkey_rpn_sv = newSVpvs_share("XS::APItest/rpn")Perl_newSVpvn_share( ("" "XS::APItest/rpn" ""), (sizeof("XS::APItest/rpn" )-1), 0); | |||
14676 | hintkey_calcrpn_sv = newSVpvs_share("XS::APItest/calcrpn")Perl_newSVpvn_share( ("" "XS::APItest/calcrpn" ""), (sizeof("XS::APItest/calcrpn" )-1), 0); | |||
14677 | hintkey_stufftest_sv = newSVpvs_share("XS::APItest/stufftest")Perl_newSVpvn_share( ("" "XS::APItest/stufftest" ""), (sizeof ("XS::APItest/stufftest")-1), 0); | |||
14678 | hintkey_swaptwostmts_sv = newSVpvs_share("XS::APItest/swaptwostmts")Perl_newSVpvn_share( ("" "XS::APItest/swaptwostmts" ""), (sizeof ("XS::APItest/swaptwostmts")-1), 0); | |||
14679 | hintkey_looprest_sv = newSVpvs_share("XS::APItest/looprest")Perl_newSVpvn_share( ("" "XS::APItest/looprest" ""), (sizeof( "XS::APItest/looprest")-1), 0); | |||
14680 | hintkey_scopelessblock_sv = newSVpvs_share("XS::APItest/scopelessblock")Perl_newSVpvn_share( ("" "XS::APItest/scopelessblock" ""), (sizeof ("XS::APItest/scopelessblock")-1), 0); | |||
14681 | hintkey_stmtasexpr_sv = newSVpvs_share("XS::APItest/stmtasexpr")Perl_newSVpvn_share( ("" "XS::APItest/stmtasexpr" ""), (sizeof ("XS::APItest/stmtasexpr")-1), 0); | |||
14682 | hintkey_stmtsasexpr_sv = newSVpvs_share("XS::APItest/stmtsasexpr")Perl_newSVpvn_share( ("" "XS::APItest/stmtsasexpr" ""), (sizeof ("XS::APItest/stmtsasexpr")-1), 0); | |||
14683 | hintkey_loopblock_sv = newSVpvs_share("XS::APItest/loopblock")Perl_newSVpvn_share( ("" "XS::APItest/loopblock" ""), (sizeof ("XS::APItest/loopblock")-1), 0); | |||
14684 | hintkey_blockasexpr_sv = newSVpvs_share("XS::APItest/blockasexpr")Perl_newSVpvn_share( ("" "XS::APItest/blockasexpr" ""), (sizeof ("XS::APItest/blockasexpr")-1), 0); | |||
14685 | hintkey_swaplabel_sv = newSVpvs_share("XS::APItest/swaplabel")Perl_newSVpvn_share( ("" "XS::APItest/swaplabel" ""), (sizeof ("XS::APItest/swaplabel")-1), 0); | |||
14686 | hintkey_labelconst_sv = newSVpvs_share("XS::APItest/labelconst")Perl_newSVpvn_share( ("" "XS::APItest/labelconst" ""), (sizeof ("XS::APItest/labelconst")-1), 0); | |||
14687 | hintkey_arrayfullexpr_sv = newSVpvs_share("XS::APItest/arrayfullexpr")Perl_newSVpvn_share( ("" "XS::APItest/arrayfullexpr" ""), (sizeof ("XS::APItest/arrayfullexpr")-1), 0); | |||
14688 | hintkey_arraylistexpr_sv = newSVpvs_share("XS::APItest/arraylistexpr")Perl_newSVpvn_share( ("" "XS::APItest/arraylistexpr" ""), (sizeof ("XS::APItest/arraylistexpr")-1), 0); | |||
14689 | hintkey_arraytermexpr_sv = newSVpvs_share("XS::APItest/arraytermexpr")Perl_newSVpvn_share( ("" "XS::APItest/arraytermexpr" ""), (sizeof ("XS::APItest/arraytermexpr")-1), 0); | |||
14690 | hintkey_arrayarithexpr_sv = newSVpvs_share("XS::APItest/arrayarithexpr")Perl_newSVpvn_share( ("" "XS::APItest/arrayarithexpr" ""), (sizeof ("XS::APItest/arrayarithexpr")-1), 0); | |||
14691 | hintkey_arrayexprflags_sv = newSVpvs_share("XS::APItest/arrayexprflags")Perl_newSVpvn_share( ("" "XS::APItest/arrayexprflags" ""), (sizeof ("XS::APItest/arrayexprflags")-1), 0); | |||
14692 | hintkey_subsignature_sv = newSVpvs_share("XS::APItest/subsignature")Perl_newSVpvn_share( ("" "XS::APItest/subsignature" ""), (sizeof ("XS::APItest/subsignature")-1), 0); | |||
14693 | hintkey_DEFSV_sv = newSVpvs_share("XS::APItest/DEFSV")Perl_newSVpvn_share( ("" "XS::APItest/DEFSV" ""), (sizeof("XS::APItest/DEFSV" )-1), 0); | |||
14694 | hintkey_with_vars_sv = newSVpvs_share("XS::APItest/with_vars")Perl_newSVpvn_share( ("" "XS::APItest/with_vars" ""), (sizeof ("XS::APItest/with_vars")-1), 0); | |||
14695 | hintkey_join_with_space_sv = newSVpvs_share("XS::APItest/join_with_space")Perl_newSVpvn_share( ("" "XS::APItest/join_with_space" ""), ( sizeof("XS::APItest/join_with_space")-1), 0); | |||
14696 | wrap_keyword_plugin(my_keyword_plugin, &next_keyword_plugin)Perl_wrap_keyword_plugin( my_keyword_plugin,&next_keyword_plugin ); | |||
14697 | } | |||
14698 | ||||
14699 | #line 4085 "APItest.xs" | |||
14700 | { | |||
14701 | CV *estcv = get_cv("XS::APItest::establish_cleanup", 0)Perl_get_cv( "XS::APItest::establish_cleanup",0); | |||
14702 | cv_set_call_checker(estcv, THX_ck_entersub_establish_cleanup, (SV*)estcv)Perl_cv_set_call_checker( estcv,THX_ck_entersub_establish_cleanup ,(SV*)estcv); | |||
14703 | } | |||
14704 | ||||
14705 | #line 4103 "APItest.xs" | |||
14706 | { | |||
14707 | CV *asscv = get_cv("XS::APItest::postinc", 0)Perl_get_cv( "XS::APItest::postinc",0); | |||
14708 | cv_set_call_checker(asscv, THX_ck_entersub_postinc, (SV*)asscv)Perl_cv_set_call_checker( asscv,THX_ck_entersub_postinc,(SV*) asscv); | |||
14709 | } | |||
14710 | ||||
14711 | #line 4152 "APItest.xs" | |||
14712 | { | |||
14713 | CV *pscv = get_cv("XS::APItest::pad_scalar", 0)Perl_get_cv( "XS::APItest::pad_scalar",0); | |||
14714 | cv_set_call_checker(pscv, THX_ck_entersub_pad_scalar, (SV*)pscv)Perl_cv_set_call_checker( pscv,THX_ck_entersub_pad_scalar,(SV *)pscv); | |||
14715 | } | |||
14716 | ||||
14717 | #if XSubPPtmpAAAD | |||
14718 | #endif | |||
14719 | #if XSubPPtmpAAAE | |||
14720 | #endif | |||
14721 | #if XSubPPtmpAAAF | |||
14722 | #endif | |||
14723 | #if XSubPPtmpAAAG1 | |||
14724 | #endif | |||
14725 | #line 14726 "APItest.c" | |||
14726 | ||||
14727 | /* End of Initialisation Section */ | |||
14728 | ||||
14729 | #if PERL_VERSION_LE(5, 21, 5)((5*1000000 + 32*1000 + 1) <= (5*1000000 + 21*1000 + 5)) | |||
14730 | # if PERL_VERSION_GE(5, 9, 0)((5*1000000 + 32*1000 + 1) >= (5*1000000 + 9*1000 + 0)) | |||
14731 | if (PL_unitcheckav) | |||
14732 | call_list(PL_scopestack_ix, PL_unitcheckav)Perl_call_list( PL_scopestack_ix,PL_unitcheckav); | |||
14733 | # endif | |||
14734 | 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); | |||
14735 | #else | |||
14736 | Perl_xs_boot_epilog(aTHX_ ax); | |||
14737 | #endif | |||
14738 | } | |||
14739 |